Bài3Cấutrúc chơng trình Ngày soạn: /10/2008 Ngày dạy: Ngời soạn: Nguyễn Đình Thọ GVHD: Lê Bích Liên I. Mục đích yêu cầu 1. Kiến thức - Hiểu đợc chơng trình là sự mô tả của thuật toán bằng ngôn ngữ lập trình - Biết đợc cấutrúc của chơng trinh đơn giản: Cấutrúc chung và các thành phần 2. Kỹ năng: Nhận biết đợc các thành phần của một chơngtrình đơn giản II. Phơng tiện Dạy Học 1. Phơng pháp Đàm thoại, thuyết trình và quan sát 2. Phơng tiện - Giáo viên: Giáo án ,sách giáo khoa và đồ dùng dạy học - Học sinh: Sách giáo khoa và vở ghi III. Chuẩn bị của giáo viên và học sinh 1. ổn định tổ chức lớp (1 ) Sĩ số Vắng Có phép Không phép 2. Bài mới (40 ) Nội dung Hoạt động của giáo viên và học sinh 1. Cấutrúc chung [<Phần khai báo>] <Phần thân> 2. Các thành phần của chơng trình a) Phần khai báo * Khai báo tên chơng trình - Program <tên chơng trình>; - tên chơng trình là do ngời lập trình đặt theo đúng quy định về tên - Ví dụ: Program vidu1; Program 3_ctrinh; Program phuong_trinh_bac2; * Khai báo th viện - Uses <tên th viện>; - Trong Pascal có th viện Crt, Graph - Để mở hai th viện này ta khai báo nh sau: Uses Crt; Gv: Các em hãy cho biết bố cục của một bài văn thơng gồm mấy phần? Hs: Trả lời Gv: Hoàn chỉnh câu trả lời của học sinh(gồm 3 phần :mở bài thân bài và kết luận) Gv: Thế theo em họ chia ra nh vậy nhằm muỵc đích gì? Hs: Trả lời Gv: Hoàn chỉnh câu trả lời của học sinh(làm cho bài văn rõ ràng gọn gàng dễ hiểu nội dung hơn) Gv: Vậy trong tin học thì bố cục của ch- ơng trình nó nh thế nào? để hiểu rõ hơn ta đi vào mục 1. Cấutrúc chung Hs: Ghi chép đầu mục Gv: Trong tin học chơng trình đợc viết bằng 1 Uses Graph; - Để sử dụng lệnh xoá màn hình trong th viện Crt ta khai bao nh sau: Uses Crt; clrscr; * Khai báo hằng - Const <tên hằng>=<giá trị hằng>; - Ví dụ: Const N=100;(Hằng số) Const Kt=true;(Hằng logíc) Const S=abcd;(Hằng xâu) * Khai báo biến - Khái niệm: Biến đơn là biến chỉ nhận một giá trị tại một thời điểm thực hiện chơng trình - Var <tên biến>:<kiểu dữ liệu>; - Ví dụ: Var a,b,c: Integer; Var x,y,z: Real; b) Phần thân chơng trình Begin [<Dãy lệnh>] End. 3. Ví dụ chơng trình đơn giản Ví dụ 1: Hãy in ra màn hình thông báo : Xin chao cac ban Moi cac ban lam quaen voi Pascal Chơng trình: Begin writeln(Xin chao cac ban); writeln(Moi cac ban lam quen voi Pascal); End. Ví dụ 2: Hãy khai báo hằng a,b,c và in ra màn hình thông báo : Tong 3 so la: S (Trongđó ta khai báo biến S là biến đơn) ngôn ngữ bậc cao thờng gồm hai phần : Phần khai báo và phần thân. Khi diễn giải cú pháp của ngôn ngữ lập trình ngời ta thờng dùng ngôn ngữ tự nhiên . Các diễn giải bằng ngôn ngữ tự nhiên thờng đợc đặt trong cặp dấu < và >. Các thành phần của chơng trình có thể có hoặc không đợc đặt trong cặp dấu [ và ] Hs: Nghe giảng Gv: Với quy ớc nh trên thì cấutrúc ch- ơng trình đợc miêu tả nh sau: [<Phần khai báo>] <Phần thân> Hs: Ghi chép Gv: Bây giờ chúng ta sẽ đi xét kỹ lơng hơn về từng thành phần này. Ta đi sang mục 2.Các thành phần của chơng trình a, Phần khai báo Hs: Ghi đầu mục Gv: Ta có thể khai báo cho: tên chơng trình, th viện, hằng , biến và chơng trình con Gv: Ta đi vào dấu * Khai báo tên chơng trình Hs: Ghi đầu mục Gv: - Program <tên chơng trình>; - tên chơng trình là do ngời lập trình đặt theo đúng quy định về tên Gv: Một em hãy nhắc lại cho thầy biết khái niệm về tên? Hs: Trả lời Gv: Nhận xét và hoàn chỉnh câu trả lời của học sinh(Tên là một dãy liên tiếp không quá 127 kí tự(Trong Turbo Pascal và 255 kí tự trong Free Pascal ), bao gồm chữ cái, chữ số và dấu nối dới) Gv: Sau đây ta sẽ có một vài ví dụ về tên chơng trình : - Ví dụ: Program vidu1; Program 3_ctrinh; 2 Chơng trình Program tinh_tong; Uses Crt; Const a=4; b=6 ; c=3.5; var S: real; Begin clrscr; S:=a+b+c; writeln( Tong 3 so la: ); writeln(S:4:2); Readln End. Program phuong_trinh_bac2 Gv: Các em hãy phân biệt đâu là tên đúng đâu là tên sai? vì sao? Hs: Suy nghi trả lời câu hỏi. Gv: Nhận xét và hoàn chỉnh câu trả lời(ví dụ thứ 2 là sai vì có chữ số đứng đầu ,2 tên còn lại là đúng theo quy định về tên) Hs: Nghe giảng và ghi chép ví dụ vào vở Gv: Ta đi sang khai báo thứ 2. * Khai báo th viện Hs: Ghi đầu mục Gv: Mỗi ngôn ngữ lập trình thờng sẵn có sẵn một số th viện cung cấp một số ch- ơng trình thông dụng đã đợc lập trình sẵn. Để sử dụng nó ta phải khai báo nó để chơng trình biết lu trữ và xử lý Hs: Nghe giảng Gv: Cách khai báo trong Pascal Uses <tên th viện>; Hs: Ghi chép - Gv: Trong Pascal có th viện Crt, Graph - Để mở hai th viện này ta khai báo nh sau: Uses Crt; Uses Graph; - Để sử dụng lệnh xoá màn hình trong th viện Crt ta khai bao nh sau: Uses Crt; clrscr; Hs: Ghi chép Gv: Các em có thể tham khảo cách khai báo th viện trong c++ trong SGK, hoặc cách khai báo của các ngôn ngữ khác ở nhiều tài liệu Hs: Nghe giảng Gv: Ta đi sang cách khai báo thứ 3. * Khai báo hằng Hs: Ghi đầu mục Gv: Cách khai báo nh sau: Const <tên hằng>=<giá trị hằng>; 3 Hs: Ghi chép Gv: một em hãy nêu lại khái niệmn về hằng? Hs: Trả lời Gv: Nhận xét và hoàn thiện câu trả lời của học sinh( Hằng là đại lợng có giá trị không đổi trong quá trình thực hiện ch- ơng trình) Gv: ở đây tên hằng đợc ngời lập trình đặt theo đúng quy định về tên. Thế còn giá trị hằng có thể nhận các giá trị nào? Hs: Lắng nghe, suy nghĩ và trả lời câu hỏi Gv: Nhận xét và hoàn chỉnh câu trả lời của học sinh(giá trị hằng nhận một trong ba giá trị sau: Hằng số, hằng logic, hằng xâu) Hs: Nghe giảng Gv: Sau đây ta có một vài ví dụ về khai báo hằng: Ví dụ: Const N=100;(Hằng số) Const Kt=true;(Hằng logíc) Const S=abcd;(Hằng xâu) Hs: Ghi chép ví dụ vào vở Gv: Ta đi ssang cách khaibáo thứ 4. * Khai báo biến Hs: Ghi chép đầu mục Gv: Khái niệm: Biến đơn là biến chỉ nhận một giá trị tại một thời điểm thực hiện chơng trình Hs: Ghi chép Gv: Cách khai báo nh sau: Var <tên biến>:<kiểu dữ liệu>; Hs: Ghi chép Gv: ở đây tên biến là do ngời dùng đặt theo quy định về tên, kiểu dữ liệu thuộc mộtn trong 3 kiểu sau: kiểu số, kiểu logíc, kiểu xâu Hs: Nghe giảng Gv: Sau đây là một vài ví dụ về cách khai 4 báo : Ví dụ: Var a,b,c: Integer; Var x,y,z: Real; Hs: Ghi chép ví dụ Gv: vừa rồi ta đã tìm hiểu xong phần khai báo tiếp theo ta chuyển sang phần b. Phần thân chơng trình Hs: Ghi chép đầu mục Gv: cấutrúc của phần thân chơng trình nh sau: Begin [<Dãy lệnh>] End. Hs: Ghi chép Gv: Để hiểu rõ hơn về cấutrúc và cách khai báo trong chơng trình ta đi tìm một vài ví dụ đơn giản ta sang 3. Ví dụ chơng trình đơn giản. Hs: Ghi chép đầu mục Gv: Ví dụ 1: Hãy in ra màn hình thông báo Xin chao cac ban Moi cac ban lam quaen voi Pascal Chơng trình: Begin writeln(Xin chao cac ban); writeln(Moi cac ban lam quen voi Pascal); End. Hs: Ghi chép ví dụ Gv: Đây là chơng trình đơn giản chỉ có mình phần thân gồm 2 câu lệnh in ra màn hình 2 dòng thông báo nằm trong cặp dấu nháy đơn . Sau đây ta sẽ đi sang ví dụ khác đầy đủ hơn : Gv: Ví dụ 2: Hãy khai báo hằng a,b,c và in ra màn hình thông báo : Tong 3 so la: S (Trong đó ta khai báo biến S , a,b, c là 5 các biến đơn) Chơng trình Program tinh_tong; Uses Crt; Const a=4; b=6; c=3.5; var S: real; Begin clrscr; S:=a+b+c; writeln( Tong 3 so la: ); writeln(S:4:2); Readln End. Gv: Các em chú ý quan sát bảng phụvà một em hãy xác định cấutrúc của chơng trình Hs: Trả lời Gv: Nhận xét và hoàn chỉnh câu trả lời của học sinh Gv: Bây giờ thầy bỏ phần khai báo tên chơng trình đi liệu chơng trình có lỗi gì không? Hs: Trả lời câu hỏi Gv: Nhận xét và hoàn chỉnh câu trả lời của học sinh( vẫn chạy bình thờng ) Gv: Câu lệnh Uses Crt ;dùng để làm gì? Hs: Trả lời câu hỏi Gv: Nhận xét và hoàn chỉnh câu trả lời của học sinh(Khai báo th viện cung cấp các câu lệnh làm việc với màn hình và bàn phím) Gv: ở đây ta khai báo mấy hằng? và giá trị của chúng? Hs: Trả lời câu hỏi Gv: Nhận xét và hoàn chỉnh câu trả lời của học sinh Gv: Câu lệnh Clrscr; có tác dụng gì? Hs: Trả lời câu hỏi Gv: Nhận xét và hoàn chỉnh câu trả lời 6 của học sinh (xoá màn hình, khi máy thực hiện xong chơng trình, thì những gì thực hiện in ra màn hình trớc đó sẽ mất đi ) Hs: Nghe giảng Gv: Câu lệnh S:= a+b+c; tinhs tổng 3 số sau đó gán cho biến S Hs: Nghe giảng Gv: Hai câu lệnh: writeln( Tong 3 so la: ); writeln(S:4:2); in ra mà hình 2 dòng : dòng 1: Tong 3 so la: dòng 2: 13.5 Hs: Nghe giảng Gv: Lệnh Readln ; là lệnh dừng màn hình ,cho phép chúng ta xem kết quả trên màn hình màu đen Hs: Nghe giảng Gv: End. là câu lệnh kết thúc toàn bộ ch- ơng trình, sau câu lệnh này nếu ta viết thêm gì thì không có ý nghĩa gì cả? 3. Củng cố -Dặn dò(4 ) - Nấm đợc cấutrúc chung - Các thành phần của chơng trình(phần khai báo(khai báo tên chơng trình , th viện, hằng, biến ), phần thân). - Viết đợc các chơng trình đơn giản - Bài tập về nhà + Học bài và làm bài tập trong sách bài tập + Viết ra màn hình thông báo: Ca lop lam bai tap ve nha! 4. Rút kinh nghiệm 7 . vidu1; Program 3_ ctrinh; 2 Chơng trình Program tinh_tong; Uses Crt; Const a=4; b=6 ; c =3. 5; var S: real; Begin clrscr; S:=a+b+c; writeln( Tong 3 so la: ); writeln(S:4:2); Readln End. Program phuong _trinh_ bac2 Gv:. a+b+c; tinhs tổng 3 số sau đó gán cho biến S Hs: Nghe giảng Gv: Hai câu lệnh: writeln( Tong 3 so la: ); writeln(S:4:2); in ra mà hình 2 dòng : dòng 1: Tong 3 so la: dòng 2: 13. 5 Hs: Nghe giảng. : Tong 3 so la: S (Trong đó ta khai báo biến S , a,b, c là 5 các biến đơn) Chơng trình Program tinh_tong; Uses Crt; Const a=4; b=6; c =3. 5; var S: real; Begin clrscr; S:=a+b+c; writeln( Tong 3