Bài 18. Ví dụ về cách viết và sử dụng chương trình con
Chia sẻ bởi Trần Thị Thiện Trí |
Ngày 10/05/2019 |
70
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:
5/21/2010
1
CHÀO MỪNG QUÝ THẦY CÔ GIÁO
ĐẾN DỰ GIỜ !
LỚP 11A3
Giáo viên : Lê Đức Kiều Chinh
Tổ : Toán – Lý
5/21/2010
2
Kiểm tra bài cũ
Hãy viết cấu trúc thủ tục?
Procedure [()] ;
[]
Begin
[]
End;
5/21/2010
3
Kiểm tra bài cũ
Procedure hoan_doi ( x:integer;var y:integer);
Var tg:integer;
Begin
tg:=x;
x:=y;
y:=tg;
end;
Xác định tham biến, tham trị?
a. cả x,y là tham trị
b. y là tham trị, x là tham biến
c . x là tham trị, y là tham biến
d. cả x,y là tham biến
5/21/2010
4
Bài 18
VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG
CHƯƠNG TRÌNH CON (TIẾT 2)
5/21/2010
5
§18 –VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (TIẾT 2)
2. Cách viết và sử dụng hàm
a. Cấu trúc của hàm
function [()]
[]
begin
[]
:= ;
end;
Chỉ có thể là các kiểu: thực, nguyên, kí tự, logic, xâu
:;
5/21/2010
6
§18 –VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (TIẾT 2)
PROCEDURE [()];
[]
BEGIN
[]
END;
FUNCTION [()]:;
[< Phần khai báo> ]
BEGIN
[]
: =;
END;
Giống:
Từ khóa thủ tục Procedure, từ khóa hàm Function.
Tên hàm phải quy định kiểu dữ liệu.
Trong thân hàm cần có lệnh gán giá trị cho tên hàm.
:= ;
So sánh sự giống và khác nhau của hàm và thủ tục?
Có cấu trúc tương tự một chương trình
Đều có thể chứa các tham số (tham biến, tham trị), cùng tuân theo các quy định về khai báo và sử dụng các loại tham số này.
Đều là chương trình con => cấu trúc gồm 3 phần.
Khác:
;
: = ;
5/21/2010
7
§18 –VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (TIẾT 2)
Ví dụ 1: Chương trình rút gọn phân số
Program Rutgon_phan so;
Uses crt;
Var tuso, mauso, a : integer;
Function UCLN(x,y : Integer): Integer;
Begin
While y<>x do
If x>y then x:=x-y
Else y:=y-x;
UCLN := x;
End;
Begin
Clrscr;
Write(‘Nhap tu so, mau so vao! ’);
Readln(Tuso, mauso);
a := UCLN(Tuso, mauso);
if a>1 then
Begin
Tuso: = Tuso div a;
Mauso:= Mauso div a;
End;
Writeln(‘P.s toi gian: ‘,Tuso,’/’,Mauso);
Readln
End.
Nhap tu so, mau so vao!
6 10
UCLN(6, 10);
UCLN = 2
Clrscr;
Write(‘Nhap tu so, mau so vao! ’);
Begin
Readln(Tuso, mauso);
a :=
if a>1 then
Begin
Tuso: = Tuso div a;
Mauso:= Mauso div a;
End;
Writeln(‘P.s toi gian: ‘,3,’/’,5);
Readln
End.
P.s toi gian: 3/5
5/21/2010
8
§18 - vÝ dô vÒ c¸ch viÕt vµ sö dông ch¬ng tr×nh con (TiÕt 2)
§18 –VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (TIẾT 2)
Việc sử dụng hàm tương tự như sử dụng các hàm chuẩn.
Lệnh gọi hàm có thể tham gia vào một biểu thức như một toán hạng và thậm chí là tham số cho lời gọi hàm, thủ tục khác.
b. Sử dụng hàm
n := length (‘abcd’);
A := UCLN (tuso,mauso);
VT := pos (‘a’,’baabc’)*2+3;
Ví dụ:
Ví dụ:
VT := 7;
X:=max(max(a,b),c);
5/21/2010
9
§18 –VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (TIẾT 2)
)
Ví dụ2: Chương trình tìm số nhỏ nhất trong 3 số thực nhập từ bàn phím
program Minbaso;
Var a, b, c: real;
function Min(a, b : real) : real;
begin
if a else Min := b;
end;
begin
write(‘Nhap vao 3 so: ‘);
readln(a, b, c);
writeln(‘So nho nhat trong ba so la: ‘, Min(Min(a, b), c));
readln
end.
begin
write(‘Nhap vao 3 so: ‘);
5 -10 3
readln(a, b, c);
Nhap vao 3 so:
writeln(‘So nho nhat trong ba so la: ‘, Min(Min(a, b), c));
readln
end.
Min( Min(5, -10) , 3));
Min(5, -10)
Min = -10
Min( -10, 3));
Min(-10,3)
Min = -10
-10);
So nho nhat trong ba so la: -10
5/21/2010
10
§18 –VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (TIẾT 2)
Ví dụ2: Chương trình tìm số nhỏ nhất trong 3 số nhập từ bàn phím
program Minbaso;
Var a, b, c: real;
function Min(x, y : real) : real;
begin
if x else Min := y;
end;
begin
write(‘Nhap vao 3 so: ‘);
readln(a, b, c);
writeln(‘So nho nhat trong ba so la: ‘, Min(Min(a, b), c));
readln
end.
5 -10 3
Nhap vao 3 so:
program Minbonso;
Var a, b, c,d: real;
function Min(x, y : real) : real;
begin
if x else Min := y;
end;
begin
write(‘Nhap vao 4 so: ‘);
readln(a, b, c,d);
writeln(‘So nho nhat trong bon so la: ‘, Min(Min(a, b), Min(c,d)));
readln
end.
Ví dụ3: Chương trình tìm số nhỏ nhất trong 4 số nhập từ bàn phím
5/21/2010
11
1
6
2
3
5
4
Mời bạn chọn câu hỏi
Các câu đã được chọn
1
2
3
4
5
6
Chọn câu nào nhỉ!!!
§18 –VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (TIẾT 2)
5/21/2010
12
HÃY CHỌN PHƯƠNG ÁN ĐÚNG NHẤT
Biến toàn cục là:
A. Biến được khai báo trong phần khai báo của thủ tục.
B. Biến được khai báo trong phần khai báo của hàm
C. Biến được khai báo ở bất kỳ đâu trong chương trình.
D. Biến được khai báo trong phần khai báo của chương trình chính.
5/21/2010
13
Hãy viết hàm tính tổng n số nguyên dương đầu tiên.
Function tong (n : Integer): integer;
Var I,s : integer;
Begin
s:=0;
for i := 1 to n do S:= S+i;
Tong:=s;
End;
5/21/2010
14
Hãy chọn phương án trả lời đúng nhất:
Phần đầu nào sau đây là không phải phần đầu của hàm?
A. Function A ( a: real) : real;
B. Function A ( a: real) : boolean;
C. Function A ( a: real) : char;
D. Function A ( a: real) : array [1..10] of real;
5/21/2010
15
Hãy sửa lỗi cho đoạn chương trình sau:
Function max (x,y:integer);
Begin
If x>y then max :=x
Else max :=y;
End.
;
: integer;
5/21/2010
16
Hãy chọn phương án trả lời đúng nhất
Cho biết max(x,y) là hàm tìm giá trị lớn nhất của 2 số x,y. Lời gọi hàm nào sau đây không đúng?
A. max(x,y);
B. n:=max(x,y)+2;
C. n:=max(x,y)
D. Max:=max(x,y);
5/21/2010
17
Hãy chọn phương án trả lời đúng nhất
Cho thủ tục:
Procedure hoan_doi (x:integer;var y:integer);
Var tg:integer;
Begin
tg:=x;
x:=y;
y:=tg;
end;
Lời gọi thủ tục nào sau đây là đúng?
a. Hoan_doi(10,a);
b. Hoan_doi(a,10);
c. Hoan_doi(a+5,a);
d. Hoan_doi(a,a+5);
5/21/2010
18
Cũng cố!
2. Tham số hình thức, tham số thực sự, biến toàn cục và biến cục bộ.
1. Chương trình con , thủ tục và hàm.
3. Phân biệt tham biến, tham trị.
5/21/2010
19
CẢM ƠN QUÝ THẦY CÔ VÀ CÁC EM HỌC SINH !
1
CHÀO MỪNG QUÝ THẦY CÔ GIÁO
ĐẾN DỰ GIỜ !
LỚP 11A3
Giáo viên : Lê Đức Kiều Chinh
Tổ : Toán – Lý
5/21/2010
2
Kiểm tra bài cũ
Hãy viết cấu trúc thủ tục?
Procedure
[
Begin
[
End;
5/21/2010
3
Kiểm tra bài cũ
Procedure hoan_doi ( x:integer;var y:integer);
Var tg:integer;
Begin
tg:=x;
x:=y;
y:=tg;
end;
Xác định tham biến, tham trị?
a. cả x,y là tham trị
b. y là tham trị, x là tham biến
c . x là tham trị, y là tham biến
d. cả x,y là tham biến
5/21/2010
4
Bài 18
VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG
CHƯƠNG TRÌNH CON (TIẾT 2)
5/21/2010
5
§18 –VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (TIẾT 2)
2. Cách viết và sử dụng hàm
a. Cấu trúc của hàm
function
[
begin
[
end;
Chỉ có thể là các kiểu: thực, nguyên, kí tự, logic, xâu
:
5/21/2010
6
§18 –VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (TIẾT 2)
PROCEDURE
[
BEGIN
[
END;
FUNCTION
[< Phần khai báo> ]
BEGIN
[
END;
Giống:
Từ khóa thủ tục Procedure, từ khóa hàm Function.
Tên hàm phải quy định kiểu dữ liệu.
Trong thân hàm cần có lệnh gán giá trị cho tên hàm.
So sánh sự giống và khác nhau của hàm và thủ tục?
Có cấu trúc tương tự một chương trình
Đều có thể chứa các tham số (tham biến, tham trị), cùng tuân theo các quy định về khai báo và sử dụng các loại tham số này.
Đều là chương trình con => cấu trúc gồm 3 phần.
Khác:
5/21/2010
7
§18 –VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (TIẾT 2)
Ví dụ 1: Chương trình rút gọn phân số
Program Rutgon_phan so;
Uses crt;
Var tuso, mauso, a : integer;
Function UCLN(x,y : Integer): Integer;
Begin
While y<>x do
If x>y then x:=x-y
Else y:=y-x;
UCLN := x;
End;
Begin
Clrscr;
Write(‘Nhap tu so, mau so vao! ’);
Readln(Tuso, mauso);
a := UCLN(Tuso, mauso);
if a>1 then
Begin
Tuso: = Tuso div a;
Mauso:= Mauso div a;
End;
Writeln(‘P.s toi gian: ‘,Tuso,’/’,Mauso);
Readln
End.
Nhap tu so, mau so vao!
6 10
UCLN(6, 10);
UCLN = 2
Clrscr;
Write(‘Nhap tu so, mau so vao! ’);
Begin
Readln(Tuso, mauso);
a :=
if a>1 then
Begin
Tuso: = Tuso div a;
Mauso:= Mauso div a;
End;
Writeln(‘P.s toi gian: ‘,3,’/’,5);
Readln
End.
P.s toi gian: 3/5
5/21/2010
8
§18 - vÝ dô vÒ c¸ch viÕt vµ sö dông ch¬ng tr×nh con (TiÕt 2)
§18 –VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (TIẾT 2)
Việc sử dụng hàm tương tự như sử dụng các hàm chuẩn.
Lệnh gọi hàm có thể tham gia vào một biểu thức như một toán hạng và thậm chí là tham số cho lời gọi hàm, thủ tục khác.
b. Sử dụng hàm
n := length (‘abcd’);
A := UCLN (tuso,mauso);
VT := pos (‘a’,’baabc’)*2+3;
Ví dụ:
Ví dụ:
VT := 7;
X:=max(max(a,b),c);
5/21/2010
9
§18 –VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (TIẾT 2)
)
Ví dụ2: Chương trình tìm số nhỏ nhất trong 3 số thực nhập từ bàn phím
program Minbaso;
Var a, b, c: real;
function Min(a, b : real) : real;
begin
if a else Min := b;
end;
begin
write(‘Nhap vao 3 so: ‘);
readln(a, b, c);
writeln(‘So nho nhat trong ba so la: ‘, Min(Min(a, b), c));
readln
end.
begin
write(‘Nhap vao 3 so: ‘);
5 -10 3
readln(a, b, c);
Nhap vao 3 so:
writeln(‘So nho nhat trong ba so la: ‘, Min(Min(a, b), c));
readln
end.
Min( Min(5, -10) , 3));
Min(5, -10)
Min = -10
Min( -10, 3));
Min(-10,3)
Min = -10
-10);
So nho nhat trong ba so la: -10
5/21/2010
10
§18 –VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (TIẾT 2)
Ví dụ2: Chương trình tìm số nhỏ nhất trong 3 số nhập từ bàn phím
program Minbaso;
Var a, b, c: real;
function Min(x, y : real) : real;
begin
if x
end;
begin
write(‘Nhap vao 3 so: ‘);
readln(a, b, c);
writeln(‘So nho nhat trong ba so la: ‘, Min(Min(a, b), c));
readln
end.
5 -10 3
Nhap vao 3 so:
program Minbonso;
Var a, b, c,d: real;
function Min(x, y : real) : real;
begin
if x
end;
begin
write(‘Nhap vao 4 so: ‘);
readln(a, b, c,d);
writeln(‘So nho nhat trong bon so la: ‘, Min(Min(a, b), Min(c,d)));
readln
end.
Ví dụ3: Chương trình tìm số nhỏ nhất trong 4 số nhập từ bàn phím
5/21/2010
11
1
6
2
3
5
4
Mời bạn chọn câu hỏi
Các câu đã được chọn
1
2
3
4
5
6
Chọn câu nào nhỉ!!!
§18 –VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (TIẾT 2)
5/21/2010
12
HÃY CHỌN PHƯƠNG ÁN ĐÚNG NHẤT
Biến toàn cục là:
A. Biến được khai báo trong phần khai báo của thủ tục.
B. Biến được khai báo trong phần khai báo của hàm
C. Biến được khai báo ở bất kỳ đâu trong chương trình.
D. Biến được khai báo trong phần khai báo của chương trình chính.
5/21/2010
13
Hãy viết hàm tính tổng n số nguyên dương đầu tiên.
Function tong (n : Integer): integer;
Var I,s : integer;
Begin
s:=0;
for i := 1 to n do S:= S+i;
Tong:=s;
End;
5/21/2010
14
Hãy chọn phương án trả lời đúng nhất:
Phần đầu nào sau đây là không phải phần đầu của hàm?
A. Function A ( a: real) : real;
B. Function A ( a: real) : boolean;
C. Function A ( a: real) : char;
D. Function A ( a: real) : array [1..10] of real;
5/21/2010
15
Hãy sửa lỗi cho đoạn chương trình sau:
Function max (x,y:integer);
Begin
If x>y then max :=x
Else max :=y;
End.
;
: integer;
5/21/2010
16
Hãy chọn phương án trả lời đúng nhất
Cho biết max(x,y) là hàm tìm giá trị lớn nhất của 2 số x,y. Lời gọi hàm nào sau đây không đúng?
A. max(x,y);
B. n:=max(x,y)+2;
C. n:=max(x,y)
D. Max:=max(x,y);
5/21/2010
17
Hãy chọn phương án trả lời đúng nhất
Cho thủ tục:
Procedure hoan_doi (x:integer;var y:integer);
Var tg:integer;
Begin
tg:=x;
x:=y;
y:=tg;
end;
Lời gọi thủ tục nào sau đây là đúng?
a. Hoan_doi(10,a);
b. Hoan_doi(a,10);
c. Hoan_doi(a+5,a);
d. Hoan_doi(a,a+5);
5/21/2010
18
Cũng cố!
2. Tham số hình thức, tham số thực sự, biến toàn cục và biến cục bộ.
1. Chương trình con , thủ tục và hàm.
3. Phân biệt tham biến, tham trị.
5/21/2010
19
CẢM ƠN QUÝ THẦY CÔ VÀ CÁC EM HỌC SINH !
* 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ẻ: Trần Thị Thiện Trí
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)