1. Trang chủ
  2. » Cao đẳng - Đại học

Giáo án Tin học 11 - Bài 17: Chương trình con và phân loại - Lê Thị Bích Liên

9 30 0

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

THÔNG TIN TÀI LIỆU

Cñng cè Tãm l¹i qua bµi häc h«m nay chóng ta cÇn l­u ý:  Chương trình con o Dãy lệnh thực hiện 1 công việc nào đó o Xây dựng nên chương trình chính và có thể được xây dựng từ các chương[r]

(1)Người soạn: Hà Trung Hòa Lớp: SP Tin 40 Giáo viên hướng dẫn: Lê Thị Bích Liên Ngµy so¹n : 30/09/2008 Ngµy gi¶ng : / /2008 Chương VI: Chương trình và lập trình có cấu trúc Bài 17: Chương trình và phân loại I Mục đích yêu cầu Häc sinh cÇn biÕt:  Chương trình thực chất là khối lệnh (tập các lệnh) nhằm giải bài toán để góp phần giải bài toán lớn chương tr×nh  Khi phải viết chương trình dài, phức tạp, việc sử dụng chương trình là hết søc cÇn thiÕt II Phương pháp, phương tiện giảng bài Phương pháp: Thuyết trình, giảng giải Phương tiện: SGK, SGV B¶ng phô: III TiÕn tr×nh bµi gi¶ng Néi dung Kiểm tra bài cũ: Viết chương trình tính LuyThua=an Víi a lµ sè thùc, n lµ sè nguyªn nhËp tõ bµn phÝm Hoạt động GV và HS §¸p ¸n: Program TinhLuyThua; Var a,LuyThua:real; i,n:integer; BEGIN Write(‘Nhap a=’);readln(a); Write(‘Nhap n=’);readln(n); LuyThua:=1.0; For i:=1 to n LuyThua:=LuyThua*a; Lop11.com (2) Write(‘Luy thua ‘,a:2:2,’^’,n,’ =’,LuyThua:8:4); Readln; Chương VI: Chương tr×nh vµ lËp tr×nh cã cÊu tróc END Bài 17: Chương trình vµ ph©n lo¹i Khái niệm chương trình GV: Các chương trình giải các bài toán phức tạp thường dài, có thể gồm nhiều lệnh Khi đọc chương trình dài khó nhận biết chương trình thực các công việc gì và hiệu chỉnh chương trình còng khã kh¨n VËy ph¶i cÊu tróc chương trình nào chương trình dễ đọc, dễ hiệu chỉnh, nâng cấp? Trước tiên chúng ta xét bµi to¸n sau GV: §­a bµi to¸n Bµi to¸n 1: TÝnh tæng bèn luü thõa: TLuythua=an+bm+cp+dq Víi a, b, c, d lµ c¸c sè thùc, n, m, p, q lµ c¸c sè nguyªn Input: a, b, c, d kiÓu thùc; m, n, p, q kiÓu nguyªn Output: §­a mµn h×nh kÕt qu¶ TLuythua=an + bm + cp + dq GV: Theo toán học để giải bài to¸n nµy ta lµm nh­ thÕ nµo? HS: Ta tính luỹ thừa, sau đó Lop11.com (3) cộng tổng các luỹ thừa đó lại ta kÕt qu¶ TLuythua GV: Gi¶ sö cã bµi to¸n sau: TLuyThua= 63+ 64+ 65+ 66 Khi em là nhóm trưởng (nhóm gồm người ) và nhóm em nhận bài toán thì làm cách nào để có kết nhanh nhÊt HS: Tr¶ lêi GV: Nhận xét và khẳng định: Có thể giao cho người người thực mét bµi Gi¸ trÞ TluyThua lµ tæng kÕt bốn bài toán đó - ViÖc chia nhá c¸c bµi to¸n thµnh c¸c bµi to¸n ®­îc gäi lµ c¸ch thiÕt kÕ tõ trªn xuèng GV: áp dụng ý tưởng đó lập tr×nh ta sÏ dïng c¸c biÕn LuyThua1 để tính toán và lưu trữ kết an Tương tù LuyThua2, LuyThua3, LuyThua4 dùng để tính toán và lưu trữ kÕt qu¶ cña bm, cp, dq GV: Cả lớp theo dõi chương trình tinh_tong trang 92 SGK GV: H·y quan s¸t vµ cho biÕt cã mÊy khối lệnh viết tương tự nhau? HS: Có khối lệnh viết tương tù GV: B»ng trùc quan mét em cho c« biÕt viÕt nh­ vËy em cã nhËn xÐt g× kh«ng ? HS: ë đây có khối lệnh tương tự Lop11.com (4) - §Ó n©ng cao hiÖu qu¶ lËp tr×nh, c¸c ngôn ngữ lập trình bậc cao cung cấp khả xây dựng chương trình dạng tổng quát “đại diện” cho nhiều đoạn lệnh tương tự Ví dụ: tính luỹ thừa luythua=xk, đó lũy thừa và x là giá trÞ kiÓu thùc cßn k thuéc kiÓu nguyªn Ta có thể đặt tên cho chương trình này là luythua vµ tham sè cÇn thiÕt lµ x vµ k Khi cÇn tÝnh luü thõa cô thÓ ta chØ cÇn viết tên chương trình và thay (x,k) giá trị cụ thể tương ứng ®­îc lÆp ®i lÆp l¹i lµm cho chương trình vừa dài, vừa khó theo dâi GV: §Ó n©ng cao hiÖu qu¶ lËp tr×nh, các ngôn ngữ lập trình bậc cao cung cấp khả xây dựng chương trình dạng tổng quát “đại diện” cho nhiều đoạn lệnh tương tự Ch¼ng h¹n, tÝnh luü thõa luythua=xk, đó lũy thừa và x là giá trị kiểu thùc cßn k thuéc kiÓu nguyªn Ta cã thể đặt tên cho chương trình này lµ luythua vµ tham sè cÇn thiÕt lµ x vµ k Khi cÇn tÝnh luü thõa cô thÓ ta cần viết tên chương trình và thay thÕ (x,k) b»ng gi¸ trÞ cô thÓ tương ứng chẳng hạn để tính an , bm, cp, dq ta viÕt luythua(a, n), luythua(b, m), luythua(c, p), luythua(d,q) GV:Sau ®©y thÇy sÏ giíi thiÖu cho các em chương trình tính TLuyThua có sử dụng chương trình viÕt b»ng ng«n ng÷ Pascal GV: Treo b¶ng phô program Tinh_tong; GV: Bảng phụ sử dụng chương var TLuyThua,a,b,c,d:real; tr×nh lµ hµm LuyThua kiÓu thùc m,n,p,q:integer; Function LuyThua(x:real;k:integer):real; víi c¸c tham sè h×nh thøc lµ x kiÓu var i:integer; thùc, k kiÓu nguyªn Khi cÇn tÝnh c¸c Tich:real; begin Tich:=1.0; For i:=1 to k gi¸ trÞ cô thÓ ta chi viÖc gäi tªn chương trình Ví dụ: Tính LuyThua=an Ta sÏ gäi LuyThua(a,n) Tich:=Tich*x; LuyThua:=Tich; end; Lop11.com (5) BEGIN write('Nhap du lieu theo thu tu a, b, c, d, m, n, p, q:'); readln(a,b,c,d,m,n,p,q); TLuyThua:=LuyThua(a,m)+LuyThua(b,n) +LuyThua(c,p) +LuyThua(d,q); write('Tong luy thua=',TLuyThua:2:2); readln; END * Nhận xét: Sử dụng chương trình GV: Một em cho thầy biết chương trình có sử dụng chương trình có ng¾n gän vµ dÔ theo dâi h¬n so víi chương trình không sử dụng chương tr×nh kh«ng? HS: Tr¶ lêi chương trình ngắn gọn, dễ theo dõi chương trình không sử dụng chương trình GV: Nhận xét và khẳng định: Chương trình có sử dụng chương tr×nh ng¾n gän, dÔ theo dâi h¬n chương trình không sử dụng chương tr×nh GV: Theo em, để sản xuất mét chiÕc xe m¸y, cã ph¶i chØ cÇn qua tay người thợ ? Hay phải qua mét d©y chuyÒn s¶n xuÊt ? HS: Tr¶ lêi GV: Đúng vậy, để sản xuất xe máy người ta phải phân thµnh nhiÒu c«ng ®o¹n nh­ s¶n xuÊt khung xe, yªn xe, Mçi c«ng đoạn giao cho các tổ lao động chuyªn lµm mét bé phËn Vµ cã mét bé phËn chuyªn l¾p r¸p s¶n phÈm tõ c¸c bé phËn nhá GV: §èi víi lËp tr×nh còng vËy, Lop11.com (6) lËp tr×nh gi¶i to¸n, ta cã thÓ ph©n chia chương trình thành các khối - Khi lËp tr×nh gi¶i to¸n, ta cã thÓ ph©n (m«®un), mçi khèi bao gåm c¸c lÖnh chia chương trình thành các khối giải bài toán nào đó Mỗi khối (m«®un), mçi khèi bao gåm c¸c lÖnh gi¶i lÖnh sÏ ®­îc x©y dùng thµnh mét bài toán nào đó Mỗi khối lệnh chương trình Sau đó, chương xây dựng thành chương trình tr×nh chÝnh sÏ ®­îc x©y dùng tõ c¸c Sau đó, chương trình chính chương trình này Chương trình còng cã thÓ ®­îc x©y dùng tõ xây dựng từ các chương trình này các chương trình khác Chương trình có thể xây C¸ch lËp tr×nh nh­ vËy dùa trªn dựng từ các chương trình khác Cách phương pháp lập trình có cấu trúc và lập trình dựa trên phương pháp chương trình xây dựng gọi là lập trình có cấu trúc và chương trình chương trình có cấu trúc xây dựng gọi là chương trình có cấu trúc GV: Cần chú ý là chương trình * Chú ý: Chương trình đôi đôi dùng đúng lần xong đó nó có tác dụng làm dùng đúng lần xong đó nó sáng sủa chương trình có tác dụng làm sáng sủa chương GV: §Ó hiÓu râ h¬n vÒ viÖc cÇn thiÕt tr×nh phải sử dựng chương trình chúng ta ®i xÐt bµi to¸n Bài toán 2: Viết chương trình nhập vào số GV: §­a bµi to¸n nguyên dương N (0 < N < 50) và dãy số nguyên dương a1, , an Đưa số lượng số nguyên tố Input: Số nguyên dương ( < N < 50) và dãy số nguyên dương a1, , an Output: Số lượng số nguyên tố GV: Tõ bµi to¸n trªn mét em x¸c định Input, Output? HS: Tr¶ lêi GV: §Ó gi¶i ®­îc bµi to¸n trªn ta cÇn ph¶i lµm g×? HS: Tr¶ lêi Lop11.com (7) GV: Tạo biến: đếm số lượng số nguyên tố Lần lượt với số (với i=1, ,n) ta kiểm tra số đó có là sè nguyªn tè hay kh«ng NÕu lµ sè nguyên tố thì tăng biến đếm lên đơn vị Như với N = 50 thì ta ph¶i viÕt ®i viÕt l¹i 50 lÇn d·y lÖnh tương tự để kiểm tra số nguyên dương có phải là số nguyên tè hay kh«ng? GV: Nh­ vËy chóng ta thÊy ®­îc viÖc cần thiết phải sử dụng chương trình chương trình GV: Qua c¸c vÝ dô trªn ta cã kh¸i niệm chương trình Vậy mời em đọc khái niệm chương trình * Khái niệm chương trình (SGK) * Lợi ích việc sử dụng chương trình - Tr¸nh ®­îc viÖc ph¶i lÆp ®i lÆp l¹i cùng dãy lệnh nào đó VD: Bài toán HS: Đọc khái niệm chương trình SGK GV: Qua hai vÝ dô trªn mét em cho biết sử dụng chương trình có nh÷ng lîi Ých g×? 1, - Hỗ trợ việc thực các chương trình lín VD: Bµi to¸n qu¶n lý ®iÓm - Phôc vô cho qu¸ tr×nh trõu tượng hoá Ví dụ sử dụng các hàm to¸n häc nh­ sin(x), cos(x), ta kh«ng cÇn xem nã ®­îc x©y dùng nh­ thÕ nµo Trừu tượng hoá là tư tưởng chủ đạo để xây dựng chương trình nói chung và chương trình có cấu trúc nói riêng -Më réng kh¶ n¨ng ng«n ng÷ VÝ dô: Trong bµi to¸n ta x©y dùng thªm ®­îc Lop11.com (8) chương trình luỹ thừa - ThuËn tiÖn cho ph¸t triÓn, n©ng cÊp chương trình GV (Giải thích): Do chương trình tạo thành từ các chương trình nên dễ đọc, dễ hiểu, dễ kiểm tra và hiệu chØnh ViÖc n©ng cÊp, ph¸t triÓn chương trình nào đó, chí bổ sung thêm các chương trình nói chung không gây ảnh hưởng tới các chương trình khác * L­u ý: NÕu cßn thêi gian th× yªu cÇu häc sinh suy nghÜ vµ ®­a c¸c bài toán cần thiết phải sử dụng chương tr×nh III Cñng cè Tãm l¹i qua bµi häc h«m chóng ta cÇn l­u ý:  Chương trình o Dãy lệnh thực công việc nào đó o Xây dựng nên chương trình chính và có thể xây dựng từ các chương tr×nh kh¸c o §­îc gäi tõ nhiÒu vÞ trÝ kh¸c  Khi nào thì cần thiết phải sử dụng chương trình con: Khi chương trình lặp lặp lại các đoạn lệnh tương tự  Lợi ích việc sử dụng chương trình IV DÆn dß Học bài cũ và đọc trước mục 2.Phân loại và cấu trúc chương trình V Rót kinh nghiÖm Lop11.com (9) Nhận xét giáo viên hướng dẫn Ngµy th¸ng n¨m 2008 Giáo viên hướng dẫn Lop11.com (10)

Ngày đăng: 01/04/2021, 22:13

Xem thêm:

TỪ KHÓA LIÊN QUAN