Bài 10. Cấu trúc lặp

Chia sẻ bởi Trần Thị Nga | Ngày 10/05/2019 | 163

Chia sẻ tài liệu: Bài 10. Cấu trúc lặp thuộc Tin học 11

Nội dung tài liệu:

Giáo viên: Th.s Phạm Quang Trung
Tổ : LTCM
TRƯỜNG CĐCN VIỆT ĐỨC
Khoa: CÔNG NGHỆ THÔNG TIN
CẤU TRÚC LẶP REPEAT ... UNTIL
Bài toán
Một người có 2000.000 đồng mang đi gửi tiết kiệm tại một ngân hàng. Biết lãi suất ngân hàng là 0,65 % một tháng. Hỏi sau bao nhiêu tháng người đó có ít nhất 2500000 trong tài khoản?
Phân tích
Làm thế nào để tính được tổng số tiền của người đó sau mỗi tháng?
Tổng tiền= Tổng tiền(tháng trước)+Tiền lãi
Lãi tính bằng cách nào?
Tiền lãi= Tổng tiền*Lãi suất
CẤU TRÚC LẶP REPEAT ... UNTIL
Cú pháp:
REPEAT
;
UNTIL ;
Trong đó:
- REPEAT, UNTIL: là các từ khoá
- : là các câu lệnh của Pascal
- : chỉ nhận một trong 2 giá trị Đúng (True) hoặc Sai (False)
Begin


End
Đúng
Sai
Hoạt động:
Lưu đồ:
Bước 1: Thực hiện

Bước 2: Tính giá trị của biểu thức Logíc
+ Nếu đúng thì thoát khỏi vòng lặp
+ Nếu sai thì quay lại thực hiện

Bài toán
Một người có 2000000 đồng mang đi gửi tiết kiệm tại một ngân hàng. Biết lãi suất ngân hàng là 0,65 % một tháng. Hỏi sau bao nhiêu tháng người đó có ít nhất 2500000 trong tài khoản?
Phân tích
- Công việc lặp đi lặp lại là việc gì?
- Quá trình lặp sẽ dừng lại khi nào?
- Hãy thể hiện công việc dưới dạng các câu lệnh.
uses crt;
var i:byte;
tt,tl,ls:real;
begin
tt:=2000000;
write(`Moi ban nhap lai suat:`); {**** ls:=0.65; *****}
readln(ls);
i:=0;
tl:=0;
repeat
i:=i+1;
tl:=(tt*ls)/100;
tt:=tt+tl;
until tt>=2500000;
writeln(`So thang can gui la:`,i);
readln;
end.
Begin
i:=i+1;
tl:=(tt*ls)/100;
tt:=tt+tl;
tt>=2500000
End
Đúng
Sai
Hoạt động:
Lưu đồ:
Bước 1: Tính
i:=i+1;
tl:=(tt*ls)/100;
tt:=tt+tl;
Bước 2: Tính giá trị của biểu thức Logíc
tt>=2500000
Kết quả
0
Tháng (i)
Số tiền (tt)
2000000
1
2013000
2
2026084,5
35
2509067,085
Chú ý:
- Nếu gồm nhiều lệnh ta không phải dùng câu lệnh ghép.
- Trong phần công việc phải có một lệnh làm thay đổi biểu thức logíc. Nếu không thì công việc sẽ lặp vô hạn.
* Phân tích
- Quá trình tính có phải là một quá trình lặp không?
- Công việc lặp đi lặp lại là việc gì?
- Quá trình lặp sẽ dừng lại khi nào?
Bài tập:
Tính tổng
S=1+1/2+1/3+...+1/k+....
Quá trình tính sẽ dừng lại khi 1/k < e, với e được nhập vào từ bàn phím.
uses crt;
var i:word;
s,e:real;
begin
Writeln(`Chuong trinh tinh tong`);
Write(`Nhap gia tri dieu kien dung: e=`);
readln(e);
S:=0;
i:=0;
repeat
i:=i+1;
s:=s+1/i;
until 1/i Writeln(`ket qua cua tong la:`,s:6:4);
readln;
end.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Trần Thị Nga
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)