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

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Pro Forever
Ngày gửi: 08h:14' 08-02-2022
Dung lượng: 505.4 KB
Số lượt tải: 843
Nguồn:
Người gửi: Pro Forever
Ngày gửi: 08h:14' 08-02-2022
Dung lượng: 505.4 KB
Số lượt tải: 843
Số lượt thích:
0 người
CÂU LỆNH LẶP
BÀI 7
Em đánh răng 2 lần mỗi ngày
Kim giây quây 60 vòng trong 1 giờ
Viết chương trình in ra
màn hình từ 1 đến 10
Hãy kể tên những hoạt động được thực hiện lặp đi lặp lại với số lần nhất định và biết trước ?
10 lệnh in
1. Câu lệnh lặp – một lệnh thay cho nhiều lệnh
HELLO
HELLO
HELLO
HELLO
HELLO
VD1 : in ra màn hình 1 chữ HELLO
Program BT1;
Uses crt;
Begin
Writeln(‘HELLO`);
Readln;
End.
Program BT4;
Uses crt;
Begin
Writeln(‘HELLO`);
Writeln(`HELLO`);
Writeln(‘HELLO`);
Writeln(‘HELLO`);
Readln;
End.
VD2 : in ra màn hình 4 chữ HELLO
Mọi ngôn ngữ lập trình đều có cấu trúc lặp với một câu lệnh. Đó là CÂU LỆNH LẶP
Nếu viết chương trình in ra màn hình 100 chữ ‘O’ thì sao nhỉ?
chương trình quá dài, và viết mất nhiều thời gian !
a. Cú pháp :
FOR:= TO DO ;
b. Trong đó:
- FOR, TO, DO : là các từ khóa của Pascal
- Biến đếm : thường có kiểu số nguyên
Giá trị đầu, giá trị cuối : là giá trị số nguyên.
Giá trị cuối > Giá trị đầu.
Câu lệnh : có thể là câu lệnh đơn hoặc câu lệnh ghép
2. Câu lệnh lặp For…do
(câu lệnh lặp với số lần biết trước)
c. Hoạt động:
- B1: Biến đếm nhận giá trị bằng giá trị đầu và thực hiện câu lệnh.Sang B2
- B2: Biến đếm tăng 1 đơn vị. Sang B3.
- B3: Nếu biến đếm nhỏ hơn hoặc bằng giá trị cuối thì thực hiện câu lệnh và quay về B2. Ngược lại, qua B4.
- B4: Kết thúc
Program in4;
Uses crt;
Begin
Writeln(`O`);
Writeln(`O`);
Writeln(`O`);
Writeln(`O`);
Readln;
End.
Program in4;
Uses crt;
Begin
For i:=1 to 4 do Writeln(`O`);
Readln;
End.
Ban đầu biến đếm (i =1< 4) lệnh writeln được thực hiện In ra
màn hình chữ O đầu tiên
Biến đếm i tự động tăng lên 1 đơn vị (i = 2< 4) lệnh writeln được
thực hiện In ra màn hình chữ O thứ 2
Tương tự cho đến khi i bằng giá trị cuối (i = 4) thì lệnh writeln
được thực hiện lần cuối và kết thúc trên màn hình có 4 chữ O
O
O
O
O
Hoạt động của lệnh For …To… Do
VD3: In ra màn hình 4 chữ O
Program thutu;
Uses crt;
Begin
For i:=1 to 4 do
writeln(‘ day la lan lap thu :’, i);
Readln;
End.
Program thutu;
Uses crt;
Begin
Writeln(‘day la lan lap thu:’, 1);
Writeln(‘day la lan lap thu:’, 2);
Writeln(‘day la lan lap thu:’, 3);
Writeln(‘day la lan lap thu:’, 4);
Readln;
End.
day la lan lap thu : 1
day la lan lap thu : 2
day la lan lap thu : 3
day la lan lap thu : 4
Kết quả khi chạy chương trình
VD 4: In lên màn hình thứ tự lần lặp
Ví dụ 5: Tính tổng của 100 số tự nhiên đầu tiên liên tiếp
S = 1 + 2 + 3 + 4 + ... + 100
NHẬN XÉT:
S = 0
S = S + 1
S = S + 2
S = S + 3
.....
S = S + 100
Việc tính S được lặp đi lặp lại 100 lần theo quy luật
Ssau = Strước+ i
với i tăng lần lượt từ 1 đến100
. . . . . . . . . . . . . . . . . . . .
3. Tính tổng và tích bằng câu lệnh lặp.
Diễn tả thuật toán
B1: Bắt đầu
B3: Nếu i > 100 thì kết thúc
B4 : S:= S + i
i := i +1 quay lại B3.
Program tinhtong;
Uses crt;
Var S,i : Integer;
Begin
S:=0;
For i:=1 to 100 do S:=S +i;
Writeln(`Tong S=`,S);
Readln;
End.
Chương trình
B2: S:=0; i:=1;
Uses crt;
Var i,N : Integer; S : real;
BEGIN
Readln;
END.
S:=0;
FOR i:=1 to N do S := S+1/i;
Writeln(‘ Tong S =’,S:8:3);
Write(‘ Nhap vao gia tri cua N :’);readln(N);
Program Tinh_tong2;
Dựa vào đề bài hãy xác định:
Giá trị khởi tạo của S
Giá trị đầu, cuối của biến đếm i
Câu lệnh sẽ được lặp
S:=0;
For i:=1 to N do
S:= S + 1/i;
VD6: Lập chương trình tính tổng sau:
1! = 1
2! = 1 . 2
3! = 1 . 2 . 3
4! = 1. 2 . 3 . 4
VD7: Tính N ! (Tích N số tự nhiên đầu tiên)
GT = 1
GT = GT . 2
GT = GT . 3
GT = GT . 4
Hãy xác định:
Giá trị khởi tạo của GT
Giá trị đầu, cuối của biến đếm i
Câu lệnh sẽ được lặp
GT:=1;
For i:=1 to N do
GT:= GT*i;
Em hãy khai báo biến cho bài toán trên?
Em hãy viết câu lệnh nhập vào N?
Begin
Clrscr;
Write(`Nhap N= `); Readln(N);
Khởi tạo GT bằng bao nhiêu?
GT:=1;
Hãy viết câu lệnh lặp với các giá trị của biến đếm và câu lệnh được lặp.
For i:=1 to N do GT:=GT*i;
In ra kết quả?
Writeln(`Tich cua N so tu nhien =`,GT);
Readln;
End.
N: integer ;
GT: longint ;
Mô phỏng chương trình bằng Pascal
Câu lệnh lặp
Cú pháp
Giải thích
Tính tổng và tích bằng câu lệnh lặp
Tính tổng
Tính tích
Bài tập 1: Viết chương trình in ra các số chẵn nhỏ hơn hoặc bằng n ( Với n được nhập).
Hướng dẫn: - Cho biến i chạy từ 1 đến n.
- Nếu i chẵn ( i chia 2 dư 0) thì in ra.
Bài tập 2: Viết chương trình in ra các số lẻ nhỏ hơn hoặc bằng n ( Với n được nhập).
Hướng dẫn: - Cho biến i chạy từ 1 đến n.
- Nếu i lẻ ( i chia 2 dư 1) thì in ra.
Bài tập 3: Viết chương trình in ra tổng các số lẻ nhỏ hơn hoặc bằng n ( Với n được nhập).
Hướng dẫn:
- Cho S = 0.
- Cho biến i chạy từ 1 đến n.
- Nếu i lẻ ( I chia 2 dư 1) thì cộng thêm I vào S.
- In ra S.
Bài tập 4: Viết chương trình in ra tổng các số chẳn nhỏ hơn hoặc bằng n ( Với n được nhập).
Hướng dẫn:
- Cho S = 0.
- Cho biến i chạy từ 1 đến n.
- Nếu i chẵn ( I chia 2 dư 0) thì cộng thêm I vào S.
- In ra S.
Bài tập 5: Một số có tổng các ước nhỏ hơn nó bằng chính nó được gọi là số hoàn chỉnh.
Ví dụ: 6 có các ước nhỏ hơn nó là 1, 2, 3. Tổng là 1 + 2 + 3 = 6.Viết chương trình xét xem một số n được nhập từ bàn phím có phải là số hoàn chỉnh không.
Hướng dẫn:
- Dùng biến n lưu số cần xét.
- Biến S có giá trị ban đầu bằng 0.
- Cho i chạy từ 1 đến n-1. nếu i là ước của n thì cộng thêm i vào S.
- Nếu S = n thì S là số hoàn chỉnh.
BÀI 7
Em đánh răng 2 lần mỗi ngày
Kim giây quây 60 vòng trong 1 giờ
Viết chương trình in ra
màn hình từ 1 đến 10
Hãy kể tên những hoạt động được thực hiện lặp đi lặp lại với số lần nhất định và biết trước ?
10 lệnh in
1. Câu lệnh lặp – một lệnh thay cho nhiều lệnh
HELLO
HELLO
HELLO
HELLO
HELLO
VD1 : in ra màn hình 1 chữ HELLO
Program BT1;
Uses crt;
Begin
Writeln(‘HELLO`);
Readln;
End.
Program BT4;
Uses crt;
Begin
Writeln(‘HELLO`);
Writeln(`HELLO`);
Writeln(‘HELLO`);
Writeln(‘HELLO`);
Readln;
End.
VD2 : in ra màn hình 4 chữ HELLO
Mọi ngôn ngữ lập trình đều có cấu trúc lặp với một câu lệnh. Đó là CÂU LỆNH LẶP
Nếu viết chương trình in ra màn hình 100 chữ ‘O’ thì sao nhỉ?
chương trình quá dài, và viết mất nhiều thời gian !
a. Cú pháp :
FOR
b. Trong đó:
- FOR, TO, DO : là các từ khóa của Pascal
- Biến đếm : thường có kiểu số nguyên
Giá trị đầu, giá trị cuối : là giá trị số nguyên.
Giá trị cuối > Giá trị đầu.
Câu lệnh : có thể là câu lệnh đơn hoặc câu lệnh ghép
2. Câu lệnh lặp For…do
(câu lệnh lặp với số lần biết trước)
c. Hoạt động:
- B1: Biến đếm nhận giá trị bằng giá trị đầu và thực hiện câu lệnh.Sang B2
- B2: Biến đếm tăng 1 đơn vị. Sang B3.
- B3: Nếu biến đếm nhỏ hơn hoặc bằng giá trị cuối thì thực hiện câu lệnh và quay về B2. Ngược lại, qua B4.
- B4: Kết thúc
Program in4;
Uses crt;
Begin
Writeln(`O`);
Writeln(`O`);
Writeln(`O`);
Writeln(`O`);
Readln;
End.
Program in4;
Uses crt;
Begin
For i:=1 to 4 do Writeln(`O`);
Readln;
End.
Ban đầu biến đếm (i =1< 4) lệnh writeln được thực hiện In ra
màn hình chữ O đầu tiên
Biến đếm i tự động tăng lên 1 đơn vị (i = 2< 4) lệnh writeln được
thực hiện In ra màn hình chữ O thứ 2
Tương tự cho đến khi i bằng giá trị cuối (i = 4) thì lệnh writeln
được thực hiện lần cuối và kết thúc trên màn hình có 4 chữ O
O
O
O
O
Hoạt động của lệnh For …To… Do
VD3: In ra màn hình 4 chữ O
Program thutu;
Uses crt;
Begin
For i:=1 to 4 do
writeln(‘ day la lan lap thu :’, i);
Readln;
End.
Program thutu;
Uses crt;
Begin
Writeln(‘day la lan lap thu:’, 1);
Writeln(‘day la lan lap thu:’, 2);
Writeln(‘day la lan lap thu:’, 3);
Writeln(‘day la lan lap thu:’, 4);
Readln;
End.
day la lan lap thu : 1
day la lan lap thu : 2
day la lan lap thu : 3
day la lan lap thu : 4
Kết quả khi chạy chương trình
VD 4: In lên màn hình thứ tự lần lặp
Ví dụ 5: Tính tổng của 100 số tự nhiên đầu tiên liên tiếp
S = 1 + 2 + 3 + 4 + ... + 100
NHẬN XÉT:
S = 0
S = S + 1
S = S + 2
S = S + 3
.....
S = S + 100
Việc tính S được lặp đi lặp lại 100 lần theo quy luật
Ssau = Strước+ i
với i tăng lần lượt từ 1 đến100
. . . . . . . . . . . . . . . . . . . .
3. Tính tổng và tích bằng câu lệnh lặp.
Diễn tả thuật toán
B1: Bắt đầu
B3: Nếu i > 100 thì kết thúc
B4 : S:= S + i
i := i +1 quay lại B3.
Program tinhtong;
Uses crt;
Var S,i : Integer;
Begin
S:=0;
For i:=1 to 100 do S:=S +i;
Writeln(`Tong S=`,S);
Readln;
End.
Chương trình
B2: S:=0; i:=1;
Uses crt;
Var i,N : Integer; S : real;
BEGIN
Readln;
END.
S:=0;
FOR i:=1 to N do S := S+1/i;
Writeln(‘ Tong S =’,S:8:3);
Write(‘ Nhap vao gia tri cua N :’);readln(N);
Program Tinh_tong2;
Dựa vào đề bài hãy xác định:
Giá trị khởi tạo của S
Giá trị đầu, cuối của biến đếm i
Câu lệnh sẽ được lặp
S:=0;
For i:=1 to N do
S:= S + 1/i;
VD6: Lập chương trình tính tổng sau:
1! = 1
2! = 1 . 2
3! = 1 . 2 . 3
4! = 1. 2 . 3 . 4
VD7: Tính N ! (Tích N số tự nhiên đầu tiên)
GT = 1
GT = GT . 2
GT = GT . 3
GT = GT . 4
Hãy xác định:
Giá trị khởi tạo của GT
Giá trị đầu, cuối của biến đếm i
Câu lệnh sẽ được lặp
GT:=1;
For i:=1 to N do
GT:= GT*i;
Em hãy khai báo biến cho bài toán trên?
Em hãy viết câu lệnh nhập vào N?
Begin
Clrscr;
Write(`Nhap N= `); Readln(N);
Khởi tạo GT bằng bao nhiêu?
GT:=1;
Hãy viết câu lệnh lặp với các giá trị của biến đếm và câu lệnh được lặp.
For i:=1 to N do GT:=GT*i;
In ra kết quả?
Writeln(`Tich cua N so tu nhien =`,GT);
Readln;
End.
N: integer ;
GT: longint ;
Mô phỏng chương trình bằng Pascal
Câu lệnh lặp
Cú pháp
Giải thích
Tính tổng và tích bằng câu lệnh lặp
Tính tổng
Tính tích
Bài tập 1: Viết chương trình in ra các số chẵn nhỏ hơn hoặc bằng n ( Với n được nhập).
Hướng dẫn: - Cho biến i chạy từ 1 đến n.
- Nếu i chẵn ( i chia 2 dư 0) thì in ra.
Bài tập 2: Viết chương trình in ra các số lẻ nhỏ hơn hoặc bằng n ( Với n được nhập).
Hướng dẫn: - Cho biến i chạy từ 1 đến n.
- Nếu i lẻ ( i chia 2 dư 1) thì in ra.
Bài tập 3: Viết chương trình in ra tổng các số lẻ nhỏ hơn hoặc bằng n ( Với n được nhập).
Hướng dẫn:
- Cho S = 0.
- Cho biến i chạy từ 1 đến n.
- Nếu i lẻ ( I chia 2 dư 1) thì cộng thêm I vào S.
- In ra S.
Bài tập 4: Viết chương trình in ra tổng các số chẳn nhỏ hơn hoặc bằng n ( Với n được nhập).
Hướng dẫn:
- Cho S = 0.
- Cho biến i chạy từ 1 đến n.
- Nếu i chẵn ( I chia 2 dư 0) thì cộng thêm I vào S.
- In ra S.
Bài tập 5: Một số có tổng các ước nhỏ hơn nó bằng chính nó được gọi là số hoàn chỉnh.
Ví dụ: 6 có các ước nhỏ hơn nó là 1, 2, 3. Tổng là 1 + 2 + 3 = 6.Viết chương trình xét xem một số n được nhập từ bàn phím có phải là số hoàn chỉnh không.
Hướng dẫn:
- Dùng biến n lưu số cần xét.
- Biến S có giá trị ban đầu bằng 0.
- Cho i chạy từ 1 đến n-1. nếu i là ước của n thì cộng thêm i vào S.
- Nếu S = n thì S là số hoàn chỉnh.
 







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