Bài 18. Ví dụ về cách viết và sử dụng chương trình con
Chia sẻ bởi Nguyễn Cao Luận |
Ngày 10/05/2019 |
143
Chia sẻ tài liệu: Bài 18. Ví dụ về cách viết và sử dụng chương trình con thuộc Tin học 11
Nội dung tài liệu:
1/ Cách viết và sử dụng thủ tục:
a/ Cấu trúc:
Procedure ();
[]
Begin
[< dãy các lệnh>;]
End;
1/ Cách viết và sử dụng thủ tục:
a/ Cấu trúc:
Cách gọi thủ tục trong chương trình chính:
Tên thủ tục ( < danh sách các tham số>);
1/ Cách viết và sử dụng thủ tục:
b/ Ví dụ về thủ tục:
Ví du:
Chiều dài: 10; chiều rộng: 4
* * * * * * * * * *
* *
* *
* * * * * * * * * *
Hoạt động 1: Dùng các dấu ‘*’ để vẽ một hình chữ nhật có chiều dài và chiều rộng nhập từ bàn phím chính là số lần xuất hiện dấu ‘*’ trên màn hình? (Tr 98_SGK)
1/ Cách viết và sử dụng thủ tục:
a/ Cấu trúc:
b/ Ví dụ về thủ tục:
Procedure ve_hcn (chdai,chrong: integer);
Var i,j : integer;
Begin
For i:=1 to chdai Do write(‘*’);
Writeln;
For j:= 1 to chrong-2 Do
Begin
Write(‘*’);
For i:=1 to chdai -2 Do Write(‘ ‘);
Writeln(‘*’);
End;
For i:=1 to chdai Do write(‘*’);
Writeln;
end;
1/ Cách viết và sử dụng thủ tục:
b/ Ví dụ về thủ tục:
1/ Cách viết và sử dụng thủ tục:
a/ Cấu trúc:
b/ Ví dụ về thủ tục:
Procedure ve_hcn (chdai,chrong: integer);
Var i,j : integer;
Begin
For i:=1 to chdai Do write(‘*’);
Writeln;
For j:= 1 to chrong-2 Do
Begin
Write(‘*’);
For i:=1 to chdai -2 Do
Write(‘ ‘);
Writeln(‘*’);
End;
For i:=1 to chdai Do write(‘*’);
Writeln;
end;
(****************************************)
1/ Cách viết và sử dụng thủ tục:
b/ Ví dụ về thủ tục:
Program Vidu1;
Uses CRT;
Var a,b,i:integer;
(*************************************)
Begin
(* Chươngtrình chính*)
Clrscr;
Ve_hcn(25,10);
Writeln; Writeln;
Ve_hcn(5,10);
Readln:
CLRSCR;
a:=4; b:=2;
For i:=1 to 4 Do
Begin
Ve_hcn(a,b);
readln; Clrscr;
a:=a*2;
b:=b*2;
End;
Readln;
End.
Ve_hcn(25,10);
chdai,chrong
Ve_hcn(5,10);
Ve_hcn(a,b);
1/ Cách viết và sử dụng thủ tục:
a/ Cấu trúc:
b/ Ví dụ về thủ tục:
Hoạt động 2: Hãy xem đoạn chương trình sau và nhận xét sự thay đổi giá trị của các biến trong chương trình chính?
Procedure Hoan_doi (x:integer; Var y:integer);
Var TG:integer;
Begin
TG:=x;
x:=y;
y:=TG;
end;
(*****************)
Begin
CLRSCR;
a:=5; b:=10;
writeln(a:6, b:6);
Hoan_doi(a,b);
writeln(a:6, b:6);
Readln;
End.
Program Vi_du2;
Uses CRT;
Var a,b:integer;
Kết quả:
5 10
5 5
X=10; y=5
a=5 ; b=5
1/ Cách viết và sử dụng thủ tục:
Truyền tham trị
Truyền tham biến
Hoan_doi(a,b);
x:integer; Var y:integer
1/ Cách viết và sử dụng thủ tục:
a/ Cấu trúc:
b/ Ví dụ về thủ tục:
* Truyền tham biến: Chương trình chính truyền danh sách tham số cho CTC và CTC có thể làm thay đổi giá trị các biến được khai báo trong chương trình chính. Khi đó phần khai báo tham số hình thức trong CTC phải có từ khóa Var và tham số thực sự ( khi gọi) phải là biến.
c/ Nhận xét:
Có 2 cách truyền tham số cho CTC
1/ Cách viết và sử dụng thủ tục:
* Truyền tham trị: Chương trình chính truyền danh sách tham số cho CTC và CTC không làm thay đổi giá trị các biến được khai báo trong chương trình chính. Phần khai báo tham số hình thức trong CTC không có từ khóa Var.
1/ Cách viết và sử dụng thủ tục:
2/ Cách viết và sử dụng Hàm:
2/ Cách viết và sử dụng Hàm:
a/ Cấu trúc:
Function (): ;
[]
Begin
[< dãy các lệnh>;]
:= ;
End;
Cách gọi hàm trong chương trình chính:
… ( < danh sách các tham số>)…
Chú ý:
Vì việc thực hiện hàm luôn cho 1 giá trị kết quả thuộc 1 kiểu xác định được khai báo trong phần đầu của hàm, cho nên lời gọi hàm không bao giờ đứng riêng rẽ một mình, mà chỉ có thể nằm trong một biểu thức nào đó hoặc trong câu lệnh gán ( vế phải của câu lệnh gán); Bên trong hàm bắt buộc phải có lệnh gán giá trị kết quả cho tên hàm:= ;
a/ Cấu trúc:
1/ Cách viết và sử dụng thủ tục:
2/ Cách viết và sử dụng Hàm:
2/ Cách viết và sử dụng Hàm:
a/ Cấu trúc:
Hoạt động 3: Hãy đọc chương trình rút gọn phân số , trong đó có sử dụng hàm tính ước số chung lớn nhất. Tìm hiểu cách hoạt động bằng cách chạy thử việc rút gọn phân số 68/119?
b/ Ví dụ về hàm:
b/ Ví dụ về hàm:
1/ Cách viết và sử dụng thủ tục:
2/ Cách viết và sử dụng Hàm:
2/ Cách viết và sử dụng Hàm:
a/ Cấu trúc:
b/ Ví dụ về hàm:
b/ Ví dụ về hàm:
Program Rutgon_phanso;
Uses CRT;
Var tuso, mauso, a: integer;
Function UCLN (x, y :integer): integer;
Var sodu: integer;
Begin
While y<> 0 Do
Begin
sodu:= x mod y;
x:=y;
y:=sodu;
end;
UCLN:=x;
End;
Begin
clrscr;
Write(‘Nhap tu so và mau so:’);
Readln(tuso, mauso);
a:= UCLN(tuso, mauso);
UCLN(tuso, mauso);
68 119
UCLN(68, 119);
Function UCLN (x, y :integer): integer;
While y<> 0 Do
119
68
119
68
68
51
68
51
51
17
51
17
17
0
17
0
17
1/ Cách viết và sử dụng thủ tục:
2/ Cách viết và sử dụng Hàm:
2/ Cách viết và sử dụng Hàm:
a/ Cấu trúc:
b/ Ví dụ về hàm:
b/ Ví dụ về hàm:
If a>1 then
Begin
tuso:=tuso div a;
mauso:= mauso div a;
end;
Writeln ( ‘ Phan so rut gon :’, tuso,’/’, mauso);
End.
Hoạt động 4: Sử dụng hàm
Function Min (a,b:real):real;
Begin
If a end;
Hãy viết chương trình tìm số bé nhất của 3 số nhập từ bàn phím ?
1/ Cách viết và sử dụng thủ tục:
2/ Cách viết và sử dụng Hàm:
2/ Cách viết và sử dụng Hàm:
a/ Cấu trúc:
b/ Ví dụ về hàm:
b/ Ví dụ về hàm:
Chương trình chính:
Begin
Write( ‘Nhap 3 so a,b,c:’);
Readln(a,b,c);
Writeln( ‘ So be nhat:’, Min(Min(a,b),c));
End.
a/ Cấu trúc:
Procedure
[
Begin
[< dãy các lệnh>;]
End;
1/ Cách viết và sử dụng thủ tục:
a/ Cấu trúc:
Cách gọi thủ tục trong chương trình chính:
Tên thủ tục ( < danh sách các tham số>);
1/ Cách viết và sử dụng thủ tục:
b/ Ví dụ về thủ tục:
Ví du:
Chiều dài: 10; chiều rộng: 4
* * * * * * * * * *
* *
* *
* * * * * * * * * *
Hoạt động 1: Dùng các dấu ‘*’ để vẽ một hình chữ nhật có chiều dài và chiều rộng nhập từ bàn phím chính là số lần xuất hiện dấu ‘*’ trên màn hình? (Tr 98_SGK)
1/ Cách viết và sử dụng thủ tục:
a/ Cấu trúc:
b/ Ví dụ về thủ tục:
Procedure ve_hcn (chdai,chrong: integer);
Var i,j : integer;
Begin
For i:=1 to chdai Do write(‘*’);
Writeln;
For j:= 1 to chrong-2 Do
Begin
Write(‘*’);
For i:=1 to chdai -2 Do Write(‘ ‘);
Writeln(‘*’);
End;
For i:=1 to chdai Do write(‘*’);
Writeln;
end;
1/ Cách viết và sử dụng thủ tục:
b/ Ví dụ về thủ tục:
1/ Cách viết và sử dụng thủ tục:
a/ Cấu trúc:
b/ Ví dụ về thủ tục:
Procedure ve_hcn (chdai,chrong: integer);
Var i,j : integer;
Begin
For i:=1 to chdai Do write(‘*’);
Writeln;
For j:= 1 to chrong-2 Do
Begin
Write(‘*’);
For i:=1 to chdai -2 Do
Write(‘ ‘);
Writeln(‘*’);
End;
For i:=1 to chdai Do write(‘*’);
Writeln;
end;
(****************************************)
1/ Cách viết và sử dụng thủ tục:
b/ Ví dụ về thủ tục:
Program Vidu1;
Uses CRT;
Var a,b,i:integer;
(*************************************)
Begin
(* Chươngtrình chính*)
Clrscr;
Ve_hcn(25,10);
Writeln; Writeln;
Ve_hcn(5,10);
Readln:
CLRSCR;
a:=4; b:=2;
For i:=1 to 4 Do
Begin
Ve_hcn(a,b);
readln; Clrscr;
a:=a*2;
b:=b*2;
End;
Readln;
End.
Ve_hcn(25,10);
chdai,chrong
Ve_hcn(5,10);
Ve_hcn(a,b);
1/ Cách viết và sử dụng thủ tục:
a/ Cấu trúc:
b/ Ví dụ về thủ tục:
Hoạt động 2: Hãy xem đoạn chương trình sau và nhận xét sự thay đổi giá trị của các biến trong chương trình chính?
Procedure Hoan_doi (x:integer; Var y:integer);
Var TG:integer;
Begin
TG:=x;
x:=y;
y:=TG;
end;
(*****************)
Begin
CLRSCR;
a:=5; b:=10;
writeln(a:6, b:6);
Hoan_doi(a,b);
writeln(a:6, b:6);
Readln;
End.
Program Vi_du2;
Uses CRT;
Var a,b:integer;
Kết quả:
5 10
5 5
X=10; y=5
a=5 ; b=5
1/ Cách viết và sử dụng thủ tục:
Truyền tham trị
Truyền tham biến
Hoan_doi(a,b);
x:integer; Var y:integer
1/ Cách viết và sử dụng thủ tục:
a/ Cấu trúc:
b/ Ví dụ về thủ tục:
* Truyền tham biến: Chương trình chính truyền danh sách tham số cho CTC và CTC có thể làm thay đổi giá trị các biến được khai báo trong chương trình chính. Khi đó phần khai báo tham số hình thức trong CTC phải có từ khóa Var và tham số thực sự ( khi gọi) phải là biến.
c/ Nhận xét:
Có 2 cách truyền tham số cho CTC
1/ Cách viết và sử dụng thủ tục:
* Truyền tham trị: Chương trình chính truyền danh sách tham số cho CTC và CTC không làm thay đổi giá trị các biến được khai báo trong chương trình chính. Phần khai báo tham số hình thức trong CTC không có từ khóa Var.
1/ Cách viết và sử dụng thủ tục:
2/ Cách viết và sử dụng Hàm:
2/ Cách viết và sử dụng Hàm:
a/ Cấu trúc:
Function
[
Begin
[< dãy các lệnh>;]
End;
Cách gọi hàm trong chương trình chính:
…
Chú ý:
Vì việc thực hiện hàm luôn cho 1 giá trị kết quả thuộc 1 kiểu xác định được khai báo trong phần đầu của hàm, cho nên lời gọi hàm không bao giờ đứng riêng rẽ một mình, mà chỉ có thể nằm trong một biểu thức nào đó hoặc trong câu lệnh gán ( vế phải của câu lệnh gán); Bên trong hàm bắt buộc phải có lệnh gán giá trị kết quả cho tên hàm
a/ Cấu trúc:
1/ Cách viết và sử dụng thủ tục:
2/ Cách viết và sử dụng Hàm:
2/ Cách viết và sử dụng Hàm:
a/ Cấu trúc:
Hoạt động 3: Hãy đọc chương trình rút gọn phân số , trong đó có sử dụng hàm tính ước số chung lớn nhất. Tìm hiểu cách hoạt động bằng cách chạy thử việc rút gọn phân số 68/119?
b/ Ví dụ về hàm:
b/ Ví dụ về hàm:
1/ Cách viết và sử dụng thủ tục:
2/ Cách viết và sử dụng Hàm:
2/ Cách viết và sử dụng Hàm:
a/ Cấu trúc:
b/ Ví dụ về hàm:
b/ Ví dụ về hàm:
Program Rutgon_phanso;
Uses CRT;
Var tuso, mauso, a: integer;
Function UCLN (x, y :integer): integer;
Var sodu: integer;
Begin
While y<> 0 Do
Begin
sodu:= x mod y;
x:=y;
y:=sodu;
end;
UCLN:=x;
End;
Begin
clrscr;
Write(‘Nhap tu so và mau so:’);
Readln(tuso, mauso);
a:= UCLN(tuso, mauso);
UCLN(tuso, mauso);
68 119
UCLN(68, 119);
Function UCLN (x, y :integer): integer;
While y<> 0 Do
119
68
119
68
68
51
68
51
51
17
51
17
17
0
17
0
17
1/ Cách viết và sử dụng thủ tục:
2/ Cách viết và sử dụng Hàm:
2/ Cách viết và sử dụng Hàm:
a/ Cấu trúc:
b/ Ví dụ về hàm:
b/ Ví dụ về hàm:
If a>1 then
Begin
tuso:=tuso div a;
mauso:= mauso div a;
end;
Writeln ( ‘ Phan so rut gon :’, tuso,’/’, mauso);
End.
Hoạt động 4: Sử dụng hàm
Function Min (a,b:real):real;
Begin
If a end;
Hãy viết chương trình tìm số bé nhất của 3 số nhập từ bàn phím ?
1/ Cách viết và sử dụng thủ tục:
2/ Cách viết và sử dụng Hàm:
2/ Cách viết và sử dụng Hàm:
a/ Cấu trúc:
b/ Ví dụ về hàm:
b/ Ví dụ về hàm:
Chương trình chính:
Begin
Write( ‘Nhap 3 so a,b,c:’);
Readln(a,b,c);
Writeln( ‘ So be nhat:’, Min(Min(a,b),c));
End.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Cao Luận
Dung lượng: |
Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)