Có 3 loại hằng + Hằng số học: số nguyên, só thực, có dấu và không dấu + Hằng xâu: chuổi kí tự bất kì, được đặt trong dấu nháy đơn + Hằng logic: có 2 giá trị True hoặc False * Biến: là đ
Trang 1Hiểu và phân biệt được các thành phần này
II Lên lớp
1 Ổn định tình hình lớp.
Giới thiệu làm quen với HS của lớp
Tạo tâm lý và quan hệ tốt với HS trước khi bắt đầu tiết học đầu tiên
2 Bài mới
ĐVĐ: Về lập trình các em chỉ mới
được tìm hiểu qua bài các bước để
giải bài toán trên máy tính chta chưa
có khái niệm cụ thể Còn ngôn ngữ
Phân biệt ng 2 bậc cao: chtrình viết
bằng ng 2 bậc cao k o phụ thuộc vào
loại máy và phải dùng chtrình dịch
Giải thích thêm về câu lệnh:
- Cl để diễn tả các thao tác trong các
bước của t/toán
- Cl đơn thực hiện bước có 1 thao tác
- Cl ghép thực hiện bước gồm dãy
các thao tác
Dẫn dắt: Chtrình viết bằng ng2 máy sẽ
thực hiện được ngay, còn chtrình viết
bằng ng2 bậc cao thì phải chuyển đổi
thành chtrình trên ng2 máy mới có thể
Tl:Ng2 máy, hợp ngữ, ng2 bậc cao
1 K/n lập trình
(Sgk)
Ý nghĩa: tạo ra các chtrình giải được bài toán trên MT
Trang 2thực hiện được Công cụ thực hiện
chuyển đổi đó gọi là chtrình dịch
H: Input, Output của chtrình dịch là
gì? ( Có thể cho điểm miệng Hs trả
Trước hết chta tìm hiểu bảng chữ
cái Treo bảng chữ cái
b a va b a neu b a
S
1
1
2 2
Xem thử 3 cách mô tả cách nào
đúng
Tl: In: chtrình viết
bằng ng2 bậc caoOut: chtrình trên ng2 máy
Tl: (2-3Hs) phát hiện
lỗi cú pháp của chtrình nguồn
- Biên dịch: dịch toàn
bộ chtrình rồi mới thực hiện và được lưu trữ để sử dụng lại lần sau
CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH
Trang 3H: Lỗi ngữ nghĩa thường được phát
hiện khi nào?
Cách 3:
If a 2 +b 2 >1 and a>b
then s=a+b Else s=1
Khái niệm biên dịch và thông dịch
Lỗi cú pháp, lỗi ngữ nghĩa
4 Về nhà:
Đọc Bài đọc thêm 1 để tìm hiểu sơ về 1 số ng2 lập trình
Soạn trước phần còn lại của bài 2 Trong đó chú ý các khái niệm mới: tên, hằng, biến Cách sử dụng nó trong lập trình
Phân biệt được tên chuẩn với tên dành riêng và tên tự đặt
Nhớ các qui định về tên hằng biến
Biết đặt tên đúng, nhận biết được tên sai qui định
III HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: Kiểm tra bài cũ
Trang 4bằng gì?
Nhận xét, đánh giá cho điểm 3 Hs
2 Hoạt động 2: Tìm hiểu khái niệm tên trong thành phần của ngôn ngữ lập trình.
ĐVĐ: Mọi đối tượng trong
chtrình đếu phải được đặt tên
1 N/cứu Sgk nêu qui tắc đặt tên
trong Turbo Pascal?
3 Y/cầu Hs n/cứu Sgk để biết các
khái niệm về tên dành riêng, tên
chuẩn, tên tự đặt
Chia lớp thành 3 nhóm, mỗi
nhóm tìm hiểu và trình bày về
một loại tên và cho ví dụ
Treo tranh chứa 1 số tên trong
NNLT Pascal đã được chuẩn bị
+ Không quá 127 kí tự, không bắt đầu bằng kí
tự số
2 Quan sát và trả lời
A A_BC _24 A5d
3 N/cứu sgk và trả lời
Thảo luận theo nhóm
và cử người trình bày
+ Tên dành riêng+ Tên chuẩn+ Tên do người dùng đặt
Quan sát và ghi lên bảng con
+ Từ khóa: Type, Const, function
+ Tên chuẩn: Integer,
1 Khái niệm Tên
(Sgk)
Ví dụ:
+ Tên dành riêng+ Tên chuẩn+ Tên do người dùng đặt
Ví dụ:
Trang 5Quan sát kết quả cnhóm khác, nhận xét
và bổ sung
3 Hoạt động 3:Tìm hiểu hằng, biến, chú thích
a Mục tiêu: Hs biết được khái niệm về hằng, biến và chú thích Phân biệt được hằng
và biến Thấy được ý nghĩa của chú thích
b Nội dung:
* Hằng là đại lượng có giá trị không đổi trong quá trình thực hiện chtrình Có 3
loại hằng
+ Hằng số học: số nguyên, só thực, có dấu và không dấu
+ Hằng xâu: chuổi kí tự bất kì, được đặt trong dấu nháy đơn
+ Hằng logic: có 2 giá trị True hoặc False
* Biến: là đại lượng đặt tên để lưu giá trị và giá trị này có thể thay đổi trong quá
trình thực hiện chtrình, biến dùng trong chtrình đều phải được khai báo
* Chú thích : giải thích cho chtrình rõ ràng, dể hiểu Được đặt trong cặp dấu
4 Y/cầu Hs n/cứu Sgk và cho biết
chức năng của chú thích trong
chtrình
Cho 1 số ví dụ khác về chú thích
1 Suy nghĩ và trả lời
+ Hằng số: 55 73.05+ Hằng xâu: ‘211’
‘AB’
+ Hằng logic: False True
Xem k/niệm hằng ở Sgk
2 Quan sát và trả lời + Hằng số: 56; -3785;
1.5E+2 + Hằng xâu: ‘485’
Trang 6H: Tên biến và tên hằng thuộc
loại tên nào?
H: Các lệnh được viết trong cặp {
} có được TP thực hiện ko? Vì
sao?
giữa cặp dấu { } và (*
*) dùng để giải thích chtrình rõ ràng dễ hiểu.
Thành phần của NNLT: bảng chữ cái, cú pháp, ngữ nghĩa
Khái niệm: tên, từ khóa, tên chuẩn, tên tự đặt, biến, hằng, …
2 Câu hỏi, bài tập về nhà.
Làm bài tập 3, 4, 5 trang 13 Sgk
Xem bài đc thêm: Ngôn ngữ Pascal
Xem trước bài: Cấu trúc chtrình Sgk
Xem nội dung phụ lục B, trang 128 Sgk: Một số tên dành riêng
- 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 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 ĐỒ DÙNG DẠY HỌC
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 của chương
2 Học sinh: Ôn lại kiến thức của chương, chuẩn bị bài tập cuối chương.
III HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: Kiểm tra bài cũ
Trang 7Hđ của GV Hđ của HS
1 Phân biệt giữa Hằng và Biến? Cho một
số biến đúng?
2 Đâu là từ khóa trong các tên sau đây?
Integer Begin Do int chan
tong
- Nhận xét, đánh giá cho điểm
HS1: trả lời Hs2: trả lời (Begin và Do)
2 Hoạt động 2:
Đ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: Biên dịch
- 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
Câu 1:Ngôn ngữ bậc cao
+ gần với ngôn ngữ tự nhiên hơn,
+ không phụ thuộc vào phần cứng máy tính và một chương trình có thể thực hiện trên nhiều máy tính khác nhau; + dễ hiểu, dễ hiệu chỉnh và dễ nâng cấp;
+ 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
mô tả thuộc toán
Câu 2:
Trình biên dịch: duyệt, kiểm
tra, phát hiện lỗi, xác định chương trình nguồn có dịch được không? dịch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ lại để sử dụng về sau khi cần thiết
Trình thông dịch lần lượt dịch
từng câu lệnh ra ngôn ngữ máy rồi thực hiện ngay câu lệnh vừa dịch được hoặc báo lỗi nếu không dịch được
3 Hoạt động 3:
Đặt câu hỏi 3: 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? Viết 3 tên đúng
quy tắctrong Pascal?
- Gọi hs trả lời và cho ví
dụ
Suy nghĩ, trả lời, giải thích
Câu 3: 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
VD:
Tên dành riêng trong Pascal:
program, uses, const, type, var,
Trang 8- Phân tích câu trả lời của
học sinh
Hỏi: Nêu lại quy tắc đặt
tên trong Pascal?
- Gọi 3 học sinh lên bảng
cho ví dụ về tên do người
begin, end
Tên chuẩn: trong Pascal abs,
integer
4 Hoạt động 4:
Đặt câu hỏi 4: 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:
- Nhận xét, giải thích
Trả lời giải thích từng câu một
Câu 4:
IV ĐÁNH GIÁ CUỐI BÀI
Câu hỏi, bài tập về nhà
Xem trước Chương 3 gồm các bài: Cấu trúc chương trình và Một số kiểu dữ liệu chuẩn Xem trước nội dung phụ lục B phần 3: Một số kiểu dữ liệu chuẩn (trang
129 Sgk)
-Bài tập kiểm tra trắc nghiệm cuối chương: (15 phút)
Câu 1:Chương trình viết bằng hợp ngữ không có đặc điểm nào trong các đặc điểm
sau:
A Ngắn gọn hơn so với chương trình được viết bằng ngôn ngữ bậc cao
B Tốc độ thực hiện nhanh hơn so với chương trình được viết bằng ngôn ngữ bậc cao
C Diễn đạt gần với ngôn ngữ tự nhiên
D Sử dụng trọn vẹn các khả năng của máy tính
Câu 2: Chương trình viết bằng ngôn ngữ bậc cao không có đặc điểm nào trong các
đặc điểm sau:
A Không phụ thuộc vào loại máy, chương trình có thể thực hiện trên nhiều loại máy
B Ngắn gọn, dễ hiểu, dễ hiệu chỉnh và nâng cấp
C Kiểu dữ liệu cà cách tổ chức dữ liệu đa dạng, thuận tiện cho mô tả thuật toán
D Máy tính có thể hiểu và thực hiện trực tiếp chương trình này
Câu 3: Chương trình dịch không có khả năng nào trong các khả năng sau?
A Phát hiện được lỗi ngữ nghĩa C Phát hiện được lỗi cú pháp
Trang 9B Thông báo lỗi cú pháp D Tạo được chương trình dịch.
Câu 4: Nhận biết đúng/sai trong Pascal?
ST T
(2) Thông dịch (B) dịch và thực hiện từng câu lệnh, nếu còn câu lệnh
tiếp theo thì quá trình này còn tiếp tục
(3) Chương trình viết trên
ngôn ngữ lập trình bậc
cao
(C) là những đạ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
(4) Biến (d) 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
(5) Hằng (E) phải được chuyển đổi thành chương trình trên
ngôn ngữ máy mới có thể thực hiện được
-Ngày soạn:
Ngày dạy:
CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN
I MỤC TIÊU
1 Kiến thức
Hiểu chtrình là sự mô tả của thuật toán bằng một NNLT
Biết cấu trúc của một chtrình đơn giản: cấu trúc chung và các thành phần
Trang 10III HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: (5 phút) Kiểm tra bài cũ
H1: Phân biệt tên chuẩn và từ khóa? Tên
hằng, tên biến thuộc loại tên nào?
H2: Cho một số tên biến, hằng đúng qui
cách?
Nhận xét, đánh giá cho điểm 3 hs
Hs1: trả lời trước lớp
Hs2: trình bày trên bảng Hs3: nhận xét phần trả lời của Hs2
2 Hoạt động 2: (5phút) Tìm hiểu cấu trúc chung của chtrình
a Mục tiêu: Hs biết được chtrình có 2 phần.
b Nội dung: Cấu trúc chtrình có 2 phần: phần khai báo, phần thân.
c Các bước tiến hành:
1 Câu hỏi gợi ý: Một bài tập
làm văn thường viết có mấy
- Dễ viết, dễ đọc và dễ hiểu nội dung
2 N/cứu sgk, thảo luận
CẤU TRÚC CHƯƠNG TRÌNH
1 Cấu trúc chung
Có 2 phần:
[<phần khai báo>]
<phần thân chtrình>
3 Hoạt động 3: (15phút) Tìm hiểu các thành phần của chtrình.
a Mục tiêu: Hs biết được nội dung của các thành phần trong chtrình
b Nội dung:
Phần khai báo: khai báo tên chtrình, khai báo các thư viện, khai báo hằng, khai báo biến, khai báo chtrình con,
Trang 11Phần thân: bao gồm dãy lệnhđược đặt trong cặp dấu hiệu mở đầu và kết thúc
Begin
Các câu lệnh;
End.
c Các bước tiến hành:
1 Y/cầu Hs n/cứu Sgk và trả lời
câu hỏi:
- Trong phần khai báo có những
khai báo nào?
Dẫn dắt: Cách khai báo các đối
tượng này trong chtrình như thế
nào?
2 Y/cầu Hs tiếp tục n/cứu Sgk
và lấy ví dụ cho từng loại khai
báo
* Cách khai báo biến sẽ được
tìm hiểu riêng trong tiết sau
* Khai báo và sử dụng CTC
được trình bày ở chươngVI
3 Y/cầu Hs cho biết cấu trúc
của phần thân chtrình
1 N/cứu sgk, thảo luận
và trả lời:
- Khai báo tên chtrình
- Khai báo thư viện CTC
Dãy các câu lệnh;
End.
2 Các thành phần của chương trình
a Phần khai báo
Program tên_chtrình; Uses tên_thư_viện; Const tên_hằng = giá_trị;
kiểu_dữ_liệu;
b Phần thân
4 Hoạt động 4: (15 phút) Xét một vài ví dụ về những chtrình đơn giản
a Mục tiêu: Hs nhận biết được từng phần của một chtrình đơn giản.
b Nội dung: Một vài chtrình đơn giản.
Trang 12trong chtrình trên, nhưng kết
quả chtrình không thay đổi?
CT, khai báo thư viện, khai báo biến
- Còn lại là phần thân
+ lệnh gán (: =)+ lệnh đưa thông tin ra màn hình
2 Suy nghĩ, thảo luận
và trả lời
Dòng khai báo tên Dòng khai báo thư viện.
3 Thảo luận và trả lời
Trình bày trên bìa trắng
IV ĐÁNH GIÁ CUỐI BÀI
1 Nội dung đã học
Một chtrình gồm có 2 phần: phần khai báo và phần thân
2 Câu hỏi, bài tập về nhà
Xem trước bài: Một số kiểu dữ liệu chuẩn Khai báo biến (trang 21-23 sgk)Xem trước nội dung phụ lục B phần 3: Một số kiểu dữ liệu chuẩn (trang 129 Sgk)
-Ngày soạn:
Ngày dạy:
KHAI BÁO BIẾN
I MỤC TIÊU
1 Kiến thức
Biết một số kiểu dữ liệu chuẩn: nguyên, thực, kí tự, logic
Trang 13Hiểu cách khai báo biến
2 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
3 Tư duy – thái độ:
Tư duy logic
II ĐỒ DÙNG DẠY HỌC
1 Giáo viên: Máy tính, máy chiếu projector, một số ví dụ minh hoạ.
Bảng treo chứa một số khai báo biến cho Hs chọn Đúng - Sai
2 Học sinh: SGK
III HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: Kiểm tra bài cũ
H1: Nêu cấu trúc chung của một chương
trình?
H2: Nêu cấu trúc của các phần khai báo: tên
chương trình, hằng, thư viện?
Nhận xét, đánh giá cho điểm 3 hs
Hs1: trả lời trước lớp
Hs2: trình bày trên bảng Hs3: nhận xét phần trả lời của Hs2
2 Hoạt động 2: Đặt vấn đề
Trong toán học để thực hiện được
Đọc sách
3 Hoạt động 3: Một số kiểu dữ liệu chuẩn.
a Mục tiêu: Biết được tên và giới hạn biểu diễn của một số kiểu dữ liệu chuẩn.
b Nội dung: Kiểu số nguyên: Byte, Integer, Word, Longint
Kiểu số thực: Real, ExtendedKiểu kí tự: là kí tự thuộc bảng mã ASCII (char)Kiểu logic: là tập hợp gồm 2 giá trị True và False, là kết quả của phép so sánh
c Các bước tiến hành:
1 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/cầu Hs n/cứu Sgk trả lời các
câu hỏi sau:
H 1 : Có bao nhiêu dữ liệu chuẩn
trong ngôn ngữ Pascal ?
H 2 : Trong ngôn ngữ Pascal, có
1 Chú ý, lắng nghe
- 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
Trang 14những kiểu nguyên nào thường
dùng, phạm vi biểu diễn của mỗi
loại?
H 3 : Trong ngôn ngữ Pascal, có
những kiểu thực nào thường dùng,
phạm vi biểu diễn của mỗi loại?
H 4 : Trong ngôn ngữ Pascal, có bao
nhiêu kiểu kí tự?
H 5 : Trong ngôn ngữ Pascal, có
bao nhiêu kiểu logic, gồm các giá
trị nào?
Treo bảng
3 Giải thích một số vấn đề cho Hs
+ Vì sao phạm vi biểu diễn của các
loại số nguyên là khác nhau?
+ Miền giá trị của các loại kiểu
thực, số chữ số có nghĩa?
4 Ứng dụng: Muốn tính toán các
giá trị: 5, 8, 9.05 ta phải sử dụng
kiểu dữ liệu nào?
integer, word, longint
4 Hoạt động 4: Tìm hiểu cách khai báo biến
b Nội dung: Cấu trúc chung của khai báo biến trong lập trình bằng Pascal:
Var tên_biến_1: kiểu_dữ_liệu_1;
1 Yêu cầu học sinh nghiên cứu
sách GK và cho biết vì sao phải
khai báo biến ?
Cấu trúc chung của khai báo biến
bằng Pascal:
1 Đọc sách.
Mọi biến dùng trong chtrì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ới đị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>;
2 Khai báo biến
Trang 15Cho ví dụ: Cần một biến kiểu
nguyên, và một biến kiểu logic
2 Treo bảng có chứa một số khai
báo và yêu cầu Hs chọn khai báo
đúng trong Pascal?
3 Treo bảng có chứa một số khai
báo trong Pascal
Hỏi: Có tất cả bao nhiêu biến, bộ
nhớ phải cấp phát là bao nhiêu?
i(1byte), c(1byte)2+2+6+1+1=12byte
Chọn khai báo đúng
Var x, y, z: word;
n m: real;
X: longint; I: byte;
a: inte gr;
true: boolean;
Var x, y: word;
Các kiểu dữ liệu chuẩn: nguyên, thực, kí tự, lôgic
Cách khai báo biến
2 Câu hỏi, bài tập về nhà
Trang 163 Tư duy và thái độ :
Phát triển tư duy lôgic, linh hoạt, có tính sáng tạo
Biết thể hiện về tính cẩn thận chính xác trong tính toán cũng như lập luận
III HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: Kiểm tra bài cũ
- Viết khai báo biến của bài toán:
Cho 2 số nguyên N, M Tính giá trị của biểu
thức p= (m+n)/(m*n)
Ghi đề bài và gọi tên 2 hs
- Hỏi thêm: Bộ nhớ cần cấp phát cho các
biến đó là bao nhiêu?
Nhận xét, đánh giá cho điểm.
2 Hoạt động 2: Tìm hiểu một số phép toán
a Mục tiêu: HS biết được tên và ký hiệu các phép toán, biết cách sử dụng các phép
toán đối với mỗi kiểu dữ liệu
b Nội dung:
+ Phép toán số học: + , - , *, / , DIV, MOD
+ Phép toán quan hệ: <, <=, > , >=, =, < > , giá trị logic (true hoặc false)+ Phép toán lôgic: NOT , OR , AND
3 Y/cầu Hs n/cứu Sgk và cho
biết có bao nhiêu nhóm phép
toán?
H1: Phép chia (/) được sử dụng
cho kiểu dữ liệu nào?
H2: Phép Mod, Div được sử
dụng cho kiểu dữ liệu nào?
1.Chú ý lắng nghe
2 Suy nghĩ và trả lời
- Phép: cộng, trừ, nhân, chia, lấy dư, so sánh, chia lấy nguyên
Tl: kiểu logic
1 Phép toán trong Pascal
Trang 17H3: Kết quả của phép toán quan
hệ thuộc kiểu dữ liệu nào?
3 Hoạt động 3: Tìm hiểu về biểu thức
a Mục tiêu: Hs biết khái niệm về biểu thức số học, quan hệ, lôgic biết cách xây dựng
các biểu thức đó
Biết được một số hàm số học chuẩn trong lập trình
b Nội dung:
- Biểu thức số học nhận được từ hằng số, biến số và hàm số liên kết
- Nắm bắt được tuần tự các bước khi thực hiện biểu thức số học
- Biểu thức logic được cấu thành từ các biểu thức quan hệ
c Các bước tiến hành:
1 ĐVĐ: Trong toán học ta đã làm
quen với khái niệm biểu thức Hãy
cho biết các 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à hằng số, biến, 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 bảng có chứa các biểu thức
toán học, yêu cầu: sử dụng phép
toán số học để biễu diễn biểu thức
toán học đó thành biểu thức trong
- 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
giản người ta đã xây dựng sẵn một
số đơn vị chương trình trong các
1 Suy nghĩ, trả lời
- Gồm 2 phần: toán hạng, toán tử
3 Nhớ lại và trả lời
Hàm trị tuyệt đối, hàm căn bậc 2, hàm sin
- HS trả lời: 2*x*x+1
- HS chưa trả lời được
2 Biểu thức số học
Toán hạng: hằng, biến, hàm số
Toán tử: +, -, *, /, mod, div
* Thứ tự thực hiện: Sgk
* Chú ý:
+ Nên dùng biến trung gian để tránh việc tính 1 biểu thức nhiều lần
+ Biểu thức có chứa hằng hoặc biến kiểu thực, thì giá trị của biểu thức cũng thuộc kiểu thực
3 Hàm số học chuẩn
Trang 18thư viện chương trình giúp người
lập trình tính toán nhanh hơn
- Treo tranh chứa bảng một số hàm
chuẩn
Yêu cầu: Học sinh điền thêm một
số thông tin với các chức năng của
hàm
- Cho biểu thức
1
1 2
Hãy biểu diễn biểu thức toán trong
biểu thức trong NNLT
4 Nêu vấn đề: Trong lập trình ta
phải so sánh 2 giá trị nào đó trước
khi thực hiện lệnh bằng cách sử
dụng biểu thức quan hệ Biểu thức
quan hệ còn gọi là biểu thức so
- Kết quả mà phép toán quan hệ
thuộc kiểu dữ liệu nào?
5 Biểu thức logic là biểu thức
quan hệ được liên kết với nhau bởi
phép toán logic
- Hãy quan sát biểu thức trong toán
học sau: 2< x ≤ 8 và biễu diễn
bthức này trong NNLT Pascal
- Thứ tự thực hiện của bthức lôgic?
- Kết quả mà bthức lôgic thuộc
kiểu dữ liệu nào?
Treo tranh có chứa bảng chân trị
của A và B, y/cầu hs điền giá trị
cho A and B, A or B, not B
Nghiên cứu SGK - 26
và quan sát tranh vẽ, lên bảng điền tranh
+ Thực hiện phép toán qhệ
+ Thực hiện p/toán lôgic
- Kiểu logic
Suy nghĩ và trả lời bằng cách điền vào bảng
Tên hàm (đối số)
+ Đối số là một hay nhiều biểu thức số học đặt trong dấu ngoặc ( ) sau tên hàm
VD: (SGK - 26)
4 Biểu thức quan hệ:
Cấu trúc chung:
<BT1> < phép toán quan hệ > <BT2>+ trong đó BT1 và BT2 phải cùng kiểu.+ Kết quả của biểu thức quan hệ là TRUE hoặc FALSE.VD: - 5 > 2
5 Biểu thức logic.
- Biểu thức logic đơn giản là hằng hoặc biến logic
- Dùng để liên kết nhiều biểu thức quan
hệ lại với nhau
Ví dụ: Cho 3 số a, b,
c Viết điều kiện xác định a, b, c là độ dài 3 cạnh của 1 tam giác
(a+b>c) and (b+c>a)
and (a+c>b)
Trang 19- Lệnh gán dùng để tính giá trị một biểu thức và chuyển nó vào một biến.
- Cấu trúc: Tên biến:= biểu thức;
- Giải thích: Lấy 8 cộng với 3,
đem kết quả đặt vào i , ta được i =
11
Hỏi: Hãy cho biết chức năng của
lệnh gán?
- Y/cầu hs Sgk cho biết cấu trúc
chung của lệnh gán trong NNLT
+ kiểu của bthức bên phải phải
phù hợp với kiểu của biến
Treo tranh, giới thiệu ví dụ về
+ Tính gtrị của bthức+ Gán gtrị tính được vào tên biến
<tên biến> := <biểu thức>;
Thảo luận và đưa ra ý kiến
Quan sát, làm thử ch/trình qua các lệnh
Trang 20IV ĐÁNH GIÁ CUỐI BÀI
1 Nội dung đã học
2 Câu hỏi, bài tập về nhà
Xem trước bài: Các thủ tục chuẩn vào/ra đơn giản
Soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình
Ngày dạy:
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ào/ ra chuẩn đối với lập trình
- Biết được các cấu trúc chung của thủ tục vào/ ra trong NNLT Pascal
- Biết được các bước để hoàn chỉnh một chtrình
- Biết được các file 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 chtrình
- Biết khởi đọng và thoát khỏi hệ soạn thảo Turbo Pascal 7.0
- Soạn được một chtrình vào máy Dịch được chtrình để phát hiện lỗi cú pháp
- Thực hiện được chtrình để nhập dữ liệu và thu kết quả, tìm lỗi thuật toán và sửa lỗi
III HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: Kiểm tra bài cũ
Cho M, N là 2 biến nguyên Điều kiện xác
định M, N đồng thời là số chẵn hoặc đồng
thời là số lẻ được thể hiện trong Pascal như
2 Hs lên bảng trả lời bằng cách ghi bảng
Trang 21thế nào?
- Gọi 2 Hs lên bảng độc lập trả lời
- Gọi Hs khác nhận xét (Đúng, Sai)
Nhận xét đánh giá, cho điểm
Đ/a: ((M mod 2 = 0) and (N mod 2 =
0)) Or ((M mod 2 =1) and (N mod 2 = 1))
2 Hoạt động 2:Tìm hiểu thủ tục nhập dữ liệu vào từ bàn phím.
a Nội dung:
Dùng để đưa nhiều bộ dữ liệu khác nhau cho cùng một chtrình xữ lí
Cấu trúc: Read/Readln(<biến 1>, <biến 2>, , <biến N>);
b Các bước tiến hành:
1 Nêu vđ: 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 chtrình chỉ có
tác dụng với một dữ liệu cố định
Để chtrì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/cầu Hs n/cứu Sgk cho biết cấu
trúc chung của thủ tục nhập dữ liệu
trong NNLT Pascal:
- Ghi bảng
Ví dụ: khi viết chtrình giải ptrình:
Ax2 + Bx + C = 0, ta phải nhập vào
các đại lượng nào? viết lệnh nhập?
2 Treo bảng chứa chtrình Pascal
đơn giản có lệnh nhập giá trị cho 3
biến
- Mô phỏng kết quả chtrình cho hs
quan sát
Hỏi: Khi nhập giá trị cho nhiều
biến, ta phải thực hiện như thế
Hỏi: Lệnh Read và Readln khác
nhau như thế nào?
kí tự xuống dòng (Enter)
- Quan sát ví dụ của gv
- Suy nghĩ, trả lờiRead: ……
Readln: ……
1 Nhập dữ liệu từ bản phím
3 Hoạt động 3:Tìm hiểu thủ tục đưa dữ liệu ra màn hình.
Trang 22a Nội dung:
- Dùng để đưa kết quả sau khi xữ kí ra màn hình để người sử dụng thấy
- Write/Writeln(<thamsố1>, ,<thamsốN>);
b Các bước tiến hành:
1 Nêu vđ: Sau khi xữ lí xong,
kết quả CT được lưu trong bộ
nhớ, để nhìn thấy được kết quả
ta phải dùng thủ tục xuất dữ liệu
- Y/cầu hs n/cứu Sgk cho biết
cấu trúc chung của thủ tục xuất
dữ liệu trong NNLT Pascal
Ví dụ: Khi viết CT giải pt:
ax+b=0, ta phải đưa ra màn hình
-b/a, ta phải viết lệnh như thế
nào?
2 Để nhập giá trị cho 1 biến từ
bàn phím, ta thường đưa thêm
câu dẫn dắt sau đó mới đến câu
4 Khi các tham số trong lệnh
write() thuộc kiểu Char hoặc
Real thì qui định vị trí như thế
Viết ra màn hình dòng chữ và đưa con trỏ xuống dòng
- Dành 6 vị trí trên màn
hình để viết số x, 6 vị trí tiếp để viết số y, …
2 Đưa dữ liệu ra màn hình
Write(<thamsố1>, ,
<tham sốN>); Writeln(<thamsố1> , ,
<tham sốN>);
Program vd;
Var x, y, z:integer; Begin
Writeln(‘Nhap vao hai so: ’); Readln(x, y); Z:= x+y;
Write(x:6, y:6, z:6);
Readln End.
- Khi tham số có kiểu nguyên hoặc kiểu kí
Trang 23- Writeln để đưa con trỏ xuống đầu dòng dưới.
<tham số>: <độ rộng>: <số chữ số thập phân>
Vd2: writeln(N:5, r:8:3);
Write(7983:8:3 )
4 Hoạt động 4: Làm quen với Turbo Pascal 7.0
a Mục tiêu: Biết được các file Ct cơ bản của TurboPascal 7.0 Biết cách khởi động và
thoát khỏi TP 7.0
b Các bước tiến hành:
1 ĐVĐ: Để sử dụng được
Pascal trên máy phải có các file
chtrình cần thiết Y/cầu hs tham
khảo Sgk và cho biết tên các file
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 chtrình vào dịch lỗi cú pháp
- - - <Han Mac Tu>
_
Trang 24Biên dịch lỗi cú pháp: Alt + F9
6 Hoạt động 6: (5 phút)Tập thực hiện chtrình và tìm lỗi thuật toán để hiệu chỉnh
a Mục tiêu: Hs biết cách thực hiện một chtrình, nhập dữ liệu và tìm lỗi thuật toán để
- Chạy chtrình: bấm Ctrl+F9
IV ĐÁNH GIÁ CUỐI BÀI
1 Nội dung đã học
2 Câu hỏi, bài tập về nhà
- So sánh sự giống nhau và khác nhau của các cặp lệnh write()/writeln() và
read()/readln()
Trang 25- Viết chtrình nhập vào một số và tính bình phương của số đó.
- Viết chtrình nhập độ dài bán kính và tính chu vi, diện tích hình tròn tương ứng
- Làm bài tập 9, 10 sgk trang36
- Xem trước nội dung phần bài tập và thực hành số 1 sgk trang 34
* Xem phụ lục B sgk: Trang 122: Môi trường Turbo Pascal
Trang 136: Một số thông báo lỗi
- Biết được một chtrì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 chtrình
2 Kĩ năng
- Soạn thảo được chtrình, lưu lên đĩa, dịch lỗi cú pháp, thực hiện và tìm lỗi thuật toán và hiệu chỉnh
- Bước dầu biết phântích và hoàn thành chtrình đơn giản trên Pascal
3 Thái độ: Tự giác, tích cực và chủ động trong thực hành
II ĐỒ DÙNG DẠY HỌC
1 Giáo viên: Phong máy vi tính được cài đầy đủ Turbo Pascal, projector để hướng
dẫn
2 Học sinh: Sgk, sách bài tập và bài tập đã viết ở nhà
III HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: Kiểm tra bài cũ
Viết chtrình nhập vào một số và tính bình
phương của số đó.
Cho 2 hs xung phong lên bảng
Nhận xét, đánh giá, cho điểm
2 Hoạt động 2: Tìm hiểu một chtrình hoàn chỉnh
a Nội dung: Cho chương trình sau:
Trang 261 Chiếu chtrình lên bảng Y/cầu
F2Alt+F9Ctrl+F9x1=1.00 x2=2.00
EnterCtrl+F9Thông báo lỗi
Do căn bậc hai của một số âm
D:= b*b-4*a*c;
X1:= (-b-sqrt(d))/(2*a);X2:= (-b+sqrt(d))/
(2*a);
Writeln(’x1=’,x1:6:2,’ x2=’, x2:6:2);
Readln
End.
3 Hoạt động 3: Rèn luyện kĩ năng lập chương trình.
a Mục tiêu: Hs soạn, lưu, dịch và thực hiện được chương trình
b Nội dung: Viết chương trình nhập từ bàn phím 2 số thực a và b, tính và đưa ra màn
hình trung bình cộng các bình phương của hai số đó
c Các bước tiến hành:
1 Định hướng để hs phân tích bài
- F2, gõ tên file để lưu
- Alt+F9 : biên dịch lỗi
- Ctrl+F9: t/hiện chtrình
3.Nhập dữ liệu theo
y/cầu
Bài toán: Viết chương trình nhập từ bàn phím 2 số thực a
và b, tính và đưa ra màn hình trung bình cộng các bình phương của hai số đó
Trang 27- Với a=7, b=-5
- Với a=5, b=7 thì tb=37
- Với a=7, b=-5thì tb=37
IV ĐÁNH GIÁ CUỐI BÀI
1 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ào/ra
2 Câu hỏi, bài tập về nhà
- Viết chương trình nhập vào độ dài 3 cạnh của một tam giác, tính chu vi, diện tích của tam giác đó
- Làm bài tập 7, 8, 9, 10 sgk trang 36
+ Soạn chương trình+ Dịch lỗi và thực hiện+ Nhập dữ liệu và kiểm tra kết quả
- Xem trước bài: Cấu trúc rẽ nhánh, sgk trang38
1 Kiến thức: Biết phânbiệt các loại biểu thức trong NNLT
2 Kĩ năng: Viết được các biểu thức số học và logic với các phép toán thông dụng.
II ĐỒ DÙNG DẠY HỌC
1 Giáo viên: bài giải các bài tập sgk
2 Học sinh: sgk
III HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: Kiểm tra 15 phút
Phát đề cho hs
Thu bài làm của hs
Nhận đề và làm bàiNộp bài làm
2 Hoạt động 2: Bài tập 8/sgk/36
a Mục tiêu: Xây dựng được biểu thức logic làm điều kiện để giải một số bài toán đơn
giản
b Nội dung: Viết biểu thức lôgic 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 hình 2.a và 2.b (trang 36/sgk)
c Các bước tiến hành:
Trang 28Hđ của GV Hđ của HS Nd ghi bảng
- Y/cầu hs từ các biểu thức quan hệ
viết ra bthức lôgic theo yêu cầu
|x|<=y
(|x|<=y) and 1)and (x<=1)) and ((y>=0) andy<=1)
((x>=-Chú ý lắng nghe, để ý cách xác định giá trị đúng
- Cách tính: a*a*pi/2
Hs độc lập viết chương trình
Readln;
End.
IV ĐÁNH GIÁ CUỐI BÀI
Trang 291 Nội dung đã học
2 Câu hỏi, bài tập về nhà
Xem trước bài: Cấu trúc rẽ nhánh, sgk trang 38
- 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 Học sinh: sọan bài ở nhà.
III PHƯƠNG PHÁP: Giảng giải + hoạt động của học sinh.
IV HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: Kiểm tra bài cũ
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 lệnh nhập a, b bằng Pascal Nêu thuật
Trang 302 Hoạt động 2:Tìm hiểu cấu trúc rẽ nhánh thiếu và đủ
- Với bài toán trên làm thế nào để
+ Nếu a>b thì max = a
+ Nếu a<b thì max = b
- Nếu là người lớn thì 5000đ nếu trẻ em thì 1000đ
1 Rẽ nhánh:
* Một số mệnh đề có dạng điều kiện:
+ Dạng thiếu: Nếu…thì…
+ Dạng đủ: Nếu … thì … nếu không thì
…
* Cấu trúc dùng để
mô tả các mệnh đề như trên được 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
3 Hoạt động 3: Câu lệnh If …then
1 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
2 Khi không đề cập đến việc gì
xãy ra nếu điều kiện không thõa
max:=a; if a < b then max:=b;
Lưu ý: Trước từ khoá Else không
có dấu ;
- Dạng nào thuận tiện hơn?
1 N/cứu sgk và trả lời If<điều_kiện>Then<lệ
Suy nghĩ và trả lời
-> tuỳ trường hợp cụ thể
2 Câu lệnh IF – THEN:
* Để mô tả cấu trúc rẽ nhánh, Pascal dùng câu lệnh:
a Dạng đủ:
IF <điều kiện>
THEN <câu lệnh 1> ELSE < câu lệnh
Trang 314 Hoạt động 4: Câu lệnh ghép
1 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 lệnh ghép
2 Y/cầu hs n/cứu sgk cho biết cấu
trúc câu lệnh ghép trong Pascal
1 Chú ý lắng nghe
2 N/cứu sgk và trả lời
Begin
<các lệnh cần ghép>;
End;
Câu lệnh ghép trong Pascal:
Begin
<các lệnh cần ghép>;
End;
5 Hoạt động 5: Rèn luyện kĩ năng vận dụng lệnh If
a Nội dung:
Vd1: Viết chương trình nhập vào độ dài 2 cạnh của một hình chữ nhật, tính chu
vi, diện tích của hcn đó
Vd2: Tìm nghiệm của pt bậc hai: ax2+bx+c=0
b Cách tiến hành
1 Nêu nội dung, mục đích yêu
cầu của vd1
Chtrình này các em đã viết, hãy
cho biếtcó hạn chế nào trong
2 Nêu nội dung, mục đích yêu
cầu của bài tập vd2
- Hãy nêu các bước chính để trả
lời nghiệm pt bậc hai?
- Ta cần bao nhiêu lệnh rẽ nhánh
để mô tả các bước trên?
- Y/cầu hs viết chtrình hoàn thiện
độ dài dương thì tính dtích và chu vi, ngược lại thì thông báo độ dài
vô nghiệm+ Nếu delta >=0 thì kết luận pt có nghiệm:
x1=(-b+sqrt(delta))/
(2*a)x2=(-b-sqrt(delta))/
(2*a)
- Hai câu lệnh rẽ nhánh
Vd1: Viết chương trình nhập vào độ dài
2 cạnh của một hình chữ nhật, tính chu vi, diện tích của hcn đó
Vd2: Tìm nghiệm của
pt bậc hai:
ax2+bx+c=0
Program ptbac2; Var a, b, c, d, x1,
Trang 32Gọi hs khác nhận xét, đánh gía
- Chuẩn hóa lại chtrình cho cả lớp
bằng việc treo bảng chtrình mẫu
của gv đã chuẩn bị
dạng khuyết hoặc 1 lệnh rẽ nhánh dạng đầy đủ
- 1 hs lên bảng viết chtrình
Lấy ý kiến của 2-3hs
vo nghiem’) else
begin
b+sqrt(delta))/(2*a); x2=-b/a-x1;
write(‘x1=
’,x1:6:2,’ x2= ’,
x2:6:2) end;
readln;
End
IV ĐÁNH GIÁ CUỐI BÀI
1 Nội dung đã học
Cấu trúc chung và sơ đồ thực hiện của cấu trúc rẽ nhánh IF
2 Câu hỏi, bài tập về nhà
Xem trước bài: Cấu trúc lặp, sgk, trang 42
- Trả lời câu hỏi 1, 2, 4 sgk trang 50, 51
- 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ố đó
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 PascalBiết sử dụng đúng 2 dạng lệnh lặp For
2 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
II ĐỒ DÙNG DẠY HỌC
1 Giáo viên: Máy vi tính, Projector, sgk, sgv
2 Học sinh: sgk
III HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: Kiểm tra bài cũ
1 Trình bày cấu trúc rẽ nhánh? Sự khác
nhau giữa các dạng rẽ nhánh đó?
2 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
Gọi 2 hs lên bảng trả lời
Hs1: trình bày miệng Hs2: trình bày lên bảng
Hs khác nhận xét bài làm của hs2
Trang 33Nhận xét, đánh giá cho điểm
2 Hoạt động 2: (20 phút)Tìm hiểu ý nghĩa cấu trúc lặp
a Mục tiêu: Hs thấy được sự cần thiết của cấu trúc lặp trong lập trình.
b Nội dung:
- Bài toán 1: Viết CT tính tổng
100
1
2
1 1
1 1
+ + + +
+ + +
=
a a
a a S
- Bài toán 2: Ông An 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 (không rút tiền lãi hàng tháng) ông ta được số tiền là bao nhiêu?
c Các bước tiến hành:
1 Nêu bài toán 1 đặt vấn đề
- 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 là
một cái xô, các số hạng 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ự
như việc đổ các ca nước vào xô S
- Có bao nhiêu lần đổ nước như
vậy?
- Mỗi lần đổ 1 lượng là bao
nhiêu?
- Phải viết bao nhiêu lệnh để thể
hiện việc này?
2 Nêu bài toán 2 để đặt vấn đề
tiếp tục.(treo bảng chứa nội dung
bài toán)
- Em hiểu như thế nào về cách
tính tiền gửi tiết kiệm trong bài
toán 2
- Số tiền thu được sau tháng thứ
nhất là bao nhiêu?
- Theo y/cầu của bài toán ta cần
thực hiện tính bao nhiêu lần như
vậy?
Dẫn dắt: Chương trình được viết
như vậy sẽ rất dài, khó đọc, dễ sai
sót cần có một cấu trúc điều
khiển việc lặp lại thực hiện các
công việc ở trên
lời các câu hỏi
- Với số tiền S sau mỗi tháng sẽ có số tiền lãi 0.015*S
Số tiền lãi sẽ được cộng vào số tiền ban đầu để tính lãi cho tháng tiếp theo:
2
1 1 1 1
+ + + + + + +
=
a a
a a S
Bài toán 2: Ông An
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 (không rút tiền lãi hàng tháng) ông ta được số tiền là bao nhiêu?
Trang 34- Trong tất cả mọi NNLT đều có
một cấu trúc điều khiển việc thực
hiện lặp lại với số lần đã định
B4: S←S+1/(a+N), quay lại B2;
B5: Đưa ra S, rồi kết thúc
Btoán 2:
B1: Nhập S; I←0;
B2: I ←I + 1;
B3: Nếu I >12 thì chuyển sang B5;
B4: S←S + 0.015*S, quay lại B2
B5: Đưa ra S, rồi kết thúc
- Thông báo kết quả viết được
- Nhận xét bài làm của nhóm khác
3 Hoạt động 3: (15 phút)Tìm hiểu lệnh lặp For trong NNLT Pascal
a Mục tiêu: Hs biết được cấu trúc chung của câu lệnh lặp FOR Hiểu ý nghĩa các
thành phần trong câu lệnh Biết đượ sự thực hiện của máy khi gặp câu lệnh For Vẽ được sơ đồ thực hiện đó
+ <giá trị đầu> phải nhỏ hơn <giá trị cuối>
+ Biến đếm là kiểu nguyên, kí tự hoặc miền con
Giá trị biến đếm tự động tăng(giảm) 1 đơn vị sau khi thực hiện câu lệnh cần lặp.
c Các bước tiến hành:
1 Y/cầu hs n/cứu sgk vàcho
biết cấu trúc chung của lệnh
<giá trị đầu> TO <giá trị cuối> DO <lệnh cần lặp>;
a Dạng tiến
FOR <biến đếm>:=
<giá trị đầu> TO <giá trị cuối> DO <lệnh cần lặp>;
Trang 35đầu>, <giá trị cuối>, kiẻu dữ
liệu của chúng?
Trong btoán 1:<giá trị đầu>,
<giá trị cuối> có giá trị bằng
- Hãy so sánh giá trị của <giá
trị đầu> và <giá trị cuối>?
Dẫn dắt: Khi đó câu lệnh For
đgl For tiến, NNLT Pascal
còn có dạng ngược lại là For
lùi
2 Y/cầu hs trình bày cấu trúc
For lùi
Hãy so sánh giá trị của <giá trị
đầu> và <giá trị cuối>?
- Hai bài toán trên dùng lệnh
For nào là phù hợp?
- để làm giới hạn cho biến đếm, cùng kiểu với biến đếm
-<giá trị đầu> là 1
<giá trị cuối> là 100
- Sử dụng câu lệnh ghép
Sơ đồ:
IV ĐÁNH GIÁ CUỐI BÀI
1 Nội dung đã học
Cấu trúc chung của câu lệnh lặp For Sơ đồ thực hiện của lệnh lặp For
2 Câu hỏi, bài tập về nhà
- Sử dụng câu lệnh For hoàn thành chương trình bài toán 1 và 2 đã nêu ở đầu
tiết
- Giải bài tập 5a, 6 sgk/51
- Xem trước phần ví dụ của nội dung cấu trúc lặp có số lần biết trước
bđếm:= <gtrị đầu>
bđếm<=gtrị cuối
Câu lệnh lặp bđếm :=bđếm + 1
Đ
S
bđếm:= <gtrị cuối>
bđếm>=gtrị đầu
Câu lệnh lặp bđếm :=bđếm
- 1
Đ
S
Trang 37III HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: Kiểm tra bài cũ
1 Trình bày các dạng cấu trúc câu lệnh
lặp với số lần biết trước?
- Gọi hs lên trả lời
2 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ố nguyên trong phạm vi từ a đến b
- Cho hs xung phong
Nhận xét, đánh giá, cho điểm
Hs1: trả lời câu hỏi 1
Hs2: trình bày chương trình trên bảng Var a, b, i , S : longint;
Begin
Write(‘Nhap a va b (a<b): ‘); Readln(a, b);
2 Hoạt động 2: Rèn luyện kĩ năng vận dụng câu lệnh For và câu lệnh rẽ nhánh If
Y/cầu hs phân tích đề bài và trả
lời câu hỏi
- So sánh với bài toán trước thì có
-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ẻ)
BÀI TẬP
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 và tổng các số lẻ trong phạm
vi từ a đến b
Trang 38- Việc chính cần thực hiện trong
* Chuẩn hóa lại bài làm của hs
bằng chương trình mẫu (treo
chtrình đã chuẩn bị trên bảng phụ)
Tl:
Kiểm tra biến đếm
i : nếu i là chẵn thì S1:=S1+i ngược lại (i là lẻ)thì S2:=S2+i
Đứng tại chổ trả lời:
For I:=a To b Do
If I mod 2 =0 then S1:=S1+I else S2:=S2+I
;
Trình bày trên bảng
Quan sát chtrình của giáo viên và ghi nhớ
Var a, b, i , S1, S2 :
longint;
Begin
Write(‘Nhap a va b (a<b): ‘);
Readln(a, b);
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.
3 Hoạt động 3: Tiếp tục vận dụng câu lệnh lặp For để giải quyết một bài toán đơn
giản
1 Nêu đề bài toán (Ghi bảng)
- Cách tính tiền gửi tiết kiệm hàng
tháng như thế nào?
- Vậy, công thức tính tiền thu
được sau mỗi tháng như thế nào?
- câu lệnh lặp này lặp bao nhiêu
lần?
- 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?
2 Y/cầu hs viết chương trình vào
vở, cho 1 hs trình bày lên bảng
* Chuẩn hóa lại bài làm của hs
1 Đọc đề bài toán,
phân tích và trả lời câu hỏi:
Tl: 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 tháng tiếp theo
Tl: S := S +
0.015*S;
Tl: 12 lầnTl: gtrị đầu là 1; gtrị cuối là 12
2 Thảo luận và tự
Bài 2: Ông Ba 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
Trang 39bằng chương trình mẫu (treo
chtrình đã chuẩn bị trên bảng phụ)
3 (Nếu còn thời gian)
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 nhiều hơn số tiền ban đầu
la: ’,S:8:3); Readln
End.
IV ĐÁNH GIÁ CUỐI BÀI
Câu hỏi, bài tập về nhà
Làm một số bài trong sách bài tập Tin học 11: 3.23, 3.29; 3.31
Xem trước phần nội dung cấu trúc lặp với số lần chưa biết trước While
- Biết được ý nghĩa của cấu trúc lặp có số lần lặp chưa biết trước
- Biết được cấu trúc chung của lệnh lặp While trong NNLT Pascal
III HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: Tìm hiểu ý nghĩa của cấu trúc lặp có số lần chưa biết trước
a a
S
+ + + +
+ + +
2
1 1
1 1
cho đến khi 1 < 0 001
+N a
- Bài toán 2: Ông An có số tiền là A đồng, ông gửi tiết kiệm ngân hàng với lãi suất 1,5%/tháng Hỏi sau bao nhiêu tháng (không rút tiền lãi hàng tháng) ông ta được số tiền lớn hơn B đồng?
Trang 40c Các bước tiến hành:
1 Nêu nội dung bài toán 1
-Sự khác nhau của bài toán này
với bài toán tính tổng đã học ở tiết
trước?
- Lặp bao nhiêu lần?
- Lặp đến khi nào?
2 Nêu nội dung bài toán 2
-Sự khác nhau của bài toán này
với bài toán đã giải ở tiết trước?
- Lặp bao nhiêu lần?
- Lặp đến khi nào?
Tóm lại, qua 2 ví dụ trên ta thấy
có 1 dạng toán có sự lặp lại của
câu lệnh nhưng không biết được
số lần lặp Cần có 1 cấu trúc
điều khiển lặp lại 1 công việc
nhất định khi thõa mãn 1 điều
kiện nào đó.
1 Chú ý lắng nghe, quan
sát và suy nghĩ trả lời-Bài trước: cho giới hạn NBài này: cho giới hạn S
- Chưa xác định được ngay
- Cho đến khi điều kiện
001 0
- Đến khi số tiền thu được
>B
Bài toán 1
Bài toán 2
2 Hoạt động 2: Tìm hiểu cấu trúc lệnh lặp While trong NNLT Pascal
a Mục tiêu:- Biết được cấu trúc chung của lệnh lặp While Hiểu được ý nghĩa của các
thành phần trong câu lệnh Biết được sự thực hiện của máy khi gặp While Vẽ được sơ
đồ thực hiện
b Nội dung:
Cấu trúc: While <điều kiện> Do <lệnh cần lặp>;
Sự thực hiện:
Bước 1: Tính giá trị của <điều kiện>
Bước 2: Nếu <điều kiện> có giá trị đúng thì:
thực hiện lệnh cần lặp và quay lại B1
c Các bước tiến hành:
1 Y/cầu hs n/cứu sgk và cho biết
cấu trúc chung của lệnh lặp
While
Giải thích:
1 Tham khảo sgk và
trả lờiCấu trúc:
While <điều kiện> Do
<lệnh cần lặp>;
3 Câu lệnh While … Do
Cấu trúc: