VIẾT CHƯƠNG TRÌNH KIỂM TRA 3 SỐ NHẬP TỪ BÀN PHÍM CÓ PHẢI LÀ 3 CẠNH TAM...

3. - BAI 3. - BAI 3. - BAI
BAI

3. Lệnh lặp với số lần lặp biết trứơc: (lệnh

GV: Yêu cầu học sinh nghiên cứu SGK và cho

biết cấu trúc chung của lệnh lặp While.

WHILE)

a) Cú pháp: while <điều kiện> do <lệnh>;

HS: Chú ý theo dõi làm theo yêu cầu giáo

viên.

<điều kiện> là biểu thức quan hệ hoặc biểu thức

logic.

GV: Cú pháp, chức năng lệnh while.

<lệnh> là lệnh đơn hoặc lệnh ghép.

b) Chức năng:Bước 1:tính và kiểm tra điều kiện.

Bước 2:Nếu điều kiện sai thì kết thúc

câu lệnh.

Nếu điều kiện đúng thì thực hiện

GV: Nêu chú ý.

lệnh và quay lại bước 1.

GV: Hỏi: sự khác nhau trong lệnh cần lặp của

For và While là gì?

HS: Suy nghĩ và trả lời: trong câu lệnh while

phải có tăng biến chỉ số.

GV: Hỏi:

Dựa vào sơ đồ khối hãy xác định máy

sẽ thực hiện tính <điều kiện> trước hay thực

hiện <lệnh cần lặp> trước?

HS: Tính biểu thức điều kiện trước, thực hiện

Điều

kiện

lệnh cần lặp sau.

Câu lệnh

c)Chú ý: Nếu ngay từ đầu điều kiện sai thì câu lệnh

sau Do không thực hiện, điều kiện đúng thì

câu lệnh sau Do thực hiện vô hạn.

 Hoạt động 2: Rèn luyện vận dụng lệnh While qua một số bài tập.

*Bài tập 1: viết chương trình tính s=1+1/2+…+1/n, đến

GV: Chia học sinh làm hai nhóm, yêu cầu

khi s>10 thì dừng.

nhóm 1 viết thuật toán, tiếp theo nhóm 2 viết

chương trình.

HS: Theo dõi .

HS: Làm theo yêu cầu giáo viên:

*Viết thuật toán:

Bước 1:gán i:=1,s:=0;

Bước 2:nếu s>10 thì xuất giá trị của s;

Bước 3: gán s:=s+1/i; i:=i+1; và quay lại bước 2.

*Viết chương trình:

Program bt;

Var s:real; I:integer;

Begin

I:=1; s;=0;

While s<=10 do begin

S:=s+1/I; I:=I+1;

End;

Writeln('tong s la:',s:8:4);

End.

GV: Diễn giảng: Muốn biết số lần lặp của lệnh

ta in kết quả của i.

Muốn cộng vào biến s là 1 đại

lượng là x ta dùng s:=s+x;

HS: Chú ý lắng nghe.

*Bài tập 2: một người có số tiền là s, gửi tiết kiệm

GV: Yêu cầu học sinh.

0.5% tháng. Hỏi sau bao nhiêu tháng thì có số tiền lớn

-Định hướng vấn đề chính:

hơn s1?

+Xác định điều kiện để lặp.

+Xác định các lệnh cần lặp.

-Nhận xét chương trình.

HS: Định hướng:

Điều kiện:s<s1

s:=s+0.005 *s; để tính tiền.

I:=i+1; để tính số tháng.

HS: Làm việc nhóm để viết chương trình hoàn

chỉnh.

Program bt2;

Const ls=0.005;

Var s,s1:real;

i:integer;

Writeln('nhap so tien da gui:');readln(s);

Writeln('nhap so tien muon nhan:');

readln(s1);

while s>= s1 do begin

s:=s+0.005*s; i:=i+1;

end;

readln

end.

*Bài tập 3:viết chương trình nhập vào hai số nguyên

GV: Chia nhóm học sinh viết chương trình.

dương a và b. Tìm ước số chung lớn nhất của hai số

đó?

Program uocchung;

Var a,b,m,n,ucln:integer;

Writeln('nhap hai so a va b:'); readln(a,b);

if a=0 then ucln:=b

else begin

m:=a;

n:=b;

r:=n mod m;

while r<>0 do begin

n:=m;

m:=r;

ucln:=m;

writeln('ucln cua', a,' va',b,' la:',ucln);

readln

end.

.Củng cố:

-Củng cố nội dung đã học:cấu trúc lệnh lặp while và cách thực hiện.

.Dặn dò bài tập về nhà:

-Giải bài tập SGK .

.Rút kinh nghiệm bổ sung:

...

------

CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP

BÀI TẬP VÀ THỰC HÀNH 2 (2 TIẾT)

I. MỤC TIÊU BÀI HỌC: