- 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 xuất dữ liệu trong ngôn ngữ lập trình Pascal. Chú ý lắng nghe dẫn dắt của giáo viên. - Nghiên cứu sá[r]
Trang 1Tiết: 01
Chương I: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
§1 KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
I. Mục tiêu
-Biết được khái niệm lập trình
-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 hai loại chương trìnhdịch là biên dịch và thông dịch
II. Chuẩn bị của giáo viên và học sinh
- Giáo viên: sách giáo khoa, sách giáo viên, Hướng dẫn thực hiện chuẩn kiến thức, kĩ
năng môn Tin học THPT
- Học sinh: Đọc trước SGK, xem lại một số kiến thức Tin học lớp 10.
III. Phương pháp:
- Diễn giải
- Đàm thoại
- Giải quyết tình huống có vấn đề
IV.Hoạt động dạy- học:
1. Ổn định lớp:
2. Hoạt động 1: Tìm hiểu khái niệm lập trình và ngôn ngữ lập trình
a Nội dung:
- 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ể để ô
tả dữ liệu và diễn đạt các thuật toán., là tạo ra các chương trình giải được các bài toántrên máy tính
- Ngôn ngữ lập trình là một phần mềm dùng để diễn đạt thuật toán thành một chương
trình và giúp cho máy tính hiểu được thuật toán đó
- Một số loại ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ và ngôn ngữ lập trình bậc cao.
b Hoạt động:
Hoạt động của giáo viên Hoạt động của học sinh
-Cho bài toán sau: Kết luận nghiệm của phương
trình ax + b=0
+ Hãy xác định Input, Output của bài toán trên
+ Hãy xác định các bước để giải bài toán trên
-Hệ thống các bước này chúng ta gọi là thuật
toán Làm thế nào để máy tính điện tử có thể
hiểu được thuật toán này ?
-Diễn giải: Hoạt động để diễn đạt một thuật toán
thông qua một ngôn ngữ lập trình được gọi là
-Quan sát bài toán và trả lời câu hỏi
+Input: a, b+Output: x=-b/a, vô nghiệm, vô sốnghiệm
Trang 2Hoạt động của giáo viên Hoạt động của học sinh
lập trình
-Các em hãy cho biết khái niệm về lập trình ?
- Kết quả của hoạt động lập trình ?
-Ngôn ngữ lập trình gồm những loại nào ?
-Theo các em chương trình được viết bằng ngôn
ngữ bậc cao và chương trình được viết bằng
ngôn ngữ máy khác nhau như thế nào ?
-Làm thế nào để chuyển một chương trình viết
bằng ngôn ngữ bậc cao sang ngôn ngữ máy ?
-Vì sao không lập trình trên ngôn ngữ máy để
khỏi mất công chuyển đổi khi lập trình với ngôn
+ Được một chương trình
+Ngôn ngữ máy, hợp ngữ và ngôn ngữbâc cao
-Nghiên cứu SGK và trả lời câu hỏi
+ 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ựchiện ngay
+ Chương trình viết bằng ngôn ngữ lậptrình bậc cao phải được chuyển đổi thànhchương trình trên ngôn ngữ lập máy thìmới thực hiện được
-Phải sử dụng một chương trình dịch đểchuyển đổi
- Ngôn ngữ bậc cao dễ viết, dễ hiểu Ngônngữ máy khó viết
3. Hoạt động 2: Tìm hiểu hai loại chương trình dịch: thông dịch và biên dịch
a Nội dung:
- Chương trình đặc biệt 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 trên máy tính cụ thể được gọi là chươngtrình dịch
- Có 2 loại chương trình dịch: biên dịch và thông dịch
+ Thông dịch(interpret) : dịch lần lượt từng câu lệnh ra ngôn ngữ máy rồi thực hiệnngay câu lệnh vừa dịch được hoặc thông báo lỗi nếu không dịch được câu lệnh.Trong thông dịch không có chương trình đích để lưu trữ
Biên dịch(compile): duyệt, kiểm tra, phát hiện lỗi, khi chương trình nguồn không cònlỗi thì dịch toàn bộ chương trình nguồn thành chương trình đích để có thể thực hiện trên
Chương trình dịch
Trang 3cần dịch lại.
b Hoạt động:
Hoạt động của giáo viên Hoạt động của học sinh
-Theo các em đối với chương trình dịch: chương
trình nào là chương trình nguồn và chương trình
đích
-Nêu vấn đề: Em muốn giới thiệu về trường mình
cho một người khách du lịch quốc tế biết tiếng
Anh, ta có những cách thực hiện nào?
- Cách 1 ta có thể gọi là thông dịch; cách 2 gọi là
biên dịch
- Giáo viên cũng có thể đưa ra các ví dụ tương tự:
Khi thủ trưởng một chính phủ trả lời phỏng vấn
trước một nhà báo quốc tế, họ thường cần một
người thông dịch để dịch từng câu tiếng Việt sang
tiếng Anh
- Khi thủ tướng đọc một bài diễn văn tiếngAnh
trước Hội nghị, họ cần một người phiên dịch để
chuyển văn bản tiếng Việt thành tiếng Anh
Tương tự chương trình dịch có hai loại là thông
C1: Cần một người biết tiếng Anh dịchtừng câu nói của em sang tiếng Anh chongười khách
C2: Em soạn nội dung giới thiệu ra giấy
và người phiên dịch dịch toàn bộ nộidung đó sang tiếng Anh rồi đọc chokhách nghe
-Nghiên cứu SGK và trả lời câu hỏi:+Thông dịch:
B1: Kiểm tra tính đúng đắn của câu lệnhtiếp theo trong chương trình nguồn;
B2: Chuyển lệnh đó thành ngôn ngữ máyB3: Thực hiện các câu lệnh vừa đượcchuyển đổi
+Biên dịch:
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ửdụng lại khi cần thiết
4. Hoạt động 4: Củng cố kiến thức
-Khái niệm lập trình và ngôn ngữ lập trình
-Các ngôn ngữ lập trình: ngôn ngữ máy, ngôn ngữ bậc cao, hợp ngữ
-Khái niệm chương trình dịch
-Thông dịch và biên dịch
Trang 4-Biết các qui định về tên, hằng và biến trong một ngôn ngữ lập trình cụ thể.
-Thực hiện việc đặt tên đúng và nhận biết được tên sai theo qui định
II Chuẩn bị của giáo viên và học sinh;
-Giáo viên : sách giáo viên, sách giáo khoa, một số bảng phụ, Hướng dẫn thực hiệnchuẩn kiến thức, kĩ năng môn Tin học THPT
-Học sinh: sách giáo khoa, đọc trước bài học ở nhà
III Phương pháp
-Thuyết trình
-Vấn đáp
-Hoạt động nhóm
IV Tiến trình bài học
1 Hoạt động 1: Ổn định lớp và kiểm tra bài cũ:
2 Hoạt động 2: Giới thiệu cho học sinh các thành phần cơ bản của một ngôn ngữ lập trình.
a) Nội dung:
Mỗi ngôn ngữ lập trình có ba thành phần cơ bản là: bảng chữ cái, cú pháp và ngữ nghĩa
- Bảng chữ cái là tập các kí tự dùng để viết chương trình, không được phép dùng bất kì kí
tự nào khác ngoài các kí tự qui định trong bảng chữ cái
- Cú pháp là bộ qui tác dùng để viết chương trình, mà dựa vào chúng, người lập trình vàchương trình dịch biết được tổ hợp nào của các kí tự trong bảng chữ cái là hợp lệ Nhờ
đó có thể mô tả chính xác thuật toán để máy tính thực hiện
- Ngữ nghĩa xác định ý nghĩa các 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 nó
Tóm lại, cú pháp cho biết cách viết chương trình hợp lệ, còn ngữ nghĩa xác định ý nghĩa củacác tổ hợp kí tự trong chương trình
b) Hoạt động:
Hoạt động của giáo viên Hoạt động của học sinh
Đặt vấn đề : Có những yếu tố nào dùng để xây
dựng nên ngôn ngữ tiếng Việt?
* Diễn giải : Trong ngôn ngữ lập trình cũng
tương tự như vậy, nó gồm có các thành phần :
- Ngữ nghĩa của từ thành câu
* Lắng nghe và ghi nhớ
Trang 5nào? viết như vậy có ý nghĩa là gì? Mỗi ngôn
cái trong ngôn ngữ lập trình C++ chỉ khác
pascal là sử dụng thêm các kí tự như dấu
nháy kép(“), dấu sổ ngược(\), dấu chấm
than(!)
- Giới thiệu cú pháp:Cú pháp 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 một lệnh nhưng trong C++ dùng
cặp kí hiệu {}
Ví dụ : Xét 2 biểu thức A+B (1) A,B là các số
thực
I+J (2) với I,J là các số nguyên
Hỏi HS: Về ngữ nghĩa 2 biểu thức trên có khác
3 Hoạt động 3: Giới thiệu cho học sinh khái niệm tên trong một ngôn ngữ lập trình nói chung và Turbo Pascal nói riêng.
a) Nội dung:
- Mọi đối tượng trong chương trình đều phải được đặt tên theo qui tắc của ngôn ngữ lâptrình và từng chương trình dịch cụ thể
- Tên trong Turbo Pascal là một dãy liên tiếp không quá 127 kí tự bao gồm chữ cái, chữ
số hoặc dấu gạch dưới và phải bắt đầu bằng chữ cái hoặc dấu gạch dưới
- Nhiều ngôn ngữ lập trình phân biệt ba loại tên: tên chuẩn, tên dành riêng và tên dongười lập trình tự đặt
+ Tên dành riêng: tên được dùng với ý nghĩa xác định, người lập trình không được
sử dụng chúng với ý nghĩa khác và còn được gọi là từ khoá
+ Tên chuẩn: Tên được dùng với ý nghĩa nào đó nhưng người dùng có thể khai báo
và dùng chúng với ý nghĩa và mục đích khác Ý nghĩa của các tên chuẩn đượcqui định trong các thư viện của ngôn ngữ lập trình
+ Tên do người lập trình ttự đặt: Tên được sử dụng với ý nghĩa riêng, xác địnhbằ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.b) Hoạt động:
Hoạt động của giáo viên Hoạt động của học sinh
- Trong các ngôn ngữ lập trình nói chung, các đối
tượng sử dụng trong chương trình đều phải đặt
tên để tiện cho việc sử dụng Việc đặt tên trong
các ngôn ngữ khác nhau là khác nhau, có ngôn
ngữ phân biệt chữ hoa, chữ thường, có ngôn ngữ
Trang 6Hoạt động của giáo viên Hoạt động của học sinh
không phân biệt chữ hoa, chữ thường
- Em hãy dựa vào sách giáo khoa nêu các qui cách
đặt tên trong Pascal
- Giáo viên đưa ra một số tên để học sinh phân
biệt tên đúng và tên sai: A, A BC, 6pQ, R13,
X##y, _45
- Ngôn ngữ lập trình pascal không phân biệt chữ
hoa chữ thường nhưng một số ngôn ngữ lập trình
khác(như C++) lại phân biệt chữ hoa, chữ thường
- + Độ dài không quá 127 kí tự
- + Bắt đầu bằng chữ cái hoặc dấu gạchdưới
- Khái niệm biến
- Phân biệt sự giống và khác nhau của hằng và biến
b) Hoạt động:
VG đưa ra ví dụ: Để viết một chương trình giải
phương trình bậc hai ta cần khai báo những tên
sau:
- a,b,c là ba tên dùng để lưu ba hệ số của phương
trình
- - x1,x2 là hai tên dùng để lưu nghiệm ( nếu có)
- - Delta là tên dùng để lưu giá trị của delta
Biến là đối tượng sử dụng nhiều nhất trong khi
viết chương trình Biến là đại lượng có thể thay
đổi được nên thường dùng để lưu trữ kết quả
Trang 7- 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: bảng chữ cái, cú pháp và ngữ nghĩa.
- Biết các thành phần cơ sở của Pascal: bảng chữ cái, tên, tên chuẩn, tên riêng (từ khóa),
hằng và biến.
2 Về kỹ năng:
- Biết viết hằng và tên đúng trong một ngôn ngữ lập trình cụ thể
3 Về tư duy và 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 nhằm giải các bài toán thực tiễn ngày càng phức tạp
- Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải các bài toán bằng máy
tính điện tử
II Chuẩn bị của giáo viên và học sinh:
1 Giáo viên: chuẩn bị nội dung để giải bài tập cuối chương và một số câu hỏi trắc nghiệm
2 Kiểm tra bài cũ.
3 Tiến trình tiết dạy:
Hoạt động của giáo viên Hoạt động của học sinh
- ĐVĐ: Trước khi giải bài tập trong SGK, các
em tự ôn lại một số kiến thức mà chúng ta đã
học ở các bài trước dựa trên yêu cầu của câu
hỏi trang 13 SGK
- Đặt câu hỏi số 1: Tại sao người ta phải xây
dựng các ngôn ngữ lập trình bậc cao?
- Nhận xét, đánh giá và bổ sung hướng dẫn cho
học sinh trả lời câu hỏi số 1
- Đặt câu hỏi 2: Chương trình dịch là gì? Tại
sao cần phải có chương trình dịch?
- Đặt câu hỏi 3: Biên dịch và thông dịch khác
nhau như thế nào?
- Phân tích câu trả lời của học sinh.
- Đọc yêu cầu của câu hỏi và bài tập
cuối chương trang 13 SGK
- Suy nghĩ để đưa ra phương án trả lời.
- Suy nghĩ, trả lời câu hỏi.
- Suy nghĩ, trả lời câu hỏi.
- Suy nghĩ, trả lời câu hỏi, cho ví dụ
Trang 8Hoạt động của giáo viên Hoạt động của học sinh
- Đặt câu hỏi 4: Hãy cho biết các điểm khác
nhau giữa tên dành riêng và tên chuẩn?
- Gọi hs trả lời và cho ví dụ
- Phân tích câu trả lời của học sinh.
- Đặt câu hỏi 5: Hãy tự viết ra ba tên đúng theo
quy tắc của Pascal
- Gọi 3 học sinh lên bảng cho ví dụ về tên do
người lập trình đặt
- Nhận xét, sửa chữa, góp ý.
- Đặt câu hỏi 6: 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õ trong từng trường hợp:
-Ôn lại các khái niệm, các tên
- Chuẩn bị bài Cấu trúc chương trình và bài các kiểu dữ liệu chuẩn.
Trang 9-Biết được cấu trúc chung và các thành phần của một chương trình đơn giản.
-Nhận biết được các thành phần của một chương trình đơn giản
-Biết được một số kiểu dữ liệu chuẩn: Nguyên, thực, kí tự, logic
2 Kĩ năng.
Nhận biết được các thành phần của ngôn ngữ lập trình và viết được các chương trìnhđơn giản
II CHUẨN BỊ CỦA GV VÀ HS
-Giáo viên: SGK, SGV, trannh có chứa một số khai báo biến để học sinh chọn đúng –sai, máy chiếu, Hướng dẫn thực hiện chuẩn kiến thức, kĩ năng môn Tin học THPT
-Học sinh: SGK
III HOẠT ĐỘNG DẠY – HỌC
1 Hoạt động 1 : Tìm hiểu cấu trúc chung và các thành phần của chương trình.
a Nội dung:
- Cấu trúc chương trình có hai phần: Phần khai báo và phần thân
- Phần khai báo : Khai báo tên chương trình, khai báo thư viện sử dụng, khai báo hằng, khai báo biến và khai báo chương trình con
- Phần thân chương trình : Bao gồm dãy các lệnh được đặt trong cặp dấu hiệu mở đầu và kếtthúc
BEGIN
[<Câu lệnh;>]
END
b Hoạt động:
Hoạt động của giáo viên Hoạt động của học sinh
1 Phát vấn gợi ý : Mộtbài tập làm văn em
thường viết có mấy phần? Các phần có thứ tự
không? Vì sao phải chia ra như vậy?
2 Yêu cầu học sinh nghiên cứu sách giáo
khoa để trả lời các câu hỏi sau:
- Một chương trình có cấu trúc mấy phần?
- trong phần khai báo có những khai báo nào?
- Yêu cầu học sinh lấy ví dụ khai báo tên
chương trình trong ngôn ngữ Pascal
- Yêu cầu học sinh lấy ví dụ khai báo thư viện
1 Lắng nghe và suy nghĩ trả lời :
- Có ba phần
- Có thứ tự : Mở bài, thân bài, kết luận
- Dễ viết, dễ đọc, dễ hiểu nội dung
2 Nghiên cứu sách giáo khoa, thảo luận và trả lời
+ Hai phần : [<phần khaibáo>]
<Phần thân chương trình>
- Khai báo tên chương trình, khai báo thư viện chương trìnhcon, khai báo hằng, khai báobiến và khai báo chương trình con
- Cấu trúc : Program ten_chuong_trinh ;
- Ví dụ : Program tinh_tong ;
Trang 10Hoạt động của giáo viên Hoạt động của học sinh
chương trình con trong ngôn ngữ Pascal
- Yêu cầu học sinh lấy ví dụ khai báo hằng
trong ngôn ngữ Pascal
- Yêu cầu học sinh lấy ví dụ khai báo biến
trong ngôn ngữ Pascal
- Yêu cầu học sinh cho biết cấu trúc chung
của phần thân chương trình trong ngôn ngữ
lập trình Pascal
3 Tìm hiểu một chương trình đơn giản
- Chiếu lên bảng một chương trình đơn giản
- Chiếu lên bảng một chương trình đơn giản
trong ngôn ngữ Pascal
- Hỏi : Phần khai báo của chương trình?
- Hỏi : Phần thân của chương trình? Có lệnh
nào trong thân chương trình?
4 Yêu cầu học sinh lấy một ví dụ về một
chương trình Pascal không có phần tên và
- Ví dụ : Var a, b, c : integer;
Begin Dãy các lệnh;
Trang 11Word: 0 65535
Longint: -2148473648 214873647
- Kiểu số thực:
Real: 2.9E-39 1.7E38 Extended: 3.4E 1.1E4932
- Kiểu kí tự: Là các kí tự thuộc bảng mã ASCII, gồm 256 kí tự được đánh số từ 0 đến 255
- Kiểu logic: Là tập hợp gồm hai giá trị True và Flase, là kết quả của phép so sánh
c Hoạt động:
Hoạt động của giáo viên Hoạt động của học sinh
1 Đặt vấn đề: Trong toán học, để thực hiện
được tính toán ta cần phải có các tập số Đó là
các tập số nào?
- Diễn giải: Cũng tương tự như vậy, trong
ngôn ngữ lập trình Pascal, để lập trình giải
quyết các bài toán, cần có các tập hợp, mỗi
tập hợp có một giới hạn nhất định
- Các em có thể hiểu nôm na: Kiểu dữ liệu
chuẩn là một tập hữu hạn các giá trị, mỗi kiểu
dữ liệu cần một dung lượng bộ nhớ cần thiết
để lưu trữ và xác định các phép toán có thể tác
động lên dữ liệu
2 Yêu cầu học sinh nghiên cứu sách giáo
khoa, trả lời các câu hỏi sau:
- Có bao nhiêu kiểu dữ liệu chuẩn trong
ngôn ngữ Pascal?
- 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?
- trong ngôn ngữ Pascal, 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?
- trong ngôn ngữ Pascal, có bao nhiêu kiểu
kí tự?
- trong ngôn ngữ Pascal, có bao nhiêu kiểu
logic, gồm các giá trị nào?
3 Giáo viên giải thích một số vấn đề cho
học sinh:
+ Vì sao phạm vi biểu diễn của các loại
kiểu nguyên khác nhau?
+ Miềm giá trị của các loại kiểu thực, số
chữ số có nghĩa?
4 Phát vấn: Muốn tính toán trên các giá trị :
4 6 7.5 ta phải sử dụng dữ liệu gì?
1 Chú ý, Lắng nghe và suy nghĩ trả lời:
- Số tự nhiên, số nguyên, số hữu tỉ, số thực
- 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?
2 Nghiên cứu sách giáo khoavà trả lời
- Có 4 kiểu: Kiểu nguyên, kiểu thực, kiểu kí
Trang 121 Những nội dung đã học
- Một chương trình gồm có hai phần: Phần khai báo và phần thân
- Các kiểu dữ liệu chuẩn: Kiểu số nguyên, kiểu số thực, kiểu kí tự, kiểu logic
- Mọi biến trong chương trình phải được khai báo Cấu trúc chung của khai báo biến trong Pascal: Var tên_ biến: tên_kiểu_dữ_liệu;
2 Câu hỏi và bài tập về nhà
- Làm bài tập 1, 2, 3, 4, 5 trang 35 sách giáo khoa
- Xem trước nội dung bài: Khai báo biến; Phép toán, biểu thức, lệnh gán trang 24 sách giáo khoa
- Xem nội dung phụ lục B, sách giáo khoa , trang 129: Một số kiểu dữ liệu chuẩn, một số thủ tục và hàm chuẩn
Trang 13-Biết cách khai báo biến.
-Biết được các phép toán thông dụng trong ngôn ngữ lập trình
-Biểu diễn đạt một hình thức trong ngôn ngữ lập trình
-Biết được chức năng của lệnh gán
-Biết được cấu trúc của lệnh gán và một số hàm chuẩn trông dụng trong ngôn ngữ lậptrình Pascal
2 Kĩ năng
-Sử dụng được các phép toán để xây dựng biểu thức
-Sử dụng được lệnh gán và khai báo biến để viết chương trình
II ĐỒ DÙNG DẠY HỌC
1 Chuẩn bị của giáo viên
-Sách giáo khoa, Hướng dẫn thực hiện chuẩn kiến thức, kĩ năng môn Tin học THPT.-Tranh chứa các biểu thức trong toán học, tranh chứa bảng các hàm số học chuẩn, tranhchứa bảng chân trị
- Máy vi tính và máy chiếu Projector
2 Chuẩn bị của học sinh
- Sách giáo khoa
III HOẠT ĐỘNG DẠY – HỌC
1 Hoạt động 1: Ổn định lớp và kiểm tra bài cũ
2 Hoạt động 2: Tìm hiểu cách khai báo biến.
Hoạt động của giáo viên Hoạt động của học sinh
1 Yêu cầu học sinh nghiên cứu sách giáo
khoa và cho biết vì sao phải khai báo biến?
1 Nghiên cứu sách giáo khoa và trả lời
- Mọi biến dùng trong chương trình đều phải được khai báo tên biến và kiểu dữ liệu của biến Tên biến dùng để xác lập quan hệ giữa biến và địa chỉ bộ nhớ nơi lưu giữ giá trị của biến
- Var <danh sách biến>: <kiểu dữ liệu>; Var x: word;
y: char;
2 Quan sát tranh và chọn khai báo đúng
Trang 14Hoạt động của giáo viên Hoạt động của học sinh
2 Treo tranh có chứa một số khai báo và yêu
cầu học sinh chọn khai báo đúng trong ngôn
- Hỏi: Có bao nhiêu biến tất cả, Bộ nhớ
phải cấp phát là bao nhiêu?
x (2 byte); y (2 byte); z (4 byte);
h (2 byte); i (1 byte); tỏng 11 byte
3 Hoạt động 3 : Tìm hiểu một số phép toán.
a Nội dung:
- Các phép toán số học: + - * / DIV MOD
- Các phép toán quan hệ: <, <=, >, >=, =, <> Dùng để so sánh hai đại lượng, kết quả của các phép toán này là True hoặc Flase
- Các phép toán logic: NOT, OR, AND, thường dùng để tạo các biểu thức logic từ các biểu thức quan hệ đơn giản
b Các bước tiến hành:
Hoạt động của giáo viên` Hoạt động của học sinh
1 đặt vấn đề: để mô tả các thao tác trong
thuật toán, mỗi ngôn ngữ lập trình đếu sử
dụng một số khái niệm cơ bản: Phép toán,
biểu thức, gán giá trị
2 Phát vấn: Hãy kể các phép toán em đã
được học trong toán học
- Diễn giải: Trong ngôn ngữ lập trònh
Pascal cũng có các phép toán đó nhưng được
diễn đạt bằng một cách khác
- Yêu cầu học sinh nghiên cứu sách giáo
khoa và cho biết các nhóm phép toán
- Hỏi : Phép Div, Mod được sử dụng cho
những kiểu dữ liệu nào?
- Hỏi: Kết quả của phép toán quan hệ thuộc
kiểu dữ liệu nào?
- Các phép toán logic: And, Or, Not
- Chỉ sử dụng được cho kiểu nguyên
- Thuộc kiểu logic
4 Hoạt động : Tìm hiểu biểu thức.
a Nội dung:
- Biểu thức số học là biểu thức nhận được từ các hằng số, biến số và hàm số liên kết với
Trang 15toán không chứa ngoặc thì thực hiện từ trái sang phải theo thứ tự của các phép toán: Nhân, chia, chia lấy nguyên, chia lấy dư thực hiện trước và ccs phép toán công, trừ thực hiện sau.
- Hàm số học chuẩn thông dụng
Gái trị tuyệt đối: ABS(X) I hoặc R Theo kiểu của đối số
Lũy thừa của số e ex exp(x) I hoặc R R
- Hai biểu thức có cùng kiểu dữ liệu được liên kết với nhau bởi phép toán quan hệ cho ta một biểu thức quan hệ
<biểu_thức_1> <phép_toán_quan_hệ> <biểu_thức_2>
- Thứ tự thực hiên.:
+ tính giá trị các biểu thức
+ Thực hiện phép toán quan hệ
- Các biểu thức quan hệ liên kết với nhau bởi phép toán logic ta được biểu thức logic Biểu thức logic đơn giản là giá trị True hoặc Flase
b Hoạt động:
Hoạt động của giáo viên Hoạt động của học sinh
1 Nêu vấn đề: trong toán học ta được làm
quen với khái niệm biểu thức, hãy cho biết
yếu tố cơ bản xây dựng nên biểu thức
- Nếu trong một bài toán mà toán hạng là
biến số, hằng số hoặc hàm số và toán tử là các
phép toán số học thì biểu thức có tên gọi là
gì?
2 Treo tranh có chứa biểu thức toán học lên
bảng, yêu cầu: Sử dụng các phép toán số học,
hãy biểu diễn biểu thức toán học sau thành
biểu thức trong ngôn ngữ lập trình
- Nghiên cứu sách giáo khoa và từ việc xây
dựng các biểu thức trên, hãy nêu thứ tự thực
hiện các phép toán
3 Nêu vấn đề: trong toán học ta đã làm quen
với một số hàm số học, hãy kể tên một số hàm
- Thực hiện trong ngoặc trước; Ngoài ngoặc sau Nhân, chia, công, trừ sau
3 Suy nghĩ và trả lời
Hàm tri tuyệt đối, hàm căn bậc hai, hàm sin, hàm cos
Trang 16Hoạt động của giáo viên Hoạt động của học sinh
có một số hàm như vậy nhưng được diễn đạt
bằng một cách khác
- Treo tranh chứa bảng một số hàm chuẩn,
yêu cầu học sinh điền thêm các thông tin như
chứac năng của hàm , kiểu của đối số và kiểu
của hàm số
- cho biểu thức:
2 42
a
hãy biểu diễn biểu thức trên sang biểu thức trong ngôn
ngữ lập trình
4 Nêu vấn đề : Khi hai biểu thức số học
liên kết với nhau bằng phép toán quan hệ ta
được một biểu thức mới, biểu thức đó gọi là
biểu thức gì?
- Hãy lấy một ví dụ về biểu thức quan hệ?
- 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 biểu thức
quan hệ?
- Thứ tự thực hiện của biểu thức quan hệ?
- Cho biết kết quả của phép toán quan hệ
thuộc kiểu dữ liệu nào đã học?
5 Nêu vấn đề: Các biểu thức quan hệ được
liên kết với nhau bởi phép toán Logic được
gọi là biểu thức Logic
- Hãy cho một số ví dụ về biểu thức logic
- trong toán học ta có biểu thức 5<=x<=11,
hãy biểu diễn biểu thức này trong ngôn ngữ
- Treo tranh có chứa bảng chân trị của A và
B, yêu cầu học sinh điền giá trị cho A and B;
+ Thực hiện các biểu thức quan hệ
+ Thực hiện phép toán logic
- Lệnh gán dùng để tính giá trị một biểu thức và chuyển giá trị đó vào một biến
- Cấu trúc: Tên biến : =biểu_thức;
- Sự thực hiện của máy:
+ tính giá trị của biểu_thức
+ Đặt giá trị vào tên_biến
Trang 17Hoạt động của giáo viên Hoạt động của học sinh
- Giới thiệu một số ví dụ về lệnh gán trong
Pascal như sau:
- 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 lệnh gán
trong ngôn ngữ Pascal
- Hãy cho một ví dụ để tính nghiệm của
- Thực hiện chương trình để học sinh kiểm
nghiệm kết quả tự suy luận
- Quan sát ví dụ và suy nghĩ để trả lời
+ Tính giá trị của biểu thức
+ Gán giá trị tính được và tên một biến <tên_biến>:=<biểu_thức>;
x:=(-b+sqrt(b*b – 4*a*c))/(2*a);
- In ra màn hình: z=3 và i=7
- Quan sát kết quả của chương trình
IV ĐÁNH GIÁ CUỐI BÀI.
1 Những nội dung đã học
- Các phép toán trong Turbo Pascal: Số học, quan hệ và logic
- Các biểu thức trong Turbo Pascal: Số học, quan hệ và logic
- Cấu trúc lệnh gán trong Turbo Pascal: tên_biến :=biểu_thức;
2 Câu hỏi và bài tập về nhà
- Làm bài tập 5, 6, 7, 8, sách giáo khoa, trang 35 – 36;
- Xem phụ lục A, sách giáo khoa trang 121: Một số phép toán thường dùng và giá trị phép toán logic
Trang 18Ngày soạn:10/10/2012
Tiết: 08
§7 CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN
§8 SOẠN THẢO DỊCH, THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH
I MỤC TIÊU
1 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ấu trúc chung của thủ tục vào/ra trong ngôn ngữ lập trình Pascal
-Biết được các bước để hoàn thành một chương trình
-Biết các file chương trình cơ bản của Turbo Pascal 7.0
2 Kĩ năng.
-Viết đúng lệnh vào/ra dữ liệu
-Biết nhập đúng dữ liệu khi thực hiện chương trình
-Biết khởi động và thoát hệ soạn thảo Turbo Pascal
-Soạn được một chương trình vào máy
-Dịch được chương trình đê phát hiện lỗi cú pháp
-Thực hiện được chương trình để nhập dữ liệu và thu kết quả, tìm lỗi thuật toán và sửalỗi
II ĐỒ DÙNG DẠY HỌC
1 Chuẩn bị của giáo viên
-Sách giáo khoa, Hướng dẫn thực hiện chuẩn kiến thức, kĩ năng môn Tin học THPT.-Tranh chứa các biểu thức trong toán học, một số chương trình viết sẵn
-Máy vi tính có cài phần mềm Turbo Pascal 7.0, máy chiếu Projector, máy chiếu vật thể
2 Chuẩn bị của học sinh.
- Sách giáo khoa
III HOẠT ĐỘNG DẠY – HỌC
1 Hoạt động 1: Ổn định lớp và kiểm tra bài cũ.
2 Hoạt động 2: Giáo viên hướng dẫn học sinh tìm hiểu thủ tục nhập dữ liệu và từ bàn
Hoạt động của giáo viên Hoạt động của học sinh
1 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 phải 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:
1 Chú ý lắng nghe dẫn dắt của giáo viên
- Nghiên cứu sách giáo khoa và suy nghĩ để trả lời
Read(<tên_biến_1>, ,<tên_biến_k>);
Trang 19phương trình ax+b=0, ta phải nhập vào các
đại lượng nào? Viết lệnh nhập?
2 Chiếu một chương trình Pascal đơn giản
có lệnh nhập giá trị có hai biến
- thực hiện chương trình và thực hiện nhập
dữ liệu
- Hỏi : Khi nhập giá trị cho nhiều biến, ta
phải thực hiện như thế nào?
- Những giá trị này phải được gõ cách nhau
ít nhất một dấu cách hoặc kí tự xuống dòng
- Lên bảng thực hiện nhập theo yêu cầu của giáo viên
Hoạt động của giáo viên Hoạt động của học sinh
1 Dẫn dắt: sau khi xử lí xong, kết quả tìm
được đang được lưu trong bộ nhớ Để thấy
được kết quả trên màn hình ta sử dụng thủ tục
xuất 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
xuất 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 trình ax+b=0, ta phải đưa ra màn hình
giá trị của nghiệm –b/a, ta phải viết lệnh như
- Thực hiện chương trình và thực hiện nhập
dữ liệu để học sinh thấy kết quả trên nền màn
hình
- Hỏi : Chức năng của lệnh Writeln();
1 Chú ý lắng nghe dẫn dắt của giáo viên
- Nghiên cứu sách giáo khoa và trả lời
Write(<tên_biến_1>, ,<tên_biến_k>); Writeln(<tên_biến_1>, ,<tên_biến_k>);
Trang 20Hoạt động của giáo viên Hoạt động của học sinh
- Hỏi: ý nghĩa của : 6 trong lệnh Write( )
- Hỏi: Khi các tham số trong lệnh Write()
thuộc kiểu Char hoặc real thì quy định vị trí
+ Chuyển vào thư mục chứa file Turbo.exe
+ Nháy đúp chuột vào tập tin Turbo.exe
(Nếu ở môi trường Win thì chỉ cần bấm biểu tượng Turbo Pascal)
b) Các bước tiến hành:
Hoạt động của giáo viên Hoạt động của học sinh
1 Đặt vấn đề: Để sử dụng được Turbo
Pascal, trên máy phải có các file chương trình
cần thiết Tham khảo sách giáo khoa và cho
biết tên các file chương trình đó?
2 Trình diễn cách khởi động Turbo Pascal
thông qua máy chiếu Projector
- Giới thiệu màn hình soạn thảo chương
trình: Bảng chọn, con trỏ, vùng soạn thảo
1 Tham khảo sách giáo khoa và trả lời Turbo.exe
Turbo.tpl Graph.tpu Egavga.bgi và các file *.chr
2 Học sinh quan sát và ghi nhớ
5 Hoạt động 5: Tập soạn thảo chương trình và dịch lỗi cú pháp.
a) Nội dung:
- Soạn thảo chương trình là gõ các lệnh của chương trình vào trong vùng soạn thảo (giống như trong hệ soạn thảo văn bản)
- Lưu file chương trình trên đĩa bấm F2 hoặc File/save hoặc save as sau đó gõ tên chương trình
và nơi lưu trữ chương trình
- Biên dịch lỗi cú pháp : bấm ALT+F9
- Dịch toàn bộ chương trình: F9
- Thực hiện chương trình: CTRL+F9
Trang 21b) Các bước tiến hành:
Hoạt động của giáo viên Hoạt động của học sinh
1 Soạn một chương trình làm ví dụ, lưu
chương trình, dịch lỗi
- Dùng máy chiếu vật thể để minh họa thao
tác lưu file chương trình và biên dịch
2 Soạn một chương trình, hỏi các lỗi cú
pháp trong chương trình, gọi học sinh dịch lỗi
- Xuất dữ liệu : write/writeln(<tham_số_1>, ,<tham_số_k>);
- Khởi động Turbo Soạn thảo chương trình Dịch lỗi cú pháp Thực hiện chương trình Tìm lỗi thuất toán và hiệu chỉnh
2 Câu hỏi và bài tập về nhà
- Hãy so sánh sự giống nhau và khác nhau giữa Write(); và writeln();
- Hãy so sánh sự giống nhau và khác nhau giữa Read(); và Readln();
- Tìm hiểu chức năng của lệnh Readln; Writeln;
- Viết chương trình nhập vào một số và tính bình phương của số đó
- Viết chương trình nhập độ dài bán kính và t icnhs chu vi diện tích của hìnhtròn tương ứng
- Làm các bài tập 9, 10, sách giáo khoa, trang 36
- Đọc trước nội dung của phần bài tập và thực hành số 1, sách giáo khoa, trang 33
+ Xem phụ lục B, sách giáo khoa, trang 122: Môi trường Turbo Pascal
+ Xem phụ lục B, sách giáo khoa, trang 136: Một số thông báo lỗi
Trang 22- Biết được một chương trình Pascal hoàn chỉnh.
- Làm quen với các dịch vụ chủ yếu của Turbo Pascal trong việc soạn thảo, lưu chương trình, dịch chương trình và thực hiện chương trình
1 Chuẩn bị của giáo viên.
- Phòng máy vi tính đã được cài đầy đủ Turbo Pascal, máy chiếu projector để hướng dẫn
2 Chuẩn bị của học sinh
- Sách giáo khoa, sách bài tập và bài tập đã viết ở nhà
III HOẠT ĐỘNG DẠY – HỌC
Hoạt động của giáo viên Hoạt động của học sinh
1 Chiếu chương trình lên bảng Yêu cầu
học sinh thực hiện các nhiêmj vụ:
- Soạn chương trình vào máy
Trang 23- Trở về màn hình soạn thảo
- Thực hiện chương trình
- Nhập dữ liệu 1 0 2 Thông báo kết quả
- Hỏi: Vì sao có lỗi xuất hiện?
-Sửa lại chương trình không dùng biến d
Enter Ctrl_F9 Thông báo lỗi
Do căn bậc hai cảu một số âm Readln(a, b, c);
b Các bước tiến hành:
Hoạt động của giáo viên Hoạt động của học sinh
1 Định hướng để học sinh phân tích bài
toán
- Dữ liệu vào:
- Dữ liệu ra:
- Cách tính:
2 Yêu cầu học sinh soạn chương trình và
lưu lên đĩa
- Quan sát hướng dẫn từng học sinh trong
s:=sl-s2;
2 Thực hiện các yêu cầu của giáo viên
- Soạn thảo chương trình
- Bấm phím F2, gõ tên file để lưu
- Bấm phím ALT_F9 để dịch lỗi cú pháp
- Bấm phím CTRL_F9 để thực hiện chươngtrình
- thông báo kết quả cho giáo viên
3 Nhập dữ liệu theo yêu cầu
- Với a=3, ta được:s=9(Pi-2)=10.26
- Với a=-3, kết quả không đúng, vì độ dài cạnh phải là một số dương
IV ĐÁNH GIÁ CUỐI BÀI.
1 Những nội dung đã học
- Các bước để hoàn thành một chương trình:
+ Phân tích bài toán để xác định dữ liệu và, dữ liệu ra
+ Xác đinh thuật toán
+ Soạn chương tình vào máy
+ Lưu giữ chương trình
+ Biên dịch chương trình
Trang 24+ Thực hiện và hiệu chỉnh chương trình.
2 Câu hỏi và bài tập về nhà
- Viết chương trình nhập vào độ dài ba cạnh của một tam giác và tính chu vi, diện tích của tam giác đó
- Cho chương trình sau:
+ Nhập dữ liệu và kiểm tra kết quả
- Đọc trước nội dung bài: Cấu trúc rẽ nhánh, sách giáo khoa, trang 38
- Xem phụ lục B, sách giáo khoa, trang 122: Môi trường Turbo Pascal
Trang 25Tiết: 11
BÀI TẬP
I Mục tiêu:
1 Kiến thức:
- Củng cố lại cho học sinh một số kiến thức đã được học ở chương 1 và 2
- Học sinh biết sử dụng các thủ tục vào/ra chuẩn, một số phép toán và câu lệnh gán
2 Kĩ năng:
- Học sinh biết sửa lỗi một chương trình, dự đoán kết quả của chương trình cho trước
- Học sinh viết được một số chương trình đơn giản bằng cách sử dụng câu lệnh gán và các thủ tục vào ra chuẩn
II Chuẩn bị của giáo viên và học sinh:
- Giáo viên: sách giáo khoa, sách bài tập và một số bài tập tham khảo thêm
- Học sinh: sách giáo khoa, sách bài tập
III Phương pháp:
- Vấn đáp
- Gợi mở
- Nêu vấn đề
IV Hoạt động dạy-học
1 Hoạt động 1: Ổn định lớp và kiểm tra bài cũ.
2 Hoạt động 2: Rèn luyện cho học sinh giải các bài tập về xác định kiểu dữ liệu, biểu
diễn biểu thức trong Pascal
Xác định kiểu dữ liệu và giá trị của các biểu thức sau:
Biểu thức Kiểu dữ liệu Giá trị(a-b)/sqrt(c-d)
(adivb)/(amodb)Sqr(amodb)
3 Hoạt động 3: Rèn luyện cho học sinh kĩ năng đọc hiểu chương trình và sửa lỗi trong
một chương trình cho trước
Tìm, sửa lỗi và cho biết kết quả khi thực hiện chương trình sau:
Trang 264 Hoạt động 4: Rèn luyện cho học sinh các kĩ năng ban đầu về viết các chương trình đơn
Trang 27- Học sinh biết sửa lỗi một chương trình, dự đoán kết quả của chương trình cho trước.
- Học sinh viết được một số chương trình đơn giản bằng cách sử dụng câu lệnh gán và các thủ tục vào ra chuẩn
II Chuẩn bị của giáo viên và học sinh:
- Giáo viên: đề kiểm tra
- Học sinh:các kiến thức đã học để làm các bài tập
Xác định kiểu dữ liệu và giá trị của các biểu thức sau: (2 đ)
Biểu thức Kiểu dữ liệu Giá trị(c+d)/(a+b)
(a>b) or (c>d)2) Viết các biểu thức sau trong ngôn ngữ lập trình Turbo Pascal(3đ)
Trang 29- Hiểu nhu cầu của cáu trúc rẽ nhánh trong biểu diễn thuật toán.
- Học sinh nắm vững ý nghĩa và cú pháp của câu lệnh rẽ nhánh dạng khuyết và dạng đủ,hiểu được cách sử dụng câu lệnh ghép
2 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 được để thể hiện thuật toáncủa một số bài toán đơn giản
II ĐỒ DÙNG DẠY HỌC
1 Chuẩn bị của giáo viên
- Sách giáo khoa, sách giáo viên, Hướng dẫn thực hiện chuẩn kiến thức, kĩ năng môn Tin học THPT
- Các sơ đồ khối của cấu trúc rẽ nhánh dạng đủ và thiếu
2 Chuẩn bị của học sinh.
- Sách giáo khoa
III HOẠT ĐỘNG DẠY – HỌC
1 Hoạt động 1: Ổn định lớp và kiểm tra bài cũ.
2 Hoạt động 2: Giáo viên hướng dẫn học sinh tìm hiểu thủ tục nhập dữ liệu và từ bàn
Hoạt động của giáo viên Hoạt động của học sinh
GV: Cho ví dụ về 1 câu điều kiện?
GV: Chọn hai câu làm ví dụ 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
HS:+ Nếu em thuộc bài thì 10 điểm…
+ Nếu tối nay trời mưa thì em nghỉ họcngược lại thì em đi học…
3 Hoạt động 3: Tìm hiểu cú pháp, ý nghĩa và cách thực hiện câu lệnh rẽ nhánh dạng đủ và
thiếu
Cú pháp:
- 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>;
Trang 30 Cách thực hiện:
- Bước 1: Tình giá trị biểu thức điều kiện
- Bước 2: Nếu biểu thức điều kiện nhận giá trị đúng thì câu lệnh 1/câu lệnh được thực hiện; nếu biểu thức điều kiện nhận giá trị sai thì câu lệnh 2 được thực hiện Trong trường hợp câu lệnh rẽ nhánh dạng thiếu thì kết thúc câu lệnh IF và chuyển qua các câu lệnh tiếp theo
Sơ đồ khối:
Ví dụ:
- Tìm giá trị lớn nhất của hai số a,b
C1: If a>b then max:=a else max:=b;
C2: max:=a;
If max<b then max:=b;
- Viết câu lệnh cho biết pt bậc 2 có nghiệm hay không?
If delta<0 then write(‘PT vo nghiem!’)
Else write(‘PT co nghien’);
max:=a; if a < b then max:=b;
GV: lưu ý các em trước từ khoá Else không có dấu ;
và sau then, sau else chỉ có 1 lệnh chương trình
GV: Với 2 dạng này, dạng nào thuận tiện hơn?
GV:Gọi học sinh viết câu lệnh kiểm tra pt bậc 2có
nghiệm hay không?
Trang 31nói riêng; Tìm hiểu một số chương trình có sử dụng cấu trúc rẽ nhánh
→ Dẫn đến khái niệm và cách dùng câu lệnh
ghép: nếu trong cấu trúc rẽ nhánh, sau THEN có
GV: Phân nhóm và yêu cầu học sinh thảo luận
HS: Phát biểu ý kiến của mình.
Đ: B1: Nhập a, b, c.
B2: Tính d = b2 – 4ac;
B3: + Nếu d < 0 thì pt vô nghiệm + Ngược lại thì pt có 2 nghiệm
Trang 32Hoạt động của giáo viên Hoạt động của học sinh
nhóm để viết chương trình thể hiện thuật toán
trên Ghi lời giải vào bảng phụ
GV: Yêu cầu đại diện nhóm lên treo bảng lời giải
Trang 33Tiết: 15
BÀI TẬP
I Mục tiêu:
1 Kiến thức:
- Củng cố lại cho học sinh các số kiến thức về cấu trúc rẽ nhánh dạng đủ và dạng thiếu
- Học sinh biết sử dụng cấu trúc rẽ nhánh
2 Kĩ năng:
- Học sinh biết sửa lỗi một chương trình, dự đoán kết quả của chương trình cho trước
- Học sinh viết được một số chương trình thông qua các câu lệnh nhập xuất, lệnh gán và caâ lệnh rẽ nhánh
II Chuẩn bị của giáo viên và học sinh:
- Giáo viên: sách giáo khoa, sách bài tập và một số bài tập tham khảo thêm
- Học sinh: sách giáo khoa, sách bài tập
III Phương pháp:
- Vấn đáp
- Gợi mở
- Nêu vấn đề
IV Hoạt động dạy-học
1 Hoạt động 1: Ổn định lớp và kiểm tra bài cũ.
2 Hoạt động 2: Học sinh dự đoán kết quả của một chương trình cho trước.
Cho biết kết quả khi thực hiện chương trình sau:
3 Hoạt động 3: Rèn luyện cho học sinh cách viết câu lệnh rẽ nhánh
Viết đoạn chương trình chứa các câu lệnh IF để tính:
nếu điểm (x,y) thuộc đường tròn (I,r)
4 Hoạt động 4: Rèn luyện cho học sinh các kĩ năng về viết các chương trình
1) Viết chương trình nhập vào toạ độ 3 điểm, kiểm tra 3 điểm đó có tạo thành tam giác không? Nếu có hãy tính diện tích tam giác đó
Nhập vào số giờ và lương một giờ rồi tính tiền lương tổng cộng Biết rằng nếu số giờ làm lớn hơn 40 thì những giờ làm vượt trội được trả gấp 1.5 lần bình thường
Trang 34Ngày soạn: 03/12/2012
Tiết: 16+17
ÔN TẬP
A MỤC TIÊU, YÊU CẦU:
- Ôn tập và hệ thống các kiến thức cũng như rèn luyện về kĩ năng ban đầu khi học sinh mớitiếp xúc với ngôn ngữ lập trình
- Học sinh nắm và vận dụng được các cấu trúc rẽ nhánh và lặp vào các bài toán cụ thể
B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:
2 Hoạt động 2: Củng cố lại các kiến thức đã học về ngôn ngữ lập trình, các kiểu dữ liệu trong
Pascal, cấu trúc chương trình thông qua các câu trắc nghiệm
Câu 1) Chọn phát biểu sai trong các phát biểu sau :
A Nói chung, chương trình thường gồm hai phần : phần khai báo và phần thân;
B Phần thân chương trình nhất thiết phải có;
C Phần khai báo nhất thiết phải có; (*)
D Phần thân chương trình có thể không chứa một lệnh nào;
Câu 2) Xét chương trình Pascal cho khung dưới đây :
Chọn phát biểu sai trong các phát biểu dưới đây :
A Khai báo tên chương trình là vi du (*)
B Khai báo tên chương trình là vi_du
C Thân chương trình có hai câu lệnh
D Chương trình không có khai báo hằng
Câu 3) Chọn phát biểu đúng trong các phát biểu sau :
A Mọi ngôn ngữ lập trình đều có các kiểu dữ liệu chuẩn là : kiểu nguyên, kiểu thực,
kiểu kí tự, kiểu lôgic;
B Quy định về phạm vi giá trị và kích thước bộ nhớ lưu trữ một giá trị của các kiểu
dữ liệu chuẩn trong mọi ngôn ngữ lập trình là như nhau;
C Dữ liệu kiểu byte có 256 giá trị từ 0, 1, 2, …, 255; (*)
D Dữ liệu kiểu kí tự chỉ có 256 giá trị;
Câu 4) Cho các gợi ý về khai báo biến như sau :
Nên đặt tên biến sao cho gợi nhớ đến ý nghĩa của biến đó
Không nên đặt tên biến quá ngắn
Không nên đặt tên biến quá dài, dễ mắc lỗi khi gõ tên biến trong chương trình
Khi khai báo biến cần chú ý đến phạm vi giá trị của nó để chọn kiểu biến cho phù hợp
PROGRAM vi_du;
BEGIN
Writeln(‘Xin chao cac ban’);
Writeln(‘Moi cac ban lam quen voi Pascal’);
END.
Trang 35C 3 gợi ý đúng;
D 4 gợi ý đúng; (*)
Câu 5) Cho một chương trình còn lỗi như sau :
Tìm kết luận đúng nhất về lỗi của chương trình trong các kết luận sau :
A Thiếu Begin
B Không khai báo biến d
C Thiếu Begin và không khai biến d (*)
Câu 7) Hãy chọn phương án ghép đúng nhất Để mô tả cấu trúc rẽ nhánh trong thuật
toán, nhiều ngôn ngữ lập trình bậc cao dùng câu lệnh IF – THEN, sau IF là <điều kiện>
Câu 8) ELSE <câu lệnh 2>, câu lệnh 2 được thực hiện khi
A biểu thức điều kiện đúng và câu lệnh 1 thực hiện xong;
B câu lệnh 1 được thực hiện;
C biểu thức điều kiện sai; (*)
D biểu thức điều kiện đúng;
Câu 9) Hãy chọn cách dùng sai Muốn dùng biến X lưu giá trị nhỏ nhất trong các giá trịcủa hai biến A, B có thể dùng cấu trúc rẽ nhánh như sau :
A if A <= B then X := A else X := B;
B if A < B then X := A; (*)
C X := B; if A < B then X := A;
D if A < B then X := A else X := B;
Câu 10) Chọn phát biểu sai trong các phát biểu sau đây :
A Để mô tả việc lặp đi lặp lại một số thao tác (hoặc câu lệnh) trong một thuật toán
ta có thể dùng cấu trúc lặp
B Tùy từng trường hợp cụ thể (khi mô tả một thuật toán), khi thì ta biết trước số lần
lặp, khi thì ta không cần hoặc không xác định được trước số lần lặp các thao tácnào đó
C Có thể dùng cấu trúc lặp để thay cho cấu trúc rẽ nhánh trong mô tả thuật toán (*)
D Không thể mô tả được mọi thuật toán bằng ngôn ngữ lập trình bậc cao nếu không
END.
Trang 363 Hoạt động 3: Rèn luyện kĩ năng đọc-hiểu chương trình.
Cho biết kết quả khi thực hiện đoạn chương trình sau:
4 Hoạt động 4: Rèn luyện kĩ năng lập trình.
1) Viết chương trình tính tổng bình phương các số lẻ từ 1 đến n với n nguyên dương chotrước,được nhập vào từ bàn phím
2) Viết chương trình tính S=20+21+22+….+2N với n nguyên dương cho trước
Trang 37- Đánh giá khả năng tổ chức 1 chương trình Pascal với các cấu trúc cơ bản.
III Đề kiểm tra:
ĐỀ KIỂM TRA HKI MÔN: TIN HỌC 11 - -
Thời gian: 45 phút (không kể thời gian giao đề)
I Phần trắc nghiệm (4 điểm): Mỗi câu trả lời đúng được 0.4 điểm
Câu 1 Chọn phát biểu sai trong các phát biểu sau đây :
A Trong Pascal, phép chia số thực (kí hiệu là "/") cũng áp dụng được cho chia hai số nguyên
B Trong Pascal, phép chia số nguyên (kí hiệu là div) cũng áp dụng được cho hai số thực
C Trong máy tính, không thể chia một số cho số nhỏ tùy ý (tùy ý sát gần giá trị 0)
D Hầu hết các ngôn ngữ lập trình đều có các phép toán số học và phép toán quan hệ
Câu 2 Cho x và y là các biến đã khai báo kiểu thực, câu lệnh nào sau đây là đúng ?
A Readln(x:5:2) B Readln(x,y) C Readln(x,5) D Readln( ' x= ' , x)
Trang 38Câu 3 Hãy chọn phương án ghép đúng Với cấu trúc rẽ nhánh IF <điều kiện> THEN
<câu lệnh 1> ELSE <câu lệnh 2>, câu lệnh 2 được thực hiện khi
A biểu thức điều kiện đúng và câu lệnh 1 thực hiện xong B câu lệnh 1 được thực hiện
C biểu thức điều kiện sai D biểu thức điều kiện đúng
Câu 4 Phát biểu nào dưới đây là hợp lí nhất ?
A Biến là đại lượng được đặt tên và có giá trị thay đổi trong quá trình thực hiện chương trình
B Biến có thể lưu trữ nhiều loại giá trị khác nhau
C Biến có thể đặt hoặc không đặt tên gọi
D Biến là đại lượng nhận giá trị trước khi chương trình thực hiện
Câu 5 Phát biểu nào dưới đây là sai khi nói về biên dịch và thông dịch ?
A Một ngôn ngữ lập trình có thể có cả chương trình thông dịch và chương trình biên dịch
B Chương trình dịch của ngôn ngữ lập trình bậc cao gọi là biên dịch còn thông dịch là chương trình dịch dùng với hợp ngữ
C Biên dịch và thông dịch đều kiểm tra tính đúng đắn của câu lệnh
D Thông dịch lần lượt dịch và thực hiện từng câu lệnh còn biên dịch phải dịch trước toàn
bộ chương trình sang mã nhị phân thì mới có thể thực hiện được
Câu 6 Hãy chọn phương án ghép đúng nhất Để mô tả cấu trúc rẽ nhánh trong thuật
toán, nhiều ngôn ngữ lập trình bậc cao dùng câu lệnh IF - THEN, sau IF là <điều kiện>
Điều kiện là
A biểu thức số học B biểu thức quan hệ C biểu thức lôgic D một câu lệnh
Câu 7 Phát biểu nào dưới đây chắc chắn sai ?
A Chương trình được tạo thành từ tổ hợp các câu lệnh và các khai báo cần thiết về biến, hằng, hàm, … B Lập trình và chương trình là hai khái niệm tương đương, đều làcách mô tả thuật toán bằng ngôn ngữ lập trình
C Lập trình là viết chương trình
D Chương trình chưa chắc là đã đúng nếu cho kết quả đúng với rất nhiều bộ dữ liệu vào
Câu 8 Phát biểu nào sau đây có thể lấy làm biểu thức điều kiện trong cấu trúc rẽ
nhánh?
A "A nho hon B" B A > B C N mod 100 D A + B
Câu 9 Những biểu thức nào sau đây có giá trị TRUE ?
A ( 4 > 2 ) and not( 4 + 2 < 5 ) or ( 2 > 4 div 2 )
B ( 3 < 5 ) or ( 4 + 2 < 5 ) and ( 2 < 4 div 2 )
C 4 + 2 * ( 3 + 5 ) < 18 div 4 * 4 D ( 20 > 19 ) and ( 'B' < 'A' )
Câu 10 Hãy chọn phương án ghép đúng Với cấu trúc rẽ nhánh IF <điều kiện> THEN
<câu lệnh>, câu lệnh đứng sau THEN được thực hiện khi
A điều kiện được tính toán và cho giá trị đúng B điều kiện được tính toán xong
C điều kiện không tính được D điều kiện được tính toán và cho giá trị sai
II Phần tự luận: (6 điểm)
Câu 1(2 điểm): Biểu diễn các biểu thức sau trong Pascal:
Trang 39Câu 3(2.5 điểm): Viết chương trình nhập vào tọa độ 3 điểm A,B,C Kiểm tra 3 điểm A,B,C có
tạo thành tam giác không? Nếu có cho biết đó là tam giác thường, tam giác cân hay tam giác đều
Trang 40- Biết được ý nghĩa của cấu trúc lặp.
- Biết được cấu trúc chung của lệnh lặp for trong ngôn ngữ lập trình Pascal
- Biết sử dụng đúng hai dạng lệnh lặp For trong ngôn ngữ lập trình Pascal
- Biết được ý nghĩa của cấu trúc lặp có số lần lặp chưa xác định
- Biết được cấu trúc chung của lệnh lặp While trong ngôn ngữ Pascal
- Biết được sự thực hiện của máy khi gặp lệnh lặp While
1 Chuẩn bị của giáo viên.
- Sách giáo khoa, sách giáo viên, Hướng dẫn thực hiện chuẩn kiến thức, kĩ năng môn Tin học THPT
- Máy vi tính, máy chiếu Overhead, bìa trong, bút dạ, máy chiếu Projector,
2 Chuẩn bị của học sinh.
- Sách giáo khoa
III HOẠT ĐỘNG DẠY – HỌC
Tiết 19+20
1.Hoạt động 1: Ổn định lớp và kiểm tra bài cũ.
2 Hoạt động 2: Tìm hiểu ý nghĩa của cấu trúc lặp.
a Nội dung:
Bài toán 1: Viết chương trình tính tổng S = 1/a+ 1/a+1 + 1/a+2 + + 1/a+100
Bài toán 2: Một người có số tiền là S, ông ta gửi tiền 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 tiết kiệm (không rút tiền lãi hàng tháng), ông ta được số tiền
là bao nhiêu?
b Các bước tiến hành:
1 Nếu bài toán đặt vấn đề như bài toán 1
- Hãy xác định công thức toán học để tính
tổng?
- Gợi ý phương pháp: Ta xem S như là một
cái thùng, các số hạng như là những cái ca có
dung tích khác nhau, khi đó việc tính tổng
trên tương tự việc đổ các ca nước vào trong
thùng S
- Có bao nhiêu lần đổ nước vào thùng?
1 Chú ý quan sát bài toán đặt vấn đề