Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 77 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
77
Dung lượng
1,26 MB
Nội dung
CHƯƠNG 1: 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 A. MỤC ĐÍCH, U CẦU: - Kiến thức: Biết 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. - 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. - 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 q trình giao tiếp trong đời sống. B. PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1. Phương pháp: Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ. 2. Phương tiện: - Vở ghi lý thuyết. - Sách giáo khoa và sách giáo viên lớp 11. - Sách tham khảo (nếu có). C. TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I. Ổn định lớp: u cầu lớp trưởng báo cáo sĩ số. II. Kiểm tra bài cũ: - Giới thiệu chương trình học lớp 11. - Giới thiệu bài học. III. Bài giảng, nội dung bài giảng: HOẠT ĐỘNG CỦA GV & HS NỘI DUNG Hoạt động 1: tìm hiểu khái niệm lập trình và ngơn ngữ lập trình Ở lớp 10 các em đã học các loại ngơn ngữ lập trình. Dẫn dắt vấn đề: như vậy hoạt động diễn đạt một thuật tốn thơng qua ngơn ngữ lập trình được gọi là lập trình. Đọc SGK cho biết thế nào là lập trình? Giải thích thế nào là câu lệnh Về việc chọn ngơn ngữ lập trình ta có thể chọn 1 trong 3 loại ngơn ngữ trên. Nhưng do đặc điểm vượt trội của ngơn ngữ bậc cao nên người ta 1. Khái niệm lập trình Lập trình là sử dụng cấu trúc dữ liệu và các câu 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 tốn. 2. Chương trình dịch Chức năng: chuyển đổi chương trình được viết bằng NNLT bậc cao thành chương trình thực hiện trên máy được. Trang 1 thường sd nó để lập trình. ? Những đặc điểm đó là những đặc điểm nào? Và để sd ngôn ngữ lập trình bậc cao phải có cái gì? Đó là những đặc điểm của ngôn ngữ lập trình. Nhưng khi sd ngôn ngữ lập trình bậc cao cần phải có chương trình dịch. Chức năng của chương trình dịch. Ví dụ trong SGK giới thiệu về trường. Chương trình dịch có hai loại: Biên dịch và thông dịch. ? Biên dịch và thông dịch khác nhau chỗ nào? Chương trình dịch có hai loại: biên dịch và thông dịch a) Thông dịch: Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn Chuyển đổi câu lệnh đó thành một hoặc nhiều câu lệnh tương ứng trong NN máy Thực hiện câu lệnh vừa chuyển được b) Biên dịch: Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của câu lệnh Dịch toàn bộ chương trình nguồn thành chương trình đích có thể thực hiện trên máy và có thể lưu trữ để sd lại khi cần thiết. V. CỦNG CỐ - DẶN DÒ a. Củng cố: Thế nào là lập trình? Chức năng của chương trình dịch? Sự giống và khác nhau của biên dịch và thông dịch? b. Dặn dò: Soạn bài trước: ? Thành phần của NNLT? ? Thế nào là tên? Qui tắc đặt tên? ? Có mấy loại tên? tại sao phải nhớ tên riêng? ? Thế nào là hằng? thế nào là biến? Học bài và trả lời câu hỏi SGK Trang 2 Chương trình dịch Chương trình nguồn Chương trình đích Bài 2: CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ LẬP TRÌNH A. MỤC TIÊU, U CẦU: 1. Kiến thức: 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. 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 quy định về tên, hằng, 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. 3. Thái độ: B. PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1. Phương pháp: Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ. 2. Phương tiện: Vở ghi lý thuyết, Sách giáo khoa và sách giáo viên C. TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG. I. Ổn định lớp: u cầu lớp trưởng báo cáo sĩ số. II. Kiểm tra bài cũ - giới thiệu bài học. III. Bài giảng, nội dung bài giảng: HOẠT ĐỘNG CỦA GV & HS NỘI DỤNG Hoạt động 1: ? Có những yếu tố nào để xây dựng nên ngơn ngữ tiếng Việt? NNLT cũng tương tự như vậy, nó gồm các thành phần: bảng chữ cái, cú pháp và ngữ nghĩa. ? Hãy đọc SGK trang 9 cho thầy biết trong Pascal bảng chữ cái bao gồm kí tự nào? Sau khi HS trả lời treo bảng khổ lớn bảng chữ cái Bảng chữ cái của các NNLT nói chung khơng khác nhau nhiều. VD: trong C++ khác với Pascal còn có sd thêm kí tự như dấu (“), ( \), ( ! ). 1. Các thành phần cơ bản a) Bảng chữ cái Tập hợp kí tự được dùng để viết chương trình. Khơng được dùng bất cứ kí tự nào ngồi các kí tự qui định trong bảng chữ cái Ví dụ: Trong Pascal bảng chữ cái bao gồm: Chữ cái thường và chữ cái in hoa tiếng Anh a z ; A Z; 10 chữ thập phân: 0 9 kí tự đặc biệt: + - * / = < < [ ] . , ; # ^ @ $ & ( ) { } : ‘ Dấu cách (mã ASCII là 32) − b) Cú pháp Là bộ qui tắt để viết chương trình Trang 3 Nhờ vào chúng mà chương trình dịch biết được tổ hợp nào của các kí tự trong bảng chữ cái là hợp lệ và tổ hợp nào là không hợp lệ. Nhờ đó, có thể mô tả thuật toán để máy thực hiện. VD: phần lớn NNLT đều sd dấu cộng ( +) Xét hai biểu thức sau: A + B (1) I + J (2) Giả sử: A, B là đại lượng nhận giá trị thực; I, J nhận giá trị nguyên (giải thích số thực và số nguyên) Dấu (+) trong biểu thức (1) là cộng hai số thực Dấu (+) trong biểu thức (2) là cộng hai số nguyên. Hoạt động 2: Một số khái niệm Một trong những khái niệm đó là tên. Tên phải được đặt theo qui tắc đặt tên tuỳ vào từng NNLT ? Những tên sao đây tên nào đúng qui tắc tên nào sai qui tắc trong NNLT Pascal? LOP11C2 LOP 11C2 LOP_11C2 2D A\B Lưu ý: NNLT Pascal không phân biệt chữ hoa chữ thường Lấy ví dụ về tên HS Tên thì có các loại tên sau: Chúng ta không được dùng tên này với ý nghĩa khác. ? Trong Pascal có những tên riêng nào? Ý nghĩa của tên chuẩn được qui định trong các thư viện của NNLT. ? Trong Pascal có những tên chuẩn nào? Chúng ta nên đặt tên sao cho gợi nhớ nội dung của nó không nên đặt quá dài hay quá ngắn. vd: để đặt tên cho điểm môn 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ó 2. Một số khái niệm a) Tên Mọi đối tượng trong chương trình đều phải đặt tên theo qui tắc của NNLT và của từng chương trình dịch cụ thể * Trong Turbo Pascal tên: - Không chứa dấu cách, không quá 127 kí tự, không chứa kí hiệu đặc biệt. - Bắt đầu bằng chữ cái hoặc dấu gạch dưới. VD: - Tên đúng LOP11C2, LOP_11C2 - Tên sai: LOP 11C2, 3D, A\B * Tên dành riêng (từ khoá): NNLT qui định dùng với ý nghĩa xác định. Vd: Trong pascal: program, uses, const, type, var, begin, end… * Tên chuẩn: được dùng với một ý nghĩa nào đó. Nhưng ta có thể khai báo và dùng với ý nghĩa và mục đích khác. Vd: abs, sqr, sqrt, byte, integer, real, longin * Tên do người lập trình đặt: tên này xác định bằng cách khai báo trước khi sd, không được trùng với tên dành riêng Vd: X1; X2; DELTA, CT_VD; BAI6_3 b) Hằng và biến * Hằng: Trang 4 toán thì ta nên đặt dtoan không nên đặt dt hay diem_mon_toan. ? Vì sao ta phải nhớ tên dành riêng? Hằng có nhiều loại như: hằng số học, hằng logic, hằng xâu… VD: DELTA, I, J… Khi đặt chú thích thì chương trình dịch sẽ bỏ qua. Hằng là đại lượng không thay đổi trong quá trình thực hiện chương trình. Vd: - hằng số học: 2; 0; -5; 1.25; -2.36 - hằng logic: TRUE; FALSE. - hằng xâu: ‘tin hoc’; ‘nguyen_van_A’; ‘Truong THPT Duyen Hai’ * Biến: Biến là đại lượng được đặt tên, dùng để lưu trữ giá trị và giá trị có thể được thay đổi trong quá trình thực hiện chương trình. c) Chú thích: Đặt chú thích để người đọc chương trình đó dễ hiểu hơn Trong pascal chú thích được đặt trong dấu (* và *) hoặc { và }. V.CỦNG CỐ - DẶN DÒ 1. Củng cố: - Thành phần của NNLT: bảng chữ cái, cú pháp, và ngữ nghĩa. - Một số khái niệm: tên, hằng, biến. 2. Dặn dò: Về nhà học bài và trả lời câu hỏi trong SGK tiết sau giải bài tập VI. Rút kinh nghiệm: Trang 5 Bài 3 BÀI TẬP CUỐI CHƯƠNG 1 I. MỤC ĐÍCH - YÊU CẦU - Củng cố lại kiến thức chương 1 - Giải một số bài tập của chương II. PHƯƠNG PHÁP Phát vấn kết hợp làm việc theo nhóm và diễn giảng. III. NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP 1. Ổn định lớp: (Kiểm tra sĩ số) 2. Kiểm tra bài cũ Câu 1: Hãy kể tên thành phần của NNLT? Câu 2: Thế nào là tên dành riêng? Tại sao ta phải nhớ tên dành riêng? Câu 3: Những tên nào sau đây là đúng qui tắc, sai qui tắc? _VIDU1; A#B; VI_DU1; VAR; VAR1. 3. Nội dung: HOẠT ĐỘNG CỦA GV & HS NỘI DỤNG Câu 1 Tại sao người ta phải xây dựng các NNLT bậc cao? Câu 2: Chương trình dịch là gì? Tại sao phải có chương trình dịch? Nêu Input và Output của chương trình dịch. Câu 3: Biên dịch và thông dịch khác nhau chỗ nào? Câu 4 Cho biết sự các điểm khác nhau giữa tên riêng và tên chuẩn? Gọi một em trả lời Câu 5: Hãy viết ra 3 tên đúng và 3 tên sai theo qui tắc của Pascal. Câu 6: Hãy cho biết những biểu diễn nào dưới đây không phải là biểu diễn hằng trong Pascal và chỉ lỗi từng trường hợp: a) 150.0 b) -22 c) 6,23 d) ‘43’ e) A20 f) ‘C g) 1.06E-15 h) 4+6 Câu 1 Người ta phải xây dựng các NNLT bậc cao: - NNLT bậc cao gần với NN 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 NNLT bậc cao ít phụ thuộc vào máy. - Chương trình viết bằng NNLT bậc cao dễ hiểu, dễ hiệu chỉnh và dễ nâng cấp. - Cho phép làm việc với nhiều kiểu dữ liệu và cách tổ chức dữ liệu đa dạng thuận tiện cho mô tả thuật toán. Câu 2: - SGK trang 4 - Nhờ có chương trình dịch mà chương trình dịch mà máy có thể thực hiện được chương trình viết bằng NNLT bậc cao. Câu 4: tên dành riêng không được dùng với ý nghĩa khác; tên chuẩn có thể dùng với ý nghĩa khác. Những biểu diễn không là hằng: 6,23: dấu phẩy (nếu là dấu chấm thì đúng) A20: tên không rõ giá trị ‘C: sai qui định về hằng xâu: thiếu dấu nháy đơn ở cuối Trang 6 i) ‘TRUE” Nếu còn thời gian cho bài tập thêm: Câu 7: Hãy chỉ ra những tên nào đúng tên nào sai trong Pascal giải thích lí do: #TONG 1DIEM SO2 USES1 DT HV END EN5D BAI_1 BAI1 Câu 8: những chú thích nào sau đây là sai? Giải thích lí do? a. (*giải phương trình* b.(*giải phương trình*) c.(*giải phương trình} d.{giải phương trình e.{giải {phương{ trình} f.{giải (*phương trình} IV. DẶN DÒ Soạn bài trước theo câu hỏi sau: Câu 1: Cấu trúc của một chương trình được viết bằng NNLT? Câu 2: Các cách khai báo trong Pascal: khai báo tên chương trình, khai báo thư viện, khai báo hằng, khai báo biến. Câu 3: thân chương trình của Pascal gồm những từ khoá nào? Câu 4: để viết được lệnh đưa thông báo ra màn hình ta dùng lệnh nào? Trang 7 CHƯƠNG II. CHƯƠNG TRÌNH ĐƠN GIẢN BÀI 3. CẤU TRÚC CHƯƠNG TRÌNH I. MỤC ĐÍCH – YÊU CẦU 1. Kiến thức: - Hiểu chương trình là sự mô tả của thuật toán bằng một ngôn ngữ lập trình. - Biết cấu trúc của một chương trình: cấu trúc chung và các thành phần 2. Kỹ năng: Nhận biết được các phần của một chương trình đơn giản 3. Thái độ: II. PHƯƠNG PHÁP Phát vấn kết hợp với diễn giảng. III. PHƯƠNG TIỆN DẠY HỌC SGK, SGV, giáo án, một số bảng vẽ lớn. V. NỘI DUNG VÀ DIỄN BIẾN TIẾT DẠY 1. Ổn định lớp (kiểm tra sĩ số) 2. Kiểm tra bài cũ 3. Nội dung HOẠT ĐỘNG CỦA GV & HS NỘI DUNG Hoạt động 1: ? Một bài làm văn em thường viết có mấy phần? các phần đó có thứ tự không? tại sao phải chia như vậy? Tư tự như vậy một chương trình viết bằng NNLT bậc cao cũng có thành phần và thứ tự của các thành phần đó. Yêu cầu HS đọc SGK. ? Cấu trúc chung của chương trình viết bằng NNLT bậc cao có những thành phần nào? Phần khai báo được đặt trong dấu ngoặc vuông có nghĩa là có thể có hoặc không. Phần thân nhất thiết phải có. ? Trong khai báo có những loại nào? ? Để khai báo tên chương trình ta bắt đầu bằng từ khoá nào? Khai báo tên chương trình chỉ có ý nghĩa để ghi nhớ tên bài toán cần giải . Một số NNLT có thể không cần phải khai báo tên chương trình. Lưu ý là kết thúc câu lệnh ta dùng dấu chấm phẩy‘;’ Mỗi NNLT thường có sẵn một số 1. Cấu trúc chung [<phần khai báo>] <phần thân> 2. Thành phần của chương trình a. Phần khai báo: a1) Khai báo tên chương trình Cú pháp: Program <tên chương trình>; Ví dụ: Program giai_phuong_trinh; Program VI_DU; a2) Khai báo thư viện Trang 8 thư viện cung cấp một số chương trình thông dụng đã được lập sẵn. để sử dụng chương trình đó cần khai báo thư viện chứa nó. Trong thư viện CRT trong pascal cung cấp các chương trình có sẵn để làm việc với màn hình văn bản và bàn phím. Khai báo hằng thường được sử dụng cho những giá trị xuất hiện nhiều lần trong chương trình. ? Yêu cầu lấy ví dụ khai báo hằng trong Pascal. Tất cả các biến dùng trong chương trình đều phải đặt tên và phải khai báo cho chương trình dịch biết để lưu trữ và xử lí. Khai báo biến ta sẽ học ở bài 5. Ở đây ta làm quen khái niệm biến đơn. Ví dụ: khi khảo sát phương trình đường thẳng ax + by + c = 0 các hệ số a, b, c có thể được khai báo như một biến đơn. Ngoài ra ta còn khai báo chương trình con được trình bày ở chương VI. ? Dấu hiệu nào để nhận biết thân chương trình. Hướng dẫn học sinh các bước − Khai báo tên chương trình − Dùng câu lệnh đưa ra màn hình là lệnh Write hay Writeln trong Pascal. Yêu cầu học sinh viết chương trình này? Giải thích sự khác nhau giữa lệnh write và writeln. Ví dụ 2 tương tự như ví dụ 1 nhưng thêm câu lệnh Writeln Yêu cầu học sinh viết chương trình này? Cú pháp: USES <tên thư viện>; Ví dụ: khai báo thư viện trong pascal: USES CRT; Sau khi khai báo CRT ta dùng lệnh: clrscr; (lệnh xóa màn hình) a3) Khai báo hằng Cú pháp CONST Tên _hằng = giá trị; a4) Khai báo biến: Biến đơn là biến chỉ nhận một giá trị tại mỗi thời điểm thực hiện chương trình. b) Phần thân chương trình: Thân chương trình trong Pascal 3. Ví dụ chương trình đơn giản Ví dụ 1: viết chương trình đưa ra màn hình thông báo ‘Xin chao cac ban!’ Program vi_du1; Begin writeln(‘Xin chao cac ban’); End. Ví dụ 2: Program vi_du2; Begin writeln(‘Xin chao cac ban’); writeln(‘Moi cac ban lam quen voi Pascal’); End. V. CỦNG CỐ − DẶN DÒ Trang 9 BEGIN [<dãy các câu lệnh>] END. 1. Củng cố: − Cấu trúc của chương trình có mấy phần? − Các từ khoá trong khai báo: tên chương trình; hằng; thư viện. − Dấu hiệu nhận biết thân chương trình trong Pascal. 2. Dặn dò Về nhà soạn bài 4, 5 SGK. − Trong Pascal sử dụng kiểu dữ liệu nào? Phạm vi của từng kiểu? − Cách khai báo biến. Ví dụ khai báo biến trong Pascal. − Khi khai báo biến ta cần chú ý đến điểm nào? VI. Rút kinh nghiệm: Trang 10 [...]... với nhau bởi phép toán quan hệ cho 4 Biểu thức quan hệ ta biểu thức quan hệ Biểu thức quan hệ có dạng như thế nào? VD: Lấy ví dụ cụ thể i +1 >=2*j Lấy ví dụ trong SGK Hoạt động 5 Các biểu thức quan hệ thường được được đặt trong ngoặc tròn a - Dạng: VD: x= 2*j - Trình tự thực hiện: + Tính giá trị biểu thức + Thực hiện phép toán quan hệ - Kết quả: TRUE hoặc... 2: soạn phần 4, 5, 6 Câu 1: biểu thức quan hệ có dạng nào? Trình tự thực hiện biểu thức quan hệ? Kết quả biểu thức quan hệ? Câu 2: Biểu thức lôgic gồm những biểu thức nào? Các biểu thức quan hệ đặt đâu? Giá trị khi thực hiện biểu thức logic? Câu 3: Trong Pascal câu lệnh gán có dạng nào? Kiểu của biểu thức như thế nào với kiểu của biến? VI Rút kinh nghiệm: Trang 13 Bài 6 PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH... thích phép toán div, mod, toán số học +, -, x, / +, -, x, / not, or, and với số thực Các phép , ≥, =, =, =, ≠ hệ ¬ (phủ dịnh), Chú ý: Các phép ∧ (hoặc), ∨ Kết quả các phép toán quan hệ toán lôgic not, or, and cho giá trị logic (và) Ứng dụng của phép toán logic là để tạo ra các biểu thức phức tạp từ các quan hệ đơn giản Hoạt động 2 Trong lập trình, biểu thức số học 2 Biểu... này bộ nhớ cần cấp phát bao nhiêu ? Khi khai báo ta cần chú ý đến một số vấn đề sau: - Ví dụ: cần đặt tên hai biến biểu diễn điểm toán, điểm tin mà không nên vì ngắn gọn mà đặt d1, d2 mà nên đặt dtoan, dtin - Ví dụ không nên dùng d1, d2 hoặc diemmontoan, diemmontin Ví dụ khi khai báo biến là số học sinh của một lớp thì nên khai báo * Một số vấn đề cần chú ý: biến đó thuộc kiểu byte, nhưng - Cần đặt... Var v, h: real; BEGIN Write('nhap vao do cao cua vat d = ’); Readln(h); v:=sqrt(2*g*h); Write(' van toc khi vat cham dat la v= ', v: 6:4, ' m/s’); Trang 23 END V CỦNG CỐ - DẶN DÒ 1 Củng cố: Một số chương trình tính đơn giản 2 Dặn dò Về nhà tự tìm bài tập trong sách bài tập tin học 11 Xem trước bài 9 và 10 Trang 24 CHƯƠNG III: CẤU TRÚC RẼ NHÁNH LẶP § 9 CẤU TRÚC RẼ NHÁNH I MỤC ĐÍCH – YÊU CẦU 1 Kiến thức... biến cần đặc biệt lưu ý đến phạm vi giá trị của nó Trang 12 V CỦNG CỐ DẶN DÒ 1 Củng cố: - Các kiểu dữ liệu chuẩn: số nguyên (integer), số thực (real), kí tự (char), logic (Boolean) - Mọi biến trong chương trình đèu phải được khai báo tên và kiểu dữ liệu VAR : ; 2 Dặn dò Về nhà học bài trả lời các câu hỏi 1; 2; 3; 4; 5 SGK trang 35 Soạn bài 6: Yêu cầu 1: lớp chia làm 3 nhóm... biểu thức logic đơn giản, các biểu thức quan hệ lien kết với nhau bởi phép toán logic VD: not(4>6) (5 . biến biểu diễn điểm toán, điểm tin mà không nên vì ngắn gọn mà đặt d1, d2 mà nên đặt dtoan, dtin. - Ví dụ không nên dùng d1, d2 hoặc diemmontoan, diemmontin Ví dụ khi khai báo biến là số. thông báo ‘Xin chao cac ban!’ Program vi_du1; Begin writeln(‘Xin chao cac ban’); End. Ví dụ 2: Program vi_du2; Begin writeln(‘Xin chao cac ban’); writeln(‘Moi cac ban lam quen voi Pascal’); End. V tên. Tên phải được đặt theo qui tắc đặt tên tuỳ vào từng NNLT ? Những tên sao đây tên nào đúng qui tắc tên nào sai qui tắc trong NNLT Pascal? LOP11C2 LOP 11C2 LOP_11C2 2D AB Lưu ý: NNLT