Tải bản đầy đủ (.doc) (79 trang)

Giáo án tin học 8 Theo CKTKN đầy đủ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.61 MB, 79 trang )

Trường THCS Hựu Thạnh Giáo án tin học 8
Tuaàn : 20 – Tieát 39,40
Ngày dạy :
Bài 7: CÂU LỆNH LẶP.
I/ Mục tiêu:
• Biết nhu cầu cần có cấu trúc lặp trong ngôn ngữ lập trình.
• Biết ngôn ngữ lập trình dùng cấu trúc lặp để chỉ dẫn máy tính thực hiện lặp đi lặp
lại công việc nào đó một số lần.
• Hiểu hoạt động của câu lệnh với số lần biết trước for do trong Pascal.
• Viết đúng được lệnh for do trong một số tình huống đơn giản.
• Hiểu lệnh ghép trong Pascal
• Thái độ nghiêm túc cẩn thận.
II/ Chuẩn bị:
• Gv: Tài liệu tin lớp 8
• HS: SGK tin 8, vở ghi
III/ Tổ chức hoạt động dạy và học
1/Ổn định :
2. Kiểm tra bài cũ
3. Bài mới
Hoạt động của GV Hoạt động của HS
Hoạt động 1: Các công việc phải thực hiện nhiều lần
GV: giới thiệu : Trong cuộc sống hằng ngày,
nhiều hoạt động được thực hiện lặp đi lặp lại
nhiều lần. ví dụ:
- Các ngày trong tuần các em đều lặp đi lặp
lại hoạt động buổi sáng đến trường và
buổi trưa trở về nhà
- Các em học bài thì phải đọc đi đọc lại
nhiều lần cho đến khi thuộc bài.
HS lắng nghe
GV: Hãy cho thêm một vài ví dụ trong thực tế


trong đời sống hằng ngày mà ta phải thực hiện
các thao tác được lặp đi lặp nhiều lần?
Hs cho ví dụ
Gv: Khi viết chương trình máy tính cũng vậy,
trong nhiều trường hợp ta cũng phải viết lặp lại
nhiều câu lệnh chỉ để thực hiện 1 phép tính nhất
định.
HS lắng nghe
1. Các công việc phải thực hiện nhiều
lần
( SGK)
Hoạt động 2: Câu lệnh lặp – một lệnh thay cho nhiều lệnh
Gv: Gọi 1 hs lên bảng vẽ một hình vuông cạnh 1
đơn vị độ dài (20cm) và yêu cầu cả lớp theo dõi
bạn thực hiện các thao tác trên bảng.
2/ Câu lệnh lặp – một lệnh thay cho
nhiều lệnh
Giáo viên: Nguyễn Thị Thúy Liễu 1
Trường THCS Hựu Thạnh Giáo án tin học 8
HS: 1hs lên bảng vẽ, cả lớp theo dõi
GV: Yêu cầu 1 hs mô tả các bước bạn vẽ trên
bảng.
Vậy khi bạn vẽ 1 hình vuông đã thực hiện bao
nhiêu thao tác? (hs có thể chỉ trả lời 4 thao tác là
vẽ 4 đoạn thẳng)
HS: trả lời (4 thao tác)
GV: Gợi ý thêm thao tác quay thước.
Các thao tác đó như thế nào?
HS: trả lời : Các thao tác giống nhau.
Gv: Như vậy khi vẽ hình vuông có những thao

tác lặp đi lặp lại. Thuật toán sau sẽ mô tả các
bước để vẽ hình vuông.
Gv: Mô tả thuật toán trên bảng
Gv: Mô tả thuật toán tính tổng các số tự nhiên từ
1→ 100
GV: Cấu trúc mô tả thuật toán như trên gọi là
cấu trúc lặp.
Vd1: Thuật toán mô tả các bước để vẽ
hình vuông.
Bước 1: k ← 0 (k là số đoạn thẳng đã vẽ
được).
Bước 2: k ← k+1. Vẽ đoạn thẳng 1 đơn
vị độ dài và quay thước 90
0
sang phải.
Bước 3: Nếu k<4 thì quay lại bước 2;
ngược lại kết thúc.
• k là biến đếm
Vd2: Thuật toán tính
S= 1+2+3+ … + 100
Bước 1: S ← 0; i ← 0.
Bước 2: i← i + 1
Bước 3: nếu i ≤ 100, thì S ← S + i và
quay lại bước 2; ngược lại kết thúc.
• i là biến đếm
Mô tả thuật toán trên gọi là cấu trúc lặp.
Mọi ngôn ngữ lập trình đều có cách chỉ
thị cho máy tính thực hiện cấu trúc lặp
chỉ với 1 câu lệnh. Đó là câu lệnh lặp
Hoạt động3: Ví dụ về câu lệnh lặp

Gv: minh họa bẳng ngôn ngữ Pascal cú pháp câu
lệnh for … to … do
HS: Quan sát, lắng nghe, ghi nhận
• Lưu ý cho hs:
- biến đếm là biến đơn có kiểu nguyên;
- giá trị đầu và giá trị cuối là các biểu
thức có cùng kiểu với biến đếm và giá
trị cuối phải lớn hơn giá trị đầu;
- câu lệnh có thể là câu lệnh đơn giản
hay câu lệnh ghép.
3/ Ví dụ về câu lệnh lặp
* Cú Pháp câu lệnh lặp với số lần biết
trước trong Pascal:
for<biến đếm>:= <giá trị đầu> to <giá
trị cuối> do <câu lệnh>
Trong đó: for, to, do là các từ khóa
Vd 1: Chuong trình in ra màn hình thứ tự
lần lặp.
var i:integer;
begin
for i:= 1 to 20 do
Giáo viên: Nguyễn Thị Thúy Liễu 2
Trường THCS Hựu Thạnh Giáo án tin học 8
GV: Cho hs nhận xét và so sánh sự khác nhau ở
câu lệnh lặp trong hai vd trên?
HS: Nhận xét
Gv: Giải thích cho học tại sao vd2 trong câu
lệnh lặp có begin … end
HS: Quan sát, lắng nghe
writeln(‘Day la lan lap

thu’,i);
readln;
end.
Vd2: chương trình ghi nhận vị trí 10 chữ
O rơi từ trên xuống.
ues crt;
var i:integer;
begin
clrscr;
for i:= 1 to 20 do
begin
writeln(‘O’);
delay(200);
end;
readln;
end.
*Lưu ý: Câu lệnh có sử dụng câu lệnh
ghép thì phải đặt trong hai từ khóa begin
… end.
Hoạt động 4:Tính tổng và tích bằng câu lệnh lặp
GV: trình bày đoạn chương trình tính tổng N số
tự nhiên, với N là số tự nhiên được nhập từ bàn
phím (Pascal)
Theo công thức tính tổng ta cần khai bao nhiêu
biến? kiểu biến?
HS: trả lời
GV: Trong 2 biến thì biến nào có giá trị được
nhập từ bàn phím?
4. Tính tổng và tích bằng câu lệnh lặp
Vd 1: chương trình tính tổng N số tự

nhiên đầu tiên, với N là số tự nhiên được
nhập từ bàn phím.
S = 1+2+3+ … + N
program Tinh_tong;
var N,i:integer;
S:longint;
begin
write(‘Nhap so N = ‘);
readln(N);
S:= 0;
for i:= 1 to N do
S:= S+i;
writeln(‘Tong cua’, N, ‘so tư
nhien dau tien S =
‘, S);
readln;
end.
Giáo viên: Nguyễn Thị Thúy Liễu 3
Trường THCS Hựu Thạnh Giáo án tin học 8
GV: Trong trường hợp dữ liệu có kiểu nguyên
rất lớn ta dùng longint
*Kiểu longint có phạm vi từ -2
31
đến 2
31

– 1.
Vd 2: chương trình tính tích N số tự
nhiên, với N là số tự nhiên được nhập từ
bàn phím.

N! = 1.2.3….N
program Tinh_Giai_Thua;
var N,i:integer;
P:longint;
begin
write(‘Nhap so N = ‘);
readln(N);
P:= 1;
for i:= 1 to N do
P:= P*i;
writeln( N, ‘! = ‘, P);
readln;
end.
IV. Củng cố, hướng dẫn học ở nhà
1. Củng cố
- Hãy cho một vài ví dụ trong thực tế trong đời sống hằng ngày mà ta phải thực
hiện các thao tác được lặp đi lặp nhiều lần?
- ThÕ nµo lµ cÊu tróc lÆp?
- Cấu trúc lặp trong chương trình dùng để làm gì?
- Trong ngôn ngữ lập trình Pascal cấu trúc lặp với số lần lặp cho trước được thể
hiện với câu lệnh nào?
2. H ướng dẫn học
- Học bài ,xem lại các ví dụ, chuẩn bị bài tập
Tuaàn : 21 – Tieát 41,42
Giáo viên: Nguyễn Thị Thúy Liễu 4
Trng THCS Hu Thnh Giỏo ỏn tin hc 8
Ngy dy :
BI TP
I Mc tiờu
Cng c li kin thc trong bi 7 v cõu lnh lp thụng qua vic lm bi tp ti lp

v nh ca HS.
Thỏi nghiờm tỳccn thn.
II Chun b :
GV: SGK
HS: V ghi, v bi tp, SGK, SBT.
III. T chc hot ng dy v hc
1. n nh
2. Kim tra bi c
- Cu trỳc lp trong chng trỡnh dựng lm gỡ?
- Trong ngụn ng lp trỡnh Pascal cu trỳc lp vi s ln lp cho trc c th hin vi
cõu lnh no?
3. Bi mi
Hot ng ca GV HS Ni dung
GV: Nờu cu hi
Khi thực hiện câu lệnh lặp, chơng trình kiểm
tra một điều kiện. Với lệnh lặp
for <biến đếm> := <giá trị đầu> to
<giá trị cuối> do <câu lệnh>;
của Pascal, điều kiện cần phải kiểm tra là gì?
HS: Tr li
GV: Nờu BT :
Bi 1: Sau khi thc hin on chng trỡnh
trờn giỏ tr ca J l bao nhiờu ?
J:=0;
for i:=0 to 5 j:=j+2;
HS: Tr li
GV:
Chơng trình Pascal sau đây thực hiện gì?
var i: integer;
begin

for i:=1 to 1000 do;
end.
HS: tr li
GV: yờu cu HS lm BT 3( SGK)
Bi 5: (SGK) Cỏc cõu lnh Pascal sau cú
hp l khụng ? vỡ sao ?
a) for i:=100 to 1 do writeln(A);
Bi 1:
Sau khi thc hin on chng trỡnh trờn
giỏ tr ca j l 12
Bi 2:
on chng trỡnh ny khụng thc hin
gỡ c .
Bi 3:
Giỏo viờn: Nguyn Th Thỳy Liu 5
Trường THCS Hựu Thạnh Giáo án tin học 8
b) for i:=1.5 to 10.5 do writeln(‘A’);
c) for i=1 to 10 do writeln(‘A’);
d) for i:=1 to 10 do writeln(‘A’);
d) var x:real; begin for x:=1 to 10 do
writeln(‘A’); end.
GV: Nêu BT
Bài 3: Hãy mô tả thuật toán để tính tổng sau
đây ?
1 1 1 1

1.3 2.4 3.5 ( 2)
A
n n
= + + + +

+
HS: Thảo luận, trả lời
GV: nhận xét, sửa sai
GV: nêu BT : Viết thuật toán và chương trình
tính luỹ thừa bậc n của x
HS: Thảo luậu theo đôi bạn viết thuật toán ,
chương trình trình bày thuật toán ,
chương trình
GV: nhận xét, sửa sai
Trả lời:
Trừ d), tất cả các câu lệnh đều không hợp
lệ:
a) Giá trị đầu phải nhỏ hơn giá trị cuối;
b) Các giá trị đầu và giá trị cuối phải là số
nguyên;
c) Thiếu dấu hai chấm khi gán giá trị đầu;
d) Thừa dấu chấm phẩy thứ nhất, nếu như
ta muốn lặp lại câu lệnh writeln('A') mười
lần, ngược lại câu lệnh là hợp lệ;
e) Biến x đã được khai báo như là biến có
dữ liệu kiểu số thực và vì thế không thể
dùng để xác định giá trị đầu và giá trị
cuối trong câu lệnh lặp.
Bài 4:
Thuật toán tính tổng
A =
)1(
1

5.3

1
4.2
1
3.1
1
+
+++
nn
Bước 1. Gán A ← 0, i ← 1.
Bước 2. A ←
1
( 2)i i +
.
Bước 3. i ← i + 1.
Bước 4. Nếu i ≤ n, quay lại bước 2.
Bước 5. Ghi kết quả A và kết thúc
thuật toán.
Bài 5:
Bài 1. Thuật toán:
Bước 1. Nhập các số n và x.
Bước 2. A ← 1, i ← 0 (A là biến lưu luỹ
thừa bậc n của x).
Bước 3. i←i + 1, A ← A.x.
Bước 4. Nếu i < n, quay lại bước 3.
Bước 5. Thông báo kết quả A là luỹ
thừa bậc n của x và kết thúc
thuật toán.
Chương trình Pascal có thể như sau:
var n,i,x: integer; a: longint;
begin

write('Nhap x='); readln(x);
Giáo viên: Nguyễn Thị Thúy Liễu 6
Trường THCS Hựu Thạnh Giáo án tin học 8
write('Nhap n='); readln(n);
A:=1;
for i:=1 to n do A:=A*X;
writeln(x,' mu ',n,' bang ',A);
end.
IV. Củng cố, hướng dẫn học ở nhà
1. Củng cố
2. Hướng dẫn học
- Học bài.
- Làm lại cácbài tập.
- Xem trước nội dung bài thực hành 5, giờ sau thực hành tại phòng máy
Tuaàn : 22 – Tieát 43,44
Giáo viên: Nguyễn Thị Thúy Liễu 7
Trng THCS Hu Thnh Giỏo ỏn tin hc 8
Ngy dy :
Bi thc hnh 5: Sử dụng lệnh lặp for do
I. Mục tiêu:
- Vận dụng kiến thức của vòng lặp for do, câu lệnh ghép để viết chơng trình, tìm hiểu
câu lệnh gotoxy(), where<>, lệnh for lồng trong for
- Viết chơng trình có sử dụng vòng lặp for do;
Sử dụng câu lệnh ghép trong chơng trình;
Rèn luyện kỹ năng đọc hiểu chơng trình có sử dụng vòng lặp for do.
- Thái độ học tập nghiêm túc, tích cực làm các bài thực hành.
II. Chuẩn bị của GV, HS
GV: - Giáo án, SGK, phòng máy, phần mềm pascal
HS: - SGK, vở ghi, bút
III. T chc hot ng dy v hc

1. n nh
2. Kim tra bi c
Hãy nêu cấu trúc câu lệnh lặp ? Cho ví dụ minh hoạ?
3. Bài mới: Chúng ta đã nghiên cứu lý thuyết về vòng lặp for do. để biết vòng lặp
chạy nh thế nào thì hôm nay chúng ta cùng nhau đi vào tiết thực hành. Giáo viên ghi tên
bài học lên bảng.
Hoạt động của thầy và trò Nội dung
Hoạt động 1: Viết chơng trình cho các bài tập đã cho về nhà.
GV: yêu cầu HS vit chng trỡnh : Tính tổng
của n số tự nhiên đầu tiênvào máy
- HS: gõ chơng trình, chạy thử chơng trình,
và báo cáo kết quả.
- GV: Hỗ trợ học sinh trong quá trình thực
hành.
- Sau khi kết quả chạy chơng trình đã đúng,
gv yêu cầu học sinh chữa bài của mình đã
làm ở nhà cho đúng theo chơng trình đã chạy.
GV: yờu cu HS: Viết chơng trình tìm xem có
bao nhiêu số dơng trong n số nhập vào từ bàn
phím
HS: Vit chng trỡnh
GV: Quan sỏt, hng dn , sa sai cho HS
Bài 1: Tính tổng của n số tự nhiên đầu tiên
Program tinh_tong;
Uses crt;
Var i, n: integer; tong: longin;
Begin
Clrscr;
Tong:=0;
Writeln(Nhap vao so n); readln(n);

For i:=1 to n do
Tong: = Tong+i;
Writeln(Tong của, n,so tu nhien dautien
la,tong);
Readln;
End.
2. Viết chơng trình tìm xem có bao nhiêu
số dơng trong n số nhập vào từ bàn phím
Program tinh_so_cac_so_duong;
Uses crt;
Var i,A, dem, n: integer;
Begin
Clrscr;
Dem:=0;
Writeln(Nhap vao so n); readln(n);
For i:=1 to n do
begin
Giỏo viờn: Nguyn Th Thỳy Liu 8
Trng THCS Hu Thnh Giỏo ỏn tin hc 8
writeln(nhap vao so thu,i); readln(A);
if A>0 then dem:=dem+1;
end;
Writeln(So cac so duong la,dem);
Readln;
End.
Hoạt động 2: Bảng cửu chơng.
- GV: Đa ra nội dung của bài toán.
- HS: Nghiên cứu bài toán, tìm input và
output.
- GV: yêu cầu học sinh đọc hiểu chơng

trình.
- HS: đọc, phân tích câu lệnh tìm hiểu hoạt
động của chơng trình.
- GV: yêu cầu một học sinh đứng tại vị trí
trình bày hoạt động của chơng trình, các
nhóm khác cùng tham gia phân tích.
- HS: tham gia hoạt động của giáo viên
- GV: yêu cầu học sinh lập bảng hoạt động
của chơng trình theo mẫu:
Giả sử N=2:
Bớc i i<=10 Writeln(n,.,i,=,n*i)
1 1 đúng 2.1=2
- HS: các nhóm lập bảng và đại diện nhóm
báo cáo kết quả.
- GV: nhận xét.
- GV: cho chơng trình chạy trên máy, yêu
cầu học sinh quan sát kết quả.
HS: Thc hin
Bài 2: Viết chơng trình in ra màn hình
bảng nhân của một số từ 1 đến 9, và dừng
màn hình để có thể quan sát kết quả.
Program Bang_cuu_chuong;
Uses crt;
Var i, n: integer;
Begin
Clrscr;
Writeln(Nhap vao so n); readln(n);
Writeln(Bang nha,n);
Writeln;
For i:=1 to 10 do

Writeln(n,x,i:2,=,n*i:3);
Readln;
End
Hoạt động 3: Làm đẹp màn hình kết quả bằng lệnh gotoxy, where
- Giáo viên cho chạy kết quả của bài thực
hành Bang_cuu_chuong Yêu cầu học
sinh quan sát kết quả và nhận xét
khoảng cách giữa các hàng, cột.
- HS: quan sát và đa ra nhận xét.
- ? Có cách nào để khoảng cách giữa các
hàng và các cột tăng lên?
- GV: Giới thiệu câu lệnh gotoxy và
where.
- GV: yêu cầu học sinh mở chơng trình
Bang_cuu_chơng và sửa lại chơng trình
theo bài trên màn hình của giáo viên.
- HS: gõ chơng trình vào máy, sửa lỗi
Bài 2 sgk (T63)
a) Giới thiệu lệnh gotoxy(), wherex
- Gotoxy(a,b)
Trong đó: a là chỉ số cột, b là chỉ số hàng
- ý nghĩa của câu lệnh là đa con trỏ về cột a
hàng b.
- Wherex: cho biết số thứ tự của cột, wherey
cho biết số thứ tự của hàng.
* Lu ý: Phải khai báo th viện crt trớc khi sử
dụng hai lệnh trên
a) Chỉnh sửa chơng trình nh sau:
Program Bang_cuu_chuong;
Uses crt;

Giỏo viờn: Nguyn Th Thỳy Liu 9
Trng THCS Hu Thnh Giỏo ỏn tin hc 8
chính tả, chạy chơng trình, quan sát kết
quả.
- GV: yêu cầu học sinh quan sát kết quả
và so sánh với kết quả của chơng trinh
khi cha dùng lệnh gotoxy(5, wherey)
- HS: quan sát và nhận xét.
Var i, n: integer;
Begin
Clrscr;
Writeln(Nhap vao so n); readln(n);
Writeln(Bang nha,n);
Writeln;
For i:=1 to 10 do
begin
gotoxy(5, wherey);
Writeln(n,x,i:2,=,n*i:3);
Readln;
End.
Hoạt động 4: sử dụng lệnh For lồng trong for
- GV: giới thiệu cấu trúc lệnh for lồng, h-
ớng dẫn học sinh cách sử dụng lệnh.
- HS: ghi chép cấu trúc và lĩnh hội
- GV: đa nội dung chơng trình bài thực
hành 3 lên màn hình, yêu cầu học sinh
đọc chơng trình, tìm hiểu hoạt động của
chơng trình.
- HS: hoạt động theo nhóm, tìm hiểu hoạt
động của chơng trinh, đại diện của

nhóm báo cáo kết quả thảo luận.
- GV: cho chạy chơng trình.
- HS : quan sát kết quả trên màn hình.
Bài 3 SGK (T64).
a) Câu lệnh for lồng trong for
- For <biến đếm1:= giá trị đầu> to
<giá trị cuối> do
For <biến đếm 2:=giá trị đầu> to
<giá trị cuối> do
< câu lệnh>;
Program Tao_bang;
Uses crt;
Var i,j: byte;
Begin
Clrscr;
For i:=1 to 9 do
Begin
For j:=0 to 9 do
Writeln(10*i+j:4);
Writeln;
End;
Readln;
Giỏo viờn: Nguyn Th Thỳy Liu 10
Trng THCS Hu Thnh Giỏo ỏn tin hc 8
End.
IV. Cng c , hng dn hc nh
1. Cng c
TNG KT
1. Cấu trúc lặp với số lần lặp biết trớc đợc thể hiện bằng câu lệnh Pascal fordo.
2. Giống nh các câu lệnh rẽ nhánh ifthen, các câu lệnh fordo cũng có thể lồng

trong nhau. Khi đó các <biến đếm> trong các câu lệnh lặp phải khác nhau.
3. Câu lệnh GotoXY(a,b) có tác dụng đa con trỏ về cột a, hàng b. WhereX cho biết số
thứ tự của cột và WhereY cho biết số thứ tự của hàng đang có con trỏ.
4. Có thể kết hợp câu lệnh GotoXY(a,b) với các hàm chuẩn WhereX và WhereY để
điều khiển vị trí của con trỏ trên màn hình.
2. Hng dn hc
-Nhận xét rút kinh nghiệm giờ thực hành.
- Y/c học sinh về nhà sử dụng lệnh gotoxy để chỉnh sửa lại bài thực hành số 3 cho kết quả
in ra màn hình đẹp.
Tuan : 23 Tieỏt 45,46
Ngy dy :
Bi 8: LP VI S LN CHA BIT TRC
I.Mc tiờu:
1.Kin thc
- Bit nhu cu cn cú cu trỳc lp vi s ln cha bit trc trong ngụn ng lp
trỡnh;
- Bit ngụn ng lp trỡnh dựng cu trỳc lp vi s ln cha bit trc ch dn
mỏy tớnh thc hin lp i lp li cụng vic n khi mt iu kin no ú c tho món;
2. K nng
- Nhn bit c õu l hot ng lp vi s ln cha biờt trc.
3. Thỏi
- Nghiờm tỳc trong quỏ trỡnh nghiờn cu v thc hnh.
II. Chun b
GV: SGK, mỏy chiu, phim trong cỏc vớ d v chng trỡnh
Giỏo viờn: Nguyn Th Thỳy Liu 11
Trường THCS Hựu Thạnh Giáo án tin học 8
HS: Xem trước bài ở nhà
III. Tổ chức hoạt động dạy và học
1. Ổn định
2. Kiểm tra bài cũ

Viết thuật toán tính tổng 100 số tự nhiên đầu tiên 1,2,3,…,99,100
Trả lời
Bước 1. SUM ← 0; i ← 0.
Bước 2. i ← i + 1.
Bước 3. Nếu i ≤ 100, thì SUM ← SUM + i và quay lại bước 2.
Bước 4. Thông báo kết quả và kết thúc thuật toán.
3. Bài mới
Hoạt động của GV và HS
Nội dung
Hđ 1
GV : y/c hs đọc ví dụ 1sgk/67
HS : 2-3 hs đọc ví dụ sgk
GV : Phân tích ví dụ
HS : chú ý lắng nghe
GV : Hướng dẫn hs xây dựng thuật toán
HV : Nghe giáo viên hướng dẫn, sau đó tự
xây dựng thuật toán
GV : Chạy tay cho học sinh xem ( Chỉ nên
chạy tay thử từ 1 đến 10 )
Hs : Chú ý nghe .
Hs ghi vở ví dụ 2
Gv : Giới thiệu sơ đồ khối
1. Các hoạt động lặp với số lần chưa biết
trước
a/ Ví dụ 1(sgk).
b/ Ví dụ 2 : Nếu cộng lần lượt n số tự nhiên
đầu tiên (n = 1, 2, 3, ), Cần cộng bao nhiêu số
tự nhiên đầu tiên để ta nhận được tổng T
n
nhỏ

nhất lớn hơn 1000?
Giải :
Kí hiệu S là tổng cần tìm và ta có thuật toán
như sau:
+ Bước 1. S

0, n

0.
+ Bước 2. Nếu S ≤ 1000, n

n + 1; ngược lại
chuyển tới bước 4.
+ Bước 3. S

S + n và quay lại bước 2.
+ Bước 4. In kết quả : S và n là số tự nhiên nhỏ
nhất sao cho S > 1000. Kết thúc thuật toán.
* Ta có sơ đồ khối :
Giáo viên: Nguyễn Thị Thúy Liễu 12
Trường THCS Hựu Thạnh Giáo án tin học 8

Gv : Có thể sử dụng lệnh lặp với số lần lặp
chưa biết trước trong các chương trình lập
trình . Sau đây ta xét câu lệnh và ví dụ
trong TP

HĐ 2
GV : Giới thiệu cú pháp lệnh
while … do ….;

HS : chú ý nghe và ghi chép
Gv : Xét ví dụ 3
Chúng ta biết rằng, nếu n càng lớn thì
1
n

càng nhỏ, nhưng luôn luôn lớn hơn 0. Với
giá trị nào của n thì
1
n
< 0.005 hoặc
1
n
<
0.003 ?
Hs : Đọc ví dụ 3
GV : giới thiệu chương trình mẫu sgk
( Giáo viên in chương trình mẫu trên phim

* Nhận xét : Để viết chương trình chỉ dẫn máy
tính thực hiện các hoạt động lặp như trong các
ví dụ trên, ta có thể sử dụng câu lệnh có dạng
lặp với số lần chưa biết trước
2. Ví dụ về lệnh lặp với số lần chưa biết
trước
Trong Pascal câu lệnh lặp với số lần chưa biết
trước có dạng:
while <điều kiện> do <câu lệnh>;
trong đó:
- điều kiện thường là một phép so sánh;

- câu lệnh có thể là câu lệnh đơn giản
hay câu lệnh ghép.
Câu lệnh lặp này được thực hiện như sau:
Bước 1 : Kiểm tra điều kiện.
Bước 2 : Nếu điều kiện SAI, câu lệnh sẽ bị bỏ
qua và việc thực hiện lệnh lặp kết thúc. Nếu
điều kiện đúng, thực hiện câu lệnh và quay lại
bước 1.
Ví dụ 3.
Giáo viên: Nguyễn Thị Thúy Liễu 13
Trường THCS Hựu Thạnh Giáo án tin học 8
trong )
HS : quan sát
GV : Chạy tay cho học sinh xem
Hs : chú ý nghe và tự chạy tay lại
GV : Yêu cầu học sinh mở máy tính và
nhập chương trình ví dụ 3
Hs : thực hiện
G : Cho học sinh chạy chương trình trên
máy
Hs : thực hiện
G : Yêu cầu hs thay điều kiện sai_so =
0.003 thành 0.002 ; 0.001 ; 0.005 ;
Hs : thực hiện
Với giá trị nào của n ( n>o ) thì
1
n
< 0.005
hoặc
1

n
< 0.003? Chương trình dưới đây tính
số n nhỏ nhất để
1
n
nhỏ hơn một sai số cho
trước :
uses crt;
var x: real;
n: integer;
const sai_so=0.003;
begin
clrscr;
x:=1; n:=1;
while x>=sai_so do begin n:=n+1; x:=1/n
end;
writeln('So n nho nhat de 1/n < ',sai_so:5:4,
'la ',n);
readln
end.
Hđ 3
G V: ta tiếp tục xét các ví dụ mà trong
chương trình có câu lệnh với số lần lặp
chưa biết trước
Xét ví dụ 4
GV : Cho học sinh quan sát chương trình
HS : quan sát
+ G V: Chạy tay cho học sinh xem
+ Hs : chú ý nghe và tự chạy tay lại
+ G : Yêu cầu học sinh mở máy tính nhập

chương trình ví dụ 4
+ Hs : thực hiện
+ GV : Cho học sinh chạy chương trình
trên máy
+ HS: thực hiện
+ G V: chạy chương trình này, ta nhận
được giá trị ntn?
+ HS : Nếu chạy chương trình này ta sẽ
nhận được n = 45 và tổng đầu tiên lớn hơn
1000 là 1034.
+ GV : giới thiệu ví dụ 5 sgk
Viết chương trình tính tổng
Ví dụ 4 . Chương trình Pascal dưới đây thể
hiện thuật toán tính số n trong ví dụ 2:
var S,n: integer;
begin
S:=0; n:=1;
while S<=1000 do
begin n:=n+1; S:=S+n end;
writeln('So n nho nhat de tong > 1000 la
',n);
writeln('Tong dau tien > 1000 la ',S);
end.
Ví dụ 5 . Viết chương trình tính tổng
1 1 1
1
2 3 100
T
= + + + +


Giáo viên: Nguyễn Thị Thúy Liễu 14
Trường THCS Hựu Thạnh Giáo án tin học 8
1 1 1
1
2 3 100
T
= + + + +
+ GV : Cho học sinh quan sát chương trình
+ Hs : quan sát
+ G V: Chạy tay ( cả hai chương trình ) cho
học sinh xem
+ Hs : chú ý nghe và tự chạy tay lại
+ GV : so sánh kết quả khi chạy hai chương
trình
+ HS : Kết quả bằng nhau
+ GV : Ví dụ này cho thấy rằng chúng ta có
thể sử dụng câu lệnh while…do thay cho
câu lệnh for…do.
+ GV : Giới thiệu phần 3
+ GV : Khi viết chương trình sử dụng cấu
trúc lặp cần chú ý tránh tạo nên vòng lặp
không bao giờ kết thúc
+ Hs : Chú ý nghe
+ GV : Chẳng hạn, chương trình dưới đây
sẽ lặp lại vô tận:
var a:integer;
begin
a:=5;
while a<6 do writeln('A');
end.

+ Hs : Quan sát
+ GV : Trong chương trình trên, giá trị của
biến a luôn luôn bằng 5, điều kiện a<6
luôn luôn đúng nên lệnh writeln('A') luôn
được thực hiện.
Do vậy, khi thực hiện vòng lặp, điều kiện
trong câu lệnh phải được thay đổi để sớm
hay muộn giá trị của điều kiện được chuyển
từ đúng sang sai. Chỉ như thế chương trình
mới không "rơi" vào những "vòng lặp vô
Giải :
Để viết chương trình tính tổng
1 1 1
1
2 3 100
T
= + + + +
ta có thể sử dụng lệnh
lặp với số lần lặp biết trước for…do:
T:=0;
for i:=1 to 100 do T:=T+1/i;
writeln(T);
Nếu sử dụng lệnh lặp while…do, đoạn
chương trình dưới đây cũng cho cùng một kết
quả:
T:=0;
i:=1;
while i<=100 do begin T:=T+1/i; i:=i+1 end;
writeln(T);
* Nhận xét : Ví dụ này cho thấy rằng chúng ta

có thể sử dụng câu lệnh while…do thay cho
câu lệnh for…do.
3. Lặp vô hạn lần – Lỗi lập trình cần tránh
Khi viết chương trình sử dụng cấu trúc lặp
cần chú ý tránh tạo nên vòng lặp không bao
giờ kết thúc.
Giáo viên: Nguyễn Thị Thúy Liễu 15
Trng THCS Hu Thnh Giỏo ỏn tin hc 8
tn".
+ Hs : Chỳ ý nghe
IV. Cng c , hng dn hc nh
1. Cng c:
Ghi nhớ
1. Ngoài cấu trúc lặp với số lần lặp biết trớc, các ngôn ngữ lập trình còn có các câu
lệnh lặp với số lần cha biết trớc.
2. Whiledo là câu lệnh lặp với số lần cha biết trớc trong Pascal.
-Nêu một vài ví dụ về hoạt động lặp với số lần cha biết trớc ?
-Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần lặp cho trớc và câu lệnh lặp với số
lần lặp cha biết trớc ?
2. Hng dn v nh:
- Hc bi
- Lm bi tp 2,3a,bi 5 SGK/71
- Nghiờn cu trc bi thc hnh.
Tuan : 24 Tieỏt 47,48
Ngy dy :
BI TP
I/ MC TIấU:
1) Kin thc :
- Cng c kin thc vũng lp vi s ln lp cha bit trc v cõu lnh ghộp.
2) K nng:

- Vit c chng trỡnh Pascal cú s dng vũng lp While do
- Bit s dng cõu lnh ghộp.
- Rốn k nng c hiu chng trỡnh cú s dng vũng lp while do
3) Thỏi :
- Thỏi hc tp nghiờm tỳc, tớch cc lm cỏc dng bi tp ng dng.
II/ CHUN B:
- GV: Sỏch giỏo khoa, giỏo ỏn, chun b mt s thut toỏn v chng trỡnh .
Giỏo viờn: Nguyn Th Thỳy Liu 16
Trường THCS Hựu Thạnh Giáo án tin học 8
- HS: Vë ghi.
III/ TIẾN TRÌNH LÊN LỚP.
1)Ổn định
2)Kiểm tra bài cũ:
- Kiểm tra bài cũ trong quá trình làm bài tập
3)Bài mới:
Hoạt động của GV - HS Nội dung
Hoạt động 1: Chốt lại kiến thức trọng tâm để áp dụng giải bài tập
- GV: Em hãy nhắc lại cú pháp lệnh
While do
- HS trả lời
- GV chốt ý và nhắc lại lần nữa cho HS
nắm vững
- HS chú ý theo dõi và tiếp thu
- GV yêu cầu HS ghi vở
- HS ghi vở
- GV: Lưu ý HS cách thực hiện và tránh
lệnh lặp vô hạn lần.
- HS lắng nghe.
while <điều kiện> do <câu lệnh>;
Trong đó:

- Điều kiện thường là một phép so sánh;
- Câu lệnh có thể là câu lệnh đơn giản hay câu
lệnh ghép.
Câu lệnh lặp này được thực hiện:
Bước 1 : Kiểm tra điều kiện.
Bước 2 : Nếu điều kiện SAI, câu lệnh sẽ bị bỏ
qua và việc thực hiện lệnh lặp kết thúc. Nếu
điều kiện ĐÚNG, thực hiện câu lệnh và quay lại
bước 1.
Hoạt động 2: Giải bài tập trong SGK
Bài 2 trang 71 SGK: Phát biểu sự khác biệt
giữa câu lệnh lặp với số lần lặp cho trước
và câu lệnh lặp với số lần lặp chưa biết
trước?
- GV yêu cầu HS đọc và nghiên cứu bài tập
2.
- HS đọc đề
Bài 2: Sự khác biệt giữa câu lệnh lặp với số
lần lặp cho trước và câu lệnh lặp với số lần lặp
chưa biết trước là ở các điểm sau đây:
a) Như tên gọi của nó, câu lệnh lặp với số lần
lặp cho trước chỉ thị cho máy tính thực hiện
một lệnh hoặc một nhóm lệnh với số lần đã
được xác định từ trước, còn với câu lệnh lặp
với số lần lặp chưa biết trước thì số lần lặp
chưa được xác định trước.
Giáo viên: Nguyễn Thị Thúy Liễu 17
Trường THCS Hựu Thạnh Giáo án tin học 8
- GV cho HS đứng tại chỗ trả lời câu hỏi
- HS suy nghĩ, thảo luận và trả lời

- GV goi 1 HS khác nhận xét
- 1HS khác đứng tại chỗ nhân xét câu trả
lời của bạn
- GV nhận xét, bổ sung và cho HS ghi vở
- HS tiếp thu và ghi vở
Bài 3 trang 71 SGK: Tìm hiểu các thuật toán sau
đây và cho biết khi thực hiện thuật toán, máy tính sẽ
thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của
S bằng bao nhiêu? Viết chương trình Pascal thể hiện
các thuật toán đó.
a) Thuật toán 1:
Bước 1. S ← 10, x ← 0.5.
Bước 2. Nếu S ≤ 5.2, chuyển tới bước 4.
Bước 3. S ← S − x và quay lại bước 2.
Bước 4. Thông báo S và kết thúc thuật toán.
b) Thuật toán 2:
Bước 1. S ← 10, n ← 0.
Bước 2. Nếu S = 10, chuyển tới bước 4.
Bước 3. n ← n + 3, S ← S−n quay lại bước
2.
Bước 4. Thông báo S và kết thúc thuật toán.
- GV yêu cầu HS đọc đề bài tập 3
- HS đọc đề theo yêu cầu của GV
- GV cho HS thảo luận nhóm để trả lời câu
hỏi
( nhóm 1 và 2: thuật toán 1, nhóm 3 và 4:
thuật toán 2)
- HS thảo luận
- GV gọi đại diện nhóm trả lời, các nhóm
khác nhận xét, bổ sung

b) Trong câu lệnh lặp với số lần cho trước,
điều kiện là giá trị của một biến đếm có giá trị
nguyên đã đạt được giá trị lớn nhất hay chưa.
Trong câu lệnh lặp với số lần cho trước, câu
lệnh được thực hiện ít nhất một lần, sau đó
kiểm tra điều kiện. Trong câu lệnh lặp với số
lần chưa xác định trước, trước hết điều kiện
được kiểm tra. Nếu điều kiện được thoả mãn,
câu lệnh mới được thực hiện. Do đó có thể có
trường hợp câu lệnh hoàn toàn không được
thực hiện.
Bài 3
a) Thuật toán 1: 10 vòng lặp được thực hiện.
Khi kết thúc thuật toán S = 5.0. Đoạn chương
trình Pascal tương ứng:
S:=10; x:=0.5;
while S>5.2 do S:=S-x;
writeln(S);
b) Thuật toán 2: Không vòng lặp nào được
thực hiện vì ngay từ đầu điều kiện đã không
được thỏa mãn nên các bước 2 và 3 bị bỏ qua.
S = 10 khi kết thúc thuật toán. Đoạn chương
trình Pascal tương ứng:
S:=10; n:=0;
while S<10 do
begin n:=n+3;
S:=S-n end;
writeln(S);
Giáo viên: Nguyễn Thị Thúy Liễu 18
Trường THCS Hựu Thạnh Giáo án tin học 8

- HS quan sát và ghi vở
- GV yêu cầu HS dựa vào thuật toán để viết
chương trình Pascal
- HS viết chương trình theo yêu cầu bài tập.
Bài 5: Hãy chỉ ra lỗi trong các câu lệnh sau
đây:
a)X:=10; while X:=10 do X:=X+5;
b)X:=10; while X=10 do X=X+5;
c)S:=0; n:=0; while S<=10 do n:=n+1;
S:=S+n;
- GV cho HS nghiên cứu bài tập 5
- HS thực hiện yêu cầu của GV
- GV gọi HS đứng tại chỗ trả lời
- HS trả lời
- GV nhận xét
- HS theo dõi, tiếp thu và ghi vở
Bài 5:
a) Thừa dấu hai chấm trong điều kiện;
b) Thiếu dấu hai chấm trong câu lệnh gán;
c) Thiếu các từ khóa begin và end trước và sau
các lệnh n:=n+1; S:=S+n, do đó vòng lặp trở
thành vô tận.
IV Củng cố, hướng dẫn học ở nhà:
1. Củng cố
- GV củng cố lại kiến thức với 3 loại vòng lặp đã học.
2. Hướng dẫn học :
- Học bài
- Xem lại các bài tập đã thực hiện .
- Tự làm lại các bài tập.
- Về nhà làm thêm các bài tập sau:

Bài 1: Lập trình tính tổng dùng lệnh lặp While do. Trong đó n là số tự nhiên được
nhập từ bàn phím.
1 1 1
1 ( )
2 3
A n Z
n
= + + + ∈

GIẢI
Program tinhA;
Uses CRT;
Var i, n: integer;
tong: real;
BEGIN
Clrscr;
write('cho so tu nhien n: '); Readln(n);
tong:=0; i:=1;
while i<= n do
Giáo viên: Nguyễn Thị Thúy Liễu 19
Trường THCS Hựu Thạnh Giáo án tin học 8
Begin
tong:= tong+ 1/i;
i: = i+1;
End;
writeln(' Tong can tim la: ', tong:12:6);
Readln;
END.
Bài 2: Viết chương trình tìm ƯCLN(a,b). Biết a, b được nhập từ bàn phím. a,b
Z∈

Giải
Program timUCLN;
Uses Crt;
Var a,b,r,a1,b1: integer;
BEGIN
ClrScr;
Write(‘Nhap so thu nhat, a= ‘); Readln(a); a1:= a;
Write(‘Nhap so thu hai, = ‘); Readln(b); b1:= b;
While a mod b <> 0 do
Begin
r:= a mod b;
a: = b; b: = r;
End;
Write (‘ Vay UCLN(‘, a1, ‘;’,b1,’)=’,b:2);
Readln
END.
Tuaàn : 25 – Tieát 49,50
Ngày dạy :
Bài thực hành 6:
SỬ DỤNG LỆNH LẶP WHILE DO
I/ MỤC TIÊU:
1) Kiến thức :
- Vận dụng kiến thức của vòng lặp While … do và câu lệnh ghép để viết chương trình.
2) Kĩ năng:
- Viết được chương trình Pascal có sử dụng vòng lặp While do
- Biết sử dụng câu lệnh ghép.
- Rèn kỹ năng đọc hiểu chương trình có sử dụng vòng lặp while do.
3) Thái độ:
- Nghiêm túc trong giờ thực hành và sử dụng phòng máy.
II/ CHUẨN BỊ:

Giáo viên: Nguyễn Thị Thúy Liễu 20
Trường THCS Hựu Thạnh Giáo án tin học 8
- GV: Sách giáo khoa, giáo án, chuẩn bị một số chương trình, phòng máy tính.
- HS: Vë ghi, làm bài tập ở nhà.
III/ T Ổ CHỨC HOẠT ĐỘNG DẠY VÀ HỌC .
1)Ổn định
2)Kiểm tra bái cũ:
- Câu hỏi:
Câu 1: Hãy nêu sự khác nhau giữa câu lệnh lặp với số lần biết trước và câu lệnh lặp với
số lần lặp chưa biết trước?
Câu 2: Nêu cấu trúc và cách hoạt động của câu lệnh lặp với số lần chưa biết trước?
3)Bài mới:
Hoạt động của GV và HS Nội dung
Hoạt động 1: Các kiến thức cần nhớ
- GV: Gọi HS nhắc lại cấu trúc lênh lặp với số
lần lặp chưa biết trước?
- HS trả lời câu hỏi của GV
- GV nhận xét và chốt ý
- HS theo dõi, tiếp thu và ghi vở
- GV: Em hãy mô tả hoạt động của câu lệnh lặp
với số lần chưa biết trước?
- HS dựa vào cấu trúc câu lệnh lặp và mô tả
hoạt động của câu lệnh
- GV gọi 1 HS khác nhận xét và bổ sung
- 1 HS khác nhận xét
- GV nhắc lại một lần nữa
- HS lắng nghe và ghi bài vào vở
Các kiến thức cần nhớ :
While <Điều kiện> Do <câu lệnh>
* Hoạt động:

Bước 1 : Kiểm tra điều kiện.
Bước 2 : Nếu điều kiện SAI, câu lệnh sẽ bị
bỏ qua và việc thực hiện lệnh lặp kết thúc.
Nếu điều kiện đúng, thực hiện câu lệnh và
quay lại bước 1.
Hoạt động 2: Bài tập 1
- GV: Yêu cầu HS đọc bài tập 1 (Tr72 SGK),
cho HS thảo luận theo nhóm và làm bài tập.
- HS đọc đề bài tập 1 và làm theo yêu cầu của
GV
GV: Em hãy cho biết input và output của bài
toán?
- HS nghiên cứu và xác định Input, Output
INPUT: Nhập n, nhập n số nguyên.
OUTPUT: Kết quả TBC của n số nguyên
- GV: Chúng ta cần tính TBC bao nhiêu số?
- HS trả lời: tính TBC của n số
- GV: Nêu cách tính trung bình cộng 4 số.
- HS:
1 2 3 4
4
x x x x+ + +
Bài 1: Viết chương trình Pascal sử dụng câu
lệnh While…do để tính trung bình cộng n số
thực nhập từ bàn phím. (n, và n số thực
được nhập từ bàn phím)
a. Mô tả thuật toán.
INPUT: Nhập n, nhập n số nguyên.
OUTPUT: Kết quả TBC của n số nguyên
B1: Nhập giá trị của n( tính TBC bao nhiêu

số);
dem←0; S←0;
B2: Trong khi dem <= n thì làm
Giáo viên: Nguyễn Thị Thúy Liễu 21
Trường THCS Hựu Thạnh Giáo án tin học 8
- GV: Vậy tính TBC n số ta làm ntn?
- HS:
1 2 3

n
x x x x
n
+ + + +
- GV: Để tính
1 2 3

n
x x x x S+ + + + →
em làm
thế nào?
- HS trả lời: S
¬
S + x;
- GV: làm sao để có S mới = S cũ + x?
- HS: S
¬
0 (b1)
- GV: Quy luật S
¬
S + x; đến khi nào dừng?

- HS: Khi biến dem > n.  phát hiện ra điều
kiện lặp của While…do
GV: Dựa vào hệ thống câu hỏi. Em hãy lần
lượt hình thành việc mô tả thuật toán?
- Các nhóm lần lượt viết thuật toán lên bảng
phụ
- GV quan sát HS viết bảng phụ
- GV nhận xét
- HS tiếp thu và ghi vở
- GV cho các nhóm viết chương trình hoàn
chỉnh
- HS: Dựa vào thuật toán trình bày chương
trình hoàn chỉnh.
- GV: Quan sát, chỉnh sửa từng câu lệnh HS lên
bảng trình bày.
- GV cho HS ghi bài vào vở
- HS ghi vở
- GV: Hỗ trợ HS trong quá trình thực hành.
- GV: Hướng dẫn HS đọc và tìm hiểu ý nghĩa
từng câu lệnh.
- HS lắng nghe GV giảng bài và tiếp thu
- GV: Cho HS thực hành soạn chương trình
trên vào máy tính.
- HS: tiến hành soạn thảo và dịch, chạy chương
trình, rồi lưu lại.
- GV cho HS thay thế vòng lặp While…do
bằng vòng lặp xác định For…do
- Sau khi kết quả chạy chương trình đã đúng,
GV yêu cầu học sinh chữa bài của mình đã làm
ở nhà cho đúng theo chương trình đã chạy.

- HS ghi bài vào vở
Nhập số thứ (1,2,3….n) (cho x)
S←S+x; dem←dem +1;
B3: Tính TB ←S/n;
B4: In kết quả TB, kết thúc chương trình.
b. Viết chương trình.
Program tinhTB;
Uses Crt;
Var n,dem: integer;
x, S, TB: real;
BEGIN
ClrScr;
Write(‘Muon tinh TB bao nhieu so n=’);
Readln(n);
dem:= 0; S:=0;
While dem <= n do
Begin
Write(‘Nhap so thu’, dem, ‘ =
‘ );readln(x);
S:= S + x; dem:= dem + 1;
End;
TB:= S/n;
Write(‘ Vay trung binh cong ’, n, ‘so la:
‘, TB:6:2);
Readln;
END.
Hoạt động 3: Bài tập 2
- GV: yêu cầu HS đọc bài 2 SGK
Bài 2: Đọc và tìm hiểu ý nghĩa của từng câu
Giáo viên: Nguyễn Thị Thúy Liễu 22

Trường THCS Hựu Thạnh Giáo án tin học 8
- HS đọc đề bài tập 2
- GV yêu cầu HS đọc và nghiên cứu chương
trình.
- HS nghiên cứu
- GV: Cho HS lần lượt tìm hiểu ý nghĩa của
từng câu lệnh
- HS: thực hiện các yêu cầu của GV
- Nêu tác dụng của câu lệnh:
While n mod i <> 0 do i:= i + 1;
- GV: Chương trình trên có tác dụng gì?
- HS: Mục đích là nhận dạng một số tự nhiên
được nhập vào từ bàn phím có phải là số
nguyên tố hay không?
Yêu cầu một học sinh đứng tại vị trí trình bày
hoạt động của chương trình, các nhóm khác
cùng tham gia phân tích.
- HS trình bày hoạt động của chương trình
- GV cho HS gõ chương trình vào máy tính,
dịch và chạy chương trình với một vài độ chính
xác khác nhau.
- HS gõ chương trình vào máy của mình, sau đó
dịch và chạy chương trình theo yêu cầu của
GV.
lệnh sau đây.
Uses Crt;
Var n,i : integer;
BEGIN
ClrScr;
Write(‘Nhap vao mot so nguyen:

‘);Readln(n);
If n<=1 Then Writeln(‘N khong la so
nguyen to’);
Else
Begin
i:=2;
While n mod i <> 0 do i:= i + 1;
If i = n Then Writeln(n,’ la so
nguyen to’)
Else Writeln(n,’ khong la so nguyen
to’);
End;
Readln
END.
IV. Củng cố, hướng dẫn học ở nhà
1) Củng cố:
- GV nhận xét, rút kinh nghiệm giờ thực hành.
- Ôn lại tất cả các kiến thức đã học về các câu lệnh lặp.
2) Hướng dẫn học :
- Ghi nhớ cú pháp và ý nghĩa của câu lệnh lặp while do ,
- Đọc và tìm hiểu chương trình.
- Chuẩn bị tiết sau ôn tập.
Giáo viên: Nguyễn Thị Thúy Liễu 23
Trường THCS Hựu Thạnh Giáo án tin học 8
Tuaàn : 26 – Tieát 51
Ngày dạy :
ÔN TẬP
I. Mục tiêu:
1. Kiến thức:
- Ôn tập các kiến thức về sử dụng câu lệnh lặp

2. Kĩ năng:
- Rèn luyện khả năng đọc chương trình, tìm hiểu tác dụng và kết hợp các câu lệnh.
3. Thái độ:
- Thái độ học tập nghiêm túc, yêu thích môn học.
II. Chuẩn bị:
GV: Sách giáo khoa
HS: Ôn tập các kiến thức về câu lệnh lặp
III. Tổ chức hoạt động dạy và học :
1. Ổn định lớp
2. Kiểm tra bài cũ ( Trong quá trình ôn tập )
3. Bài mới:
Hoạt động của GV và HS Nội dung
HĐ 1:
GV: Nêu câu hỏi :
Nêu sự khác biệt giữa câu lệnh xác định và
câu lệnh không xác định ?
HS: Trả lời
GV: Nhận xét
I. Lý thuyết
1Sự khác biệt giữa câu lệnh xác định và câu
lệnh không xác định.
a) Câu lệnh lặp với số lần lặp cho trước chỉ thị
cho máy tính thực hiện một lệnh hoặc một nhóm
lệnh với số lần đã được xác định từ trước, còn
với câu lệnh lặp với số lần lặp chưa biết trước
thì số lần lặp chưa được xác định trước.
b) Lệnh lặp với số lần cho trước, điều kiện là giá
Giáo viên: Nguyễn Thị Thúy Liễu 24
Trng THCS Hu Thnh Giỏo ỏn tin hc 8
GV: Hóy vit cỳ phỏp cõu lnh lp

For do v while do ?
HS: Vit
H 2:
Gv: Nờu BT
Lp trỡnh tớnh tng dựng lnh lp
While do. Trong ú n l s t nhiờn -
c nhp t bn phớm.
HS: Tho lun , thc hin
GV: Nhn xột
tr ca mt bin m cú giỏ tr nguyờn ó t
c giỏ tr ln nht hay cha, cũn trong cõu
lnh lp vi s ln lp cha bit trc, iu kin
tng quỏt hn nhiu, cú th l kim tra mt giỏ
tr ca mt s thc
c) Lnh lp vi s ln cho trc, cõu lnh c
thc hin ớt nht mt ln, sau ú kim tra iu
kin. Lnh lp vi s ln cha xỏc nh trc,
trc ht iu kin c kim tra. Nu iu kin
c tho món, cõu lnh mi c thc hin
2/ Cỳ phỏp cõu lnh lp
a/ For do
for <biến đếm>:= <giá trị đầu> to <giá
trị cuối> do <câu lệnh>;
b/While do
while <điều kiện> do <câu lệnh>;
trong đó:
- điều kiện thờng là một phép so sánh;
- câu lệnh có thể là câu lệnh đơn giản
hay câu lệnh ghép.
Câu lệnh lặp này đợc thực hiện nh sau:

1. Kiểm tra điều kiện.
2. Nếu điều kiện SAI, câu lệnh sẽ bị bỏ
qua và việc thực hiện lệnh lặp kết thúc.
Nếu điều kiện đúNG, thực hiện câu
lệnh và quay lại bớc 1.
II. BI TP
Bi 1: Lp trỡnh tớnh tng dựng lnh lp While
do. Trong ú n l s t nhiờn c nhp t
bn phớm.
1 1 1
1 ( )
2 3
A n Z
n
= + + +

GII
Program tinhA;
Uses CRT;
Var i, n: integer;
tong: real;
BEGIN
Clrscr;
write('cho so tu nhien n: ');
Readln(n);
tong:=0; i:=1;
while i<= n do
Giỏo viờn: Nguyn Th Thỳy Liu 25

×