a./ Thông dịch Interpreter: Thông dịch được thực hiện bằng cáchlặp lại các bước: - B1: Kiểm tra tính đúng đắn của câutiếp theo trong chương trình nguồn; - B2: Chuyển đổi câu lệnh đó thàn
Trang 1Tuần: 1 - Tiết PPCT:1 Ngày dạy:
- Biết vai trị của chương trình dịch;
- Biết khái niệm biên dịch và thơng dịch;
- Biết các thành phần cơ bản của ngơn ngữ lập trình và thành phần cơ sở của ngơn ngữ lập trình pascal
2 Kỹ năng
3 Thái độ
- Cĩ tính kỉ luật cao, ham thích mơn học, tinh thần làm việc theo nhĩm;
- Nhận thức được quá trình phát triển của ngơn ngữ lập trình gắn liền với quá trình phát triển của Tin học
Gợi mở tình huống + Đặt vấn đề + thảo luận + thuyết trình
IV TIẾN TRÌNH DẠY HỌC:
1 Ổn định tổ chức: kiểm diện
2 Kiểm tra bài cũ: thơng qua.
3 Giảng bài mới:
GV: phát vấn học sinh : “Em hãy nêu các bước
giải bài tốn trên máy vi tính?”.
HS: Suy nghĩ và trả lời câu hỏi.
GV:Phân tích câu trả lời và nhắc lại các bước giải
một bài tốn trên máy vi tính
GV: Làm sao để máy tính cĩ thể hiểu và thực
hiện các thuật tốn đã lựa chọn để giái bài tốn?
HS: Suy nghĩ và 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 thaotác của thuật tốn
1 KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
Trang 2GV: Giới thiệu với các em khái niệm lập trình.
HS: Lắng nghe ghi chép.
Lưu ý: giải thích thêm
Ý nghĩa của lập trình là để tạo ra các chương trình
giải được các bài toán trên máy tính Về cấu trúc
dữ liệu, cần lựa chọn sao cho ít tốn kém bộ nhớ
GV: Chuyển mạch: “Vậy thì có bao nhiêu lớp
ngôn ngữ lập trình?” Giới thiệu cho học sinh
biết có 3 lớp ngôn ngữ lập trình
HS: Quan sát, ghi chép.
GV: Chuyển mạch: “Sau đây chúng ta sẽ tìm
hiểu khái niệm về mỗi lớp ngôn ngữ lập trình”.
Trình bày cho học sinh xem
HS: Quan sát, ghi chép, lắng nghe.
GV: Lưu ý học sinh: “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ớ và
thực hiện ngay ” Trình bày và giới thiệu cho học
sinh biết về hợp ngữ
HS: Quan sát, ghi chép, lắng nghe.
GV: Giới thiệu với các em về ngôn ngữ bậc cao.
HS: Lắng nghe, ghi chép, quan sát.
Khái niệm chương trình dịch
GV: “Để thực hiện trên máy tính, chương trình
cần được dịch sang ngôn ngữ máy”.
HS: Lắng nghe, ghi chép.
GV: giới thiệu khái niệm và cơ chế hoạt động của
chương trình dịch
HS: Quan sát, lắng nghe, ghi chép.
GV: Chuyển mạch: “Vậy có mấy loại chương
trình dịch” và tiến hành cho học sinh xét ví dụ
Cách 2: Có 2 tài liệu tiếng Việt và tiếng
Anh có thể lưu trữ dùng lại về sau”
HS: Lắng nghe, ghi chép.
GV: Chuyển mạch: “Cũng tương tự như vậy ta
có 2 loại chương trình dịch là : thông dịch và
biên dịch” Trình chiếu và giới thiệu cho học sinh
- Chương trình được viết bằng ngônngữ lập trình bậc cao không phụ thuộcvào loại máy - Chương trình viết bằngngôn ngữ máy có thể nạp trực tiếp vào
bộ nhớ của máy và thực hiện ngay cònchương trình viết bằng ngôn ngữ lậptrình bậc cao phải được chuyển thànhngôn ngữ máy mới thực hiện được
- Chương trình có chức năng chuyển đổingôn ngữ viết bằng ngôn ngữ bậc caothành ngôn ngữ máy gọi là chương trìnhdịch
- Chương trình dịch nhận đầu vào làchương trình viết bằng ngôn ngữ lậptrình bậc cao(chương trình nguồn) vàcho ra chương trình ở dạng ngôn ngữmáy (chương trình đích)
Chương trình dịch có hai loại là thôngdịch và biên dịch
a./ Thông dịch (Interpreter):
Thông dịch được thực hiện bằng cáchlặp lại các bước:
- B1: Kiểm tra tính đúng đắn của câutiếp theo trong chương trình nguồn;
- B2: Chuyển đổi câu lệnh đó thành cáccâu lệnh tương ứng trong ngôn ngữmáy;
-B3:Thực hiện các câu lệnh vừa chuyểnđổi được
Thông dịch là quá trình dịch và thựchiện các câu lệnh luân phiên nhau
b./ Biên dịch (compiler)
Biên dịch được thực hiện qua hai bước:
- B1: 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ươngtrình nguồn;
- B2: Dịch toàn bộ chương trình nguồnthành một chương trình đích có thể thựchiện trên máy và có thể lưu trử để sử
CT nguồn
CT DỊCH
CT đích
Trang 3về thông dịch (interpreter).
HS: Quan sát, ghi chép, suy nghĩ
GV: Chú ý cho học sinh: “Thông dịch thích hợp
trong đối thoại giữa người và hệ thống Tuy nhiên
một câu lệnh nào đó được lập lại bao nhiêu lần
thì nó sẽ được dịch bấy nhiêu lần” Nêu ví dụ cho
học sinh
HS: Lắng nghe, ghi chép.
GV:giới thiệu cho học sinh biết về biên
dịch(compiler).
HS: Quan sát, ghi chép, suy nghĩ.
GV: Nêu ví dụ cho học sinh và nhận xét: “Trong
chương trình thông dịch, không có chương trình
đích để lưu trữ Trong biên dịch cả chương trình
nguồn và đích đều có thể lưu trữ”
dụng lại khi cần thiết
Thông thường, trong môi trường làm việc trên mỗi ngôn ngữ lập trình cụ thể ngoài chương trình dịch còn có một số thành phần chức năng liên quan như biên soạn, lưu vtrử, tìm kiếm, … VD: Turbo Pascal, Free Pascal, Visual Pascal, là các môi trường làm việc trên Pascal; C++, Visual C++, là các môi trường làm việc trên C++
4 Củng cố và luyện tập :
- Nhắc lại khái niệm ngôn ngữ lập trình và chương trình dịch: thông dịch và biên dịch
5 Hướng dẫn học sinh chuẩn bị bài ở nhà:
- Học bài cũ Trả lời các câu hỏi trong SGK
V RÚT KINH NGHIỆM:
+ Chương trình SGK:
+ Học sinh:
+ Giáo viên: 1 Nội dung:
2 Phương pháp:
3 Tổ chức:
Trang 4Tuần: 1 - Tiết PPCT:02 Ngày dạy:
Phương pháp phát vấn, thuyết trình – giảng giải
IV TIẾN TRÌNH DẠY HỌC:
1 Ổn định tổ chức: kiểm diện
2 Kiểm tra bài cũ:
Câu hỏi: Biên dịch và thông dịch khác nhau như thế nào?(8đ)
Thông dịch: không có chương trình đích để lưu trữ Lần lượt dịch từngcâu lệnh.Một câu lệnh nào đó phải thực hiện bao nhiêu lần thì nó phải được dịch bấynhiêu lần (4đ)
Biên dịch: Trong biên dịch cả chương trình nguồn và đích đều có thểlưu trữ Dịch toàn bộ chương trình nguồn thành chương trình đích (4đ)
3 Giảng bài mới:
GV: giới thiệu cho học sinh về 3 thành
phần cơ bản của mỗi ngôn ngữ lập trình
HS: Quan sát, ghi chép.
GV: dẫn dắt HS: Trong tiếng việt của
chúng ta có sử dụng bảng chữ cái
không? “ta sử dụng các ký tự trong bảng
chũ cái tiếng việt để ghép thành từ,
Trang 5thành câu, thành văn bản Tương tự
GV: Chú ý thêm cho học sinh: “Bảng
chữ cái của các ngôn ngữ lập trình khác
nhau có sự khác nhau không nhiều” và
nêu ví dụ cho học sinh
GV: giới thiệu cho học sinh biết cú
GV: Đưa ví dụ minh họa: Từ “Chạy”
trong 2 câu sau mang nghĩa khac nhau
Bình và Hưng thi chạy
Nhân dân ĐBSCL chạy lũ.
Tổ hợp ký tự trong ngữ cảnh khác
nhau mang nghĩa khác nhau
HS: Quan sát, suy nghĩ, ghi chép.
GV: Lưu ý HS, lỗi cú pháp dễ phát
hiện, lỗi về ngữ nghĩa khó phát hiện
Chỉ khi đưa vào số liệu cụ thể
GV: Đặt câu hỏi: Trong đời sống thực,
tên là gì? Tại sao phải đặt tên?
HS: Trong cuộc sống hằng ngày ta phân
biệt giữa người này với người kia qua
tên
Nêu ý nghĩa của việc đặt tên trong
lập trình
GV: Trong ngôn ngữ lập trình cũng vậy,
để phân biệt các đối tượng trong chương
trình thì phải đặt tên cho các đối tượng
Là bộ quy tắc để viết chương trình Dựa vàochúng, người lập trình và chương trình dịchbiết được tổ hợp nào của các ký tự trong bảngchữ cái là hợp lệ và tổ hợp nào là không hợp
lệ Từ đó có thể mô tả chính xác thuật tóan đểmáy thực hiện
2./ Một số khái niệm:
a./ Tên:
Mọi đối tượng trong chương trình đều phảiđặt tên theo qui tắc của ngôn ngữ lập trình vàchương trình dịch cụ thể
Trong ngôn ngữ lập trình Pascal, tên là 1dãy liên tiếp không quá 127 ký tự bao gồm:chữ cái, chữ số, dấu gạch dưới và chỉ bắt đầubằng chữ cái hoặc dấu gạch dưới
VD : trong ngôn ngữ lập trình Pascal:
-Tên đúng: A ; A3 ; c_Trinh1; _ab3; _34a
- Tên sai: c trinh ; 6aB ; A&B;
Ngôn ngữ Pascal không phân biệt chữ hoa
và chữ thường nhưng một số ngôn ngữ lậptrình khác phân biệt chữ hoa và chữ thường (C,C++)
* Nhiều NNLT, trong đó có Pascal, phânbiệt ba loại tên:
+ Tên dành riêng:
Là các từ có ý nghĩa riêng cho từng NNLT, mỗi từ có một chức năng riêng biệt còn được gọi là từ khóa
Một số từ dàng riêng trong NNLT pascal:and, asm, array, begin, case, const…
+ Tên chuẩn:
Là tên được các NNLT định nghĩa sẵn,nhưng người lập trình có thể định nghĩa lại
Trang 6GV: Cho học sinh làm một số ví dụ để
phân biệt được tên đúng, tên sai
HS: Học sinh tìm tên đúng trong Pascal
GV: khái niệm về các loại tên và giải
nghĩa thêm chức năng của vài loại tên
thông dụng: PROGRAM, begin, end,
uses, const,
GV: hãy chỉ ra các tên sai trong các đặt
tên sau đây: A, R23, _65, A GH, P34_c,
8Jh, F#j, GJ, F@j ?
Trả lời: Tên sai là: A GH, 8Jh, F#j, F@j
Hằng và biến
GV: Trong ngôn ngữ Pascal, khi cần lưu
trữ những đại lượng có giá trị thay đổi
hay không đổi người ta sẽ dùng đại
lượng hằng và biến
Vậy hằng hay biến là gì? Chức năng của
chúng ra sao? Phần cuối cùng ta sẽ đi
tìm hiểu khái niệm hằng và biến
HS: Học sinh lắng nghe
GV: Các em hãy nhìn lên bảng ví dụ sau
và cho biết đâu là hằng xâu, hằng chuỗi,
hằng logic
24,74,12.3
‘NhaTrang’, ‘tour’
False, True.
GV: Các em hãy cho biết tên biến và tên
hằng là tên chuẩn hay tên dành riêng
hay tên do người lập trình đặt
HS: Học sinh đọc sách và trả lời:
Tên do người lập trình đặt
GV: Sau khi viết được một chương trình
thì người lập trình phải tiến hành “chạy
thử” để kiểm tra xem phần mã mình viết
có đúng như ý tưởng ban đầu khi thiết
kế không, vậy em nào cho biết, các lệnh
được viết trong cặp dấu {} hay (* *) có
VD: Delta, C_trinh1;
b./ Hằng và biến:
- Hằng số là đại lượng nhận giá trị trướckhi thân chương trình bắt đầu thực hiện,trong Pascal hằng được khai báo sau từkhoá , trong Pascal CONST
VD : CONST n = 15;
- Biến số: Là đại lượng có giá trị thay đổitrong quá trình thực hiện chương trình, biếnđược đặt tên để lưu trử giá trị, trong Pascalbiến được khai báo sau từ khoá VAR
Bài tập:
1 Cho các tên sau, phân biệt tên đúng, tênsai , vì sao sai?
Bai_tap_01Bai tap1_Btap_022BtapBai$tap
2 Hãy phân biệt các tên sau đâu là tên dànhriêng, đâu là tên chuẩn?
and, asm, abs, sqr, sqrt, byte, integer , array, begin, case, const, real, end
Trang 7được chương trình biên dịch không?
HS: Dấu chú thích sẽ được bỏ qua khi
Pascal biên dịch chương trình
4 Củng cố và luyện tập :
Thế nào là tên dành riêng, tên chuẩn, tên do người lập trình đặt?
Hằng và biến khác nhau như thế nào?
Cách để ghi chú thích trong Pascal?
5 Hướng dẫn học sinh chuẩn bị bài ở nhà:
Học bài cũ
Trả lời câu hỏi 4, 5, 6 sách giáo khoa trang 13
Chuẩn bị bài tập cuối chương I trong sách bài tập
V RÚT KINH NGHIỆM:
+ Chương trình SGK:
+ Học sinh:
+ Giáo viên: 1 Nội dung:
2 Phương pháp:
3 Tổ chức:
Trang 8Tuần: 2 - Tiết PPCT: 3 Ngày dạy:
I MỤC TIÊU:
1.Về kiến thức:
Phân biệt được tên chuẩn với tên dành riêng và tên tự đặt;
Phân biệt được tên, hằng và biến;
Biết đặt tên đúng và nhận biết được tên sai qui định;
2.Kiểm tra bài cũ:
Câu hỏi: Tên trong ngôn ngữ pascal được đặt theo quy tắc nào?Cho ví dụ một vài tên
đúng? Hãy cho biết điểm khác nhau giữa tên dành riêng và tên chuẩn.Tên do người lập trình đặt?(5đ)
- Quy tắc đặt tên trong NNLT Pascal (1đ)
3.Giảng bài mới:
BÀI TẬP
Trang 9câu hỏi và yêu cầu một hs
khác trả lời câu hỏi
HS: Lắng nghe và thực
hiện yêu cầu của GV
GV: yêu cầu cả lớp cho
câu hỏi cho hs Hướng dẫn
hs làm các bài tập tiếp theo
1/13 SGK Tại sao người ta phải xây dựng ngôn ngữ lập trình
bậc cao?
Lập trình bằng ngôn ngữ bậc cao dễ viết hơn vì các lệnhđược mã hoá gần với ngôn ngữ tự nhiên Chương trình viếtbằng ngôn ngữ lập trình bậc cao nói chung không phụ thuộcvào loại máy, nghĩa là 1 chương trình có thể thực hiện trênnhiều loại máy tính khác nhau
2/13 SGK Chương trình dịch là gì? Tại sao cần phải có
chương trình dịch?
Chương trình dịch là 1 chương trình có chức năng chuyểnđổi các ngôn ngữ khác sang ngôn ngữ máy Cần phải cóchương trình dịch để chuyển chương trình được viết bằng cácngôn ngữ khác thành ngôn ngữ máy thì máy tính mới có thểhiểu và thực hiện được
3/13 SGK Biên dịch và thông dịch khác nhau như thế nào?
Trong thông dịch không có chương trình đích để lưu trữ.Trong biên dịch cả chương trình nguồn và chương trình đích cóthể lưu trữ lại để sử dụng về sau
4/13 SGK Điểm khác nhau giữa tên dành riêng và tên chuẩn.
Tên dành riêng được dùng với ý nghĩa xác định, không đượcdùng với ý nghĩa khác Tên chuẩn được dùng với ý nghĩa nhất
định, có thể khai báo và dùng với ý nghĩa khác
5/13 SGK Viết ra 3 tên đúng theo quy tắc của Pascal.
Giai_PT; Baitap1nangcao; _1chuongtrinh;
6/13 SGK Cho biết những biểu diễn không phải là biểu diễn
hằng trong Pascal a) 150.0 b) -22 c) 6,23
1.3/6 SBT Trong chế độ biên dịch, một chương trình đã được
dịch 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 trình đúng hay chưa? Tại sao?
Không thể khẳng định vì chương trình có thể vẫn còn chứalỗi ngữ nghĩa
1.5/6 SBT Sau khi chương trình đã được dịch thông suốt,
không còn lỗi cú pháp, có cần tiếp tục hiệu chỉnh, tức là tìm và sửa lỗi trong chương trình nguồn nữa hay không?
Có Cần kiểm tra ngữ nghĩa
Trang 10HS: Nghiêm túc lắng nghe,
ghi chép và tích cực phát
biểu xây dựng bài
GV: yêu cầu hs giải thích
lý do tại sao không chọn
những phương án khác giúp
hs hiểu rõ bài hơn
GV: Tiếp tục hướng dẫn
học sinh làm các bài tập
còn lại cho đến hết Trong
quá trình giải bài tập, nên
nhắc lại các kiến thức đã
học giúp học sinh nắm
vững kiến thức
1.9/7 SBT Hãy chọn những biểu diễn hằng trong những biểu
diễn dưới đây
A) Begin B) ‘65c’ C) 1024
B, C, D, F
1.10/7 SBT Hãy chọn những biểu diễn tên trong những biểu
diễn dưới đây
A) ‘*****’ B) -5+9-0 C) PpPpPp D) +256.512 E)FA33C9 F) (2)
C, E
1.11/7 SBT Trong những biểu diễn dưới đây, biểu diễn nào là
từ khóa trong Pascal ? A) END B) Ingteger C) Real
A, F
1.15/7 SBT Trong dòng thông tin chú thích có thể chứa kí tự
ngoài bảng chữ cái của ngôn ngữ hay không và tại sao ?
Có thể vì chương trình dịch bỏ qua chú thích khi dịch chương trình
Câu 1 : Các chú thích nào dưới đây là đúng ?
A) (*Day la mot chuong trinh Pascal*) B) /* Day la mot chuong trinh Pascal*/
C) { Day la mot chuong trinh Pascal}
D) A & C đều đúng
4.Củng cố và luyện tập:
Nhắc lại các kiến thức quan trọng cần nắm
5.Hướng dẫn học sinh chuẩn bị bài ở nhà:
Chuẩn bị bài 3: CẤU TRÚC CHƯƠNG TRÌNH
V RÚT KINH NGHIỆM:
+ Chương trình SGK:
+ Học sinh:
+ Giáo viên: 1 Nội dung:
2 Phương pháp:
3 Tổ chức:
Trang 11Tuần: 2 - Tiết PPCT:4 Ngày dạy:
Chương II: CHƯƠNG TRÌNH ĐƠN GIẢN
Gợi mở tình huống + Đặt vấn đề + thảo luận + thuyết trình.
IV TIẾN TRÌNH DẠY HỌC:
1 Ổn định tổ chức: kiểm diện
2 Kiểm tra bài cũ:
1 Hãy nêu các thành phần cơ bản của một ngơn ngữ lập trình ?
2 Phân biệt các khái niệm: Tên dành riêng, tên chuẩn và tên do người lập trình đặt?
3 Giảng bài mới:
Hoạt động 1: Giúp HS cĩ cái nhìn tổng
quan về cấu trúc chung của chương trình
viết bằng ngơn ngữ lập trình bậc cao
GV đưa ra 1 số VD về các cấu trúc
mà HS đã được biết trong thực tế: cấu
trúc bài văn, cấu trúc máy tính
GV đặt câu hỏi: “Một chương trình
viết bằng ngơn ngữ bậc cao cĩ cấu trúc
2./ Các thành phần của chương trình: a./ Phần khai báo:
3 CẤU TRÚC CHƯƠNG TRÌNH
Trang 12cấu trúc của một chương trình
GV giải thích thêm cho HS về qui
định khi viết các thành phần trong chương
trình
Hoạt động 2: Tìm hiểu chi tiết về từng
thành phần trong chương trình và cách
khai báo tên chương trình, khai báo thư
viện, khai báo hằng
GV phân tích ý nghĩa của thành
phần khai báo tên chương trình và giới
thiệu cách khai báo tên chương trình
trong Pascal
GV đưa ra 1 số VD khai báo tên
chương trình trong Pascal, yêu cầu HS
nhận xét đúng hay sai
GV phân tích khái niệm thư viện
chương trình trong ngôn ngữ lập trình
GV đưa vd cho HS thấy cách khai
báo thư viện của Pascal và C/C++
GV yêu cầu HS trình bày lại khái
niệm hằng và phân biệt các loại hằng
trong NNLT
GV giải thích ý nghĩa của việc khai
báo hằng
GV đưa vd cho HS thấy cách khai
báo hằng và phân biệt sự khác nhau giữa
khai báo hằng trong Pascal và trong C/C+
+
GV yêu cầu HS trình bày lại khái
niệm biến và phân biệt các loại biến trong
NNLT
GV giới thiệu và phân tích cho HS
hiểu ý nghĩa của việc khai báo biến trong
chương trình
GV có thể giải thích thêm, khai
báo biến là xin máy tính cấp cho chương
trình 1 vùng nhớ để lưu trữ và xử lý thông
tin trong bộ nhớ trong
GV đưa ra VD, yêu cầu HS xác
định tên và đặc điểm các biến trong
chương trình
GV dẫn dắt vấn đề “mỗi NNLT có
cách tổ chức chương trình khác nhau” rồi
Gồm một số khai báo thường gặp:
Khai báo tên chương trình:
Phần này có thể không có, Với Pascal, nếu
có sẽ được khai báo như sau:
PROGRAM <TÊN CHƯƠNG TRÌNH>;Tên chương trình do người lập trình đặt.VD: PROGRAM CTRINH1;
Khai báo thư viện:
Mỗi ngôn ngữ lập trình đều có thư việncung cấp một số chương trình thông dụng đãđược lập sẵn Để sử dụng những chươngtrình này cần khai báo thư viện chứa nó
Khai báo biến:
Để lưu các giá trị trong chương trình bằngcác biến thì biến cần được đặt tên và khaibáo các
VD: Khai báo 2 biến x, y kiểu số thựctrong Pascal được khai báo:
VAR x,y : real;
b./ Phần thân chương trình:
Thân chương trình là phần bắt buộc phải
có, đó là dãy lệnh trong phạm vi được xácđịnh bởi cặp dấu hiệu mở đầu và kết thúc.VD: Trong Pascal:
BEGIN[<dãy lệnh>]
Trang 13giải thích ý nghĩa của thân chương trình
GV yêu cầu HS xem vd SGK để
hiểu về các dấu hiệu xác định phạm vi
thân chương trình
GV giới thiệu thêm về dấu hiệu bắt
đầu và kết thúc thân chương trình của
ngôn ngữ C/C++ là cặp dấu ngoặc { và }
Hoạt động 3: Giới thiệu cách viết một
chương trình đơn giản, bước đầu làm
quen với việc viết chương trình trên ngôn
ngữ Pascal
GV yêu cầu HS xem vd1 SGK rồi
nhận xét về cách viết của 2 chương trình
trong 2 ngôn ngữ khác nhau và xác định
từng thành phần của chương trình
GV nhận xét và phân tích để HS
nhận ra: 2 chương trình cùng thực hiện 1
công việc nhưng viết bằng 2 ngôn ngữ
khác nhau nên hệ thống câu lệnh trong
chương trình cũng khác nhau
GV yêu cầu HS xem tiếp vd2 và
giải thích cách đưa câu thông báo ra màn
hình: sử dụng lệnh Writeln và xâu được
để trong dấu nháy đơn
CONST ; khai báo các hằng
TYPE ; khai báo các kiểu dữ liệu mới
VAR ; khai báo các biến PROCEDURE ; khai báo các thủ tục
FUNCTION khai báo các hàm
Phần 3: Phần thân chương trình bắt buộc với mọi chương trình BEGIN Các lệnh của chương trình; END 3./ Ví dụ chương trình đơn giản: PROGRAM VI_DU; VAR x, p : INTEGER; BEGIN WRITE(‘Nhap mot so khac 0 :’); xuat dong chu: Nhap mot so khac 0: READLN(x); doc du lieu cho bien x P:= x* x* x; WRITE(‘Lap phuong cua’, x,’ la:’,p); READLN; doi go phim END 4 Củng cố và luyện tập: - Nhắc lại cấu trúc và các thành phần của chương trình
5 Hướng dẫn học sinh chuẩn bị bài ở nhà: Chuẩn bị bài 4: MỘT SỐ KIỂU DỮ LIỆU CHUẨN và Bài 5 : KHAI BÁO BIẾN V RÚT KINH NGHIỆM: + Chương trình SGK:
+ Học sinh:
+ Giáo viên: 1 Nội dung:
2 Phương pháp:
3 Tổ chức:
Trang 14
Tuần: 3 - Tiết PPCT: 5 Ngày dạy:
I.MỤC TIÊU
1.Kiến thức
HS nắm được tên, phạm vi giá trị của các kiểu dữ liệu chuẩn thường dùng vàdung lượng bộ nhớ dùng để lưu trữ một giá trị của chúng
Xác định được kiểu cần khai báo của dữ liệu đơn giản
Hiểu cách khai báo biến trong Pascal và biết khai báo biến đúng
2.Về kỹ năng:
Biết lựa chọn các kiểu dữ liệu chuẩn như kiểu nguyên, kiểu thực, kiểu
kí tự, kiểu lơgic vào 1 số bài tốn cụ thể 1 cách hợp lí
Biết khai báo biến đơn cần sử dụng trong chương trình
Phương pháp đàm thoại, thuyết trình
1 Ổn định lớp: kiểm diện
2 Kiểm tra bài cũ:
Câu hỏi: Cấu trúc của một chương trình? Khai báo tên, khai báo thư viện? Cho ví dụ? (5đ)
Câu hỏi: Cấu trúc phần thân chương trình? Khai báo hằng, khai báo biến? cho ví dụ? (5đ)
3 Giàng bài mới:
GV: Phân tích câu trả lời của
học sinh, đưa ra một vài dạng
thơng tin như sau:
-Kiểu dữ liệu là một sự qui định về cấu trúc, miền giátrị và tập phép tốn trên miền giá trị đĩ
-Một dữ liệu bao giờ cũng thuộc về một kiểu dữ liệunhất định Mỗi ngơn ngữ lập trình đều cĩ một số kiểu
dữ liệu chuẩn
Trong Pascal, cĩ các kiểu dữ liệu chuẩn sau:
4 MỘT SỐ KIỂU DỮ KIỆU CHUẨN
5 KHAI BÁO BIẾN
Trang 15- Kiểu dữ liệu nào cũng có
miền giới hạn của nó Tùy thuộc
vào ngôn ngữ lập trình mà tên
của các kiểu dữ liệu khác nhau
và miền giá trị của các kiểu dữ
liệu này cũng khác nhau
- Với mỗi kiểu dữ liệu
người lập trình cần ghi nhớ tên
kiểu, miền giá trị, và số lượng ô
nhớ để lưu một giá trị thuộc kiểu
đó
Giới thiệu các kiểu dữ liệu chuẩn
thường dùng trong Pascal, hình
thành trong HS ý thức sử dụng
các kiểu dữ liệu sao cho phù hợp
với yêu cầu bài toán và tiết kiệm
tài nguyên
GV : Giới thiệu các kiểu dữ liệu
nguyên trong Pascal
cho kết quả vượt ra khỏi phạm vi
của kiểu số nguyên mà đã khai
-Có 5 kiểu số nguyên như sau:
- Các phép tính trên kiểu số nguyên:
+ :cộng - : trừ * :nhân / :chiaDIV : chia lấy phần nguyên
MOD :chia lấy phần dưVD: 5/2 = 2.50, 5 DIV 2 = 2,5 MOD 2 =1
2.Kiểu số thực:
Real Biểu diễn một số có giá trị tuyệt
đối từ 2.9*10 39đến 1.7*1038
6 byte
- Kiểu thực được biểu diễn theo hai cách:
+Cách viết dấu phẩy tĩnh Vd: 2.5, 5.024+Cách viết dấu phẩy động: gồm phần định trị và phần bậc, viết cách nhau bởi chữE
* Phần định trị: là số nguyên hay số thực viết dưới dạng dấu phẩy tĩnh
* Phần bậc: là số nguyên
- Vd: 125E + 3 :biểu diễn số :125000125.4E + 3 : Biểu diễn số :125400125000E –3 :Biểu diễn số :125
- Các phép toán trên kiểu thực:+ (cộng), -(trừ),*
2147483647
4 byte
Trang 16dung lượng bộ nhớ để lưu trữ giá
trị
GV: giải thích đối với kiểu thực
thì kết quả tính tốn là gần đúng
với sai số khơng đáng kể, nhưng
miền giá trị được mở rộng hơn
so với kiểu nguyên
liệu là các chữ viết(kí tự) như
khi ta soạn thảo văn bản, quản lý
hay gặp loại đại lượng chỉ cĩ 2
giá trị: Đúng (True) hoặc Sai
(False)
GV: Kiểu logic là kiểu thường
chỉ cĩ 2 giá trị đúng, sai Giới
thiệu kiểu logic
GV nhấn mạnh, một đại lượng
thuộc kiểu logic chỉ nhận một
trong hai giá trị: True hoặc
False
GV: Đưa ra ví dụ, yêu cầu học
sinh xác định các biến Giới
thiệu với học sinh cách khai báo
biến
HS : Lắng nghe và tích cực phát
biểu xây dựng bài
VD: Giải phương trình bậc hai
ax2 + bx + c = 0
Khai báo các biến như sau:
var a, b, c, x 1 , x 2 , delta: real;
- Kiểu Logic chỉ cĩ hai giá trị: Đúng (TRUE) và Sai(FALSE),
trong đĩ FALSE < TRUE
- Các phép tốn trên đối tượng cĩ trị Logic: AND, OR, NOT được xác định:
x y x AND y x OR y NOT x
false false false false truefalse true false true truetrue false false true falsetrue true true true false
+ Đặt ký tự trong cặp dấu nháy đơn ‘ ‘
+ Dùng hàm CHR(n)
+ Dùng # nVD: Để biểu diễn ký tự A cĩ thể sử dụng các cách: ‘A’, CHR(65), # 65
* Kiểu ký tự chỉ cĩ các phép tốn so sánh(=, >, >=, <,
<=, < >), sự so sánh dựa vào mã của ký tự VD: ‘A’ <
‘a’ (vì 65< 97)
KHAI BÁO BIẾN
Trong PASCAL, khai báo biến bắt đầu bởi từ khĩa VAR như sau:
VAR <DS biến>:<Kiểu dữ liệu;
Trang 17cạnh của tam giác
- cv: chu vi tam giác
- s: diện tích tam giác
Trong khai báo này có 3 biến
bộ nhớ dành cho mỗi biến là 1
byte Biến N cũng nhận các giá
trị nguyên, nhưng trong phạm vi
- Ví dụ, cần đặt tên hai biến biểu
diễn điểm toán, điểm tin thì
không nên vì ngắn gọn mà đặt
tên biến là d1, d2 mà nên đặt là
dtoan, dtin
- Dễ mắc lỗi khi viết nhiều lần
tên biến Ví dụ, không nên dùng
d1, d2 hay diemmontoan,
diemmontin cho điểm
- Chú ý: Có thể khai báo nhiều biến với nhiều kiểu dữ
4 Củng cố và luyện tập :
Nhắc lại các kiểu dữ liệu chuẩn và cách xác định kiểu dữ liệu
5 Hướng dẫn học sinh chuẩn bị bài ở nhà:
- Chuẩn bị bài tập và bài học số 5
V RÚT KINH NGHIỆM:
+ Chương trình SGK:
Trang 18+ Học sinh:
+ Giáo viên: 1 Nội dung:
2 Phương pháp:
3 Tổ chức:
Trang 19Tuần: 3 - Tiết PPCT: 6 Ngày dạy:
Rèn luyện tư duy lơgic, cách làm việc khoa học và chính xác
Cĩ tính kỉ luật cao, nỗ lực trong quá trình nghiên cứu độc lập và tìnhthần làm việc theo nhĩm
Phương pháp đàm thoại, thuyết trình
1 Ổn định lớp: kiểm diện
2 Kiểm tra bài cũ:
Câu hỏi: Hãy chọn khai báo đúng (5đ)
Var
x,y,z:word; X:longint; i:byte;
n l:real; h:in tegr; Var x,y,z:word;
i:byte;
Câu hỏi: cĩ bao nhiêu biến tất cả, bộ nhớ phải cấp phát là bao nhiêu? (5đ)
Var x,y:word; h:integer;
z:longint; i:byte;
- Cĩ 5 biến
- Tổng bộ nhớ cần cấp phát: x(2byte), y(2byte), x(4byte), h(2byte), i(1byte) Tổng 11byte
3 Giàng bài mới:
PHÉP TOÁN, BIỂU THỨC , CÂU LỆNH GÁN
Trang 20Hoạt động của GV và HS Nội Dung
GV: Trong khi viết chương trình ta
thường phải thực hiện các tính toán,
thực hiện các so sánh để đưa ra quyết
định xem làm việc gì Vậy trong
GV: Trong toán học, biểu thức là gì?
HS: Đưa ra khái niệm
GV: Đưa ra khái niệm biểu thức
logic trong lập trình
GV: Cách viết các biểu thức này
trong lập trình có giống cách viết
trong toán học?
HS: Đưa ra ý kiến của mình
GV: Phân tích ý kiến của học sinh
GV: Đưa ra cách viết biểu thức và
thứ tự thực hiện phép toán trong lập
trình
GV: Cách viết biểu thức phụ thuộc
cú pháp từng ngôn ngữ lập trình
GV: Đưa ra một số biểu thức toán
học và yêu cầu học sinh viết bằng
- K/n: Biểu thức là một biến, hằng hoặc các biến,
các hằng liên kết với nhau bởi các phép toán số học
Khi viết biểu thức cần chú ý:
+ Chỉ dùng dấu ngoặc đơn ( ) khi muốn xác định trình tự các phép toán
+ Không được bỏ qua dấu * trong phép nhân.VD: 3*(a* SIN(x) + b* COS(y))+2*sin(x)
- Thứ tự ưu tiên các phép toán:
+ Phép trong ( )+ Phép *, /+ Phép DIV, MOD+ Phép +, -
Nếu cùng cấp sẽ thực hiện từ trái qua phải
3./ Các hám số học chuẩn:
- SQR(x) :bình phương một số nguyên haythực
- ABS(x): Trị tuyệt đối
- SQRT(x):Căn bậc hai của x
- SIN(x): Tính giá trị sin x với x đo bằngradian
- COS(x): tính giá trị cos x với x đo bằngradian
- LN(x) : Tính logarit cơ số e (e=2.72) của x
- EXP(x) :Tính ex
- TRUNC(x) : cắt bỏ phần thập phân của xnếu có VD: Trunc(4.25) = 4
Trang 21GV: Để tính giá trị đó một cách đơn
giản người ta xây dựng sẵn một số
đơn vị chương trình giúp người lập
trình tính toán nhanh các giá trị
thông dụng
GV: Với các hàm chuẩn cần quan
tâm đến kiểu của đối số và kiểu của
giá trị trả về
GV: Trong lập trình người ta thường
phải so sánh hai giá trị nào trước khi
thực hiện lệnh nào đó Biểu thức
quan hệ còn được gọi là biểu thức so
sánh được dùng để so sánh 2 giá trị,
cho kết quả là đúng hoặc sai (logic)
VD: 3 > 5: Cho kết quả sai
GV: Muốn so sánh đồng thời nhiều
điều kiện ta làm thế nào?
HS: Chú ý, lắng nghe
GV: Đưa ra ví dụ và cách viết đúng
trong ngôn ngữ Pascal
Chú ý: Mỗi ngôn ngữ có cách viết
- PRED(x) : Cho giá trị liền trước x (x có kiểuđếm được ) Vd: Pred (true) = false
- SUCC(x) : cho giá trị liền sau x (x có kiểuđếm được) Vd: Succ(‘a’) = ‘b’
- ORD(ch): Cho số thứ tự của ký tự ch trongtrong bảng mã ASCII
Vd: Ord(‘A’)=65
- CHR(n): Cho ký tự có số thứ tự n trongbảng mã ASCII Vd: Chr(65)= ‘A’
- ODD(n) : Cho giá trị true nếu n lẻ ngược lạicho giá trị false
-Chú ý : Kiểu giá trị hai vế phải giống nhau
Trang 22hình z=3 và i=7
4 Củng cố và luyện tập :
Nhắc lại các kiến thức quan trọng cần nắm
5 Hướng dẫn học sinh chuẩn bị bài ở nhà:
Chuẩn bị bài 7 CÁC THỦ TỤC CHUẨN VÀO/ RA ĐƠN GIẢN và bài 8 SOẠN THẢO, DỊCH, THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH
V RÚT KINH NGHIỆM
+ Chương trình SGK: + Học sinh: + Giáo viên: 1 Nội dung:
2 Phương pháp:
3 Tổ chức:
Trang 23Tuần: 4 - Tiết PPCT: 7 Ngày dạy:
I.MỤC TIÊU
1.Kiến thức:
Học sinh sau tiết học sẽ:
Biết được các lệnh vào ra đơn giản để nhập thơng tin từ bàn phím vàđưa thơng tin ra màn hình (bài 7)
Biết được các bước: soạn thảo, dịch, thực hiện và hiệu chỉnh chươngtrình (bài 8)
Biết một số cơng cụ của mơi trường Turbo Pascal (bài 8)
2.Về kỹ năng:
Viết được một số lệnh vào ra đơn giản (bài 7)
Bước đầu sử dụng được chương trình dịch để phát hiện lỗi (bài 8)
Buốc đầu chỉnh sửa được chương trình dựa vào thơng báo lỗi củachương trình dịch và tính hợp lí của kết quả thu được
3.Về thái độ:
Rèn luyện tư duy lơgic, cách làm việc khoa học và chính xác
Cĩ tính kỉ luật cao, nỗ lực trong quá trình nghiên cứu độc lập và tìnhthần làm việc theo nhĩm
II CHUẨN BỊ:
1 Giáo viên:
Sách giáo viên
2 Học sinh:
Chuẩn bị bài 7 CÁC THỦ TỤC VÀO RA ĐƠN GIẢN và bài 8 SOẠN
THẢO, DỊCH, THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH
III PHƯƠNG PHÁP:
Phương pháp thuyết trình, hỏi đáp, đặt vấn đề
IV TIẾN TRÌNH DẠY HỌC:
1 Ổn định tổ chức: kiểm diện
2 Kiểm tra bài cũ:
Câu hỏi: Biểu diễn biểu thức sau bằng NNLT Pascal (5đ)
x y xy
7 CÁC THỦ TỤC CHUẨN VÀO - RA ĐƠN GIẢN
8 SOẠN THẢO, DICH , THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH
Trang 24Câu hỏi: Cú pháp lệnh gán trong Pascal? Khi thực hiện lệnh gán cần chú ý điều gì?
Nêu vấn đề: Khi giải quyết
một bài toán, ta phải đưa dữ
liệu vào để máy tính xử lí,
việc đưa dữ liệu bằng lệnh
gán sẽ làm cho chương trình
chỉ có tác dụng với một dữ
liệu cố định Để chương trình
giải quyết được nhiều bài
toán hơn, ta pahỉ sử dụng thủ
tục nhập dữ liệu
- Yêu cầu học sinh nghiên
cứu sách giáo khoa và cho
biết cấu trúc chung của thủ
tục nhập dữ liệu trong ngôn
ngữ lập trình Pascal:
- Nêu ví dụ: Khi viết
chương trình giải phương
thông tin vào, như vậy bằng
cáh nào ta nhập được thông
tin vào khi lập trình? Làm
READLN; Thủ tục đợi gõ phím ENTER
Trước khi vào d.liệu cần thông báo bằng thủ tục xuấtd.liệu
1 dòng rồi đưa con trỏ xuống dòng
! Chú ý: WRITELN; Xuất 1 dòng trống (xuống
WRITE(‘Nhap mot so khac 0 :’);
xuat dong chu: Nhap mot so khac 0:READLN(x); doc du lieu cho bien xP:= x*x* x;
WRITE(‘Lap phuong cua’, x,’ la:’,p);
READLN; doi go phim Enter