Tìm kiếm theo tiêu đề

Tin tức cộng đồng

[MỜI HỢP TÁC] Các kỳ thi Olympic Quốc tế 2026 (IMO - IEO - ISO)

Kính gửi Quý Lãnh đạo, Ban Giám hiệu và Quý Thầy/Cô, FermatTech (Đối tác Google tại VN) phối hợp cùng SCO Ấn Độ trân trọng kính mời tham gia 3 kỳ thi uy tín dành cho HS từ lớp 1 - 12: - IMO: Olympic Toán Quốc tế. - IEO: Olympic Tiếng Anh Quốc tế. - ISO: Olympic Khoa học...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

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

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Tham khảo cùng nội dung: Bài giảng, Giáo án, E-learning, Bài mẫu, Sách giáo khoa, ...
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Dang Thi Ngoc Phu
Ngày gửi: 22h:56' 06-03-2012
Dung lượng: 2.9 MB
Số lượt tải: 176
Số lượt thích: 0 người
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
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
 
Gửi ý kiến

↓ CHÚ Ý: Bài giảng này được nén lại dưới dạng RAR và có thể chứa nhiều file. Hệ thống chỉ hiển thị 1 file trong số đó, đề nghị các thầy cô KIỂM TRA KỸ TRƯỚC KHI NHẬN XÉT  ↓