I. Mục Tiêu:
- Hiểu được khái niệm lập trình và ngôn ngữ lập trình.
- Biết được khái niệm chương trình dịch
- Phân biệt được hai loại chương trình dịch là thông dịch và biên dịch
II. Đồ Dùng Dạy Học
III. Hoạt Động Dạy – Học
1. khái niệm lập trình và ngôn ngữ lập trình
Chương I: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH Tiết 1: Bài 1: KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH I. Mục Tiêu: - Hiểu được khái niệm lập trình và ngôn ngữ lập trình. - Biết được khái niệm chương trình dịch - Phân biệt được hai loại chương trình dịch là thông dịch và biên dịch II. Đồ Dùng Dạy Học III. Hoạt Động Dạy – Học 1. khái niệm lập trình và ngôn ngữ lập trình Hoạt động của giáo viên Hoạt động của học sinh 1. ghi nội dung bài toán đặt vấn đề: kết luận nghiệm của phương trình ax+b=0 - Hãy xác định input và output của bài toán? - Háy xác định các bước để tìm output? - Diễn giải: hệ thống các bước này được gọi là thuật toán. - Nếu trình bày thuật toán với người nước ngoài, em sẽ dùng ngôn ngữ nào để diễn đạt? - Nếu diễn đạt thuật toán này cho máy hiểu, em sẽ dùng ngôn ngữ nào? - Diễn giải: Hoạt động để diễn đạt một thuật toán thông qua một ngôn ngữ lập trình được gọi là lập trình. - Yêu cầu học sinh đọc sách giáo khoa và cho biết khái niệm lập trình. - Hỏi: kết quả của hoạt động lập trình? 2. Phát phiếu học tập. Yêu cầu các em ghi các loại ngôn ngữ lập trình mà em biết - Đọc nội dung 1 số phiếu học tập cho cả lớp cùng nghe. - Hỏi: Em hiểu như thế nào về ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao? - Hỏi: làm thế nào để chuyển 1 chương trình viết từ ngôn ngữ bậc cao sang ngôn ngữ máy? - Hỏi: Vì sao không lập trình trên ngôn ngữ máy để khỏi phải mất công chuyển đổi mà người ta thường lập trình bằng ngôn ngữ bậc cao? 1. Quan sát nội dung bài toán và theo dõi yêu cầu của giáo viên. - Input: a, b - Output: x=-b/a, vô ngiệm, vố số nghiệm. B1: nhập:a, b B2: nếu a0 kết luận có nghiệm x=-b/a B3: nếu a=0 và b0, kết luận vô nghiệm B4: nếu a=0 và b=0, kết luận vô số nghiệm - Ngôn ngữ tiếng anh. - Em dùng ngôn ngữ lập trình - Lập trình là việc sử dụng cấu trúc dữ liệu và các lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán. - Ta được 1 chương trình 2. Tham khảo sách giáo khoa và sử dụng vốn hiểu biết về tin học để điền phiếu học tập. - Ngôn ngữ máy - Hợp ngữ - Ngôn ngữ bậc cao - Ngôn ngữ máy: các lệnh được mã hoá bằng các kí hiệu 0-1. chương trình được viết trên ngôn ngữ máy có thể được nạp vào bộ nhớ và thực hiện ngay. - Ngôn ngữ bậc cao: các lệnh được mã hoá bằng 1 ngôn ngữ gần với ngôn ngữ tiếng Anh. Chương trình viết trên ngôn ngữ bậc cao phải được chuyển đổi thành chương trình trên ngôn ngữ máy mới có thể thực hiện được. - Phải sử dụng 1 chương trình dịch để chuyển đổi. - Lập trình bằng ngôn ngữ bậc cao dễ viết hơn vì các lệnh được mã hoá gần với ngôn ngữ tự nhiên. Lập trình trên ngôn ngữ máy rất khó, thường các chuyên gia lập trình mới lập trình được. Nội dung: Mọi bài toán có thuật toán đều có thể giải được trên máy tính điện tử. Các bước để giải 1 bài toán: + Xác định bài toán + Xây dựng được thuật toán khả thi + Lập trình - Lập trình là việc sử dụng cấu trúc dữ liệu và các lệnh của 1 ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán. - Ngôn nghữ lập trình là 1 phần mềm dùng để diễn đạt thuật toán thành 1 chương trình giúp cho máy tính hiểu được thuật toán đó. - Một số loại ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao 2. Chương trình dịch Hoạt động của giáo viên Hoạt động của học sinh 1. Nêu vấn đề: Em muốn giới thiệu về trường mình cho du khách quốc tế biết tiếng Anh, có 2 cách để thực hiện Cách 1: Cần 1 người biết tiếng Anh, dịch từng câu nói của 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 ra giấy và người phiên dịch dịch toàn bộ nội dung đó sang tiếng Anh rồi đọc cho du khách. - Hãy lấy ví dụ tương tự trong thực tế về biên dịch và thông dịch từ tiếng Anh sang tiếng Việt 2. 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 để cho biết các bước trong tiến trình thông dịch và biên dịch 1. Chú ý lắng nghe ví dụ của giáo viên và thảo luận để tìm ví dụ tương tự. - Khi thủ tướng 1 chính phủ trả lời phỏng vấn trước 1 nhà báo quốc tế, họ thường cần 1 người thông dịch để dịch từng câu tiếng Việt sang tiếng Anh. - Khi thủ tướng đọc 1 bài diễn văn tiếng Anh trươvs hội nghị, họ cần 1 người biên dịch để chuyển văn bản tiếng Việt thành tiếng Anh. 2. Nghiên cứu sách giáo khoa và suy nghĩ để trả lời. Nội dung: - Chương trình dịch là 1 chương trình có chức năng chuyển đổi 1 chương trình được viết bằng 1 ngôn ngữ lập trình bậc cao thành 1 chương trình có thể thực hiện được trên máy tính. - Cần phải có 1 chương trình dịch để chuyển chương trình được viết bằng các ngôn ngữ khác thành ngôn ngữ máy. - Đầu vào của chương trình dịch là 1 chương trình được viết bằng ngôn ngữ lập trình bậc cao. Đầu ra cũng là 1 chương trình nhưng được viết bằng ngôn ngữ máy. - Biên dịch: kiểm tra, phát hiện lỗi và dịch toàn bộ chương trình nguồn thành 1 chương trình có thể thực hiện trên máy. - Thông dịch: lần lượt dịch và thực hiện từng lệnh 1 IV. Đánh Giá Cuối Bài 1. Những nội dung đã học - Khái niệm lập trình và ngôn ngữ lập trình - Khái niệm chương trình dịch 2. Câu hỏi và bài tập về nhà - Mỗi loại ngôn ngữ lập trình phú hợp với những người lập trình có trình độ như thế nào? - Kể tên 1 số ngôn ngữ lập trình bậc cao có sử dụng kỹ thuật biên dịch và 1 số ngôn ngữ lập trình có sử dụng kỹ thuật thông dịch - Trả lời các câu hỏi sách giáo khoa - Xem trước bài học: các thành phần của ngôn ngữ lập trình Tiết: 2 Bài 2: CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH I. Mục Tiêu: 1. Kiến thức: - Nắm được các thành phần của 1 ngôn ngữ lập trình nói chung. - Biết được 1 số khái niệm như: tên, tên chuẩn, tên dành riêng, 2. Kỹ năng: - Phân biệt được tên chuẩn với tên dành riêng và tên tự đặt - Nhớ các qui định về tên, hằng và biến - Biết đặt tên đúng và nhận biết được tên sai quy định - Sử dụng đúng chú thích II. Đồ Dùng Dạy Học III. Hoạt Động Dạy – Học A. Kiểm tra bài cũ: 1. Nêu khái niệm lập trình và ngôn ngữ lập trình 2. Nêu khái niệm chương trình dịch B. Nội dung bài mới: 1. Các thành phần của ngôn ngữ lập trình Hoạt động của giáo viên Hoạt động của học sinh 1. Đặt vấn đề: Có những yếu tố nào dùng để xây dựng nên ngôn ngữ tiếng Việt? 2. Diễn giảng: Trong ngôn ngữ lập trình cũng tương tự như vậy, nó gốm có các thành phần: bảng chữ cái, cú pháp và ngữ nghĩa 3. Chia lớp làm 3 nhóm, phát bìa trong cho mỗi nhóm và yêu cầu mỗi nhóm thực hiện 1 nhiệm vụ: - Hãy nêu các chữ cái của bảng chữ cái tiếng Anh - Nêu các kí tự số trong hệ đếm thập phân - Nêu 1 số kí tự đặc biệt khác - Thu phiếu trả lời, viết kết quả lên bảng, gọi đại diện nhóm khác nhận xét, bổ sung. 1. Độc lập suy nghĩ và trả lời. - Bảng chữ cái tiếng Việt, số, dấu. - Cách ghép các kí tự thành từ, ghép từ thành câu - Ngữ nghĩa của từ và câu. 2. Lắng nghe và ghi nhớ 3. Nghiên cứu sách giáo khoa, thảo luận theo nhóm và điền phiếu học tập: - Bảng chữ cái: A->Z, a->z - Hệ đếm: 0->9 - Kí hiệu đặc biệt: + - * / = . , - Theo dõi kết quả của các nhóm khác và bổ sung những thiếu sót Nội dung: - Bảng chữ cái: là tập các kí tự được dùng để viết chương trình. Không được phép dùng bất kì kí tự nào ngoài các kí tự quy định trong bảng chữ cái. - Cú pháp: là bộ quy tắc để viết chương trình. - Ngữ nghĩa: xác định ý nghĩa thao tác cần phải thực hiện, ứng với mỗi tổ hợp kí tự dựa vào ngữ cảnh của nó. 2. Một số khái niệm a) Tên Hoạt động của giáo viên Hoạt động của học sinh 1. Đặt vấn đề: mọi đối tượng trong chương trình đều phải được đặt tên. - Hãy nghiên cứu sách giáo khoa, để nêu quy cách đặt tên trong Turbo Pascal? 2. Viết lên bảng các tên đúng – sai, yêu cầu học sinh chọn tên đúng - Tiểu kết cho vấn đề bày bằng việc khẳng định lại các tên đúng 3. Yêu cầu học sinh nghiên cứu sách giáo khoa để biết các khái niệm về tên dành riêng, tên chuẩn và tên do người lập trình đặt - Chia lớp làm 3 nhóm, mỗi nhom trình bày hiểu biết của mình về 1 loại tên và cho ví dụ - Ghi tên 1 số tên trong ngôn ngữ lập trình Pascal: Program, Abs, Integer, Type, Xỹ, Byte, Tong - Phát bìa trong và yêu cầu học sinh mỗi nhóm thực hiện: + Xác định tên dành riêng + Xác định tên chuẩn + Xác định tên tự đặt - Thu phiếu học tập của 3 nhóm, viết kết quả lên bảng, gọi học sinh nhóm khác nhận xét bổ sung. - Tiểu kết cho vấn đề này bằng cách bỏ sung thêm cho mỗi nhóm, để đưa ra trả lời đúng. 1. Nghiên cứu sách giáo khoa và trả lời - Gồm chữ số, chữ cái, dấu gạch dưới. - Bắt đầu bằng chữ cái hoặc dấu gạch dưới - Độ dìa không quá 127 kí tự, được viết liền nhau 2. Quan sat và trả lời 3. Nghiên cứu sách giáo khoa để trả lời - Thảo luận theo nhóm và điền phiếu học tập - Quan sát tranh và điền phiếu học tập Tên dành riêng: Program, Type Tên chuẩn: Abs, Integer, Byte Tên tự đặt: Xyx, Tong - Quan sát kết quả của nhóm khác và nhận xét, đánh giá và bổ sung - Theo dõi bổ sung của giáo viên để hoàn thiện kiến thức Nội dung: - Mọi đối tượng trong chương trình đều phải được đặt tên theo 1 quy tắc của ngôn ngữ lập trình và từng chương trình dịch cụ thể. - Tên dành riêng: là những tên được ngôn ngữ lập trình qui định dùng với ý nghĩa xác định (còn được gọi là từ khoá), người lập trình không được dùng với ý nghĩa khác - Tên chuẩn: là những tên được ngôn ngữ lập trình qui định dùng với 1 ý nghĩa nhất định nào đó, người lập trình có thể định nghĩa lại để dùng nó với ý nghĩa khác. - Tên do người lập trình đặt: là tên được dùng theo ý nghĩa riêng của từng người lập trình, tên này được khai báo trước khi sử dụng. Các tên không được trùng với tên dành riêng b) Hằng, biến và chú thích Hoạt động của giáo viên Hoạt động của học sinh 1. Yêu cầu học sinh cho 1 số ví dụ về hằng số, hằng xâu và hằng logic – Trình bày khái niệm về hằng số, hằng xâu và hằng logi. 2. Ghi bảng: xác định hằng số, hằng xâu trong các hằng sau: -32767 ‘QB’ ‘50’ 1.5E+2 3. Yêu cầu học sinh nghiên cứu sách giáo hkoa, cho biết khái nệm biến - Cho ví dụ 1 số biến 4. Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết chức năng của chú thích trong chương trình - Cho 1 ví dụ về 1 dòng chú thích. - Hỏi: Tên biến và tên hằng là tên dành riêng hay tên chuẩn hay tên do người lập trình đặt? - Hỏi: Các lệnh được viết trong cặp dấu { } có được TP thực hiện không? Vì sao? 1. Độc lập suy nghĩ và trả lời - Hằng số: 50, 60.5 - Hằng xâu: ‘Hoạt động của học sinh Noi’, ‘A’ - Hằng logic: True, False - Trả lời các khái niệm về hằng 2. Quan sát bảng và trả lời - Hằng số: -32767, 1.5E+2 - Hằng xâu: ‘QB’, ‘50’ 3. Nghiên cứu sách giáo khoa và trả lời. - Ví dụ hai tên biến là: Tong, Xyz 4. Độc lập tham khảo sách giáo khoa để trả lời - { Lenh xuat du lieu} - Là tên do người lập trình đặt. - Không, vì đó là dòng chú thích. Nội dung: - Hằng là đại lượng không đổi trong quá trình thực hiện chương trình. Có 3 loại hằng thường dùng: + Hằng số học: là các số nguyên hoặc số thực, có dấu hoặc không dấu + Hằng logic: là giá trị đúng (True) hoặc sai (False) + Hằng xâu: là 1 chuỗi kí tự bất kì. Khi viết, chuỗi kí tự này được đặt trong cặp dấu nháy đơn. - Biến là đại lượng được đặt ... m:word); 4. Tìm hiểu một số thư viện khác Hoạt động của giáo viên Hoạt động của học sinh 1. Yêu cầu HS nghiên cứu SGK, nêu tên các thư viện 2. Yêu cầu HS nêu chức năng của mỗi thư viện 1. Các thư viện: System, Dos, Print 2. Chức năng của mỗi thư viện: - System: chứa các hàm và thủ tục vào/ra sơ cấp - Dos: chứa các thủ tục như: tạo thư mục, đóng mở file, - Printer: chứa các thủ tục liên quan đến máy in Nội dung: - Thư viện System: chứa các hàm sơ cấp và các thủ tục vào/ra mà các chương trình đều dùng tới - Thư viện Dos: chứa các thủ tục cho phép thực hiện trực tiếp các lệnh như: tạo thư mục, thiết lập ngày giờ hệ thống - Thư viện Print: cung cấp các thủ tục làm việc với máy in IV. ĐÁNH GIÁ CUỐI BÀI: 1/ Những nội dung đã học: 2/ Câu hỏi và bài tập về nhà: Đọc bài đọc thêm 4: Am thanh, SGK trang 118 Tiết: 50-51 BÀI TẬP VÀ THỰC HÀNH 8 I. MỤC TIÊU: 1/ Kiến thức: Biết được khả năng đồ họa của Pascal 2/ Kĩ năng: Sử dụng được các thủ tục về đồ họa để viết được một chương trình đơn giản II. ĐỒ DÙNG DẠY HỌC: III. HOẠT ĐỘNG DẠY – HỌC: 1/ Tìm hiểu một số chương trình Pascal: a) Mục tiêu: biết được một số thủ tục, suy luận được kết quả của chương trình b) Nội dung: chương trình vẽ các đường gấp khúc ngẫu nhiên nhờ thủ tục Lineto, mỗi đoạn có một màu ngẫu nhiên. Vị trí bắt đầu vẽ là tâm của màn hình. Kết thúc việc vẽ bằng cách nhấn một phím bất kì c) Các bước tiến hành: Hoạt động của giáo viên Hoạt động của học sinh 1. Giới thiệu chương trình câu a - Chiếu nội dung chương trình lên bảng (SGK, trang 115) - Hỏi: hàm Detectinit có chức năng gì? - Thủ tục Moveto(getmaxx div 2, getmaxy div 2) thực hiện công việc gì? - Chương tình này thực hiện công việc gì? - Thực hiện chương trình để HS thấy kết quả của chương trình này 2. Giới thiệu chương trình câu b, SGK trang 116 - Yêu cầu HS nghiên cứu chương trình và cho biết chức năng của chương trình - Thực hiện chương trình để HS thấy kết quả của nó - Yêu cầu HS thay đổi một số tham số về màu vẽ, tọa độ và thực hiện lại chương trình 1. Quan sát nội dung chương trình - Cho giá trị khác không nếu có lỗi khởi động đồ họa - Chuyển con trỏ đồ họa đến vị trí tâm của màn hình - Vẽ các đường gấp khúc ngẫu nhiên nhờ thủ tục Lineto, mỗi đoạn có một màu ngẫu nhiên. Vị trí bắt đầu vẽ là tâm của màn hình. Kết thúc việc vẽ bằng cách nhấn một phím bất kì - Quan sát giáo viên thực hiện và kiểm nghiệm suy luận 2. Quan sát nội dung chương trình - Vẽ hình chữ nhật với nét vẽ màu vàng - Vẽ đường tròn màu xanh lá cây, tâm 450, 100 và bán kính 50 - Quan sát kết quả thực hiện chương trình và kiểm nghiệm suy luận - Thực hiện yêu cầu của GV. Thực hiện chương trình để biết được ý nghĩa của các thủ tục và tham số của nó 2/ Rèn luyện kĩ năng xử lí đồ họa: a) Mục tiêu: - Bước đầu sử dụng được các thủ tục của thư viện Graph để viết chương trình vẽ được một số hình cơ bản - Sử dụng được các thủ tục xử lí đồ họa và công thức đổi trục tọa độ để lập trình vẽ đượ đồ thị hàm số b) Nội dung: - Viết chương trình vẽ 20 hình tròn lồng nhau có tọa độ tâm là điểm chính giữa của màn hình, các hình có bán kính cách nhau 5 điểm ảnh - Viết chương trình vẽ một hình vuông có độ dài cạnh 100 và tọa độ đỉnh góc trên trái là 50, 50 c) Các bước tiến hành: Hoạt động của giáo viên Hoạt động của học sinh 1. Giới thệu nội dung yêu cầu thứ nhất lên bảng Định hướng cách giải quyết vấn đề cho HS - Thủ tục để vẽ được một hình tròn có tâm là điểm chính giữa màn hình - Cần bao nhiêu lệnh như vậy, dùng cấu trúc nào để điều khiển 2. Yêu cầu HS độc lập viết chương trình lên máy - Yêu cùa HS thực hiện chương trình để thấy kết quả - Tiếp cận từng HS để hướng dẫn, sửa chữa các sai sót cho HS 3. Giới thệu nội dung yêu cầu thứ hai lên bảng Định hướng phương pháp giải quyết vấn đề - Từ điểm góc trên trái, dung thủ tục Linerel(0,100) để vẽ đoạn thẳng đến đỉnh góc dưới trái. Tương tự như vậy, thực hiện để vẽ hình vuông 4. Yêu cầu HS độc lập viết chương trình lên máy - Yêu cùa HS thực hiện chương trình để thấy kết quả - Tiếp cận từng HS để hướng dẫn, sửa chữa các sai sót cho HS 1. Quan sát yêu cầu của GV - Circle(x,y:integer; r:word); - Cần 20 lệnh, nên dùng cấu trúc For để chương trình ngắn gọn 2. Độc lập soạn thảo chương trình vào máy - Thực hiện chương trình - Quan sát kết quả 3. Quan sát nội dung đề bài, theo dõi định hướng phân tích yêu cầu của GV 4. Độc lập soạn thảo chương trình vào máy - Thông báo hoàn thành lập trình - Thực hiện chương trình - Quan sát kết quả IV. ĐÁNH GIÁ CUỐI BÀI: 1/ Những nội dung đã học: 2/ Câu hỏi và bài tập về nhà: Viết chương trình con vẽ hình vuông có độ dài cạnh là d và tọa độ đỉnh trên trái là (x,y) Tiết: 52 ÔN TẬP CUỐI NĂM I. MỤC TIÊU: 1/ Kiến thức: Nắm được toàn bộ kiến thức đã được học từ học kì 2 2/ Kĩ năng: Vận dụng được các lệnh và kiểu dữ liệu đã học để lập trình giải các bài toán một cách trọn vẹn II. ĐỒ DÙNG DẠY HỌC: III. HOẠT ĐỘNG DẠY – HỌC: 1/ Nhắc lại kiến thức đã được học: Mục tiêu: HS nắm chắc tất cả các kiến thức lí thuyết cơ bản đã được học từ học kì 2 Các bước tiến hành: Hoạt động của giáo viên Hoạt động của học sinh 1. Đặc câu hỏi để giúp HS nhớ lại kiến thức đã được học - Cách khai báo kiểu mảng, khai báo biến kiểu mảng và tham chiếu đến từng phần tử của mảng - Cách khai báo biến xâu, tham chiếu đến từng kí tự của xâu, các hàm và thủ tục liên quan đến xâu - Cách tạo kiểu bản ghi, khai báo biến kiểu bản ghi và cách tham chiếu đến từng phàn tử của biến bản ghi 1. Theo dõi các câu hỏi của giáo viên và suy nghĩ trả lời + Đối với mảng một chiều Type tênkiểu=Array[chỉ số] of kiểu_phần_tử; Var tênbiến:tênkiểu; Tênbiến[chỉ số] + Đối với mảng hai chiều Type tênkiểu=Array[chỉ số dòng, chỉ số cột] of kiểu_phần_tử; Var tênbiến:tênkiểu; Tênbiến[chỉ số dòng, chỉ số cột] - Var tênbiến:String; Tênbiếnxâu[chỉ số] Hàm length(st), upcase(ch), copy(st,vt,n), pos(s1,s2) Thủ tục Delete(st,vt,n), insert(st1,st2,vt) - Type tên_kiểu_bản_ghi = Record Tên trường 1: kiểu dữ liệu 1; Tên trường n: kiểu dữ liệu n; End; Var tên_biến_bản_ghi:tên_kiểu_bản_ghi; Tên_biến_bản_ghi.tên_trường 2/ Rèn luyện kĩ năng viết chương trình: Mục tiêu: HS sử dụng được kiến thức tổng hợp để giải quyết được một bài toán đặt ra Nội dung: Viết chương trình nhập vào một dãy số gồm N phần tử nguyên dương. In ra màn hình ước số chung lớn nhất của dãy số đó Các bước tiến hành: Hoạt động của giáo viên Hoạt động của học sinh 1. Giới thiệu nội dung đề bài lên bảng. Định hướng phương pháp giải quyết - Các nhiệm vụ phải thực hiện: nhập một dãy số. Tìm ước số chung lớn nhất của hai số, tìm ước số chung lớn nhất của n số và in kết quả ra màn hình 2. Chia lớp làm 3 nhóm Nhóm 1: viết chương trình con nhập giá trị cho một mảng Nhóm 2: viết chương trình con tìm ước số chung lớn nhất của 2 số Nhóm 3: viết chương trình chính khi có chương trình con nhập mảng và tìm ước số chung lớn nhất của hai số - Gọi đại diện các nhóm lên bảng viết chương trình. Gọi HS các nhóm nhận xét đánh giá lẫn nhau - Yêu cầu HS ghép các chương trình con để được chương trình chính - Thực hiện chương trình để toàn lớp thấy kết quả 1. Quan sát nội dung đề bài và suy nghĩ phương pháp giải theo định hướng phân tích của GV 2. Thảo luận theo nhóm, viết chương trình - Thông báo kết quả cho GV khi hoàn thành - Nhận xét, đánh giá và bổ sung những thiếu sót của các nhóm khác - Thảo luận để ghép chương trình - Quan sát để thấy kết quả của bài tập IV. ĐÁNH GIÁ CUỐI BÀI: 1/ Những nội dung đã học: 2/ Câu hỏi và bài tập về nhà: Chuẩn bị kiến thức cho tiết sau kiểm tra cuối năm: xem lại toàn bộ các kiến thức đã được ôn tập Tiết: 53 KIỂM TRA HỌC KÌ II I. MỤC TIÊU CẦN ĐÁNH GIÁ: - Kiểm tra kết quả tiếp thu của HS trong năm học - Đánh giá kĩ năng phân tích một bài toán và tư duy lập trình trên giấy - Có thái độ tích cực, tự giác trong làm bài kiểm tra II. MỤC ĐÍCH YÊU CẦU CỦA ĐỀ: 1/ Kiến thức: HS nắm được các kiến thức về kiểu mảng, kiểu xâu và kiểu bản ghi 2/ Kĩ năng: có kĩ năng phân tích bài toán, viết chương trình III. NỘI DUNG ĐỀ BÀI VÀ ĐÁP ÁN: I. Phần trắc nghiệm (3đ): Câu 1: Khai báo nào sau đây hợp lệ? a. Var a: array[1..10] of Real; b. Var a=array[1..10] of Real; c. Var a:array[1:10] of Real; d. Var a:rray[1,10] of Real; Câu 2: Để khai báo biến mảng a gồm 5 hàng 6 cột: Var a:array[1..6,1..5] of byte; Var a:array[1..5,1..6] of byte; Var a=array[1..6,1..5] of byte; Var a=array[1..5,1..6] of byte; Câu 3: Để tham chiếu đến phần tử hàng 3 cột 4 của biến mảng b, ta viết: b[4,3] b[3,4] array[3,4] array[4,3] Câu 4: Viết khai bo var a: array[1..5]of read; cĩ nghĩa l Khai bo biến mảng a l biến mảng một chiều Khai bo biến mảng a l biến mảng hai chiều Khai bo biến a l biến kiểu số thực Cu lệnh sai Câu 5: Khai báo nào sau đây chưa hợp lệ? var a: string; var a: string[25]; var a: strinh; var a: string[255]; Câu 6: Cho n l biến nguyn, lệnh n:=length(‘Tin_hoc’); write(n); kết qủa in ra mn hình l: a. 6 b. 7 c. 8 d. 9 Câu 7. Cho t:=’Tin_hoc’; để có kết qủa là xâu ‘Tin’ ta thực hiện: a. Delete(t,1,3); b. Delete(t,3,1); c. Delete(t,4,4); d. Delete(t,4,3); Câu 8: Cho s1:=’tin’; s2:=’hoc’; Lệnh insert(s1,s2,4); cho kết qủa l: a. hoctin b. tinhoc c. hoc tin d. tin hoc Câu 9. Dữ liệu kiểu.dùng để mô tả các đối tượng có cùng một số thuộc tính mà các thụôc tính có thể có các kiểu dữ liệu khác nhau. Kiểu mảng Kiểu xu Kiểu bản ghi Kiểu số nguyn Câu 10. Để tham chiếu đến trường X của bản ghi A ta viết: a. A.X b. X.A c. A:X d. X:A II. Phần tự luận (7đ): Cu 1: Viết chương trình nhập vo một mảng gồm n phần tử, tìm phần tử cĩ gi trị nhỏ nhất của mảng. Đưa ra màn hình chỉ số v gi trị của phần tử tìm được Cu 2: Viết chương trình nhập từ bàn phím xâu kí tự S có độ dài không quá 150. cho biết có bao nhiêu chữ số xuất hiện trong xâu S. thông báo kết quả ra màn hình ĐÁP ÁN VÀ BIỂU ĐIỂM I. Phần trắc nghiệm (3đ): 1. a 2. b 3. b 4. d 5. c 6. b 7. c 8. a 9. c 10. a II. Phần tự luận (7đ): Câu 1: (4đ) Program gtri_nhonhat; Uses Crt; Var A:array[1..100] of Integer; N,I,j:integer; Begin Clrscr; Write(‘nhap so luong phan tu cua day so, n= ’); Readln(n); For i:=1 to n do Begin Write(‘Phan tu thu ‘,I,’ =’); Readln(A[i]); End; J:=1; For i:=2 to n do if A[i] < A[j] then j:=I; Write(‘Chi so: ‘,j,’ gia tri nho nhat la: ‘,A[j]:5); Readln; End. Câu 2: (3đ) Program xau_ktu; Uses Crt; Var S:string[100]; I,dem:byte; Begin Clrscr; Writeln(‘nhap xau ki tu bat ki:’); Readln(S) ; Dem :=0 ; For i :=1 to length(S) do If (‘0’ <= S[i]) and (S[i] <= ‘9’) then dem:=dem + 1; Writeln(‘Trong xau S co ‘,dem,’ chu so.’); Readln; End. ++++++++++++++++++++++++++++++++++++++++++++++++++ - website đang xây dựng, cập nhật phần mềm, tài liệu cá nhân có trong quá trình làm việc, sử dụng máy tính và hỗ trợ cộng đồng: + Quản lý giáo dục, các hoạt động giáo dục; + Tin học, công nghệ thông tin; + Giáo trình, giáo án; đề thi, kiểm tra; Và các nội dung khác. ++++++++++++++++++++++++++++++++++++++++++++++++++
Tài liệu đính kèm: