Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 99 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
99
Dung lượng
0,93 MB
Nội dung
Ngày soạn: Ngày dạy……………………… Lớp dạy: 11 Ngày dạy……………………… Lớp dạy: 11 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 KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH I. Mục tiêu a. Kiến thức: - Hiểu khả năng của ngôn ngữ lập trình bậc cao, phân biệt được với ngôn ngữ máy và hợp ngữ. - Hiểu ý nghĩa và nhiệm vụ của chương trình dịch. Phân biệt được biên dịch và thông dịch. b. Thái độ: Ham muốn tìm hiểu các ngôn ngữ lập trình. II. Chuẩn bị của giáo viên và học sinh a. Giáo viên: Giáo án, đồ dùng dạy học b. Học sinh: Đọc trước SGK, xem lại một số kiến thức Tin học lớp 10. III. Tiến trình bài dạy: Hoạt động 1: Tìm hiểu khái niệm lâp trình và ngôn ngữ lập trình TG Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng 3’ 4’ 3’ -Quan sát bài toán và trả lời câu hỏi. +Input: a, b +Output: x=-b/a, vô nghiệm, vô số nghiệm. +B1: Nhập a, b. B2: Nếu a<> 0 kết luận có nghiệm x=-b/a. B3: Nếu a=0 và b<>0, kết luận vô nghiệm. B4: Nếu a=0 và b=0, kết luận vô số nghiệm. -Dùng ngôn ngữ lập trình. -Cho bài toán sau: Kết luận nghiện của phương trình ax + b=0. + Hãy xác định Input, Output của bài toán trên. + Hãy xác định các bước để giải bài toán trên -Hệ thống các bước này chúng ta gọi là thuật toán. Làm thế nào để máy tính điện tử có thể hiểu được thuật toán này ? -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. Bài 1 KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH 5’ 4’ 3’ 3’ -Nghiên cứu nội dung trong SGK và trả lời câu hỏi +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. + Được một chương trình. +Ngôn ngữ máy, hợp ngữ và ngôn ngữ bâc cao. -Nghiên cứu SGK và trả lời câu hỏi. + Chương trình viết bằng ngôn ngữ máy có thể nạp trực tiếp vào bộ nhớ và thực hiện ngay. + Chương trình viết bằng ngôn ngữ lập trình bậc cao phải được chuyển đổi thành chương trình trên ngôn ngữ lập máy thì mới thực hiện được. -Phải sử dụng một chương trình dịch để chuyển đổi. Ngôn ngữ bậc cao dễ viết, dễ hiểu. Ngôn ngữ máy khó viết. -Các em hãy cho biết khái niệm về lập trình ? - Kết quả của hoạt động lập trình ? -Ngôn ngữ lập trình gồm những loại nào ? -Theo các em chương trình được viết bằng ngôn ngữ bậc cao và chương trình được viết bằng ngôn ngữ máy khác nhau như thế nào ? -Làm thế nào để chuyển một chương trình viết bằng ngôn ngữ bậc cao sang ngôn ngữ máy ? -Vì sao không lập trình trên ngôn ngữ máy để khỏi mất công chuyển đổi khi lập trình với ngôn ngữ bậc cao - 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. Hoạt động 2: Tìm hiểu hai loại chương trình dịch: thông dịch và biên dịch TG Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng 5’ 4’ 3’ 3’ -Nghiên cứu SGK và trả lời câu hỏi: + Chương trình nguồn là chương trình viết bằng ngôn ngữ lập trình bậc cao. + Chương trình đích là chương trình thực hiện chuyển đổi sang ngôn ngữ máy. -Nghiên cứu SGK và trả lời câu hỏi: +Thông dịch: B1: Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn; B2: Chuyển lệnh đó thành ngôn ngữ máy B3: Thực hiện các câu lệnh vừa được chuyển đổi. +Biên dịch: B1: Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của các câu lệnh -Theo các em đối với chương trình dịch: chương trình nào là chương trình nguồn và chương trình đích -Nêu vấn đề: Em muốn giới thiệu về trường mình cho một người khách du lịch quốc tế biết tiếng Anh, có hai cách thực hiện: C1: Cần một 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 mày gọi lag thông dịch C2: Em soạn nội dung 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 khách nghe. Cách này gọi là biên dịch. Tương tự chương trình dịch có hai loại là thông dịch và biên dịch. -Các em hãy cho biết tiến trình của thông dịch và biên dịch. -Chương trình dịch gồm thông dịch và biên dịch. a) Thông dịch B1: Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn; B2: Chuyển lệnh đó thành ngôn ngữ máy B3: Thực hiện các câu lệnh vừa được chuyển đổi. +Biên dịch: B1: Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của các câu lệnh trong chương trình nguồn. B2: Dịch toàn bộ chương trình nguồn thành một trong chương trình nguồn. B2: Dịch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ để sử dụng lại khi cần thiết chương trình đích có thể thực hiện trên máy và có thể lưu trữ để sử dụng lại khi cần thiết Hoạt động 3(3’): Củng cố kiến thức -Khái niệm lập trình và ngôn ngữ lập trình. -Các ngôn ngữ lập trình: ngôn ngữ máy, ngôn ngữ bậc cao, hợp ngữ. -Khái niệm chương trình dịch. -Thông dịch và biên dịch. Ngày soạn: Ngày dạy:……………………………Lớp 11 Ngày dạy:……………………………Lớp 11 Tiết 2 CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH I. Mục tiêu: a) Kiến thức: Biết ngôn ngữ lập trình có ba thành phần cơ bản là: Bảng chữ cái, cú pháp và ngữ nghĩa. hiểu được ba thành phần này Biết một số khái niệm: Tên, tên chuẩn, tên dành riêng(từ khoá), hằng và biến. b) Kỹ năng: Phân biệt được ba thành phần:bảng chữ cái ,cú pháp và ngữ nghĩa Phân biệt được tên, hằng và biến. biết đặt tên đúng c) Tư duy và thái độ : Tư duy logic Thái độ cẩn thận, chính xác. II. Chuẩn bị của giáo viên và học sinh; a) GV: Giáo án và đồ dùng giảng dạy b) HS: Đọc trước bài ở nhà III.Tiến trình bài dạy HĐ1: Các thành phần cơ bản (15’) TG HĐ CỦA HS HĐ CỦA GV GHI BẢNG 3’ 7’ - Chữ cái - Cú pháp - Ý nghĩa của điều cần diễn tả. Lắng nghe HĐTP1:Dẫn dắt vào baì - Để diễn tả một ngôn ngữ tự nhiên ta cần phải biết những gì? - Các ngôn ngữ lập trình nói chung thường có chung một số thành phần như:Dùng những kí hiệu nào để viết chương trình, viết theo quy tắc nào? viết như vậy có ý nghĩa là gì? Mỗi ngôn ngữ lập trình có một quy định riêng về những thành phần này H ĐTP2: Giới thiệu bảng chữ cái GV treo bảng phụ 1 (SGK Trang 9) - Bảng chữ cái trong ngôn ngữ lập trình khác nhau có sự khác nhau. Ví dụ bảng chữ cái trong ngôn ngữ lập trình C ++ chỉ 1. Các thành phần cơ bản - Mỗi ngôn ngữ lập trình thường có ba thành phần cơ bản là: bảng chữ cái ,cú pháp và ngữ nghĩa. a.Bảng chữ cái:Là tập 12’ 8’ 8’ 3’ HS chú ý HS lắng nghe Khác nhau: Dấu cộng trong (1) là cộng 2 số thực cong trong (2) là cộng trong 2 số nguyên HS lắng nghe và ghi chép. khác pascal là sử dụng thêm các kí tự như dấu nháy kép(“), dấu sổ ngược(\), dấu chấm than(!). - HĐTP3: Giớ thiệu cú pháp - Cú pháp ngôn ngữ lập trình khác nhau cũng khác nhau ngôn ngữ pascal dùng cặp từ Begin- End để gộp nhiều lệnh thành một lệnh nhưng trong C ++ dùng cặp kí hiệu {}. Ví dụ : Xét 2 biểu thức A+B (1) A,B là các số thực. I+J (2) với I,J là các số nguyên Hỏi HS: Về ngữ nghĩa 2 biểu thức trên có khác nhau không? - Mỗi nôn ngữ khác nhau cũng có ngữ nghĩa khác nhau các kí hiệu dùng để viết chương trình b. Cú pháp - Là bộ quy tắc để viết chương trình c. Ngữ nghĩa Xác định ý nghĩa thao tác cần phải thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh của nó. Tóm lại: - cú pháp cho biết cách viết một chương trình hợp lệ, còn ngữ nghĩa xác định ý nghĩa của các tổ hợp kí tự trong chương trình. - Các lỗi cú pháp được chương trình dịch phát hiện và thông báo cho người lập trình biết. chương trình không còn lỗi cú pháp thì mới có thể dịch sang ngôn ngữ máy. - Lỗi ngữ nghĩa được phát hiện khi chạy chương trình HĐ2: Giới thiệu Tên(15’) TG HĐ CỦA HS HĐ CỦA GV GHI BẢNG 5’ 4’ Lắng nghe và ghi chép - Trong các ngôn ngữ lập trình nói chung,các đối tượng sử dụng trong chương trình đều phải đặt tên để tiện cho việc sử dụng. Việc dặt tên trong các ngôn ngữ khác nhau 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. - Ngôn ngữ lập trình pascal không phân biệt chữ hoa chữ thường nhưng một số ngôn ngữ lập trình khác(như C ++ ) lại phân biệt chữ hoa, chữ thường 2 Một số khái niệm a. Tên: - Mọi đối tượng trong chương trình đều phải được đặt tên theo quy tắc của ngôn ngữ lập trình - Trong ngôn ngữ turbo pascal tên là một dãy liên tiếp không quá 127 kí tự bao gồm: chữ số, chữ cái hoặc dấu gạch dướivà bắt đầu bằng chữ cái hoặc gạch dưới - Ví dụ : Trong ngôn ngữ pascal + Các tên đúng: A, Bre1, -ten, . . . + Các tên sai: a bc, 6hgf, x# y, - Ngôn ngữ lập trình có 3 loại tên: tên dành riêng, tên chuẩn, tên do người lập trình đặt. • Tên dành riêng: Là những tên được ngôn ngữ lập trình quy định với ý nghĩa riêng xác định mà người lập trình không được dùng với ý nghĩa khác - Tên dành riêng được gọi là từ khoá - Ví dụ: một số tên dành riêng: - Trong pascal : program, uses, var, const, - Trong c ++ : main, include, if, 5’ 5’ - * Tên chuẩn: là nhữnh tên được ngôn ngữ lập trình dùng với ý nghĩa nhất định nào đó. Trong các thư viện của ngôn ngữ lập trình. - Ví dụ : Một số tên chuẩn - Trong pascal: real, integer, char, - Trong c ++ : cin, count, * Tên do người lập trình đặt: Được xác định bằng cách trước khi sử dụng, không được trùng với tên dành riêng HĐ3: Hằng và biến (10’) TG HĐ CỦA HS HĐ CỦA GV GHI BẢNG 5’ 5’ 3’ Lắng nghe Lắng nghe VG đưa ra ví dụ:Đẻ viết một chương trình giải phương trình bậc hai ta cần khai báo những tên sau: - a,b,c là ba tên dùng để lưu ba hệ số của phương trình. - - x1,x2 là hai tên dùng để lưu nghiệm ( nếu có). - - Delta là tên dùng để lưu giá trị của delta. Biến là đối tượng sử dụng nhiều nhất trong khi viết chương trình. Biến là đại lượng có thể thay đổi được nên thường dùng để lưu trữ kết quả - b. Hằng và biến - * Hằng: Là đại lượng có giá trị không đổi trong quá trình thực hiện chương trình - - Các ngôn ngữ lập trình thường có: - + Hằng số học: số nguyên hoặc số thực - + Hăng logic: Là cácgiá trị đúng hoặc sai - Ví dụ ( bảng phụ 2:vd về hằng sgk trang 12) - * Biến:Là đại lượng được đặt tên, dùng để lưu trữ gí trị và giá trị có thể được thay đổi trong quá trình thực hiện chương trình - Biến phải khai báo trước khi sử dụng. - C. Chú thích: - - Trong khi 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 được đặt trong {} hoặc (* *) - Trong C ++ chú thích đặt trong: /* */ HĐ4: Củng cố toàn bài:(2’) Giáo viên mở một chương trình pascal đơn giản có chứa các thành phần là các khái niệm của bài học để chỉ cho HS từng khái niệm trong chương trình. HĐ5: Hướng dẫn học sinh làm bài tập(2’) Hướng dẫn học sinh giải 1 số câu hỏi và bài tập trong SKG/13 Ngày soạn: Ngày dạy…………………………….Lớp 11 Ngày dạy…………………………….Lớp 11 Tíêt 3 BÀI TẬP CHƯƠNG 1 I. Mục tiêu: a) Về kiến thức: - Biết có 3 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 vai trò của chương trình dịch. - Biết khái niệm biên dịch và thông dịch. - Biết các thành phần cơ bản của ngôn ngữ lập trình: bảng chữ cái, cú pháp và ngữ nghĩa. - Biết các thành phần cơ sở của Pascal: bảng chữ cái, tên, tên chuẩn, tên riêng (từ khóa), hằng và biến. b) Về kỹ năng: - Biết viết hằng và tên đúng trong một ngôn ngữ lập trình cụ thể. c) Về tư duy và thái độ: - Nhận thức được quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình phát triển của tin học nhằm giải các bài toán thực tiễn ngày càng phức tạp. - Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải các bài toán bằng máy tính điện tử. II.Chuẩn bị của giáo viên và học sinh: a) Giáo viên: chuẩn bị nội dung để giải bài tập cuối chương và một số câu hỏi trắc nghiệm của chương. b) Học sinh:Ôn lại kiến thức của chương, chuẩn bị bài tập cuối chương. III.Tiến trình bài dạy: a) Ổn định lớp và kiểm tra sĩ số. b) Kiểm tra bài cũ. c) Tiến trình tiết dạy: TG Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng 5 ‘ - Đọc yêu cầu của câu hỏi và bài tập cuối chương trang 13 SGK. - Suy nghĩ để đưa ra phương án trả lời. - Suy nghĩ, trả lời câu hỏi. - ĐVĐ: Trước khi giải bài tập trong SGK, các em tự ôn lại một số kiến thức mà chúng ta đã học ở các bài trước dựa trên yêu cầu của câu hỏi trang 13 SGK. - Đặt câu hỏi số 1: Tại sao người ta phải xây dựng các ngôn ngữ lập trình bậc cao? - Nhận xét, đánh giá và bổ sung hướng dẫn cho học sinh trả lời câu hỏi số 1: Bài: BÀI TẬP CHƯƠNG 1 1. Câu 1: - Ngôn ngữ bậc cao gần với ngôn ngữ tự nhiên hơn, thuận tiện cho đông đảo người lập trình. - Chương trình viết bằng ngôn ngữ bậc cao nói chung không phụ thuộc vào phần cứng máy tính và một chương trình có [...]... real; PHÉP TOÁN - BIỂU THỨC - CÂU LỆNH GÁN I / Mục tiêu dạy học: 1 Kiến thức : - Biết được các phép toán thông dụng trong NNLT - Biết cách diễn đạt một biểu thức trong NNLT - Biết được chức năng của lệnh gán và cấu trúc của nó - Nắm vững một số hàm chuẩn thông dụng trong NNLT Pascal 2 Kỹ năng: - Nhận biết được các phép toán để xây dựng biểu thức cho hợp lý - Sử dụng được một số lệnh gán khi viết chương... tranh - Cho biểu thức x - 2x + 1 x2 - 1 Hãy biểu diễn biểu thức toán trong biểu thức trong NNLT - Suy nghĩ và trả lời: -Trong lập trình ta phải so sánh 2 giá trị nào đó trước khi thực hiện lệnh bằng cách sử dụng (abs(x)-sqrt(2*x+1)/(x* xbiểu thức quan hệ Biểu thức 1) quan hệ còn gọi là biểu thức so sánh được dùng để so sánh 2 giá 4 Biểu thức quan hệ: Cấu trúc chung: < phép toán quan hệ > ... 1 Kiến thức: - Hiểu nhu cầu của cáu trúc rẽ nhánh trong biểu diễn thuật toán - Học sinh nắm vững ý nghĩa và cú pháp của câu lệnh rẽ nhánh dạng khuyết và dạng đủ, hiểu được cách sử dụng câu lệnh ghép 2 Kĩ năng: - Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản - Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng được để thể hiện thuật toán của một số bài toán... cũng sử dụng đến phép toán, câu lệnh gán và biểu thức, các khái niệm này chỉ được xét trong NNLT Pascal Tất cả các ngôn ngữ có sử dụng một cách giống nhau hay không - Toán học có những phép toán nào? - Các phép toán đó có dùng trong NNLT hay không? + Một số phép toán dùng được và một số phép toán phải sử dụng từ các phép tóan khác 1 Phép toán: NNLT Pascal sử dụng một số phép toán như sau: + Số nguyên:... biểu thức: a) Mục tiêu: HS cần biết về khái niệm biểu thức số học, biểu thức quan hệ, biểu thức logic và một số hàm số học b) Nội dung: - Biểu thức số học nhận được từ hằng số, biến số và hàm số liên kết - Nắm bắt được tuần tự các bước khi thực hiện biểu thức số học - Biểu thức logic được cấu thành từ các biểu thức quan hệ c) Tiến hành : TG 22’ Hoạt động GV Hoạt động HS Ghi bảng - Trong toán học biểu thức. .. Mục tiêu: 1 Về kiến thức: -Khái niệm cấu trúc lặp,các câu lệnh lập trong Pascal -Hiểu cấu trúc lặp trong biểu diễn thuật toán 2 Về kĩ năng: -Biết diễn đạt đúng câu lệnh.Soạn chương trình giải bài toán đơn giản có sử dụng lệnh lặp 3 Tư duy ,thái độ: -Rèn luyện phẩm chất cho người lặp trình II Chuẩn bị của giáo viên và học sinh: GV: Tổ chức cho học sinh tiếp thu kiến thức HS :Chuẩn bị bài mới III Phương... nghĩ và đưa ra khái 2 Biểu thức số học: gì ? niệm - Là một dãy các phép toán - Trong tin học khái niệm về + , - , *, / , DIV, MOD từ biểu thức trong lập trình ? hằng biến kiểu số và các hàm - Cách viết các biểu thức trong lập trình có giống cách viết trong toán học hay không ? - Treo tranh có chứa các biểu thức toán học lên bảng - Dùng dấu ( ) để qui định trình tự tính toán VD: ( SGK - 25) * Chú ý... trị đúng hoặc sai + Kết quả của biểu thức quan hệ là TRUE hoặc FALSE - Cho một ví dụ về biểu thức quan hệ VD: - 5 > 2 - Kết quả mà phép toán quan hệ thuộc kiểu dữ liệu nào đã học? 5 Biểu thức logic -Biểu thức logic là biểu thức - Trả lời: quan hệ được liên kết với nhau x + y < 2* x*y bởi phép toán logic - Hãy quan sát ví dụ về biểu thức logic sau: - Kiểu logic - Biểu thức logic đơn gảin là hằng hoặc biến... số khái niệm mới Nhắc lại cấu trúc câu lệnh Bài tập về nhà Ngày soạn: 28/10/07 Tiết thứ:…….Tên bài học: I- BÀI TẬP CHƯƠNG 3 Mục tiêu: 1- Kiến thức: Củng cố cho học sinh kiến thức về cấu trúc rẽ nhánh và cấu trúc lặp 2- Kỹ năng: Rèn luyện kỹ năng vận dụng và linh hoạt trong việc lựa chọn cấu trúc rẽ nhánh và cấu trúc lặp để giải quyết bài toán đặt ra 3- Tư duy, thái độ: Rèn luyện ý thức tự giác... lời : toán: toán số học hãy biểu diễn các biểu thức toán học thành biểu + Trong ngoặc trước, ngoài thức trong NNLT ngoặc sau 4x - 2y + Nhân, chia, chia nguyên, chia lấy dư trước, cộng, trừ sau x+ 4*x-2*y 1 x− y a+b+c 2a +c b x+1/(x-y) - b2 − c ac ((a+b+c)/((2*a /b)+c)) - 3 Hàm số học chuẩn: (b*b-c)/a*c - Trong toán học ta đã làm quen Cách viết cho một số hàm số với một số hàm số học, hãy kể học chuẩn . hiểu các ngôn ngữ lập trình. II. Chuẩn bị của giáo viên và học sinh a. Giáo viên: Giáo án, đồ dùng dạy học b. Học sinh: Đọc trước SGK, xem lại một số kiến thức Tin học lớp 10. III. Tiến trình. 01/10/07 Tiết thứ:……Bài 6 PHÉP TOÁN - BIỂU THỨC - CÂU LỆNH GÁN I / Mục tiêu dạy học: 1. Kiến thức : - Biết được các phép toán thông dụng trong NNLT - Biết cách diễn đạt một biểu thức trong NNLT - Biết. toán trong biểu thức trong NNLT. -Trong lập trình ta phải so sánh 2 giá trị nào đó trước khi thực hiện lệnh bằng cách sử dụng biểu thức quan hệ . Biểu thức quan hệ còn gọi là biểu thức so sánh