Bài 18. Ví dụ về cách viết và sử dụng chương trình con
Chia sẻ bởi Đỗ Thụy Phụng Nhi |
Ngày 10/05/2019 |
161
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:
Bài 18: Ví Dụ Về Cách Viết Và
Sử Dụng Chương Trình Con
1. Cách viết và sử dụng thủ tục:
2. Cách viết và sử dụng hàm
a. Cấu trúc của thủ tục
b. Ví dụ về thủ tục
a. Cấu trúc của hàm
b. Ví dụ về hàm
Hình chữ nhật có dạng sau:
* * * * * * * * * *
* *
* * * * * * * * * *
Để vẽ được hình chữ nhật trên ta viết câu lệnh như thế nào trong chương trình ?
Writeln(‘* * * * * * * * * * ‘);
Writeln(‘* * ‘);
Writeln(‘* * * * * * * * * * ‘);
1. Cách viết và sử dụng thủ tục:
Để vẽ được 3 hình chữ nhật trên ta viết câu lệnh như thế nào trong chương trình ?
Writeln(‘* * * * * * * * * * ‘);
Writeln(‘* * ‘);
Writeln(‘* * * * * * * * * * ‘);
Writeln(‘* * * * * * * * * * ‘);
Writeln(‘* * ‘);
Writeln(‘* * * * * * * * * * ‘);
Writeln(‘* * * * * * * * * * ‘);
Writeln(‘* * ‘);
Writeln(‘* * * * * * * * * * ‘);
? Chương trình sử dụng thủ tục vẽ hình chữ nhật
Program VD_thutuc1;
Procedure ve_hcn;
begin
Writeln(‘* * * * * * * * * * ‘);
Writeln(‘* * ‘);
Writeln(‘* * * * * * * * * * ‘);
End;
Begin
ve_hcn; { lôøi goïi thuû tuïc ve_hcn}
writeln; writeln ;
ve_hcn; { lôøi goïi thuû tuïc ve_hcn}
writeln; writeln ;
ve_hcn; { lôøi goïi thuû tuïc ve_hcn}
End.
1. Cách viết và sử dụng thủ tục:
Cấu trúc của thủ tục
Procedure < teân thuû tuïc> [(ds tham soá )] ;
[]
Begin
[ < caùc caâu leänh > ]
End;
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục:
Cấu trúc của thủ tục
Ví dụ 1: Viết chương trình hoán đổi giá trị của 2 số ( dùng thủ tục )
Để hoán đổi giá trị của x và y ta thực hiện như thế nào ?
Giả sử x= 5, y = 10
Dùng biến trung gian TG
TG := x;
x := y;
y := TG;
Program VD1;
Var a, b : integer ;
Procedure hoandoi(var x,y:integer);
Var tg :integer;
Begin
tg := x;
x := y;
y := tg;
End;
Begin
a :=5;
b :=10;
Write(‘gia tri a, b ’, a:6, b:6);
Hoandoi(a,b);
Writeln(‘ gia tri a, b ’, a, b);
Readln;
End.
gia tri a, b 5 10
gia tri a, b 10 5
?Tham số hình thức được thay bằng tham số thực sự tương ứng là tên các biến chứa dữ liệu ra gọi là tham số biến ( tham biến)
ở VD1 hoandoi(a,b) ? a, b là tham biến
Tham số hình thức được thay bằng tham số thực sự tương ứng là các giá trị cụ thể ( biến, hằng, biểu thức) gọi là tham số giá trị (tham trị)
? Trong chương trình con để phân biệt tham trị và tham biến :
1./ Em hãy viết cấu trúc của thủ tục ?
2./ Phần đầu của thủ tục như sau:
Procedure tong(var a, b : integer) ;
Trong chương trình chính ta gọi lại thủ tục:
tong(x,y);
a./ Hãy xác định tham số hình thức, tham số thực sự.
b./ Xác định tham biến .
KIỂM TRA BÀI CŨ
Ví dụ 2: Chương trình sau đây dùng tham trị và tham biến.
Program VD2;
Var a, b : integer ;
Procedure hoandoi(x : integer ;var y:integer);
Var tg :integer;
Begin
tg := x;
x := y;
y := tg;
End;
Begin
a :=5;
b :=10;
Writeln(a:6, b:6);
Hoandoi(a,b);
Writeln(a:6, b:6);
Readln;
End.
Hãy xác định tham trị và tham biến trong thủ tục ?
x là tham trị, y là tham biến
Kết quả khi thực hiện chương trình
5 10
5 5
Sau khi thực hiện chương trình thì giá trị của biến a, b như thế nào ?
Giá trị của biến a không thay đổi,
giá trị của biến b thay đổi
a,b laø bieán toaøn cuïc, tg laø bieán cuïc boä
Em hiểu như thế nào về biến cục bộ và biến toàn cục ?
? Biến toàn cục là biến được khai báo trong chương trình chính
? Biến cục bộ là biến được khai báo trong chương trình con
Xem lại chương trình hoán đổi 2 số
Program VD2;
Var a, b : integer ;
Procedure hoandoi(x : integer ;var y:integer);
Var tg :integer;
Begin
tg := x;
x := y;
y := tg;
End;
Begin
a :=5;
b :=10;
Writeln(a:6, b:6);
Hoandoi(a,b);
Writeln(a:6, b:6);
Readln;
End.
2. Cách viết và sử dụng hàm:
Cấu trúc của hàm:
Function < teân haøm> [(ds tham soá )]: ;
[]
Begin
[ < caùc caâu leänh > ]
End;
? Kiểu dữ liệu là kiểu dữ liệu của giá trị mà hàm trả về ( có thể là kiểu integer, real, char, boolean, string )
a. Cấu trúc của hàm:
2. Cách viết và sử dụng hàm:
b. Ví dụ về hàm:
Ví dụ : Viết chương trình tìm số nhỏ nhất của 2 số ( dùng hàm )
Giả sử x= 6, y = -3 ? số nhỏ nhất y = -3
Làm thế nào để biết số nhỏ nhất là y = -3?
? So sánh giá trị của 2 số: Nếu x < y thì số nhỏ nhất là x, ngược lại số nhỏ nhất là y
Program VD;
Var a, b : integer ;
Function Min( a,b :real): real;
Begin
If a < b then
min := b
else
min := a;
End;
Begin
a := -3;
b := 5;
Write(‘ so nho nhat la’,min(a,b));
Readln;
End.
So nho nhat la -3
Bài tập và thực hành 6
a. Tìm hiểu việc xây dựng thủ tục catdan và cangiua:
? Xây dựng thủ tục catdan
Catdan(s1,s2) nhận đầu vào là xâu s1 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.
VD : s1=‘abcd’ s2=‘bcda’
s2 := copy(s1,2,length(s1)-1) + s1[1] ;
copy(s1,vt,n)
Type str79=string[79];
Procedure catdan(s1:str79; var s2:str79 );
Begin
S2:= copy(s1,2,length(s1}-1)+ s1[1];
End;
? Xây dựng thủ tục catgiua
Catgiua(S) nhận đầu vào là xâu S không quá 79 kí tự, bổ sung vào đầu xâu S một số dấu cách để khi đưa ra màn hình xâu S ban đầu được căn giữa dòng 80 kí tự.
VD: dòng gồm 12 kí tự , S=`anh em`;
3 kí tự
3 kí tự
6 kí tự
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;
Sử Dụng Chương Trình Con
1. Cách viết và sử dụng thủ tục:
2. Cách viết và sử dụng hàm
a. Cấu trúc của thủ tục
b. Ví dụ về thủ tục
a. Cấu trúc của hàm
b. Ví dụ về hàm
Hình chữ nhật có dạng sau:
* * * * * * * * * *
* *
* * * * * * * * * *
Để vẽ được hình chữ nhật trên ta viết câu lệnh như thế nào trong chương trình ?
Writeln(‘* * * * * * * * * * ‘);
Writeln(‘* * ‘);
Writeln(‘* * * * * * * * * * ‘);
1. Cách viết và sử dụng thủ tục:
Để vẽ được 3 hình chữ nhật trên ta viết câu lệnh như thế nào trong chương trình ?
Writeln(‘* * * * * * * * * * ‘);
Writeln(‘* * ‘);
Writeln(‘* * * * * * * * * * ‘);
Writeln(‘* * * * * * * * * * ‘);
Writeln(‘* * ‘);
Writeln(‘* * * * * * * * * * ‘);
Writeln(‘* * * * * * * * * * ‘);
Writeln(‘* * ‘);
Writeln(‘* * * * * * * * * * ‘);
? Chương trình sử dụng thủ tục vẽ hình chữ nhật
Program VD_thutuc1;
Procedure ve_hcn;
begin
Writeln(‘* * * * * * * * * * ‘);
Writeln(‘* * ‘);
Writeln(‘* * * * * * * * * * ‘);
End;
Begin
ve_hcn; { lôøi goïi thuû tuïc ve_hcn}
writeln; writeln ;
ve_hcn; { lôøi goïi thuû tuïc ve_hcn}
writeln; writeln ;
ve_hcn; { lôøi goïi thuû tuïc ve_hcn}
End.
1. Cách viết và sử dụng thủ tục:
Cấu trúc của thủ tục
Procedure < teân thuû tuïc> [(ds tham soá )] ;
[
Begin
[ < caùc caâu leänh > ]
End;
b. Ví dụ về thủ tục
1. Cách viết và sử dụng thủ tục:
Cấu trúc của thủ tục
Ví dụ 1: Viết chương trình hoán đổi giá trị của 2 số ( dùng thủ tục )
Để hoán đổi giá trị của x và y ta thực hiện như thế nào ?
Giả sử x= 5, y = 10
Dùng biến trung gian TG
TG := x;
x := y;
y := TG;
Program VD1;
Var a, b : integer ;
Procedure hoandoi(var x,y:integer);
Var tg :integer;
Begin
tg := x;
x := y;
y := tg;
End;
Begin
a :=5;
b :=10;
Write(‘gia tri a, b ’, a:6, b:6);
Hoandoi(a,b);
Writeln(‘ gia tri a, b ’, a, b);
Readln;
End.
gia tri a, b 5 10
gia tri a, b 10 5
?Tham số hình thức được thay bằng tham số thực sự tương ứng là tên các biến chứa dữ liệu ra gọi là tham số biến ( tham biến)
ở VD1 hoandoi(a,b) ? a, b là tham biến
Tham số hình thức được thay bằng tham số thực sự tương ứng là các giá trị cụ thể ( biến, hằng, biểu thức) gọi là tham số giá trị (tham trị)
? Trong chương trình con để phân biệt tham trị và tham biến :
1./ Em hãy viết cấu trúc của thủ tục ?
2./ Phần đầu của thủ tục như sau:
Procedure tong(var a, b : integer) ;
Trong chương trình chính ta gọi lại thủ tục:
tong(x,y);
a./ Hãy xác định tham số hình thức, tham số thực sự.
b./ Xác định tham biến .
KIỂM TRA BÀI CŨ
Ví dụ 2: Chương trình sau đây dùng tham trị và tham biến.
Program VD2;
Var a, b : integer ;
Procedure hoandoi(x : integer ;var y:integer);
Var tg :integer;
Begin
tg := x;
x := y;
y := tg;
End;
Begin
a :=5;
b :=10;
Writeln(a:6, b:6);
Hoandoi(a,b);
Writeln(a:6, b:6);
Readln;
End.
Hãy xác định tham trị và tham biến trong thủ tục ?
x là tham trị, y là tham biến
Kết quả khi thực hiện chương trình
5 10
5 5
Sau khi thực hiện chương trình thì giá trị của biến a, b như thế nào ?
Giá trị của biến a không thay đổi,
giá trị của biến b thay đổi
a,b laø bieán toaøn cuïc, tg laø bieán cuïc boä
Em hiểu như thế nào về biến cục bộ và biến toàn cục ?
? Biến toàn cục là biến được khai báo trong chương trình chính
? Biến cục bộ là biến được khai báo trong chương trình con
Xem lại chương trình hoán đổi 2 số
Program VD2;
Var a, b : integer ;
Procedure hoandoi(x : integer ;var y:integer);
Var tg :integer;
Begin
tg := x;
x := y;
y := tg;
End;
Begin
a :=5;
b :=10;
Writeln(a:6, b:6);
Hoandoi(a,b);
Writeln(a:6, b:6);
Readln;
End.
2. Cách viết và sử dụng hàm:
Cấu trúc của hàm:
Function < teân haøm> [(ds tham soá )]:
[
Begin
[ < caùc caâu leänh > ]
End;
? Kiểu dữ liệu là kiểu dữ liệu của giá trị mà hàm trả về ( có thể là kiểu integer, real, char, boolean, string )
a. Cấu trúc của hàm:
2. Cách viết và sử dụng hàm:
b. Ví dụ về hàm:
Ví dụ : Viết chương trình tìm số nhỏ nhất của 2 số ( dùng hàm )
Giả sử x= 6, y = -3 ? số nhỏ nhất y = -3
Làm thế nào để biết số nhỏ nhất là y = -3?
? So sánh giá trị của 2 số: Nếu x < y thì số nhỏ nhất là x, ngược lại số nhỏ nhất là y
Program VD;
Var a, b : integer ;
Function Min( a,b :real): real;
Begin
If a < b then
min := b
else
min := a;
End;
Begin
a := -3;
b := 5;
Write(‘ so nho nhat la’,min(a,b));
Readln;
End.
So nho nhat la -3
Bài tập và thực hành 6
a. Tìm hiểu việc xây dựng thủ tục catdan và cangiua:
? Xây dựng thủ tục catdan
Catdan(s1,s2) nhận đầu vào là xâu s1 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.
VD : s1=‘abcd’ s2=‘bcda’
s2 := copy(s1,2,length(s1)-1) + s1[1] ;
copy(s1,vt,n)
Type str79=string[79];
Procedure catdan(s1:str79; var s2:str79 );
Begin
S2:= copy(s1,2,length(s1}-1)+ s1[1];
End;
? Xây dựng thủ tục catgiua
Catgiua(S) nhận đầu vào là xâu S không quá 79 kí tự, bổ sung vào đầu xâu S một số dấu cách để khi đưa ra màn hình xâu S ban đầu được căn giữa dòng 80 kí tự.
VD: dòng gồm 12 kí tự , S=`anh em`;
3 kí tự
3 kí tự
6 kí tự
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;
* 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ẻ: Đỗ Thụy Phụng Nhi
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)