I/ MỤC TIÊU 1/ Kiến thức o Biết khái niệm lập trình o Biết có 3 lớp NNLT: NN máy, hợp ngữ, NN bậc cao o Biết vai trò của chương trình dịch o Biết khái niệm: thông dịch, biên dịch o Biết [r]
Trang 1Tiết PPCT: 1
Bài soạn: §1 KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
§2 CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH (Mục 1)
Ngày dạy 24/8 25/8 27/8 28/8
I/ MỤC TIÊU
1/ Kiến thức
o Biết khái niệm lập trình
o Biết có 3 lớp NNLT: NN máy, hợp ngữ, NN bậc cao
o Biết vai trò của chương trình dịch
o Biết khái niệm: thông dịch, biên dịch
o Biết 3 thành phần cơ bản của NNLT: bảng chữ cái, cú pháp, ngữ nghĩa
2/ Kỹ năng
3/ Tư duy
o Hiểu khả năng của NNLT bậc cao, phân biệt với NN máy và hợp ngữ
o Hiểu ý nghĩa và nhiệm vụ của chương trình dịch
o Phân biệt được thông dịch và biên dịch
o Hiểu và phân biệt được 3 thành phần cơ bản của NNLT
4/ Thái độ
o HS nhận thức được quá trình phát triển của NNLT là một trong các quá trình nổ lực phát triển của tin học
o Ham muốn học một NNLT để có khả năng giải một bài toán bằng máy tính điện tử
II/ PHƯƠNG PHÁP
o Thuyết trình
o Nêu và giải quyết vấn đề
o Trực quan
III/ CHUẨN BỊ CỦA THẦY VÀ TRÒ
1/ Giáo viên
o Bảng phụ minh hoạ thuật toán tìm UCLN(a,b) và chương trình cài đặt cụ thể
o Bảng phụ: 3 thành phần cơ bản của NNLT
2/ Học sinh
o Kiến thức đã học ở lớp 10
- Năm bước giải bài toán trên máy tính
- Ba lớp ngôn ngữ lập trình
- Thuật toán tìm UCLN(a,b)
IV/ TIẾN TRÌNH BÀI DẠY
1/ Ổn định lớp
Lớp 11B1 11B2 11B3 11B4 11B5 11B6
Sĩ số
Vệ sinh
2/ Nội dung tiết học
a/ Hoạt động 1: Tìm hiểu khái niệm lập trình và NNLT
Trang 2+ Yêu cầu cần đạt: Biết khái niệm lập trình, ý nghĩa của việc lập trình; Biết khái niệm
NNLT và một số loại NNLT
Hoạt động của GV-HS Nội dung kiến thức
GV Yêu cầu HS nhắc lại 5 bước giải một bài
toán trên máy tính?
HS 5 bước: xác định bài toán, lựa chọn hoặc
thiết kế thuật toán, viết chương trình, hiệu
chỉnh, viết tài liệu
GV Lưu ý HS bước (2) và (3)
Lập trình
MT chưa t.h được MT t.h được
Lập trình: quá trình cài đặt thuật toán
thành chương trình
GV Treo giấy A0 ghi thuật toán tìm
UCLN(a,b) và chương trình cài đặt cụ thể
Giải thích cho HS cách sử dụng CTDL và
câu lệnh của NNLT (Pascal) để mô tả DL và
diễn đạt các thao tác trong các bước của thuật
toán
HS Quan sát, lắng nghe
GV Kết hợp thuật toán và chương trình để
giải thích cho HS hiểu KN câu lệnh
- Diễn tả các thao tác trong các bước của
thuật toán
- Câu lệnh đơn: 1 thao tác
phức: dãy các thao tác
GV Dẫn dắt: Muốn lập trình phải dùng
NNLT
Yêu cầu HS trả lời các câu hỏi sau:
- Có những loại NNLT nào?
- Điểm phân biệt giữa NNLT bậc cao với các
loại NNLT khác?
- Kể tên một số loại NNLT mà em biết?
- Tại sao phải xây dựng các NNLT bậc cao?
HS Trả lời
- NN máy, hợp ngữ và NN bậc cao
- Gần NN tự nhiên, không phụ thuộc vào loại
máy, phải dịch sang NN máy
- Pascal, C/C++…
- Thân thiện, phổ dụng, dễ sử dụng, thuận
tiện cho mô tả thuật toán
§1 KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
1/ Khái niệm lập trình và NNLT a/ Lập trình
CTDL NNLT Lập trình
Tóm lại: Lập trình = CTDL (chương 3) +
NNLT cụ thể Mô tả DL (chuẩn – chương 2; cấu trúc – chương 4, 5) + Diễn đạt các thao tác trong các bước của thuật toán
b/ Ngôn ngữ lập trình
Hợp ngữ
NN bậc cao
NN máy
Trang 3b/ 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
+ Yêu cầu cần đạt:
- Biết được khái niệm chương trình dịch và sự cần thiết của chương trình dịch
- Phân biệt thông dịch và biên dịch
Hoạt động của GV-HS Nội dung kiến thức
GV Yêu cầu HS n/c SGK, cho biết ý nghĩa
của CT dịch?
HS Trả lời
GV Yêu cầu HS n/c VD trang 4 SGK, tìm
hiểu các loại CT dịch? Tóm tắt nội dung?
HS Hoạt động theo yêu cầu
2/ Chương trình dịch a/ Ý nghĩa
NN bậc cao NN máy
b/ Phân loại
2 loại thông dịch biên dịch
* Thông dịch (Interpreter)
- Lần lượt dịch từng CL ra NN máy
- Thực hiện ngay CL vừa dịch hoặc thông báo lỗi nếu không dịch được
* Biên dịch (Compiler)
- Duyệt, kiểm tra, phát hiện lỗi, xác định CT nguồn dịch được không?
- Dịch toàn bộ CT nguồn CT đích
- Có thể lưu trữ để sử dụng về sau
c/ Hoạt động 3 Tìm hiểu các thành phần cơ bản của NNLT
+ Yêu cầu cần đạt:
- Biết NNLT có 3 thành phần cơ bản: Bảng chữ cái, cú pháp, ngữ nghĩa
- Biết khái niệm cú pháp, ngữ nghĩa; các lỗi thường gặp khi viết sai cú pháp, các lỗi ngữ nghĩa thường gặp
- Biết CT dịch phát hiện được lỗi cú pháp, không phát hiện được lỗi ngữ nghĩa
Hoạt động của GV-HS Nội dung kiến thức
GV Dẫn dắt: Một số cú pháp trong tiếng
Việt Từ = ký tự
GV Treo bảng phụ, giải thích
Pascal C/C++
<> !=
:= =
else ;else
§2 CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH (Mục 1) 1/ Các thành phần cơ bản
3 TP bảng chữ cái
cú pháp ngữ nghĩa
a/ Bảng chữ cái (SGK)
- Chữ cái, chữ số, phép toán, ký tự đặc biệt…
b/ Cú pháp
- Quy tắc để viết chương trình
* Lưu ý: Các lỗi thường gặp khi viết sai cú pháp
- Từ viết sai hoặc thiếu VD: Bigin Begin
- Tổ hợp từ chưa đúng cú pháp VD: UCLN(a,b)
CT nguồn CT dịch CT đích
Trang 4Yêu cầu HS tham khảo một số lỗi cú pháp
SGK trang 136
GV Một VD khác:
A + B real: 10-38 1038
I + J integer: -215 215-1 (-32768 32767)
A, B, I, J : toán hạng
+ : toán tử
I = 20000
I + J = 35000>32767
J = 15000
Pascal C/C++
<> !=
:= = else ;else
c/ Ngữ nghĩa
- Xác định ý nghĩa của tổ hợp ký tự trong chương trình
* Lưu ý: Cách khắc phục các lỗi ngữ nghĩa
- Kiểm tra kiểu các toán hạng có phù hợp với các toán tử không?
VD: (SGK)
- Kiểm tra tên có nhất quán không VD:
Var ucln : byte;
UCLN : byte;
V/ CỦNG CỐ, DẶN DÒ, HƯỚNG DẪN HỌC BÀI Ở NHÀ
o Nắm khái niệm lập trình, khả năng của NNLT bậc cao
o Ý nghĩa, nhiệm vụ của chương trình dịch
o Ba thành phần cơ bản của NNLT, phân biệt 3 TP này
o Chuẩn bị Mục 2) Một số khái niệm
1/ Tên: Ý nghĩa; Cách đặt tên; Phân loại; VD
2/ Hằng: Khái niệm; Phân loại; VD
3/ Biến, chú thích: Khái niệm
VI/ RÚT KINH NGHIỆM SAU TIẾT DẠY