Bài 7. Câu lệnh lặp

Chia sẻ bởi Trương Thắng | Ngày 24/10/2018 | 228

Chia sẻ tài liệu: Bài 7. Câu lệnh lặp thuộc Tin học 8

Nội dung tài liệu:

NỘI DUNG:
I/ Vòng lặp xác định
1/ Dạng 1: FOR…….TO………DO
2/ Dạng 2: FOR …..DOWNTO……DO
II/ Vòng lặp không xác định WHILE…….DO
Nếu ta muốn xuất ra màn hình từ “ Màu sắc” 10 lần như sau:
Thì ta cần viết câu lệnh như thế nào để thực hiện được điều trên?
Màu sắc
Màu sắc
Màu sắc
Màu sắc
Màu sắc
Màu sắc
Màu sắc
Màu sắc
Màu sắc
Màu sắc
Chương trình:
Program Hienthi_Mausac_10Lan;
Begin
Writeln(‘ Mau sac’);
Writeln(‘ Mau sac’);
Writeln(‘ Mau sac’);
Writeln(‘ Mau sac’);
Writeln(‘ Mau sac’);
Writeln(‘ Mau sac’);
Writeln(‘ Mau sac’);
Writeln(‘ Mau sac’);
Writeln(‘ Mau sac’);
Writeln(‘ Mau sac’);
Readln;
End.
Để thực hiện chương trình, câu lệnh Writeln(‘ Mau sac’); được viết 10 lần
Bài 2:
Tính tổng: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10
Bài giải:
Program Tinh_tong;
Var S: integer;
Begin
S:= 0;
S:= S + 1;
S:= S + 2;
S:= S + 3;
S:= S + 4;
S:= S + 5;
S:= S + 6;
S:= S + 7;
S:= S + 8;
S:= S + 9;
S:= S + 9;
Writeln(‘ Tong = ‘, S);
Readln;
End.
Để thực hiện chương trình phép gán được viết lại 11 lần
Tiết 24 - 25
Lệnh lặp
FOR…….TO….DO
WHILE
……..
DO
REPEAT…….UNTIL
Lệnh lặp xác định
Lệnh lặp không các định
1/ VÒNG LẶP XÁC ĐỊNH
Vòng lặp xác định có hai dạng:
Dạng 1:
FOR Biến đếm:=giá trị đầu TO giá trị cuối DO
Câu lệnh trong vòng lặp
Dạng 2:
FOR Biến đếm:=giá trị cuối DOWNTO giá trị đầu DO
Câu lệnh trong vòng lặp
1/ VÒNG LẶP XÁC ĐỊNH
Dạng 1:
FOR Biến đếm:=giá trị đầu TO giá trị cuối DO
Câu lệnh trong vòng lặp
SƠ ĐỒ
Biến đếm:= giá trị đầu
Câu lệnh
BĐ tăng giá trị lên 1
BĐ nhận giá trị cuối
………………………………
Ví dụ 1:
In từ “màu sắc” lên màn hình 10 lần
Program intu;
Var i:integer;
Begin
Writeln(‘ In tu MAU SAC 10 lan’);
FOR i:= 1 TO 10 DO
Writeln(‘ MAU SAC’);
Readln;
End.
Khi chạy chương trình, kết quả trên màn hình xuất hiện
MAU SAC
MAU SAC
MAU SAC
MAU SAC
MAU SAC
MAU SAC
MAU SAC
MAU SAC
MAU SAC
MAU SAC
Khi biến I nhận giá trị 1
Khi biến I nhận giá trị 2
Khi biến I nhận giá trị 3
Khi biến I nhận giá trị 4
Khi biến I nhận giá trị 5
Khi biến I nhận giá trị 6
Khi biến I nhận giá trị 7
Khi biến I nhận giá trị 8
Khi biến I nhận giá trị 9
Khi biến I nhận giá trị 10
1/ VÒNG LẶP XÁC ĐỊNH
FOR
Câu lệnh trong vòng lặp
SƠ ĐỒ
Biến đếm:= giá trị cuối
Câu lệnh
BĐ giảm giá trị xuống 1
BĐ nhận giá trị cuối
………………………………
Dạng 2:
giá trị đầu
Giá trị cuối
TO
DO
DOWNTO
Biến đếm:=
Ví dụ 2:
In từ “màu sắc” lên màn hình 10 lần
Program intu;
Var i:integer;
Begin
Writeln(‘ In tu MAU SAC 10 lan’);
FOR i:= 10 DOWTO 1 DO
Writeln(‘ MAU SAC’);
Readln;
End.
Bài tập vận dụng
Viết chương trình tính tổng các số nguyên liên tiếp từ n đến m. với n, m là các số nguyên nhập từ bàn phím
Hướng dẫn thuật toán
+ Số đầu tiên:n; Số cuối: m
+ Chọn biến đếm: i= n; s = 0
+ Cách thực hiện phép toán + trong máy tính
1 + 2 + 3 +………m
0
+
1
3
……….
Nhập n,m
S:=0
i:=n
i<= m
S:= S+i
i:=i+ 1
Đ
S
i= n ……. m
Pascal
Program Tong;
Var
I,n,m: Byte;
S : Integer;
Begin
Write(‘ Nhap n = ‘);
Readln(n);
For i:= n To m Do
S:= 0;
S:= S + i; i:= i + 1;
Writeln(‘ Tong = ‘,S);
Readln;
End.
Write(‘ Nhap m = ‘);
Readln(m);
Bài tập về nhà:
Viết chương trình tính tổng các số lẻ từ 1 tới n.
Hướng dẫn:
+ Các số lẻ hơn kém nhau 2 đơn vị
+ Biến đếm I được gán như sau: I := I + 2
WHILE…….DO
2/ VÒNG LẶP KHÔNG XÁC ĐỊNH : WHILE…….DO
Cú pháp:
WHILE
Biểu thức điều kiện
DO
Begin
Câu lệnh;
End;
SƠ ĐỒ HOẠT ĐỘNG
BIỂU THỨC ĐIỀU KIỆN
Câu lệnh
Câu lệnh tiếp theo
True
False
Chú ý:
+ Biểu thức điều kiện trả về giá trị True hoặc False nên trong biểu thức điều kiện phải chứa toán tử so sánh: =; <; >; <=; >= hoặc là một biến thuộc kiểu Logich
+ Vì biểu thức điều kiện có thể nhận giá trị False ngay lần đẩu tiên nên câu lệnh trong vòng lặp có thể không thực hiện lần nào.
Ví dụ:
In từ “ Mau sac” lên màn hình bằng cách thựuc hiện vòng lặp While………Do
Program Intu;
Var
i: byte;
Begin
Writeln(‘ In tu ‘);
i:= 1;
While i <= 10 Do
Begin
Writeln(‘ Mau sac ‘);
i:= i + 1;
End;
Readln;
End.
Bài tập vận dụng:
Dùng vòng lặp While…Do
1/Viết chương trình tính các số chẵn từ 2 đến n với n nhập từ bàn phím
2/ Viết chương trình tính a lũy thừa n với a và n nhập từ bàn phím
Thuật toán bài 1:
Nhập n
i:= 2; S:=0;
i<= n
S:= S + I;
i:=I + 2;
True
False
Program Tinhtong_sochan;
Var
I,n : byte;
S : integer;
Begin
Write( ‘ Nhap n = ‘);
Readln(n);
i:= 2; S:= 0;
While i<= m Do
Begin
S:= S + I; i:= I + 2;
End;
Writeln(‘ Tong = ‘,S);
Readln;
End.
Thuật toán bài 2:
Nhập n, a
i:= 1; LT:=1;
i<= n
Lt:= LT * a;
i:=I + 1;
True
False
Program luythua;
Var
a.i.n: integer;
LT: integer;
Begin
Write(‘ Nhap a = ‘);
Readln(a);
Write(‘ Nhap n = ‘);
Readln(n);
i:= 1; Lt:=1;
While i<= n Do
Begin
Lt:=Lt*a;
i:= I + 1;
End;
Writeln(‘ a luy thua n = ‘,Lt)
Readln;
End.
Repeat…….Until
CÂU LỆNH: REPEAT……UNTIL
( Lặp lại…cho đến khi)
Cú pháp:
REPEAT
Câu lệnh lặp
UNTIL
Biểu thức điều kiện;
SƠ ĐỒ HOẠT ĐỘNG
CÂU LỆNH
BIỂU THỨC ĐIỀU KIỆN
CÂU LỆNH TIẾP THEO
True
False
Ví dụ:
Dùng câu lệnh Repeat…until viết chương trình in lên màn hình 10 lần từ “ Mau sac”.
Program intu;
Var
i: byte;
Begin
i:= 1;
Repeat
Writeln(‘ Mau sac’);
Until i>10
i:= i + 1;
Readln;
End.
Writeln(‘ Viet ra man hinh 10 lan tu” Mau sac”.’);
Bài tập vận dụng:
Dùng vòng lặp Repeat…Until làm các bài tập sau:
Bài 1: Tính tổng các số nguyên liên tiếp từ n đến m. Với n,m nhập từ bàn phím.
Bài 2: Tính tổng các số nguyên chẵn và lẻ từ n đến m. Với n, m nhập từ bàn phím.
Bài 3: Tìm UCLN của hai số nguyên a và b. với a và b nhập từ bàn phím.
Chú ý:
+ Trong vòng lặp Repeat…Until, Nếu câu lệnh là phức ta không cần bao chúng giữa Begin và end.
+ Dùng vòng lặp While…Do khi muốn câu lệnh không thực hiện một lần nào, nếu điều kiện sai.
+ Dùng vòng lặp Repeat…until nếu muốn câu lệnh thực hiện ít nhất một lần, khi điều kiên sai.
+ Dùng vòng lặp For…..To……Do khi biết trước số lần lặp.
Bài 1: Tính tổng các số nguyên liên tiếp từ n đến m. Với n,m nhập từ bàn phím.
Program tinhtong;
Var
I,n,m : byte;
S : integer;
Begin
Write(‘ Nhap n = ‘);
Readln(n);
Write(‘ Nhap m = ‘);
Readln(m);
i:= n ; S:= 0;
Repeat
S:= s+ i; i:= i +1;
Until I > m;
Writeln(‘Tong = ‘,S);
Readln;
End.
Bài 2: Tính tổng các số nguyên chẵn và lẻ từ n đến m. Với n, m nhập từ bàn phím.
Program tongchan;
Var
I,m,n : byte;
S:integer;
Begin
Write(‘ Nhap n = ‘);
Readln(n);
Write(‘Nhap m = ‘);
Readln(m);
i:=n; S:= 0;
Repeat
S:= s + I; i:= I + 2;
Until n> m
Writeln(‘ Tong = ‘,S);
Readln;
End.
Bài 3: Tìm UCLN của hai số nguyên a và b. với a và b nhập từ bàn phím.
Program UCLN;
Var
a,b : integer;
Begin
Write(‘ Nhap a= ‘);
Readln(a);
Write(‘ Nhap b = ‘);
Readln(b);
Repeat
If a > b then a:= a-b
Else b:= b – a;
Until a = b;
Writeln(‘ UCLN(a,b)= ‘,a);
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ương Thắng
Dung lượng: | Lượt tài: 2
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)