TH11 Lap While

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn: sưu tầm
Người gửi: Phan Xuân Vĩnh
Ngày gửi: 12h:05' 01-02-2008
Dung lượng: 238.5 KB
Số lượt tải: 32
Nguồn: sưu tầm
Người gửi: Phan Xuân Vĩnh
Ngày gửi: 12h:05' 01-02-2008
Dung lượng: 238.5 KB
Số lượt tải: 32
Số lượt thích:
0 người
Bài toán
Giáo viên : Huỳnh Tiên Hiếu
Bài toán
I. Bài toán :
Một người gửi vào ngân hàng số tiền là a với lãi suất hàng tháng là l . Hỏi sau bao nhiêu tháng người đó nhận được số tiền là b?
Ý tưởng giải thuật :
Phát biểu :
Trong khi a còn bé hơn b thì còn gửi vào ngân hàng
Phân tích :
Tiền lãi sau 1 tháng :
a*l
Tiền vốn sau 1 tháng :
a = ?
a = a + a*l
- Khi nào thì còn gửi tiền vào ngân hàng ?
khi aB1 : nhập a, b , l
B2 : t=0
B3 : kiểm tra a - Nếu đúng thì làm B4
- Nếu sai thì làm B5
B4 : a:=a+a*l
t:=t+1
Quay lại B3
B5 : Thông báo t. Kết thúc
II. Lưu đồ:
Begin
Nhập a,b,l
t:=0
a < b
a:=a+a*l
t:=t+1
Thông báo
Số tháng là t
Lưu đồ
End
a:=a+a*l
t:=t+1
III. Lưu đồ tổng quát:
L?u ?? tq
ĐK
Công việc
Công việc
Phát biểu :
Trong khi ĐK còn đúng thì làm Công việc
IV. Cú pháp :
Trong khi ĐK còn đúng thì làm Công việc
WHILE
ĐK
DO
Công việc
Cú pháp
Chú ý :
Vòng lặp WHILE kiểm tra đk trước khi làm Công việc
Công việc có khi không được thực hiện lần nào
Và cũng có thể thực hiện mãi mãi.
Trong Công việc phải có một hoặc nhiều lệnh làm thay đổi biểu thức đk làm nó dần đến sai.
V. Chương trình :
Một người gửi vào ngân hàng số tiền là a với lãi suất hàng tháng là l . Hỏi sau bao nhiêu tháng người đó nhận được số tiền là b?
PROGRAM Bank;
VAR a,b,l : real ; t : integer;
BEGIN
Write(‘Nhap a , b , l : ‘);
Readln(a,b,l);
t := 0 ;
WHILE a Begin
a := a + a*l ;
t := t + 1 ;
End;
Writeln(‘So thang là ‘, t );
Readln;
END.
Ch??ng trình
V. Chương trình :
Một người gửi vào ngân hàng số tiền là a với lãi suất hàng tháng là l . Hỏi sau bao nhiêu tháng người đó nhận được số tiền là b?
PROGRAM Bank;
VAR a,b,l : real ; t : integer;
BEGIN
Write(‘Nhap a , b , l : ‘);
Readln(a,b,l);
t := 0 ;
WHILE a Begin
a := a + a*l ;
t := t + 1 ;
End;
Writeln(‘So thang là ‘, t );
Readln;
END.
Ch??ng trình
PROGRAM Bank;
VAR a,b,l : real ; t : integer;
BEGIN
Write(‘Nhap a , b , l : ‘);
Readln(a,b,l);
t := 0 ;
WHILE a Begin
a := a + a*l ;
t := t + 1 ;
End;
Writeln(‘So thang là ‘, t );
Readln;
END.
a
b
l
t
a1.000.000
1.200.000
0.1
0
true
1.100.000
1
WHILE a Begin
a := a + a*l ;
t := t + 1 ;
End;
1.210.000
2
WHILE afalse
2
Bài tập về nhà:
Viết chương trình tính tổng S=1+1/2+1/3+… Yêu cầu quá trình sẽ dừng lại khi S>2-0,001
Bài t?p
Giáo viên : Huỳnh Tiên Hiếu
Bài toán
I. Bài toán :
Một người gửi vào ngân hàng số tiền là a với lãi suất hàng tháng là l . Hỏi sau bao nhiêu tháng người đó nhận được số tiền là b?
Ý tưởng giải thuật :
Phát biểu :
Trong khi a còn bé hơn b thì còn gửi vào ngân hàng
Phân tích :
Tiền lãi sau 1 tháng :
a*l
Tiền vốn sau 1 tháng :
a = ?
a = a + a*l
- Khi nào thì còn gửi tiền vào ngân hàng ?
khi aB1 : nhập a, b , l
B2 : t=0
B3 : kiểm tra a - Nếu đúng thì làm B4
- Nếu sai thì làm B5
B4 : a:=a+a*l
t:=t+1
Quay lại B3
B5 : Thông báo t. Kết thúc
II. Lưu đồ:
Begin
Nhập a,b,l
t:=0
a < b
a:=a+a*l
t:=t+1
Thông báo
Số tháng là t
Lưu đồ
End
a:=a+a*l
t:=t+1
III. Lưu đồ tổng quát:
L?u ?? tq
ĐK
Công việc
Công việc
Phát biểu :
Trong khi ĐK còn đúng thì làm Công việc
IV. Cú pháp :
Trong khi ĐK còn đúng thì làm Công việc
WHILE
ĐK
DO
Công việc
Cú pháp
Chú ý :
Vòng lặp WHILE kiểm tra đk trước khi làm Công việc
Công việc có khi không được thực hiện lần nào
Và cũng có thể thực hiện mãi mãi.
Trong Công việc phải có một hoặc nhiều lệnh làm thay đổi biểu thức đk làm nó dần đến sai.
V. Chương trình :
Một người gửi vào ngân hàng số tiền là a với lãi suất hàng tháng là l . Hỏi sau bao nhiêu tháng người đó nhận được số tiền là b?
PROGRAM Bank;
VAR a,b,l : real ; t : integer;
BEGIN
Write(‘Nhap a , b , l : ‘);
Readln(a,b,l);
t := 0 ;
WHILE a Begin
a := a + a*l ;
t := t + 1 ;
End;
Writeln(‘So thang là ‘, t );
Readln;
END.
Ch??ng trình
V. Chương trình :
Một người gửi vào ngân hàng số tiền là a với lãi suất hàng tháng là l . Hỏi sau bao nhiêu tháng người đó nhận được số tiền là b?
PROGRAM Bank;
VAR a,b,l : real ; t : integer;
BEGIN
Write(‘Nhap a , b , l : ‘);
Readln(a,b,l);
t := 0 ;
WHILE a Begin
a := a + a*l ;
t := t + 1 ;
End;
Writeln(‘So thang là ‘, t );
Readln;
END.
Ch??ng trình
PROGRAM Bank;
VAR a,b,l : real ; t : integer;
BEGIN
Write(‘Nhap a , b , l : ‘);
Readln(a,b,l);
t := 0 ;
WHILE a Begin
a := a + a*l ;
t := t + 1 ;
End;
Writeln(‘So thang là ‘, t );
Readln;
END.
a
b
l
t
a1.000.000
1.200.000
0.1
0
true
1.100.000
1
WHILE a Begin
a := a + a*l ;
t := t + 1 ;
End;
1.210.000
2
WHILE afalse
2
Bài tập về nhà:
Viết chương trình tính tổng S=1+1/2+1/3+… Yêu cầu quá trình sẽ dừng lại khi S>2-0,001
Bài t?p
 







Các ý kiến mới nhất