Kiến thức: - Nắm được các thành phần của một ngôn ngữ lập trình nói chung.Một ngôn ngữ lập trình có ba thành phần: Bảng chữ cái, cú pháp và ngữ nghĩa.. Biên dịch: Duyệt, phát hiện lỗi, k
Trang 1Tiết 2: CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH
I MỤC TIÊU:
1 Kiến thức:
- Nắm được các thành phần của một ngôn ngữ lập trình nói chung.Một ngôn ngữ lập trình có ba thành phần: Bảng chữ cái, cú pháp và ngữ nghĩa
- Biết được một số khái niệm như: tên, tên chuẩn, tên dành riêng, tên
do người lập trình đặt, hằng biến và chú thích
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 và 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ước đầu hình thành được tư duy về lập trình
II CHUẨN BỊ:
1 Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên & hình
ảnh
2 Chuẩn bị của học sinh: Đọc trước SGK.
III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tình hình lớp: (3’)
2 Kiểm tra bài cũ:
Câu hỏi:Em hãy nêu khái niệm Lập trình, hãy phân biệt Biên dịch và Thông dịch?
Dự kiến trả lời:
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
Trang 2Biên dịch: Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của các cacau
lệnh trong chương trình nguồn; Dịch tồ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
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 hay nhiều câu lệnh tương ứng trong ngôn ngữ máy; thực hiện các câu lệnh vừa chuyển đổi được
3. Giảng bài mới:
Thời
gian Hoạt động của thầy Hoạt động của trò Nội dung bài giảng
* Hoạt động 1: Tìm
hiểu các thành phần
của ngôn ngữ lập
trình
GV: Đặt vấn đề:
Có những yếu tố nào
để xây dựng nên
ngôn ngữ tiếng Việt?
GV: Trong ngôn ngữ
lập trình cũng như
vậy, nó bao gồm các
thành phần: Bảng
chữ cái, cú pháp và
ngữ nghĩa
GV: Giải thích thêm:
HS: Trả lời:
Những yếu tố để xây dựng nên ngôn ngữ tiếng Việt là:
- Bảng chữ cái tiếng Việt, số, dấu
- Cách ghép các kí tự thành từ, ghép các từ thành câu
- Ngữ nghĩa của từ
1 Các thành phần cơ bản: a) Bảng chữ cái:
Là tập hợp các kí tự được dùng để viết chương trình Trong Pascal bảng chữ cái gồm các kí tự sau:
- Bảng chữ cái thường và bảng chữ cái hoa của bảng chữ cái tiếng Anh
- Các chữ số trong hệ đếm thập phân
- Các kí tự đặc biệt: +, -, *, /,
=, <, >, {, }, [, ], …
b) Cú pháp: Là bộ quy tắc
để viết chương trình
c) Ngữ nghĩa: Xác định ý
Trang 3Cú 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
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 được
và câu nghĩa củ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 đó
* Hoạt động 2: Tìm
hiểu khái niệm tên
trong thành phần
của ngôn ngữ lập
trình.
GV: Mọi đối tượng
trong chương trình
đều phải được đặt
tên Hãy nghiên cứu
SGK trang 10 để nêu
ra quy tắc đặt tên
trong Pascal?
HS: Nghiên cứu
SGK và trả lời:
- Gồm chữ số, chữ cái, dấu gạch dưới
- Bắt đầu bằng chữ
2 Tên:
- Mọi đối tượng trong chương trình đều được đặt tên
- Trong ngôn ngữ 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ưới và bắt đầu bằng chữ cái hoặc dấu gạch dưới
Ví dụ:
Tên đúng:
AB
Trang 4gian Hoạt động của thầy Hoạt động của trò Nội dung bài giảng
GV: Cho các tên
trong Pascal sau,
những tên nào đúng?
A
A BC
9PQ
R12
X%Y
_45
GV: Hãy đọc SGK
và trả lời hiểu biết
của em về tên dành
riêng?
Ví dụ: Tên dành
riêng:
Trong Pascal:
program, uses, const,
type, var, begin, end,
…
Trong C: main, void,
include, …
cái hoặc dấu gạch dưới
- Độ dài không quá 127
HS: Những tên đúng
là:
A R12 _45
HS: Tên dành riêng
là tên do ngôn ngữ lập trình quy định với một ý nghĩa xác định nào đó
_A A23
Tên sai:
12A
A B A#B
* Nhiều ngôn ngữ lập trình trong đó có Pascal phân biệt
3 loại tên sau:
- 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: (Từ khóa)
Tên dành riêng là những tên được ngôn ngữ lập trình quy định dùng với ý nghĩa xác định, người lập trình không được dùng nó với ý nghĩa khác
Tên chuẩn: Là tên được
ngôn ngữ lập trình dùng với
ý nghĩa nhất định nào đó; người lập trình có thể định
Trang 5Ví dụ: Tên chuẩn:
Trong Pascal:
Integer; sin cos,…
Trong C: cin, cout,
getchar,…
Ví dụ: tên do người
lập trình đặt: a1, a2,
delta, …
GV: Có một số tên
trong ngôn ngữ
Pascal như sau:
Program, Abs,
Integer, Type, Xyz,
Byte,Tong,
- Xác định tên dành
riêng;
- Xác định tên
chuẩn;
- Xác định tên do
người lập trình đặt
GV: Nhận xét.
HS:
- Tên dành riêng:
Program, Type
- Tên chuẩn: Abs, Integer, Byte
- Tên do người lập trình đặt: Xyz, Tong
nghĩa lại để dùng nó với ý nghĩa khác
Tên do người lập trình đặt: là tên được dùng theo ý
nghĩa riêng của người lập trình, tên này phải được khai báo trước khi sử dụng và nó không được trùng với tên dành riêng
* Hoạt động 3: Tìm
hiểu hằng, biến và
chú thích.
GV: Dựa vào định HS: Trả lời
3 Hằng, biến và chú thích:
a) Hằng: Là đại lượng có
giá trị không đổi trong quá trình thực hiện chương
Trang 6gian Hoạt động của thầy Hoạt động của trò Nội dung bài giảng
nghĩa như vậy, em
hãy cho một vài ví
dụ cho mỗi loại hằng
trên
GV: Hãy cho biết
hằng số và hằng xâu
trong các hằng sau:
-32767
‘QB’
‘50’
1.5E+2
GV: Hãy dựa vào
định nghĩa, cho ví dụ
về biến trong ngôn
ngữ Pascal
GV: Giải thích thêm
phần biến: Trong
Pascal, biến gồm 2
loại: Biến đơn và
biến kép
Biến đơn: Tại mỗi
thời điểm chỉ chứa
một giá trị
Biến kép: Tại mỗi
Hằng số: 50 ; 60.5 Hằng xâu: ‘A’, ‘Binh Dinh’
Hằng logic: False
HS: Trả lời:
- Hằng số: -32767;
1.5E+2
- Hằng xâu: ‘QB’,
‘50’
HS: Ví dụ các tên
biến là: Delta, tong, x1, x2,…
trình.
Có ba loại hằng thường
dùng: hằng số học, hằng xâu
và hằng logic
+ Hằng số học là các số nguyên và số thực
+ Hằng xâu: Là một chuỗi kí
tự bất kì Khi viết, chuỗi kí
tự này được đặt trong dấu nháy đơn
+ Hằng logic là giá trị đúng (True) hoặc sai (False)
b) 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ác biến dùng trong chương trình sẽ được khai báo
Trang 7thời điểm có thể
chứa nhiều giá trị
(Biến đơn được sử
dụng nhiều hơn.)
GV: Lời giải thích
đôi khi rất cần thiết
trong những chương
trình phức tạp, dùng
để giải thích cho
người khác hiểu khi
đọc chương trình và
giúp cho chúng ta dễ
dàng chỉnh sửa, hoặc
nâng cấp chương
trình
GV: Các lệnh được
ghi trong cặp dấu {}
có được Pascal thực
hiện không?
HS: Không, vì đó là
lời chú thích
c) Chú thích:
Trong ngôn ngữ Pascal, chú thích được đặt giữa cặp dấu {} hoặc (* *) dùng để giải thích cho chương trình rõ ràng và dễ hiểu
Ví dụ một lời chú thích trong chương trình: {Lenh xuat du lieu}
4 Củng cố:
- Các thành phần của ngôn ngữ lập trình: bảng chữ cái, cú pháp và
ngữ nghĩa
- Khái niệm tên, tên chuẩn, tên dành riêng, tên do người lập trình
đặt, hằng, biến và chú thích
5 Dặn dò học sinh chuẩn bị cho tiết học sau:
Trang 8- Làm bài tập 4, 5, 6, SGK trang 13
- Xem bài đọc thêm: Ngôn ngữ Pascal, sách giáo khoa trang 14, 15,
16
- Xem trước bài: Cấu trúc chương trình, sách giáo khoa, trang 18.
- Xem nội dung phụ lục B, sách giáo khoa trang 128: Một số tên
dành riêng
IV RÚT KINH NGHIỆM, BỔ SUNG:
………
………
………
Tiết 3:
BÀI TẬP
I MỤC TIÊU:
1 Kiến thức:
- Ôn lại những kiến thức đã học về khái niệm lập trình và các thành phần cơ bản của ngôn
ngữ lập trình
2 Kỹ năng:
Trang 9khoa và sách bài tập.
3 Thái độ:
- Rèn luyện tính tỉ mỉ, cận thận cho học sinh khi học lập trình để viết chương trình
II CHUẨN BỊ:
3 Chuẩn bị của giáo viên: Giáo án, hình ảnh minh họa và máy tính.
4 Chuẩn bị của học sinh: Đọc trước SGK.
III HOẠT ĐỘNG DẠY HỌC:
6 Ổn định tình hình lớp: (3’)
7 Kiểm tra bài cũ: (7’)
Câu hỏi: Em hãy trình bày những thành phần cơ bản trong ngôn ngữ
lập trình Pascal Phân biệt giữa hằng và biến
Trả lời: Những thành phần cơ bản trong ngôn ngữ lập trình Pascal là: a) Bảng chữ cái:
Là tập hợp các kí tự được dùng để viết chương trình Trong Pascal bảng chữ cái gồm các kí tự sau:
- Bảng chữ cái thường và bảng chữ cái hoa của bảng chữ cái tiếng Anh
- Các chữ số trong hệ đếm thập phân
- Các kí tự đặc biệt: +, -, *, /, =, <, >, {, }, [, ], …
b) Cú pháp: Là bộ quy tắc để viết chương trình.
c) Ngữ nghĩa: Xác định ý nghĩa củ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 đó
Phân biệt giữa hằng và biến:
Hằng: Là đại lượng có giá trị không đổi khi thực hiện chương trình Biến: Là đại lượng có thể thay đổi giá trị khi thực hiện chương trình
Trang 108. Giảng bài mới:
Thời
gian
Hoạt động của giáo
viên
Hoạt động của học
10’ * Hoạt động 1: Ôn
lại những kiến thức
đã học ở hai bài
trước
GV: Vì sao phải cần
có chương trình
dịch?
GV: Phân biệt giữa
thông dịch và biên
dịch?
GV: Những thành
phần trong ngôn ngữ
lập trình?
HS: Cần phải có
chương trình dịch vì
để máy tính có thể hiểu và thực hiện được chương trình thì chương trình viết bằng ngôn ngữ bậc cao phải được sang ngôn ngữ máy
HS:
Thông dịch là dịch
và đưa ra kết quả ở từng câu lệnh
Biên dịch là dịch tồn
bộ chương trình, và kết quả thu được là một hoặc nhiều file kết quả có thể lưu trữ
và sử dụng lại
HS: Những thành
phần của ngôn ngữ
1 Tóm tắt lí thuyết:
- Cần có chương trình dịch
để chuyển chương trình nguồn thành chương trình đích
- Có hai loại chương trình dịch: Thông dịch và biên dịch
- Các thành phần của ngôn ngữ lập trình: Bảng chữ cái,
cú pháp và ngữ nghĩa
- Mọi đối tượng đều phải được đặt tên:
+ Tên dành riêng: được dùng với ý nghĩa riêng, không được dùng với ý nghĩa khác
+ Tên chuẩn: Tên dùng với ý nghĩa nhất định, khi cần dùng với ý nghĩa khác thì phải khai báo
+ Tên do người lập trình đặt: Cần khai báo trước khi
Trang 11gian viên sinh
lập trình là:
- Bảng chữ cái
- Cú pháp
- Ngữ nghĩa
sử dụng
- Hằng: Đại lượng có giá trị không đổi trong khi thực hiện chương trình
- Biến là đại lượng được đặt tên Giá trị của biến có thể thay đổi trong quá trình thực hiện chương trình
10’ * Hoạt động 2: Giải
quyết các câu hỏi
trong sách giáo
khoa.
GV: Tại sao người ta
phải xây dựng ngôn
ngữ lập trình bậc
cao?
GV: Em hãy nhắc
lại khái niệm Hằng?
HS: Người ta phải
xây dựng ngôn ngữ lập trình bậc cao vì chương trình viết bằng ngôn ngữ bậc cao dễ hơn so với ngôn ngữ máy, ngôn ngữ bậc cao gần gũi với ngôn ngữ tự nhiên hơn so với ngôn ngữ máy
HS: Hằng là đại
2 Các câu hỏi trong sách giáo khoa:
Câu 1: Tại sao người ta phải
xây dựng ngôn ngữ lập trình bậc cao?
Trả lời: Vì chương trình viết
bằng ngôn ngữ bậc cao gần gũi hơn so với chương trình viết bằng ngôn ngữ máy, chương trình viết bằng ngôn ngữ bậc cao dễ phát triển và hồn thiện hơn chương trình viết bằng ngôn ngữ máy
Câu 2: Hãy cho biết những
Trang 12gian
Hoạt động của giáo
viên
Hoạt động của học
GV: Bổ sung thêm
Có ba loại hằng
thường dùng là:
Hằng số học, hằng
xâu và hằng logic
- Hằng số học: là các
số nguyên và số
thực, có dấu hoặc
không dấu
- Hằng xâu là một
chuỗi kí tự bất kì
Khi viết, chuỗi kí tự
này được đặt trong
dấu nháy đơn
- Hằng logic là giá
trị đúng (True) hoặc
sai (false)
lượng có giá trị không đổi trong quá trình thực hiện chương trình
biểu diễn nào dưới đây không phải là biểu diễn hằng trong Pascal và chỉ rõ lỗi trong từng trường hợp:
a) 150.0 b) -22 c) 6,23 d) ‘43’
e) A20 f) 1.06E – 15 g) 4+6
h) ‘C i) ‘TRUE’
Trả lời:
Những hằng số học: 150.0, -22, 1.06E-15
Những hằng kí tự: ‘43’,
‘TRUE’
Những trường hợp không phải là hằng trong Pascal: 6,23, A20, 4+6, ‘C
10’ * Hoạt động 3: Một
số bài tập khác.
GV: Câu b không
đúng vì trong chế độ
HS: Lắng nghe và
ghi chép
3 Bài tập:
Bài 1: Phát biểu nào dưới
đây là đúng?
a) Chương trình là dãy các
Trang 13gian viên sinh
thông dịch, mỗi câu
lệnh của chương
trình nguồn được
dịch thành một hoặc
nhiều câu lệnh của
chương trình đích;
Câu c không đúng vì
có những bài tốn
cũng không thể giả
trên máy tính
Câu d sai vì nếu
chương trình nguồn
có lỗi cú pháp thì
chương trình dịch
không thể dịch sang
chương trình nguồn
GV: Khi hệ thống
không báo lỗi có
nghĩa là chương
trình không có lỗi cú
pháp nhưng chưa thể
khẳng định ta đã có
một chương trình
HS: Không vì
chương trình vẫn còn
có thể có lỗi ngữ nghĩa
lệnh được tổ chức theo các quy tắc được xác định bởi một ngôn ngữ lập trình cụ thể;
b) Trong chế độ thông dịch, mỗi câu lệnh của chương trình nguồn được dịch thành một câu lệnh của chương trình đích;
c) Mọi bài tốn đều có chương trình để giải trên máy tính;
d) Nếu chương trình nguồn
có lỗi cú pháp thì chương trình đích cũng có lỗi cú pháp
Đáp án: A
Bài 2: Trong chế độ biên
dịch, một chương trình đã được thông suốt, hệ thống không báo lỗi Có thể khẳng định rằng ta đã có một chương tình đúng chưa? Tại sao?
Đáp án: Không, vì chương
Trang 14gian
Hoạt động của giáo
viên
Hoạt động của học
đúng vì để chương
trình đúng theo yêu
cầu đề bài thì
chương trình phải
đúng về mặt ngữ
nghĩa
trình vẫn còn có thể có lỗi ngữ nghĩa
9 Củng cố: (3’)
Nắm được các khái niệm cơ bản về thông dịch, biên dịch, chương trình dịch; biết được những thành phần cơ bản của một ngôn ngữ lập trình đặc biệt là chương trình Pascal
10.Dặn dò học sinh chuẩn bị cho tiết học sau: (2’)
Làm các bài tập trong sách Bài tập
Chuẩn bị trước bài 3: Cấu trúc chương trình
IV RÚT KINH NGHIỆM, BỔ SUNG:
………
………
………