1. Trang chủ
  2. » Giáo án - Bài giảng

Bài 17. Chương trình con và phân loại

3 226 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

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 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ương trình 1. Khái niệm chương trình con : 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ương trình con là một dãy lệnh mô tả một số thao tác nhất định 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ương trình con  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ương trì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ương trình ví dụ : việc sửa đổi cách tính điểm trong chương trì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ương trình con : Em hãy nêu cấu trúc chương trình chính? Chương trình chính Chương trình con [] []  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 SỬ DỤNG CHƯƠNG TRÌNH CON 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ương trì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ại chương trình với tham số hình thức chúng - Sử dụng lời gọi chương trình thân chương trì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ÌNH BÀ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ương trình Bà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ương trì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ương trì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ương trì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ương trình chương trì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ầ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 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ươ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, 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ươ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 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ương trì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ương trình trên viết theo kiểu chương trình con 1.Kh 1.Kh ái niệm chương trình con: ái niệm chương trình con: Chương trình con là một dãy lệnh mô tả một Chương trình con là một dãy lệnh mô tả một số thao tác nhất định có thể được thực số thao tác nhất định 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ương trì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ương trì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ài 17 CHƯƠNG TRÌNH CON PHÂN LOẠI I: Mục tiêu: 1. Kiến thức: Biết phân biệt được hai loại chương trình con: Hàm thủ tục. Biết được cấu trúc của một chương trì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 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ương trinh con 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ình bà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ương trì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ương trì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 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ương trình con -Giới thiệu về chương trình con: +Dẫn dắt học sinh hiểu về chương trình con: Các chương trình giải các bài tóan phức tạp thường rất dài phức tạp, gồm rất nhiều lệnh. Khi đọc những - HS đứng dậy 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 lắng nghe hình dung được chương 1. Khái niệm chương trình con 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ương trình dài rất khó nhận biết được chương trình thực hiện công việc gì việc hiệu chỉnh chương trình cũng khó khăn. Vì vậy vấn đề đặt ra là phải cấu trúc lại chương trình để dễ đọc 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 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ân bà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ài trình con là gì -HS: Có thể phân ra thành Ý nghĩa Quyết các bài tóan lớn phức tạp thành các bài tóan nhỏ hơn đơ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ương trì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ương trì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ương trình giải các bài toán phức tạp thường rất dài. + Khó đọc, khó hiểu khó hiệu chỉnh. + Đặt ra vấn đề làm sao dễ đọc, dễ hiểu 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ương trình con. - Chương trình con là một dãy lệnh mô tả một số thao tác nhất định 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ương trình con được gọi là biến cục bộ Chương trình chính các chương trình con 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ương trình chính là biến toàn cục các chương trình con đều sử dụng được các biến này Nguyễn Đức Cảnh 2 Phân loại cấu trúc của chương trình con c Thực hiện chương trình con Tham số thực: o Để thực hiện gọi một chương trình con, ta cần... khai báo cho dữ liệu vào ra, các hằng được sử dụng trong chương trình con Phần thân: Là các dãy lệnh được thưc hiện trong chương trình con từ dữ liệu vào được kết quả như mong muốn Nguyễn Đức Cảnh 2 Phân loại cấu trúc của chương trình con b Cấu trúc chương trình con 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ương trình con o Các biến được... Delete, … Nguyễn Đức Cảnh 2 Phân loại cấu trúc của chương trình con b Cấu trúc chương trình con [] Cấu trúc chương trình con tương tự chương trì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ân loại cấu trúc của chương trình con b Cấu trúc chương trình con Phần khai báo: có thể... writeln('Tong luy thua:=',Tluythua); readln; end Nguyễn Đức Cảnh 2 Phân loại cấu trúc của chương trình con 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ình con thành ch ơng trình chính. Nhóm tr ởng V i ệ c A Việc B 1. Ch ơng trình con (ctc) 2. Phân loại ch ơng trình con Ch ơng trình con Ch ơng trình con Hàm (Function) Là ch ơng trình con thực hiện một số thao tác nào đó, trả về một giá trị qua tên của nó. Hàm (Function) Là ch ơng trình con thực hiện một số thao tác nào đó, trả về một giá trị qua tên của nó. Thủ tục (Procedure) Là ch ơng trình con thực hiện một số thao tác nào đó, không trả về giá trị nào qua tên của nó. Thủ tục (Procedure) Là ch ơng trình con thực hiện một số thao tác nào đó, 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ẽ đ 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ình con <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ình con thực hiện tìm ƯCLN(a,b) 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 nâng cấp ch ơng trình. Hãy nhớ! Ch ơng trình con 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ân loạ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

Ngày đăng: 30/09/2017, 03:06

Xem thêm: Bài 17. Chương trình con và phân loại

TỪ KHÓA LIÊN QUAN

w