bai 6
TRANSCRIPT
BÀI TẬP VÀ THỰC HÀNH 6
Thời gian 2 tiết
1
CHƯƠNG VI :
CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ
CẤU TRÚC
2
Giốngnhau
- Đều làchương trìnhcon thực hiện1 công việcnào đó trongchương trìnhchính
Thủtục - Khi thựchiện côngviệc khôngtrả về giá trịcho tên thủtục
Hàm
- Khi thựchiện côngviệc sẽ trả về1 giá trị chotên hàm
Sự giống nhau và khác nhau
giữa thủ tục và hàm
Khác nhau
Phân biệt tham số giá trị và tham số biến
+Các tham số thực sự tương ứng
là các giá trị cụ thể thay thế các
tham số hình thức trong lời gọi
thủ tục được gọi là các tham trị.
+ Không có từ khóa var đứng
trước
THAM TRỊ
+Các tham số thực sự tương
ứng là tên chứa các biến dữ liệu
ra thay thế các tham số hình
thức trong lời gọi thủ tục được
gọi là các tham biến
+ có từ khóa var đứng trước
THAM BIẾN
4
Procedure <tên thủ tục>[(danh sách tham số)];
[ <phần khai báo>]
Begin
[< dãy các lệnh>]
End;
CẤU TRÚC CHUNG CỦA
THỦ TỤC
Quan sát sách giáo khoa trang
103 thủ tục CatDan(s1, s2)
nhận đầu vào là xâu s1 gồm
không quá 79 kí tự, tạo xâu s2
thu được từ xâu s1 bằng việc
chuyển kí tự đầu tiên của nó
xuống vị trí cuối cùng. Ví dụ
nếu s1=‘abcd’ thì s2=‘bcda’ .
5
6
Input
Xâu kí tự s1 không quá 79 kí tự
Outp
ut
Xâu kí tự s2 được tạo ra từxâu s1
Ch
ức
nă
ng
thủ
tục Thực hiện
việc tạo xâus2 từ xâu s1 bằng việc
chuyển kí tựthứ nhất đếnvị trí cuối củaxâu.
Xác định bài toán
7
Type str79 = string[79];
Procedure CatDan(s1: str79; var s2: str79);
Begin
S2:= copy(s1, 2, length(s1)-1)+s1[1];
End;
Tham trị : s1
Tham biến : s2
Thủ tục CatDan(s1, s2)
Quan sát sách giáo khoa trang
103 thủ tục CanGiua(s) nhận
đầu vào là xâu s gồm không
quá 79 kí tự, bổ sung vào đầu s
một số dấu cách để khi đưa ra
màn hình xâu kí tự s ban đầu
được căn giữa dòng (80 kí tự).
8
9
Input
Xâu kí tự s không quá 79 kítự
Output
Xâu kí tự s đãđược căn giữa
Chứcnăngthủtục Thủ tục thực
hiện thêm vàotrước xâu s 1 sốkí tự trắng đểkhi đưa ra mànhình kí tự trongs ban đầu đượccăn giữa củadòng gồm 80 kítự.
Xác định bài toán
10
Procedure CanGiua(var s: str79);
Var i, n: integer;
Begin
n:= length(s);
n:= (80-n) div 2;
for i:= 1 to n do s:=’ ‘ +s;
End;
Thủ tục CanGiua(s)
Quan sát sách giáo khoa trang
103 :theo dõi cách sử dụng 2
thủ tục trên, ta có thể viết
chương trình sau đây: để nhập
1 xâu kí tự từ bàn phím và đưa
xâu đó ra màn hình có dạng
dòng chữ chạy giữa màn hình
văn bản 25x80
11
Quan sát chương trình
Chương trình nhập 1 xâu kí tự và đưa xâu đó ra
màn hình có dạng chữ chạy giữa màn hình
12
13
Quan sát chương trình
Chương trình nhập 1 xâu kí tự và đưa xâu đó ra
màn hình có dạng chữ chạy giữa màn hình
14
Yêu cầu người sử dụng nhập 1
xâu kí tự. Đưa xâu đó ra màn
hình có dạng dòng chữ chạy
giữa màn hình văn bản 25*80.
Chức năng của
chương trình
15
Các thủ tục chuẩn:
• chuyển con trỏ màn hình đến vịtrí cột x, dòng y trên màn hình; Gotoxy(x,y)
• dừng trạng thái màn hình trongn miligiay;Delay(n)
• không có tham số và trả về giátrị true khi có 1 phím được gõ;keypressed
16
Chạy thử chương trình trên với
dòng chữ:
‘…Mung nghin nam Thang Long
– Ha Noi!...’
Quan sát sách giáo khoa trang 104,
viết thủ tục ChuChay(s, dong) nhận
đầu vào là xâu s có dạng chữ chạy ở
dòng dong. Viết và chạy chương trình
có sử dụng thủ tục này.
17
18
Vấn đề mới trong
bài tập này là gì ?
Giống câu b nhưng xâu ký
tự phải chạy ở dòng bất kỳ.
Vì vậy phải truyền tham số
quy định dòng chạy cho thủ
tục.
19
procedure chuchay(s1 :
str; dong : byte);
var s2 : str;
stop : Boolean;
begin
clrscr;
cangiua(s1);
clrscr;
stop :=false;
while not (stop) do
Thủ tục ChuChay(s,dong)
begin
gotoxy(1, dong);
write(s1);
delay(100);
catdan(s1, s2);
s1:= s2;
stop:=keypressed;
end;
end;
Quan sát chương trình
Viết và chạy chương trình có sử dụng thủ tục
ChuChay(s,dong).
20
Quan sát chương trình
Viết và chạy chương trình có sử dụng thủ tục
ChuChay(s,dong).
21
Quan sát chương trình
Viết và chạy chương trình có sử dụng thủ tục
ChuChay(s,dong).
22
23
Chạy thử chương trình
trên với dòng chữ:
‘…Mung nghin nam
Thang Long – Ha Noi!...’
24
DẶN DÒ:
1. Những nội dung đã học: Trong
trường hợp nào thì sử dụng thủ
tục : việc thực hiện thủ tục không
trả về giá trị thuộc kiểu xác định
qua tên thủ tục.
2. Chuẩn bị cho bài thực hành số 7:
xem trước nội dung của bài thực
hành số 7, sách giáo khoa , trang 105
25
THEEND
!