1.While...do :lặp với số lần chưa biết trước
For....do : lặp với số lần đã biết trước
2.Sau khi thực hiện đoạn chương trình thì S=15
1.While...do :lặp với số lần chưa biết trước
For....do : lặp với số lần đã biết trước
2.Sau khi thực hiện đoạn chương trình thì S=15
Hãy tìm hiểu các cụm câu lệnh sau đây và cho biết với các câu lệnh đó chương trình thực hiện bao nhiêu vòng lặp? Hãy rút ra nhận xét của em.
a)
S:=0; n:=0;
while S<=10 do
begin n:=n+1; S:=S+n end;
b)
S:=0; n:=0;
while S<=10 do
n:=n+1; S:=S+n;
Câu 1: Thực hiện đoạn chương trình sau, giá trị S là bao nhiêu
S:=0;
For i:=1 to 4 do S:=S+i;
Câu 2: Thực hiện đoạn chương trình sau, chữ xin chao được in ra màn hình mấy lần
n:=1;
while n<4 do
begin n:=n+1; writeln('xin chao')end;
Câu 3: So sánh cấu trúc lệnh lặp for...to..do và cấu trúc lệnh lặp while...do
câu 1. Câu lệnh nào đúng ?
A. While (x mod 3=0) do s:=s+1; B. While (x mod 3)do s:=s+1;
C. While (x mod 3=0) ;do s:=s+1; D. While (x:=x mod 3) do s:=s+1;
câu 2 . cho đoạn chương trình sau:
S:=20; n:=0;
While s>=10 do
Begin
n:=n+3;
S:=S-n;
End;
hãy cho biết giá trị của S sau đoạn chương trình trên:
A. 4 B. 1 C. 2 D.3
Sử dụng câu lệnh lặp while…do để viết chương trình sau: a) S= 1/1*2+1/2*3+...1/n*(n+1)
1.Trong đoạn lệnh sau đây, chương trình đã thực hiện bao nhiêu vòng lặp?
S:=0; i:=0
While S<=20 do
Begin S:=i; i:=i+1; end;
1. Lặp với số lần chưa biết trước là lệnh gì?
a. while..to..do
b. for …to…do
c. while …do
d. if…then
2. “Nếu trời mưa thì em không đi chơi đá bóng”. Là câu lệnh gì?
a. Câu lệnh lặp với số lần biết trước
b. Câu lệnh lặp với số lần chưa biết trước
c. Câu lệnh điều kiện
d. Câu lệnh in ra màn hình
3. Hãy cho biết giá trị đầu của câu lệnh dưới đây:
for i:=5 to 21 do writeln(i*2);
a. 5 b. 6 c. 20 d. 21
4. Hãy cho biết giá trị cuối của câu lệnh dưới đây: for i:=5 to 21 do writeln(i*2);
a. 5 b. 6 c. 20 d. 21
5. Hãy cho biết số vòng lặp của câu lệnh dưới đây: for i:=5 to 21 do writeln(i*2);
a. 15 b. 16 c. 17 d. 18
6. Câu lệnh GotoXY(3,5) có tác dụng gì?
a. Đưa con trỏ về cột 3, hàng 5
b. Đưa con trỏ về cột 5, hàng 3
7. Hãy cho biết đoạn lệnh sau đây thực hiện bao nhiêu vòng lặp?
S:=0;
While S>10 do writeln(s*s);
a. 0 b. 1 c. 9 d. 10
8. Hãy cho biết đoạn lệnh sau đây thực hiện bao nhiêu vòng lặp?
S:=3; N:=1
While S<=10 do
Begin
N:=N+1;
S:=S+N;
End;
a. 2 b. 3 c. 4 d. 5
II. Tự luận
Hãy cho biết đoạn lệnh sau đây in ra giá trị của S là bao nhiêu?
S:=3; N:=1
While S<=10 do
Begin
N:=N+1;
S:=S+N;
End;
Writeln(S);
4. Câu hỏi bài tập:
4.1/ Tìm hiểu câu lệnh lặp dưới đây và cho biết khi kết thúc câu
lệnh giá trị của biến S và biến n bằng bao nhiêu?
S:=0; n:=0;
While S<=10 do
Begin
n:=n+1;
S:=S+n;
End;
Trả lời:
Giá trị của biến S sau khi thực hiện
=...............
Giá trị của biến n sau khi thực hiện
=...............
4.2/ Gạch dưới chỗ sai của các câu lệnh sau và viết lại câu lệnh đúng:
a) While X:= 10 do X:= X+1;→............................................................
b) While X > 5 for X:= X-1→ .............................................................
c) While X< 10 do X = 5 ;→.................................................................
d) While X <> 0 ; do X:=X-1;→...........................................................
Sửa lại chương trình
Var a : integer;
Begin
a:=5;
While a<6 do begin
writeln(‘A’);
a := a + 1 ;
end;
end.
5. Bài tập thực hành:
Bài 1: Viết chương trình : “BAI8B1” tính tổng của các số tự nhiên liên
tiếp cho đến khi tổng lớn hơn 1000 thì dừng. Cho biết tổng tìm được và
con số cuối cùng được cộng vào:
Hướng dẫn Chương trình
1. Khai báo tên chương trình
2. Khai báo thư viện
3. Khai báo biến: S,n : số nguyên
4. Bắt đầu chương trình
5. Xóa màn hình
6. Gán S 0;n 1;
7. Trong khi S<=1000 thực hiện:
bắt đầu
SS+n
n n+ 1
kết thúc
8. In ra tổng S
9. In ra số n cuối cùng được cộng
10. Tạm dừng chương trình
11. Kết thúc chương trình
1....................................................................
2....................................................................
3....................................................................
4....................................................................
5....................................................................
6....................................................................
7....................................................................
......................................................................
......................................................................
......................................................................
......................................................................
8....................................................................
9....................................................................
10..................................................................
11..................................................................
Hãy chỉ ra lỗi trong các câu lệnh sau đây:
a) X:=10; while X:=10 do X:=X+5;
b) X:=10; while X=10 do X=X+5;
c) S:=0; n:=0; while S<=10 do n:=n+1; S:=S+n;
Câu 6: Đoạn lệnh sau đây cho biết kết quả nào?
var i: byte;
i:= 5;
While i<=5 do
Begin
Write(i:2);
i:= i-1;
end;
a.In ra các số từ 1 đến 5; b.In ra các số từ 0 đến 5;
c.In ra các số lần lượt từ 5 đến 0; d. In ra vô hạn các số5, mỗi số trên một dòng.
Câu 7:Đoạn lệnh sau đây cho biết kết quả nào?
Var so: byte:
so:= 1;
While so<10 do writeln(so);
so:=so+1;
a.In ra các số từ 1 đến 9; b.In ra các số từ 1 đến 10;
c.In ra vô hạn các số1, mỗi số trên một dòng. d.In ra các số từ 10 đến 1.
Câu 8:Cho đoạn chương trình sau:
Var x, tong : byte;
x:=0; tong:=0;
While tong <= 20 do
Begin
Writeln(tong);
tong:=tong +1;
End;
x:=tong;
Sau khi đoạn chương trình trên được thực hiện, giá trị của x bằng bao nhiêu?
a.20. b. 21. c. Không xác định. d. 0.
Câu 9: Hãy cho biết kết quả của đoạn chương trình dưới đây?
a:=10;
While a< 11do writlen(a);
a.Trên màn hình xuất hiện một số 10.
b.Trên màn hình xuất hiện 10 chữ.
c.Trên màn hình xuất hiện vô số chữ số10,chương trình bị lặp vô tận.
d.Trên màn hình xuất hiện một số 11.
Câu 14:Hãy tìm hiểu các thuật toán sau đây và cho biết khi thực hiện thuật toán, máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của S bằng bao nhiêu? Viết chương trình Pascal thể hiện các thuật toán đó.
a) Thuật toán 1:
Bước 1. S ← 10, x ← 0.5
Bước 2. Nếu S ≤ 5.2, chuyển tới bước 4.
Bước 3. S ← S –x và quay lại bước 2.
Bước 4. Thông báo S và kết thúc thuật toán.
b) Thuật toán 2:
Bước 1. S ←10, n ← 0.
Bước 2. Nếu S ≥ 10, chuyển tới bước 4.
Bước 3. n ← n+3, S ← S-n và quay lại bước 2.
Bước 4. Thông báo S và kết thúc thuật toán.
Câu 15: Hãy tìm hiểu mỗi đoạn chương trình Pascal sau đây và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp. Hãy rút ra nhận xét của em.
a)S:=0;n:=0;
while S <=10 do
begin n:=n+1;S:=S+n end;
b)S:=0;n:=0;
while S >=10 do
n:=n+1; S:=S+n;
Câu 16: Sử dụng cấu trúc lệnh While ...do để viết chương trình tính tổng của các số tự nhiên liên tiếp bé hơn 20.
Câu 17: Sử dụng cấu trúc lệnh While ...do để viết chương trình tính tích của các số tự nhiên liên tiếp từ 1 đến n.
giúp với nhé, mình cảm ơn nhiều lắm ^-^