GV: Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết cấu trúc chung của thủ tục nhập dữ liệu trong ngôn ngữ lập trình Pascal: GV: Nêu ví dụ: Khi viết chương trình giải phương trình[r]
(1)Giáo án tin học 11 Năm Học 2009-2010 Tiết: 01 Ngày soạn: 16/08/09 Chương 1: MỘT SỐ KHÁI NIỆM 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 đích, yêu cầu: 1./ Kiến thức: - Biết khái niệm lập trình và ngôn ngữ lập trình - Biết khái niệm chương trình dịch - Phân biệt hai loại chương trình dịch là biên dịch và thông dịch 2./ Kỹ năng: 3./ Thái độ: HS có thái độ học tập nghiêm túc II./ Chuẩn bị: 1./ Chuẩn bị thầy: Giáo án, sách giáo khoa 2./ Chuẩn bị trò: sách giáo khoa IV./ Hoạt động dạy học: Ổn định lớp Kiểm tra bài cũ: Nội dung bài mới: Hoạt động GV và HS Nội dung Nội dung bài toán đặt vấn đề: Kết luận Ví dụ: Tìm nghiệm pt: ax+b=0 nghiệm phương trình ax+b=0 - Input : a, b GV: Hãy xác định các yếu tố Input và - Output : x=-b/a, Vô nghiệm, Vô số nghiệm Output bài toán? Bước : Nhập a,b HS: trả lời Bước : Nếu a<>0 kết luận có nghiệm x=-b/a GV: Hãy xác định các bước để tìm output? Bước : Nếu a=0 và b<>0, kết luận Vô nghiệm HS: trình bày GV: Diễn giải; Hệ thống các bước này Bước : Nếu a=0 và b=0, kết luận Vô số gọi là thuật toán nghiệm - Nếu trình bày thuật toán với người nước ngoài, em dùng ngôn ngữ nào để diễn đạt? HS: Ngôn ngữ Tiếng Anh GV: Nếu diễn đạt thuật toán này cho máy hiểu, em dùng ngôn ngữ nào? HS: Em dùng ngôn ngữ lập trình GV: Diễn giải: Hoạt động để diễn đạt thuật toán thông qua ngôn ngữ lập trình -Lập trình là việc sử dụng cấu trúc liệu và gọi là lập trình các lệnh ngôn ngữ lập trình cụ thể để mô tả GV: Yêu cầu học sinh đọc sách giáo khoa và liệu và diễn đạt các thao tác thuật toán cho biết khái niệm lập trình HS: trả lời GV: Hỏi: kết hoạt động lập trình? HS: Ta chương trình GV: Yêu cầu các em nêu các loại ngôn ngữ lập trình mà em biết GV: Đỗ Thị Ngọc Lan -1 Lop11.com (2) Giáo án tin học 11 Năm Học 2009-2010 HS: trả lời - Hỏi: Em hiểu nào ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao? HS: trả lời GV: Hỏi: Làm nào để chuyển chương trình viết từ ngôn ngữ bậc cao sang ngôn ngữ máy? HS: trả lời GV: Hỏi: Vì không lập trình trên ngôn ngữ máy để khỏi phải công chuyển đổi mà người ta thường lập trình ngôn ngữ bậc cao? HS: trả lời GV nhận xét và bổ sung 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: Cách 1: 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 2: Em soạn nội dung cần 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 cho người khách GV: Hãy lấy ví dụ tương tự thực tế biên dịch và thông dịch từ tiếng Anh sang tiếng Việt HS: Trả lời GV: Yêu cầu học sinh nghiên cứu sách giáo khoa và sử dụng các ví dụ trên biết các bước tiến trình thông dịch và biên dịch Ngôn ngữ lập trình - Ngôn ngữ máy - Hợp ngữ - Ngôn ngữ bậc cao Thông dịch và biên dịch - Biên dịch: Bước : Duyệt, phát lỗi, kiểm tra tính đúng đắn lệnh chương trình nguồn Bước : Dịch toàn chương trình nguồn thành chương trình trên ngôn ngữ máy (thuận tiện cho các chương trình ổn định và cần thực nhiều lần) - Thông dịch: Bước : Kiểm tra tính đúng đắn lệnh chương trình nguồn Bước : Chuyển lệnh đó thành ngôn ngữ máy Bước : Thực các câu lệnh vừa chuyển đổi V Đánh giá cuối bài: * Những điểm cần lưu ý bài: - Khái niệm lập trình và ngôn ngữ lập trình - Có ba loại ngôn ngữ lập trình: Ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao - Khái niệm chương trình dịch - Có hai loại chương trình dịch là biên dịch và thông dịch * Câu hỏi và bài tập nhà: - Trả lời các câu hỏi 1, 2, 3, sách giáo khoa, trang 13 - Xem bài đọc thêm 1: Em biết gì các ngôn ngữ lập trình? sách giáo khoa trang - Xem trước bài học: Các thành phần ngôn ngữ lập trình VI/ Nhận xét rút kinh nghiệm: GV: Đỗ Thị Ngọc Lan -2 Lop11.com (3) Giáo án tin học 11 Năm Học 2009-2010 Tiết: 02 Ngày soạn: 17/08/09 BÀI 2: CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH I./ Mục đích, yêu cầu: 1./ Kiến thức: - Nắm các thành phần ngôn ngữ lập trình nói chung Một ngôn ngữ lập trình có ba thành phần: Bảng chữ cái, cú pháp và ngữ nghĩa - Biết số khái niệm như: tên, tên chuẩn, tên dành riêng, tên người lập trình đặt, hằng, biến và chú thích 2./ Kỹ năng: - Phân biệt tên chuẩn với tên dành riêng và tên tự đặt - Nhớ các quy định tên, và biến - Biết đặt tên đúng và nhận biết tên sai quy định - Sử dụng đúng chú thích 3./ Thái độ: HS có thái độ học tập nghiêm túc, sôi II./ Chuẩn bị: 1./ Chuẩn bị thầy: Giáo án, sách giáo khoa 2./ Chuẩn bị trò: sách giáo khoa IV./ Hoạt động dạy học: ổn định lớp Kiểm tra bài cũ Nội dung bài Hoạt động GV và HS Nội dung GV: Đặt vấn đề: Có yếu tố nào dùng để Các thành phần bản: a) Bảng chữ cái: A B C D E F G H I J K L M N xây dựng nên ngôn ngữ tiếng Việt? OPQRSTUVWXYZ HS: Bảng chữ cái tiếng Việt, số, dấu HS:Cách ghép ký tự thành từ, ghép từ thành a b c d e f g h i j k l m n o p q r s t u v w x y z Hệ đếm: câu Ký hiệu đặc biệt: HS: Ngữ nghĩa từ và câu GV: Diễn giảng: Trong ngôn ngữ lập trình + - * / = < > [ ] , _ ; # ^ $ & ( ) tương tự vậy, nó gồm có các thành { } : ‘ b) Cú pháp phần: Bảng chữ cái, cú pháp và ngữ nghĩa c) Ngữ nghĩa GV: Yêu cầu HS trả lời các câu hỏi: - Hãy nêu các chữ cái bảng chữ cái tiếng Anh - Nêu các ký số hệ đếm thập phân - Nêu số ký hiệu đặc biệt khác HS: Nghiên cứu sách giáo khoa và trả lời Một số khái niệm: GV: Nhận xét , bổ sung GV: Đặt vấn đề: Mọi đối tượng chương a) Tên: - Gồm chữ số, chữ cái, dấu gạch trình phải đặt tên - Bắt đầu chữ cái dấu gạch GV: Hãy nghiên cứu sách giáo khoa, trang 10, - Độ dài không quá 127 để nêu quy cách đặt tên Turbo Pasacl? + Tên dành riêng: là tên ngôn ngữ GV: Đỗ Thị Ngọc Lan -3 Lop11.com (4) Giáo án tin học 11 Năm Học 2009-2010 HS: Phát biểu hiểu biết mình lập trình quy định dùng với ý nghĩa xác định, người GV: Ghi lên bảng các tên đúng-sai, yêu cầu lập trình không dùng với ý nghĩa khác học sinh chọn tên đúng + Tên chuẩn: là tên ngôn ngữ lập trình quy định dùng với ý nghĩa nào đó, A A BC người lập trình có thể định nghĩa lại để dùng nó 6Pq với ý nghĩa khác R12 + Tên người lập trình đặt: là tên dùng X#y theo ý nghĩa riêng người lập trình, tên _45 này khai báo trước sử dụng Các tên HS: Chọn đáp án đúng không trùng với tên dành riêng GV: Yêu cầu học sinh nghiên cứu sách giáo khoa, Tên dành riêng: Program type (trang 10-11) để biết các khái niệm tên dành Tên chuẩn: Abs Interger Byte riêng, tên chuẩn và tên người lập trình đặt Tên tự đặt: Xyx Tong HS: trả lời b) Hằng, biến và chú thích: GV: Yêu cầu học sinh cho số ví dụ * Hằng: - Hằng số học là các số nguyên và số thực, có số, xâu và logic dấu không dấu HS: Nghiên cứu sách giáo khoa và trả lời GV: Trình bày khái niệm số, xâu - Hằng xâu: là chuỗi ký tự mã ASCII, đặt cặp dấu nháy và logic - Hằng logic: là giá trị đúng (True) sai HS: Trả lời HV Ghi bảng: yêu cầu HS xác định số và (False) xâu các sau: -32767 ‘QB’ ‘50’ 1.5E+2 HS: Trả lời GV Yêu cầu học sinh nghiên cứu sách giáo * Biến: -Biến là đại lượng đặt tên dùng để khoa, cho biết khái niệm biến lưu trữ giá trị Giá trị này có thể thay đổi HS: Cho ví dụ số biến quá trình thực chương trình Các biến GV: Yêu cầu học sinh nghiên cứu sgk và cho biết dùng chương trình phải khai báo chức chú thích chương trình - Ví dụ hai tên biến là: Tong, xyz HS:Trả lời và cho ví dụ dòng chú thích * Chú thích: Chú thích đặt cặp dấu { GV: Hỏi: Tên biến và tên là tên dành riêng } (* *) dùng để giải thích cho chương trình rõ ràng dễ hiểu hay tên chuẩn hay tên người lập trình đặt? HS: Là tên người lập trình đặt GV: Hỏi: Các lệnh viết cặp dấu { } có TP thực không? vì sao? Không Vì đó là dòng chú thích V Củng cố: * Những điểm cần lưu ý bài: - Thành phần ngôn ngữ lập trình: bảng chữ, cú pháp và ngữ nghĩa - Khái niệm: tên, tên chuẩn, tên dành riêng, tên người lập trình đặt, hằng, biến và chú thích VI/ Nhận xét rút kinh nghiệm: Tiết: 03 GV: Đỗ Thị Ngọc Lan -4 Lop11.com (5) Giáo án tin học 11 Năm Học 2009-2010 Ngày soạn: 02/10/09 BÀI TẬP I./ Mục đích, yêu cầu: 1./ Kiến thức: - Nắm cách đặt tên biến, chú thích ngôn ngữ lập trình - Phân biệt thông dịch và biên dịch - Phân biệt tên dành riêng và tên chuẩn 2./ Kỹ năng: - Có thể đặt tên biến và sử dụng chú thích cần thiết 3./ Thái độ: HS có thái độ học tập nghiêm túc, tự giác, sôi II./ Chuẩn bị: 1./ Chuẩn bị thầy: Giáo án, sách giáo khoa 2./ Chuẩn bị trò: sách giáo khoa IV./ Hoạt động dạy học: Ổn định lớp Kiểm tra bài cũ:- Hãy cho biết tên là gì, tên chuẩn, tên dành riêng? Cách đặt tên Pascal? Nội dung bài Hoạt động GV và HS Nội dung - Gọi HS nhắc lại nội dung bài trước đã học Câu 4: Tên dành riêng không dùng khác với + Cách đặt tên biến ý nghĩa đã xác định, tên chuẩn có thể dùng với ý nghĩa khác + Sử dụng + Chú thích Câu 5: Gợi ý: Pascal, tên đặt tuân theo các quy tắc sau: GV: Gọi HS trả lời các câu hỏi và bài tập sgk - Chỉ bao gồm chữ cái, chữ số và dấu gạch HS: lên bảng làm bt 5, 6/sgk, bạn còn - Không bắt đầu chữ số - Độ dài theo quy định trình dịch(TP không lại làm vào quá 127 kí tự, Free Pascal không quá 255 kí tự) GV: Nhận xét và bổ sung Tuy nhiên, không nên đặt tên quá dài hay quá ngắn mà nên đặt cho gợi nhớ ý nghĩa đối tượng mang tên đó Các câu còn lại HS tự làm V Đánh giá cuối bài: * Những điểm cần lưu ý bài: - Cách đặt tên biến - Sử dụng - Chú thích * Bài tập nhà: HS làm các bài tập sgk và sbt VI/ Nhận xét rút kinh nghiệm: Tiết: 04 GV: Đỗ Thị Ngọc Lan -5 Lop11.com (6) Giáo án tin học 11 Năm Học 2009-2010 Ngày soạn: 25/08/09 Chương II: CHƯƠNG TRÌNH ĐƠN GIẢN BÀI 3, 4: CẤU TRÚC CHƯƠNG TRÌNH, MỘT SỐ KIỂU DỮ LIỆU CHUẨN I./ Mục đích, yêu cầ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: nguyên, thực, ký tự, logic - Biết cấu trúc chung khai báo biến Kĩ năng: Sử dụng kiểu liệu và khai báo biến để viết chương trình đơn giản Thái độ: HS có thái độ học tập nghiêm túc II./ Chuẩn bị: Chuẩn bị thầy: Giáo án, sách giáo khoa Chuẩn bị trò: sách giáo khoa III./ Hoạt động dạy học: Ổn định lớp Kiểm tra bài cũ Nội dung bài học * Hoạt động 1: Tìm hiểu cấu trúc chung chương trình Hoạt động GV và HS Nội dung GV: gợi ý: Một bài tập làm văn em thường viết Cấu trúc chung: có phần? Các phần có thứ tự không? Vì + Hai phần: [<phần khai báo>] phải chia vậy? <phần thân chương trình> HS: Lắng nghe và suy nghĩ trả lời: - Có ba phần - Có thứ tự : Mở bài, thân bài, kết luận Các thành phần chương trình: - Dễ viết, dễ đọc, dễ hiểu nội dung GV: Yêu cầu học sinh nghiên cứu sách giáo - Khai báo tên chương trình, khai báo thư viện chương trình con, khai báo hằng, khai báo biến khoa để trả lời các câu hỏi sau: và khai báo chương trình - Một chương trình có cấu trúc phần? - Cấu trúc: Program ten_chuong_trinh; HS: Trả lời - Trong phần khai báo, có khai báo nào? - Ví dụ: Program tinh_tong; - Cấu trúc: Uses tên_thư_viện; HS: Trả lời - Yêu cầu học sinh lấy ví dụ khai báo tên - Ví dụ: Uses crt ; - Cấu trúc: Const tên_hằng = giá_trị; chương trình ngôn ngữ Pascal - Ví dụ: Const maxn=100; HS: Trả lời - Yêu cầu học sinh lấy ví dụ khai báo thư viện -Cấu trúc: Var tên_biến = Kiểu_dữ_liệu; - Ví dụ: Var a, b, c : integer; chương trình ngôn ngữ Pascal Begin HS: Trả lời Dãy các lệnh; - Yêu cầu học sinh lấy ví dụ khai báo End ngôn ngữ Pascal HS: Trả lời - Yêu cầu học sinh lấy ví dụ khai báo biến ngôn ngữ Pascal HS: Trả lời GV: Đỗ Thị Ngọc Lan -6 Lop11.com (7) Giáo án tin học 11 Năm Học 2009-2010 -Yêu cầu học sinh cho biết cấu trúc chung phần thân chương trình ngôn ngữ lập trình Pascal Chương trình đơn giản: HS: Trả lời - chương trình đơn giản ngôn ngữ C++ GV: Hướng dẫn HS tìm hiểu chương trình # Include <stdio.h> đơn giản void main() - Hỏi: Phần khai báo chương trình? { HS: Trả lời Printf(“Xin chao cac ban”); - Hỏi: Phần thân chương trình, lệnh printf } có chức gì? - chương trình đơn giản ngôn ngữ Pascal: HS: Trả lời Program VD1; GV: Ghi lên bảng chương trình đơn giản Var x,y:byte; t:word; ngôn ngữ Pascal Begin GV hỏi: Phần khai báo chương trình? t:=x+y; GV hỏi: Phần thân chương trình? Có lệnh writeln(t); nào thân chương trình? readln; HS: Trả lời End GV: Yêu cầu học sinh lấy ví dụ chương trình Pascal không có phần tên và phần khai báo * Hoạt động 2: Một số kiểu liệu chuẩn GV: Đặt vấn đề: Trong toán học, để thực tính 1./Kiểu nguyên: - Có loại: Byte, word, integer và toán ta cần phải có các tập số Đó là các tập số nào? longint HS: Số tự nhiên, Số nguyên, số hữu tỷ, số thực GV: Diễn giải: Cũng tương tự vậy, ngôn ngữ lập trình Pascal, để lập trình giải các bài toán, cần có các tập hợp, tập hợp có giới hạn định GV: Các em có thể hiểu nôm na: Kiểu liệu chuẩn là tập hữu hạn các giá trị, kiểu liệu cần dung lượng nhớ cần thiết để lưu trữ và xác định các phép toán có thể tác động lên liệu GV: Yêu cầu học sinh nghiên cứu sách giáo khoa, trả lời các câu hỏi sau: - 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 số thực nào thường dùng, phạm vi biểu diễn loại? - Trong ngôn ngữ Pascal, có bao nhiêu kiểu ký tự? - Trong ngôn ngữ Pascal, có bao nhiêu kiểu logic, gồm Kiểu thực: các giá trị nào? - Có loại: Real, extended HS: Chú ý lắng nghe và trả lời Kiểu kí tự: GV: giải thích số vấn đề cho học sinh: GV: Đỗ Thị Ngọc Lan -7 Lop11.com (8) Giáo án tin học 11 Năm Học 2009-2010 + Vì phạm vi biểu diễn các loại kiểu nguyên khác - Có loại: Char nhau? Kiểu logic: + Miền giá trị các loại kiểu thực, số chữ số có nghĩa? - Có loại: Boolean, gồm phần tử: True và False HS: Trả lời V Đánh giá cuối bài: * Những điểm cần lưu ý bài: - Một chương trình gồm có hai phần: phần khai báo và phần thân - Các kiểu liệu chuẩn: kiểu số nguyên, kiểu số thực, kiểu ký tự, kiểu logic * Bài tập nhà: Làm bài tập sgk và sbt VI/ Nhận xét rút kinh nghiệm: Tiết: 05 Ngày soạn: 06/09/09 BÀI 5, 6: KHAI BÁO BIẾN; CÁC PHÉP TOÁN ,BIỂU THỨC CÂU LỆNH GÁN I./ Mục đích, yêu cầu: 1./ Kiến thức: GV: Đỗ Thị Ngọc Lan -8 Lop11.com (9) Giáo án tin học 11 Năm Học 2009-2010 - Biết các phép toán thông dụng ngôn ngữ lập trình - Biết diễn đạt biểu thức ngôn ngữ lập trình - Biết chức lệnh gán - Biết cấu trúc lệnh gán và số hàm chuẩn thông dụng ngôn ngữ lập trình Pascal - Biết cấu trúc chung khai báo biến Kĩ - Sử dụng kiểu liệu và khai báo biến để viết chương trình đơn giản - Sử dụng các phép toán để xây dựng biểu thức - Sử dụng lệnh gán để viết chương trình Thái độ: Có thái độ học tập nghiêm túc II./ Chuẩn bị: 1./ Chuẩn bị thầy: Giáo án, sách giáo khoa 2./ Chuẩn bị trò: sách giáo khoa III./ Hoạt động dạy học: Ổn định lớp Kiểm tra bài cũ: Nêu các thành phần ngôn ngữ lập trình? Kể tên số kiểu liệu chuẩn Nội dung bài mới: *Hoạt động 1: Tìm hiểu cách khai báo biến: Hoạt động GV và HS Nội dung GV: Yêu cầu học sinh ngiên cứu sách giáo khoa và cho biết * Cấu trúc chung khai báo vì phải khai báo biến? biến ngôn ngữ Pascal HS: Mọi biến dùng chương trình phải khai - Var <danh sách biến>: <kiểu báo tên biến và kiểu liệu biến Tên biến dùng để xác liệu>; lập quan hệ biến với địa nhớ nơi lưu giữ giá trị Ví dụ: Var x: word; biến GV: Cấu trúc chung khai báo biến ngôn ngữ y: char; Pascal? HS: trả lời GV: Cho ví dụ để khai báo biến nguyên và biến kiểu ký tự? HS: Trả lời GV: Đưa số khai báo và yêu cầu học sinh chọn khai báo đúng ngôn ngữ lập trình Pascal? Var x, y, z: word; n 1: real; X: longint; h: in tegr; i:byte; HS: Trả lời: Var x, y, z: word; GV: Đỗ Thị Ngọc Lan -9 Lop11.com (10) Giáo án tin học 11 Năm Học 2009-2010 i: byte; GV Đưa số khai báo biến Pascal - Hỏi: Có bao nhiêu biến tất cả, nhớ phải cấp phát là bao nhiêu? Var x, y: word; z: longint; h: integer; i:byte; HS trả lời: - Có biến - Tổng nhớ cần cấp phát x (2 byte); y (2 byte); z (4 byte); h(2 byte); i (1 byte); Tổng 11 byte * Hoạt động 2: Các phép toán, biểu thức, câu lệnh gán: GV: Đặt vấn đề: Để mô tả các thao tác thuật toán, ngôn ngữ lập trình sử dụng số khái niệm bản: phép toán, biểu thức, gán giá trị GV: Hãy kể các phép toán em đã học toán học? HS: Suy nghĩ và trả lời GV diễn giải: Trong ngôn ngữ lập trình Pascal có các phép toán đó diễn đạt cách khác GV: Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết các nhóm phép toán GV Hỏi: Phép Div, Mod sử dụng cho kiểu liệu nào? HS: Chỉ sử dụng cho kiểu nguyên GV hỏi: Kết phép toán quan hệ thuộc kiểu liệu nào? HS: Thuộc kiểu Logic GV Nếu vấn đề: Trong toán học ta đã làm quen với khái niệm biểu thức, hãy cho biết yếu tố xây dựng nên biểu thức HS: Suy nghĩ và trả lời GV: Nếu bài toán mà toán hạng là biến số, số hàm số và toán tử là các phép toán số học thì biểu thức có tên gọi là gì? HS: Trả lời GV: Đưa các biểu thức toán học lên bảng, yêu cầu: Sử dụng các phép toán số học, hãy biểu diễn biểu thức toán học sau thành biểu thức ngôn ngữ lập trình 2a+5b+c xy 2z GV: Đỗ Thị Ngọc Lan Phép toán: - Phép: cộng, trừ, nhân, chia, lấy số dư, chia lấy nguyên, so sánh - Các phép toán số học: + - * / div mod - Các phép toán quan hệ: <, <=, >, >=, =, <> - Các phép toán logic: And, Or, Not Biểu thức: - Biểu thức số học + Gồm hai phần: toán hạng và toán tử Thứ tự thực biểu thức số học: + Thực 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 2a+5b+c xy 2z -10 - Lop11.com (11) Giáo án tin học 11 Năm Học 2009-2010 x y x2 + 2z 1 z x y x2 + 2z 1 z HS: Lên bảng biểu diễn sang ngôn ngữ lập trình GV nêu vấn đề: Trong toán học ta đã làm quen với số hàm số học, hãy kể tên số hàm đó? HS: Trả lời GV: Trong số ngôn ngữ lập trình ta có số hàm diễn đạt cách khác GV: Đưa số hàm chuẩn, yêu cầu học sinh điền thêm các thông tin chức hàm, kiểu đối số và kiểu hàm số 2*a+5*b+c x*y/(2*z) ((x+y)/(1-(2/z)))+(x*x/(2*z)) - Hàm số học chuẩn: Hàm trị tuyệt đối, hàm bậc hai, hàm sin, hàm cos b b 4ac Ví dụ: 2a (-b+sqrt(b*b-4*a*c))/(2*a) b b 4ac GV: Cho biểu thức: , hãy biểu diễn biểu - Biểu thức quan hệ: 2a thức trên sang biểu thức ngôn ngữ lập trình HS: trả lời GV nêu vấn đề: Khi hai biểu thức số học liên kết với phép toán quan hệ ta biểu thức mới, biểu thức đó gọi là biểu thức gì? GV: Hãy lấy ví dụ biểu thức quan hệ? HS: trả lời GV: Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết cấu trúc chung biểu thức quan hệ? HS: Trả lời GV: Thứ tự thực biểu thức quan hệ? HS: Trả lời GV: Cho biết kết phép toán quan hệ thuộc kiểu liệu nào đã học? HS: Kiểu logic GV nêu vấn đề: Các biểu thức quan hệ liên kết với phép toán Logic gọi là biểu thức Logic GV: Hãy cho số ví dụ biểu thức logic HS: Trả lời GV: Trong toán học ta có biểu thức 5<=x<=11, hãy biểu biễn biểu thức này ngôn ngữ lập trình HS: Trả lời GV: Thứ tự thực biểu thức logic? HS: Trả lời GV: Kết biểu thức logic có kiểu liệu là gì? GV: Đưa bảng chân trị A và B, yêu cầu học sinh điền giá trị cho A and B; A or B; not A GV: Đỗ Thị Ngọc Lan Cấu trúc chung: <BT1> <phép toán qh> <BT2> Thứ tự thực biểu thức quan hệ: + Tính giá trị biểu thức + Thực phép toán quan hệ - Ví dụ: 2*x < y - Biểu thức lôgic: - Ví dụ: (A>B) or ((X+1)<Y) và (5>2) and ((3+2) <7) - Biểu diễn ngôn ngữ lập trình: (5<=x) and (x<=11) * Thứ tự thực biểu thức quan hệ: + Thực các biểu thức quan hệ + Thực phép toán logic -11 Lop11.com (12) Giáo án tin học 11 Năm Học 2009-2010 HS: Trả lời HS: Giới thiệu ví dụ lệnh gán Pascal sau: x := 4+8; GV: Giải thích: Lấy cộng 8, đem kết đặt vào x Ta X=12 GV hỏi: Hãy cho biết chức lệnh gán? HS: Trả lời GV: Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết cấu trúc chung lệnh gán ngôn ngữ Pascal? HS: trả lời GV: Hãy cho ví dụ để tính nghiệm phương trình bậc hai b b 4ac 2a Câu lệnh gán: Cấu trúc lệnh gán: <tên_biến>:=<biểu_thức>; Vídụ: x:=(-b+sqrt(b*b-4*a*c))/(2*a); - Chức lệnh gán: + Tính giá trị biểu thức + Gán giá trị tính vào tên biến GV: Giới thiệu thêm ví dụ: Cho chương trình Var i,z:integer; Begin z:=4; i:=6: z := z - 1; i := i+1; writeln(‘i=’,i); writeln(‘z=’,z); readln; End GV hỏi: Chương trình in màn hình giá trị bao nhiêu? HS: Trả lời - Thực chương trình để học sinh kiểm nghiệm kết tự suy luận V Đánh giá cuối bài: * Những điểm cần lưu ý bài: - Mọi biến chương trình phải khai báo Cấu trúc chung khai báo biến Pascal: Var tên_biến: tên_kiểu_dữ_liệu; - Các phép toán Turbo Pascal: số học, quan hệ và logic - Các biểu thức Turbo Pascal: số học, quan hệ và logic - Cấu trúc lệnh gán Turbo Pascal: tên_biến := biểu_thức; * Bài tập nhà - Làm các bài tập 5, 6, 7, 8, sách giáo khoa, trang 35-36 - Xem phụ lục A, sách giáo khoa trang 121: Một số phép toán thường dùng và giá trị phép toán logic VI/ Nhận xét rút kinh nghiệm: GV: Đỗ Thị Ngọc Lan -12 Lop11.com (13) Giáo án tin học 11 Năm Học 2009-2010 GV: Đỗ Thị Ngọc Lan -13 Lop11.com (14) Giáo án tin học 11 Năm Học 2009-2010 Tiết: 06 Ngày soạn: 15/09/09 BÀI 7, 8: CÁC THỦ TỤC VÀO/RA ĐƠN GIẢN; SOẠN THẢO, DỊCH, THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH I./ Mục đích, yêu cầu: 1./ Kiến thức: - Biết ý nghĩa các thủ tục vào/ra chuẩn lập trình - Biết cấu trúc chung thủ tục vào/ra ngôn ngữ lập trình Pascal - Biết các bước để hoàn thành chương trình - Biết các file chương trình Turbo Pascal 7.0 2./ Kỹ năng: - Viết đúng lệnh vào/ra liệu - Biết nhập đúng liệu thực chương trình - Biết khởi động và thoát hệ soạn thảo Turbo Pascal - Soạn chương trình vào máy - Dich chương trình để phát lỗi cú pháp - Thực chương trình để nhập liệu và thu kết quả, tìm lỗi thuật toán và sửa lỗi Thái độ: HS có thái độ học tập nghiêm túc II./ Chuẩn bị: 1./ Chuẩn bị thầy: Giáo án, sách giáo khoa, máy chiếu 2./ Chuẩn bị trò: sách giáo khoa IV./ Hoạt động dạy học: Ổn định lớp Kiểm tra bài cũ: Chuyển biểu thức b b 4ac sang biểu thức Pascal? 2a Nội dung bài mới: * Hoạt động 1: Tìm hiểu thủ tục vào/ra đơn giản: Hoạt động GV và HS GV: Nêu vấn đề giải bài toán, ta phải đưa liệu vào để máy tính xử lý, việc đưa liệu lệnh gán làm cho chương trình có tác dụng với liệu cố định Để chương trình giải nhiều bài toán hơn, ta phải sử dụng thủ tục nhập liệu GV: Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết cấu trúc chung thủ tục nhập liệu ngôn ngữ lập trình Pascal: GV: Nêu ví dụ: Khi viết chương trình giải phương trình ax+b=0, ta phải nhập vào các đại lượng nào? viết lệnh nhập? HS: nghiên cứu sách giáo khoa và suy nghĩ để trả lời GV: Chiếu chương trình Pascal đơn giản có lệnh nhập giá trị cho hai biến GV: Thực chương trình và thực nhập liệu GV: Đỗ Thị Ngọc Lan Nội dung Nhập liệu từ bàn phím: Read(<tên_biến_1>, ,<tên_biến_k>); Readln(<tên_biến_1>, ,<tên_biến_k>); - Viết lệnh: Readln(a,b); -14 Lop11.com (15) Giáo án tin học 11 Năm Học 2009-2010 GV hỏi: Khi nhập giá trị cho nhiều biến, ta phải thực nào? HS: Những giá trị này phải gõ cách ít dấu cách ký tự xuống dòng GV: Yêu cầu học sinh thực nhập liệu cho chương trình HS: Nghiên cứu sách giáo khoa và trả lời GV dẫn dắt: Sau xử lý xong, kết tìm được lưu nhớ Để thấy kết trên màn hình ta sử dụng thủ tục xuất liệu GV: Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết cấu trúc chung thủ tục xuất liệu ngôn ngữ lập trình Pascal: GV: Nêu ví dụ: Khi viết chương trình giải phương trình ax+b=0, ta phải đưa màn hình giá trị nghiệm –b/a ta phải viết lệnh nào? HS: trả lời GV: Chiếu chương trình Pascal đơn giản Program vd; Var x,y,z:ineteger; Begin Writeln(‘Nhap vao hai so: ’); Readln(x,y); z:=x+y; write(x:6, y:6, z:6); readln; end GV: Thực chương trình và thực nhập liệu để học sinh thấy kết trên màn hình GV hỏi: Chức lệnh Writeln(); GV hỏi: Ý nghĩa :6 lệnh Write( ) HS: Dành vị trí trên màn hình để viết số x, vị trí tiếp để viết số y và vị trí tiếp để viết số z GV hỏi: Khi các tham số lệnh Write() thuộc kiểu Char real thì quy định vị trí nào? HS: Khi các tham số có kiểu ký tự, việc quy định vị trí giống kiểu nguyên GV: yêu cầu HS cho ví dụ cụ thể với biến c kiểu Char và r kiểu real? HS: Ví dụ: Write(c:8); Write(r:8:3); GV: Đỗ Thị Ngọc Lan Đưa liệu màn hình: Write(<tên_biến_1>, ,<tên_biến_k>); Writeln(<tên_biến_1>, ,<tên_biến_k>) ; - Ví dụ: Writeln(-b/a); -15 Lop11.com (16) Giáo án tin học 11 Năm Học 2009-2010 * Hoạt động 2: Soạn thảo, dịch, thực và hiệu chỉnh chương trình GV: Đặt vấn đề: Để sử dụng Turbo Pascal, trên Làm quen với Turbo Pascal 7.0 máy phải có các file chương trình cần thiết Tham khảo sách giáo khoa và cho biết tên các file chương trình đó? HS: trả lời Turbo.exe ; Turbo.tpl ;Graph.tpu egavga.bgi và các file *.chr GV: Trình diễn cách khởi động Turbo Pascal thông qua máy chiếu Projector - Giới thiệu màn hình soạn thảo chương trình: Bảng chọn, trỏ, vùng soạn thảo GV: Soạn chương trình làm ví dụ, lưu chương trình, dịch lỗi Soạn thảo chương trình và GV: Dùng máy chiếu để minh họa thao tác lưu file dịch lỗi cú pháp chương trình và biên dịch - Lưu: F2 HS: Quan sát và ghi nhớ - Dịch lỗi: ALT_F9 - Lưu: F2 - Dịch lỗi: ALT_F9 GV: Soạn chương trình, hỏi các lỗi cú pháp chương trình, gọi học sinh dịch lỗi và sửa HS: Sửa thành Program vd1; Program vd1 var x,y:integer; var x:integer; Begin Bigen Write(‘Nhap mot so Write(‘Nhap mot so nguyen duong); nguyen duong’); readln(x); readln(x); y:=sqrt(x); y:=sqrt(x); write(y); write(y); End End Thực chương trình và tìm GV: Thực chương trình đã viết trên, nhập lỗi thuật toán để hiệu chỉnh liệu, giới thiệu kết - Thực chương trình: GV: Dùng máy chiếu để minh họa thao tác thực CTRL_F9 chương trình Var GV Hỏi: Nhóm phím dùng để thực chương trình? Begin HS: CTRL_F9 Readln(a,b); GV: Yêu cầu học sinh nhập liệu và thực chương If a<>0 then write(-b/a) trình else write(‘PTVN); GV: Giới thiệu chương trình giải phương trình ax+b=0 Readln; GV: Yêu cầu học sinh tìm test để chứng minh chương End trình này sai HS: a b x 0 VSN GV: Đỗ Thị Ngọc Lan -16 Lop11.com (17) Giáo án tin học 11 Năm Học 2009-2010 V Đánh giá cuối bài: * Những điểm cần lưu ý bài: - Nhập liệu: Read/Readln(<tên_biến_1>, ,<tên_biến_k>); - Xuất liệu: write/writeln(<tham_số_1>, ,<tham_số_k>); - Khởi động Turbo Soạn chương trình Dịch lỗi cú pháp Thực chương trình Tìm lỗi thuật toán và hiệu chỉnh VI/ Nhận xét rút kinh nghiệm: GV: Đỗ Thị Ngọc Lan -17 Lop11.com (18) Giáo án tin học 11 Năm Học 2009-2010 Tiết: 07, 08 Ngày soạn : 24/09/09 BÀI TẬP VÀ THỰC HÀNH I./ Mục đích, yêu cầu: 1./ Kiến thức: - Biết chương trình Pascal hoàn chỉnh - Làm quen với các dịch vụ chủ yếu Turbo Pascal việc soạn thảo, lưu chương trình, dịch chương trình và thực chương trình 2./ Kỹ năng: - Soạn chương trình, lưu lên đĩa, dịch lỗi cú pháp, thực và tìm lỗi thuật toán và hiệu chỉnh - Bước đầu biết phân tích và hoàn thành chương trình đơn giản trên Turbo Pascal 3./ Thái độ: HS có thái độ học tập nghiêm túc II./ Chuẩn bị: 1./ Chuẩn bị thầy: Phòng máy vi tính đã cài đầy đủ Turbo Pascal, máy chiếu Projector để hướng dẫn 2./ Chuẩn bị trò: sách giáo khoa, chuẩn bị bài thực hành nhà III./ Hoạt động dạy học: Ổn định lớp Kiểm tra bài cũ: - Các thao tác để chạy chương trình là gì? Nội dung bài học: Hoạt động GV Nội dung GV: Chiếu chương trình lên bảng Yêu cầu học sinh thực Gõ chương trình sgk/34 vào máy các nhiệm vụ: GV: Soạn chương trình vào máy - Lưu chương trình F2 - Dịch lỗi cú pháp Alt_F9 - Thực chương trình Ctrl_F9 - Nhập liệu -3 Thông báo kết x1=1.00 x2=2.00 Enter - Trở màn hình soạn thảo - Thực chương trình Ctrl_F9 - Nhập liệu Thông báo kết - Hỏi: Vì có lỗi xuất hiện? Thông báo lỗi HS: Do bậc hai số âm Readln(a,b,c); x1:=(-b-sqrt(b*b-4*a*c))/(2*a); Viết chương trình tính diện x2:=(-b+sqrt(b*b-4*a*c))/(2*a); tích hình tô màu, với a writeln(‘x1=’,x1:6:2,‘ x2=’,x2:6:2,); nhập vào từ bàn phím GV:Sửa lại chương trình không dùng biến d GV: Định hướng để học sinh phân tích bài toán Dữ liệu vào a GV: Đỗ Thị Ngọc Lan -18 Lop11.com (19) Giáo án tin học 11 Năm Học 2009-2010 Dữ liệu s Tính diện tích hình tròn có bk a (s1) Tính diện tích hình vuông cạnh a (s2) a s:=s1-s2; HS: Nhập liệu theo yêu cầu a - Với a=3, ta được: s=9(Pi-2) = 10.26 - Với a=-3, kết không đúng, vì độ dài cạnh phải là a số dương GV: Yêu cầu học sinh soạn chương trình và lưu lên đĩa - Quan sát hướng dẫn học sinh lúc thực hành GV: Yêu cầu học sinh nhập liệu và thông báo kết a=3 a=-3 V Đánh giá cuối bài: * Những điểm cần lưu ý bài: - Các bước để hoàn thành chương trình: + Phân tích bài toán để xác định liệu vào, liệu + Xác định thuật toán + Soạn chương trình vào máy + Lưu trữ chương trình + Biên dịch chương trình + Thực và hiệu chỉnh chương trình VI/ Nhận xét rút kinh nghiệm: a GV: Đỗ Thị Ngọc Lan -19 Lop11.com (20) Giáo án tin học 11 Năm Học 2009-2010 Tiết 09: Ngày soạn: 28/09/09 BÀI TẬP I./ Mục đích, yêu cầu: 1./ Kiến thức: - Cũng cố nội dung đã đạt tiết thực hành - Biết sử dụng các thủ tục chuẩn vào - Biết sử dụng các thủ tục chuẩn vào 2./ Kỹ năng: 3./ Thái độ: HS có thái độ học tập nghiêm túc II./ Chuẩn bị: 1./ Chuẩn bị thầy: SGk, SBT, giáo án 2./ Chuẩn bị trò: SGK, SBT, chuẩn bị bài nhà III./ Hoạt động dạy học: Ổn định lớp Kiểm tra bài cũ: Nội dung bài học: Hoạt động GV và HS Nội dung GV: Hướng đẫn trả lời các câu hỏi và bài tập GV: Yêu cầu HS lên bảng làm các bài tập SBT Câu 1: HS đứng chỗ trả lời Câu 2: HS đứng chỗ trả lời Câu 4: Khai báo đúng là khai báo các câu b và d Tuy nhiên khai báo câu d tốt GV: HS khác nhận xét và GV bổ sung Câu 4: HS trả lời Câu 5: Vì cạnh A nhận giá trị nguyên Câu 5: HS trả lời phạm vi từ 100 đến 200 nên các khia báo b, c, d đúng - Cách khai báo c là tốt vì tiết kiệm nhớ cần lưu trữ Câu 6: HS lên bảng làm Câu 6: (1+z)*((x+y/z)/(1+x*x*x))) Câu 7: Gọi HS lên bảng làm Câu 7: a 2a 2 b b a) b) c) (ab)c abc 2 b a b c ac d) Câu 10: HS trình bày lên bảng GV: HS khác nhận xét và GV bổ sung b a b Câu 10: Uses crt; Const g=9.8; Var v, h: real; Begin GV: Đỗ Thị Ngọc Lan -20 Lop11.com (21)