- Trình thông dịch lần lượt dịch từng câu lệnh ra ngôn ngữ máy rồi thực hiện ngay câu lệnh vừa dịch được hoặc báo lỗi nếu không dịch được Câu 4: - Suy nghĩ, trả lời, giải thích - Tên dàn[r]
(1)Trường THPT Huỳnh Thúc Kháng Giáo án Tin học 11 Ngày soạn: 22/08/09 Chương I : MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH Tiết: 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 Tiến trình tiết dạy: Ổn định lớp, kiểm tra sỉ số: Nội dung: Hoạt động 1: Tìm hiểu khái niệm lâp trình và ngôn ngữ lập trình Hoạt động giáo viên Hoạt động học sinh Nội dung - Cho bài toán sau: Kết luận nghiệm phương trình ax + b=0 + Hãy xác định Input, Output bài toán trên Khái niệm lâp trình và - Quan sát bài toán và trả lời câu ngôn ngữ lập trình hỏi + Input: a, b + Output: x=-b/a, vô nghiệm, vô số nghiệm + Hãy xác định các bước để giải + B1: Nhập a, b bài toán trên B2: Nếu a<> kết luận có 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 - 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 - Dùng ngôn ngữ lập trình 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à Trang GV: Võ Minh Hoàng Lop11.com (2) Trường THPT Huỳnh Thúc Kháng Giáo án Tin học 11 lập trình - Các em hãy cho biết khái niệm - Nghiên cứu Nội dung a Khái niệm lập trình lập trình? SGK và trả lời câu hỏi - Lập trình là việc sử dụng cấu trúc liệu và các lệnh 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 lập + Được chương trình b Ngôn ngữ lập trình: trình? - Ngôn ngữ lập trình gồm -Nghiên cứu SGK và trả lời câu Ngôn ngữ máy, hợp ngữ và loại nào? hỏi ngôn ngữ bâc cao - Theo các em chương trình + Chương trình viết ngôn viết ngôn ngữ bậc cao và ngữ máy có thể nạp trực tiếp vào chương trình viết nhớ và thực ngôn ngữ máy khác ntn? + 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ữ máy thì thực - Làm nào để chuyển - Phải sử dụng chương trình chương trình viết ngôn ngữ dịch để chuyển đổi bậc cao sang ngôn ngữ máy? -Vì không lập trình trên ngôn - Ngôn ngữ bậc cao dễ viết, dễ ngữ máy để khỏi công hiểu Ngôn ngữ máy khó viết chuyển đổi lập trình với ngôn ngữ bậc cao 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 Hoạt động giáo viên Hoạt động học sinh Nội dung - Theo các em chương Thông dịch và biên trình dịch: chương trình nào là -Nghiên cứu SGK và trả lời câu dịch: chương trình nguồn và chương hỏi: trình đích + 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 Trang GV: Võ Minh Hoàng Lop11.com (3) Trường THPT Huỳnh Thúc Kháng Giáo án Tin học 11 trình thực chuyển đổi sang ngôn ngữ máy - Nêu vấn đề: Em muốn giới - Chương trình dịch gồm thiệu trường mình cho thông dịch và biên dịch người khách du lịch quốc tế biết a Thông dịch: tiếng Anh, có hai cách thực hiện: B1: Kiểm tra tính đúng đắn C1: Cần người biết tiếng câu lệnh Anh dịch câu nói em chương trình nguồn sang tiếng Anh cho người khách B2: Chuyển lệnh đó thành Cách này gọi là thông dịch ngôn ngữ máy C2: Em soạn Nội dung giới thiệu B3: Thực các câu lệnh giấy và người phiên dịch dịch vừa chuyển đổi b Biên dịch: toàn Nội dung đó sang tiếng Anh đọc cho khách nghe B1: Duyệt, phát lỗi, kiểm tra tính đúng đắn Cách này gọi là biên dịch Tương tự chương trình dịch có các câu lệnh chương trình nguồn hai loại là thông dịch và biên B2: Dịch toàn chương dịch - Các em hãy cho biết tiến trình - Nghiên cứu SGK và trả lời câu trình nguồn thành chương trình đích có thể thông dịch và biên dịch hỏi: 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: 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 Trang GV: Võ Minh Hoàng Lop11.com (4) Trường THPT Huỳnh Thúc Kháng Giáo án Tin học 11 Ngày soạn: 25/08/09 Tiết: 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 Tiến trình tiết dạy: Ổn định lớp, kiểm tra sỉ số: Kiểm tra bài cũ: CH: Phân biệt quá trình thông dịch và biên dịch Nội dung: Hoạt động1: Tìm hiểu các thành phần Hoạt động giáo viên Hoạt động học sinh - Để diễn tả ngôn ngữ tự - Chữ cái nhiên ta cần phải biết gì? - Cú pháp - Ý nghĩa điều cần diễn tả - Giới thiệu bảng chữ cái: GV treo bảng phụ 1(SGK Trang 9) - Bảng chữ cái ngôn ngữ lập trình khác có khác Ví dụ bảng chữ cái HS chú ý 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 (!) Nội dung Các thành phần - Mỗi ngôn ngữ lập trình thường có ba thành phần là: bảng chữ cái, cú pháp và ngữ nghĩa a Bảng chữ cái: Là tập các kí hiệu dùng để viết chương trình Trang GV: Võ Minh Hoàng Lop11.com (5) Trường THPT Huỳnh Thúc Kháng Giáo án Tin học 11 - Giớ thiệu cú pháp - Cú pháp ngôn ngữ lập trình khác khác ngôn HS lắng nghe ngữ pascal dùng cặp từ BeginEnd để 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ố thực I+J (2) với I, J là các số nguyên Hỏi: Về ngữ nghĩa biểu thức Khác nhau: Dấu cộng (1) trên có khác không? là cộng số thực cộng (2) là cộng số nguyên - Mỗi ngôn ngữ khác HS lắng nghe và ghi chép có ngữ nghĩa khác 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ó 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 Hoạt động2: Tìm hiểu số khái niệm Hoạt động giáo viên Hoạt động học sinh - Trong các ngôn ngữ lập trình nói chung, các đối tượng sử dụng Nội dung Một số khái niệm a Tên: Trang GV: Võ Minh Hoàng Lop11.com (6) Trường THPT Huỳnh Thúc Kháng Giáo án Tin học 11 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 Lắng nghe và ghi chép ngữ phân biệt chữ hoa, chữ thường, có ngôn ngữ không phân biệt chữ hoa, chữ 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ữ hoa, chữ thường - - 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, * 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 Trang GV: Võ Minh Hoàng Lop11.com (7) Trường THPT Huỳnh Thúc Kháng Giáo án Tin học 11 - 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 GV đưa ví dụ: Để viết Lắng nghe chương trình giải phương trình bậc hai ta cần khai báo 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ó) - - 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 Biến là đại lượng có thể thay đổi nên thường dùng Lắng nghe để lưu trữ kết 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ác giá trị đúng sai 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 {} (* *) Trang GV: Võ Minh Hoàng Lop11.com (8) Trường THPT Huỳnh Thúc Kháng Giáo án Tin học 11 - Trong C++ chú thích đặt trong: /* */ Hoạt động 3: Củng cố toàn bài 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ụ HS khái niệm chương trình Ngày soạn: 04/09/09 Tiết: 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 Tiến trình tiết dạy: Ổn định lớp, kiểm tra sỉ số Kiểm tra bài cũ Câu 1: Có loại tên ngôn ngữ Pascal ? Câu 2: Khái niệm và biến ? Trang GV: Võ Minh Hoàng Lop11.com (9) Trường THPT Huỳnh Thúc Kháng Giáo án Tin học 11 Nội dung: Hoạt động 1: Tìm hiểu và trả lời các câu hỏi SGK Hoạt động giáo viên Hoạt động học sinh Nội dung - Đ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 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: - Đọc yêu cầu câu hỏi và Câu 1: bài tập cuối chương trang 13 - Ngôn ngữ bậc cao gần với ngôn ngữ tự nhiên hơn, SGK thuận tiện cho đông đảo người lập trình - Suy nghĩ để đưa phương án - Chương trình viết trả lời 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à - Suy nghĩ, trả lời câu hỏi 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 - Đặt câu hỏi 2: Chương trình - Suy nghĩ, trả lời câu hỏi Câu 2: dịch là gì? Tại cần phải có - Chương trình dịch là chương trình dịch? 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 - Đặt câu hỏi 3: Biên dịch và - Suy nghĩ, trả lời câu hỏi, cho Câu 3: Trang GV: Võ Minh Hoàng Lop11.com (10) Trường THPT Huỳnh Thúc Kháng Giáo án Tin học 11 thông dịch khác ví dụ nào? - Phân tích câu trả lời học sinh - Đặ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 ý - 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 Câu 4: - Suy nghĩ, trả lời, giải thích - Tên dành riêng không câu hỏi, dùng khác với ý nghĩa đã xác định, tên chuẩn có thể dùng với ý nghĩa khác VD: Tên dành riêng Pascal: program, uses, const, type, var, begin, end Tên chuẩn: Pascal abs, integer 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 Trang 10 GV: Võ Minh Hoàng Lop11.com (11) Trường THPT Huỳnh Thúc Kháng Giáo án Tin học 11 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 đó Câu 6: 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 - Đặ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: a) 150.0 b) –22 c) 6,23 d) ‘43’ e) A20 f) 1.06E-15 g) 4+6 h) ‘C i) ‘TRUE’ - Nhận xét, giải thích Hoạt động 2: Củng cố - Ô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 Trang 11 GV: Võ Minh Hoàng Lop11.com (12) Trường THPT Huỳnh Thúc Kháng Ngày soạn: 08/09/09 Tiết: Giáo án Tin học 11 CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN Bài 3: CẤU TRÚC CHƯƠNG TRÌNH Bài 4: MỘT SỐ KIỂU DỮ LIỆU CHUẨN I Mục tiêu: Kiến thức - Biết cấu trúc chung chương trình Kỹ năng: - Nhận biết phần cấu trúc Tư – thái độ: - Tư logic II Tiến trình tiết dạy: Ổn định lớp, kiểm tra sỉ số Nội dung bài mới: Hoạt động 1:Tìm hiểu cấu trúc chung chương trình Hoạt động giáo viên Hoạt động học sinh Cho học sinh đọc phần “cấu Đọc sách trúc chung” - Hỏi: “Cấu trúc chung gồm - phần: phần” + phần khai báo + phần thân Nội dung Bài 3: CẤU TRÚC CHƯƠNG TRÌNH Cấu trúc chung: [<phần khai báo>] <phần thân> Hoạt động 2: Tìm hiểu các thành phần chương trình-ví dụ chương trình đơn giản - Yêu cầu học sinh đọc SGK phần khai báo Sau đó trả lời Đọc sách câu hỏi + Trong phần khai báo có + Khai báo tên chương trình phần khai báo? + Khai báo thư viện + Khai báo + Khai báo biến Các thành phần chương trình: a Phần khai báo a1 Khai báo tên chương trình - program <tên chương trình>; + Tên chương trình: người lập trình tự đặt + ví dụ: program vi_du; a2 Khai báo thư viện Trang 12 GV: Võ Minh Hoàng Lop11.com (13) Trường THPT Huỳnh Thúc Kháng Giáo án Tin học 11 - Yêu cầu học sinh đọc SGK phần thân chương trình Sau đó trả lời câu hỏi: + Dấu hiệu phân biệt phần thân chương trình? Dãy lệnh phạm vi xác định cặp dấu hiệu mở đầu (Begin) và kết thúc (End) tạo thành thân chương trình - Yêu cầu học sinh đọc SGK phần ví dụ chương trình Sau đó trả lời câu hỏi: + Trong vd1: đâu là phần khai báo đâu là phần thân chương trình? Đọc sách: Program vd1; là phần khai báo Begin Write(‘chao cac ban’); End là phần thân chương trình - Cho học sinh quan sát nhận - Hai chương trình cùng thực xét chương trình ngôn công việc viết ngữ khác ngôn ngữ khác nên hệ thống các câu lệnh - Giải thích dòng lệnh chương trình khác uses <tên các thư viện>; + ví dụ: pascal uses crt; a3 Khai báo const <tên hằng=gía trị>; + ví dụ: const N=100; a4 Khai báo biến var <danh sách biến>:<kiểu liệu biến>; b Phần thân chương trình Trong pascal phần 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> main() { printf(“chao các ban”); } Hoạt động 3: Tìm hiểu số kiểu liệu chuẩn Trong toán học để thực Bài 4: MỘT SỐ KIỂU DỮ tính toán cần phải có các Tập hợp số tự nhiên, nguyên, LIỆU CHUẨN hữu tỉ, thực tập số Đó là các tập số nào ? Trong lập trình Pascal có các tập hợp, tập hợp có Đọc sách giới hạn định Yêu cầu học sinh nghiên cứu SGK Trả lời các câu hỏi sau: Kiểu nguyên: Kiểu Bộ nhớ lưu Phạm Trang 13 GV: Võ Minh Hoàng Lop11.com vi (14) Trường THPT Huỳnh Thúc Kháng - Có bao nhiêu kiể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 Giáo án Tin học 11 - Có kiểu : kiểu nguyên, thực, kí tự, lôgic - Có loại : Byte, word, integer, longint trữ 1gtrị gtrị Byte byte 0-255 Integer byte -215->215-1 Word byte 0->216-1 Longint byte -231->231-1 Kiểu thực - Có loại: Real, extended - Trong ngôn ngữ Pascal, có kiểu kí tự nào thường - Có loại: Char dùng, phạm vi biểu diễn loại - Trong ngôn ngữ Pascal, có - Có loại: Boolean kiểu logic nào thường dùng, phạm vi biểu diễn loại Kiểu Bộ nhớ lưu trữ 1gtrị Phạm gtrị Real byte có gtrị tuyệt đối nằm phạm vi từ 10-38 đến 1038 Integer byte -215->215-1 Kiểu kí tự: Kiểu Bộ nhớ lưu trữ gtrị Phạm gtrị Char byte 256 kí tự mã ASCII Kiểu Bộ nhớ lưu trữ gtrị Phạm gtrị Boolean byte True false Trang 14 Lop11.com vi Kiểu Logic III Cũng cố, bài tập nhà Xem có loại kiểu liệu chuẩn ? Cấu trúc khai báo biến ? Mỗi em cho ví dụ Khai báo biến (hôm sau trả lời) GV: Võ Minh Hoàng vi vi (15) Trường THPT Huỳnh Thúc Kháng Giáo án Tin học 11 Ngày soạn : 11/09 /2009 Tiết: Bài 5: KHAI BÁO BIẾN Bài 6: PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN I Mục tiêu Kiến thức - Cách khai báo biến 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: - Khai báo biến đúng cấu trúc - 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 Tư và thái độ : - Phát triển tư lôgic, linh hoạt, có tính sáng tạo - Biết thể tính cẩn thận chính xác tính toán lập luận II Tiến trình tiết dạy: Ổn định lớp, kiểm tra sỉ số: Kiểm tra bài cũ: Câu 1: Nêu cấu trúc chung chương trình Câu 2: Nêu cấu trúc các phần khai báo: tên chương trình, hằng, thư viện Nội dung bài mới: Hoạt động Khai báo biến Hoạt động giáo viên Hoạt động học sinh Nội dung Bài 5: KHAI BÁO BIẾN Khai báo biến Var <danh sách biến> :<kiểu Yêu cầu học sinh nghiên cứu Đọc sách sách GK và cho biết vì phải Mọi biến dùng chương liệu>; Danh sách biến: SGK trình phải khai báo tên khai báo biến ? biến và kiểu liệu biến Kiểu liệu : SGK Tên biến dùng để xác lập quan Ví dụ: chương trình ta Trang 15 GV: Võ Minh Hoàng Lop11.com (16) Trường THPT Huỳnh Thúc Kháng Giáo án Tin học 11 hệ biến với địa nhớ cần dùng biến a kiểu số nơi lưu giữ giá trị biến nguyên, b kiểu số thực Cho ví dụ: Var x,y,z : Word; Var a : integer; H: in teger; b : real; Yêu cầu học sinh cho ý kiến Khai báo x,y,z đúng, H sai ví dụ Hoạt động 2: Tìm hiểu phép toán Khi viết chương trình ta phải sử dụng các phép 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 ? Tất các ngôn ngữ có sử dụng cách giống hay không - Toán học có phép toán nào? - Các phép toán đó có dùng NNLT hay không? + Một số phép toán dùng và số phép toán phải sử dụng từ các phép toán khác - Ghi số phép toán lên bảng Chú ý lắng nghe Bài 6: PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN Phép toán: NNLT Pascal sử dụng số phép toán sau: + Số nguyên: + , - , *, / , DIV, MOD + Số thực: + , - , *, / , + Phép toán quan hệ: <, <=, > Suy nghĩ và đưa số phép , >=, =, < > + Phép toán logic: AND, OR, toán thường dùng: NOT Phép cộng, trừ, nhân, chia Nghiên cứu SGK và cho biết các nhóm phép toán - Chỉ sử dụng cho kiểu số nguyên - Phép DIV, MOD sử - Kiểu logic dụng cho kiểu liệu nào? - Kết phép toán quan hệ thuộc kiểu liệu nào? Hoạt động 3: Tìm hiểu biểu thức, hàm số học chuẩn: - Trong toán học biểu thức là - Suy nghĩ và đưa khái niệm gì? - Trong tin học khái niệm biểu thức lập trình? - Cách viết các biểu thức lập trình có giống cách viết 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 Trang 16 GV: Võ Minh Hoàng Lop11.com (17) Trường THPT Huỳnh Thúc Kháng Giáo án Tin học 11 toán học hay không? - Treo tranh có chứa các biểu - Quan sát tranh và trả lời : 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 diễn các biểu thức toán học thành biểu thức NNLT 4x - 2y 4*x-2*y x+1/(x-y) x+ VD: ( SGK - 25) * Chú ý : Thứ tự thực các phép toán: + Trong ngoặc trước, ngoài ngoặc sau + Nhân, chia, chia nguyên, chia lấy dư trước, cộng, trừ sau x y abc 2a c b - b2 c ac ((a+b+c)/((2*a /b)+c)) - (b*bc)/a*c - Trong toán học ta đã làm quen - Hàm trị tuyệt đối, hàm bậc với số hàm số học, hãy kể 2, hàm sin tên? - Muốn tính ax2 + ta viết - HS trả lời: 2*x*x+1 nào? - Muốn tính x , x , sinx ta - HS chưa trả lời làm nào? Tính các giá trị đó cách đơn giản người ta đã xây dựng sẵn số đơn vị chương trình các thư viện chương trình giúp người lập trình tính toán nhanh - Treo tranh chứa bảng số hàm chuẩn Yêu cầu: Học sinh điền thêm Nghiên cứu SGK - 26 và quan số thông tin với các chức sát tranh vẽ, lên bảng điền tranh hàm - Cho biểu thức x - Hàm số học chuẩn: Cách viết cho số hàm số học chuẩn : Tên hàm (đối số) + Đối số là hay nhiều biểu thức số học đặt dấu ngoặc ( ) sau tên hàm VD: (SGK - 26) x / x2 – - Suy nghĩ và trả lời: Hãy biểu diễn biểu thức toán (abs(x)-sqrt(2*x+1)/(x* x-1) Biểu thức quan hệ: Cấu trúc chung: <BT1> < phép toán quan hệ > Trang 17 GV: Võ Minh Hoàng Lop11.com (18) Trường THPT Huỳnh Thúc Kháng Giáo án Tin học 11 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 - Trả lời: - Cho ví dụ biểu thức x + y < 2* x*y quan hệ - Kết mà phép toán quan hệ - Kiểu logic thuộc kiểu liệu nào đã học? -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: 2< x Trong Pascal cần phải tách <BT2> + đó BT1 và BT2 phải cùng kiểu + Kết biểu thức quan hệ là TRUE FALSE VD: - > Biểu thức logic - Lắng nghe, theo dõi sự dẫn - Biểu thức logic đơn giản là dắt Gv để trả lời biến logic - Dùng để liên kết nhiều biểu thức quan hệ lại với VD: ( SGK - 28) - Kết hợp SGK, trả lời: (2< x) and (x<=8 ) thành < x và x nào? Hoạt động 4: Tìm hiểu lệnh gán Mỗi NNLT có cách viết lệnh - Quan sát ví dụ và suy nghĩ để Câu lệnh gán gán khác nhau, chẳng hạn trả lời - Lệnh gán là cấu trúc NNLT, thường dùng Pascal có lệnh gán sau: i:= + để gán gái trị cho biến - Giải thích: Lấy cộng với 1, đem kết đặt vào i, ta Cấu trúc: y= - Cần chú ý điều gì viết lệnh - Đưa ý kiến < tên_biến>:= <biểu thức>; gán? - Phân tích câu trả lời học sinh sau đó tổng hợp lại - Lệnh gán là gì ? VD: - Minh họa vài ví dụ khác x:= (b*b-4* a*c); Trang 18 GV: Võ Minh Hoàng Lop11.com (19) Trường THPT Huỳnh Thúc Kháng 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; 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 ? Giáo án Tin học 11 - Suy nghĩ và đưa vài ví dụ tương tự i:= i+1; j:= j-1; - Quan sát và trả lời: i = và j = III Củng cố, dặn dò: - Nhắc lại số khái niệm về: + Các phép toán : Số học, quan hệ, logic + Cấu trúc lệnh Pascal: tên_biến := biểu_thức; - 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, Trang 19 GV: Võ Minh Hoàng Lop11.com (20) Trường THPT Huỳnh Thúc Kháng Giáo án Tin học 11 Ngày soạn: 15/09/2009 Bài 7: CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN Bài 8: SOẠN THẢO, DỊCH, THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH Tiết: 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 Tiến trình tiết dạy: Ổn định lớp, kiểm tra sỉ số: Nội dung bài mới: Hoạt động 1: Tìm hiểu thủ tục nhập liệu từ bàn phím Hoạt động giáo viên - Khi giải bài toán, đại lượng đã biết 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 READLN là xuống dòng - Thủ tục READLN không có tham số, có chức làm gì? Hoạt động học sinh - Ta có lệnh để nhập - Nghe và ghi bài Nội dung 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 cách phím Enter Trang 20 GV: Võ Minh Hoàng Lop11.com (21)