Tuần : .............
Tiết : 02
Ngày soạn: ...................
Ngày giảng: .................
Bài 2: các thành phần của ngôn ngữ lập trình
I. Mục đích, yêu cầu:
1. Kiến thức:
- Biết đợc ngôn ngữ lập trình có 3 thành phần cơ bản: Bảng chữ cái, cú pháp và ngữ nghĩa.
- Biết đợc khái niệm: tên, tên chuẩn, tên dành riêng (từ khoá), hằng và biến.
2. Kĩ năng:
- Hiểu và phân biệt đợc 3 thành phần này.
- Biết đợc cách đặt tên đúng theo qui định và sử dụng hằng và biến đúng với CSDL.
3. Thái độ:
- Cần có thái độ nghiêm túc trong học tập, tạo cho HS ham thích học hỏi, tìm tòi và t duy tốt.
II. Chuẩn bị của Giáo viên và học sinh:
1. Giáo viên: SGK, giáo án, STK ( máy chiếu nếu có)
2. Học sinh: SGK, chuẩn bị trớc bài ở nhà
III. Phơng pháp giảng dạy
- Thuyết trình, vấn đáp
IV. Tiến trình bài học và các hoạt động:
1. ổn định tổ chức: 2
2. Kiểm tra bài cũ: 5
Câu hỏi: Em hãy phân biệt giữa thông dịch và biên dịch? Cho ví dụ?
3. Bài mới:
* Hoạt động 1: Giới thiệu cho HS biết các thành phần cơ bản của NNLT.
Hoạt động của GV và HS Nội dung
- GV: Các NNLT bậc cao htờng có chung
một số thành phàn: Các kí hiệu để viết ch-
ơng trình, viết theo một quy tắc nào đó?
Viết nh vậy có nghĩa là gì?
VD:
+ NN Pascal dùng cặp từ Begin End để
gộp nhiều câu lệnh thành 1 câu lệnh nhng
trong NN C++ lại dùng kí hiệu { }.
+ Trong C++ dùng các kí hiệu !, còn
trong Pascal thi không.
- GV: Lấy ví dụ Xét 2 biểu thức:
A + B (1) Trong đó: A, B là các số thực.
I + J (2) I, J là các số nguyên.
Khi đó:
1. Các thành phần cơ bản.
- Mỗi NNLT thờng có 3 thành phần cơ
bản: Bảng chữ cái, Cúi 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
Anh, các chữ số 0 -> 9 và một số ký tự đặc
biệt (Xem trong SGK và bảng phụ).
b. Cú pháp: Là bộ quy tắc dùng để viết
chơng trình.
c. Ngữ nghĩa: Xác định ý nghĩa các thao
tác cần thực hiện ứng với tổ hợp ký tự dựa
+ dấu + trong (1) sẽ là cộng hai số thực,
và trong (2) là cộng hai số nguyên.
Vậy: Mỗi ngôn ngữ khác nhau cũng
có cách xác định ngữ nghĩa khác nhau.
- HS: Nghe và ghi chép
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
* Hoạt động 2: Lắm đợc một số khái niệm về các cách đặt tên và đặt hàm trong Pascal.
Hoạt động của GV và HS Nội dung
- GV : 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 đặt tên trong ngôn ngữ khác
nhau là khác nhau, có ngôn ngữ không
phân biệt chữ hoa, chữ thờng.
- GV : Trong ngôn ngữ Turbo Pascal tên
là một dãy liên tiếp dài không quá 127 ký
tự, gồm chữ cái (hoa hoặc thờng), chữ số
và dấu gạch dới.
- GV : Trong Free Pascal tên có thể tối đa
255 ký tự.
Ví dụ: Cách đặt tên trong ngôn ngữ
Pascal:
Tên đúng: a, B, c, x1, X2, _det
Tên sai: a bc, 2x, a&b, A#B
- HS : Lấy một số ví dụ về tên đúng và tên
sai khác.
- GV : Ngôn ngữ nào cũng có 3 loại tên cơ
bản này nhng tuỳ theo ngôn ngữ mà các
tên có ý nghĩa khác nhau trong các ngôn
ngữ khác nhau.
- GV: Em nào cho tôi biết các em có bao
nhiêu tên trong giấy khai sinh? Vì sao?
- HS: Suy nghĩ trả lời.
- GV: Nhận xét và đa ra tên cho NNLT cụ
thể.
- GV : Trong khi soạn thảo chơng trình,
các ngôn ngữ lập trình thờng hiển thị các
tên dành riêng với một màu chữ khác hẳn
với các tên còn lại giúp ngời lập trình nhận
biết đợc tên nào là tên dành riêng (từ
khoá). Trong ngôn ngữ Pascal, từ khoá th-
ờng hiển thị màu trắ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. Mỗi ngôn ngữ lập trình có một
quy tắc đặt tên riêng.
- Ngôn ngữ lập trình thờng có 3 loại tên cơ
bản: Tên dành riêng, tên chuẩn, tên do ng-
ời lập trình tự đặt.
* Chú ý: Ngôn ngữ lập trình Pascal không
phân biệt chữ hoa và chữ thờng, nhng một
số ngôn ngữ lập trình khác lại phân biệt
chữ hoa và chữ thờng.
* 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 xác định mà ngời lập
trình không thể dùng với ý nghĩa khác.
+ Tên dành riêng còn đợc gọi là từ khoá.
Ví dụ: Một số từ khoá:
- Trong ngôn ngữ Pascal: Program,
Var, Uses, Begin, End,
- Trong ngôn ngữ C++: main, include,
while, void,
* Tên chuẩn:
+ Là những tên đợc ngôn ngữ lập trình
dùng với ý nghĩa nào đó trong các th viện
của ngôn ngữ lập trình, tuy nhiên ngời lập
trình có thể sử dụng với ý nghĩa khác.
Ví dụ: Một số tên chuẩn:
- Trong ngôn ngữ Pascal:real, Interger,
GV: Các ngôn ngữ lập trình thờng cung
cấp một số đơn vị chơng trình có sẵn trong
các th viện chơng trình giúp ngời lập trình
có thể thực hiện nhanh một số thao tác th-
ờng dùng.
- GV: Để viết chơng trình giải phơng trình
bậc 2 ta cần khai báo những tên sau:
+ a, b, c là ba tên dùng để lu ba hệ số
của phơng trình.
+ X1, X2 là 2 tên dùng để lu nghiệm
nếu có.
+ Delta là tên dùng để lu giá trị của
delta.
- GV: Hằng thờng có 2 loại, hằng đợc đặt
tên và hằng không đợc đặt tên. Hằng
không đợc đặt tên là những giá trị viết trực
tiếp khi viết chơng trình. Mỗi ngôn ngữ lập
trình có một quy định về cách viết hằng
riêng. Hằng đợc đặt tên cũng có cách đặt
tên cho hằng khác nhau.
- HS: Chú ý nghe giảng và chép bài.
- GV: Biến là đối tợng đợc 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
để lu trữ kết quả, làm trung gian cho các
tính toán, Mỗi loại ngôn ngữ có những
loại biến khác nhau và cách khai báo cũng
khác nhau.
- HS: Chú ý nghe giảng và chép bài.
- GV: Lấy ví dụ thực tế về những quyển
sách hay có các dòng chú thích ở cuối
trang sách đó rồi hỏi học sinh.
Em hãy cho biết các dòng chú thích
trong những quyển sách có những ý
nghĩa gì?
- HS: Suy nghĩ trả lời.
- GV: Nhận xét và dẫn dắt vào phần chú
thích trong các ngôn ngữ lập trình.
- GV: Khi viết chơng trình, ngời lập trình
thờng có nhu cầu giải thích cho những câu
sin, cos, char,
- Trong ngôn ngữ C++: cin, cout,
getchar,
* Tên do ngời lập trình tự đặt:
+ Đợc xác định bằng cách khai báo trớc
khi sử dụng và không đợc dùng với tên
dành riêng.
+ Các tên trong chơng trình không đợc
trùng nhau.
b. Hằng và biến:
* Hằng:
- Là các đạ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 xâu: là chuỗi ký tự đặt trong dấu
nháy hoặc
+ Hằng Logic: là các giá trị đúng hoặc sai.
* Biến:
- Là đại lợng đợc đặt tên, giá trị có thể
thay đổi đợc trong chơng trình.- Các ngôn
ngữ lập trình có nhiều loại biến khác nhau.
- 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 trong
chơng trình đợc bỏ qua khi dịch chơng
trình.
Ngôn ngữ
Chú thích
một dòng
Chú thích
nhiều dòng
Pascal
{chú thích} (*chú thích
. *)
{chú thích
.. }
C++
//chú thích /*chú thích
.. */
lệnh mình viết, để khi đọc lại đợc thuận
tiện hoặc ngời khác đọc có thể hiểu đợc
chơng trình mình viết, do vậy các ngôn
ngữ lập trình thờng cung cấp cho ta cách
để đa các chú thích vào trong chơng trình.
- GV: Ngôn ngữ khác nhau thì cách viết
chú thích cũng khác nhau.
- HS: Chú ý nghe giảng và chép bài.
V. Củng cố:
- Nhắc lại một số khái niệm mới về hằng và biến. Các chú ý khi đặt tên.
- Phân biệt đợc điểm khác nhau giữa hằng và biến.
VI, bài tập về nhà:
- Trả lời các câu hỏi và bài tập SGK/13