Tên: - Mọi đối tượng trong chương trình đều phải được đặt tên theo quy tắc của ngôn ngữ lập trình - Trong ngôn ngữ turbo pascal tên là một dãy liên tiếp không quá 127 kí tự bao gồm: chữ [r]
(1)Tuần: 01 Tiết PPCT: 01 Từ ngày 20/08/2012 đến ngày 25/08/2012 Chương I : MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH Bài 1: KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH I Mục tiêu + Kiến thức: Hiểu khả ngôn ngữ lập trình bậc cao, phân biệt với ngôn ngữ máy và hợp ngữ Hiểu ý nghĩa và nhiệm vụ chương trình dịch Phân biệt biên dịch và thông dịch + Thái độ: Ham muốn tìm hiểu các ngôn ngữ lập trình II Chuẩn bị giáo viên và học sinh + Giáo viên: + Học sinh: Đọc trước SGK, xem lại số kiến thức Tin học lớp 10 III Phương pháp: Diễn giải, đàm thoại, giải tình có vấn đề IV Tiến trình bài học: Hoạt động 1: Tìm hiểu khái niệm lâp trình và ngôn ngữ lập trình Thời gian 3’ 4’ Hoạt động GV -Cho bài toán sau: Kết luận nghiện phương trình ax + b=0 + Hãy xác định Input, Output bài toán trên Hoạt động HS -Quan sát bài toán và trả lời câu hỏi +Input: a, b +Output: x=-b/a, vô nghiệm, vô số nghiệm +B1: Nhập a, b + Hãy xác định các bước B2: Nếu a<> kết luận có để giải bài toán trên nghiệm x=-b/a B3: Nếu a=0 và b<>0, kết luận vô nghiệm B4: Nếu a=0 và b=0, kết luận vô số nghiệm Ghi bảng Bài KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH (2) 3’ 5’ 4’ 3’ 3’ -Hệ thống các bước này chúng ta gọi là thuật toán Làm nào để máy tính điện tử có thể hiểu thuật toán này ? -Diễn giải: Hoạt động để diễn đạt thuật toán thông qua ngôn ngữ lập trình gọi là lập trình -Các em hãy cho biết khái niệm lập trình ? -Dùng ngôn ngữ lập trình -Nghiên cứu nội dung - Lập trình là việc sử SGK và trả lời câu hỏi dụng cấu trúc liệu và các lệnh ngôn ngữ lập trình cụ thể để mô tả +Lập trình là việc sử dụng liệu và diễn đạt các cấu trúc liệu và các lệnh thao tác thuật toán ngôn ngữ lập trình cụ thể để mô tả liệu và diễn đạt các thao tác thuật toán - Kết hoạt động + Được chương trình lập trình ? +Ngôn ngữ máy, hợp ngữ -Ngôn ngữ lập trình gồm và ngôn ngữ bâc cao loại nào ? -Nghiên cứu SGK và trả lời -Theo các em chương câu hỏi trình viết + Chương trình viết ngôn ngữ bậc cao và ngôn ngữ máy có thể nạp chương trình viết trực tiếp vào nhớ và thực ngôn ngữ máy khác nào ? + Chương trình viết ngôn ngữ lập trình bậc cao phải chuyển đổi thành chương trình trên ngôn ngữ lập máy thì thực -Làm nào để chuyển -Phải sử dụng chương chương trình viết trình dịch để chuyển đổi ngôn ngữ bậc cao (3) sang ngôn ngữ máy ? -Vì không lập trình Ngôn ngữ bậc cao dễ viết, trên ngôn ngữ máy để dễ hiểu Ngôn ngữ máy khó khỏi công chuyển viết đổi lập trình với ngôn ngữ bậc cao 5’ 4’ Hoạt động 2: Tìm hiểu hai loại chương trình dịch: thông dịch và biên dịch - Theo các em chương trình dịch: chương trình nào là chương trình nguồn và chương trình đích -Nêu vấn đề: Em muốn giới thiệu trường mình cho người khách du lịch quốc tế biết tiếng Anh, có hai cách thực hiện: C1: Cần người biết tiếng Anh dịch câu nói em sang tiếng Anh cho người khách Cách mày gọi lag thông dịch C2: Em soạn nội dung giới thiệu giấy và người phiên dịch dịch toàn nội dung đó sang tiếng Anh đọc -Nghiên cứu SGK và trả lời câu hỏi: + Chương trình nguồn là chương trình viết ngôn ngữ lập trình bậc cao + Chương trình đích là chương trình thực chuyển đổi sang ngôn ngữ máy -Chương trình dịch gồm thông dịch và biên dịch a) Thông dịch B1: Kiểm tra tính đúng đắn câu lệnh chương trình nguồn; B2: Chuyển lệnh đó thành ngôn ngữ máy B3: Thực các câu lệnh vừa chuyển đổi +Biên dịch: B1: Duyệt, phát lỗi, (4) 3’ cho khách nghe Cách này gọi là biên dịch Tương tự chương trình dịch có hai loại là thông dịch và biên dịch -Các em hãy cho biết tiến trình thông dịch và biên dịch 3’ -Nghiên cứu SGK và trả lời câu hỏi: +Thông dịch: B1: Kiểm tra tính đúng đắn câu lệnh chương trình nguồn; B2: Chuyển lệnh đó thành ngôn ngữ máy B3: Thực các câu lệnh vừa chuyển đổi +Biên dịch: B1: Duyệt, phát lỗi, kiểm tra tính đúng đắn các câu lệnh chương trình nguồn B2: Dịch toàn chương trình nguồn thành chương trình đích có thể thực trên máy và có thể lưu trữ để sử dụng lại cần thiết kiểm tra tính đúng đắn các câu lệnh chương trình nguồn B2: Dịch toàn chương trình nguồn thành chương trình đích có thể thực trên máy và có thể lưu trữ để sử dụng lại cần thiết Hoạt động 3(3’): Củng cố kiến thức -Khái niệm lập trình và ngôn ngữ lập trình -Các ngôn ngữ lập trình: ngôn ngữ máy, ngôn ngữ bậc cao, hợp ngữ -Khái niệm chương trình dịch -Thông dịch và biên dịch V Rút kinh nghiệm CHUYÊN MÔN KÝ KIỂM TRA Khánh Lâm, ngày … tháng … năm 2012 TỔ TRƯỞNG KÝ DUYỆT Döông Vaên Traïng (5) Tuần: 02 Tiết PPCT: 02 Từ ngày 27/08/2012 đến ngày 01/09/2012 Bài 2: CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH I - - Mục tiêu: Kiến thức: Biết ngôn ngữ lập trình có ba thành phần là: Bảng chữ cái, cú pháp và ngữ nghĩa hiểu ba thành phần này Biết số khái niệm: Tên, tên chuẩn, tên dành riêng(từ khoá), và biến Kỹ năng: Phân biệt ba thành phần:bảng chữ cái ,cú pháp và ngữ nghĩa Phân biệt tên, và biến biết đặt tên đúng Tư và thái độ : Tư logic Thái độ cẩn thận, chính xác II Chuẩn bị giáo viên và học sinh; GV: Bảng phụ, phấn, thước HS: Đọc trước bài nhà III Phương pháp Thuyết trình, vấn đáp, hoạt động nhóm IV Tiến trình bài học Thời gian 15 HĐ CỦA GV HĐ1: Các thành phần bản: HĐTP1: Dẫn dắt vào baì - Để diễn tả ngôn ngữ tự nhiên ta cần phải biết gì? - Các ngôn ngữ lập trình nói chung thường có chung số thành phần như: Dùng kí hiệu nào để viết chương trình, viết theo HĐ CỦA HS GHI BẢNG Các thành phần - Chữ cái Cú pháp Ý nghĩa điều - Mỗi ngôn ngữ lập trình cần diễn tả thường có ba thành phần là: bảng chữ cái ,cú pháp và ngữ nghĩa Lắng nghe (6) quy tắc nào? viết có ý nghĩa là gì? Mỗi ngôn ngữ lập trình có quy định riêng thành phần này HĐTP2: Giới thiệu bảng chữ cái GV treo bảng phụ (SGK Trang 9) Bảng chữ cái ngôn ngữ lập trình khác có HS chú ý khác Ví dụ bảng chữ cái ngôn ngữ lập trình C++ khác pascal là sử dụng thêm các kí tự dấu nháy kép(“), dấu sổ ngược(\), dấu chấm than(!) HĐTP3: Giới thiệu cú pháp - Cú pháp ngôn ngữ lập trình khác khác ngôn ngữ pascal dùng cặp từ Begin- HS lắng nghe End để gộp nhiều lệnh thành lệnh C++ dùng cặp kí hiệu {} Ví dụ : Xét biểu thức A+B (1) A,B là các số a.Bảng chữ cái:Là tập các kí hiệu dùng để viết chương trình b Cú pháp - Là quy tắc để viết chương trình c Ngữ nghĩa Xác định ý nghĩa thao tác cần phải thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh nó (7) thực I+J (2) với I,J là các số nguyên Hỏi HS: Về ngữ nghĩa biểu thức trên có khác không? - Mỗi nôn ngữ khác có ngữ nghĩa khác Khác nhau: Dấu cộng (1) là cộng số thực cong (2) là cộng số nguyên HS lắng nghe và ghi chép 15 HĐ2: Giới thiệu Tên - Trong các ngôn ngữ lập trình nói chung, các đối tượng sử dụng chương trình phải đặt tên để tiện cho việc sử dụng Việc đặt tên các ngôn ngữ khác là khác nhau, có ngôn ngữ phân biệt chữ hoa, chữ thường, có ngôn ngữ không phân biệt chữ hoa, chữ Lắng nghe và ghi chép thường Ngôn ngữ lập trình pascal không phân biệt chữ hoa chữ thường số ngôn ngữ lập trình khác(như C++) lại phân biệt chữ Tóm lại: - cú pháp cho biết cách viết chương trình hợp lệ, còn ngữ nghĩa xác định ý nghĩa các tổ hợp kí tự chương trình - Các lỗi cú pháp chương trình dịch phát và thông báo cho người lập trình biết chương trình không còn lỗi cú pháp thì có thể dịch sang ngôn ngữ máy - Lỗi ngữ nghĩa phát chạy chương trình Một số khái niệm a Tên: - Mọi đối tượng chương trình phải đặt tên theo quy tắc ngôn ngữ lập trình - Trong ngôn ngữ turbo pascal tên là dãy liên tiếp không quá 127 kí tự bao gồm: chữ số, chữ cái dấu gạch và bắt đầu chữ cái gạch - Ví dụ : Trong ngôn ngữ pascal + Các tên đúng: A, Bre1, -ten, + Các tên sai: a bc, 6hgf, x # y, - Ngôn ngữ lập trình có loại tên: tên dành riêng, tên chuẩn, tên người lập trình đặt (8) hoa, chữ thường - - 11 HĐ3: Hằng và biến GV đưa ví dụ: Để viết chương trình giải phương trình bậc hai ta cần khai báo Lắng nghe tên sau: - a,b,c là ba tên dùng để lưu ba hệ số phương trình - - x1,x2 là hai tên dùng để lưu nghiệm ( có) Tên dành riêng: Là tên ngôn ngữ lập trình quy định với ý nghĩa riêng xác định mà người lập trình không dùng với ý nghĩa khác Tên dành riêng gọi là từ khoá Ví dụ: số tên dành riêng: Trong pascal : program, uses, var, const, Trong c++: main, include, if, * Tên chuẩn: là nhữnh tên ngôn ngữ lập trình dùng với ý nghĩa định nào đó Trong các thư viện ngôn ngữ lập trình Ví dụ : Một số tên chuẩn Trong pascal: real, integer, char, Trong c++: cin, count, * Tên người lập trình đặt: Được xác định cách trước sử dụng, không trùng với tên dành riêng - - b Hằng và biến * Hằng: Là đại lượng có giá trị không đổi quá trình thực chương trình - Các ngôn ngữ lập trình thường có: + Hằng số học: số nguyên số thực + Hăng logic: Là cácgiá trị đúng sai (9) - - Delta là tên dùng để lưu giá trị delta - Biến là đối tượng sử dụng nhiều viết chương trình Lắng nghe Biến là đại lượng có thể thay đổi nên thường dùng để lưu trữ kết - - Ví dụ ( bảng phụ 2:vd sgk trang 12) * Biến:Là đại lượng đặt tên, dùng để lưu trữ gí trị và giá trị có thể thay đổi quá trình thực chương trình Biến phải khai báo trước sử dụng c Chú thích: - Trong viết chương trình có thể viết các chú thích cho chương trình Chú thích không làm ảnh hưởng đến chương trình Trong pascal chú thích đặt {} (* *) Trong C++ chú thích đặt trong: /* */ HĐ4: Củng cố toàn bài:(4’) Giáo viên mở chương trình pascal đơn giản có chứa các thành phần là các khái niệm bài học, không có máy thì sử dụng bảng phụ đẻ cho HS khái niệm chương trình V Rút kinh nghiệm CHUYÊN MÔN KÝ KIỂM TRA Khánh Lâm, ngày … tháng … năm 2012 TỔ TRƯỞNG KÝ DUYỆT Döông Vaên Traïng (10) Tuần: 03 Tiết PPCT: 03 Từ ngày 03/09/2012 đến ngày 08/09/2012 BÀI TẬP CHƯƠNG I Mục tiêu: Về kiến thức: - Biết có lớp ngôn ngữ lập trình và các mức ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao - Biết vai trò chương trình dịch - Biết khái niệm biên dịch và thông dịch - Biết các thành phần ngôn ngữ lập trình: bảng chữ cái, cú pháp và ngữ nghĩa - Biết các thành phần sở Pascal: bảng chữ cái, tên, tên chuẩn, tên riêng (từ khóa), và biến Về kỹ năng: - Biết viết và tên đúng ngôn ngữ lập trình cụ thể Về tư và thái độ: - Nhận thức quá trình phát triển ngôn ngữ lập trình gắn liền với quá trình phát triển tin học nhằm giải các bài toán thực tiễn ngày càng phức tạp - Ham muốn học ngôn ngữ lập trình cụ thể để có khả giải các bài toán máy tính điện tử II Chuẩn bị giáo viên và học sinh: Giáo viên: chuẩn bị nội dung để giải bài tập cuối chương và số câu hỏi trắc nghiệm chương Học sinh:Ôn lại kiến thức chương, chuẩn bị bài tập cuối chương III Phương pháp: - Thuyết trình, vấn đáp IV Tiến trình bài học: Ổn định lớp và kiểm tra sĩ số Kiểm tra bài cũ Tiến trình tiết dạy: Thời gian Hoạt động GV Hoạt động HS - ĐVĐ: Trước giải bài tập SGK, các em tự ôn lại số kiến thức mà chúng ta đã học các bài trước dựa Ghi bảng Đọc yêu cầu Bài: BÀI TẬP CHƯƠNG câu hỏi và bài tập cuối chương trang 13 SGK Suy nghĩ để đưa phương án trả (11) trên yêu cầu câu hỏi trang 13 SGK - Đặt câu hỏi số 1: Tại người ta phải xây dựng các ngôn ngữ lập trình bậc cao? - Nhận xét, đánh giá và bổ sung hướng dẫn cho học sinh trả lời câu hỏi số 1: 5‘ - 10 ‘ - Đặt câu hỏi 2: Chương trình dịch là gì? Tại cần phải có chương trình dịch? Đặt câu hỏi 3: Biên dịch và thông dịch khác nào? Phân tích câu trả lời học sinh lời Suy nghĩ, trả lời câu hỏi Suy nghĩ, trả lời câu hỏi Suy nghĩ, trả lời câu hỏi, cho ví dụ 1.Câu 1: - Ngôn ngữ bậc cao gần với ngôn ngữ tự nhiên hơn, thuận tiện cho đông đảo người lập trình - Chương trình viết ngôn ngữ bậc cao nói chung không phụ thuộc vào phần cứng máy tính và chương trình có thể thực trên nhiều máy tính khác - Chương trình viết ngôn ngữ bậc cao dễ hiểu, dễ hiệu chỉnh và dễ nâng cấp - Ngôn ngữ bậc cao cho phép làm việc với nhiều kiêu liệu và cách tổ chức liệu đa dạng, thuận tiện cho mô tả thuộc toán 2.Câu 2: - Chương trình dịch là chương trình đặc biệt, có chức chuyển đổi chương trình viết trên ngôn ngữ lập trình bậc cao thành chương trình thực trên máy tính cụ thể Chương trình nguồn -> Chương trình dịch -> Chương trình đích 3.Câu 3: - Trình biên dịch: duyệt, kiểm tra, phát lỗi, xác định chương trình nguồn có dịch không? dịch toàn chương trình nguồn thành chương trình đích có thể thực trên máy và có thể lưu trữ lại để sử dụng sau cần thiết - Trình thông dịch dịch câu lệnh ngôn ngữ máy thực câu lệnh vừa dịch báo lỗi không dịch (12) 10’ - 12’ - - - a) b) c) d) e) Đặt câu hỏi 4: Hãy cho biết các điểm khác tên dành riêng và tên chuẩn? Gọi hs trả lời và cho ví dụ Phân tích câu trả lời học sinh Đặt câu hỏi 5: Hãy tự viết ba tên đúng theo quy tắc Pascal Gọi học sinh lên bảng cho ví dụ tên người lập trình đặt Nhận xét, sửa chữa, góp ý Đặt câu hỏi 6: Hãy cho biết biểu diễn nào đây không phải là biểu diễn Pascal và rõ trường hợp: 150.0 –22 6,23 ‘43’ A20 4.Câu 4: - Tên dành riêng không dùng - Suy nghĩ, trả lời, khác với ý nghĩa đã xác định, tên giải thích câu chuẩn có thể dùng với ý nghĩa khác hỏi, VD: Tên dành riêng Pascal: program, uses, const, type, var, begin, end Tên chuẩn: Pascal abs, integer 5.Câu 5: Gợi ý: Trong Pascal tên (do người lập trình đặt) đặt tuân theo các quy tắc sau: - Chỉ bao gồm chữ cái, chữ số và dấu gạch dưới; - Không bắt đầu chữ số; - Độ dài theo quy định chương trình dịch (TP không quá 127 kí tự, Free Pascal không quá 255 kí tự) - Tuy nhiên, không nên đặt tên quá dài hay quá ngắn mà nên đặt cho gợi ý nghĩa đối tượng mang tên đó - Những biểu diễn sau đây không phải là Pascal: 6,23 dấu phẩy phải thay dấu chấm; A20 là tên chưa rõ giá trị; 4+6 là biểu thức Pascal chuẩn coi là Turbo Pascal; ‘TRUE’ là xâu không là lôgic (13) f) g) h) i) - 1.06E-15 4+6 ‘C ‘TRUE’ Nhận xét, giải thích IV: Hoạt động củng cố 3’ - Ôn lại các khái niệm, các tên - Chuẩn bị bài Cấu trúc chương trình V Rút kinh nghiệm CHUYÊN MÔN KÝ KIỂM TRA Khánh Lâm, ngày … tháng … năm 2012 TỔ TRƯỞNG KÝ DUYỆT Döông Vaên Traïng (14) Tuần: 04 Tiết PPCT: 04 Từ ngày 10/09/2012 đến ngày 15/09/2012 Bài 3: CẤU TRÚC CHƯƠNG TRÌNH Bài 4: MỘT SỐ KIỂU DỮ LIỆU CHUẨN Bài 5: KHAI BÁO BIẾN I - Mục tiêu Kiến thức Biết cấu trúc chung chương trình Biết só kiểu liệu chuẩn NNLT Pascal Biết cách khai báo biến Kỷ năng: Nhận biết phần cấu trúc II - Chuẩn bị Giáo viên : Máy tính, máy chiếu projector, số ví dụ minh hoạ Học sinh : SGK III – Phương pháp dạy học: Đặt vấn đề hướng dẫn học sinh nắm bắt vấn đề Hoạt động nhóm IV – Các hoạt động dạy học Ổn định lớp và kiểm tra sĩ số Kiểm tra bài cũ Không Tiến trình tiết dạy: Thời Hoạt động GV Hoạt động HS Trình bày bảng gian 5’ Hoạt động 1: Cấu trúc chung Cho học sinh đọc phần “cấu trúc chung” Hỏi: “Cấu trúc chung Tập hợp số tự nhiên, gồm phần” nguyên, hữu tỉ, thực Yêu cầu học sinh đọc Đọc sách SGK phần khai báo Sau đó trả lời câu hỏi + Trong phần khai báo có phần khai báo Phần khai báo a.khai báo tên chương trình 20’ Hoạt động Các thành -program <tên chương (15) phần chương trình Giáo viên giới thiệu cho Chú ý lắng nghe và ghi HS phần đầu (phần khai chép báo) chương trình Giáo viên giới thiệu phần Chú ý lắng nghe và ghi thân chương trình chép Dãy lệnh phạm vi xác định cặp dấu hiệu mở đầu và kết thúc Yêu cầu HS đọc SGK phần ví dụ và hỏi: Trong vd1: đâu là phần khai báo đâu là phần thân chương trình? Cho học sinh quan sát nhận xét chương trình ngôn ngữ khác Hoạt động Một số kiển liệu chuẩn trình>; + Tên chương trình: người lập trình tự đặt +ví dụ: program vi_du; b Khai báo thư viện uses <tên các thư viện> + ví dụ: pascal uses crt; c khai báo const <tên hằng=gía trị>; + ví dụ: N=100; d khai báo biến var <danh sách biến>; Phần thân chương trình ví dụ chương trình đơn giản Trong pascal: Thân chương trình có dạng: BEGIN [< Dãy lệnh>] END Ví dụ chương trình đơn giản - Trong ngôn ngữ pascal: Program vd1; Begin Write(‘chao cac ban’); End - Trong ngôn ngữ C++: #include <stdio.h> Void main() { printf(“ chao các ban”); } - Phần khai báo: Program vd1; - phần thân chương trình: Begin Write(‘chao cac ban’); End Hai chương trình cùng thực hiệnmột công việcnhưng viết ngôn ngữ khác nên hệ thống các câu lệnh chương trình Một số kiểu liệu chuẩn khác (16) 10’ 7’ Yêu cầu học sinh nghiên cứu sách Trả lời các câu hỏi sau: - Có bao nhiêu liệu chuẩn ngôn ngữ Pascal ? - Trong ngôn ngữ Pascal, có kiểu nguyên nào thương dùng, phạm vi biểu diễn loại - Trong ngôn ngữ Pascal, có kiểu thực nào thương dùng, phạm vi biểu diễn loại - Cho học sinh đọc ví dụ đơn giản SGK Giải thích dòng lệnh Kiểu nguyên Kiểu Byte Integer Word longint Bộ nhớ byte byte byte byte - Có kiểu : kiểu Kiểu thực nguyên, thực, kí tự, Kiểu Bộ nhớ lôgic Real byte extended 10 byte - Có loại : Byte, word, Kiểu kí tự integer, logint Kiểu Char Phạm vi 0->255 -215->215 0->216-1 -231->231-1 Phạm vi Bộ nhớ byte Phạm vi 256 kí tự Kiểu Bộ nhớ boolean byte Phạm vi True (false) Kiểu logic - Có extended loại: Real, Khai báo biến Var <danh sách biến> :<kiểu Hoạt động Khai báo liệu>; biến Danh sách biến: SGK Yêu cầu học sinh nghiên Kiểu liệu : SGK cứu sách GK và cho biết Ví dụ: chương trình ta vì phải khai báo biến? ĐỌC sách cần dùng biến a kiểu số Mọi biến dùng nguyên, b kiểu số thực chương trình phải Var a : integer; khai báo tên biến b : real; và kiểu liệu Xét khai báo: biến Tên biến dùng để Var xác lập quan hệ a, b, c: byte; biến với địa nhớ d, e: real; nơi lưu giữ giá trị x: char; biến y, z: word; Trong khai báo trên sử Ba biến nguyên a, b, c dụng bao nhiêu byte? nhớ sử dụng cho biến là 1byte Hai biến d, e là biến thực, nhớ (17) cấp phát cho hai biến này là 12byte (2x6=12) X là biến kí tự và nhớ dành cho nó là 1byte Biến y, z nhận giá trị nguyên phạm vi từ đến 65535, nhớ cấp phát cho hai biến này là 4byte (2x2=4) Tổng nhớ: 3+12+1+4=20 (byte) V – Củng cố (3’) Xem có loại kiểu liệu chuẩn ? Cấu trúc khai báo biến ? VI – Dặn dò Mỗi em cho ví dụ Khai báo biến ( hôm sau trả lời) VII Rút kinh nghiệm CHUYÊN MÔN KÝ KIỂM TRA Khánh Lâm, ngày … tháng … năm 2012 TỔ TRƯỞNG KÝ DUYỆT Döông Vaên Traïng (18) Tuần: 05 Từ ngày 17/09/2012 đến ngày 22/09/2012 Tiết PPCT: 05 Bài PHÉP TOÁN - BIỂU THỨC - CÂU LỆNH GÁN I / Mục tiêu dạy học: Kiến thức : - Biết các phép toán thông dụng NNLT - Biết cách diễn đạt biểu thức NNLT - Biết chức lệnh gán và cấu trúc nó - Nắm vững số hàm chuẩn thông dụng NNLT Pascal Kỹ năng: - Nhận biết các phép toán để xây dựng biểu thức cho hợp lý - Sử dụng số lệnh gán viết chương trình đơn giản II/ Chuẩn bị GV & HS: * Giáo viên: - SGK, các tranh liên quan đến bài học - Máy vi tính và máy chiếu Projector (nếu có) * Học sinh: - SGK III/ Phương pháp: IV/ Các hoạt động dạy học: Ổn định lớp: Kiểm tra sĩ số Kiểm tra bài cũ: Không Bài Thời gian 9’ Hoạt động GV Hoạt động HS Họat động 1: Khi viết chương trình ta phải sử dụng các phép Chú ý lắng nghe toán, phép so sánh để đưa định xem và làm việc gì? và chương trình ta viết nào ? Ghi bảng * NNLT nào sử dụng đến phép toán, câu lệnh gán và biểu thức, các khái niệm này xét NNLT Pascal Tất các ngôn ngữ có sử dụng cách giống Suy nghĩ và đưa hay không số phép toán thường Phép toán: - Toán học có phép dùng: NNLT Pascal sử dụng số (19) toán nào? Phép cộng, trừ, nhân, phép toán sau: - Các phép toán đó có chia + Số nguyên: + , - , *, / , dùng NNLT hay Nghiên cứu SGK và cho DIV, MOD không? biết các nhóm phép toán + Một số phép toán dùng - Chỉ sử dụng cho + Số thực: + , - , *, / , và số phép toán kiểu số nguyên + Phép toán quan hệ: <, <=, phải sử dụng từ các phép - Kiểu logic > , >=, =, < > tóan khác + Phép toán logic: AND, OR, - Ghi số phép toán NOT lên bảng - Phép DIV, MOD sử dụng cho kiểu liệu nào? 22’ - Kết phép toán quan hệ thuộc kiểu liệu nào? Hoạt động 2: - Trong toán học biểu - Suy nghĩ và đưa khái thức là gì ? niệm - Trong tin học khái niệm biểu thức lập trình ? Biểu thức số học: - Là dãy các phép toán + , - , *, / , DIV, MOD từ biến kiểu số và các hàm - Dùng dấu ( ) để qui định trình tự tính toán VD: ( SGK - 25) * Chú ý : Thứ tự thực các phép - Cách viết các biểu thức toán: lập trình có giống - Quan sát tranh và trả lời + Trong ngoặc trước, ngoài cách viết toán học : ngoặc sau hay không ? - Treo tranh có chứa các biểu thức toán học lên bảng Yêu cầu: HS sử dụng các phép toán số học hãy biểu 4*x-2*y diễn các biểu thức toán học thành biểu thức x+1/(x-y) + Nhân, chia, chia nguyên, chia lấy dư trước, cộng, trừ sau Hàm số học chuẩn: Cách viết cho số hàm số (20) NNLT học chuẩn : 4x - 2y x+ x−y a+b+ c 2a +c b - ((a+b+c)/((2*a /b)+c)) - Tên hàm (đối số) (b*b-c)/a*c + Đối số là hay nhiều - Hàm trị tuyệt đối, hàm biểu thức số học đặt bậc 2, hàm sin dấu ngoặc ( ) sau tên hàm VD: (SGK - 26) - HS trả lời: 2*x*x+1 b2 − c ac - Trong toán học ta đã - HS chưa trả lời làm quen với số hàm số học, hãy kể tên? - Muốn tính ax2 + ta viết nào? |x| - Muốn tính , √ x , sinx ta làm nào? Nghiên cứu SGK - 26 và Tính các giá trị đó quan sát tranh vẽ, lên cách đơn giản người ta đã bảng điền tranh xây dựng sẵn số đơn vị chương trình các Biểu thức quan hệ: thư viện chương trình Cấu trúc chung: giúp người lập trình tính - Suy nghĩ và trả lời: <BT1> < phép toán quan hệ toán nhanh > <BT2> - Treo tranh chứa bảng (abs(x)-sqrt(2*x+1)/(x* + đó BT1 và BT2 phải số hàm chuẩn x-1) cùng kiểu Yêu cầu: Học sinh điền + Kết biểu thức quan thêm số thông tin với hệ là TRUE FALSE các chức hàm - Cho biểu thức |x| - VD: - > √ x +1 / x2 – Biểu thức logic Hãy biểu diễn biểu thức - Biểu thức logic đơn gảin là biến logic (21) toán biểu thức NNLT -Trong lập trình ta phải so sánh giá trị nào đó trước thực lệnh cách sử dụng biểu thức quan hệ Biểu thức quan hệ còn gọi là biểu thức so sánh dùng để so sánh giá trị đúng sai - Cho ví dụ biểu thức quan hệ 12’ - Dùng để liên kết nhiều biểu thức quan hệ lại với - Trả lời: VD: ( SGK - 28) x + y < 2* x*y - Kiểu logic - Lắng nghe, theo dõi sự dẫn dắt Gv để trả lời - Kết mà phép toán quan hệ thuộc kiểu - Kết hợp SGK, trả lời: liệu nào đã học? (2< x) and (x<=8 ) -Biểu thức logic là biểu thức quan hệ liên kết với phép toán logic - Hãy quan sát ví dụ biểu thức logic sau: Câu lệnh gán - Lệnh gán là cấu trúc NNLT, thường dùng để gán gái trị cho biến 2< x Cấu trúc: Trong Pascal cần phải tách thành < x và x nào ? Hoạt động 3: Mỗi NNLT có cách viết lệnh gán khác nhau, chẳng hạn Pascal có lệnh gán sau: i:=8+1 - Giải thích: Lấy cộng < tên - biến>:= <biểu thức>; - Quan sát ví dụ và suy nghĩ để trả lời VD: x:= (b*b-4* a*c); - Đưa ý kiến i:= i+1; j:= j-1; (22) với 1, đem kết đặt vào i , ta y = - Cần chú ý điều gì viết lệnh gán? - Suy nghĩ và đưa vài - Phân tích câu trả lời ví dụ tương tự học sinh sau đó tổng hợp lại - Lệnh gán là gì ? - Minh họa vài ví dụ khác sử dụng lệnh gán trên bảng Treo tranh lên bảng và giới thiệu ví dụ Pascal cho chương trình Var i, j integer; Begin i := 2; j := 5; - Quan sát và trả lời: i = và j = i := i+1; j := j-1; Writeln (‘i=’, i); Writeln (‘j=’, j); readln; End - Vậy chương trên in màn hình giá trị i và j bao nhiêu ? V/ Củng cố (2’) - Nhắc lại số khái niệm về: + Các phép toán : Số học, quan hệ, logic (23) + Cấu trúc lệnh Pascal: tên_biến := biểu_thức; VI Dặn dò: Làm các bài tập 5, 6, 7, SGK trang 35 - 36 - Xem trước bài: Các thủ tục chuẩn vào/ đơn giản VII Rút kinh nghiệm CHUYÊN MÔN KÝ KIỂM TRA Khánh Lâm, ngày … tháng … năm 2012 TỔ TRƯỞNG KÝ DUYỆT Döông Vaên Traïng (24) Tuần: 06 Tiết PPCT: 06 Từ ngày 24/09/2012 đến ngày 29/09/2012 BÀI CÁC THỦ TỤC CHUẨN VÀO/ RA ĐƠN GIẢN BÀI SOẠN THẢO, DỊCH, THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH I Mục tiêu Kiến thức: + Biết các lệnh vào đơn giản để nhập liệu từ bàn phím đưa liệu màn hình + Viết số lệnh vào/ đơn giản + Biết các bước: Soạn, dịch, thực và hiệu chỉnhchương trình Thái độ: Ham muốn tìm hiểu các biên soạn và thực chương trình II Chuẩn bị giáo viên và học sinh + Giáo viên: số ví dụ + Học sinh: Đọc trước SGK III Phương pháp: + Diễn giải, đàm thoại, giải tình có vấn đề IV Các hoạt động dạy học: Ổn định lớp: Kiểm tra sĩ số Kiểm tra bài cũ: Không Bài TG 16’ Hoạt động giáo viên Hoạt động học sinh Hoạt động 1: tìm hiểu thủ tục nhập liệu từ bàn phím -Khi giải bài toán, đại lượng đã biết - Ta có lệnh để nhập phải nhập thông tin vào, lập trình ta nhập cách nào? -Làm nào nhập giá trị cho bàn phím? - Thủ tục READ sau đọc xong giá trị trỏ không xuống dòng còn - Nghe và ghi bài READLN là xuống dòng - Thủ tục READLN không có tham số có - Trả lời Ghi bảng Nhập liệu vào từ bàn phím - Trong pascal ta dùng thủ tục chuẩn sau: Read(danh sách biến vào);hoặc Readln(danh sách biến vào); - Ví dụ: Read(N); Readln(a,b,c); - Chú ý:+ Khi nhập liệu từ bàn phím READ, READLN, có ý nghĩa nhau, thường hay dùng READLN + Khi nhập giá trị cho các biến thủ tục, giá trị này gõ cách dấu (25) chức làm gì? 16’ Hoạt động 2: tìm hiểu thủ tụcđưa liệu màn hình - Trên đây là thủ tục nhập liệu vào còn xuất thí sao? - Trường hợp thủ tục WRITELN; không có tham số thì thì thủ tục có tác dụng để làm gì? cách phím Enter - Trường hợp thủ tục WRITELN; không có tham số thì thủ tục có tác dụng đưa trỏ xuống dòng Đưa liệu màn hình Trong pascal cung cấp thủ tục chuẩn: write(<Danh sách kết ra>); writeln(<Danh sách kết ra>); đó <Danh sách kết ra>có thể tên biến đơn, biểu thức, Ví dụ: write(‘Nap so N:’); Readln(N); Chú ý: - writeln sau đưa kết trỏ xuống dòng - Ngoài TPcó quy cách đưa thông tin nàm hình sau: + Kết thực: - Nghe giảng - Độ rộng, số chữ số thập phân là các nguyên dương :<Độ rộng>:<số chữ số thập phân> + Kết khác: :<Độ rộng> ví dụ: Write(N:3); Writeln(‘X=’,x:8:2); 11’ Hoạt động3 : Tìm hiểu cách soạn thảo, dịch, thực hiện, hiệu chỉnh chương trình - Nghe giảng Để thực hành TP ta khởi động cách: Nháy dúp vào biểu tượng turbo pascal trên màn hình - Nghe giảng - - Một số tao tác thường dùng pascal: Khi soạn thảo muốn xuống dòng nhấn Enter Ghi file vào đĩa: F2 Mở file đã có: F3 Biên dịch chương trình: Alt + F9 (26) Chạy chương trình: Ctrl + F9 Đóng cửa sổ chương trình: Alt + F3 Thoát khỏi phần mền: Alt + X - - Trên máy cần có tệp: Turbo.exe (file chạy) Turbo.tpl (file thư viện) Turbo.tph (file hướng dẫn) V Củng cố (2’) - Nhắc lại hoạt động Write/Writeln, read/Readln - Cách soạn thảo,chạy chương trình, ghi vào đĩa, thoát khỏi TP - Về nhà làm bài tập sách trang 35,36 V Dặn dò: Chuẩn bị bài Bài tập và thực hành VI Rút kinh nghiệm CHUYÊN MÔN KÝ KIỂM TRA Khánh Lâm, ngày … tháng … năm 2012 TỔ TRƯỞNG KÝ DUYỆT Döông Vaên Traïng (27)