1. Kiến thức: Học sinh nhận biết được có ba lớp ngôn ngữ lập trình và các mức của ngôn ngữ lập trình : ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao. Biết dược vai trò của chương thình dịch. 2. Kĩ năng: Phân biệt được hai khái niệm biên dịch và thông dịch, phân biệt được các loại ngôn ngữ lập trình. 3. Thái độ: Thấy được sự cần thiết và tiện lợi khi sử dụng các ngôn ngữ lập trình bậc cao. Liên hệ được với quá trình giao tiếp trong đời sống. II. PHƯƠNG TIỆN DẠY HỌC: 1. Giáo viên: Một số ví dụ về ngôn ngữ lập trình. 2. Học sinh: Tìm hiểu một số loại ngôn ngữ giao tiếp thông dụng 1. Kiến thức: Học sinh nhận biết được có ba lớp ngôn ngữ lập trình và các mức của ngôn ngữ lập trình : ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao. Biết dược vai trò của chương thình dịch. 2. Kĩ năng: Phân biệt được hai khái niệm biên dịch và thông dịch, phân biệt được các loại ngôn ngữ lập trình. 3. Thái độ: Thấy được sự cần thiết và tiện lợi khi sử dụng các ngôn ngữ lập trình bậc cao. Liên hệ được với quá trình giao tiếp trong đời sống. II. PHƯƠNG TIỆN DẠY HỌC: 1. Giáo viên: Một số ví dụ về ngôn ngữ lập trình. 2. Học sinh: Tìm hiểu một số loại ngôn ngữ giao tiếp thông dụng
TRỌN BỘ GIÁO ÁN TIN HỌC 11 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: Học sinh nhận biết có ba lớp ngơn ngữ lập trình mức ngơn ngữ lập trình : ngơn ngữ máy, hợp ngữ ngôn ngữ bậc cao Biết dược vai trò chương thình dịch Kĩ năng: Phân biệt hai khái niệm biên dịch thông dịch, phân biệt loại ngơn ngữ lập trình Thái độ: Thấy cần thiết tiện lợi sử dụng ngơn ngữ lập trình bậc cao Liên hệ với trình giao tiếp đời sống II PHƯƠNG TIỆN DẠY HỌC: Giáo viên: Một số ví dụ ngơn ngữ lập trình Học sinh: Tìm hiểu số loại ngơn ngữ giao tiếp thông dụng III HOẠT ĐỘNG DẠY HỌC: 1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra cũ: Nếu có thuật tốn máy thực toán mà giải hay chưa ? 3) Giảng mới: Hoạt động GV HS Nội dung GV : Gọi học sinh nhắc lại khái niệm : ngôn ngữ máy, hợp ngữ ngôn ngư bậc cao HS: Trả lời câu hỏi Ngôn ngữ máy: Là ngôn ngữ mà máy tính trực tiếp hiểu xử lý đựơc Hợp ngữ: Là loại ngôn ngữ sử dụng số từ để thực GV : Để chuyển đổi chương trình viết lệnh ghi ngơn ngữ lập trình bậc cao sang ngơn ngữ máy Ngôn ngữ bậc cao: Là loại ngôn ngữ gần với ngơn ngữ cần phải có gì? tự nhiên, phụ thuộc vào loại máy HS : Đó chương trình dịch Chương trình dịch chương trình đặc biệt, có chức chuyển đổi chương trình đợc viết ngơn ngữ lập trình bậc cao sang ngơn ngữ máy CHƯƠNG TRÌNH NGUỒN GV : - Cho ví dụ từ thực tế : “ Người phóng viên biết ngơn ngữ tiếng việt phóng vấn khách nước ngồi ” thơng qua người phiên dịch GV : Như có hai cách để người phóng viên thực cơng việc : biên dịch thơng dịch CHƯƠNG TRÌNH DỊCH CHƯƠNG TRÌNH ĐÍCH Dùng máy chiếu diễn giải hai tình Kết luận : Biên dịch (Compiler): thực qua hai bước - Duyệt, phát lỗi, kiểm tra tính đắn câu lệnh chương trình nguồn - Dịch tồn chương trình nguồn thành chơng -1- 4) 5) TRỌN BỘ GIÁO ÁN TIN HỌC 11 trình đích thực máy lưu trữ để sử dụng lại cần thiết Thông dịch (Interpreter) đợc thực cách lặp lại dãy bước sau - Kiểm tra tính đắn câu lệnh chương trình nguồn - Chuyển đổi câu lệnh thành hay nhiều câu lệnh tương ứng ngôn ngữ máy - Thực câu lệnh vừa chuyển đổi CỦNG CỐ : Khái niệm lập trình? Chương trình dịch gì? Khái niệm ngơn ngữ lập trình? BÀI TẬP VỀ NHÀ: -2- TRỌN BỘ GIÁO ÁN TIN HỌC 11 Ngày soạn : Tiết PPCT: Tuần dạy: Lớp: Bài 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 số khái niệm: tên, tên chuẩn, tên dành riêng, biến + Học sinh ghi nhớ quy định tên, biến ngơn ngữ lập trình Kĩ năng: + Phân biệt tên, biến + Biết cách đặt tên chúng nhận biết tên viết sai quy tắc Thái độ: Rèn luyện cho HS tính nguyên tắc, chặt chẽ lập trình II PHƯƠNG TIỆN DẠY HỌC: Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách tập, tài liệu tham khảo Máy tính cá nhân máy chiếu ( có) Học sinh: Đọc trước nhà Sách giáo khoa III HOẠT ĐỘNG DẠY HỌC: 1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra cũ: Câu hỏi : Chương trình dịch gì? Biên dịch thông dịch khác nào? 3) Giảng mới: Hoạt động GV HS Nội dung GV: Gọi HS trả lời ý nghĩa việc đặt tên? Một số khái niệm HS: Tại chỗ trả lời a Tên GV: Nhận xét đưa kết luận HS: Chú ý ghi - Ý nghĩa việc đặt tên khai báo tên cho đối tượng: GV: Mọi đối tượng chương trình + Để quản lý phân biệt đối tượng chương trình phải đặt tên theo quy tắc ngôn ngữ + Để gợi nhớ nội dung đối tượng lập trình chương trình dịch cụ thể HS: Chú ý ghi - Qui tắc đặt tên Pascal: GV: Lấy ví dụ tên đặt sai tên đặt Tên dãy liên tiếp khơng q 127 kí tự bao gồm gọi học sinh nhận xét chữ cái, chữ số dấu gạch phải bắt đầu HS: - Tên đúng: a,b,c,x1, a_b chữ dấu gạch - Tên sai: a bc, 2x GV: Ngôn ngữ Pascal không phân biệt chữ hoa, chữ thường HS: Chú ý lắng nghe GV: Ngơn ngữ lập trình thường có ba loại tên bản: tên dành riêng, tên chuẩn tên người lập trình đặt HS: Đọc SGK trình bày tên dành riêng * Tên dành riêng: GV: Trong Pascal, soạn thảo, tên dành - Là tên dùng với ý nghĩa riêng xác định riêng có màu trắng phân biệt với tên - Tên dành riêng gọi từ khố khác GV: Gọi HS phát biểu tên chuẩn Ví dụ: Trong Pascal: HS: Tại chỗ trả lời Program, uses, var, type, const, begin, end, array, type,… GV: Viết số tên chuẩn Trong C++: main, include, if, while, void HS: Ghi bài, * Tên chuẩn GV: Lấy ví dụ giải phương trình bậc - Được dùng với ý nghĩa định đó, dùng riêng hai cần dùng biến nào? phải khai báo -3- TRỌN BỘ GIÁO ÁN TIN HỌC 11 HS: Khi giải PTBH ta cần dùng biến: Ví dụ: a,b,c, x1, x2, Delta để biểu diễn nội dung Trong Pascal: abs, sqr, sqrt, cos, sin,… hệ số phương trình; nghiệm Trong C++: cin, cout, getchar phương trình biệt số delta *Tên người lập trình đặt GV: Vậy tên tên người lập trình - Được dùng với ý nghĩa riêng, xác định cách khai báo đặt trước sử dụng GV: Nêu khái niệm ngơn ngữ lập trình b Hằng biến HS: Tại chỗ trả lời Hằng GV: Lấy ví dụ ví dụ ví dụ sai - Hằng đại lượng có giá trị khơng thay đổi trình cho học sinh nhận biết thực chương trình HS: Nhận biết tên tên - Các ngơn ngữ lập trình thường có: sai + Hằng số: số nguyên số thực Ví dụ: 123, ‘123’, ‘TRUE, 2+3,… VD: , 1.0E-6,… GV: Các biến dùng chương trình + Hằng lôgic: Là giá trị (True)hoặc sai (False) phải khai báo + Hằng xâu: Là chuỗi kí tự mã ASCII, đặt GV: Khi viết chương trình người lập trình cặp dấu nháy có nhu cầu giải thích cho câu lệnh viết để đọc lại thuận tiện Biến người khác đọc hiểu - Là đại lượng đặt tên, dùng để lưu trữ giá trị giá trị chương trình viết, ngơn thay đổi trình thực chương trình ngữ lập trình thường cung cấp cho cách đưa vào đoạn thích c Chú thích chương trình - Các thích khơng làm ảnh hưởng đến chương trình HS: Chú ý lắng nghe ghi - Trong Pascal thích đặt {} (*và*) GV: Ví dụ chương trình Pascal đơn - Trong C++ thích đặt /* */ // giản minh họa 4) CỦNG CỐ : Nhắc lại quy tắc đặt tên Pascal khái niệm tên dành riêng, tên chuẩn, tên người lập trình đặt Khái niệm hằng, biến khác biến 5) BÀI TẬP VỀ NHÀ: Hướng dẫn làm tập tập - Bài 6: Các số: a,b,f,g; Các xâu: d,i -4- TRỌN BỘ GIÁO ÁN TIN HỌC 11 Ngày soạn : Tuần dạy: Tiết PPCT :3 Lớp: BÀI TẬP I MỤC TIÊU Kíến thức: + Củng cố lại cho HS kiến thức học lập trình, ngơn ngữ lập trình bậc cao, ngơn ngữ máy, chương trình dịch, thông dịch, biên dịch qua tập trắc nghiệm Kĩ năng: + Xác định tên đúng, tên sai, tên chuẩn, từ khoá + Biết viết tên ngơn ngữ lập trình cụ thể Thái độ: + Nhận thức trình phát triển ngơn ngữ lập trình gắn liền với trình phát triển tin học + Ham muốn học ngơn ngữ lập trình cụ thể để có khả giải tốn máy tính điện tử II PHƯƠNG TIỆN DẠY HỌC: Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách tập, tài liệu tham khảo Máy tính cá nhân máy chiếu ( có) Học sinh: Làm tập trước nhà III HOẠT ĐỘNG DẠY HỌC: 1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra cũ ( ‘) Câu hỏi : Nêu thành phần ngôn ngữ lập trình? Nêu quy tắc đặt tên Turbo Pascal? Đáp án: Ngơn ngữ lập trình có ba thành phần bản: bảng chữ cái, cú pháp ngữ nghĩa - Bảng chữ cái: Là tập kí tự dùng để viết chương trình - Cú pháp: Là quy tắc để viết chương trình - Ngữ nghĩa: Xác định ý nghĩa tổ hợp kí tự Quy tắc đặt tên Pascal: - Đối tượng HS kiểm tra: HS trung bình 3) Giảng mới: Hoạt động GV HS Nội dung GV: Gọi HS đọc câu hỏi 1, lớp suy nghĩ Câu1: Tại người ta phải xây dựng ngôn ngữ lập trả lời trình bậc cao? HS: Đọc câu hỏi Người ta phải xây dựng ngơn ngữ lập trình bậc cao, vì: GV: Gọi HS đứng chổ trả lời - Ngơn ngữ lập trình bậc cao gần với ngôn ngữ tự nhiên hơn, GV: Gọi HS khác bổ sung Sau GV nhận thuận tiện cho đơng đảo người lập trình xét câu trả lời ghi đáp án - Chương trình viết ngơn ngữ lập trình bậc cao nói HS: Chữa tập vào chung khơng phụ thuộc vào phần cứng máy tính - Chương trình viết ngơn ngữ bậc cao dễ hiểu, dễ hiệu chình 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 cách tổ chức liệu đa dạng, thuận tiện cho việc mơ tả thuật tốn Câu2: Chương trình dịch gì? Tại cần phải có GV: Gọi HS đọc câu hỏi trả lời câu hỏi chương trình dịch - Chương trình dịch chương trình đặc biệt, có chức HS: Tại chỗ trả lời nêu khái niệm chuyển đổi chương trình viết ngơn ngữ bậc cao chương trình dịch thành chương trình đích thực máy GV: Nêu Input Output chương trình - Để chương trình viết ngơn ngữ bậc cao máy có dịch để gợi ý cho HS vai trò chương thể hiểu thực phải có chương trình dịch trình dịch dịch sang ngơn ngữ máy -5- TRỌN BỘ GIÁO ÁN TIN HỌC 11 Câu3: Biên dịch thơng dịch khác nào? - Trình biên dịch duyệt, kiểm tra, phát lỗi, xác định GV: Gọi HS trả lời câu hỏi chương trình nguồn có dịch khơng dịch tồn HS: Tại chỗ đọc câu hỏi thành chương trình đích thực máy có GV: Gọi HS khác nhận xét câu trả lời, bổ thể lưu trữ sung đưa đáp án - Trình thơng dịch dịch câu ngôn ngữ máy GV: Gọi HS khác nhận xét câu trả lời, bổ thực không lưu lại máy sung đưa đáp án Câu4: Hãy cho biết điểm khác tên dành riêng tên chuẩn? - Tên dành riêng không dùng khác với GV: Gọi HS đọc câu hỏi 4, lớp suy nghĩ ý nghĩa xác định, tên chuẩn dùng với ý nghĩa khác câu hỏi Câu5: Hãy tự viết ba tên theo quy tắc GV: Gọi HS trả lời Pascal GV: Nhận xét nêu đáp án tên Pascal: GV: Gọi HS đọc câu hỏi abc; vidu3; _15a GV: Gợi ý cho HS cách gọi HS nêu quy tắc đặt tên Pascal tên đặt không ngắn, hay dài mà nên đặt cho gợi nhớ ý nghĩa đối tượng mang tên Câu6: Hãy cho biết biểu diễn không HS: Tại chỗ đọc câu hỏi phải biểu diễn Pascal rõ lỗi HS: Lên bảng làm trường hợp GV: Chữa a) 150.0; b) -22; c) 6,23; d) ‘43’ ; e) A20; f)1.06EGV: Gọi HS đọc câu hỏi 15 GV: Từng câu a,b,…, i gọi g) 4+6 ; h) ‘c ; i) ‘True’ HS: Trả lời: - Các biểu diễn hằng: c), e), h) - c) dấu phẩy phải thay dấu chấm - e) tên chưa rõ giá trị - h) thiếu dấu nháy đơn cuối 4) CỦNG CỐ : Rèn luyện kĩ đặt tên, biến Hiểu nắm vững khái niệm chương trình dịch, biến,… 5) BÀI TẬP VỀ NHÀ: - Hướng dẫn HS làm tập SBT: BT 1.9; BT 1.10; BT 1.11; BT 1.12 HS: Tại chỗ trả lời -6- TRỌN BỘ GIÁO ÁN TIN HỌC 11 Ngày soạn : Tiết PPCT : Tuần dạy: Lớp: CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN Bài CẤU TRÚC CHƯƠNG TRÌNH I MỤC TIÊU Kiến thức: + Hiểu chương trình mơ tả thuật tốn ngơn ngữ lập trình + Biết cấu trúc chương trình đơn giản: cấu trúc chung thành phần Kĩ năng: + Nhận biết thành phần chương trình đơn giản Thái độ: + Xác định thái độ nghiêm túc học tập làm quen với nhiều qui định nghiêm ngặt lập trình II PHƯƠNG TIỆN DẠY HỌC: Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách tập, tài liệu tham khảo Máy tính cá nhân máy chiếu ( có) Học sinh: tham khảo trước tài liệu nhà III HOẠT ĐỘNG DẠY HỌC: 1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra cũ ( ‘) Câu hỏi : Câu hỏi: Nêu qui tắc đặt tên Pascal? Phân biệt tên chuẩn tên dành riêng? Đáp án: - Qui tắc đặt tên Pascal: Trong Pascal, tên dãy liên tiếp khơng q 127 kí tự bao gồm chữ số, chữ dấu gạch bắt đầu chữ dấu gạch - Tên dành riêng không sử dụng với ý nghĩa khác, cong với tên chuẩn, người dùng dùng chúng với ý nghĩa mục đích khác Đối tượng kiểm tra: HS trung bình 3) Giảng mới: Hoạt động GV HS Nội dung GV: Một ngôn ngữ lập trình bậc cao thường có hai Cấu trúc chung phần - Cấu trúc chung: GV: Với quy ước: Các diễn giải ngôn ngữ tự [] nhiên đặt cặp < > [ ] : Biểu diễn có khơng - Trong Pascal: HS: Phần thân chương trình thiết phải có, Phần khai báo: phần khai báo có khơng tuỳ theo Program < tên chương trình>; chương trình dịch cụ thể Uses < tên thư viện>; GV: Nêu cấu trúc chung chương trình Const =; Pascal đơn giản: Var < tên biến>: ; HS: Lắng nghe ghi Procedure …; GV: Chúng ta tìm hiểu thành phần Function …; … chương trình Phần thân: GV: Phần có khơng Với Pascal, Begin có phải khai báo theo quy tắc {Dãy câu lệnh}; HS: Lên bảng End GV: Gọi HS lấy ví dụ khai báo tên chương Các thành phần chương trình trình a Phần khai báo HS: Lên bảng * Khai báo tên chương trình GV: Nhận xét Trong Pascal: GV: Mỗi ngơn ngữ lập trình thường có sẵn số Program ; -7- TRỌN BỘ GIÁO ÁN TIN HỌC 11 thư viện cung cấp số chương trình thơng dụng Ví dụ: lập sẵn Để sử dụng chương trình Program vidu; cần khai báo thư viện chứa Program tinhtong; GV: Trong Pascal, khai báo thư viện phải đặt * Khai báo thư viện đầu tiên, sau dòng khai báo program - Khai báo thư viện Pascal: Uses crt; {Thư viện crt chứa hàm vào/ra chuẩn làm việc với hình bàn phím} Uses graph; {Thư viện graph chứa hàm đồ hoạ} - Để xoá hình sau khai báo crt dùng lệnh clrscr - Trong C++: GV: Những gía trị xuất nhiều lần #include ; chương trình thường khai báo #include ; HS: Lắng nghe * Khai báo hằng: GV: Khai báo tạo điều kiện thuận lợi cho - Trong Pascal: việc chỉnh sửa lại giá trị toàn Const MaxN = 1000; PI = 3.1416; chương trình * Khai báo biến: - Trong Pascal: GV: Lấy ví dụ Var :; GV: - Biến nhận giá trị thời điểm Ví dụ: Giải phương trình bậc hai: thực chương trình gọi biến đơn ax2 + bx +c = GV: Khi cần viết chương trình quản lí học sinh ta Khai báo: Var a,b,c,x1,x2,delta: real; cần xử lí thơng tin dạng nào? b Phần thân chương trình HS: Suy nghỉ trả lời câu hỏi GV - Phần thân chương trình bao gồm dãy lệnh GV: Phân tích câu trả lời học sinh đưa phạm vi xác định cặp dấu hiệu mở đầu kết vài thông tin dạng sau: thúc - Họ tên học sinh thông tin dạng văn - Trong Pascal, bắt đầu kết thúc Begin… dạng kí tự End - Điểm học sinh thơng tin dạng số thực Begin - Số thứ tự học sinh thông tin dạng số []; nguyên End 4) CỦNG CỐ : Nhắc lại khái niệm cấu trúc chương trình gồm phần khai báo phần thân 5) BÀI TẬP VỀ NHÀ: Cho chương trình mẫu nhà yêu cầu học sinh rõ thành phần chương trình -8- Program venha; Uses crt; Var a,b: integer; Begin TRỌN BỘ GIÁO ÁN TIN HỌC 11 Clrscr; Readln; Writeln(‘Nhâp a,b:’); End Readln(a,b); Writeln(‘Tong hai so la:’,a+b:3); -9- TRỌN BỘ GIÁO ÁN TIN HỌC LỚP 11 - Đoạn lệnh thực tráo đổi - TL:3 lệnh: tg := a[i]; giá trị phần tử liền kề mảng? a[i]:= a[i+1]; - Treo bảng CT chuẩn bị sẵn a[i+1]:= tg; Giải thích số lệnh CT - Chú ý, lắng nghe, quan sát ghi nhớ Hoạt động 3: Chạy CT câu a TG Hđ GV Hđ HS - Yêu cầu hs tự nhập liệu với CT - Chạy CT, nhập liệu, xm kết có sẵn - Giúp hs phát sữa lỗi - Chỉnh sữa CT thông qua thông báo lỗi - Thuật toán tiến hành đưa số - Chú ý hiểu rõ thêm CT lớn thứ j đến vị trí j sau vòng lặp: For i:= to j-1 Hoạt động 4: Xác định toán câu b TG Hđ GV Hđ HS Xác định toán Xác định toán: - Y/cầu hs xác I/O toán? + I: mảng a; +O: mảng a xếp, số lần tráo đổi (Dem); - Biến Dem tăng lên nào? TL: Khi A[i] > A[i+1] (tức biểu thức đk CL If - Cần đưa câu lệnh tăng Dem vào đúng) chỗ CT trên? TL: Trong thân CL If: trước - Câu lệnh khởi tạo Dem:= sau lệnh tráo đổi đặt vào vị trí CT? + Trước CL đầu tiên: TL: Chọn hai phương For j:= N down to án 3, + Trước CL duyệt: For i:= to j-1 + Trước CL tráo đổi + Sau CL tráo đổi - Sau CL cuối CT nên đưa CL vào để hiển thị giá trị biến Dem hình Hoạt động 5: Sữa CT câu a để giải toán câu b TG Hđ GV Hđ HS - Yêu cầu hs sữa lại CT theo gợi ý - Thêm CL hướng nêu dẫn vào CT - Hướng dẫn hs chỉnh sửa chạy - Chạy CT CT - Đánh giá kết hs Hoạt động 6: Củng cố - Thuật toán xếp tráo đổi - Đếm số lần tráo đổi Hoạt động 7: Bài tập nhà Trần Choi GV trường THPT Phạm Văn Đồng , huyện Mộ Đức, , Quảng Ngãi Ghi bảng Ghi bảng Đề: Khai báo biến đếm nguyên Dem bổ sung vào chương trình câu lệnh cần thiết để biến Dem tính số lần tráo đổi chương trình Ghi bảng CT(Phụ lục) Page 153 TRỌN BỘ GIÁO ÁN TIN HỌC LỚP 11 - Tìm thêm thuật toán xếp khác tối ưu Cho mảng A mảng B (là mảng A xếp) Hãy in số phần tử mảng A theo mảng B Ngày soạn: 25/11/20012 Tiết 26 BÀI THỰC HÀNH SỐ (tiết 2) I Mục tiêu Kiến thức Tiếp tục củng cố kiến thức lập trình với liệu kiểu mảng Kĩ Nhận xét, phân tích đề xuất cách giải tốn cho chương trình chạy nhanh Thái độ Tự giác, chủ động lập trình II.Chuẩn bị Gv:Bảng phụ viết sẵn chương trình, phòng máy, project Hs: Sgk, CT viết sẵn III Phương pháp IV Tiến hành dạy học Hoạt động 1:(3') Ôn lại kiến thức chuẩn bị thực hành Hđ GV Hđ Hs Hỏi 1: cách khai báo kiểu mảng chiều Tl: có cách + gián tiếp: + trực tiếp: Hỏi 2: (tuỳ lớp) Hoạt động 2:(13') Nêu đề tốn tìm hiểu Hđ GV Hđ HS Ghi bảng Ghi đề lên bảng Quan sát đề lắng nghe câu Đề: Cho mảng A gồm n hỏi gv phần tử Viết CT tạo Tìm hiểu đề Trả lời câu hỏi mảng B[1 n], Y/cầu hs xác định liệu vào/ra - Vào: B[i] tổng i phần toán? - Ra: tử mảng A Gv lấy ví dụ minh hoạ Theo dõi ví dụ minh hoạ A 6 B Ban đầu: B[i] = Hỏi: B[i] tạo Tl: (2-3hs) bao nhiêu? Tóm lại: B[i] = A[1] + …+ A[i] i = �A[j ] j=1 GV minh hoạ số phần tử: B[1], Trần Choi GV trường THPT Phạm Văn Đồng , huyện Mộ Đức, , Quảng Ngãi Page 154 TRỌN BỘ GIÁO ÁN TIN HỌC LỚP 11 B[2], B[3] Tl: - Y/cầu hs tìm kết mảng B theo B 10 12 15 22 ví dụ Khai báo: Lần lượt cho hs trình Viết CT thơ + k/báo mảng - Y/cầu hs cho biết phần bày + biến đơn Tl: CT cần xây dựng? Phần thân: Gv tranh thủ ghi lại bảng H: Bước B2 cụ thể CT Tl: sử dụng vòng for lồng nào? B1: tạo mảng A B2: xd mảng B theo A B3: In mảng B for i:=1 to n begin b[i]: =0; for j:=1 to i b[i]:=b[i]+a[j]; end; Treo bảng CT chuẩn bị sẵn Giải thích phần CT tương ứng với phần trả lời ghi bảng hs Chú ý, lắng nghe, quan sát ghi nhớ Hoạt động 3: (5')Tối ưu chương trình Hđ GV Dựa vào phần phân tích ví dụ thuật tốn Gv hỏi: So sánh giá trị B[i] B[i-1]? Đặc biệt: B[1]=? Chta ln hướng tới thuật tốn tối ưu Đối với tốn theo phân tích ta tận dụng kết việc tính tổng i -1 phần tử có sẵn bước trước - Do ta có được: + Số lượng phép tốn '+' +Chỉ dùng vòng lặp for -> sd biến số i cho mảng A, B Cải tiến lại chtrình Gv treo bảng chtrình cải tiến Hđ HS Ghi bảng Tl: B[i]:=B[i-1]+A[i] Tl: B[1]=A[1] Chú ý theo dõi {tùy đối tượng hs} Nhìn bảng, tự điều chỉnh Đoạn CT hành vi nhận thức tiến: Sgk Hoạt động 4: (20') Hs thực hành máy theo nhóm Hđ GV Hđ HS Ghi bảng Y/cầu hs nhập CT cải tiếnvào Hs nhập chtrình vào máy máy Tự biên dịch chạy CT với Theo dõi q trình t/hiện hs ví dụ Giải số lỗi nhỏ nhóm Tự lấy Input để chạy lại CT Hoạt động 5: (3') Củng cố, uốn nắn sai sót thường gặp Hs Hoạt động 6: (1') Dặn dò: Xem, chuẩn bị trước 12: Kiểu xâu Trần Choi GV trường THPT Phạm Văn Đồng , huyện Mộ Đức, , Quảng Ngãi Page 155 cải TRỌN BỘ GIÁO ÁN TIN HỌC LỚP 11 Ngày soạn: 4/12/20012 Tiết 27 KIỂU XÂU (tiết 1/2) I MỤC TIÊU Kiến thức - Biết kiểu liệu mới, biết khái niệm kiểu xâu - Phân giông khác kiểu mảng kí tự với kiểu xâu kí tự - Biết khai báo biến, nhập xuất liệu, tham chiếu đến kí tự xâu - Biết thao tác liên quan đến xâu Kĩ - Khai báo biến xâu NNLT Pascal Sử dụng biến xâu, phép toán hàm thủ tục xâu để giải số toán đơn giản II ĐỒ DÙNG DẠY HỌC Giáo viên: giáo án, sgk, bảng phụ số ví dụ Học sinh: sgk III PHƯƠNG PHÁP: Thuyết trình, nêu vấn đề, hỏi đáp IV HOẠT ĐỘNG DẠY HỌC Hoạt động 1: (5 phút )Tìm hiểu ý nghĩa xâu kí tự Hđ GV ĐVĐ: Dữ liệu tốn khơng thuộc kiểu số mà kiểu phi số dạng kí tự Dãy kí tự đgl liệu kiểu xâu Ghi đề học Trước tiên tìm hiểu Xâu kí tự gì? Nêu vài ví dụ xâu: a) ‘HaNoi’ b) ‘lop 11A1’ c) ‘Nguyen Van An’ Hs chbị nhà, y/cầu hs cho biết xâu gì? Hđ HS Lắng nghe Nd ghi bảng KIỂU XÂU Quan sát, nhận biết Khái niệm Xâu kí tự: (sgk) Tl: Xâu dãy kí tự bảng mã ASCII, kí tự ptử Cho hs khác bổ sung (nếu cần) Số lượng kí tự xâu độ dài xâu Độ dài xâu gọi xâu rổng - Xâu có kí tự trống Hỏi: Số lượng kí tự xâu ví dụ -Xácđịnh trả lời: - Xâu rỗng a) kí tự bao nhiêu? b) kí tự, dấu cách kí tự c) 13 kí tự Hỏi: Xâu có kí tự trống viết - Tl: ‘ ’, có độ dài nào? số kí tự bao nhiêu? Hỏi: Xâu rỗng viết nào? - Tl: ‘’, có độ dài Trần Choi GV trường THPT Phạm Văn Đồng , huyện Mộ Đức, , Quảng Ngãi Page 156 TRỌN BỘ GIÁO ÁN TIN HỌC LỚP 11 Hoạt động 2: (10 phút)Tìm hiểu kiểu xâu Hđ GV Hđ HS 1.Y/cầu hs cho biết cách khai báo N/cứu sgk trả lời Var : string [] ; Hỏi: ý nghĩa từ khoá string? Tl: String tên kiểu xâu Và [] ? - [n] giá trị qui định số lượng kí tự tối đa mà biến xâu chứa Ví dụ: Var hoten: string[30]; Var St: string; Hỏi: Nhập xâu hoten có 20 kí tự Tl:được (khơng) khơng? (t/tự 31 kí tự?) Hỏi: Khi khai báo khơng có [n] số - Số kí tự tối đa 255 lượng kí tự bao nhiêu? * Y/cầu hs cho ví dụ Lắng nghe, quan sát Tham chiếu đến kí tự xâu bảng để trả lời Y/cầu hs: Nhắc lại cách tham chiếu đến phần tử mảng? - Giới thiệu cấu trúc chung Tl: St[i] p/tử thứ i - Y/cầu hs cho biết ý nghĩa St[i] xâu St Y/cầu hs tìm ví dụ khác Hoạt động 3: (25 phút)Các thao tác xử lí xâu a Nội dung: - Phép ghép xâu: kí hiệu + - Các phép so sánh: =, , >, B kí tự Page 157 TRỌN BỘ GIÁO ÁN TIN HỌC LỚP 11 Vd2: A:= ‘Anh’; B:= ‘Ba’ khác chúng từ trái sang, mà A có mã ASCII lớn Các phép so sánh thực theo A>B False thứ tự từ điển Vd3: A=’hoa’; B=’hao’ A>B True Các thủ tục Chú ý lắng nghe c) Các thủ tục Vd1: s=’Nui Thanh’ Tl: Delete(s,1,6) Delete(S,vt,N) Để s ‘anh’ ta phải viết thủ tục delete() nào? Vd2: s2=’Nui Thanh’ Để s2 thành xâu ‘THPT Nui Thanh’ Tl: Insert(‘THPT ’,s2,1) Insert(s1,s2,vt) ta phải chèn thêm vào xâu? Và Trong vt, N số chèn nào? ngdương * Ý nghĩa: ch/đổi xâu s thành số Val (s,N,code) gán cho biến N, ch/đổi thành Code =0, n=3.14 Vd: Val(’3.14’,n,code) cơng code = 0, nglại code chứa Code =3, n ko xác định Val(‘11A1’,n,code) số vị trí kí tự xuất lỗi xâu s giá trị N ko xác định Str(N,st) * Ý nghĩa: ch/đổi giá trị số N thành st=’20012’ Vd: str(20012,st) kiểu xâu, gán cho biến st BẢNG Kiểm tra kiến thức ‘cua Me’ Treo bảng y/cầu hs điền vào chổ Xâu s1 Xâu s2 ‘Mua xuan’ ‘ABGHI’ trống (…) Thao tác Insert(…,s2,…) Insert(…,s2,…) Hs trả lời: kết ‘Mua xuacua Me’ ‘ABCDEGHI’ bảng1: Insert(s1,s2,8) BẢNG Insert(‘CDE’,s2,3) Xâu st ‘Mua xuan cua Me’ ‘12.3A+02’ bảng2: Thao tác Delete(st,…,…) Val (st,n,e) Delete(st,7,9) kết st = ‘Mua xu’ n=…, e=… N= kxđ, e=5 IV ĐÁNH GIÁ CUỐI BÀI (5phút) Nội dung học - Khái niệm xâu Cách khai báo xâu, tham chiếu đến kí tự xâu - Các phép ghép, so sánh xâu, thủ tục Ngày soạn: 4/12/20012 Tiết 28 KIỂU XÂU (tiết 2/2) I MỤC TIÊU Kiến thức - Biết lợi ích thủ tục hàm liên quan đến xâu NNLT Pascal - Nắm cấu trúc chung chức nằng số hàm thủ tục liên quan đến xâu NNLT Pascal Kĩ Nhận biết bước đầu sử dụng số hàm thủ tục để giải số tập đơn giản liên quan Trần Choi GV trường THPT Phạm Văn Đồng , huyện Mộ Đức, , Quảng Ngãi Page 158 TRỌN BỘ GIÁO ÁN TIN HỌC LỚP 11 II ĐỒ DÙNG DẠY HỌC Giáo viên: bảng phụ ví dụ chbị sẵn, giáo án ,sgv, sgk Học sinh: sgk III PHƯƠNG PHÁP: Thuyết trình, nêu vấn đề, hỏi đáp IV HOẠT ĐỘNG DẠY HỌC Hoạt động 1: (5 phút) Kiểm tra cũ Hđ GV Hđ HS Nêu câu hỏi: Lắng nghe câu hỏi trình bày phần trả lời Khai báo xâu có độ dài tối đa 50 kí tự Var st:string[50]; Cho s1:=’hoa’; s2:=’Hoa’; False Biểu thức s1b then write(a) Else write(b); End Vd2: Viết CT nhập vào xâu S bất kì, cho biết xâu sử dụng kí tự ‘A’? Var S:string; i,d:byte; Begin Write(‘nhap xau readln(s);d:=0; For i:=1 to length(s) If s[i]=’A’ then inc(d); Write(d:4); End ’); IV ĐÁNH GIÁ CUỐI BÀI (5phút) Nội dung học Các hàm xữ lí xâu, vận dụng kiểu xâu toán đơn giản Câu hỏi, tập nhà Xem trước bài: Bài thực hành sô5 Viết CT nhập vào xâu S thực xố bỏ tất kí tự trắng thừa có xâu (Xâu sau loại bỏ khơng kí tự trắng liền kề nhau, đầu cuối xâu khơng phải kí tự trắng) Ngày soạn: 9/12/20012 Tiết 29, 30 BÀI THỰC HÀNH SỐ I MỤC TIÊU Kiến thức - Khắc sâu thêm phần kiến thức lí thuyết kiểu xâu kí tự, đặc biệt thủ tục hàm liên quan - Nắm số thuật toán bản: tạo xâu mới, đếm số lần xuất kí tự, … Kĩ - Khai báo biến kiểu xâu - Nhập/xuất liệu cho biến xâu - Duyệt qua tất kí tự xâu - Sử dụng hàm thủ tục chuẩn Thái độ: Tích cực chủ động thực hành Trần Choi GV trường THPT Phạm Văn Đồng , huyện Mộ Đức, , Quảng Ngãi Page 160 TRỌN BỘ GIÁO ÁN TIN HỌC LỚP 11 II ĐỒ DÙNG DẠY HỌC Giáo viên: Phòng máy vi tính, Projector để hướng dẫn Học sinh: Sgk, tập nhà III PHƯƠNG PHÁP: Thuyết trình, nêu vấn đề, hỏi đáp IV HOẠT ĐỘNG DẠY HỌC Hoạt động 1: (45 phút) Tìm hiểu chương trình, đề xuất phương án cải tiến a Mục tiêu: Hiểu chtrình, tính kết Biết đề xuất phương án cải tiến b Nội dung: Nhập xâu, kiểm tra xem xâu có phải Palidrom hay không? c Các bước tiến hành: Hđ GV Hđ HS Nd ghi bảng Tìm hiểu đề Quan sát đọc kĩ đề - Giới thiệu đề lên bảng Giải thích: Xâu Palidrom -Y/cầu hs cho ví dụ xâu Palidrom Phải: aabcbaa, 45654 ví dụ khơng phải? Khơng phải: abccda Tìm hiểu chtrình gợi ý Quan sát chtrình suy nghĩ để - Treo chtrình lên bảng hiểu chtrình - Kiểm tra xâu có phải -Hỏi: Chtrình sau có chức làm Palidrom hay khơng? gì? Kết in hìnhn hư nào? Kq: ‘xau la palidrom’ ‘xau khong la palidrom’ Chạy thử chtrình để hs kiểm nghiệm suy -Quan sát gv thực chtrình, nghĩ nhập liệu kquả chtrình Cải tiến chtrình Chú ý theo dõi y/cầu gv, - Nêu y/cầu mới: viết lại chtrình khơng trả lời số cau hỏi dẫn dắt sử dụng biến trung p? Hỏi: kí tự thứ i đối xứng với kí tự vị trí - Kí tự thứ i đối xứng với kí tự nào? thứ length(s) –i +1 Hỏi: cần so sánh cặp kí tự - Tối đa length(s) div xâu để biết xau palidrom? Hỏi: sử dụng cấu trúc để so sánh? - For While - Thực soạn thảo chtrình -Y/cầu hs viết chtrinh hồn chỉnh lên máy theo yêu cầu cải tiến y/cầu hs nhập liệu gv cho sẵn gv thông báo kết - Nhập liệu thông báo - xác nhận làm có kết kết Hoạt động 2: (40 phút) Rèn luyện kĩ lập trình a Mục tiêu: Hs biết phân tích u cầu để viết chtrình hồn chỉnh b Nội dung: Viết CT nhập vào xâu S thơng báo hình số lần xuất S chữ tiếng Anh (không phân biệt chữ hoa thường) Trần Choi GV trường THPT Phạm Văn Đồng , huyện Mộ Đức, , Quảng Ngãi Page 161 TRỌN BỘ GIÁO ÁN TIN HỌC LỚP 11 c Các bước tiến hành: Hđ GV Hđ HS Giới thiệu đề - Giới thiệu đề lên bảng -Y/cầu hs trả lời câu hỏi để phân tích tốn +Dữ liệu vào liệu toán? +Vào:một xâu S Ra:dãy số ứng với xuất loại kí tự xâu +Nhiêm vụ cần thực giả +T/tốn: Duyệt xâu từ trái sang toán? phải, thêm đơn vị cho kí tự đọc +Cấu trúc liệu cần sử dụng? +Cấu trúc liệu: Dem[‘A’ ‘Z’] + Ta phải sử dụng hàm gì? +Upcase() Bổ sung sửa sai cho hs Y/cầu hs lập viết chương trình Độc lập soạn chtrình vào hồn chỉnh theo thuật tốn phát máy - Y/cầu em lập trình xong trước tìm - Tìm test số test - Nhập liệu gv thực - Y/cầu hs nhập liệu vào theo test chtrình xem kết gv thông báo kết - Thông báo kết Xác nhận kết hs sửa sai cho em có kết sai Nd ghi bảng IV ĐÁNH GIÁ CUỐI BÀI (5phút) Nội dung học: Một số thuật toán liên quan đến xâu kí tự Câu hỏi, tập nhà Xem trước bài: Kiểu ghi Ngày soạn: 11/12/20012 Tiết 31 KIỂU BẢN GHI I MỤC TIÊU Kiến thức - biết khái niệm ghi - Phân biệt giống khác kiểu ghi kiểu mảng chiều Kĩ - Khai báo kiểu ghi, khai báo biến kiểu ghi NNLT Pascal - Nhập/xuất liệu cho ghi - Thamchiếu đến trường ghi - Sử dụng kiểu ghi để giải số tập đơn giản II ĐỒ DÙNG DẠY HỌC Giáo viên: Giáo án, Máy tính Học sinh: sgk Trần Choi GV trường THPT Phạm Văn Đồng , huyện Mộ Đức, , Quảng Ngãi Page 162 TRỌN BỘ GIÁO ÁN TIN HỌC LỚP 11 III PHƯƠNG PHÁP: Thuyết trình, nêu vấn đề, hỏi đáp IV HOẠT ĐỘNG DẠY HỌC Hoạt động 1: (5 phút) Kiểm tra cũ Hđ GV Hđ HS Var S: string; i: integer; Viết CT nhập vào xâu cho Begin biết xâu có kí tự số? write(‘Nhap xau S ’); readln(S); d:=0; For i:=1 to length(s) If (s[i]>=’0’) and (s[i]n) C i>n D (m[ i ]=k) (i>n) 10 Giả sử chạy chương trình, ta tạo liệu cho mảng m gồm phần tử là: 7, 5, 19, 54 20 Và gán cho biến k mang giá trị 54 Vậy sau thực xong chương trình, hình có dòng thơng báo: A Trong dãy bạn nhập có số k B Trong dãy bạn nhập có số 54 C Trong day ban da nhap co so bang k D Trong day ban da nhap co so bang 54 II TỰ LUẬN Cho chương trình Var i: byte; Begin For i:=1 to 35 If i mod = then write (i:4); Readln End a Hãy viết lại chương trình cách thay đổi cấu trúc FOR cấu trúc WHILE b Cho biết chương trình thực cơng việc gì? Viết CT tạo mảng A có N (N200) phần tử số nguyên In hình mảng vừa tạo Tính đưa hình giá trị trung bình số nguyên dương lẻ có mảng A Trần Choi GV trường THPT Phạm Văn Đồng , huyện Mộ Đức, , Quảng Ngãi Page 167 ... 1,2,3,4,5 sgk trang 35 - Xem trước bài: Các thủ tục chuẩn vào/ra đơn giản Soạn thảo, dịch, thực hiệu chỉnh chương trình 16 Giáo án Tin học 11 GV: Nguyễn Hữu Việt 17 Giáo án Tin học 11 GV: Nguyễn... đưa vài thông tin dạng sau: - Họ tên học sinh thông tin dạng văn dạng kí tự - Điểm học sinh thông tin dạng số thực - Số thứ tự học sinh thông tin dạng số nguyên - Một số thông tin khác cần biết... TRỌN BỘ GIÁO ÁN TIN HỌC LỚP 11 lời 0