- 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ủa các tổ hợp ký tự trong chương trình.. - Lỗi cú pháp được chương trình dịch phát hiện và thông báo cho [r]
Trang 1Ngày soạn: / /2009 Tiết 1
Ngày giảng:
Chơng I Một số khái niệm về lập trình và ngôn ngữ lập trình
Bài 1-2 Khái niệm lập trình và ngôn ngữ lập trình
Các thành phần cơ bản của nnlt (mục 1)
I Mục tiêu.
1 Kiến thức.
Học sinh cần nắm đợc:
- Một số khái niệm về ngôn ngữ lập trình
- Hai loại chơng trình dịch: Biên dịch và thông dịch
2 Kĩ năng.
- Biết vai trò của chơng trình dịch, khái niệm biên dịch, thông dịch
3 Thái độ.
- Học sinh có thái độ học tập tích cực
II chuẩn bị của GV và HS.
1 Chuẩn bị của giáo viên.
- Giáo án, SGK, SGV, SBT
2 chuẩn bị của học sinh.
- Vở nghi, SGK
III Phơng pháp dạy học.
- Thuyết trình và vấn đáp
IV Tiến trình bài học.
1 ổn định tổ chức.
- Kiểm tra sĩ số
2 Kiểm tra bài cũ
- Không
3 Bài mới.
HĐ 1: Giới thiệu về NNLT
GV: Hỏi Em hãy cho biết các bớc
giải một bài toán trên máy tính?
HS: Trả lời
GV: Nhận xét và nhắc lại kiến thức
đa học ở lớp 10
GV: Hỏi: Em hãy cho biết có mấy
loại ngôn ngữ lập trình?
HS: Trả lời:
GV: Nhận xét và chuẩn lại kiến
thức
GV: Hỏi: Làm thế nào để chuyển
chơng trình viết bằng ngôn ngữ bậc
cao sang ngôn ngữ máy?
$1- Khái niệm lập trình và ngôn
ngữ lập trình
Khái niệm về lập trình: Lập trình là sử
dụng một cấu trúc dc liệu và các câu lệnh của một ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt thuật toán
- Có 3 loại ngôn ngữ lập trình đó là: Ngôn ngữ máy, Hợp ngữ, Ngôn ngữ bậc cao
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ớ thi hành ngay
Chơng trình viết băng ngôn ngữ bậc cao nói chung không phụ thuộc loại máy, muốn thi hành đợc thì nó phải đợc chuyển sang ngôn ngữ máy
Trang 2GV: Lấy ví dụ về biên dịch và thông
dịch cho học sinh có thể hình dung
đợc mỗi công việc
Biên dịch
Sử dụng ngôn ngữ lập trình Pascal
để dịch một chơng trình viết sẵn ra
đĩ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 câu lệnh trong
command promt để thực hiện một
số lệnh của DOS hoặc dùng ngôn
ngữ Foxpro để thực hiện một số
lệnh quản trị dữ liệu, học sinh rễ
dàng nhận ra 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ụ nh soạn thảo
ch-ơng trình nguồn, lu trữ, tìm kiếm,
phát hiện lỗi, thông báo lỗi…ngôn ngôn
ngữ lập trình thờng chứa tất cảc các
dịch vụ trên
HĐ 2: Cỏc thành phần cơ bản của
ngụn ngữ lập trỡnh
GV: 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
Vớ dụ: Bảng chữ cỏi của cỏc ngụn
ngữ lập trỡnh khỏc nhau cú sự khỏc
nhau Chẳng hạn ngụn ngữ Pascal
khụng sử dụng dấu ! nhưng ngụn
ngữ C++ lại sử dụng kớ tự này
Vì vậy cần phải có chơng trình dịch để chuyển chơng trình viết băng ngôn ngữ lập trình bậc cao sang ngôn ngữ máy để máy có thể thi hành đợc
Chơng trình dịch có 2 loại: Biên dịch và thông dịch
+ Biên dịch(compiler):
Thực hiện các bớc sau:
- Duyệt, kiểm tra, phát hiện lỗi và kiểm tra tính đúng đắn của các câu lệnh trong chơng trình nguồn
- Dịch toàn bộ chơng trình nguồn thành một chơng trình đích(ngôn ngữ máy) để
có thể thực hiện trên máy và có thể lu trữ
để sử dụng lại khi cần
+ Thông dịch (Interpreter): Dịch lần lợt
từng câu lệnh và thực hiện ngay câu lệnh ấy
Thông dich là việc lặp lại dãy các bớc sau:
- 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ác câu lệnh đó thành một hay nhiều câu lệnh trong ngôn ngữ máy
- Thực hiện các lệnh trong ngôn ngữ vừa chuyển đợc
$2-Cỏc thành phần cơ bản:
- Mỗi ngụn ngữ lập trỡnh thường cú 3
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 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 trong bảng chữ cỏi tiếng 9 và một số ký tự đặc biệt (xem trong SGK - Tr 9)Anh, cỏc chữ số 0
b Cỳ phỏp: Là bộ quy tắc dựng để viết
chương trỡnh
Trang 3- Cú pháp các 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 1 lệnh
nhưng C++ lại 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) I, j là các số nguyên
Khi đó dấu + trong (1) sẽ là cộng
hai số thực, trong (2) là cộng hai số
nguyên
- Mỗi ngôn ngữ khác nhau cũng có
cách xác định ngữ nghĩa khác nhau
HS: Lắng nghe, ghi chép.
GV: Đưa ra ví dụ ngôn ngữ tự
nhiên cũng có bảng chữ cái, ngữ
pháp (cú pháp) và nghĩa của câu, từ
c Ngữ nghĩa: Xác định ý nghĩa thao tác
cần thực hiện ứng với tổ hợp ký tự dựa vào ngữ cảnh của nó
- 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ủa các tổ hợp ký tự trong chương trình
- 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 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
4 Cñng cè.
- HÖ thèng l¹i néi dung bµi häc
- Gi¶i d¸p th¾c m¾c nÕu cã
5 DÆn dß.
- VÒ nhµ häc l¹i bµi vµ lµm bµi tËp