• Đăc điểm của chương trình viết bằng ngôn ngữ máy là có thể nạp trực tiếp vào bộ nhớ thi hành ngay, còn chương trình viết bằng ngôn ngữ bậc cao không phụ thuộc loại máy, muốn thực hiện
Trang 1Ngày dạy: 18/08/2014 Chương I: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH
– Khái niệm lập trình, chương trình dịch, thông dịch và biên dịch
– Biết được Tin học được ứng dụng vào hầu hết các lĩnh vực
Kĩ năng:
– Phân biệt được thông dịch và biên dịch
– Biết một trong những nhiệm vụ quan trọng của chương trình dịch là phát hiện lỗi cú pháp của chương trình nguồn
Thái độ:
– Có khái niệm cơ bản về lập trình và yêu thích môn học lập trình
II CHUẨN BỊ:
Giáo viên: Giáo án, máy tính cá nhân, tổ chức nhóm.
Học sinh: Sách giáo khoa, vở ghi.
III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ:
3 Nội dung bài mới:
1 Khái niệm lập trình:
Đặt vấn đề: Ở Tin học 10 các em đã tìm hiểu về
các bước để giải bài toán trên máy tính, các loại
ngôn ngữ lập trình cơ bản Vậy em nào hãy nhắc
lại 5 bước giải một bài toán trên máy tính?
HS: Suy nghĩ và trả lời câu hỏi.
GV: Phân tích câu trả lời của học sinh.
Nhắc lại các bước giải bài toán trên máy tính đã
học ở lớp 10: 1 Xác định bài toán; 2 Lựa chọn
hoặc thiết kế thuật toán; 3 Viết chương trình (lập
trình); 4 Hiệu chỉnh; 5 Viết tài liệu
GV: Sau bước 3 là bước 4 Viết chương trình (lập
trình) Vậy lập trình là gì?
HS: Nhóm thảo luận và cho ra khái niệm.
GV: Theo các em đã học ở Tin học 10 thì có mấy
loại ngôn ngữ lập trình?
HS: Thảo luận và trả lời có 3 loại: Ngôn ngữ máy,
hợp ngữ, ngôn ngữ bậc cao
GV: Vậy hiện tại người ta sử dụng ngôn ngữ nào
để viết chương trình? Vì sao?
HS: Nhóm thảo luận suy nghĩ và trả lời: Ngôn
ngữ bậc cao Vì ngôn ngữ bậc cao là ngôn ngữ tự
nhiên, thuận tiện cho người lập trình và chương
trình của nó có tình độc lập cao và ít phụ thuộc
vào loại máy
GV: Mỗi loại máy có một đặc điểm riêng, chương
1 Khái niệm lập trình:
Lập trình là sử dụng một cấu trúc dữ liệu và các câu lệnh của một ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt thuật toán.
• 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
• Đăc điểm của chương trình viết bằng ngôn ngữ máy là có thể nạp trực tiếp vào
bộ nhớ thi hành ngay, còn chương trình viết bằng ngôn ngữ bậc cao không phụ thuộc loại máy, muốn thực hiện được trên máy tính thì nó phải được dịch sang ngôn ngữ máy
=> Chương trình mà có khả năng chuyển đổi chương trình viết bằng ngôn ngữ lập trình bậc cao sang ngôn ngữ máy để máy
tính thực hiện gọi là chương trình dịch.
Trang 2trình viết bằng ngôn ngữ máy cho loại máy nào
chỉ chạy được trên máy đó
HS: Chú ý nghe giảng và tiếp thu.
GV: Khi viết chương trình bằng ngôn ngữ bậc cao
muốn máy tính hiểu và thực thi được thì sao?
HS: Nhóm suy nghĩ và trả lời: Chuyển thành
ngôn ngữ máy
GV: Đúng Việc đó được thực hiện bởi một
chương trình đặc biệt gọi là chương trình dịch,
dùng để dịch từ chương trình nguồn thành chương
trình đích khi đó máy tính mới thực hiện được
HS: Chú ý nghe giảng và tự ghi bài.
2 Chương trình dịch:
GV: Các em tham khảo một ví dụ: Bạn là người
không biết tiếng Anh vậy làm sao để bạn có thể
nói chuyện với người Anh hay đọc một cuốn sách
tiếng Anh?
HS: Thảo luận và đưa ra ý kiến
- Khi một người làm thông dịch viên trong khi
đàm thoại thì phải dịch như thế nào? (Dịch ngay
từng câu khi 2 người nói chuyện)
GV: Đưa ra khái niệm thông dịch.
- Khi một người muốn dịch 1 cuốn sách sang
tiếng Việt thì làm thế nào? (Dịch toàn bộ cuốn
sách đó sang tiếng Việt để người đó có thể đọc
chương trình viết sẵn để chạy từng lệnh trong
Command promt thông dịch, hoặc Compiler cho
học sinh quan sát
HS: Có thể quan sát và hiểu sâu hơn.
GV: Cho hs phân biệt thông dịch và biên dịch Và
tìm hiểu các chức năng khác trong môi trường làm
việc của ngôn ngữ bậc cao cụ thể
+ Biên dịch (Compiler): Dịch toàn bộ
chương trình nguồn thành chương trình đích rồi mới thực hiện
• Thực hiện các bước sau:
Duyệt, phát hiện lỗi và 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ể lưu trữ để sử dụng lại khi cần thiết
=> Thông dịch không có chương trình đích
để lưu trữ còn biên dịch thì có thể lưu trữ lại cả chương trình nguồn và chương trình đích
IV CỦNG CỐ - DẶN DÒ:
1 Củng cố:
– GV: Cho hs trả lời các câu hỏi.
1 Thế nào là lập trình? Có mấy loại ngôn ngữ lập trình?
2 Máy tính có thể trực tiếp thực hiện chương trình viết bằng ngôn ngữ lập trình bậc cao hay không? Vì sao?
3 Phân biệt giữa thông dịch và biên dịch?
– HS: Lần lượt trả lời câu hỏi và tự củng cố.
2 Dặn dò:
– Xem bài đọc thêm 1 “Bạn biết gì về các ngôn ngữ lập trình” trang 6
– Học bài và chuẩn bị trước bài 2 “Các thành phần của ngôn ngữ lập trình”
Chương trình nguồn
Chương trình dịch
Chương trình đích
Trang 3V RÚT KINH NGHIỆM.
Ngày dạy: 26/08/2014 Lớp : 11B10→11B14 §2: CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH Tiết : 02
I MỤC ĐÍCH, YÊU CẦU:
Kiến thức:
– Biết ngôn ngữ lập trình có 3 thành phần cơ bản là: bảng chữ cái, cú pháp và ngữ nghĩa – Biết một số khái niệm: Tên, tên riêng (từ khóa), tên chuẩn, tên do người lập trình đặt, hằng và biến trong ngôn ngữ lập trình Pascal
Kĩ năng:
– Phân biệt được tên, hằng và biến
– Biết cách đặt tên đúng và nhận biết được tên sai
Thái độ:
– Có cái nhìn đầu tiên về NNLT Pascal, kích thích sự đam mê lập trình
II CHUẨN BỊ:
Giáo viên: Giáo án, máy tính cá nhân, phòng máy (nếu có).
Học sinh: Sách giáo khoa, vở ghi, xem bài trước ở nhà.
III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ:
Câu 1: Khái niệm lập trình? Chương trình dịch?
TL: Khái niệm SGK.
Câu 2: Sự khác nhau cơ bản của thông dịch và biên dịch?
TL: - Thông dịch thì dịch và thực hiện lần lượt từng câu lệnh của chương trình nguồn.
- Biên dịch là dịch toàn bộ chương trình nguồn rồi mới thực hiện và có thể lưu trữ để sử dụng lại khi cần
3 Nội dung bài mới:
1.Các thành phần cơ bản.
Đặt vấn đề: Các thành phần cơ bản để tạo nên một ngôn
ngữ Việt, chẳng hạn như câu “Trung bình cộng của 3 và
5 là: (3+5)/2 = 4”.
Trong câu đó thì gồm thành phần nào? Theo cú pháp nào?
Có ý nghĩa là gì?
HS: Các chữ cái, số và các dấu, kí tự đặc biệt…là câu đơn,
có nghĩa là trung bình cộng của 3 và 5
GV: Trong ngôn ngữ lập trình cũng tương tự, để viết một
chương trình thì người ta cần phải dùng các chữ cái, một
số kí tự đặc biệt… viết theo một cú pháp (quy tắc) với một
ý nghĩa nào đó
HS: Chú ý nghe giảng và tìm hiểu.
GV: Vậy trong ngôn ngữ lập trình thường có các thành
phần nào?
HS: Bảng chữ cái, cú pháp và ngữ nghĩa.
GV: Bảng chữ cái là gì? Trong NN Pascal bảng chữ cái
1 Các thành phần cơ bản.
Mỗi ngôn ngữ lập trình thường có 3 thành phần cơ bản là: bảng chữ cái, cú 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).
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 thực hiện ứng với tổ hợp ký tự dựa vào ngữ cảnh của
Trang 4gồm những gì?
HS: Nghiên cứu SGK và trả lời.
GV: Bảng chữ cái của các ngôn ngữ lập trình khác nhau
có sự khác nhau Chẳng hạn ngôn ngữ Pascal không sử
dụng dấu (“) và (!) nhưng ngôn ngữ C++ lại sử dụng
HS: Nghe giảng và tìm hiểu.
GV: Cú pháp là gì?
HS: Tìm hiểu SGK và trả lời.
GV: Cú pháp các ngôn ngữ lập trình khác nhau cũng khác
nhau, ngôn ngữ Pascal dùng cặp từ Begin – End để gộp
nhiều lệnh thành 1 lệnh nhưng C++ lại dùng cặp kí hiệu {}
GV: Nhấn mạnh chương trình dịch chỉ phát hiện lỗi cú
pháp còn lỗi ngữ nghĩa rất khó phát hiện
2 Một số khái niệm.
b) Tên
GV: 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
GV: Cách đặt tên trong Pascal?
HS: Trả lời và ghi bài.
GV: Lấy ví dụ tên đặt sai và tên đặt đúng và gọi học sinh
GV: Ngôn ngữ lập trình thường có ba loại tên cơ bản,
trong đó có Pascal: Tên dành riêng, tên chuẩn và tên do
người lập trình đặt
HS: Đọc SGK và trình bày về tên dành riêng.
GV: Trong Pascal, khi soạn thảo, tên dành riêng có màu
trắng phân biệt với các tên khác
GV: Gọi HS phát biểu về tên chuẩn.
HS: Tại chỗ trả lời
GV: Viết một số tên chuẩn
HS: Theo dõi và ghi bài.
dùng các đại lượng là: a, b, c, x1, x2, Delta do người lập
trình đặt
GV: Vậy các đại lượng đó là tên do người lập trình đặt.
HS: Tìm hiểu và ghi bài.
nó
• 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 khó phát hiện hơn
2 Một số khái niệm.
a) Tên.
• Quy tắc đặt tên trong Turbo
Pascal: Tên là một dãy liên tiếp
không qúa 127 ký tự bao gồm các chữ cái, chữ số 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
khai báo tên:
+ Để quản lý và phân biệt các đối tượng trong chương trình
+ Để gợi nhớ nội dung của đối tượng
VD: Tên đúng: A6, TinHoc11,
- Là tên được ngôn ngữ lập trình
quy định dùng với ý nghĩa riêng xác định, người lập trình không được dùng với ý nghĩa khác.
VD: Một số từ khóa
Trong Pascal: Program, Uses,
Const, Type, Var, Begin, End,… Trong ngôn ngữ C++: main, include, while, void,…
• 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
đó, dùng với ý nghĩa khác thì phải khai báo.
VD: Trong Pascal: abs, sqr, sqrt,
cos, sin, byte, integer, real, longint…
Trong C++: cin, cout, getchar
• Tên do người lập trình đặt
- Được dùng với ý nghĩa riêng, xác
định bằng cách khai báo trước khi
sử dụng.
Trang 5b) Hằng và biến
GV: Trong Pascal, khi sử dụng có một số đại lượng có thể
lặp đi lặp lại mang giá trị đó không đổi và một số có thể
thay đổi Nên trong Pascal có đại lượng Hằng và biến
GV: Nêu khái niệm hằng trong ngôn ngữ lập trình.
HS: Tại chỗ trả lời.
GV: Hằng trong Pascal được phân biệt có các loại hằng
nào? Cho hs trả lời và cho ví dụ từng loại
HS: Nghiên cứu và trả lời và cho ví dụ đúng và sai.
GV: Thế nào gọi là biến? Cho ví dụ.
HS: Nghiên cứu và trả lời.
GV: Các biến được dùng trong chương trình thì nhất định
phải được khai báo trước khi sử dụng
c) Chú thích.
GV: Khi viết chương trình người lập trình có nhu cầu giải
thích cho những câu 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 chúng ta cách đưa vào các đoạn chú thích trong
chương trình
HS: Chú ý lắng nghe và ghi bài.
GV: Cho hs nêu các chú thích trong Pascal được viết như
thế nào?
HS: Tham khảo và trả lời
GV: Các chú thích không làm ảnh hưởng đến chương
trình
GV: Ví dụ một chương trình Pascal đơn giản minh họa.
VD: Bai_Tap1, GPTB2…
Chú ý: Các tên trong chương trình
không được trùng nhau
b) Hằng và biến
• Hằng
- Hằng là đại lượng có giá trị không thay đổ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ố: số nguyên và số thực VD: 2 , - 22.36, 1.0E-6,…
+ Hằng lôgic: Là giá trị đúng
(True) hoặc sai (False)
+ Hằng xâu: Là chuỗi kí tự trong
bộ mã ASCII, đặt trong cặp dấu nháy
VD: ‘Lop 11B12’
• 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) Chú thích.
+ Trong Pascal chú thích được đặt trong {} hoặc (* và *)
+ Trong C++ chú thích đặt trong /* và */ hoặc //
IV CỦNG CỐ - DẶN DÒ:
1 Củng cố:
– GV: Cho hs nhắc lại các thành phần cơ bản của ngôn ngữ lập trình?
– Phân biệt tên trong NNLT Pascal: 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, chú thích trong Pascal
– HS: Tự củng cố.
2 Dặn dò:
– Đọc một số bài đọc them sgk
– Học bài và trả lời các câu hỏi, bài tập (SGK – Tr13) chuẩn bị tiết sau làm bài tập
V RÚT KINH NGHIỆM.
Trang 6
– Xác định được tên đúng, tên sai, tên chuẩn, từ khoá.
– Biết viết hằng và tên đúng trong một ngôn ngữ lập trình cụ thể
Thái độ:
– 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
II CHUẨN BỊ:
Giáo viên: Giáo án, bài tập, tài liệu, máy tính cá nhân, tổ chức nhóm.
Học sinh: Sách giáo khoa, vở ghi, xem và làm bài tập trước ở nhà.
III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ:
Câu 1: Nêu các thành phần cơ bản của ngôn ngữ lập trình? Nêu quy tắc đặt tên trong Turbo
Pascal? Cho ví dụ 2 tên đúng và 2 tên sai?
TL: Ngôn ngữ lập trình có ba thành phần cơ bản: bảng chữ cái, cú pháp và ngữ nghĩa.
- Bảng chữ cái: Là tập các kí tự được dùng để viết chương trình
- Cú pháp: Là bộ quy tắc để viết chương trình
- Ngữ nghĩa: Xác định ý nghĩa của các tổ hợp kí tự
* Quy tắc sgk Hs cho ví dụ
Câu 2: Nêu chi tiết một số loại tên trong Pascal? Cho ví dụ 3 từ khóa trong Pascal?
TL: Trong Pascal phân biệt 3 loại tên sau:
- Tên dành riêng (từ khóa): Dùng với ý nghĩa riêng xác định, không được dùng với ý nghĩa
khác.
- Tên chuẩn: Dùng với ý nghĩa nhất định nào đó, dùng với ý nghĩa khác thì phải khai báo.
- Tên do người lập trình đặt: Dùng với ý nghĩa riêng, xác định bằng cách khai báo trước khi
sử dụng
3 Nội dung bài mới:
GV: Đọc câu hỏi cho hs chép và làm
GV: Gọi nhóm khác bổ sung Sau đó GV nhận
xét câu trả lời và đưa ra đáp án hoàn chỉnh
HS: Sửa vào bài tập vào vở.
GV: Gọi HS đọc câu hỏi 3 và trả lời câu hỏi 3.
HS: Thực hiện, trả lời.
GV: Nhận xét và hỏi tiếp.
Câu 1: Phát biểu nào sao đây là đúng?
A Chương trình là dãy các lệnh được tổ chức
theo một quy tắc nào đó, đượ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 toán đều có chương trình để giải
trên máy tính
D Chương trình dịch chỉ phát hiện lỗi ngữ
nghĩa chứ không phát hiện được lỗi cú pháp
Câu 2: Tại sao người ta phải xây dựng các ngôn ngữ lập trình bậc cao?
Tại vì:
Trang 7HS: Nghe và trả lời
GV: Gọi đại diện nhóm trả lời câu hỏi 4.
HS: Tại chỗ đọc câu hỏi.
GV: Gọi nhóm khác nhận xét câu trả lời, bổ
sung và đưa ra đáp án
GV: Gọi HS khác nhận xét câu trả lời, bổ sung
và đưa ra đáp án
GV: Gọi HS đọc câu hỏi 5
GV: Gợi ý cho HS bằng cách gọi 1 HS nêu
quy tắc đặt tên trong Pascal và tên được đặt
không quá ngắn, hay quá dài mà nên đặt sao
cho gợi nhớ ý nghĩa đối tượng mang tên đó
HS: Tại chỗ đọc câu hỏi.
HS: Lên bảng làm.
GV: Gọi hs sửa câu 6.
HS: Thực hiện
GV: Nhận xét và sửa.
GV: Gọi HS đọc câu hỏi 7
GV: Từng câu a,b,…, i gọi lần lượt từng nhóm
trả lời
HS: Đại diện nhóm thực hiện.
GV: Nhận xét và đưa ra đáp án đúng
- c) không phải là hằng vì dấu phẩy phải thay
bằng dấu chấm
- e) là tên chưa rõ giá trị
- h) thiếu dấu nháy đơn ở cuối
HS: Hoàn thành các bài tập.
Câu 7: Hãy cho biết những 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’
- Các biểu diễn không phải là hằng: c), e), h)
- NNLT bậc cao gần với ngôn ngữ tự nhiên hơn, thuận tiện cho người lập trình
- Chương trình viết bằng NNLT bậc cao nói chung không phụ thuộc vào loại máy (phần cứng máy tính)
- Chương trình viết bằng NNLT bậc cao dễ hiểu, dễ hiệu chỉnh và nâng cấp
- Ngôn ngữ bậc cao cho phép làm việc với nhiều kiểu dữ liệu và cách tổ chức dữ liệu đa dạng, thuận tiện cho việc mô tả thuật toán
Câu 3: Máy tính có thể trực tiếp hiểu và thực hiện được chương trình viết bằng ngôn ngữ bậc cao hay không?
- Không Máy tính chỉ trực tiếp hiểu và thực hiện chương trình viết bằng ngôn ngữ máy
- Máy cần phải làm gì để hiểu và thực hiện trực tiếp được chương trình viết bằng ngôn ngữ bậc cao?
- Một chương trình viết bằng ngôn ngữ bậc cao máy có thể hiểu và thực hiện được thì phải có chương trình dịch dịch sang ngôn ngữ máy
Câu 4: 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 dành riêng không được dùng khác với ý nghĩa đã xác định, tên chuẩn có thể dùng với ý nghĩa khác
Câu 5: Hãy tự viết ra ba tên đúng và 3 tên sai dựa theo quy tắc đặt tên trong Pascal.
- 3 tên đúng: abc; vidu3; _15a
- 3 tên sai: A bc, 2x, Vi&du3
Câu 6: Trong các biểu diễn dưới đây, biểu diễn nào là từ khóa trong Pascal: A END B Integer C Real D Sqrt E ‘End’ F Var G Program. - Từ khóa là câu: A, F, G IV CỦNG CỐ - DẶN DÒ: 1 Củng cố: – GV: Nhấn mạnh lại các kiến thức còn thiếu sót trong khi làm bài tập – HS: Nghe giảng và tự củng cố. 2 Dặn dò: – Bài tập BT 1.9; BT 1.10; BT 1.11; BT 1.12 trong sách bài tập – Chuẩn bị bài tiếp theo của chương II, bài 3: Cấu trúc chương trình V RÚT KINH NGHIỆM.
Trang 8
Ngày dạy: 09/09/2014 Chương II: CHƯƠNG TRÌNH ĐƠN GIẢN
Lớp : 11B10→11B14 §3: CẤU TRÚC CHƯƠNG TRÌNH
Tiết : 04
I MỤC ĐÍCH, YÊU CẦU:
Kiến thức:
– Hiểu chương trình là sự mô tả của thuật toán bằng một ngôn ngữ lập trình
– Biết cấu trúc của một chương trình đơn giản: cấu trúc chung và các thành phần
Giáo viên: Giáo án, máy tính cá nhân, chương trình viết bằng Pascal đơn giản.
Học sinh: Sách giáo khoa, vở ghi, xem bài trước ở nhà.
III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ:
Câu 1: 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 D) -46 E) “Bai tap” F) 12.4E-5
Câu 2: 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âu 3: 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 D) sqrt E) ‘end’ F) var
TL: Câu 1: B, C, D, F Câu 2: C, E Câu 3: A, F
3 Nội dung bài mới:
1 Cấu trúc chung
Đặt vấn đề: Ví dụ một bài tập làm văn các em
thường viết có mấy phần? Các phần đó có thư tự
không? Chia như vậy mục đích để làm gì?
HS: Trả lời
- Có 3 phần theo thứ tự: mở bài, thân bài, kết
luận
- Dễ viết, dễ đọc và dễ hiểu nội dung
GV: Thuyết trình đưa ra cấu trúc chung của một
chương trình trong Pascal
HS: Chú ý lắng nghe, ghi chép.
2 Các thành phần của chương trình.
a) Phần khai báo.
GV: Phần khai báo sẽ cho máy biết chương trình
sẽ sử dụng những tài nguyên nào của máy Mỗi
ngôn ngữ lập trình có cách khai báo khác nhau và
tùy thuộc vào ngôn ngữ mà chương trình cần
khai báo những gì
GV: Đối với Pascal, chương trình gồm có các
khai báo nào?
a) Phần khai báo: Có thể khai báo: Tên
chương trình, thư viện, hằng, biến, chương trình con,…
• Khai báo tên chương trình:
- Trong Turbo Pascal:
Program <Tên chương trình>;
- Tên chương trình do người lập trình tự đặt theo đúng quy tắc đặt tên
VD: Program Bai_1;
Program GPTB2;
Program TinhTong;
• Khai báo thư viện:
- Trong Turbo Pascal:
Trang 9hiểu Khai báo tên chương trình trong Pascal như
thế nào?
HS: Tìm hiểu và trả lời.
GV: Cho một số ví dụ; nêu lên quy tắc và ý
nghĩa của cách đặt tên
HS: Tìm hiểu và ghi nhớ.
GV: Thư viện chương trình thường chứa những
đoạn chương trình lập sẵn giúp người lập trình
thực hiện một số công việc thường dùng, các
đoạn chương trình này cực kỳ hữu ích cho người
lập trình, nhất là trong những ngôn ngữ lập trình
tiên tiến hiện nay
HS: Nghe giảng.
GV: Trong Pascal, khai báo thư viện phải luôn
đặt ngay sau dòng khai báo tên chương trình
GV: Ví dụ khai báo thư viện trong Pascal và một
số ngôn ngữ khác
HS: Tìm hiểu và ghi bài.
GV: Khai báo hằng là việc đặt tên cho hằng để
tiện khi sử dụng và tránh việc viết nhiều lần cùng
một giá trị Khai báo hằng còn tiện lợi hơn khi
cần thay đổi giá trị của nó trong chương trình
HS: Nghe giảng và tìm hiểu.
GV: Cho ví dụ khai báo hằng.
GV:Chương trình cần có khai báo biến để
chương trình dịch biết phân bố tài nguyên, xử lý
và lưu trữ Giá trị của biến có thể thay đồi nhưng
tại một thời điểm biến chỉ nhận 1 giá trị gọi là
biến đơn
HS: Nghe giảng và tìm hiểu.
GV: Nêu cách khai báo biến.
HS: Nghe giảng và ghi chép.
GV: Mỗi ngôn ngữ lập trình có cách tổ chức
chương trình khác nhau, thường thì phần thân
chứa các câu lệnh của chương trình
3 Ví dụ chương trình đơn giản.
GV: Cho học sinh quan sát và nhận xét chương
trình đơn giản viết bằng NN Pascal Cho hs tìm
hiểu và nhận biết từng phần trong chương trình
HS: Quan sát theo dõi và nhận biết.
Uses <Tên thư viện>;
VD: Trong Turbo Pascal
Uses Crt; {Thư viện crt chứa các hàm
vào/ra chuẩn làm việc với màn hình và bàn phím}
Uses Graph; {Thư viện graph chứa các hàm
đồ hoạ}
• Khai báo hằng:
Trong Turbo Pascal:
Const <tên hằng> = <giá trị>;
VD: Const N = 100;
e = 2.7;
Pi =3.14;
• Khai báo biến:
- Tất cả các biến sử dụng đều phải khái báo
- Biến chỉ nhận một giá trị gọi là biến đơn.
VD: Trong Pascal:
Var <danh sách biến> : <kiểu dữ liệu>;
VD: Giải phương trình bậc hai:
3 Ví dụ chương trình đơn giản.
Trong Turbo Pascal:
Program < tên chương trình>;
Uses < tên các thư viện>;
Const <tên hằng>=<giá trị của hằng>;
Var < tên biến>: <kiểu dữ liệu>;
Procedure …; <khai báo thủ tục> {Giới thiệu sau}
Trang 10Function …; <khai báo hàm>…{Giới thiệu sau}
– Xem lại phần lí thuyết đã học và trả lời các câu hỏi ở cuối bài
– Chuẩn bị tiết sau thực hành
V RÚT KINH NGHIỆM.
– Cách soạn thảo 1 chương trình đơn giản hạn chế bị lỗi
– Dịch và phát hiện lỗi và chạy được chương trình đơn giản nhất
Thái độ:
– Giúp học sinh tư duy từ 1 chương trình đơn giản và từ từ tìm hiểu sâu về lập trình
II CHUẨN BỊ:
Giáo viên: Giáo án, phòng máy, chương trình viết bằng Pascal đơn giản.
Học sinh: Sách giáo khoa, vở ghi, xem bài trước ở nhà.
III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ:
GV: Gọi 2 hs viết cú pháp của phần khai báo và thân chương trình?
TL: HS thực hiện.
3 Nội dung bài mới:
Làm Quen Với Pascal.
GV: Hướng dẫn học sinh cách khởi động Turbo
Pascal và một số chứa năng và thao tác của
Pascal
GV: Cách Mở, Lưu và Thoát Turbo Pascal.
HS: Chú ý lắng nghe, ghi chép.
GV: Hướng dẫn hs soạn từng dòng lệnh đối với 1
chương trình hoàn chỉnh và đơn giản
GV: Phải soạn thảo từng dòng và lưu lại trước
khi soạn
GV: Phải soạn đúng cấu trúc trước, đúng hình
thức Nhìn rõ ràng dùng phím Tab để lùi đầu
dòng
Làm Quen Với Pascal.
Đưa ra 1 chương trình Pascal đơn giản và 1 chương trình Pascal hoàn chỉnh
Trang 11GV: Sử dụng phím F9 thường xuyên để biên
dịch chương trình để sửa lỗi kip thời
GV: Cuối bài phải Save lại 1 lần nữa và dùng tổ
hợp phím Alt + F9 để biên dịch.
GV: Nếu có lỗi thì phải kiểm tra và sửa lỗi.
GV: Dùng phím Ctrl + F9 để chạy chương trình.
-Xem kết quả và nhấn Enter để trở lại màng hình
soạn thảo
HS: Chú ý lằng nghe và thực hành.
GV: Quan sát từng học sinh thực hành và hướng
dẫn cách sửa lỗi SGK trang 136 các lỗi thường
gặp
GV: Chiếu cho hs xem 1 bài tập tính diện tích
hình tròn hoàn chỉnh
Chạy và cho hs xen kết quả
HS: Chỉ chú ý quan sát và nhận xét.
GV: Chiếu cho hs xem các lỗi thường gặp và
cách khắc phục
HS: Chú ý quan sát và thực hành.
BT 2:
Program DT_HinhTron; Uses Crt; Const Pi = 3.14; Var R, S: Real;
Begin Writeln(‘Nhap ban kinh R:’); Readln(R); S :=Pi*R*R; Writeln(‘Dien tich hinh tron:’,S); Readln End IV CỦNG CỐ - DẶN DÒ: 1 Củng cố: – HS: Thực hành và tự củng cố – GV: Nhận xét và nhấn mạnh các lỗi thường gặp. 2 Dặn dò: – Xem bài và chuẩn bị trước bài: 4 “Một số kiểu dữ liệu chuẩn” và : 5 “Khai báo biến”. V RÚT KINH NGHIỆM.
Ngày dạy: 23/09/2014 §4: MỘT SỐ KIỂU DỮ LIỆU CHUẨN Lớp : 11B10→11B14 §5: KHAI BÁO BIẾN Tiết : 06
I MỤC ĐÍCH, YÊU CẦU:
Kiến thức:
– Biết một số kiểu dữ liệu chuẩn: nguyên, thực, kí tự, logic
– Hiểu cách khai báo biến
– Hs biết được rằng mọi biến trong chtrình đều phải được khai báo tên và kiểu dữ liệu – Hs biết được cấu trúc chung của khai báo biến trong NNLT Pascal, khai báo được biến khi lập trình
Kĩ năng:
– Xác định được kiểu cần khai báo của dữ liệu đơn giản
– Biết khai báo biến đúng
Thái độ:
– Suy luận và tư duy tốt hơn để nhận biết các biến cần sử dụng cùng với dữ liệu cần k/b
II CHUẨN BỊ:
Giáo viên: Giáo án, SGK, bảng phụ (nếu có).
Học sinh: Sách giáo khoa, vở ghi, xem bài trước ở nhà.
Trang 12III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ:
3 Nội dung bài mới:
§4: MỘT SỐ KIỂU DỮ LIỆU CHUẨN
1 Kiểu nguyên.
Đặt vấn đề: Trong các bài toán thực tế thường các dữ
liệu vào và kết quả ra các tập số tự nhiên, số nguyên, số
thực, kí tự…
HS: Chú ý, lắng nghe và nhận thức.
GV: Cũng tương tự như vậy, để lập trình giải quyết các
bài toán cũng cần có các tập số đó, mỗi tập số có một
giới hạn nhất định Mỗi ngôn ngữ lập trình cung cấp một
số kiểu dữ liệu chuẩn để lưu trữ và các phép toán có thể
tác động lên dữ liệu đó
HS: Liên tưởng các tập số trong toán học với một kiểu
dữ liệu trong Pascal?
GV: Yêu cầu hs nghiên cứu sgk và trả lời Có bao nhiêu
kiểu dữ liệu chuẩn trong ngôn ngữ Pascal?
HS: Nghiên cứu và cho biết:
Có 4 kiểu: Kiểu nguyên, kiểu thực, kiểu kí tự và kiểu
logic
GV: Trong ngôn ngữ Pascal, có những kiểu nguyên nào
thường dùng, phạm vi biểu diển của mỗi loại?
HS: Có 4 loại: Byte, word, integer và longint
GV: Có những kiểu số thực nào thường dùng, phạm vi
biểu diễn của mỗi loại?
HS: Nghiên cứu và trả lời.
GV: Cho ví dụ và hs suy luận chọn kiểu dữ liệu thích
hợp
HS: Nghe và suy nghĩ chọn lựa thích hợp.
3 Kiểu kí tự.
GV: Trong ngôn ngữ Pascal, kiểu kí tự là gì?
HS: Có 1 loại: Char, 1byte,…
GV: Giới thiệu một số bảng mã: ASCII, VPS, UTF-8,
Unicode…nhưng Pascal sử dụng bảng mã ASCCII
HS: Nghe giảng và tìm hiểu.
GV: Cho ví dụ cần dùng kiểu kí tự.
4 Kiểu logic.
GV: Kiểu logic thường có 2 giá trị đúng hoặc sai Cho ví
dụ cần dùng kiểu logic
HS: Có một loại: boolean, gồm 2 phần tử: True và False
Theo dõi và ghi bài
§4: MỘT SỐ KIỂU DỮ LIỆU CHUẨN
Char 1 255 kí tự trong b/mã ASCCII
4 Kiểu logic.
Boolean 1 True (Đúng) hoặcFalse (Sai)
* Khi viết chương trình bằng ngôn ngữ lập trình nào thì cần tìm hiểu đặc trưng của các kiểu dữ liệu của ngôn ngữ đó
§5: KHAI BÁO BIẾN
1 Cú pháp khai báo biến.
Trong Pascal:
Var <danh sách biến> : <kiểu dữ
liệu>;
Trang 13§5: KHAI BÁO BIẾN
1 Cú pháp khai báo biến.
Đặt vấn đề: Như chúng ta đã biết mọi biến dùng trong
chương trình đều phải được khai báo tên và kiểu dữ liệu
Mỗi biến chỉ được khai báo một lần, và việc khai báo
biến trong Pascal như thế nào?
HS: Nghe giảng và tìm hiểu đưa ra cú pháp.
Var <danh sách biến> : <kiểu dữ liệu>;
GV: Ví dụ chương trình tính bình phương của 2 số
nguyên a và b
Thì cần khai báo các biến nào? Thuộc kiểu gì?
HS: Suy nghĩ và trả lời.
- Có thể 2 biến nguyên a, b (kiểu Integer)
GV: Nhận xét và hướng dẫn cho hs thêm 1 biến thực c
(kiểu Real) nào đó để lưu kết quả của a cộng b
HS: Nghe giảng và tìm hiểu.
GV: Gọi hs viết câu lệnh khai báo 3 biến trên.
HS: Lên bảng thực hiện:
Var a, b : Integer;
c : Real;
GV: Gọi hs xác định và cho ví dụ về khai báo
các biến cần để GPTB2
HS: Thực hiện: Var a, b, c, x1, x2, Delta : Real;
GV: Nhận xét và cho hs tính tổng các byte cần cấp phát
cho các biến
HS: Nghiên cứu và thực hiện.
GV: Đưa ra những lưu ý về khai báo biến và chọn kiểu
dữ liệu cho phù hợp
HS: Nghe giảng và ghi bài.
Trong đó:
+ Var: là từ khóa dùng để khai báo
biến
+ Danh sách biến: tên các biến
cách nhau bởi dấu phẩy
+ Kiểu dữ liệu: là một kiểu dữ liệu
nào đó của ngôn ngữ Pascal
+ Sau Var có thể khai báo nhiều
danh sách biến có những kiểu dữ liệu khác nhau
VD: Giả sử có 3 biến thực X, Y, Z
và 2 biến số nguyên A, B
Var X, Y, X : Real;
A, B : Integer;
Trong khai báo trên bộ nhớ cấp pháp cho 3 biến số thực là 18 byte (3*6=18) và 2 biến số nguyên là 4 byte (2*2=4) Vậy tổng bộ nhớ cần dùng là 18 +4 = 22 byte
Lưu ý:
+ Cần đặt tên biến sao cho gợi nhớ đến ý nghĩa của nó
+ Không nên đặt tên quá ngắn hay quá dài, dễ dẫn tới mắc lỗi hoặc hiểu nhằm
Khai báo biến cần quan tâm đến phạm vi giá trị của nó
- Cho thêm các ví dụ và bài tập
IV CỦNG CỐ - DẶN DÒ:
1 Củng cố:
– GV: Cho ví dụ như tích diện tích các hình tròn, vuông chữ nhật, GPTB1,2
– HS: Xác địn biến và kiểu dữ liệu, Viết cách khai báo biến. 2 Dặn dò: – Làm bài tập 1,2,3,4,5 sgk trang 35 – Xem trước bài 6 “Phép toán, biểu thức, lệnh gán”. V RÚT KINH NGHIỆM.
Trang 14
– Cách khai báo biến đúng kiểu dữ liệu.
– Dịch và phát hiện lỗi và chạy được chương trình đơn giản nhất
Thái độ:
– Giúp học sinh tư duy từ 1 chương trình đơn giản và từ từ tìm hiểu sâu về lập trình
II CHUẨN BỊ:
Giáo viên: Giáo án, phòng máy, chương trình viết bằng Pascal đơn giản.
Học sinh: Sách giáo khoa, vở ghi, xem bài trước ở nhà.
III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ:
BT: Cho a và b là 2 cạnh của hình chữ nhật Tính diện tích hình chữ nhận đó Hãy xác định
các biến cùng các kiểu dữ liệu thích hợp rồi viết khai báo biến cho bài toán trên?
TL: HS thực hiện và hs khác bổ snung nếu có.
3 Nội dung bài mới:
Kiểu Dữ Liệu Và Khai Báo Biến.
GV: Trong Pascal có các kiểu dữ liệu nào?
GV: Gọi hs xác đinh các khai báo.
HS: Có khai báo tên ct, thư viện, hằng và biến
GV: Xác định các biến và kiểu dữ liệu cần sử
dụng?
HS: Suy nghĩ và đưa ra các biến cần sử dụng?
GV: Cho hs viết khai báo biến bằng Pascal
HS: Thực hành trên máy
GV: Quan sát theo dõi và hướng dẫn hs hiệu
chỉnh khi có sai sót
HS: Hiệu chỉnh cho hoàn chỉnh
GV: Gọi hs xác đinh các khai báo.
HS: Có khai báo tên ct, thư viện và biến
GV: Xác định các biến và kiểu dữ liệu cần sử
Kiểu Dữ Liệu Và Khai Báo Biến.
Tóm tắt lý thuyết
Giải bài tập 3, 4, 5 trang 35
3 Word, Interger, Longint 4.D, 5.C.
1 Tính diện tích và chu vi hình tam giác với 3
cạnh la a,b,c (a, b, c là 3 số nguyên dương).
Xác định các biến và kiểu dữ liệu thích hợp?
Viết Phần khai báo thích hợp cho bài toán
trên?
Gợi ý: Sử dụng hết tất cả các biến có thể có
Trang 15HS: Suy nghĩ và đưa ra các biến cần sử dụng?
GV: Cho hs viết khai báo biến bằng Pascal
HS: Thực hành trên máy
GV: Quan sát theo dõi và hướng dẫn hs hiệu
chỉnh khi có sai sót
HS: Hiệu chỉnh cho hoàn chỉnh
Phần khai báo gồm: tên chương trình, thư
Tiết : 08
I MỤC ĐÍCH, YÊU CẦU:
Kiến thức:
– Biết được các phép toán, các hàm thông dụng trong ngôn ngữ lập trình Pascal
– Biết diễn được biểu thức trong ngôn ngữ lập trình
– Hiểu chức năng của lệnh gán
Kĩ năng:
– Viết được lệnh gán và các biểu thức số học, quan hệ và logic
– Phân biệt được sự khác nhau giữa lệnh gán (:=) và phép so sánh bằng (=)
– Sử dụng được các phép toán thích hợp để xây dựng biểu thức chương trình
Thái độ:
– Tính chính xác và logic
II CHUẨN BỊ:
Giáo viên: Giáo án, phòng máy hoặc bảng phụ (nếu có).
Học sinh: Sách giáo khoa, vở ghi, xem bài trước ở nhà.
III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ:
Câu 1: Cú pháp khai báo biến? Một số chú ý khi khai báo biến? Áp dụng: Với x, y, z là số
thực, n là số nguyên dương, c là ký tự Hãy viết khai báo biến và tính tổng bộ nhớ cần cấp phát là bao nhiêu?
TL: Var <danh sách biến>: <kiểu dữ liệu>;
Chú ý:
- Cần đặt tên biến sao cho gợi nhớ đến ý nghĩa của nó
- Không nên đặt tên quá ngắn hay quá dài
- Khai báo biến cần quan tâm đến phạm vi giá trị của nó
Câu 2 Var x, y : Real;
n : Word;
c : Char; (Tổng bộ nhớ là 3x2+2+1= 15 byte)
Trang 163 Nội dung bài mới:
1 Phép toán.
Đặt vấn đề: Khi viết chương trình ta có thể sử
dụng các phép tính toán bằng các biểu thức, câu
lệnh để gán giá trị… việc đó được thực hiện như
thế nào ta cùng tìm hiểu §6: Phép toán, biểu
thức, câu lệnh gán.
GV: Trong toán học có những phép toán nào?
HS: Đưa ra một số phép toán thường dùng trong
toán học: +,-,*,/,>,<,≤,≠…
GV: Treo bảng phụ
HS: Quan sát và ghi bài
GV: Chúng có dùng được trong các ngôn ngữ lập
trình?
HS: Một số dùng được còn một số thì cách viết
khác
GV: Đưa ra các phép toán theo từng nhóm.
HS: Nghe giảng và ghi bài.
HS: Thực hiện chuyển đổi các ví dụ từ toán sang
Pascal và ngược lại
HS: Chưa biết cách viết.
GV: Để viết được NNLT Pascal đưa ra một số
hàm chuẩn đơn giản là: Treo bảng phụ và giới
thiệu sơ lược các hàm
HS: Nghe giảng và ghi bài.
GV: Cho các ví dụ cho hs thực hiện.
HS: Thực hiện.
GV: Hiệu chỉnh nếu có.
Nhấn mạnh kiểu dữ liệu của hàm phụ thuộc vào
kiểu của đối số
4 Biểu thức quan hệ hoặc logic.
GV: Trong lập trình ta thường phải so sánh hai
giá trị Việc so sánh đó cho kết quả là đúng hoặc
1 Phép toán.
Với số nguyên: +, -, *, div (chia lấy
nguyên), mod (chia lấy dư)
Dùng cặp dấu () để qui định trình tự tính toán
VD:
Trong toán học
Trong Pascal
7a + 8b
x + y x - z
x – 1 xy 2
7*a + 8*b(x+y)/(x-1/2)-(x+y)/(x*y)
Trình tự thực hiện:
- Trong ngoặc trước, ngoài ngoặc sau
- Thực hiện từ trái sang phải (*, /, div, mod…trước, +, - sau)
- Giá trị của biểu thức có kiểu là kiểu của biến hoặc hằng có miền giá trị lớn nhất trong biểu thức
3 Hàm số học chuẩn.
Cú pháp: <Tên hàm>(Đối số)
- Đối số là một hay nhiều biểu thức số học
- Kiểu của hàm phụ thuộc vào kiểu của đối số
(abs(x) - sqrt(2*x+1)) / (sqr(x)-1)
4 Biểu thức quan hệ hoặc lôgic.
Trang 17Pascal là phải viết là x := 5; đó là gán giá trị 5
cho biến x Ta gọi là câu lệnh gán Cú pháp câu
lệnh gán là:
HS: Nghe giảng và ghi bài.
GV: Cho ví dụ có liên quan về kiểu dữ liệu của
<tên biến> := <biểu thức>;
- Kiểu của tên biến phải cùng hoặc bao hàm kiểu của biểu thức
VD: Với x là số nguyên, y số thực.
a) x := y; Saib) x := x + y; Saic) y := x + y; Đúngd) y := x; Đúng
5 + ++
Lớp : 11B10→11B14 §8: SOẠN THẢO, DỊCH, THỰC HIỆN VÀ
I MỤC ĐÍCH, YÊU CẦU:
Kiến thức:
– Biết được ý nghĩa của các thủ tục và/ra chuẩn đối với lập trình
– Biết các bước: soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình
– Biết một số công cụ của môi trường Turbo Pascal
– Bước đầu sử dụng được chương trình dịch để phát hiện lỗi và chỉnh sửa
Kĩ năng:
– Viết được một số lệnh vào/ra đơn giản
– Soạn được một chương trình đơn giản có sửa lỗi, dịch và thực hiện chương trình
Thái độ:
– Thích lập trình và tư duy, logic khi soạn thảo chương trình
II CHUẨN BỊ:
Giáo viên: Giáo án, sách, phòng máy.
Học sinh: Sách giáo khoa, vở ghi, xem bài trước ở nhà.
Trang 18III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ:
Câu 1: Nêu cú pháp câu lệnh gán? Áp dụng:
1
3 2
TL: <tên biến>:= <biểu thức>; a := (abs(x) – sqrt(2*sqr(x)+3*y*sqrt(x))/(sqr(x)-1);
3 Nội dung bài mới:
§7: CÁC THỦ TỤC CHUẨN VÀO/RA
ĐƠN GIẢN
1 Nhập dữ liệu vào từ bàn phím.
GV: Khi sử dụng các ứng dụng ta thường
nhập thông tin vào, như vậy bằng cách nào ta
nhập được thông tin từ bàn phím vào khi lập
trình?
HS: Nghe giảng xem sách và trả lời
GV: Nêu sự khác nhau khi dùng Read/Readln.
0, ta phải nhập vào các đại lượng nào? viết
lệnh nhập?
HS: Suy nghĩ, trả lời:
- Phải nhập giá trị vào 3 biến a, b, c
- Lên bảng viết câu lệnh: Readln( a,b,c);
1 Nhập dữ liệu vào từ bàn phím.
- Dùng thủ tục Read hoặc Readln:
Read (<biến 1>, …,<biến n>);
2 Đưa dữ liệu ra màn hình.
- Dùng thủ tục Write hoặc Writeln:
Write(<Giá trị 1>, <Giá trị 2>,…,<Giá trị n>);Hoặc:
Writeln(<Giá trị 1>, <Giá trị 2>,…,<Giá trị n>);
- Trong đó các giá trị có thể là tên biến đơn, biểu thức hoặc hằng
- Với thủ tục Write, sau khi xuất kết quả ra màn hình, con trỏ không chuyển xuống dòng tiếp theo
- Với thủ tục Writeln, sau khi xuất kết quả ra màn hình, con trỏ sẽ chuyển đầu dòng tiếp theo
VD:
Write( a); Write(a, b, c);
Writeln(‘Gia tri cua N la : ’,N);
Trang 19GV: Nói về chú ý khi xuất kết quả ra của lệnh
Write hoặc Writeln theo quy cách
HS: Nghe giảng và ghi bài.
§8: SOẠN THẢO, DỊCH, THỰC HIỆN VÀ
HIỆU CHỈNH CHƯƠNG TRÌNH.
1 Một số tập tin chính trong Turbo Pascal.
GV: Giới thiệu một số tập tin vần thiết để
Turbo Pascal có thể chạy được, hướng dẫn các
em cách khởi động Pascal trên máy tính
Turbo.exe (file chạy)
Turbo.tpl (file thư viện)
Turbo.tph (file hướng dẫn)
HS: Tìm hiểu và ghi bài.
2 Một số thao tác thường dùng trong
Pascal.
GV: Giới thiệu một số thao tác thường dùng
khi soạn thảo chương trình trong môi trường
soạn thảo Turbo Pascal
HS: Tìm hiểu và ghi bài.
GV: Cho hs tự nghiên cứu tìm hiểu và ghi bài.
HS: Tìm hiểu và ghi bài.
GV: Nhận xét và chỉnh sửa nếu có.
:< độ rộng>
- Độ rộng và chữ số thập phân là các số nguyên dương
VD: Writeln(N:5,X:8:3);
§8: SOẠN THẢO, DỊCH, THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH.
1 Một số tập tin chính trong Turbo Pascal.
Turbo.exe (file chạy)Turbo.tpl (file thư viện)Turbo.tph (file hướng dẫn)Graph.tpu: Chứa các lệnh đồ hoạ
2 Một số thao tác thường dùng trong Pascal.
- Xuống dòng: Enter
- Ghi file vào đĩa: F2
- Mở file đã có: F3
- Biên dịch chương trình: Alt + F9
- Soát lỗi chương trình: F9
- Chạy chương trình: Ctrl + F9
- Đóng cửa sổ chương trình: Alt + F3
- Chuyển qua lại giữa các cửa sổ: F6
- Xem lại màn hình kết qủa: Alt + F5
- Thoát khỏi Turbo Pascal: Alt + X
– Khai báo và chọn dữ liệu vùng nhớ phù hợp cho biến
– Viết được các biểu thức từ toán học sang Pascal và ngược lại
– Xác định bài toán, phân tích tìm thuật toán và giải bài toán đơn giản
– Vận dụng câu lệnh gán, các lệnh vào/ra …viết các chương trình đơn giản
Thái độ:
Trang 20– Nghiêm túc, vượt khó và tạo sự đam mêm trong lập trình.
– Thấy được lợi ích, khả năng tư duy và phân tích giải quyết vấn đề
II CHUẨN BỊ:
Giáo viên: Giáo án, sách, phòng máy, các bài tập chương.
Học sinh: Sách giáo khoa, vở ghi, các bài tập sách giáo khoa.
III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ:
GV: Gọi 5 hs và chia bảng ra làm bài tập 6, 7 trang 55.
a2→ 2b) a*b*c/2
2
abc
c) 1/a*1/c
ac c
b
+
2
3 Nội dung bài mới:
Tóm tắt lý thuyết chương II: Nhấn mạnh kiểu dữ
liệu, cách khai báo biến và lưu ý khi viết câu lệnh
gán cùng kiểu dữ liệu của chúng; các thủ tục vào/ra
GV: Yêu cầu hs quan sát hình và trả lời câu hỏi:
- Giá trị y trong vùng gạch chéo?
- Giá trị x trong vùng gạch chéo?
HS: Suy nghĩ, thảo luận và tìm câu trả lời.
HS: Suy nghĩ và tìm câu trả lời Phải
GV: Khi |x| <=y thì y>=0 không.
HS: Suy nghĩ và trả lời
GV: Vậy biểu thức có thể rút gọn như thế nào?
HS: (y>= abs(x)) and (y <= 1).
Hình 2.b: Yêu cầu học sinh làm tương tự.
Bài 8 (SGK/36): Hãy viết các biểu thức
logic cho kết quả true khi tọa độ (x,y) là điểm nằm trong vùng gạch chéo kể cả biên của các hình 2.a và 2.b
Hình 2.a: (y <= 1) and (y>= abs(x)) Hình 2.b: (abs(x)<= 1) and (abs(y)<= 1)
Bài 9 (SGK/36):
Hãy viết c/t nhập số a (a>0) rồi tính và đưa ra đưa ra diện tích phần gạch chéo trong hình 3 (kết quả làm tròn đến 4 chữ
Trang 21GV: Gọi hs xác đinh phần gạch chéo.
HS: Thực hiện (nữa đường tròn).
GV: Hướng dẫn hs hình thành chương trình hoàn
chỉnh
HS: Tham gia xây dựng và làm bài tập tại chỗ.
GV: Gọi 2 hs lên bảng thực hiện Hs khác quan sát
và cho nhận xét
HS: Làm bài và cho nhận xét.
GV: Nhận xét, đánh giá và cho điểm nếu tốt.
Writeln( 'Dien tich phan gach cheo la: ', S:8:4);
Readln End.
IV CỦNG CỐ - DẶN DÒ:
1 Củng cố:
– GV: Cho 2 bài tập: 2 3
9
ln 3
x e
x Sinx x
x +
+
3
2 ln (2 1) 5
x Cosx
e x
+
−
−
– HS: 2 hs thực hiện đồng thời và hs khác tự củng cố.
2 Dặn dò:
– Làm bài tập 10 trang 36 còn lại và một số bài tập khác
– Chuẩn bị bài BTTH1.
V RÚT KINH NGHIỆM.
Ngày dạy: 04/11/2014 Lớp : 11B10→11B14 BÀI TẬP THỰC HÀNH 1 Tiết : 11
I MỤC ĐÍCH, YÊU CẦU:
Kiến thức:
– Biết được một ch/trình Pascal hoàn chỉnh
– Làm quen các dịch vụ chủ yếu của Turbo Pascal trong việc soạn thảo, lưu, dịch, thực hiện ch/trình
Kĩ năng:
– Soạn được chương trình, lưu trữ, dịch, thực hiện, tìm lỗi và hiệu chỉnh ch/trình
– Bước đầu biết phân tích và viết một số chương trình đơn giản trên Turbo pascal
Thái độ:
– Tự giác, tích cực và nghiêm túc, chủ động trong thực hành
II CHUẨN BỊ:
Giáo viên: Giáo án, sách, phòng máy, các bài tập mẫu.
Học sinh: Sách giáo khoa, vở ghi, chuẩn bị bài tập trước.
III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ: Trong quá trình thực hành.
3 Nội dung bài mới:
GV: Cho hs nhắc lại các phím chức năng Enter, F2, F3,
F7, F9, Alt + F9, Ctrl + F9…
HS: Xem và nhớ lại trả lời.
Bài tập 1:
GV: Chiếu 2 ch/trình: 1 đã trình bày và không có lỗi; 1
Nhắc lại một số kiến thức và lưu ý khi thực hành
Bài tập 1: Gõ chương trình:
Program Giai_PTB2;
Trang 22chưa được trình bày và còn nhiều lỗi.
HS: Quan sát và và tìm hiểu.
GV: Hỏi hs chương trình nào dể nhìn, dể hiểu…Hướng
hs thực hiện theo một cách lập trình tốt và ít mắc lỗi khi
viết
GV: Mở Turbo Pascal và soạn thảo nhanh một lần, nhấn
mạnh các điểm cần lưu ý
HS: Quán sát và rút ra kinh nghiệm khi soạn thảo.
GV: Y/c hs mở TP và soạn chương trình giải PTB2 vào.
HS: Gõ vào và nhấn F2 lưu bài lại Kiểm tra lỗi F9 khi
viết hết 1 câu lệnh và tiếp câu lệnh tiếp theo
GV: Y/c dịch lỗi cú pháp (Alt + F9)
HS: Trở về màn hình soạn thảo (Enter)
GV: Cho hs thực hiện lại các câu e, f, g, h trang 35.
HS: Thực hiện lần lượt.
GV: Quan sát, nhận xét và hiệu chỉnh cho hs.
GV: Cho điểm các em thực hiện tốt.
Lớp : 11B10→11B14 BÀI TẬP THỰC HÀNH 1 (T2)
Tiết : 12
I MỤC ĐÍCH, YÊU CẦU:
Kiến thức:
– Biết được một ch/trình Pascal hoàn chỉnh
– Làm quen các dịch vụ chủ yếu của Turbo Pascal trong việc soạn thảo, lưu, dịch, thực hiện ch/trình
Kĩ năng:
– Soạn được chương trình, lưu trữ, dịch, thực hiện, tìm lỗi và hiệu chỉnh ch/trình
– Bước đầu biết phân tích và viết một số chương trình đơn giản trên Turbo pascal
Thái độ:
– Tự giác, tích cực và nghiêm túc, chủ động trong thực hành
II CHUẨN BỊ:
Trang 23Giáo viên: Giáo án, sách, phòng máy, các bài tập mẫu.
Học sinh: Sách giáo khoa, vở ghi, chuẩn bị bài tập trước.
III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ: Trong quá trình thực hành.
3 Nội dung bài mới:
GV: Cho hs nhắc lại các phím chức năng Enter,
HS: Thực hiện và tiến hành lưu, kiểm tra lỗi và
biên dịch, chạy chương trình với các bộ Input tự
; ))(
)(
(p a p b p c
p
Với a, b, c là 3 cạnh của tam giác; là các số
nguyên dương được nhập từ bàn phím
GV: Cho hs phân tích tuần tuận bài toán tìm
Input và Output của bài toán
HS: Thực hiện tìm cách giải.
HS: Lập luận và đưa ta cách giải trên giấy.
GV: Cho hs thực hiện trên máy.
HS: Thực hành.
GV: Theo dõi chỉnh sửa lỗi của hs.
GV: Gọi 1 hs lên máy thực hành và chạy hoàn
chỉnh chương trình cho các bạn khác xem
HS: Thực hiện và các bạn khác quan sát theo dõi.
(Cho thêm các bài tập khác nếu có thời gian)
Nhắc lại một số kiến thức và lưu ý khi thực hành
Bài tập 2: (Bài 9 SGK/36) Program DT_GachCheo;
Trang 24– Hình thức kiểm tra trắc nghiệm + tự luận (70% +30%)
– Kiến thức, kĩ năng theo ma trận đề kèm theo
Thái độ:
– Rèn luyện tính cẩn thận, nghiêm túc trong kiểm tra thi cử
II CHUẨN BỊ:
Giáo viên: Đề bài kiểm tra theo ma trận đề.
Học sinh: Ôn lại kiến thức đã học.
III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ: (không)
3 Nội dung bài kiểm tra:
I TRẮC NGHIỆM: 7đ
TL
Câu 1: Chọn phát biểu đúng nhất, chương trình dịch có khả năng:
A Phát hiện được lỗi cú pháp và thông báo lỗi.
B Không phát hiện được lỗi cú pháp.
C Phát hiện lỗi ngữ nghĩa và thông báo lỗi.
D Phát hiện và thông báo cả 2 lỗi cú pháp và lỗi ngữ nghĩa.
Câu 2: Chọn phát biểu đúng nhất về thành phần của ngôn ngữ lập trình:
A Gồm có 3 thành phần: Bảng chữ cái, cú pháp và ngữ nghĩa.
B Gồm có 3 thành phần: Kí hiệu đặc biệt, cú pháp và ngữ nghĩa.
C Gồm có 3 thành phần: Cú pháp và ngữ nghĩa và chữ số
D Gồm có 3 thành phần: Bảng chữ cái, cái kí tự Latinh và cú pháp để viết chương trình.
Câu 3: Chọn phát biểu đúng và quy tắc đặt tên trong Pascal:
A Là một dãy 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ữ số
hoặc dấu gạch dưới
B Là một dãy không quá 127 kí tự bao gồm chữ số, chữ cái, kí tự đặt biệt 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
C Là một dãy kí tự 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
D Là một dãy kí tự 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ữ số hoặc dấu gạch dưới
Câu 4: Chọn từ khóa trong Pascal:
A Var B Integer C Real D Delta.
Câu 5: Trong Pascal, chọn hằng xâu đúng?
A “Nghiem PT la: ” B ‘Nghiem PT la: ’ C (Nghiem PT la: ) D << Nghiem PT la: >> Câu 6: Trong Pascal, phần thân chương trình được đặt giữa:
C Begin{………}End D Begin(………)End.
Câu 7: Trong Pascal, phần chú thích được đặt trong dấu ngoặc:
A /* */ B [ ] C ( ) D { }
Trang 25Câu 8: Có khai báo sau:
Var X,Y : Real;
Z : Integer;
M, N : Byte;
Tổng bộ nhớ cấp phát cho khai báo này là:
A 8 byte B 18 byte C 12 byte D 16 byte Câu 9: Có khai báo sau:
Var X, Y : Real;
Z : Integer;
Chọn cách gán và kiểu dữ liệu thích hợp:
A Z := Y+X; B Z = Y + X; C X := Y + Z; D X = Y+Z; Câu 10: Giả sử a, b, c là 3 biến, câu lệnh nào dùng để nhập dữ liệu cho a, b và c từ bàn phím.
A Write(‘a,b,c’); B Write(a,b,c); C Readln(‘a,b,c’); D Readln(a,b,c); Câu 11: Giả sử biến a là kiểu số thực (Real) có giá trị là 50.3456 Với lệnh Write(a:8:2); thì kết quả
A Bài Tập 1; B BaiTap1; C “BaiTap_1”; D Bai Tap_1; Câu 15: Trong ngôn ngữ lập trình Pascal, chương trình dịch dùng để:
A Dịch chương trình đích thành chương trình nguồn.
B Dịch chương trình nguồn thành chương trình đích.
C Dịch tất cả chương trình viết bằng ngôn ngữ khác thành ngôn ngữ bậc cao.
D Dịch chương trình viết bằng ngôn ngữ máy sang ngôn ngữ bậc cao.
Câu 16: Biểu thức abs(x)+Sqrt(Sin(x)+5) được chuyển sang toán học như sau:
A | x | + (Sinx +5)2 B | x | + sin +5 C x + x Sinx+5 D | x | + Sinx+5
Câu 17: Chọn phát biểu đúng nhất, mục đích của lập trình là:
A Để mô tả dữ liệu và diễn đạt các thao tác của thuật toán.
B Để diễn đạt thuật toán để thực hiện trên máy tính.
C Để soạn thảo chương trình ứng dụng.
D Để soạn thảo, mô tả dữ liệu trong bài toán.
Câu 18: Biểu thức: (10 div 2 + 5 mod 2 + 3/2)*2 được thực hiện trong Pascal có giá trị bao nhiêu?
Câu 19: Trong Pascal, cách khai báo hằng nào đúng:
A Const NMax := 100; B Const Integer NMax = 100;
C Const Integer NMax := 100; D Const NMax = 100;
Câu 20: Một biến có giá trị nguyên trong phạm vi từ -1 đến 30000 thì biến đó có thể khai báo với kiểu dữ liệu nào đúng và ít tốn bộ nhớ nhất?
A Word B Byte C Integer D Real
II TỰ LUẬN: 3đ
Câu 1: Hãy chuyển đổi các biểu thức sau:
A Chuyển đổi biểu thức sau sang Pascal:
Trang 26Câu 3: Viết chương trình tính chu vi hình chữ nhật với 2 cạnh a và b là 2 số nguyên nhập từ bàn
phím, có miền giá trị nằm trong khoảng (1 200) ?
IV CỦNG CỐ - DẶN DÒ:
– Đọc trước bài “Cấu trúc rẽ nhánh”
V RÚT KINH NGHIỆM.
ĐÁP ÁN KIỂM TRA 1 TIẾT KHỐI 11
Câu 2: Chương trình bên dưới còn một số lỗi, hãy tìm và sửa lỗi lại cho đúng? (1đ)
Program DT_HinhTron;
Uses Crt;
Const Pi := 3.14; {Không có dấu : Const Pi = 3.14; } (0,25đ)
Var S : Real; {Thiếu khia báo biến R Var S, R : Real; } (0,25đ)
Trang 27End.
Câu 3: Viết chương trình tính chu vi hình chữ nhật với 2 cạnh a và b là 2 số nguyên nhập từ bàn
phím, có miền giá trị nằm trong khoảng (1 200) ?(1đ)
(Tùy theo cách viết mà cho điểm)
Trang 28Ngày dạy: 12/11/2014 Chương III:CẤU TRÚC RẼ NHÁNH VÀ LẶP
Lớp : 11B10→11B14 §9: CẤU TRÚC RẼ NHÁNH
Tiết : 12
I MỤC ĐÍCH, YÊU CẦU:
Kiến thức:
– Hiểu nhu cầu của cấu trúc rẽ nhánh trong biểu diễn thuật toán
– Hiểu câu lệnh rẽ nhánh (dạng thiếu và dạng đủ)
– Hiểu câu lệnh ghép
Kĩ năng:
– Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản
– Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng để thực hiện được thuật toán của một số bài toán đơn giản
Thái độ: Có khả năng tư duy logic.
II CHUẨN BỊ:
- Giáo viên: Sách giáo khoa, máy tính cá nhân (nếu có), bảng phụ.
- Học sinh: sách giáo khoa, vở ghi, đọc bài trước.
III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ: (Nhận xét bài kiểm tra)
3 Nội dung bài mới:
1 Rẽ nhánh:
- Cho 2 số nguyên a, b; tìm Max(a,b)
Yêu cầu: viết phần tên, phần khai báo, và câu
+ Nếu a>b thì max = a
+ Nếu a<b thì max = b
GV: Vậy hãy cho biết câu: Nếu …thì … là loại
câu gì?
HS: Câu điều kiện
GV: Còn dạng nào khác không?
HS: Có, Nếu …thì … nếu không thì …
GV: Hãy cho ví dụ về các loại câu điều kiện
+ Dạng thiếu: Nếu…thì…
+ Dạng đủ: Nếu … thì …, nếu không thì…
* Gọi là cấu trúc rẽ nhánh thiếu và đủ
* Mọi ngôn ngữ lập trình đều có các câu lệnh để mô tả cấu trúc rẽ nhánh
Trang 29- Nếu là người lớn thì 20000đ nếu trẻ em thì
10000đ
GV: Từ đó phân tích cho học sinh thấy cấu trúc
rẽ nhánh thể hiện trong ví dụ này
2 Câu lệnh IF – THEN:
GV: Y/cầu hs n/cứu sgk và dựa vào các ví dụ cấu
trúc rẽ nhánh để đưa ra cấu trúc chung của câu
lệnh rẽ nhánh
If<điều_kiện>Then<lệnh1> Else<lệnh2>;
HS: N/cứu sgk và trả lời
If<điều_kiện>Then<lệnh1> Else<lệnh2>;
GV: Khi không đề cập đến việc gì xãy ra nếu
điều kiện không thõa mãn cấu trúc câu lậnh rẽ
nhánh như thế nào?
HS: Nghe giảng và trả lời
GV: Gọi học sinh viết câu lệnh so sánh để tìm
HS: Suy nghĩ và trả lời, và nếu được thì biểu
diễn như sau:
max:=a; if a < b then max:=b;
Lưu ý: Trước từ khoá Else không có dấu ;
GV: Dạng nào thuận tiện hơn?
HS: Tùy trường hợp
3 Câu lệnh ghép:
GV: Nêu vđ: Sau then, sau else phải có một câu
lệnh Nhưng thực tế trong các trường hợp phức
tạp đòi hỏi phải là nhiều câu lệnh
NNLT cho phép gộp dãy các lệnh thành một câu
Điều kiện là biểu thức logic
Câu lệnh, Câu lệnh 1, Câu lệnh 2 là 1 câu lệnh của Pascal
(Gợi ý: Khi nhập độ dài âm thì cho ra dtích, chu vi âm Điều này không có trong thực tế
- Dùng câu lệnh rẽ nhánh để kiểm tra giá trị
độ dài các cạnh Nếu độ dài dương thì tính dtích và chu vi, ngược lại thì thông báo độ
x2=-b/a-x1;
write(‘x1= ’,x1:6:2,’ x2= ’, x2:6:2) end;
readln;
End
ĐKiện ĐúngCâu lệnh1Sai
Câu lệnh 2
Trang 30– Viết chtrình nhập vào 3 số a, b, c và in ra màn hình giá trị lớn nhất trong 3 số đó.
– Viết chtrình giải pt: ax+ b = 0.(Gợi ý: Xét điều kiện nếu a= 0 mà b=0 thì sao? b khác 0 thì sao? a khác 0 thì sao )
– Xem trước bài: Cấu trúc lặp sgk trang 42
V RÚT KINH NGHIỆM.
Ngày dạy: 19/11/2014
– Phân tích vấn đề (bài toán) và cách tìm cấu trúc rẽ nhánh
– Áp dụng viết chương trình được trên một số bài toán cơ bản
Thái độ: Có khả năng tư duy logic, phân tích và giải quyết vấn đề.
II CHUẨN BỊ:
- Giáo viên: Sách giáo khoa, một số bài tập, máy tính cá nhân, phòng máy(nếu có).
- Học sinh: Sách giáo khoa, vở ghi, làm trước các bài tập sgk.
III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ:
Câu 1: Trình bày câu lệnh IF – THEN ở dạng thiếu và đủ? Câu lệnh ghép?
TL: Dạng thiếu: IF <điều kiện> THEN <câu lệnh>;
Dạng đủ: IF <điều kiện> THEN <câu lệnh 1> ELSE < câu lệnh 2>;
3 Nội dung bài mới:
Trang 31Đặt vấn đề: Chúng ta đi giải một số bài tập về cấu trúc
rẽ nhánh để nắm thêm kiến thức
BT1: GV: Gọi hs cho biết Input và Output của bài toán.
HS: Lên thực hiện.
GV: Từ Input và Output đó các em hãy đưa ra cách giải
bài toán trên
HS: Suy nghĩ và tìm hiểu.
GV: Hướng dẫn hs giải bài toán.
Hướng dẫn:
- Dùng biến trung gian Max gán là giá trị lớn nhất và lần
lượt so sánh các giá trị còn lại với Max
- Khai báo 3 biến số thực a, b, c và Max
- Nhập 3 biến thực a, b, c tư bàn phím
- Gán Max nhập giá trị là a
- Lần lượt so sánh 2 giá trị a, b với Max
- Nếu giá trị nào lớn hơn Mã thì Max nhận giá trị mới
đó
- Xuất giá trị Max ra màn hình
HS: Tham gia thực hiện.
HS: Tự chuyển đổi và câu lệnh bằng Pascal 2 câu lệnh If
- Then:
Max:= a;
If (b >Max) Then Max :=b;
If (c >Max) Then Max :=c;
HS: Viết chương trình hoàn chỉnh.
GV: Nhận xét và sửa lại thành chương trình đầy đủ và
hoàn chỉnh
BT2: GV: Gọi hs cho biết Input và Output của bài toán.
HS: Lên thực hiện.
GV: Từ Input và Output đó các em hãy đưa ra cách giải
bài toán trên
- Nếu số đầu cộng với số cuối bằng 2 lần số giữa thì 2
số đó tạo thành cấp số cộng và tăng giá trị mỗi biến lên
gấp đôi, ngược lại thì giảm mỗi biến 1 đơn vị
- Xuất giá trị 3 biến mới M, N, K ra màn hình
HS: Tham gia thực hiện.
GV: Cho hs thời gian viết chương trình, lưu ý có sử
If (b >Max) Then Max :=b;
If (c >Max) Then Max :=c;
Writeln('So lon nhat la:', Max:6:2)
Trang 32HS: Quan sát và sửa bài vào tập End.
– Viết chương nhập từ bàn phím số nguyên N Cho biết số đó là chẳn hay lẽ
– Chuẩn bị các bài tập đã làm, tiết sau thực hành
V RÚT KINH NGHIỆM.
Trang 33
– Viết được chương trình đơn giản về cấu trúc rẽ nhánh trên máy tính.
Thái độ: Nghiêm túc, tự giác, tích cực, chủ động trong thực hành.
II CHUẨN BỊ:
- Giáo viên: Sách giáo khoa, một số bài tập, máy tính cá nhân, phòng máy.
- Học sinh: Sách giáo khoa, vở ghi.
III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ: Kết hợp khi thực hành.
3 Nội dung bài mới:
GV: Hướng dẫn hs thực hành các bài tập của tiết trước.
BT1: Viết chương trình tìm số lớn nhất trong 3 số thực
a, b, c nhập từ bàn phím
Hướng dẫn:
- Dùng biến trung gian Max gán là giá trị lớn nhất và lần
lượt so sánh các giá trị còn lại với Max
- Khai báo 3 biến số thực a, b, c và Max
- Nhập 3 biến thực a, b, c tư bàn phím
- Gán Max nhập giá trị là a
- Lần lượt so sánh 2 giá trị a, b với Max
- Nếu giá trị nào lớn hơn Mã thì Max nhận giá trị mới
đó
- Xuất giá trị Max ra màn hình
BT2: Cho 3 số nguyên M, N, K nhập từ bàn phím Nếu
3 số này tạo thành một cấp số cộng thì giá trị của nó
tăng gấp đôi mỗi số, ngược lại thì giảm mỗi số đi 1 đơn
vị Viết chương trình thực hiện yêu cầu trên
- Nếu số đầu cộng với số cuối bằng 2 lần số giữa thì 2
số đó tạo thành cấp số cộng và tăng giá trị mỗi biến lên
gấp đôi, ngược lại thì giảm mỗi biến 1 đơn vị
- Xuất giá trị 3 biến mới M, N, K ra màn hình
GV: Cho hs thực hành và quan sát sửa lỗi.
HS: Thực hành.
GV: Quan sát và chấm điểm các em làm bài tốt.
GV: Đưa ra chương trình hoàn chỉnh và nhắc nhở sửa
lỗi chung
HS: Tập trung và hiệu chỉnh.
Hướng dẫn hs viết chương trình trên máy tính các bài tập đã giải ở tiết trước
Giáo viên quan sát và sửa lỗi cho hs.Hướng dẫn thực hành giải bài toán:
Bộ số Pi-ta-go…
Tổng bình phương 2 số bằng bình phương số còn lại
Trang 34IV CỦNG CỐ - DẶN DÒ:
1 Củng cố:
– GV: Cho hs củng cố:
+ Các bước để hoàn thành một chương trình.
+ Phân tích và xác định bài toán( dữ liệu vào/ra và thuật toán).
+ Kỹ năng soạn chương trình vào máy.
+ Lưu trữ chương trình.
+ Biên dịch.
+ Thực hiện và hiệu chỉnh.
+ Kiểm thử bằng nhiều bộ test với các trường hợp khác nhau
– GV: Nhấn mạnh các sai sót khi làm bài.
Lớp : 11B10→11B14 §10: CẤU TRÚC LẶP (T1)
Tiết : 15
I MỤC ĐÍCH, YÊU CẦU:
Kiến thức:
– Hiểu nhu cầu của cấu trúc lặp trong biễu diễn thuật toán
– Biết cấu trúc chung của lệnh lặp với số lần biết trước For trong NNLT Pascal
– Biết sử dụng đúng 2 dạng lệnh lặp For
Kĩ năng:
– Bước đầu sử dụng được lệnh lặp For để lập trình giải quyết 1 số bài toán đơn giản
Thái độ: Tạo sự thích thú khi học cấu trúc lặp.
II CHUẨN BỊ:
- Giáo viên: Sách giáo khoa, giáo án, sách giáo viên, máy tính cá nhân.
- Học sinh: Sách giáo khoa, vở ghi, làm trước các bài tập sgk.
III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ:
Câu 1: Viết CT nhập vào 2 số a, b và thực hiện đưa ra màn hình giá trị của số lớn hơn? HS: Thực hiện
3 Nội dung bài mới:
1 Khái niệm lặp:
Đặt vấn đề: Trong thực tế có những việc chúng ta
phải thực hiện lặp đi lặp lại nhiều lần Ví dụ như việc
múc nước đổ từng ca 1 vào thùng nước: Đổ 100 lần và
đổ vào cho đến đầy thì thôi
GV: Đổ 100 lần thì biết trước việc đổ bao nhiêu ca
Trang 35nước đổ vào không?
HS: Không Đổ hoài không biết là bao nhiêu nhưng
đầy thì nghỉ
HS: Suy nghĩ và tìm hiểu.
GV: Đưa ra bài toán tính tổng S với số lần biết trước
và số lần không biết trước
GV: Vậy ta nên dùng một biến i chạy từ 1 đến 100
Mỗi lần tính tổng xong thì i sẽ tự động tăng lên 1 Và
việc đó được cộng bao nhiêu lần?
HS: Việc đó được cộng đến 100 lần thì đưa ra S.
GV: Vậy trong lặp trình việc giải quyết các bài toán
có tính chất như vậy gọi là cấu trúc lặp với số lần biết
trước
HS: Nghe giảng và ghi bài.
GV: Với bài toán thứ hai thì cũng cộng như vậy như
cho đến khi tổng S >=1000 thì ngừng Việc đó được
lặp không biết trước số lần lặp là bao nhiêu ? Gọi là
cấu trúc lặp với số lần chưa biết trước
GV : Ta đi tìm hiểu câu lệnh để biểu diễn quá trình
lặp với số lần biết trước trên trong Pascal là gì ? Các
em tìm hiểu phần 2
2 Lặp có số lần biết trước và câu lệnh for – do
GV: NNLT nào cũng cung cấp một số câu lệnh để mô
tả các cấu trúc lặp như trên
Sau đây chúng ta sẽ tìm hiểu các câu lệnh trong ngôn
B2: i := i -1;
B3: Nếu N < 1 thì Đưa ra S rồi kết thúc;
B4: S := S + i; rồi quay lại B2;
GV: Gọi một số học sinh nhận xét về 2 thuật toán trên
về một số vấn đề :
Thuật toán có lặp không?
Lặp bao nhiêu lần?
Hai thuật toán giống và khác nhau như thế nào?
Cái gì thay đổi trong thuật toán này?
Cách giải :
- Tính tổng S, mỗi lần tính tổng ta cộng thêm vào S là i đơn vị ( Với i tằng từ 1,2,3… đến 100)
- Với bài toán 1, việc cộng thêm dừng khi tính được tổng S, khi i chạy đến 100
Lặp thường có 2 loại :
Lặp với số lần biết trước
Lặp với số lần chưa biết trước
2 Lặp có số lần biết trước và câu lệnh For – Do:
- Lặp dạng tiến:
For <biến đếm> := <giá trị đầu> to
<giá trị cuối> do <câu lệnh>;
For i:=1 To 10 Do Write(i);
For i:=’a’ Do Write(i);
Giá trị đầu, giá trị cuối là các biểu
thức cùng kiểu với biến đếm Giá trị đầu phải nhỏ hơn hay bằng giá
Ví dụ 1: Chương trình cài đặt thuật
toán cho 2 vài tính tổng trên
Ví dụ 2: Hai chương trình cài đặt thuật
toán tong_1a và tong_1b (SGK)
Trang 36HS: Tong_1a thì đếm từ 1 đến 100 còn Tong_1b thì
đếm từ 101 về 1
Đều lặp đúng 100 lần
GV: Đó là một lặp ở dạng tiến và một lặp ở dạng lùi.
GV: Đưa ra câu lệnh For - Do.
HS: Nghe giảng và ghi bài.
– Sửa dụng For – Do viết chương trình hoàn chỉnh hai ví dụ đã nêu ở đầu bài
– Xem phần ví dụ cấu trúc lặp với số lần biết trước
V RÚT KINH NGHIỆM.
Trang 37
– Viết đúng lệnh lặp For để mô tả được thuật toán của một số bài toán đơn giản.
Thái độ: Tạo sự thích thú khi học cấu trúc lặp
II CHUẨN BỊ:
- Giáo viên: Sách giáo khoa, bài tập mẫu, phòng máy.
- Học sinh: Sách giáo khoa, vở ghi.
III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ:
Viết chương trình tìm tổng S = 1+2+ +10.
3 Nội dung bài mới:
1 Một số ví dụ:
Giải và hướng dẫn các ví dụ sgk
Dẫn dắt: Nếu ta y/cầu tính và đưa ra màn hình tổng các số
chẵn và tổng các số lẻ trong phạm vi từ a đến b
HS: Ghi đề bài toán.
GV: Y/cầu hs phân tích đề bài và trả lời câu hỏi.
GV: Xác định đâu là giá trị đầu? Đâu là giá trị cuối.
HS: Giá trị đầu là a, cuối là b.
GV: So sánh với bài toán trước thì có gì khác?
HS: Lắng nghe, phân tích bài toán và trả lời
GV: Ta cần đưa ra màn hình mấy giá trị?
HS:
Tl: tính tổng các số chẵn và tổng các số lẻ riêng
Tl: 2 giá trị (S1: tổng chẵn; S2: tổng lẻ)
GV: Việc chính cần thực hiện trong câu lệnh lặp là gì?
HS: Kiểm tra biến đếm i: nếu i là chẵn thì S1:=S1+i ngược
Bài 2: Đọc bài toán và phân tích
GV: Cách tính tiền gửi tiết kiệm hàng tháng như thế nào?
HS: Với số tiền S, sau mỗi tháng sẽ có lãi là: 0.015*S.
Số tiền này sẽ cộng vào số tiền ban đầu để tính lãi cho
1 Một số ví dụ Hướng dẫn giải và tìm hiểu bài
toán 1 và 2 SGK
Bài 1: Viết CT nhập vào 2 số
nguyên dương a, b (a<b), tính và đưa ra màn hình tổng các số chẵn
S1 := 0; S2 := 0;
For i := a To b Do
If i mod 2 = 0 then S1 := S1 + i else S2 := S2 + i;
Writeln(‘Tong chan: ’, S1,
’ Tong le: ’,S2); Readln
End.
Bài 2: Ông A có số tiền là S, ông
gửi tiết kiệm ngân hàng với lãi suất 1.5%/tháng Hỏi sau 12 tháng gửi (không rút tiền lãi hàng tháng), ông ta được số tiền là bao nhiêu?
Var s:real; i:byte;
Begin
Write(‘So tien ban dau: ’);
Trang 38GV: Xác định giá trị đầu và giá trị cuối của câu lệnh For
để thực hiện việc lặp trên?
la: ’,S:8:3); Readln
Giáo viên: Đề cương ôn tập, sgk, các bài tập mẫu.
Học sinh: Sách giáo khoa, vở ghi.
III HOẠT ĐỘNG DẠY HỌC:
1 Ổn định tổ chức, kiểm tra sĩ số:
2 Kiểm tra bài cũ:
3 Nội dung bài mới:
GV: Hướng dẫn ôn tập lý thuyết và các nắm
trọng tâm khi học bài
HS: Nghe giảng và tự soạn bài để học theo
sơ đồ tư duy
GV: Gọi hs lên bảng làm bài tập
Ôn tập từ bài 1 bài 10.
Nhắc lại các kiến thức trọng tâm.
II BÀI TẬP VIẾT CHƯƠNG TRÌNH:
1 Tìm số lớn nhất trong 3 số nguyên a, b, c nhập từ bàn phím?
2 Xét số nguyên dương nhập từ bàn phím là chẳn hay lẽ?
3 Cho 3 số nguyên a, b, c nhập từ bàn phím
Trang 39– Làm các bài tập trong đề cương, học bài chuẩn bị kiểm tra HKI.
– Nhắc nhở HS tinh thần, thái độ trong khi ôn tập và làm bài kiểm tra
V RÚT KINH NGHIỆM.
Ngày dạy: 24/12/2014
Lớp : 11B10→11B14 KIỂM TRA HỌC KỲ I
Tiết : 18
I MỤC ĐÍCH:
– Khảo sát kiến thức đã học của hs
– Đánh giá khả năng vận dụng kiến thức đã học và có hướng điều chỉnh
– Rèn luyện tính nghiêm túc trung thực trong kiểm tra, thi cử
II HÌNH THỨC KIỂM TRA:
– Kết hợp tự luận và trắc nghiệm khách quan
– Yêu cầu chuẩn kiến thức kĩ năng (theo ma trận đề)
III NỘI DUNG BÀI KIỂM TRA:
C x: real; y: integer D x,y: real;
Câu 2: Giả sử biến a được khai báo là Real và có giá trị là 1.025 Với lệnh Write(a:4:2); thì kết quả ra màn hình là:
Câu 3: Trong NNLT Pascal cú pháp nào sau đây là dạng lặp tiến:
A FOR<biến đếm>:=<Giá trị đầu>TO<gía trị cuối>DO<câu lệnh>;
B FOR<biến đếm>:=<Giá trị đầu>DO<gía trị cuối>TO<câu lệnh>;
C FOR<biến đếm>:=<Giá trị cuối>TO<gía trị đầu>DO<câu lệnh>;
D FOR<biến đếm>:=<Giá trị cuối>DO<gía trị đầu>TO<câu lệnh>;
Câu 4: Trong NNLT Pascal để mô tả cấu trúc rẽ nhánh dạng đủ ta dùng câu lệnh nào sau
đây:
A IF<điều kiện> THEN<câu lệnh1>ELSE<câu lệnh 2>;
B IF<câu lệnh1> THEN<câu lệnh 2>ELSE<điều kiện>;
Trang 40C IF<điều kiện> THE <câu lệnh1>ELSE<câu lệnh 2>;
D IF<điều kiện> THE <câu lệnh2>ELSE<câu lệnh 1>;
Câu 5: Hãy chọn tên đúng theo qui tắc pascal:
Câu 6: Một biến có giá trị nguyên trong phạm vi từ -10 đến 25532 thì biến đó có thể khai báo với kiểu dữ liệu nào đúng và ít tốn bộ nhớ nhất?
Câu 7: Đoạn chương trình sau đây thực hiện công việc gì ?
T:= 1; for i:=1 to n do
If (i mod 2=0) and (i mod 3<>0) then T:=T*i;
A Tính tích các số chia hết cho 2 và cho 3 trong phạm vi từ 1 đến n
B Tính các số tự nhiên mà i chia hết cho 2 và cho 3
C Tính tích các số chia hết cho 2 và không chia hết cho 3 trong phạm vi từ 1 đến n.
D Câu lệnh sai không cho kết quả.
Câu 8: Đáp án nào sau đây nói lên hoạt động của câu lệnh if_then dạng thiếu.
A Nếu điều kiện đúng thì câu lệnh sau then không thực hiện.
B Nếu điều kiện sai thì câu lệnh sau then không thực hiện.
C Nếu điều kiện đúng thì sau then thực hiện câu lệnh 1 ngược lại thực hiện câu lệnh 2.
D Nếu điều kiện sai thì sau then thực hiện câu lệnh 2.
Câu 9: Trong NNLT pascal thì tên nào trong các tên sau đây là tên dành riêng:
Câu 10: Biểu thức: (m mod 100 < 10) and (m div 100>0) Với giá trị nào của m dưới đây thì biểu thức cho kết quả là TRUE:
Câu 11: Câu lệnh nào sau đây dùng để nhập dữ liệu từ bàn phím
A Write(<danh sách biến vào>);
B Readln(<danh sách biến vào>);
C Write(<danh sách kết quả ra>);
D Readln(<danh sách kết quả ra>);
Câu 12: Trong NNLT pascal chương trình dịch có khả năng nào trong các khả năng sau ?
A Phát hiện lỗi về mặt cú pháp và có thể phát hiện về mặt ngữ nghĩa.
B Phát hiện lỗi về mặt cú pháp.
C Tạo được chương trình đích.
D Phát hiện lỗi về mặt ngữ nghĩa.
Câu 13: Trong Pascal, hãy chọn hằng số đúng nhất:
Câu 14: Trong NNLT pascal thì khai báo hằng nào sau đây là đúng:
Câu 15: Trong NNLT pascal qui ước cấu trúc chung của một chương trình thì:
Câu 16: Cho biết giá trị của M sau khi thực hiện đoạn chương trình sau với a=11 và b=8?