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.. 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
Trang 1Chơ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:
Tiết 1
CT nguồn dịch CT
CT
đích
Trang 2Biê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
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
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
Tuần 2
Trang 3? Vậy môĩ NNLT thờng có mấy TP
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à *)
Trang 4GV 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