Kiến thức - 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
Trang 1Ngày soạn : 27/10/2007 Tiết thứ: 12
I Mục đích yêu cầu
1 Kiến thức
- 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
2 Kỹ năng
- Bớc đầu sử dụng đợc lệnh lặp For để lập trình giải quyết một số bài toán đơn giản
II Ph ơng pháp, ph ơng tiện giảng bài
Phơng pháp: Thuyết trình, giảng giải
Phơng tiện: SGK, SGV
III Tiến trình bài giảng
Nội dung Hoạt động của giáo viên và học
sinh
Thời gian
Kiểm tra bài cũ
Bài tập: Nhập vào 3 số thực dơng
và kiểm tra xem 3 số đó có là số
đo 3 cạnh của tam giác không?
Câu hỏi thêm: Nếu là tam giác thì
tính diện tích và chu vi
Bài 10
Đ12 Cấu trúc lặp
1 Lặp
Xét bài toán sau:
In ra màn hình 100 dòng xâu:
“Xin chao cac ban”
* Cấu trúc lặp mô tả thao tác lặp
và đợc phân biệt hai loại là lặp
với số lần biết trớc và lặp với số
lần cha biết trớc
2 Lặp với số lần biết tr ớc và
câu lệnh for-do
a, Cấu trúc
Câu lệnh lặp for-do có 2 dạng
- Dạng lặp tiến:
GV: Đa ra đề bài và gọi HS lên bảng
HS: Suy nghĩ và lên bảng làm
GV: Tiết trớc các em đã đợc tìm hiểu về cấu trúc rẽ nhánh Hôm nay chúng ta sẽ tìm hiểu về cấu trúc lặp
GV: Cho HS suy nghĩ và gọi 1 HS lên bảng làm
HS: Lên bảng làm
GV: Các em thấy chơng trình này thế nào?
HS: Trả lời
GV: Mỗi lần in ra phải viết bao nhiêu câu lệnh?
HS: Trả lời
10 phút
30 phút
Trang 2for <biến đếm>:=<giá trị đầu>
to <giá trị cuối> do <Câu lệnh>
VD: for i:=1 to 100 do
Writeln(‘Xin chao’);
- Dạng lặp lùi:
for <biến đếm>:=<giá trị cuối>
downto <giá trị đầu> do <Câu
lệnh>
VD: for i:=100 downto 1 do
Writeln(‘Xin chao’);
- Biến đếm có kiểu đếm đợc (kiểu
nguyên, kí tự, miền con) và thờng
dùng kiểu nguyên
- Giá trị đầu và giá trị cuối có thể
là biểu thức và có cùng kiểu với
biến đếm
- Điều kiện của vòng lặp là giá trị
đầu <= giá trị cuối.
b, Hoạt động
- Lặp tiến: câu lệnh sau từ khoá
DO đợc thực hiện tuần tự với biến
đếm lần lợt nhận các giá trị liên
tiếp tăng từ giá trị đầu đến giá trị
cuối.
- Lặp lùi: : câu lệnh sau từ khoá
DO đợc thực hiện tuần tự với biến
đếm lần lợt nhận các giá trị liên
tiếp giảm từ giá trị cuối đến giá
trị đầu.
c, Chú ý
- for-to-do là các từ khoá vì vậy
không đợc thay đổi chúng
- Giá trị của biến đếm đợc điều
chỉnh tự động, vì vậy câu lệnh viết
sau DO không đợc thay đổi giá trị
biến đếm.
- Các giá trị đầu và giá trị cuối có
thể là những biểu thức Trong
tr-ờng hợp này, giá trị của biểu thức
đợc tính trớc khi vào vòng lặp và
làm nhiệm vụ giá trị đầu và giá
trị cuối Do đó trong vòng lặp nếu
có biến nào trong hai biểu thức
này bị thay đổi giá trị thì giá trị
đầu và giá trị cuối vẫn không thay
đổi
GV: Chơng trình trên đợc viết nh vậy sẽ rất dài, khó đọc, dễ sai sót Cần phải có cấu trúc điều khiển việc lặp đi lặp lại 1 hoặc nhiều công việc nào đó Để mô tả cấu trúc lặp với số lần biết trớc thì
Pascal dùng câu lệnh For-do
GV: Mời các em đọc SGK trang
43, 44 để tìm hiểu về câu lệnh lặp
for-do
GV: Biến đếm, giá trị đầu, giá trị
cuối có kiểu gì?
GV: Điều kiện gì để vòng lặp
for-do có thể thực hiện đợc.
HS: Chú ý lắng nghe GV: Gọi HS lên bảng giải bài tập GV:
- Về nhà hoàn thành nốt các bài tập vào vở
- Xem trớc phần nội dung cấu trúc lặp với số lần cha
xác định While-do
- Xem nội dung phụ lục B, SGK tr131: Lệnh rẽ nhánh
và lặp
- Xem nội dung phụ lục C, SGK tr139: Lệnh rẽ nhánh
và lặp
Trang 33 Vận dụng
Giải bài sau:
Tính tổng S
a
1
100
1
2 1 1 1 a a a - Xác định S ban đầu và số lần lặp - Viết chơng trình Program Tong_s; Var S:real; i, a:Integer; BEGIN Writeln(‘Nhap a nguyên
(a >2) ’); Write(‘a=’);readln(a); S:=1.0/a; For i:=1 to 100 do S:=S+1/(a+i); Write(‘Tong S=’,S); Readln; END Bài 5a,6 SGK 5 phút Nhận xét của giáo viên hớng dẫn
Trang 4
Ngµy 27 th¸ng 10 n¨m 2007
Gi¸o viªn híng dÉn