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ẽ 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 \(\leftarrow\) 10, x \(\leftarrow\) 0.5
Bước 2. Nếu S \(\leq\) 5.2, chuyển tới bước 4.
Bước 3. S \(\leftarrow\) 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 \(\leftarrow\) 10, n \(\leftarrow\) 0.
Bước 2. Nếu S ≥ 10, chuyển tới bước 4.
Bước 3. n \(\leftarrow\) n + 3, S \(\leftarrow\) S - n quay lại bước 2.
Bước 4. Thông báo S và kết thúc thuật toán.
Hãy tìm hiểu thuật toán sau đây và cho biết khi thực hiện máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc S bằng bao nhiêu? Viết chương trình pascal thể hiện thuật toán đó B1: S
cho biết giá trị S bằng bao nhiêu và số lần lặp khi thực hiện thuật toán sau?
B1: S:=5, x:=1.
B2:nếu S >=12, chuyển qua B4
B3: S:=S+x; x:=x+1 và quay lai bước 2;
B4:Thông báo S và kết thúc thuật toán
Cho thuật toán sau:
- B1: A :=0;b :=1;
- B2: Nếu A≤ 30 thì chuyển qua B3, ngược lại A > 30 thì chuyển B4;
- B3:i :=b+2 ; A:=A+b; và quay lại B2
- B4: In ra kết quả và kết thúc thuật toán
Program Bai9;
Uses CRT;
Var A,b:integer;
Begin
A:= 0, J:=1;
While A<= 30 do
Begin i := b +2;A := A + b;End;
Writeln(A);
Readln;
End.
a) Hãy cho biết, khi thực hiện thuật toán trên, máy tính sẽ thực hiện bao nhiêu vòng lặp và giá trị của T và j là bao nhiêu (1,0 điểm)
b) Viết chương trình sử dụng câu lệnh lặp chưa biết trước thể hiện thuật toán trên.
viết chương trình với thuật toán sau:
Bước 1. S←0,n←0
Bước 2. Nếu S ≤ 1000 thi chuyển tới bước 3; ngược lại ( S>1000) chuyển tới bước 4 Bước 3. n←n+1; S←S+n; và quay lại bước 2
Bước 4. In kết quả: S và n là số tự nhiên nhỏ nhất sao cho S > 1000. Kết thúc thuật toán.
1,Tìm hiểu thuật toán sau:Cho biết số vòng lặp?Giá trị biến S?Diễn giải các vòng lặp và viết chương trình?
B1: S<-10, n<-6
B2:Nếu S>34,chuyển sang bước 4
B3:S=S+n và quay lại bước 2
B4:Thông báo KQ S và kết thúc thuật toán
2,Sử dụng câu lệnh lặp while...do để viết chương trình :Tính tích của n số tự nhiên với số lần lặp không xác định (Với n là số tự nhiên đầu tiên được nhập từ bàn phím)
Mai mình thi rồi,mn giúp mình với :33
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..................................................................
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 ^-^