Var : là từ khóa dùng để khai báo biến Danh sách biến : tên các biến cách nhau bởi dấu phẩy Kiểu dữ liệu : là một kiểu dữ liệu nào đó của ngôn ngữ Pascal Sau Var có thể khai báo nhiều da[r]
(1)Chương 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 ĐÍCH YÊU CẦU - 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 thông dịch và biên dịch - Biết nhiệm vụ quan trọng chương trình dịch là phát lỗi cú pháp chương trình nguồn II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC: - Phương pháp: Thuyết trình, vấn đáp - Phương tiện: Máy chiếu, máy tính, phòng chiếu bảng III LƯU Ý SƯ PHẠM: - Trong chương trình lớp 10 các em đã biết đến số khái niệm: ngôn ngữ lập trình, chương trình dịch; nên bài này chúng ta nên trình bày rõ cho học sinh hiểu biên dịch và thông dịch IV NỘI DUNG BÀI GIẢNG: Hoạt động Giáo viên và Học sinh Nội dung Ổn định lớp: + + + Chào thầy cô Cán lớp báo cáo sỉ số Chỉnh đốn trang phục GV: Đặt câu hỏi 1: Em hãy cho biết các bước giải bài toán trên máy tính? HS: Suy nghĩ và trả lời câu hỏi GV: Phân tích câu trả lời học sinh Nhắc lại các bước giải bài toán trên máy tính đã học lớp 10 GV: Đặt câu hỏi 2: Em hãy cho biết có loại ngôn ngữ lập trình? HS: Trả lời câu hỏi giáo viên Khái niệm lập trình: Lập trình là sử dụng cấu trúc liệu và các câu lệnh ngôn ngữ lập trình cụ thể để mô tả liệu và diễn đạt thuật toán -Trả lời câu hỏi: Có loại ngôn ngữ lập trình: Ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao Giáo án Lý Thuyết TIN HỌC 11 Lop11.com (2) GV: Phân tích câu trả lời học sinh Mỗi loại máy có ngôn ngữ riêng, thường thì chương trình viết ngôn ngữ máy nào chạy trên máy đó Khi viết chương trình ngôn ngữ bậc cao muốn thi hành trên loại máy nào thì cần chuyển chương trình sang ngôn ngữ máy máy đó GV: Đặt câu hỏi : Làm nào để chuyển chương trình viết ngôn ngữ bậc cao sang ngôn ngữ máy? Chương trình viết ngôn ngữ máy có thể nạp trực tiếp vào nhớ thi hành Chương trình viết ngôn ngữ bậc cao nói chung không phụ thuộc loại máy, muốn thi hành thì nó phải chuyển sang ngôn ngữ máy =>Cần phải có chương trình dịch để chuyển chương trình viết ngôn ngữ lập trình bậc cao sang ngôn ngữ máy để máy có thể thi hành Đưa ví dụ : Bạn là người không biết tiếng Anh làm để bạn có thể nói chuyện với người Anh hay đọc sách tiếng Anh? + + Khi người làm phiên dịch người đó phải dịch nào? (Dịch câu người nói chuyện) Khi người muốn dịch sách sang tiếng Việt thì làm nào? (Dịch toàn sách đó sang tiếng Việt để người đó có thể đọc được) GV: Lấy ví dụ biên dịch và thông dịch cho học sinh có thể hình dung công việc Biên dịch: Sử dụng ngôn ngữ lập trình Pascal để dịch chương trình viết sẵn đĩa và thi hành chương trình đã dịch để học sinh quan sát Thông dịch: Sử dụng các lệnh Command promt để thực số lệnh DOS dùng ngôn ngữ Foxpro để thực số lệnh quản trị liệu, học sinh dễ dàng nhận việc thông dịch Đi kèm với các chương trình dịch thường có các công cụ soạn thảo chương trình nguồn, lưu trữ, tìm kiếm, phát lỗi, thông báo lỗi,… ngôn ngữ lập trình thường chứa tất các dịch vụ trên Chương trình dịch có loại: Biên dịch và thông dịch + Biên dịch (Compiler): Thực các bước sau: Duyệt, kiểm tra, phát lỗi và kiểm tra tính đúng đắn các câu lệnh chương trình nguồn Dịch toàn chương trình nguồn thành chương trình đích (ngôn ngữ máy) để có thể thực trên máy và có thể lưu trữ để sử dụng lại cần + Thông dịch (Interpreter): Dịch câu lệnh và thực câu lệnh Thông dịch thực cách lặp lại dãy các bước sau: Kiểm tra tính đúng đắn câu lệnh chương trình nguồn Chuyển đổi các câu lệnh đó thành hay nhiều câu lệnh ngôn ngữ máy Thực các câu lệnh vừa chuyển đổi V.CỦNG CỐ , DẶN DÒ: Nhắc lại số khái niệm Giáo án Lý Thuyết TIN HỌC 11 Lop11.com (3) §2 CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH I MỤC ĐÍCH YÊU CẦU Biết ngôn ngữ lập trình có thành phần là: bảng chữ cái, cú pháp và ngữ nghĩa Hiểu và phân biệt thành phần này Biết các thành phần Pascal: Bảng chữ cái, tên, tên chuẩn, tên riêng (từ khóa), và biến Phân biệt tên, và biến Biết đặt tên đúng II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC: Phương pháp: Thuyết trình, vấn đáp Phương tiện: Máy chiếu, máy tính, phòng chiếu bảng III LƯU Ý SƯ PHẠM: Phần này bắt đầu kiến thức mới, ngoài giới thiệu cho các em biết các khái niệm mới, cần giải thích khác cú pháp và ngữ nghĩa Riêng các thành phần sở Pascal, với khái niệm cần nên lấy ví dụ minh họa đúng-sai, và ví dụ khác biệt chúng, nên minh họa đoạn chương trình đơn giản IV NỘI DUNG BÀI GIẢNG: Hoạt động Giáo viên và Học sinh Nội dung Ổn định lớp: + Chào thầy cô + Cán lớp báo cáo sỉ số + Chỉnh đốn trang phục + GV: 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 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 1.Các thành phần bản: - Mỗi ngôn ngữ lập trình thường có thành phần là : bảng chữ cái, cú pháp và ngữ nghĩa Ví dụ: Bảng chữ cái các ngôn ngữ lập trình khác có khác Chẳng hạn ngôn ngữ Pascal không sử dụng dấu ! ngôn ngữ C++ lại sử dụng ngôn ngữ này a.Bảng chữ cái: Là tập các ký hiệu dùng để viết chương trình -Trong ngôn ngữ Pascal bảng chữ cái gồm: Các chữ cái bảng chữ cái tiếng Anh, các chữ số và số ký tự đặc biệt (xem SGK) - Cú pháp các ngôn ngữ lập trình khác khác nhau, ngôn ngữ Pascal dùng cặp từ Begin – End để gộp nhiều lệnh thành lệnh C++ lại dùng cặp kí hiệu {} b.Cú pháp: Là quy tắc dùng để viết chương trình Giáo án Lý Thuyết TIN HỌC 11 Lop11.com (4) Ví dụ: Xét biểu thức: A + B (1) A, B là các số thực I + J (2) I, j là các số nguyên Khi đó dấu + (1) là cộng hai số thực, (2) là cộng hai số nguyên - Mỗi ngôn ngữ khác có cách xác định ngữ nghĩa khác HS: Lắng nghe, ghi chép c Ngữ nghĩa: Xác định ý nghĩa thao tác cần thực ứng với tổ hợp ký tự dựa vào ngữ cảnh nó - GV: Đưa ví dụ ngôn ngữ tự nhiên có bảng chữ cái, ngữ pháp (cú pháp) và nghĩa câu, từ - - GV: 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ữ thường GV: Giới thiệu cách đặt tên ngôn ngữ cụ thể Pascal Ví dụ : Tên đúng: a, b, c, x1, x2, _ten … Tên sai: a bc,2x, a&b … GV: Ngôn ngữ nào có loại tên này tùy theo ngôn ngữ mà các tên có ý nghĩ khác các ngôn ngữ khác o Trong soạn thảo chương trình, các ngôn ngữ lập trình thường hiển thị các tên dành riêng với màu chữ khác hẳn với các tên còn lại giúp người lập trình nhận biết tên nào là tên dành riêng (từ khóa) Trong ngôn ngữ Pascal, từ khóa thường hiển thị màu trắng GV: Mở chương trình viết Pascal để học sinh quan sát cách hiển thị số từ khóa chương trình - Các ngôn ngữ lập trình thường cung cấp số đơn vị chương trình có sẵn các thư viện chương trình giúp người lập trình có thể thực nhanh số thao tác thường dùng Cú pháp cho biết cách viết chương trình hợp lệ, ngữ nghĩa xác định ý nghĩa các tổ hợp ký tự chương trình 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 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 Mỗi ngôn ngữ lập trình có quy tắc đặt tên riêng - Trong ngôn gnữ Turbo Pascal tên là dãy liên tiếp không qúa 127 ký tự bao gồm các chữ cái, chữ số và dấu gạch phải bắt đầu chữ cái dấu gạch - Trong Free Pascal, tên có thể có tối đa 255 ký tự - 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 lại phân biệt chữ hoa và chữ thường - Ngôn ngữ lập trình thường có loại tên bản: Tên dành riêng, tên chuẩn và tên người lập trình tự đặt Tên dành riêng: - Là tên ngôn ngữ lập trình quy định với ý nghĩa xác định mà người lập trình không thể dùng với ý nghĩa khác - Tên dành riêng còn gọi là từ khóa Ví dụ: Một số từ khóa Trong ngôn ngữ Pascal: Program, Var, Uses, Begin, End, … Trong ngôn ngữ C++: main, include, while, void,… Tên chuẩn: Là tên ngôn ngữ lập trình (NNLT) dùng với ý nghĩa nào đó các thư viện NNLT, nhiên người lập trình có thể sử dụng với ý nghĩa khác Giáo án Lý Thuyết TIN HỌC 11 Lop11.com (5) Giáo viên cho học sinh số tên chuẩn ngôn ngữ Pascal 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 tên sau: + a,b,c là ba tên để lưu ba hệ số chương trình + X1,X2 là tên dùng để lưu nghiệm có + Delta là tên để lưu giá trị Delta - - Hằng thường có loại, đặt tên và không đặt tên Hằng không đặt tên là giá trị viết trực tiếp viết chương trình Mỗi ngôn ngữ lập trình có quy định cách viết riêng.Hằng đặt tên có cách đặt tên cho khác Ví dụ: Một số tên chuẩn Trong ngôn ngữ Pascal: Real, Integer, Sin, Cos, Char, … Trong ngôn ngữ C==: cin,cout Getchar… Tên người lập trình tự đặt - Được xác định cách khai báo trước sử dụng và không trùng với tên dành riêng - Các tên chương trình không trùng b Hằng và biến Hằng: Là các đạ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 xâu : là chuỗi ký tự đặt d6áu nháy “ ”” + Hằng Logic : là các giá trị đúng sai - 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ưu trữ kết qủa, làm trung gian cho các tính toán,…Mỗi loại ngôn ngữ có loại biến khác và cách khai báo khác Biến: - Là đại lượng đặt tên, giá trị có thể thay đổi chương trình - Các NNLT có nhiều loại biến khác - Biến phải khai báo trước sử dụng - Khi viết chương trình, người lập trình thường có nhu cầu giải thích cho câu lệnh mình viết, để đọc lại thuận tiện người khác đọc có thể hiểu chương trình mình viết, các ngôn ngữ lập trình thường cung cấp cho ta cách để đưa các chú thích vào chương trình Ngôn ngữ khác thì cách viết chú thích khác 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 { và } (* và *) Trong C++ Chú thích đặt /* và */ GV: 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 để giới thiệu thì có thể sử dụng in sẵn khổ lớn cho học sinh khái niệm thể chương trình IV CỦNG CỐ , DẶN DÒ : Nhắc lại số khái niệm Cho bài tập nhà Giáo án Lý Thuyết TIN HỌC 11 Lop11.com (6) CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN §3 CẤU TRÚC CHƯƠNG TRÌNH I MỤC ĐÍCH YÊU CẦU Hiểu chương trình là mô tả thuật toán ngôn ngữ lập trình Biết cấu trúc chương trình Pascal: cấu trúc chung và các thành phần Nhận biết các thành phần chương trình đơn giản II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC: Phương pháp: Thuyết trình, vấn đáp Phương tiện: Máy chiếu, máy tính, phòng chiếu bảng III LƯU Ý SƯ PHẠM: Cách dạy hiệu qủa là có chương trình mẫu với đầy đủ các thành phần chương trình, cho học sinh thành phần chương trình đó và thành phần nào có thể có, thành phần nào bắt buộc phải có … IV NỘI DUNG BÀI GIẢNG: Hoạt động Giáo viên và Học sinh Nội dung Ổn định lớp: + + + Chào thầy cô Cán lớp báo cáo sỉ số Chỉnh đốn trang phục GV : Thuyết trình đưa cấu trúc chung chương trình : HS: Lắng nghe, ghi chép Cấu trúc chung - Mỗi chương trình nói chung gồm phần: phần khai báo và phần thân chương trình [<Phần khai báo>] <Phần thân> Các thành phần chương trình GV : Thuyết trình đưa kiến thức HS : Lắng nghe, ghi chép GV : Phần khai báo báo cho máy biết chương trỉnh sử dụng tài nguyên nào máy a.Phần khai báo - Có thể khai báo tên chương trình, đặt tên, biến, thư viện, chương trình con,… GV : Mỗi ngôn ngữ lập trình có cách khai báo khác và tùy thuộc vào ngôn ngữ mà ta cần tìm hiểu xem chương trình ta cần khai báo gì Khai báo tên chương trình - Trong Turbo pascal Program <tên chương trình>; - Tên chương trình người lập trình tự đặt theo đúng quy tắc đặt tên Ví dụ : Program Bai_1; Program Tong; GV : Thư viện chương trình thường chứa đoạn chương trình lập sẵn giúp người lập trình thực số công việc thường dùng, các đoạn chương trìnhnày hữu ích cho gnười lập trình, là ngôn ngữ lập trình tiên tiến Khai báo thư viện: - Trong ngôn gnữ Pascal : Uses <tên thư viện>; - Trong ngôn ngữ C++ : #include<Tên tệp thư viện> Giáo án Lý Thuyết TIN HỌC 11 Lop11.com (7) GV : Lấy ngôn ngữ lập trình nay, chẳng hạn Visual Basic.NET, lấy số lệnh để học sinh thấy tiện dụng sử dụng thư viện Ví dụ: Trong Turbo Pascal : Uses CRT, GRAPH; Trong VISUAL STUDIO 2005 : Imports System.Xml GV : Khai báo là việc đặt tên cho để tiện sử dụng và tránh việc phải viết lặp lại nhiều lần cùng chương trình Khai báo còn tiện lợi cần thay đổi giá trị nó chương trình Khai báo : - Những sử dụng nhiều lần chương trình thường đặt tên cho tiện sử dụng Ví dụ: Trong Pascal : Const N = 100; e = 2.7; Trong C++ : Const int N = 100; Const float e = 2.7 GV : Lập trình ngôn ngữ nào cần tìm hiểu cách khai báo ngôn ngữ GV : Nếu có thể giáo viên giải thích để học sinh có thể hiểu rằng, khai báo biến là xin máy tính cấp cho chương trình vùng nhớ để lưu trữ và xử lý thông tin nhớ Khai báo biến : - Mọi biến sử dụng chương trình phải khai báo để chưoyng trình dịch biết để xử lý và lưu trữ - Biến mang giá trị gọi là biến đơn (Khai báo biến trình bày bài 5) GV : Mỗi ngôn ngữ lập trình có cách tổ chức chương trình khác nhau, thường thì phần thân chứa các câu lệnh chương trình Phần thân chương trình : - Thân chương trình thường là nơi chứa toàn các câu lệnh chương trình lời gọi chương trình - Thân chương trình thường có cặp dấu hiệu bắt đầu và kết thúc chương trình GV : Đưa ví dụ khác cách viết thân chương trình các ngôn ngữ lập trình khác Ví dụ: Trong ngôn gnữ Pascal Begin [<Các câu lệnh>] End GV : Cho học sinh quan sát chương trình ngôn ngữ khác là Pascal và C++ HS : Quan sát và nhận xét cách viết hai chương trình ngôn ngữ khác Thông qua đó học sinh cần nhận : hai chương trình cùng thực công việc viết hai ngôn ngữ khác nên hệ thống các câu lệnh chương trình khác Có thể thêm câu lệnh hiển thị xâu vào chương trình Pascal để thể rõ là muốn đưa câu thông báo thì ta có thể sử dụng lệnh Writeln và xâu để dấu nháy đơn Ví dụ chương trình đơn giản Xét hai chương trình đơn giản ngôn ngữ khác sau đây : Chương trình : Trong ngôn ngữ Turbo Pascal Program VD; Begin Write(‘Chao cac ban’); Readline; End Chương trình : Trong ngôn ngữ C++ #include<stdio.h> Main() { Printf(“Chao cac ban”); } V CỦNG CỐ , DẶN DÒ: Nhắc lại số khái niệm Cho chương trình mẫu nhà yêu cầu học sinh phân biệt và rõ thành phần chương trình đó Giáo án Lý Thuyết TIN HỌC 11 Lop11.com (8) MỘT SỐ KIỂU DỮ LIỆU CHUẨN §4 I MỤC ĐÍCH YÊU CẦU Biết số kiểu liệu định sẵn: nguyên, thực, ký tự, logic, và miền Xác định kiểu cần khai báo liệu đơn giản II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC: Phương pháp: Thuyết trình, vấn đáp Phương tiện: Máy chiếu, máy tính, phòng chiếu bảng III LƯU Ý SƯ PHẠM: Trong phần này giáo viên chú ý cần lấy nhiều ví dụ đơn giản để học sinh luyện tập việc xác định kiểu liệu cần khai báo … IV NỘI DUNG BÀI GIẢNG: Hoạt động Giáo viên và Học sinh Nội dung Ổn định lớp: Chào thầy cô Cán lớp báo cáo sỉ số Chỉnh đốn trang phục GV : Vấn đáp: Khi cần viết chương trình quản lý học sinh ta cần sử lý thông tin dạng nào ? HS : Suy nghĩ, trả lời câu hỏi GV GV : Phân tích câu trả lời học sinh, đưa vài dạng thông tin sau : - Họ tên học sinh là thông tin dạng văn hay là dạng ký tự - Điểm học sinh là các thông tin các số thực - Số thứ tự học sinh là các số nguyên - Một số thông tin khác lại cần biết chúng là đúng hay sai GV : Thuyết trình đưa số bổ sung sau : - - - - Ngôn ngữ lập trình nào đưa số kiểu liệu chuẩn đơn giản, từ kiểu đơn giản này ta có thể xây dựng thành kiểu liệu phức tạp Kiểu liệu nào có miền giới hạn nó, máy tính không thể lưu trữ tất các số trên trục số nó có thể lưu trữ với độ chính xác cực cao Tùy thuộc vào ngôn ngữ lập trình mà tên các kiểu liệu khác và miền giá trị các kiểu liệu này khác Với kiểu liệu người lập trình cần ghi nhớ tên kiểu, miền giá trị và số lượng ô nhớ để lưu giá trị thuộc kiểu đó Trong lập trình nói chung thì kiểu kí tự thường là tập các kí tự các bảng mã kí tự, các bảng mã hóa kí tự người NNLT Pascal có số kiểu liệu chuẩn sau : Kiểu số nguyên Kiểu Số Byte 2 BYTE INTEGER WORD LONGINT Miền giá trị … 255 -215 … 215 - … 216 - -231 … 231 - Kiểu thực - Có nhiều kiểu cho giá trị là số thực hay dùng số kiểu sau : Tên kiểu REAL EXTENDED Miền giá trị nằm (10-38 1038) nằm (10-4932 104932) Số Byte 10 Kiểu kí tự - Giáo án Lý Thuyết TIN HỌC 11 Lop11.com Tên kiểu: CHAR Miền giá trị: Là các kí tự bảng mã ASCII gồm 256 ký tự Mỗi ký tự có mã tương ứng từ đến 255 Các kí tự có quan hệ so sánh, việc so sánh dựa trên mã kí tự (9) ta quy định có bao nhiêu kí tự khác và kí tự có mã thập phân tương ứng Để lưu các giá trị là kí tự thì phải lưu mã thập phân tương ứng nó GV : Đặt câu hỏi: Em biết bảng mã nào? HS : HS đưa số bảng mã GV chú ý các em NNLT Pascal sử dụng bảng mã ASCII cho kiểu kí tự - Kiểu logic là kiểu thường có giá trị đúng – sai Mỗi ngôn ngữ khác lại có cách mô tả kiểu logic khác nhau, Pascal dùng True – False số ngôn ngữ khác lại mô tả – 1,… Có ngôn ngữ lại không có kiểu logic mà người lập trình phải tự tìm cách để thể hên giá trị dạng này V Ví dụ: Trong bảng mã ASCII, các kí tự bảng chữ cái tiếng Anh xếp liên tiếp vối nhau, các chữ số xếp liên tiếp, cụ thể: A mã 65; a mã 97, mã 48 Kiểu logic - Tên kiểu : Boolean Miền giá trị : Chỉ có giá trị là TRUE (Đúng) FALSE (Sai) Một số ngôn ngữ có cách mô tả các giá trị logic cách khác Khi viết chương trình ngôn ngữ lập trình nào thì cần tìm hiểu đặc trưng các kiểu liệu ngôn ngữ đó CỦNG CỐ , DẶN DÒ: Nhắc lại các kiểu liệu đơn giản hay dùng Cho nhà số ví dụ việc lưu trữ sống và yêu cầu học sinh tìm kiểu liệu tương ứng Giáo án Lý Thuyết TIN HỌC 11 Lop11.com (10) §5 I KHAI BÁO BIẾN MỤC ĐÍCH YÊU CẦU Hiểu cách khai báo biến Khai báo đúng Nhận biết khai báo sai II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC: Phương pháp : Thuyết trình, vấn đáp Phương tiện : Máy chiếu, máy tính, phòng chiếu bảng III LƯU Ý SƯ PHẠM: Trong phần này giáo viên chú ý cần llấy nhiều ví dụ đơn giản để học sinh luyện tập việc xác định kiểu liệu và tự khai báo biến Chú ý cho học sinh : Cần đặt tên biến cho gợi nhớ đến ý nghĩa nó Không nên đặt tên qúa ngắn hay quá dài, dễ dẫn đến mắc lỗi hiểu nhầm Khai báo biến cần quan tâm đến phạm vi giá trị nó IV NỘI DUNG BÀI GIẢNG : Hoạt động Giáo viên và Học sinh Nội dung Ổn định lớp: Chào thầy cô Cán lớp báo cáo sỉ số Chỉnh đốn trang phục GV : Khai báo biến là chương trình báo cho máy biết phải dùng tên nào chương trình HS : Lắng nghe và ghi chép Ví dụ : - Để giải phương trình bậc hai ax2 + bx + c = cần khai báo các biến sau: Var a, b, c, x1, x2, delta : real; - Để tính chu vi và diện tích tam giác cần khai báo các biến sau: Var a, b, c, p, s, cv: Real; Trong đó : a, b, c: dùng để lưu độ dài cạnh tam giác p: nửa chu vi tam giác cv, s: chu vi và diện tích tam giác GV : Đặt câu hỏi: Khi khai báo biến cần chú ý điều gì ? HS : Suy nghĩ trả lời câu hỏi Trong đó: + + + + + + + GV : Phân tích câu trả lời học sinh V Trong ngôn ngữ Pascal, biến đơn khai báo sau : Var <danh sách biến> : <kiểu số liệu> CỦNG CỐ , DẶN DÒ : Nhắc lại số khái niệm Cho bài tập nhà Giáo án Lý Thuyết TIN HỌC 11 Lop11.com Var : là từ khóa dùng để khai báo biến Danh sách biến : tên các biến cách dấu phẩy Kiểu liệu : là kiểu liệu nào đó ngôn ngữ Pascal Sau Var có thể khai báo nhiều danh sách biến có kiểu liệu khác Cần đặt tên biến cho gợi nhớ đến ý nghĩa nó Không nên đặt tên quá ngắn hay quá dài, dễ dẫn tới mắc lỗi hiểu nhầm Khai báo biến cần quan tâm đến phạm vi giá trị nó (11) §6 PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN I MỤC ĐÍCH YÊU CẦU II Giới thiệu phép toán, biểu thức số học, hàm số học chuẩn và biểu thức quan hệ Hiểu lệnh gán Viết lệnh gán Phân biệt khác lệnh gán (:=) và phép so sánh Viết biểu thức số học và logic với các phép toán thông dụng PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC: Phương pháp: Thuyết trình, vấn đáp Phương tiện: Máy chiếu, máy tính, phòng chiếu bảng III LƯU Ý SƯ PHẠM: Đối với việc dạy phép toán, cần chú ý cho học sinh số phép toán thường không dùng toán học, và số phép toán có kí hiệu khác với kí hiệu toán học Kết phép toán quan hệ mang giá trị logic Đối với việc dạy biểu thức số học, cần phân biệt cho học sinh cách viết biểu thức số học toán học và tin học Kiễu giá trị biểu thức thường là kiểu biến, hay có độ lớn kiểu lớn nó, nên sử dụng biến trung gian để tránh việc sử dụng biến nhiều lần Khi dạy biểu thức quan hệ và biểu thức logic, cần lấy nhiều ví dụ từ đơn giản đến phức tạp để học sinh có thể tính toán đưa giá trị biểu thức, hay nêu ví dụ cụ thể các mối quan hệ sống để học sinh tự đưa biểu thức logic Tại câu lệnh gán cần cho học sinh hiểu lệnh gán là lấy giá trị biểu thức bên phải để đưa vào biến bên trái, hay thay giá trị biến bên trái lệnh gán giá trị biểu thức bên phải Có thể cho học sinh so sánh với phép so sánh và từ đó phân biệt dễ dàng IV NỘI DUNG BÀI GIẢNG : Hoạt động Giáo viên và Học sinh Nội dung Ổn định lớp: + Chào thầy cô + Cán lớp báo cáo sỉ số + Chỉnh đốn trang phục GV : Dẫn dắt vào bài: Trong viết chương trình ta thường phải thực các tính toán, thực các so sánh để đưa định xem làm việc gì? Vậy chương trình ta viết nào? Có giống với ngôn ngữ tự nhiên hay không? Tất các ngôn ngữ có sử dụng chúng cách giống không ? GV : Toán học có phép toán nào ? HS : Đưa số phép toán thường dùng toán học GV : Chúng có dùng các ngôn ngữ lập trình ? Chỉ số phép dùng được, số phép phải xây dựng từ các phép toán khác VD : Phép lũy thừa không phải ngôn ngữ nào viết - Ngôn ngữ lập trình nào sử dụng đến phép toán, biểu thức, câu lệnh gán - Ta xét các khái niệm này ngôn ngữ Pascal Phép toán NNLT Pascal sử dụng số phép toán sau: - Với số nguyên : +, -, * (nah6n), div (chia lấy nguyên), mod (chia lấy dư) - Với số thực : +, -, *, / (chia) - Các phép toán quan hệ <, <= , >, >=, =, <>: Cho kết qủa là giá trị logic (True False) Giáo án Lý Thuyết TIN HỌC 11 Lop11.com (12) GV : Mỗi ngôn ngữ khác lại có cách kí hiệu phép toán khác - Các phép toán Logic : NOT (phủ định), OR (hoặc), AND (và): thường dùng để kết hợp nhiều biểu thức quan hệ với Biểu thức số học GV : Trong toán học, biểu thức là gì? HS : Đưa khái niệm GV : Đưa khái niệm biểu thức lập trình - GV: Cách viết các biểu thức này lập trình có giống cách viết toán học ? HS : Đưa ý kiến mình GV : Phân tích ý kiến học sinh - Là dãy các phép toán +, -, *, / Div và Mod từ các hằng, biến kiểu số và các hàm Dùng cặp dấu () để qui định trình tự tính toán Thứ tự thực các phép toán : GV : Đưa cách viết biểu thức và thứ tự thực phép toán lập trình GV : Cách viết biểu thức phụ thuộc cú pháp ngôn ngữ lập trình - Trong ngoặc trước, ngoài ngoặc sau Nhân chia trước cộng trừ sau Giá trị biểu thức có kiểu là kiểu biến có miền giá trị lớn biểu thức Đưa số biểu thức toán học và yêu cầu các em viết chúng ngôn ngữ Pascal HS : Gọi vài học sinh lên bảng viết GV : Đặt câu hỏi, muốn tính X2 ta viết nào? HS : Có thể đưa là X*X Hàm số học chuẩn GV : Muốn tính ,sinx, cosx,… làm nào ? HS : Chưa biết cách tính GV : Để 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 các giá trị thông dụng GV : Với các hàm chuẩn, cần quan tâm đến kiểu đối số và kiểu giá trị trả VD : Sinx thì đo độ hay radian ? GV : Trong lập trình thường ta phải so sánh hai giá trị nào đó trước thực lệnh nào đó Biểu thức quan hệ còn gọi là biểu thức so sánh giá trị, cho kết là đúng sai (logic) VD : 3>5: Cho kết sai GV : Đặt câu hỏi, muốn so sánh nhiều điều kiện đồng thời làm nào? HS : Đưa ý kiến mình (và, hoặc,…) - Các ngôn ngữ lập trình thường cung cấp sẵn số hàm số học để tính số giá trị thông dụng - Cách viết : Tên_hàm (Đối số) - -Kết qủa hàm phụ thuộc vào kiểu đố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 - Bản thân hàm có thể coi là biểu thức số học và có thể tham gia vào biểu thức toán hạng Bảng số hàm chuẩn: (Theo dõi SGK và màn hình) Biểu thức quan hệ Có dạng sau: <biểu thức 1> <phép toán quan hệ> <biểu thức 2> Trong đó: - Biểu thức và biểu thức phải cùng kiểu - Kết biểu thức quan hệ là TRUE FALSE Ví dụ: A < B; 2*A >= 4+ B Biểu thức logic - Biểu thức logic đơn giản là biến logic - Thường dùng để liên kết nhiều biểu thức quan hệ lại với các phép toán logic Giáo án Lý Thuyết TIN HỌC 11 Lop11.com (13) Đưa ví dụ và cách viết đúng ngôn ngữ Pascal Chú ý : Mỗi ngôn ngữ có cách viết khác Ví dụ: - Ba số dương a, b, c là độ dài ba cạnh tam giác biểu thức sau cho giá trị đúng (a+ b > c) and (b+ c >a) and (c+ a >b) - Biểu thức điều kiện d” X d’ viết sau: (x >= 0) and (x <= 5) GV : Mỗi NNLT có cách viết lệnh gán khác GV : Cần chú ý điều gì viết lệnh gán? HS : Đưa ý kiến GV : Phân tích câu trả lời học sinh sau đó tổng hợp lại: cần chú ý đến kiểu biến và kiểu biểu thức Câu lệnh gán GV : Minh họa vài lệnh gán ví dụ trực quan trên bảng trên màn hình Ví dụ: X1 := (-b –sqrt(b*b – 4*a*c))/(2*a); X2 := (-b +sqrt(b*b – 4*a*c))/(2*a); I := I + 1; J := J – 2; - Lệnh gán là cấu trúc ngôn ngữ lập trình, thường dùng để gán giá trị cho biến Cấu trúc: <tên biến> := <biểu thức>; - Trong đó biểu thức phải phù hợp với tên biến Có nghĩa là kiểu tên biến phải cùng kiểu với kiểu biểu thức phải bao hàm kiểu biểu thức - Hoạt động lệnh gán : Tính giá trị biểu thức sau đó ghi giá trị đó vào tên biến Trong đó : lệnh thứ tăng giá trị I đơn vị, lệnh thứ giảm giá trị biến J hai đơn vị V CỦNG CỐ , DẶN DÒ: Nhắc lại số khái niệm Cho bài tập nhà, ngoài bài tập có sách có thể cho thêm nhiều biểu thức logic để học sinh nhà tính toán tìm giá trị nó, cho học sinh số biểu thức toán học và yêu cầu viết nó tin học (NNLT); có thể cho thêm bài theo cột, cột là biểu thức toán học, cột là biểu thức tin học tương ứng và tìm chỗ sai biểu thức so với toán Giáo án Lý Thuyết TIN HỌC 11 Lop11.com (14) §7 CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN I MỤC ĐÍCH YÊU CẦU Biết lệnh vào đơn giản để nhập thông tin từ bàn ph1im và đưa thông tin màn hình Viết số lệnh vào đơn giản II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC: Phương pháp: Thuyết trình, vấn đáp Phương tiện: Máy chiếu, máy tính, phòng chiếu bảng III LƯU Ý SƯ PHẠM : Cần chú ý cho học sinh phân biệt lệnh nhập liệu liệu Read và Readln, nhập liệu nên dùng Readln vì không có thể làm trôi lệnh readln; (không tham số) Cần hướng dẫn cụ thể cho học sinh việc sử dụng lệnh Write và Writeln, các cách để hiển thị liệu, các kiểu liệu nó Cần hướng dẫn học sinh cách kết hợp hai lệnh vào liệu viết chương trình cho hợp lý, sáng sủa (tốt là viết chương trình cụ thể, đơn giản) IV NỘI DUNG BÀI GIẢNG: Hoạt động Giáo viên và Học sinh Nội dung Ổn định lớp: Chào thầy cô Cán lớp báo cáo sỉ số Chỉnh đốn trang phục GV: Khi sử dụng các ứng dụng ta thường nhập thông tin vào, cách nào ta nhập thông tin nào lập trình? Làm cách nào để nhập giá trị từ bàn phím vào cho biến GV: Diễn giải hoạt động READ/READLN, nêu khác dùng Read/Readln GV: Mỗi ngôn ngữ có cach nhập thông tin vào khác GV: Đưa hai ví dụ chương trình có nhập thông tin vào từ bàn phím Ví dụ : Xét chương trình sau: Program VD; Uses crt; Var Tuoi: Byte Begin Clrscr; Write(‘Moi ban cho biet tuoi cua ban’); Readln(tuoi); Write(‘Cam on, tuoi cua ban la’,tuoi, ‘Tuoi’); Readln; End Trong ngôn ngữ Pascal các thủ tục vào chuẩn viết sau : Nhập liệu từ bàn phím - Ta dùng thủ tục chuẩn READ READLN có cấu trúc sau: READ/READLN(<biến 1>, …,<biến n>); Ví dụ: Read(N); Readln(a,b,c); Chú ý : Khi nhập liệu từ bàn phím READ và READLN có ý nghĩa nhau, thường hay dùng READLN READLN luôn chờ gõ phím Enter Ví dụ : Xét chương trình sau: Program VD; Uses crt; Var a, b, c : Integer; Begin Clrscr; Write(‘Moi ban nhap so:’); Readln(a, b, c); Write(‘Ban vua nhap vao so:, a, b, c); Readln; End Giáo án Lý Thuyết TIN HỌC 11 Lop11.com (15) GV : Chạy chương trình cho học sinh quan sát, nhận xét chương trình Giải thích việc nhập giá trị cho nhiều biến đồng thời Có thể thay đổi lệnh Readln(a, b, c) ví dụ thánh Read(a, b, c), chạy chương trình để học sinh thấy khác sử dụng hai lệnh này GV : Ta thấy ví dụ phần việc ghi liệu thì giá trị a, b, c dính liền vào và người sử dụng không thể phân biệt giá trị biến Vậy làm nào và có cách nào để hiển thị liệu theo ý muốn người lập trình GV : Mỗi ngôn ngữ có cách đưa thông tin màn hình khác Lấy thêm ví dụ các thủ tục đưa thông tin màn hình ngôn ngữ khác C++: cout … GV : Giải thích khác Write, Writeln Lấy ví dụ minh họa cụ thể chương trình Có thể lấy liệu phần nhập dữ liệu sửa để học sinh thấy việc khác lệnh Write và Writeln Minh họa quy cách đưa thông tin chương trình Sửa lại ví dụ phần để liệu số phân cách – người dùng có thể phân biệt Việc lập liệu cho nhiều biến thì giá trị biến phải cách ít dấu cách dấu Enter,máy gán giá trị cho các biến theo thứ tự lệnh tương ứng Đưa liệu màn hình Để đưa liệu màn hình vị trí trỏ, ta dùng thủ tục WRITE WRITELN với cấu trúc : Write/Writeln(<Giá trị 1>, <Giá trị 2>,…,<Giá trị n>); - Trong đó các Giá trị có thể là tên biến, tên hằng, giá trị cụ thể, biểu thức tên hàm Ví dụ: Write(a, b, c); Writeln(‘Gia tri cua N la : ’,N); - -Thủ tục Writeln sau đưa kết chuyển trỏ màn hình xuống đầu dòng Ngoài TP còn có qui cách đưa thông tin sau : Kết thực :<Độ rộng>:<Số chữ số thập phân> Kết khác: :<Độ rộng> Ví dụ: Write(N : 8); Writeln(‘X = ’,X:8:3); GV : Đưa ví dụ : Ví dụ 1: Để nhập giá trị từ bàn phím ta thường dùng: Write(‘Nhap gia tri cua M:’); {1} Readln(M) {2} Trong đó: {1} Đưa thông báo: Nhap gia tri cua M: Còn {2} Dùng để đọc giá trị và gán cho biến M Cấu trúc {1}, {2} gọi là giao tiếp người – máy Ví dụ : Xét chương trình đầy đủ sau: Program VD2; Var N : Integer; Begin Write(‘lop ban co bao nhieu nguoi:’); Readln(N); Write(‘Vay la ban co’,N -1,‘nguoi ban lop’); Write(‘Go Enter de ket thuc chuong trinh’); Readln; End VI CỦNG CỐ , DẶN DÒ: Lấy ví dụ đơn giản lập trình trực tiếp trên máycho học sinh quan sát Ra bài tập nhà Giáo án Lý Thuyết TIN HỌC 11 Lop11.com (16) §8 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 II Biết các bước soạn thảo, dịch, thực và hiệu chỉnh chương trình Biết số công cụ môi trường Turbo pascal Bước đầu sử dụng chương trình dịch để phát lỗi Bước đầu chỉnh sửa chương trình dựa vào thông báo lỗi chương trình dịch và tính hợp lý kết thu PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC : Phương pháp : Thuyết trình, vấn đáp Phương tiện : Máy chiếu, máy tính, phòng chiếu bảng III LƯU Ý SƯ PHẠM: Ta có thể gõ chương trình từ đầu, tạo các lỗi điển hình, sửa lỗi, làm mịn chương trình để học sinh có thể hình dung quá trình lập trình, sử dụng chương trình dịch để giúp tìm lỗi, lập trình nhanh IV NỘI DUNG BÀI GIẢNG : Hoạt động Giáo viên và Học sinh Ổn định lớp: Chào thầy cô Cán lớp báo cáo sỉ số Chỉnh đốn trang phục Nội dung Màn hình làm việc ngôn ngữ Pascal có dạng sau: GV : Giới thiệu số tập tin vần thiết để Turbo Pascal có thể chạy được, hướng dẫn các em cách khởi động Pascal trên máy tính Turbo.exe (file chạy) Turbo.tpl (file thư viện) Turbo.tph (file hướng dẫn) GV : Giới thiệu số thao tác thường dùng soạn thảo chương trình môi trường soạn thảo Turbo Pascal GV : Thực vài lần các thao tác này để các em nhận thấy mức độ tệin lợi nó soạn thảo chạy chương trình GV : Viết chương trình ví dụ, thực các thao tác sửa lỗi… Có thể lấy ví dụ yêu cầu người dùng nhập vào năm sinh, trả kết là tuổi người đó V - Một số thao tác thường dùng Pascal: -Xuống dòng: Enter -Ghi file vào đĩa: F2 -Mở file đã có: F3 -Biên dịch chương trình: Alt + F9 -Soát lỗi chương trình: F9 -Chạy chương trình: Ctrl + F9 -Đóng cửa sổ chương trình: Alt + F3 -Chuyển qua lại các cửa sổ: F6 -Xem lại màn hình kết qủa: Alt + F5 -Thoát khỏi Turbo Pascal: Alt + X CỦNG CỐ , DẶN DÒ: Nhắc lại hoạt động Write/Writeln, Read/Readln Cho bài tập nhà Giáo án Lý Thuyết TIN HỌC 11 Lop11.com (17) Chương III : CẤU TRÚC RẼ NHÁNH VÀ LẶP §9 I CẤU TRÚC RẼ NHÁNH MỤC ĐÍCH YÊU CẦU II Hiểu nhu cầu cấu trúc rẽ nhánh biểu diễn thuật toán Hiểu câu lệnh rẽ nhánh (dạng thiếu và dạng đủ) Hiểu câu lệnh ghép Sử dụng cấu trúc rẽ nhánh mô tả thuật toán số bài toán đơn giản Viết các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng để thể thuật toán số bài tóan đơn giản PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC: Phương pháp: Thuyết trình, vấn đáp Phương tiện: Máy chiếu, máy tính, phòng chiếu bảng III LƯU Ý SƯ PHẠM : Nên sử dụng các thuật toán các em đã học lớp 10 Cần xây dựng các bài thực hành và tổ chức thực phòng máy để học sinh đạt kỹ theo yêu cầu IV NỘI DUNG BÀI GIẢNG : Hoạt động Giáo viên và Học sinh Nội dung Ổn định lớp: Chào thầy cô Cán lớp báo cáo sỉ số Chỉnh đốn trang phục Khái niệm rẽ nhánh Ví dụ : Để viết chương trình giải phương trình bậc 2, ta phải: Tính = b2 – 4ac; Sau đó tùy thuộc vào giá trị mà ta có tính nghiệm hay không GV : Đưa ví dụ cùng học sinh thảo luận phương pháp giải bài toán Kiểm tra >=0 Thông báo vô nghiệm Tính và đưa nghiệm Trong thực tế : Nếu <0 thì phương trình vô nghiệm Nếu >=0 thì phương trình có nghiệm Như tùy thuộc vào giá trị mà ta đưa vô nghiệm hay có nghiệm - Hoặc có thể nói : Nếu < thì phương trình vô nghiệm, ngược lại thì phương trình có nghiệm =>Như ta thấy số mệnh đề có dạng + Nếu … thì… + Nếu … thì… ngược lại thì Cấu trúc này gọi là cấu trúc rẽ nhánh Các NNLT thường cung cấp các câu lệnh để mô tả các cấu trúc rẽ nhánh trên - Kết thúc Giáo án Lý Thuyết TIN HỌC 11 Lop11.com (18) Đưa khái niệm rẽ nhánh lập trình Mỗi NNLT có cách thể rẽ nhánh khác GV : Đưa cấu trúc lệnh rẽ nhánh Pascal Nhắc nhở học sinh đây là cấu trúc quan trọng, nó sử dụng nhiều các chương trình sau này GV : Lưu ý các em sau Then và sau Else có lệnh chương trình GV : Với hai dạng này, dạng nào dùng thuận tiện ? HS : Tìm câu trả lời, giáo viên gợi ý để học sinh đưa tùy trường hợp cụ thể mà dùng dạng thiếu hay dạng đủ Đưa các ví dụ có sử dụng lệnh rẽ nhánh, không có lệnh rẽ nhánh thì không thể thực GV : VD3: Cách nào nhanh hơn, tiện hơn? => Cách tiện GV : Phân tích tiện lợi cách và số lệnh mà máy phải thực Câu lệnh If – Then Pascal dùng câu lệnh If – then để mô tả việc rẽ nhánh tương ứng với hai loại mệnh đề rẽ nhánh - Dạng thiếu : If <điều kiện> Then <câu lệnh>; - Dạng đầy đủ : If <điều kiện> Then < câu lệnh 1> Else <câu lệnh 2> Trong đó: - Điều kiện : Là biểu thức quan hệ Logic - Câu lệnh, câu lệnh 1, câu lệnh là câu lệnh Pascal Ý nghĩa các câu lệnh : - Dạng thiếu : Nếu điều kiện đúng thì câu lệnh thực hiện, điều kiện sai thì không thực gì - Dạng đủ : Nếu điều kiện đúng thì thực câu lệnh 1, điều kệin sai thì thực câu lệnh VD : If (X Mod = 0) Then WRITE(x,’La so chan’); VD 2: If DELTA <0 Then WRITE(‘PT Vo Nghiem’) Else WRITE(‘PT co nghiem’); VD 3: Tìm giá trị lớn (max) số a và b Cách : Max :=a; If b >a Then max :=b; Cách : If a >b Then max :=a Else max :=b; GV : Trong câu lệnh If – Then muốn thực nhiều lệnh sau Then hay nhiều lệnh sau Else làm nào ? HS : Phát biểu ý kiến mình GV : Khi đó ta cần gộp nhiều lệnh đó lại và coi đó là câu lệnh chương trình Các ngôn ngữ lập trình thường có cấu trúc để giúp ta thực hệin điều này GV : Giới thiệu lệnh ghép vài ngôn ngữ lập trình khác C==: {} VB: If – Then – Endif Câu lệnh ghép - Trong ngôn ngữ Pascal, Câu lệnh ghép có dạng: Begin <các câu lệnh> End ; Chú ý : - Sau End phải là dấu; và trước Else không chứa dấu ; - Từ nói đến câu lệnh thì đó có thể là câu lệnh đơn là câu lệnh ghép Giáo án Lý Thuyết TIN HỌC 11 Lop11.com (19) Ví dụ : Đoạn chương trình sau ngôn ngữ Pascal có sử dụng chương trình ghép GV : Chỉ rõ đâu là lệnh ghép chuỗi lệnh này GV nên soạn sẵn hai chương trình này và cho các em quan sát cách viết chương trình để các em hình thành dần cách viết chương trình IF DELTA <0 THEN WRITELN(‘Phuong trinh vo nghiem’) ELSE BEGIN X1 :=(-B-SQRT(DELTA))/(2*A); X2 := - B/A – X1; WRITELN(‘X1=’,X1:6:3,’X2=’,X2:6:3); END; Chạy thử chương trình và rõ các lệnh chương trình dùng để làm gì Một số ví dụ Nếu có nhiều thời gian, GV có thể gõ lệnh chương trình, gõ đến đâu giải thích cho học sinh đến đó Nếu còn thời gian, gọi học sinh lên bảng viết câu lệnh If – Then cho số bài toán đơn giản Có thể viết chương trình mẫu cho học sinh xong, yêu cầu các em gõ lại chương trình vừa theo dõi mà không cần nhìn vào bài mẫu V Quan sát các chương trình sau ngôn ngữ lập trình Pascal Ví dụ : Tìm nghiệm thực phương trình bậc hai AX2 + BX + C= Ví dụ : Tìm số ngày năm: Năm nhuận là năm chia hết cho 400 chia hết cho không chia hết cho 100 CỦNG CỐ , DẶN DÒ: Nhắc lại số khái niệm Nhắc lại cấu trúc câu lệnh IF – THEN, IF – THEN – ELSE thông qua các ví dụ Cho bài tập nhà Giáo án Lý Thuyết TIN HỌC 11 Lop11.com (20) §10 I CẤU TRÚC LẶP MỤC ĐÍCH YÊU CẦU II Hiểu nhu cầu cấu trúc lặp biểu diễn thuật toán Hiểu cấu trúc lặp kiểm tra điều kiện trước, cấu trúc lặp với số lần định trước Biết cách vận dụng đúng đắn cấu trúc lặp vào tình cụ thể Mô tả thuật toán số bài toán đơn giản có sử dụng lệnh lặp Viết đúng các lệnh lặp kiểm tra điều kiện trước, lệnh lặp với số lần lặp trước Viết thuật toán số bài toán đơn giản PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC : Phương pháp : Thuyết trình, vấn đáp Phương tiện : Máy chiếu, máy tính, phòng chiếu bảng III LƯU Ý SƯ PHẠM : IV Cần tổng kết loại cấu trúc điều khiển: tuần tự, rẽ nhánh và lặp Bước đầu hình thành khái niệm lập trình có cấu trúc cho học sinh Cần xây dựng các bài thực hành và tổ chức thực phòng máy để học sinh đạt kỹ theo yêu cầu Khi dạy lệnh lặp, với dạng lệnh lặp, tốt viết ví dụ cụ thể, với số lần lặp nhỏ viết mô tả việc hoạt động vòng lặp cấu trúc (thể tương đương công việc lệnh lặp diễn tả ngắn nhiều) điều đó giúp học sinh hiểu vòng lặp) NỘI DUNG BÀI GIẢNG : Hoạt động Giáo viên và Học sinh Nội dung Ổn định lớp: Chào thầy cô Cán lớp báo cáo sỉ số Chỉnh đốn trang phục Khái niệm lặp GV : Đưa bài toán, yêu cầu học sinh tìm cách để lập trình giải các bài toán này - Xét bài toán sau với a > là số nguyên cho trước : HS : Đưa cách giải mình, học sinh có thể đưa cách giải khác Bài toán : Tính tổng GV : Đưa cách giải cho bài toán Giải theo các lệnh S1:=0; If (1/a>0.0001) then S1:=S1+ 1/a; If (1/(a+1)>0.0001) then S1:=S1+ /(a+1); If (1/(a+2)>0.0001) then S1:=S1+ /(a+2); If (1/(a+3)>0.0001) then S1:=S1+ /(a+3); … HS : Nhận xét với việc giải bài toán theo cách đó ? Với N = 100 thì lặp 100 lần theo việc kiểm tra điều kiện thì không biết phải làm theo cách nào? Theo hai trường hợp thì quá dài S1= 1 1 a a 1 a a 100 Bài toán : Tính Tổng 1 1 a a 1 a aN 0.0001 Với điều kệin aN S2= Cách giải : - Giáo án Lý Thuyết TIN HỌC 11 Lop11.com Bắt đầu S gán giá trị 1/a Tiếp theo lần cộng thêm vào S là 1/(a+N) với N = 1, 2, 3, … Với bài toán 1, việc cộng thêm dừng 1/(a+N) < 0.0001, => số lần lặp chưa biết Với bài toán 2, việc cộng thêm dừng N = 100, => số lần lặp đã biết trước (21)