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
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 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;
1) Xác định giá trị đầu, giá trị cuối, số lần lặp, giá trị S trong câu lệnh sau
S:=0
For i:=1 to 5 do S:= S+1/i
2) Viết chương trình tính tổng nghịch đảo S=1+1/2+1/3+...+1/N với N được nhập từ bàn phím
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 ^-^
1, Hãy nêu sự khác biệt giữa câu lệnh lặp while ... do và âu lệnh lặp for ... do.
2, Sau khi tực hiện đoạn chương trình thì S = ?
S : =0 ; n : =0 ;
while S <= 10 do
begin n := n+1 ; S :=S+n end;
Câu 21: Xác định số vòng lặp cho bài toán: Tính tổng của các số nguyên từ 1 đến 100:
A. 1 B. 100 C. 99 D. Tất cả đều sai
Câu 22:Kết quả của < điều kiện > trong câu lệnh lặp sẽ có giá trị là :
A. Là 1 số nguyên B. Là 1 số thực C. Đúng hoặc sai D. Là 1 kí tự
Câu 23 :Đoạn chương trình sau giải bài toán nào:
S:=0;
For i:=1 to n do
If (i mod 3 = 0) and (i mod 5 = 0) then
S:= S + i;
A. Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến n
B. Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến n
C. Tổng các số chia hết cho 3 trong phạm vi từ 1 đến n
D. Tổng các số chia hết cho 5 trong phạm vi từ 1 đến n
Câu 24:Sau khi thực hiện đoạn chương trình sau:
S:=10;
For i:=1 to 4 do S:=S+i;
Giá trị của biến S bằng bao nhiêu:
A. 20 B. 14 C. 10 D. 0
Câu 25: Khi giải thích các thành phần trong câu lệnh lặp, phát biểu nào sau đây đúng:
A. For, to, do là các từ khóa, biến đếm là biến kiểu số nguyên hoặc số thực.
B. Giá trị đầu và giá trị cuối là các giá trị nguyên hoặc giá trị thực.
C. Câu lệnh lặp sẽ thực hiện câu lệnh nhiều lần, mỗi lần là một vòng lặp. Số lần lặp là biết trước và bằng giá trị cuối – giá trị đầu + 1.è