Trờng THPT Thanh Hà Giáo án Tin học lớp 11
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: Khái niệm lập trình và ngôn ngữ lập trình
I. Mục tiêu:
- Hiểu khả năng của ngôn ngữ lập trình bậc cao, phân biệt đợc với ngôn ngữ máy và hợp
ngữ.
- Hiểu ý nghĩa và nhiệm vụ của chơng trình dịch. Phân biệt đợc biên dịch và thông dịch.
II. Đồ dùng dạy học
GV: Giáo án, SGK, SGV, STK
HS: Vở ghi, SGK Tin học 10, tin học 11
III. Các hoạt động dạy và học
1. ổ n định tổ chức lớp
2. Bài mới
Giới thiệu bài: Tin học lớp 11 ta nghiên cứu chung về ngôn ngữ lập trình bậc cao và sử
dụng ngôn ngữ lập trình bậc cao để mô phỏng.
Trong chơng trình lớp 10 các em đã đợc biết đến một số khái niệm: ngôn ngữ lập trình, chơng
trình dịch. Bài này chúng ta sẽ học chi tiết hơn về những nội dung trên.
Hoạt động của GV và HS Nội dung chính
GV ? Em hãy cho biết các bớc giải một bài toán
trên máy tính ( Lớp 10)
HS trả lời, GV viết ra góc bảng
- XĐ bài toán
- Thiết kế thuật toán
- Viết chơng trình
- Hiệu chỉnh
- Viết tài liệu
Giáo viên cho HS phân tích thêm
GV kết luận: Bớc viết chơng trình chính là lập
trình.
? Vậy lập trình là gì ? ý nghĩa ?
HS trả lời
? Em hiểu thế nào về câu lệnh
GV ? Em hãy cho biết có mấy loại ngôn ngữ lập
trình ( Lớp 10)
HSTL
? Em hiểu thế nào là ngôn ngữ lập trình bậc cao
HS thảo luận nhớ lại kiến thức lớp 10 và trả lời
câu hỏi.
GV kết luận
? Chơng trình nào làm chức năng chuyển đổi để
ngôn ngữ bậc cao thành chơng trình thực hiện đ-
ợc trên máy tính.
Gv yc HS nghiên cứu SGK
GV 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
Thông dịch: Sử dụng các câu lệnh để thực hiện
một số lệnh của Dos
VD: Lệnh MD tạo th mục mới
CP: MD [ổ đĩa:]<tên TM cần tạo>
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 toán.
ý nghĩa: tạo ra các chơng trình giải đợc
các bài toán trên máy tính
Câu lệnh: diễn tả các thao tác trong các
bớc của thuật toán
2. Ngôn ngữ lập trình
Có 3 loại ngôn ngữ lập trình: ngôn ngữ
máy, hợp ngữ và ngôn ngữ bậc cao
- Ngôn bậc cao: Các câu lệnh đợc viết
gần với ngôn ngữ tự nhiên hơn, có tính
độc lập hơn, ít phụ thuộc vào các loại
máy cụ thể và phải đợc dịch sang ngôn
ngữ máy mới thực hiện đợc
3. Ch ơng trình dịch
Chơng trình dịch: có chức năng chuyển
đổi chơng trình đợc viết bằng ngôn ngữ
lập trình bậc cao thành chơng trình thực
hiện đợc trên máy tính.
NNLT bậc
cao
Thực hiện
chuyển đổi
NN
máy
a)Thông dịch: Lặp lại dãy các bớc sau:
GV: Tiêu Thị Kim Thu
1
Tiết 1
Tiết 1
CT
nguồn
CT
dịch
CT
đích
Ngày soạn:
Tuần 1
Tuần 1
Trờng THPT Thanh Hà Giáo án Tin học lớp 11
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.
? Em hãy cho biết thế nào là thông dịch ? Biên
dịch ?
Em hãy lấy ví dụ về thông dich và biên dịch
GV giải thích thêm: Thông dịch không có chơng
trình đích để lu trữ, trong biên dịch cả chơng
trình nguồn và chơng trình đích có thể lu trữ lại
để sử dụng về sau.
? HS thảo luận nhóm để trả lời câu hỏi sau: Biên
dich và thông dịch khác nhau nh thế nào?
GV kết luận vào mục củng cố
- 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
b) Biên dịch: thực hiện qua 2 bớc
- Duyệt, phát hiện lỗi, 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 có thể thực hiện
trên máy và có thể lu trữ để sử dụng lại
3. Củng cố
Gv hệ thống lại kiến thức và nhác lại một số kiến thức quan trọng trong bài
GV khắc sâu hơn về sự khác nhau giữa thông dịch và biên dịch
-Trình biên dịch duyệt, kiểm tra phát hiện lỗi, xác định chơng trình nguồn có dịch đợc
không, dịch toà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ể lu trữ lại để sử dụng về sau khi cần thiết.
-Trình thông dịch lần lợt dịch từng câu lệnh ra ngôn ngữ máy rồi thực hiện ngay câu
lệnh vừa dịch đợc hoặc báo lỗi nếu không dịch đợc.
4. HDVN
- Làm câu hỏi 1,2,3( SGK tr13) và
bài tập 1.3, 1.4, 1.5, 1.6 ( SBT - Tr 6)
- Đọc bài 2 và Đọc bài đọc thêm số 1
Bài 2: các thành phần của ngôn ngữ lập trình
I. Mục tiêu:
- Biết ngôn ngữ lập trình có 3 thành phần cơ bản. Hiểu và phân biệt đợc 3 thành phần
này.
- Biết một số khái niệm: tên, tên chuẩn, tên dành riêng, hằng và biến.
- Yêu cầu HS ghi nhớ các quy định về tên, hằng và biến trong một ngôn ngữ lập trình.
Biết cách đặt tên đúng và nhận biết đợc tên sai quy định.
II. Đồ dùng dạy học
GV: Giáo án, SGK, SGV, STK, máy chiếu, máy tính
HS: Vở ghi, SGK Tin học 10, tin học 11
III. Các hoạt động dạy và học
1. ổ n định tổ chức lớp
3. KTBC
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ì ? Hãy phân biệt thông dịch và biên dịch ?
3. Bài mới
.
Hoạt động của GV và HS Nội dung chính
Gv giảng kết hợp viết ra góc bảng: Các NNLT
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 gì ? T-
ơng ứng với nó là 3 thành phần.
? Vậy môĩ NNLT thờng có mấy TP
Mỗi NNLT thờng có 3 thành phần cơ bản:
bảng chữ cái, cú pháp và ngữ nghĩa
a) Bảng chữ cái: là tập các kí tự đợc dùng
để viết chơng trình.
GV: Tiêu Thị Kim Thu
2
Tun 2
Tun 2
Trờng THPT Thanh Hà Giáo án Tin học lớp 11
HS trả lời
GV kết luận và ghi bảng
YC HS đọc SGK
? Em hiểu bảng chữ cái ntn?
HS hãy so sánh bảng chữ cái của các ngôn ngữ
lập trình khác nhau.
HS đọc SGK
? Em hiểu cú pháp là gì ? Cho VD về NNLT
Pascal: IF then else
? Ngữ nghĩa là gì?
VD: 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
? Vậy cú pháp cho biết cái gì? Ngữ nghĩa xác
định cái gì?
? Sự khác nhau giữa cú pháp và ngữ nghĩa
HS thảo luận trả lời câu hỏi, GV kết luận
HS nghiên cứu SGK
? Em hiểu tên là ntn ?
? Với mỗi NNLT khác nhau cách đặt tên ntn?
? Em hãy lấy VD về 3 tên đúng và 3 tên sai trong
NN Pascal và giải thích đúng , sai.
HS nghiên cứu SGK
? NNLT thờng có những loại tên nào?
? Em hiểu thế nào là tên dành riêng ? Cho VD
HS trả lời . GV KL
? Em hiểu thế nào là tên dành riêng ? Cho VD
HS trả lời . GV KL
GV đa ra VD sau: Để gpt bậc 2 ta cần khai báo
những tên sau: a, b, c là 3 tên dùng để lu 3 hệ số
của phơng trình; x1, x2 là tên dùng để lu nghiệm
;delta là tên dùng lu giá trị Delta
? Từ VD trên em hiểu thế nào là tên do ngời lập
trình đặt
HS nghiên cứu SGK
? Hằng là gì?
? Trong NNLT thờng có những loại hằng nào?
Cho VD
HS trả lời. GV tổng kết
? Nêu khái niệm về biến
Liên hệ với VD gpt bậc 2 ở trên có khai báo
hằng, khai báo biến không ? Hãy chỉ rõ
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.
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 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ó.
Tóm lại: Cú pháp cho biết cách viết mộ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.
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 theo quy tắc của ngôn ngữ lập
trình .
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
Lu ý: NN Pascal không phân biệt chữ hoa,
chữ thờng trong tên. Một số NNLT khác
có phân biệt.
* Tên dành riêng: Là những tên đợc NNLT
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
( gọi là từ khoá)
VD: program,const,type,var,begin,end
* Tên chuẩn: Là những tên đợc NNLT
dùng với ý nghĩa nào đó trong các th viện
của NNLT, tuy nhiên ngời lập trình có thể
sử dụng với ý nghĩa khác
VD: integer, real, sqr, sqrt
* Tên do ngời lập trình đặt đợc xác định
bằng cách khai báo trớc khi sử dụng và
không đợc trù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à đại lợng có gía trị không thay
đổi trong quá trình thực hiện chơng trình
Hằng số học:các số nguyên hay số thực
Hằng logic: True hoặc false
Hằng xâu: Chuỗi kí tự
VD : SGK
- Biến: là đại lơng đợc đặt tên, dùng để lu
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
Pascal: Các đoạn chú thích đợc đặt giữa
cặp dấu { và } hoặc (* và *)
GV: Tiêu Thị Kim Thu
3
Trờng THPT Thanh Hà Giáo án Tin học lớp 11
GV cho VD một đoạn chú thích trong Pascal
? Em hiểu chú thích có tác dụng gì? Cách dùng
3. Củng cố
Gv hệ thống lại kiến thức và nhắc lại một số kiến thức quan trọng trong bài
4. HDVN
- Làm câu hỏi 4, 5, 6( SGK tr13) và
bài tập 1.9, 1.10, 1.15, 1.11 ( SBT - Tr 7)
- Đọc bài đọc thêm số 2
GV: Tiêu Thị Kim Thu
4