Câu 1: Phát biểu nào sau đây sai: A. Danh sách tham số hình thức có thể có hoặc không. B. Kết thúc thủ tục là END; C. Thủ tục được viết trong thân chương trình. D. Tham số hình thức dùng khi khai báo, tham số thực sự dùng khi gọi thủ tục. Câu 2 : Giả sử ta có dòng đầu thủ tục là procedure P (Var A, B: Integer; C:integer); Thì các tham số hình thức được hiểu như sau: A. A, B, C đều là các tham biến B. A, B là tham biến, C là tham trị C. A, B, C đều là tham trị D. A, B là tham trị, C là tham biến Câu 3: Phần khai báo đầu thủ tục nào sau đây là đúng: A. Type mang=array[1 10] of Byte; Procedure nhap(var a: mang;); B. Type mang: array[1 10] of Byte; Procedure nhap(var a: mang); C. Type mang=array[1 10] of Byte; Procedure nhap(var a: mang); D. Procedure nhap(var a: array[1 10] of Byte); Câu 4: Cho a: real; b: byte; và dòng đầu thủ tục Procedure tong(n:byte; y: real); Lời gọi nào sau đây đúng: A. tong(a); B. tong(b,a); C. tong(a,b); D. tong(b;a); Câu 5: Cho các biến A,B: byte; C:real; Trong đó: A là tham trị, B và C là tham biến. Khai báo dòng đầu thủ tục nào sau đây đúng: A. Procedure Thamso(Var A:byte; B:Byte; C:real); B. Procedure Thamso(A:byte; Var B:Byte; C:real); C. Procedure Thamso(A:byte; Var B:Byte; Var C:real); D. Procedure Thamso(A,B:Byte; Var C:real); Câu 6: Cho các biến x,z: byte; y:real; Dòng đầu thủ tục như sau: Procedure tang(a:byte; var b:byte;); Lời gọi thủ tục nào sau đây sai? A. tang(5,x); C. tang(1,y); B. tang(5+2,z); D. tang(sqr(2),z); C©u 7: Cho ch ¬ng tr×nh sau: Var x,y:byte; Procedure Hdoi(a:byte;var b:byte); Var tg:byte; Begin Tg:=a; a:=b; b:=tg; End; Begin x:=1; y:=2; Hdoi(x,y); Writeln(‘hoan doi la: ’,x:2,y); Readln; End. A. hoan doi la: 1 2 B. hoan doi la: 1 1 C. hoan doi la: 2 2 D. hoan doi la: 2 1 KÕt qu¶ xuÊt hiÖn trªn mµn h×nh lµ: Lêi gäi thñ tôc nµo sau ®©y lµ ®óng: A. Hoandoi(x,y); B. Hdoi(x); C. Hdoi(x,5); D. Hdoi(5,y); BÀI CŨ Hãy cho biết chương trình sau sử dụng chương trình con là thủ tục hay hàm? Đó là đoạn nào? Đâu là phần đầu, phần khai báo, phần thân? FUNCTION <tên_hàm>[<DS các tham số hình thức>]:<kiểu dữ liệu>; [<Phần khai báo>] BEGIN [<dãy các lệnh >] <tên_hàm>:=<biểu thức>; END; 2. Cách viết và sử dụng hàm a. Cấu trúc hàm: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON - Phần đầu: gồm Function, tên hàm, các tham số hình thức và kiểu dữ liệu (integer, real, char, boolean, string) - Phần khai báo: các hằng, kiểu, biến và cũng có thể các chương trình con. - Phần thân: dãy các lệnh viết giữa Begin và end; VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON b. Sử dụng hàm: - Lời gọi hàm: <TÊN_HÀM>[(Danh sách tham số thực sự)] Từ chương trình trên, hãy xác định vị trí của hàm và lời gọi hàm trong chương trình chính? - Hàm được khai báo ở <phần khai báo> của chương trình chính, sau khai báo biến (với từ khóa Var) - Lời gọi hàm được thực hiện trong <phần thân> của chương trình chính - Lời gọi hàm có thể tham gia vào biểu thức như một toán hạng hoặc là tham số của lời gọi hàm/thủ tục khác [...]... hàm/thủ tục khác BÀI TẬP VỀ NHÀ Chuẩn bị bài thực hành 6 Tiết sau thực hành - Tìm hiểu thủ tục CatDan(s1, s2) và thủ tục CanGiua(s) Xác định tham số hình thức? là tham biến hay tham trị? Giải thích? - Tìm hiểu chương trình có sử dụng hai thủ tục trên và xác định: tham số thực sự, biến toàn cục, biến cục bộ? VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON... else Tim_Max:=y; End; BEGIN Write('nhap a,b,c: '); Readln(a,b,c); Write('so lon nhat la:', Tim_Max(Tim_Max(a,b),c)); Readln; END VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON d Các ví dụ VD2 : Hãy xây dựng hàm tính tổng hai số rồi viết chương trình tính tổng của ba số và ghi kết quả ra màn hình Var x,y,z:integer; Function Tong2so(a,b:real):real; Begin Tong2so:=a+b; End; BEGIN Write('nhap x,y,z: '); Readln(x,y,z);... ra • Giá trị không thay đổi khi thực hiện xong thủ tục • Giá trị có thể bị thay đổi sau khi thực hiện xong thủ tục VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON d Các ví dụ VD1 : Hãy xây dựng hàm tìm số lớn nhất của 2 số rồi viết chương trình tìm số lớn nhất trong 3 số a, b, c và ghi kết quả ra màn hình Var a,b,c:integer; Function Tim_Max(x,y:integer):integer; Begin If x>y then Tim_Max:=x else Tim_Max:=y;... :=; END; - Sử dụng khi cần thực hiện một số thao tác xử lí nhằm giải quyết một công việc cụ thể - Sử dụng khi cần thực hiện một số thao tác xử lí nhằm đưa ra một giá trị kết quả cụ thể - Muốn lưu kết quả phải dùng tham biến - Luôn dùng (với vai trò là biến) để lưu kết quả - Lời gọi thủ tục sử dụng như một câu lệnh trong chương trình chính - Lời gọi hàm sử dụng trong biểu thức,...VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON c Tham số hình thức (tương tự thủ tục) * Ví dụ: Tham số giá trị Tham số biến • Khai báo: Khai báo: : DS tham số hình thức:kiểu . tham số thực sự, biến toàn cục, biến cục bộ? BÀI TẬP VỀ NHÀ VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON . <tên_hàm>:=<biểu thức>; END; 2. Cách viết và sử dụng hàm a. Cấu trúc hàm: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON - Phần đầu: gồm Function, tên hàm, các tham số hình thức và kiểu dữ liệu (integer,. báo: các hằng, kiểu, biến và cũng có thể các chương trình con. - Phần thân: dãy các lệnh viết giữa Begin và end; VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON b. Sử dụng hàm: - Lời gọi hàm: <TÊN_HÀM>[(Danh