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 1CHƯƠNG I: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH
Hiểu được khả năng của ng2 lập trình bậc cao, phân biệt được với ng2 máy và hợp ngữ
Hiểu ý nghĩa và nhiệm vụ của chtrình dịch Phân biệt được thông dịch và biên dịch
Biết các thành phần cơ bản của ng2 lập trình: bảng chữ cái, cú pháp, ngữ nghĩa
Hiể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
2’ Đ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ữ, ng2bậc cao
1 K/n lập trình
(Sgk)
Ý nghĩa: tạo ra cácchtrình giải được bàitoá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
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ìnhnguồn
- Biên dịch: dịch toàn bộchtrình rồi mới thựchiệ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
1 Các thành phần cơ bản
- Bảng chữ cái
- Cú pháp: bộ qui tắc đểviết chtrình
- Ngữ nghĩa
Trang 3H: Lỗi ngữ nghĩa thường được phát
hiện khi nào?
If a 2 +b 2 >1 and a>b
then s=a+b Else s=1
Tl: Khi thực hiện kiểm
thử chtrình
3 Củng cố:
Ba lớp của ng2 lập trình và các mức của nó
Vai trò của chtrình dịch
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
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: (7 phút) Kiểm tra bài cũ
H1: Hãy phân biệt chtrình thông dịch và biên
dịch?
H2: NNLT có những thành phần nào? Lỗi cú pháp
và lỗi ngữ nghĩa được phát hiện bằng gì?
Nhận xét, đánh giá cho điểm 3 Hs
Hs1: trình bày trên bảng
Hs2: trả lời trước lớp
Hs3: nhận xét câu trả lời của Hs1
Trang 42 Hoạt động 2: (18 phút) 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
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ị sẵn:
Type Const Integer Dem
Function Byte Inc
Mang string
HS xác định tên theo từng loại tên?
Treo bảng con của 3 nhóm cho nhóm
khác nhận xét, bổ sung
Tổng kết vấn đề này
1 N/cứu sgk và trả lời:
+ Gồm chữ cái, chữ số, dấugạch dưới
+ 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ờiThả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ảngcon
+ Từ khóa: Type, Const, function
+ Tên chuẩn: Integer, byte, string, inc
+ Tên tự đặt: dem, mang
Quan sát kết quả cnhómkhác, nhận xét và bổ sung
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 53 Hoạt động 3: (15 phút) 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 { }
nháy kép được biểu diễn như thế nào?
3 Y/cầu Hs n/cứu Sgk và cho biết
k/niệm Biến
Cho ví dụ một số biến
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
H: 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?
1 Suy nghĩ và trả lời
+ Hằng số: 55 73.05+ Hằng xâu: ‘211’ ‘AB’
+ Hằng logic: False TrueXem 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’ ‘THPT’
để giải thích chtrình rõ ràng dễ hiểu.
{thu tuc nhap du lieu}
IV ĐÁNH GIÁ CUỐI BÀI
1 Nội dung đã học.
Thành phần của NNLT: bảng chữ cái, cú pháp, ngữ nghĩa
Trang 62 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ểncủ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áytí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: (5 phút) Kiểm tra bài cũ
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
- Đọc yêu cầu của câuhỏi và bài tập cuốichương trang 13 SGK
- Suy nghĩ để đưa raphương án trả lời
- Suy nghĩ, trả lời câuhỏi
Câu 1:Ngôn ngữ bậc cao
+ gần với ngôn ngữ tự nhiênhơn,
+ không phụ thuộc vào phầncứng máy tính và một chươngtrình có thể thực hiện trên nhiềumáy tính khác nhau;
+ dễ hiểu, dễ hiệu chỉnh và dễ
Trang 7ngườ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 và
thông dịch khác nhau như
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áyrồi thực hiện ngay câu lệnh vừadịch được hoặc báo lỗi nếukhô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ụ
- 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
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,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ừngcâu một
Câu 4:
Trang 8IV ĐÁNH GIÁ CUỐI BÀI (5phút)
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
B 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?
(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.
Trang 9(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.
mới có thể thực hiện được.
Trang 10CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN
Ngày soạn: 29/8/2007
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
III 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 phần? Các
phần có thứ tự không? Tại sao phải
chia ra như vậy?
2 Y/cầu Hs n/cứu Sgk và trả lời các
câu hỏi sau:
- Dễ viết, dễ đọc và dễ hiểunội dung
2 N/cứu sgk, thảo luận và
Trang 113 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
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
- 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ủachương trình
Trang 124 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.
c Các bước tiến hành:
1 Chiếu lên bảng một chtrình đơn
chtrình trên, nhưng kết quả chtrình
không thay đổi?
phần khai báo biến
* Đính bìa các nhóm lên bảng, cho
các nhóm nhận xét và đánh giá
chéo.
1 Quan sát và trả lời
- Phần khai báo (gồm 3dòng đầu): khai báo tên
CT, khai báo thư viện, khaibáo biến
- Còn lại là phần thân
+ lệnh gán (: =)+ lệnh đưa thông tin ra mànhì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 (5phút)
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)
Trang 13Ngày soạn: 31/8/2007
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
Hiể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: (7 phút) 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: (3 phút)Đặt vấn đề
Trong toán học để thực hiện được tính
Đọc sách
3 Hoạt động 3: (20 phút)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ó
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
1 Kiểu dữ liệu chuẩn
Trang 14H 2 : 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?
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,
4 Hoạt động 4: (10 phút) Tìm hiểu cách khai báo biến
a Mục tiêu:
- 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
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 ?
1 Đọc sách.
Mọi biến dùng trongchtrình đều phải được khaibáo tên biến và kiểu dữ liệucủa biến Tên biến dùng đểxác lập quan hệ giữa biếnvới địa chỉ bộ nhớ nơi lưugiữ giá trị của biến
2 Khai báo biến
Trang 15Cấu trúc chung của khai báo biến
bằng Pascal:
Cho 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?
Var <danh sách biến>:
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 162 Học sinh Sgk
3 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: (5 phút) 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 đó
2 Hoạt động 2: (10 phút)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
c Các bước tiến hành:
1 ĐVĐ: Để mô tả các thao tác trong
thuật toán, mỗi NNLT đều xác định và
sử dụng một sô kháiniệm cơ bản: phép
toán, biểu thức, gán giá trị
2 Hãy kể các phép toán đã học ở toán
học?
- Trong NNLT Pascal cũng có các
phép toán đó nhưng được diễn tả bằng
một cách khác
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?
H3: Kết quả của phép toán quan hệ
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, chialấy nguyên
Trang 17thuộc kiểu dữ liệu nào?
3 Hoạt động 3: (20phút) 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
- 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?
- Muốn tính ax2 + 1 ta viết thế nào?
- Muốn tính x , x, sinx ta làm
thế nào?
Tính các giá trị đó một cách đơn giản
người ta đã xây dựng sẵn một số đơn
vị chương trình trong các thư viện
chương trình giúp người lập trình tính
1 Suy nghĩ, trả lời
- Gồm 2 phần: toán hạng,toán tử
Toán tử: +, -, *, /, mod,div
* Thứ tự thực hiện: Sgk
* Chú ý:
+ Nên dùng biến trunggian để tránh việc tính 1biểu thức nhiều lần.+ Biểu thức có chứa hằnghoặc biến kiểu thực, thìgiá trị của biểu thức cũngthuộc kiểu thực
3 Hàm số học chuẩn
Cách viết cho một số hàm
số học chuẩn :
Tên hàm (đối số)
Trang 18- 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 sánh được dùng để so
sánh 2 giá trị đúng hoặc sai
- Cho một ví dụ về biểu thức quan hệ
- Thứ tự thực hiện của biểu thức quan
hệ?
- 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
- Kiểu logicSuy nghĩ và trả lời bằngcách điền vào bảng
A and B
A
or B
Not A
+ Kết quả của biểu thứcquan hệ là TRUE hoặcFALSE
VD: - 5 > 2
5 Biểu thức logic.
- Biểu thức logic đơngiản là hằng hoặc biếnlogic
- Dùng để liên kết nhiềubiểu thức quan hệ lại vớinhau
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 1tam giác
(a+b>c) and (b+c>a)
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 Pascal
+ 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ề Pascal
<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ìnhqua các lệnh và trả lời:
x=2 y=4 TRUE
6 Câu lệnh gán.
- Lệnh gán là cấu trúc cơbản của mọi NNLT,thường dùng để gán giátrị cho biến
Cấu trúc:
< tên _biến>:= <b_thức>;VD:
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
Trang 20Ngày soạn: 10/9/07
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
II ĐỒ DÙNG DẠY HỌC
1 Giáo viên:
- Sgk, tranh chứa các biểu thức trong toán, Projector, máy vi tính, một số chtrình viết sẵn
- Máy vi tính có cài phần mềm Turbo Pascal 7.0, Projector
2 Học sinh: sgk
III HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: (5 phút) 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ư thế 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
2 Hs lên bảng trả lời bằng cách ghi bảng
Đ/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: (10 phút)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
Ví dụ
Trang 21- 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ế nào?
- Quan sát ví dụ của gv
- Suy nghĩ, trả lờiRead: ……
Readln: ……
- Các giá trị phải đượccách nhau ít nhất mộtdấu cách hoặc kí tựxuống dòng
3 Hoạt động 3:(15 phút)Tìm hiểu thủ tục đưa dữ liệu ra màn hình.
a 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 gtrị nghiệm
-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 lệnh nhập Bằng
<tham sốN>);
Trang 223 Treo bảng chứa chtrình Pascal đơn
giản:
Mô phỏng kết quả chtrình để hs quan
sát
Hỏi: chức năng câu lệnh writeln();
Hỏi: ý nghĩa của :6 trong câu lệnh
write( );
4 Khi các tham số trong lệnh write()
thuộc kiểu Char hoặc Real thì qui định
Vd: Đoạn CT cho kết quả thế nào?
Writeln(‘DAY THON VI DA’);
5 N/cứu sgk, suy nghĩ vatr
lời:
- Readln đặt cuối chtrình để tạm dừng chtrình cho người dùng thấy kết quả của chtrình đưa ra màn hình.
- Writeln để đưa con trỏ xuống đầu dòng dưới.
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ểunguyên hoặc kiểu kí tựviệc qui định vị trí làgiống nhau
<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: (3 phút)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
1 Tham khảo sgk và trả lời Turbo.exe Turbo.tpl Graph.tpu egavga.bgi
Nhap vao hai so:
- - - <Han Mac Tu>
_
Trang 23tên các file đó.
2 Cách khởi động Tpascal:
Bấm vào biểu tượng Turbo Pascal 7.0
trên màn hình
- Giới thiệu màn hình soạn thảo CT:
bảng chọn, con trỏ, vùng soạn thảo,
Lưu file chtrình lên đĩa: bấm F2
Biê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 để hiệu chỉnh.
a=0, b=0 pt vô số nghiệm
- Chạy chtrình: bấm Ctrl+F9
Trang 24IV ĐÁNH GIÁ CUỐI BÀI (2phút)
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().
- 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
Ngày soạn: 18/9/07
I MỤC TIÊU
1 Kiến thức
- 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ệnchtrì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: (8 phút) 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: (30phút)Tìm hiểu một chtrình hoàn chỉnh
a Nội dung: Cho chương trình sau:
Trang 251 Chiếu chtrình lên bảng Y/cầu hs
EnterCtrl+F9Thông báo lỗi
Do căn bậc hai của một
số âm
Program Giai_pt;
Uses crt;
Var a, b, c, d, x1, x2: real; Begin
Readln
End.
3 Hoạt động 3: (45 phút)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 toán
- F2, gõ tên file để lưu
- Alt+F9 : biên dịch lỗi
IV ĐÁNH GIÁ CUỐI BÀI (7phút)
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
Trang 26- Soạn thảo chtrình vào máy
- Lưu trữ chtrình
- Biên dịch chtrình
- Thực hiện và hiệu chỉnh chtrình
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 tamgiá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
Ngày soạn: 19/09/07
I MỤC TIÊU
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: (15 phút) 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: (10 phút) 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)
- Giá trị của y trong vùng gạch chéo?
- Giá trị của x trong vùng gạch chéo?
- Điểm A(x,y) thì x, y có quan hệ thế
nào?
- 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 của
đề?
Quan sát hình và trả lời
0<=y<=1 -1<=x<=1
|x|<=y (|x|<=y) and ((x>=-1)and (x<=1)) and ((y>=0) andy<=1)
Trang 27- Phân tích các giá trị x, y để đơn giản
- Y/cầu hs khác nhận xét bài làm trên
bảng (lỗi cú pháp, thuật toán,…)
- Cách tính: a*a*pi/2
Hs độc lập viết chươngtrình
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
Trang 28CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP
Ngày soạn: 30/9/07
I MỤC TIÊU
1 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
- 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ậttoán của một số bài toán đơn giản
II ĐỒ DÙNG DẠY HỌC
1 Giáo viên: + Soạn giáo án.
+ Chuẩn bị bảng phụ sau:
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: (5 phút) 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 toán tìm
Trang 292 Hoạt động 2: (5 phút) 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 để tìm
* 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
- So sánh:
+ Nếu a>b thì max = a
+ Nếu a<b thì max = b
- Chưa làm được
- Câu điều kiện
- Có, Nếu …thì … nếu không thì …
- Nếu có học bài thì đạtđiểm 10
- 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: (12 phút)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 mãn cấu trúc
câu lậnh rẽ nhánh như thế nào?
3.Gọi học sinh viết câu lệnh so sánh
để tìm Max(a, b) bằng 2 cách
- Có thể chỉ dùng 1 câu lệnh khuyết?
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ệnh1>
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ùngcâu lệnh:
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
Begin
<các lệnh cần ghép>;
End;
Trang 305 Hoạt động 5: (18 phút)Rèn luyện kĩ năng vận dụng lệnh If
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 chtrình của
em không?
- Hãy nêu ra hướng giải quyết của các
em
- Y/cầu hs về nhà hoàn thiện chtrình
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 (1hs
trình bày trên bảng)
Gọ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ị
1 Chú ý dẫn dắt của gv
Khi nhập độ dài âm thì cho
ra dtích, chu vi âm Điềunày không có trong thực tế
- Dùng câu lệnh rẽ nhánh
để kiểm tra giá trị độ dàicác cạnh Nếu độ dài dươngthì tính dtích và chu vi,ngược lại thì thông báo độ
dài Sai.
2 Ghi đề bài, chú ý mục đích, y/cầu của bài tập
+ Tính delta+ Nếu delta<0 thì pt 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ánhdạng khuyết hoặc 1 lệnh rẽnhánh dạng đầy đủ
- 1 hs lên bảng viết chtrìnhLấy ý kiến của 2-3hs
Vd1: Viết chương trìnhnhập vào độ dài 2 cạnhcủa một hình chữ nhật,tính chu vi, diện tích củahcn đó
Vd2: Tìm nghiệm của pt bậc hai: ax2+bx+c=0
Program ptbac2;
Var a, b, c, d, x1, x2: real; Begin
Write(‘nhap a, b, c ‘); Read(a,b,c);
D:=b*b-4*a*c;
If d<0 then write(‘pt vo nghiem’)
else begin x1=(-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 (5phút)
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ố đó
- Viết chtrình giải pt: ax4 + bx2 + c = 0
Trang 31Ngày soạn: 2/10/07
I MỤC TIÊU
1 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
III HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: (7 phút) 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
Nhận xét, đánh giá cho điểm
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
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)
1 Chú ý quan sát bài toán
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
Trang 32- 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
- 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 trước
- Chuẩn hóa lại thuật toán cho hs
- Với số tiền S sau mỗitháng sẽ có số tiền lãi0.015*S
Số tiền lãi sẽ được cộngvào số tiền ban đầu để tínhlãi cho tháng tiếp theo:
- S := S + 0.015*S
- Thực hiện 12 lần
- Tập trung theo dõi gvtrình bày
3 Thảo luận theo nhóm để
viết thuật toán:
- Thông báo kết quả viếtđược
- Nhận xét bài làm củanhóm khác
suất 1,5%/tháng Hỏi sau
12 tháng (không rút tiềnlãi hàng tháng) ông tađược số tiền là baonhiêu?
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.
Trang 33c 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 For?
Giải thích:
<biến đếm>
- Hỏi: Ý nghĩa của <giá trị đầ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 bao nhiêu?
Dẫn dắt: những lệnh nào cần lặp lại ta
đặt sau DO Khi nhiều lệnh cần đặt
sau Do ta phải viết thế nào?
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>
- để 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
FOR <biến đếm>:= <giá trị cuối>
DOWNTO <giá trị đầu>
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 34III HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: (7 phút) 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;
2 Hoạt động 2: (15 phút) 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
Dẫn dắt: Từ bài toán KTBC ở trên,
nếu ta y/cầu tính và đưa ra màn hình
- Ta cần đưa ra màn hình mấy giá trị?
- Việc chính cần thực hiện trong câu
lệnh lặp là gì?
-Ghi đề bài toán-Lắng nghe, phân tíchbài toán và trả lời -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ổngchẵn; S2: tổng lẻ)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
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 35- Hãy mô tả việc trên bằng lệnh lặp
For?
- Y/cầu hs cả lớp tự hoàn thành
chương trình Cho 1 hs lên bảng trình
bày
* 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ụ)
Đứ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ủagiá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: (20 phút) 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 bằ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 là bao
nhiêu?
Ta phải sửa lại chtrình trên như thế
nào?
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, saumỗ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ínhlã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ự viết
chương trìnhQuan sát chtrình củagiáo viên và ghi nhớ
3 Suy nghĩ và trả lời
Bài 2: Ông Ba có số tiền là
S, ông gửi tiết kiệm ngânhàng với lãi suất1.5%/tháng Hỏi sau 12tháng gửi (không rút tiền lãihàng tháng), ông ta được sốtiền là bao nhiêu?
Var s:real; i:byte;
la: ’,S:8:3); Readln
End.
IV ĐÁNH GIÁ CUỐI BÀI (3phút)
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
Trang 36Ngày soạn: 16/10/07
I MỤC TIÊU
1 Kiến thức
- 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: (10 phút) 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?
c 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?
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
- Chưa biết, đó chính là sốtháng phải tìm
- Đến khi số tiền thu được >B
Bài toán 1
Bài toán 2