Bài 18. Ví dụ về cách viết và sử dụng chương trình con

Chia sẻ bởi Dang Thi Ngoc Phu | Ngày 10/05/2019 | 59

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:

NHIỆT LIỆT CHÀO MỪNG
QUÝ THẦY CÔ VÀ CÁC EM HỌC SINH THAM DỰ TIẾT HỌC
GV soạn giảng : ẹAậNG THề NGOẽC PHU�
trường : THPT Tam Nga~i
Bài 18
CÁCH VIẾT VÀ SỬ DỤNG
CHƯƠNG TRÌNH CON
GV: Đặng Thị Ngọc Phú
bài tập
Bài tập 1
Hãy xây dựng hàm tính ax (a, x là những số nguyên dương)
Áp dụng, tính tổng sau:



Bài tập 1
Var a, b, c, d, m, n, p, q: byte; s: word;
FUNCTION LT(a, x: byte):Word;
Var j:byte; tam:word;
Begin
tam:=1;
For j:=1 To x Do tam:=tam*a;
LT:=tam;
End;
BEGIN
Write(`Nhap gia tri cua a, b, c, d: `); Readln(a, b, c, d);
Write(`Nhap cac so mu m, n, p, q: `); Readln(m, n, p, q);
S:= LT(a,m) +LT (b,n) +LT(c,p) +LT(d,q);
Writeln(`Ket qua = `, S:10:2);
Readln
END.
Bài tập 2
Hãy xây dựng hàm tính giai thừa của một số nguyên dương.
Áp dụng, tính tổng sau:

Program Tong_nghich_dao;
Var n,i :byte; s:Real;
FUNCTION GT (a : byte) : word ;
BEGIN
IF a = 0 THEN GT := 1
ELSE GT := a * GT (a -1);
END ;
Bài tập 2
BEGIN
Write(`Nhap so N = `); Readln(n);
S:=0;
For i:=1 To n Do s:=s+1/GT(i);
Writeln(`Tong la: `, s:10:2);
Readln
END.
Một chương trình con mà trong quá trình thiết lập, nó sẽ gọi chính bản thân nó thì chương trình con có tính đệ qui (recursion).
Khi thiết kế đệ quy cần phải có hai điều kiện sau đây:
- Phải có một trường hợp “nguyên tố”, tức là trường hợp mà khi truy hồi đến nó thì kết thúc (ở ví dụ trên là trường hợp a=0).
- Trong lời gọi đệ quy phải có yếu tố dẫn đến trường hợp “nguyên tố” (trong ví dụ trên là yếu tố (a-1) tức là n sẽ giảm dần cho đến trường hợp a=0).
FUNCTION GT (a : byte) : word;
BEGIN
IF a = 0 THEN GT := 1
ELSE
GT := a * GT (a -1);
END ;
Em có biết tính
đệ quy của chương trình con là gì không?
Viết hàm tìm MAX của 2 số thực x, y. Áp dụng tìm Max trong bốn số a, b, c, d nhập từ bàn phím .
Bài tập 3
Var a, b,c,d:real;
Function MAX (x,y:real): real;
Begin
If x>y then Max:=x else Max: =y;
End;
Begin
Write(` nhap a,b,c,d:= `);
Readln(a,b,c,d);
Write(` so lon nhat trong 4 so`, Max (Max(a,b),Max(c,d));
Readln;
End.
Câu 1. Cho chương trình sau:
PROGRAM BT; Var x,y: integer;
Procedure Thaydoi(x,y: integer);
Begin
x:=y; y:=0; writeln(x,y);
End;
BEGIN
x:=1; y:=2;
writeln(x,y);
thaydoi(x,y);
writeln(x,y);
END.
TRẮC NGHIỆM
A. 1 2 2 0 1 2
B. 1 2
2 0
1 2
C. 1 2
2 1
1 2
D. 1 2
Câu 2. Cho khai báo hàm
    Function F( a : Integer) : Integer;
      Begin
        If a=1 then F:=1 else F:= a*a+ F(a-1);
      End;
    Giá trị của hàm F(4) là:
A. 1 B. 25 C. 14 D. 30
TRẮC NGHIỆM
Câu 3. Cho khai báo thủ tục sau:
    Procedure Bp1( x:integer; Var y: integer);
      Begin
        Y:= X*X; X:= X+1;
      End;
Cho biến nguyên s, sau khi thực hiện lệnh:bp1(s,1)
thì giá trị của s là:
A. 1 B. 2 C. 3 D. không thực hiện được
TRẮC NGHIỆM
Câu 4. Cho khai báo thủ tục sau:
    Procedure Bp1( x:integer; Var y: integer);
      Begin
        Y:= X*X; X:= X+1;
      End;
Cho biến nguyên s, sau khi thực hiện lệnh: s:= - 2;
bp1(-s,s) thì giá trị của s là:
A. -4 B. 2 C. 4 D. không thực hiện được
TRẮC NGHIỆM
Câu 5. Cho khai báo thủ tục sau:
    Procedure Bp1( x:integer; Var y: integer);
      Begin
        Y:= X*X; X:= X+1;
      End;
Cho biến nguyên s, t, sau khi thực hiện lệnh: t:= 4;
bp1(t,s) thì giá trị của s là:
s=16, t=4 B. s=25, t=5
S=16, t =5 D. không thực hiện được
TRẮC NGHIỆM
Củng cố
Cấu trúc thủ tục
Procedure [];
;
begin
;
end;
Cấu trúc hàm
Function [()]:;
[];
Begin
[];
:= ;
End;
Bài tập về nhà
Bài tập 1.
Giải PT bậc 2 có dạng : Ax2+Bx+C=0 (sử dụng thủ tục )
- Chương trình chính đảm nhận việc nhập dữ liệu và in ra kết quả
Chương trình con đảm nhận việc tính toán.
Bài tập 2.
Viết chương trình tính tổng các số chẵn từ M đến N (xây dựng hàm tính tổng).
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
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ẻ: Dang Thi Ngoc Phu
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)