Assign Reset Rewrite Read Nh¸y chuét chän ®¸p ¸n 1. Trong các thủ tục sau, thủ tục nào cho phép mở tệp để đọc dữ liệu? KIỂM TRA BÀI CŨ KIỂM TRA BÀI CŨ 2. Hãy chọn thứ tự thực hiện các thao tác đọc dữ liệu từ tệp? (A) Đóng tệp (C) Gán tên tệp với biến tệp (B) Mở tệp (D) Đọc dữ liệu từ tệp (B) - (C) - (D) - (A) (C) - (D) - (B) - (A) (B) - (D) - (C) - (A) (C) - (B) - (D) - (A) Nh¸y chuét chän ®¸p ¸n KIỂM TRA BÀI CŨ 3. Điền lần lượt các từ thích hợp vào chổ trống? Program ghi_tep_van_ban; Var F : …… ; Begin ……(F,’vanban.txt’); ……(F); writeln(F,’Tap the hoc sinh lop 11C’); writeln(F,’kinh chao quy thay co!’); ……(F); End. String - Rewrite - Assign - Close Text - Rewrite - Assign - Close Text - Assign - Rewrite - Close Text - Assign - Reset - Close Nh¸y chuét chän ®¸p ¸n ● Trong hoạt động dạy và học của một đơn vị trường học. Nếu chỉ có một người hiệu trưởng giảng dạy thì có thể đảm bảo được việc thực hiện giảng dạy hay không? Hiệu Trưởng Phó Hiệu Trưởng Tổ chuyên môn Tổ chuyên môn Giáo viên bộ mônGiáo viên bộ môn Giáo viên bộ mônGiáo viên bộ môn … … … … Trong giải bài toán máy tính cũng vậy, đôi lúc chúng ta cần phải giải một số bài toán lớn, phức tạp → chúng ta cần phải giải quyết như thế nào? Bài toán Bài toán nhỏ Bài toán nhỏ Bài toán nhỏ Bài toán nhỏ Bài toán nhỏ Bài toán nhỏ Bài toán nhỏ Môdul CTC Môdul CTC Môdul CTC Môdul CTC Môdul CTC Môdul CTC Modul CTC Chươngtrình 1. Khái niệm chươngtrìnhcon : Xét bài toán tính tổng bốn lũy thừa : Tluythua = a n + b m + c p + d q Giả sử em là nhóm trưởng của một nhóm 4 người. Em hãy nói cách tổ chức nhóm mình để đưa ra kết quả bài toán trên nhanh nhất? a n b m c p d q Tluythua Program tinh_tong; Var Tluythua, luythua1, luythua2, luythua3, luythua4 : Real; a, b, c, d : Real; i, n, m, p, q : Integer; Begin write(’Hay nhap du lieu theo thu tu a, b, c, d, m, n, p, q : ’); readln(a, b, c, d, m, n, p, q); Luythua1 := 1.0; For i := 1 To n Do Luythua1 := Luythua1 * a; Luythua2 := 1.0; For i := 1 To m Do Luythua2 := Luythua2 * b; Luythua3 := 1.0; For i := 1 To p Do Luythua3 := Luythua3 * c; Luythua4 := 1.0; For i := 1 To q Do Luythua4 := Luythua4 * d; Tluythua := Luythua1 + Luythua2 + Luythua3 + Luythua4; writeln(’Tong luy thua = ’ , Tluythua:8:4); Readln; End. Tich := 1.0; For i := 1 To k Do Tich := Tich * x; Luythua(x,k) Luythua(a,n) Chươngtrìnhcon là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện (được gọi) từ nhiều vị trí trong chương trình. + Luythua(b,m) + Luythua(c,p) + Luythua(d,q); Tluythua := Lợi ích của việc sử dụng chươngtrìnhcon Tránh được việc phải viết lặp đi lặp lại cùng một dãy lệnh ví dụ : bài TLuythua Hỗ trợ việc thực hiện các chươngtrình lớn ví dụ : quản lí điểm học sinh, quản lí nhân viên, … Phục vụ cho quá trình trừu tượng hoá ví dụ : việc sử dụng các hàm toán học Mở rộng khả năng ngôn ngữ ví dụ : các thủ tục write, readln, … Thuận tiện cho phát triển, nâng cấp chươngtrình ví dụ : việc sửa đổi cách tính điểm trong chươngtrình quản lí điểm Bài toán quản lí điểm học sinh Sqr(x)? Sin(x)? Sqrt(x)? Trong NNLT Pascal, làm cách nào để nhập giá trị từ bàn phím vào cho biến? Em hãy cho biết cách tính điểm trung bình học kì môn Tin học? [...]... Cấu trúc chươngtrìnhcon : Em hãy nêu cấu trúc chươngtrình chính? Chươngtrình chính Chươngtrìnhcon [] [] Phần khai báo : là khai báo biến cho dữ liệu vào /ra, các hằng, các biến dùng Giáo án tin học 11 Tiết PPCT 42: Bài 18 VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNGTRÌNHCON Tiết I MỤC TIÊU BÀI HỌC: Kiến thức: - Biết cấu trúc chung vị trí thủ tục chươngtrình - Phân biệt tham số giá trị tham số biến Kĩ năng: - Nhận biết thành phần đầu thủ tục - Nhận biết hai loại tham số hình thức đầu thủ tục - Biết cách khai báo hai loạichươngtrình với tham số hình thức chúng - Sử dụng lời gọi chươngtrình thân chươngtrình Thái độ: II CHUẨN BỊ Giáo viên: Giáo án, Sách giáo khoa Học sinh: Sách giáo khoa, ghi III PHƯƠNG PHÁP DẠY HỌC: Thuyết trình, vấn đáp IV TIẾN TRÌNHBÀI HỌC: Ổn định lớp: Ổn định lớp, kiểm tra sỉ số Bài cũ: So sánh hàn thủ tục Cấu trúc chươngtrìnhBài mới: Hoạt động Giáo Viên Học Sinh Nội Dung * Hoạt động: Cách viết sử dụng thủ tục Ví dụ thủ tục GV: Chiếu chươngtrình ví dụ lên bảng (Ví dụ Cấu trúc chung thủ tục VD-thutuc1, trang 96) Giới thiệu cho học sinh Procedure (danh sách tham cấu trúc thủ tục vị trí khai báo thủ tục, lời gọi số); thủ tục ; HS: Quan sát, theo dõi ví dụ Begin GV: Tìm hiểu cấu trúc thủ tục ; - Hỏi: Vị trí thủ tục nằm phần End; chươngtrình chính? Vd: Thủ tục vẽ hình chữ nhật biết chiều dài (chdai) chiều rộng (chrong) Trả lời: GV : Trình chiếu chươngtrình máy chiếu, Quan sát ví dụ, suy nghĩ trả lời sau trắc vấn học sinh - Nằm phần khai báo, sau phần khai báo biến GV: Hỏi: Cấu trúc thủ tục gồm phần? HS: Trả lời Ba phần: Tên thủ tục, khai báo thủ tục phần thân thủ tục GV: Hỏi: Phân biệt giống khác chươngtrìnhchươngtrình chính? HS: Trả lời Giáo án tin học 11 - Giống: Cấu trúc chung - Khác: Trong phần tên: Từ khóa đặt tên Procedurre, có tham số GV: Giới thiệu cấu trúc chung thủ tục Procedure tên_thủ_tục(danh sách tham số); Các khai báo thủ tục; Begin Các lệnh thủ tục; End; HS: Quan sát ghi nhớ cấu trúc chung GV: Lời gọi thủ tục ta viết phầnchương trình? Trong phần thân kết thúc End; HS: Trong phần thân chươngtrình GV: Tìm hiểu tham số hình thức tham số thực GV: Chiếu ví dụ 2, VD_thutuc2, sách giáo khoa trang 98 - Yêu cầu học sinh nhận xét thủ tục ve_hcn ví dụ với ví dụ trước HS: Quan sát ví dụ bảng Thủ tục ve_hcn ví dụ có tham số chdai, chrong GV: Diễn giải: Khai báo cho phép thủ tục ve_hcn thực vẽ nhiều hình chữ nhật có kích thước khác GV: Hỏi: Quan sát chươngtrình cho biết, chươngtrình ta vẽ tất bao nhêu hình chữ nhật HS: Trả lời - Vẽ hình chữ nhật - Tham số chdai, chrong gọi tham số hình thức - Trong lời gọi thủ tục tham số hình thức thay tham số thực So sánh tham số lời gọi ve_hcn(5,10); ve_hcn(a,b); Giáo án tin học 11 HS: Tham số thực thủ tục ve_hcn(5,10); số thủ tục ve_hcn(a,b); biến GV: Tìm hiểu tham số giá trị tham số biến - Diễn giải: Tham số có hai chức năng: đưa liệu vào cho chươngtrình đưa liệu chươngtrình tìm GV: Hỏi: Các tham số ví dụ thuộc loại nào? HS: Là tham số biến GV: Chiếu chươngtrình VD_thambien1, sách giáo khoa trang 99 GV: Hỏi: Các tham số x,y thuộc loại nào? GV: Diễn giải: Trong lời gọi thủ tục, tham số hình thức thay tham số thực tương ứng tên biến chứa liệu gọi tham số biến GV: Hỏi: x, y tham số giá trị hay tham số biến? HS: Là tham số biến GV: Hỏi: Có nhận xét khai báo tham số hình thức tham trị tham biến? GV: Chiếu vd_thambien2 giải thích để học sinh thấy khác biệt tham số giá trị tham số biến Củng cố - Cách viết sử dụng thủ tục - Cấu trúc thủ tục Hướng dẫn học sinh tự học nhà: - Về học - Xem trước Phần hàm V RÚT KINH NGHIỆM ………………………………………………………………………………………………………… ………………………………………………………………………………………………………… ………………………………………………………………………………………………………… Kiểm tra bài cũ: Viết chươngtrình tính tổng: T=a m +b n +c p với a,b,c là số thực, m,n,p là các số nguyên dương. Program Program tinhtong; tinhtong; Var Var T,T1,T2,T3 :Real; T,T1,T2,T3 :Real; a,b,c : real; a,b,c : real; m,n,p : Integer; m,n,p : Integer; Begin Begin Write(‘nhap du lieua,b,c,m,n,p’); Write(‘nhap du lieua,b,c,m,n,p’); Readln(a,b,c,m,n,p); Readln(a,b,c,m,n,p); T1:=1.0; T1:=1.0; For i:=1 To m Do For i:=1 To m Do T1:=T1* a; T1:=T1* a; T2:=1.0; T2:=1.0; For i:=1 To n Do For i:=1 To n Do T2:=T2* b ; T2:=T2* b ; T3:=1.0 T3:=1.0 For i:=1 To p Do For i:=1 To p Do T3:=T3* c ; T3:=T3* c ; T:=T1+T2+T3; T:=T1+T2+T3; Readln; Readln; End. End. a m b n c p Ví dụ đặt vấn đề: Ví dụ đặt vấn đề: Vd1: Vd1: Cho hàm số F(x)= 5X Cho hàm số F(x)= 5X 2 2 + 3X + 3X + 1 + 1 Tính: A= F(2) +F(F(1)) Tính: A= F(2) +F(F(1)) Vd2: D : = SQRT(sqr(b) - 4*a*c); Program Program tinhtong; tinhtong; Var Var T,a, b,c:Real; T,a, b,c:Real; m,n,p : Integer m,n,p : Integer Function Function Luythua(x:Real; k:Integer): Luythua(x:Real; k:Integer): Real; Real; Var i, :Integer; Var i, :Integer; Lt:Real; Lt:Real; Begin Begin Lt :=1.0; Lt :=1.0; For i:=1 To k Do For i:=1 To k Do Lt:=Lt* x ; Lt:=Lt* x ; Luythua:=Lt; Luythua:=Lt; End; End; BEGIN BEGIN Write(‘nhap du lieu a,b,c,m,n,p); Write(‘nhap du lieu a,b,c,m,n,p); Readln(a,b,c,m,n,p); Readln(a,b,c,m,n,p); Luythua( a, m) Luythua( a, m) Luythua( b, n) Luythua( b, n) Luythua( c, p ) ; Luythua( c, p ) ; + + T:= T:= Nhap du lieu a,b,c,m,n,p a = 2 ; m = 2 b = 3; n = 3 c = 4 ; p = 4 Luythua( Luythua( 2 2 , , 3 3 ) ) 4 Luythua( Luythua( 3 3 , , 3 3 ) ) Function Function Luythua(x:Real; k:Integer): Luythua(x:Real; k:Integer): Real; Real; Var i, :Integer; Var i, :Integer; Lt:Real; Lt:Real; Begin Begin Lt :=1.0; Lt :=1.0; For i:=1 To k Do For i:=1 To k Do Lt:=Lt* x ; Lt:=Lt* x ; Luythua:=Lt; Luythua:=Lt; End; End; Function Function Luythua(x:Real; k:Integer): Luythua(x:Real; k:Integer): Real; Real; Var i, :Integer; Var i, :Integer; Lt:Real; Lt:Real; Begin Begin Lt :=1.0; Lt :=1.0; For i:=1 To k Do For i:=1 To k Do Lt:=Lt* x ; Lt:=Lt* x ; Luythua:=Lt; Luythua:=Lt; End; End; 27 Luythua( Luythua( 4 4 , , 4 4 ) ; ) ; 64 Function Function Luythua(x:Real; k:Integer): Luythua(x:Real; k:Integer): Real; Real; Var i, :Integer; Var i, :Integer; Lt:Real; Lt:Real; Begin Begin Lt :=1.0; Lt :=1.0; For i:=1 To k Do For i:=1 To k Do Lt:=Lt* x ; Lt:=Lt* x ; Luythua:=Lt; Luythua:=Lt; End; End; T=95 Function Function Luythua(x:Real; k:Integer): Luythua(x:Real; k:Integer): Real; Real; Var i, :Integer; Var i, :Integer; Lt:Real; Lt:Real; Begin Begin Lt :=1.0; Lt :=1.0; For i:=1 To k Do For i:=1 To k Do Lt:=Lt* x ; Lt:=Lt* x ; Luythua:=Lt; Luythua:=Lt; End; End; END. Chươngtrình trên viết theo kiểu chươngtrìnhcon 1.Kh 1.Kh ái niệm chươngtrình con: ái niệm chươngtrình con: Chươngtrìnhcon là một dãy lệnh mô tả một Chươngtrìnhcon là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực số thao tác nhất định và có thể được thực hiện(được gọi) từ nhiều vị trí trong hiện(được gọi) từ nhiều vị trí trong chương trình. chương trình. • Tránh được phải viết lặp đi lặp lại cùng một dãy lệnh: • Hỗ trợ việc thực hiện chươngtrình lớn: • Phục vụ cho quá trình trừu tượng hoá: • Mở rộng khả năng ngôn ngữ: • Thuận tiện cho phát triển, nâng cấp chương trình: • Lợi ích của việc sử dụng chươngtrình con: Tránh được phải viết lặp đi lặp lại cùng một dãy lệnh: Program Program tinhtong; tinhtong; Var Var T,T1,T2,T3 :Real; T,T1,T2,T3 :Real; a,b,c : real; a,b,c : real; m,n,p : Integer; m,n,p : Integer; Begin TRƯỜNG THPLONG KHÁNH NGUYỄN ĐỨC CẢNH Bài17CHƯƠNGTRÌNHCONVÀPHÂNLOẠI I: Mục tiêu: 1. Kiến thức: Biết phân biệt được hai loạichươngtrình con: Hàm và thủ tục. Biết được cấu trúc của một chươngtrình con. Biết phân biệt được tham số hình thức với tham số thực sự, biến cục bộ với biến toàn cục. 2. Kỹ năng: - Nhận biết được hai loại tham số hình thức và tham số thật sự. - Nhận biết được phạm vi hoạt động của biến toàn cục, biến cục bộ. - Cách thực hiện một chươngtrinhcon 3. Thái độ: - Phát huy tinh thần học tập theo nhóm. II. Đồ dùng dạy học: - GV: Bảng phụ, máy chiếu. -HS: Sách GK, sách bài tập III. Phương pháp: - Đặt vấn đề. - Thuyết trình. - Diễn giải, dùng bảng để ghi lại các chi tiết quan trọng trong ví dụ - Phát huy tính sáng tạo của học sinh. IV. Tiến trìnhbài học. - Kiểm tra bài cũ: 5p TRƯỜNG THPLONG KHÁNH NGUYỄN ĐỨC CẢNH Hoạt động của thầy Hoạt động của trò Nội dung TG * Nhắc lại kiến thức cũ. - Gọi Hoc sinh: Câu hỏi: Cách viết 1 chươngtrình cơ bản đã được học. -GV nhận xét: +Chương trình gồm phần khai báo tên chươngtrình là Program. +Var để khai báo các biến. +Begin End. Là phần thân chương trình. Bao gồm các hàm và thủ tục để giải quyết bài tóan. * Giới thiệu bài mới - Cho học sinh coi 1 tình huống Về sự phân chia công việc. Câu hỏi: Để làm tốt công việc trên cần phải? 1. Khái niệm chươngtrìnhcon -Giới thiệu về chươngtrình con: +Dẫn dắt học sinh hiểu về chươngtrình con: Các chươngtrình giải các bài tóan phức tạp thường rất dài và phức tạp, gồm rất nhiều lệnh. Khi đọc những - HS đứng dậy và trả lời câu hỏi: - Program để khai báo tên chương trình. - Var để khai báo các biến. - Begin End. Là phần thân chương trình. -HS quan sát -HS trả lời: để làm tốt công việc cần phải phân chia công việc cho nhiều người. -HS quan sát và lắng nghe và hình dung được chương 1. Khái niệm chươngtrìnhcon 5p 10p TRƯỜNG THPLONG KHÁNH NGUYỄN ĐỨC CẢNH Hoạt động của thầy Hoạt động của trò Nội dung TG chươngtrình dài rất khó nhận biết được chươngtrình thực hiện công việc gì và việc hiệu chỉnh chươngtrình cũng khó khăn. Vì vậy vấn đề đặt ra là phải cấu trúc lại chươngtrình để dễ đọc và dễ nâng cấp. +Mặt khác, việc giải quyết một bài tóan phức tạp thường và nói chung là có thể phân thành các bài tóan nhỏ. Ý nghĩa: Để giải quyết 1 bài tóan lớn ta có thể chia bài tóan đo ra thành nhiều bài tóan nhỏ hơn hay còn gọi là bài tóan con. VD: ta có bài tóan lớn là M. Ta có thể phânbài tóan M ra làm nhiều bài tóan con như a,b,c,d. Vd: Đưa ra ví dụ về cách tính tổng lũy thừa: a n +b m +c p +d q -Tính tổng lũy thừa trên bằng cách tính từng lũy thừa như: a n , b m , c p , d q . Câu hỏi: Để giải quyết bàitrìnhcon là gì -HS: Có thể phân ra thành Ý nghĩa Quyết các bài tóan lớn và phức tạp thành các bài tóan nhỏ hơn và đơn giản hơn. M a b c d Lũy Thừa a n b m c p d q TRƯỜNG THPLONG KHÁNH NGUYỄN ĐỨC CẢNH Hoạt động của thầy Hoạt động của trò Nội dung TG tóan trên, ta có thể phân ra thành bao nhiêu bài tóan nhỏ? Câu hỏi: Tại sao lại là lập trình có cấu trúc? -Với những bài tóan lớn hơn thì những bài tóan con có thể được phân chia thành những bài tóan con khác. Ví dụ: (Sina) n + (Cosb) n -Cách lập trình như phương pháp ở trên là phương pháp lập trình có cấu trúc. Khái niệm. +Đưa ra khái niệm về chươngtrình con. - Đưa ra ví dụ về cách viết chương trình. +Hỏi học sinh các khung được tô 4 bài tóan nhỏ: a n , b m , c p , d q . Có thể phân giao cho 4 người LOGO Nguyễn Đức Cảnh Nguyễn Đức Cảnh Nhắc lại kiến thức : Cách viết một chươngtrình cơ bản gồm các bước nào? Tên chương trình: ProGram chuong_trinh; Khai báo biến: Var x,y:Integer; a,b:Real; f1,f2:Text; Thân chương trình: Begin {Các lệnh của chương trình} End. Nguyễn Đức Cảnh Là lá la! Hôm nay là ngày trực vệ sinh… Ta sẽ làm vệ sinh ở lớp nào đây nhỉ? 11A1 11A2 11A3 11A4 Hơ… Hơ. Sao nhiều thế! Continue… Nguyễn Đức Cảnh 30 phút sau… Ôi… Mệt… quá! Phải làm sao bây giờ…! Àh. Mình có ý này. He he! Nguyễn Đức Cảnh Cậu dọn lớp này…! Mình biết rồi! Còn cậu dọn lớp kia…! Dạ! Nguyễn Đức Cảnh Câu hỏi: Để làm tốt công việc như tình huống ở trên chúng ta cần phải làm gì? Trả lời: Cần phải phân chia công việc cho nhiều người. Nguyễn Đức Cảnh Nguyễn Đức Cảnh - Các chươngtrình giải các bài toán phức tạp thường rất dài. + Khó đọc, khó hiểu và khó hiệu chỉnh. + Đặt ra vấn đề làm sao dễ đọc, dễ hiểu và dễ hiệu chỉnh hơn. - Một bài toán thường có thể phân tích thành nhiều bài toán con nhỏ hơn M A B C D Nguyễn Đức Cảnh Vd: Tính lũy thừa = a n +b m +c p +d q . - Bài toán trên có thể phân tích thành những bài toán nhỏ hơn là: Bài toán tính a n , tính b m , tính c p , tính d q . - Với 4 bài toán nhỏ ở trên ta có thể giao cho 4 người giải, như thế công việc sẽ nhẹ nhàng hơn. - Mỗi bài toán con lại chia thành những bài toán con nhỏ hơn. - Quá trình làm “Mịn” như thế được gọi là cách thiết kế từ trên xuống. Vd: Tính = (Sin (a)) n + (Cos(b)) n . Nguyễn Đức Cảnh 1. Khái niệm chươngtrình con. - Chươngtrìnhcon là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện(được gọi) từ nhiều vị trí trong chương trình. Trưởng nhóm Việc A Việc B [...]... riêng cho chươngtrìnhcon được gọi là biến cục bộ Chươngtrình chính và các chươngtrìnhcon khác không thể sử dụng được các biến này o Các biến được khai báo ở chươngtrình chính là biến toàn cục và các chươngtrìnhcon đều sử dụng được các biến này Nguyễn Đức Cảnh 2 Phânloạivà cấu trúc của chươngtrìnhcon c Thực hiện chươngtrìnhcon Tham số thực: o Để thực hiện gọi một chươngtrình con, ta cần... khai báo cho dữ liệu vào và ra, các hằng được sử dụng trong chươngtrìnhconPhần thân: Là các dãy lệnh được thưc hiện trong chươngtrìnhcon từ dữ liệu vào và được kết quả như mong muốn Nguyễn Đức Cảnh 2 Phânloạivà cấu trúc của chươngtrìnhcon b Cấu trúc chươngtrìnhcon Tham số hình thức: o Các biến được khai báo cho dữ liệu vào/ra được gọi là tham số hình thức của chươngtrìnhcon o Các biến được... Delete, … Nguyễn Đức Cảnh 2 Phânloạivà cấu trúc của chươngtrìnhcon b Cấu trúc chươngtrìnhcon [] Cấu trúc chươngtrìnhcon tương tự chươngtrình chính, nhưng nhất thiết phải có phần đầu để khai báo tên, nếu là Hàm thì phải có khai báo kiểu dữ liệu trả về Nguyễn Đức Cảnh 2 Phânloạivà cấu trúc của chươngtrìnhcon b Cấu trúc chươngtrìnhconPhần khai báo: có thể... writeln('Tong luy thua:=',Tluythua); readln; end Nguyễn Đức Cảnh 2 Phânloạivà cấu trúc của chươngtrìnhcon a Phân Bµi 19 Gi¸o ¸n ®iÖn tö tin häc líp 11 Để viết ch ơng trình giải các bài toán lớn, phức tạp ng ời lập trình có thể chia thành nhiều bài toán nhỏ, mỗi bài toán là một dãy lệnh mô tả một số thao tác nhất định (gọi là ctc). Sau đó ghép nối các ch ơng trìnhcon thành ch ơng trình chính. Nhóm tr ởng V i ệ c A Việc B 1. Ch ơng trìnhcon (ctc) 2. Phânloại ch ơng trìnhcon Ch ơng trìnhcon Ch ơng trìnhcon Hàm (Function) Là ch ơng trìnhcon thực hiện một số thao tác nào đó, và trả về một giá trị qua tên của nó. Hàm (Function) Là ch ơng trìnhcon thực hiện một số thao tác nào đó, và trả về một giá trị qua tên của nó. Thủ tục (Procedure) Là ch ơng trìnhcon thực hiện một số thao tác nào đó, và không trả về giá trị nào qua tên của nó. Thủ tục (Procedure) Là ch ơng trìnhcon thực hiện một số thao tác nào đó, và không trả về giá trị nào qua tên của nó. Tính tổng luỹ thừa S = a n + b m + c p + d q Vẽ và đ a ra màn hình 5 hình chữ nhật có kích th ớc khác nhau. 3. Cấu trúc của ch ơng trìnhcon <Phần khai báo> < Phần thân> <Phần khai báo> < Phần thân> Function <Tênhàm>[(<ds tham số>)] :kiểu của hàm; [< Phần khai báo >] Begin [<Dãy các lệnh>] tênhàm := giátrị; End; Procedure <tên thủ tục> [(<ds tham số>)]; [< Phần khai báo >] Begin [<Dãy các lệnh>] End; Hàm (Function) Thủ tục (Procedure) 4. Một số ví dụ Bài toán 1: Lập ch ơng trình tối giản phân số Bài toán 1: Lập ch ơng trình tối giản phân số Ví dụ: nhập 6/10 => ra 3/5 * INPUT : Nhập phân số a/b; * OUTPUT : Phân số c/d - Trong đó: c = a/ƯCLN(a,b); d = b/ƯCLN(a,b); Viết ch ơng trìnhcon thực hiện tìm ƯCLN(a,b) và gọi nó khi tính c,d trong ch ơng trình chính. Program tgps; Uses crt; Var tu,mau,c,d : integer; Function UCLN( a,b :integer) : integer; Begin While a<> b do if a>b then a := a-b else b:=b-a; UCLN := a; end; BEGIN Write(‘ Nhap vao tu so vµ mau so:‘); readln(tu,mau); C := tu div UCLN(tu,mau) ; d := mau div UCLN(tu,mau); Writeln(‘ Phan so toi gian = ‘, c, ‘ / ‘, d); Readln; END. Write(‘Nhap vao tu so va mau so:‘); C := 6 div d := 10 div UCLN(6,10) UCLN(6,10); Writeln(‘ Phan so toi gian = ‘, 3, ‘ / ‘, 5); Readln; END. BEGIN Readln(tu,mau); USCLN=2; USCLN=2; Nhap vao tu so va mau so: 6 10 Phan so toi gian= 3/5 Các CTC th ờng đ ợc đặt sau phần khai báo của ch ơng trình chính. CTC chỉ đ ợc thực hiện khi có lời gọi nó. Lợi ích của việc sử dụng ch ơng trình con: Hỗ trợ việc thực hiện các ch ơng trình lớn. Tránh đ ợc việc phải viết lặp đi lặp lại cùng một dãy lệnh nào đó. Thuận tiện cho việc phát triển và nâng cấp ch ơng trình. Hãy nhớ! Ch ơng trìnhcon là một dãy lệnh giải quyết một bài toán con cụ thể. Cấu trúc ch ơng trình gồm: Phânloại ch ơng trình con: + Hàm + Thủ tục <Phần khai báo> < Phần thân> <Phần khai báo> < Phần thân> ... Tham số có hai chức năng: đưa liệu vào cho chương trình đưa liệu chương trình tìm GV: Hỏi: Các tham số ví dụ thuộc loại nào? HS: Là tham số biến GV: Chiếu chương trình VD_thambien1, sách giáo khoa... thủ tục ve_hcn thực vẽ nhiều hình chữ nhật có kích thước khác GV: Hỏi: Quan sát chương trình cho biết, chương trình ta vẽ tất bao nhêu hình chữ nhật HS: Trả lời - Vẽ hình chữ nhật - Tham số chdai,... sát ghi nhớ cấu trúc chung GV: Lời gọi thủ tục ta viết phần chương trình? Trong phần thân kết thúc End; HS: Trong phần thân chương trình GV: Tìm hiểu tham số hình thức tham số thực GV: Chiếu