Please enable JavaScript.
Coggle requires JavaScript to display documents.
Bài 7: Câu lệnh lặp image - Coggle Diagram
Bài 7: Câu lệnh lặp
1. Câu lệnh lặp-một lệnh thay cho nhiều lệnh
Ví dụ 1: Vẽ 3 hình vuông có cạnh 1 đơn vị như hình 1.35 (sgk). mỗi hình cách hình bên trái là 2 đơn vị khoảng cách.
Thuật toán vd1
B1: Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu)
B2: Nếu số hình vuông đã vẽ được ít hơn 3, di chuyển bút vẽ về bên phải 2 đơn vị và trở lại bước ; ngược lại, kết thúc thuật toán
Thuật toán vẽ hình vuông
B1: Đặt k <- 0 (k là số đoạn thẳng đã vẽ được)
B2: Vẽ đoạn thẳng độ dài 1 đơn vị và quay thước 90 độ sang phải k<-k+1
B3: Nếu k<4, trở lại bước 2; ngược lại kết thúc thuật toán
Ví dụ 2: giả sử cần tính tổng của 100 số tự nhiên đầu tiên, tức là tính: S=1+2+3+...+100
Hoạt động chính: thực hiện phép cộng
Các mô tả các hoạt động lặp lại trong vd 3, bài 5 gọi là cấu trúc lặp
Kết luận
Mọi ngôn ngữ lập trình đều có "cách" để chỉ thị cho máy tính thực hiện cấu trúc lặp với một câu lệnh
Đó gọi là các câu lệnh lặp
4. Câu hỏi và bài tập
Bài 1:
Cho một vài ví dụ về hoạt động thực hiện lặp lại trong cuộc sống hằng ngày.
VD1:
Hằng ngày em đều làm bài tập về nhà.
VD2:
Hằng ngày em đều phụ mẹ nấu cơm.
Bài 2:
Chương trình pascal sau đây thực hiện hoạt động nào?
Trả lời:
Chương trình chạy biến i từ 1 đến 1000 rồi không làm gì cả
Bài 3:
Hãy mô tả thuật toán để tính tổng A sau đây (n là số tự nhiên được nhập vào từ bàn phím):
Trả lời:
Bước 1: Nhập n. Gán i=1, A:=0;
Bước 2: A=1/i(i+2).
Bước 3: i:= i+1;
Nếu i > n thì đến bước 5, ngược lại quay về bước 2.
Bước 4: In ra A.
Bước 5: Kết thúc vòng lặp
3. Tính tổng và tích bằng câu lệnh lặp
Ví dụ 5
program Tinh_ tong
var N,i: Integer;
S:longint;
begin
write(' Nhap so N='); readln(N);
S:=0
for
i:= 1
to
N
do S:= S+i
writeln('Tong cua',N,' so tu nhien dau tien S='s);
readln
end.
Ví dụ 6
program Tinh_Giai_Thua
var N,i: integer;
P:longint;
begin
write('N='); readln(N);
P:=1
for
i:=1
to
N
do P:=P*i
writeln(N,'!=',P);
readln
end.
Câu lệnh lặp for...do
Cú pháp:
For <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lệnh>
for, to, do: từ khóa
Biến đếm: kiểu nguyên
VD 3
program Lap;
uses crt;
var i: Integer;
begin
clrscr;
for i := 1 to 10 do
writeln('Day la lan lap thu ',i);
readln;
end.
VD 4
uses crt;
var i: integer;
begin
clrscr;
for i := 1 to 10 do
begin writeln('O'); delay(1000) end;
readln;
end.