câu 1:
a) Hãy mô tả thuật toán để tính tổng sau đây: T=1/1*4 + 1/2*5 + 1/3*6 +...+ 1/n*(n+3)
b) Sử dụng vòng lặp While... do, hãy viết chương trình tổng trên.
Đối với từng đoạn chương trình Pascal sau đây, hãy cho biết sau khi thực hiện lệnh lặp giá trị của x và y là bao nhiêu? Và mỗi đoạn chương trình thực hiện bao nhiêu vòng lặp a Đoạn chương trình 1 b Đoạn chương trình 2: x: 0; y: 5 x:=1 ; y:= 5; For i:-5 to 2 do x:=x+2: For i:=3 to 7 do x:=x+2; y:=y+x; y:= y + x;
while...doA. Trắc nghiệm
Câu 1:Vòng lặp While – do kết thúc khi nào
A. Khi một điều kiện cho trước được thỏa mãn
B. Khi đủ số vòng lặp
C. Khi tìm được Output
D. Tất cả các phương án
Câu 2:Việc đầu tiên mà câu lệnh While ... do cần thực hiện là gì?
A. Thực hiện < câu lệnh > sau từ khóa Do
B. Kiểm tra giá trị của < điều kiện >
C. Thực hiện câu lệnh sau từ khóa Then
D. Kiểm tra < câu lệnh >
Câu 3:Cho biết câu lệnh sau Do thực hiện mấy lần trong đoạn chương trình sau:
i := 5;
While i>=1 do i := i – 1;
A. 1 lần
B. 2 lần
C. 5 lần
D. 6 lần
Câu 4:Hãy cho biết kết quả của đoạn chương trình dưới đây:
a:=10; While a < 11 do write (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ữ a
C. Trên màn hình xuất hiện một số 11
D. Chương trình bị lặp vô tận
Câu 5:Câu lệnh sau giải bài toán nào:
While M <> N do
If M > N then M:=M-N else N:=N-M;
A. Tìm UCLN của M và N
B. Tìm BCNN của M và N
C. Tìm hiệu nhỏ nhất của M và N
D. Tìm hiệu lớn nhất của M và N
B. Tự luận
Câu hỏi 1. Nêu cú pháp câu lệnh lặp với số lần chưa biết trước? Nêu hoạt động của câu lệnh lặp?
Câu hỏi 2. Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần lặp cho trước và câu lệnh lặp với số
lần lặp chưa biết trước.
Câu hỏi 3. 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←10, ← 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. Thực hành (Nếu không có máy tính HS có thể viết chương trình vào vở)
Viết chương trình tính tổng của số tự nhiên từ 1 đến 100 sử dụng câu lệnh....while...do...
Câu 1 Pascal sử dụng câu lệnh nào sau đây để lặp với số lần lặp biết trước?
a. if...then b. if...then...else
c. for...do d. while...do
Câu 2 Pascal sử dụng câu lệnh nào sau đây để lặp với số lần lặp chưa biết trước?
a. if...then b. if...then...else
c. for...do d. while...do
Câu 3 Lệnh lặp nào sau đây đúng
a. For <biến đếm >=<giá trị đầu>to <giá trị cuối >do;
b. For <biến đếm >:=<giá trị đầu> to <giá trị cuối >do;
c. While< điều kiện > = do< câu lệnh > ;
d. While< điều kiện >:= do< câu lệnh>;
Câu 4 Phát biểu nào sau đây đúng ?
a. Phần mềm GeoGebra dùng để vẽ hình học .
b. Phần mềm Finger Break Out dùng để quan sát thời gian trên trái đất.
c. Phần mềm Pascal dùng để luyện gõ phím nhanh .
d. Phần mềm Sun Times dùng để lập trình .
Câu 5 Câu lệnh Pascal: While(3*5>=15) do Writeln (3*5); sẽ
a. In số 15 ra màn hình 3 lần .
b. In số 15 ra màn hinh 5 lần.
c. Không thực hiện lệnh Writeln (3*5);
d. Lặp vô hạn lần lệnh Writeln (3*5);
Câu 6 Trong câu lệnh lặp fof...do của pascal, mỗi vòng lặp , biến đếm thay đổi như thế nào?
a. +1 b.+1 hoặc -1
c. Một giá trị bất kì d. Một giá trị khác 0
Câu 7 Trong câu lệnh lặp
For i:=1to 20 do Begin s:= s+i end ;
Câu lệnh ghép thực hiện bao nhiêu lần ( nói cách khác , bao nhiêu vòng lặp được thực hiện )?
a. 1 lần b. không lần nào
c. 20 lần d. 21 lần
Câu 8 Lệnh lặp với số lần chưa biết trước nào sau đây là đúng?
a. For < biến đếm>=< giá trị đầu > to < giá trị cuối > do ;
b. For < biến đếm>:=<giá trị đầu > to < giá trị cuối > do;
c. While < điều kiện >=do < câu lệnh >;
d. While < điều kiện >:= do < câu lệnh ;
I. Phần trắc nghiệm: Hãy chọn một đáp án đúng nhất.
Câu 1. Trong Pascal, câu lệnh nào sau đây được viết đúng?
A. for i:= 4 to 1 do writeln(‘A’); B. for i= 1 to 10 writeln(‘A’);
C. for i:= 1 to 10 do writeln(‘A’); D. for i to 10 do writeln(‘A’);
Câu 2. Trong câu lệnh lặp: For i := 1 to 10 do j:= j + 2; write( j );
Khi kết thúc câu lệnh lặp trên, câu lệnh write( j ); được thực hiện bao nhiêu lần?
A. 10 lần B. 5 lần C. 1 lần D. Không thực hiện.
Câu 3. Cho đoạn chương trình: J:= 0;
For i:= 1 to 5 do J:= j + i;
Sau khi thực hiện đoạn chương trình trên, giá trị của biến j bằng bao nhiêu?
A. 12 B. 22 C. 15 D. 42.
Câu 4: Cú pháp của câu lệnh điều kiện dạng đủ nào sau đây là đúng?
A. If <điều kiện> then <câu lệnh 1> else <câu lệnh 2> B. If <câu lệnh> then <điều kiện>
C. If <điều kiện> then <câu lệnh 1> else <câu lệnh 2> D. If <điều kiện> do <câu lệnh>;
Câu 5: Chương trình sau cho kết quả gì?
Program VD;
Var a, b: Real; x: Integer;
Begin
Readln( a,b);
If a>b then x:=a else x:=b;
Writeln(x);
End.
A.Xuất ra màn hình số nhỏ nhất trong 2 số a, b đã nhập.
B.Xuất ra màn hình số lớn nhất trong hai số a, b đã nhập.
C.Chương trình không thực hiện được do lỗi khai báo kiểu dữ liệu.
D.Đảo giá trị của hai biến a, b cho nhau.
Câu 6: Hoạt động nào sau đây lặp với số lần lặp biết trước?
A. Rửa rau tới khi sạch B. Học bài cho tới khi thuộc bài
C. Gọi điện tới khi có người nghe máy D. Ngày tắm 2 lần
Câu 7: Cấu trúc câu lệnh điều kiện dạng thiếu là:
A. If <điều kiện> then <câu lệnh 1> esle <câu lệnh 2> B. If <điều kiện> then <câu lệnh >
C. If <điều kiện> then <câu lệnh 1> <câu lệnh 2> D. If <điều kiện> then <câu lệnh 1> esle <câu lệnh 2>
Câu 8: Ta có 2 lệnh sau:
x := 8;
IF x > 5 then x := x+1;
Giá trị của x nhận được là bao nhiêu?
A. 5 B. 7 C. 8 D. 9
Câu 9: Chọn câu lệnh Pascal hợp lệ trong các câu lệnh sau:
A. If a > b then max = a ; B. If a := b then max = b ;
C. If a = b then S := a+b ; D. If a <> b then b=a;
Câu 10: Chọn cú pháp đúng nhất về câu lệnh lặp:
A. for < biến đếm > : = < giá trị đầu > to < giá trị cuối > do < câu lệnh >
B. for < biến đếm > := < giá trị cuối > to < giá trị đầu > do <câu lệnh >
C. for <biến đếm > : = < giá trị đầu > to < giá trị cuối > do < câu lệnh >
D. for < biến đếm > : = < giá trị đầu > to < giá trị cuối > do < câu lệnh >
Câu 11: Em hiểu lệnh lặp theo nghĩa nào dưới đây?
A. Một lệnh thay cho nhiều lệnh B. Các câu lệnh được viết lặp đi lặp lại nhiều lần
C. Vì câu lệnh có tên là lệnh lặp D. Cả (A), (B), (C) đều sai
Câu 12: Khi nào thì câu lệnh For..to..do kết thúc?
A. Khi biến đếm nhỏ hơn giá trị cuối B. Khi biến đếm lớn hơn giá trị cuối
C. Khi biến đếm nhỏ hơn giá trị đầu D. Khi biến đếm lớn hơn giá trị đầu
Câu 13: Cho các câu lệnh sau hãy chỉ ra câu lệnh đúng?
A. for i:=1 to 10; do x:=x+1; B. for i:=1 to 10 do x:=x+1;
C. for i:=10 to 1 do x:=x+1; D. for i =10 to 1 do x:=x+1;
Câu 14: Với ngôn ngữ lập trình Passcal câu lệnh lặp for i:=1 to 10 do x:=x+1; thì biến đếm i phải
được khai báo là kiểu dữ liệu nào?
A. Integer B. Real C. String D. Tất cả các kiểu trên đều được
Câu 15: Trong câu lệnh lặp với số lần biết trước (For – do), được thực hiện mấy lần?
A. ( < giá trị cuối > - < giá trị đầu >) lần B. Tuỳ thuộc vào bài toán mới biết được số lần
C. Khoảng 10 lần D. ( < giá trị đầu > - < giá trị cuối>) lần
Câu 16: Xác định số vòng lặp cho bài toán: tính tổng các số nguyên từ 1 đến 100
A. 1 B. 100 C. 99 D. Tất cả đều sai
Câu 17: Kết quả của < điều kiện > trong câu lệnh sẽ có giá trị là gì?
A. Là một số nguyên B. Là một số thực C. Đúng hoặc sai D. Là một dãy kí tự
Câu 18: Sau khi thực hiện đoạn chương trình sau:
S:=0; For i:=1 to 5 do S:=S+i; Giá trị của biến S bằng bao nhiêu?
A. 20 B. 15 C. 10 D. 0
Câu 19: Cú pháp lệnh lặp For – do dạng lùi:
A. for < biến đếm> = < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >
B. for < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >
C. for < biến đếm> = < Giá trị cuối >down < Giá trị đầu > do < câu lệnh >
D. for < biến đếm> := < Giá trị đầu >downto < Giá trị cuối > do < câu lệnh >
Câu 20: Trong lệnh lặp For – do: (chọn phương án đúng nhất)
A. Giá trị đầu phải nhỏ hơn giá trị cuối
B. Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối
C. Giá trị đầu phải lớn hơn giá trị cuối D. Giá trị đầu phải bằng giá trị cuối
Câu 21: Lệnh lặp For – do được sử dụng khi:
A. Lặp với số lần biết trước B. Lặp với số lần chưa biết trước
C. Lặp với số lần có thể biết trước D. Lặp với số lần không bao giờ biết trước
Câu 22: Sau khi thực hiện đoạn chương trình sau: s:=1; for i:= 1 to 3 do s:= s*i;
Giá trị của biến s bằng bao nhiêu?
A. 10; B.5; C. 6; D. 15.
Câu 23: Với câu lệnh for i:=1 to 10 do x:=x+1; biến i được khai báo thuộc kiểu dữ liệu nào?
A. Real; B. Integer; C. String; D. Char.
Câu 24: Lệnh lặp for..to..do của Pascal trong mỗi vòng lặp, biến đếm thay đổi như thế nào?
A. Tăng thêm 1 đơn vị; B. +1 hoặc -1;
C. Giá trị bất kì; D. Một giá trị khác 0.
II: Bài tập: Tính tổng các số tự nhiên đầu tiên chia hết cho 3 không vướt quá N cho trước (N được
nhập vào từ bàn phím).
MONG NHẬN ĐƯỢC SỰ TRỢ GIÚP TỪ CÁC BẠN !!!
Phần I. Trắc nghiệm. (5 điểm)
1. Nhặt thóc ra khỏi gạo cho đến khi trong gạo không còn lẫn thóc là hoạt động:
a. Lặp 10 lần c. Lặp vô số lần (lặp vô hạn)
b. Lặp với số lần chưa biết trước d. Lặp với số lần biết trước
2. Trong câu lệnh lặp For i:=1 to 10 do begin.... end bao nhiêu vòng lặp được thực hiện?
a. Không lần nào b. 10 lần c. 1 lần d. 2 lần
3. Điều kiện kết thúc vòng lặp For... do của Pascal là:
a. Biến đếm lớn hơn giá trị cuối c. Giá trị đầu bằng giá trị cuối
b. Biến đếm lớn hơn hoặc bằng giá trị cuối d. Giá trị đầu lớn hơn giá trị cuối
4. Trong các câu lệnh Pascal sau, câu lệnh nào hợp lệ?
a. For i:=1 to 10; do x=x+1; c. For i:=1 to 10 do x:=x+1;
b. For i:=10 to 1 do x:=x+1; d. For i:=1.5 to 10 do x:=x+1;
5. Trong lệnh lặp For... do của Pascal, sau từ khóa “do” nếu có từ 2 câu lệnh trở lên (câu lệnh
ghép) thì câu lệnh ghép đó phải đặt trong cặp từ khóa nào sau đây?
a. Begin.....readln; b. Begin.....and;
c. End.....Begin d. Begin.....end;
6. Câu lệnh sau đây cho kết quả như thế nào?
For i:=1 to 10 do Writeln(‘A’);
a. In dãy số từ 10 đến 1 ra màn hình c. In dãy số từ 1 đến 10 ra màn hình
b. In 20 ký tự A ra màn hình d. In 10 ký tự A ra màn hình
7. Sau khi thực hiện đoạn chương trình sau, giá trị của biến T bằng bao nhiêu?
i := 0; T := 0;
While i < 3 do
begin T := T + 1; i := i + 1; end;
a. T = 2 b. T = 3 c. T = 4 d. T = 5
8. Cú pháp của câu lệnh lặp với số lần chưa biết trước trong Pascal:
a. While <câu lệnh> do <điều kiện>; c. While <điều kiện> do <câu lệnh>;
b. While <giá trị cuối > do <giá trị đầu>; d. While <giá trị đầu> do <giá trị cuối>;
9. Trong lệnh lặp While... do của Pascal, nếu điều kiện đúng thì:
a. Tiếp tục vòng lặp c. Vòng lặp vô tận
b. Lặp 10 lần d. Thoát khỏi vòng lặp
10. Trong các câu lệnh Pascal sau, câu lệnh nào hợp lệ?
a. x:=1; while x:= 10 do x:=x+5; c. x =1 while x>10 do x:=x+5;
b. x:=1; while x <10 do x:=x+5; d. x:=10; while x<10 do x=x+5;
Phần II. Bài tập. (5 điểm)
Câu 1: Cho đoạn chương trình sau: (2đ)
m:=2; k:=3;
For i:= 0 to 4 do begin
m:=m+1;
k :=k+m;
end;
Sau khi thực hiện đoạn chương trình trên giá trị của các biến m, k bằng bao nhiêu?
1. Câu 2: (3đ)Viết chương trình tính tổng: S= 1+ 1/2 + 1/3 + ….. + 1/N
(n là số nguyên được nhập từ bàn phím)
Làm giúp mình trước ngày 29/04/2020 nha !
1/ Sau khi chạy đoạn chương trình sau giá trị của a, b bằng bao nhiêu? a:=4 ; b:=12; If a<b then a:=a+b else Begin a:=a-b; b:=b+a end;
2/ Cho đoạn chương trình sau:a:=3 ;b:=3;c:=0 if a=b then c:=a-b+1 c:=c+1;sau khi thực hiện đoạn chương trình trên , giá trị của c là bao nhiêu?mai mình thi rồi!
Giúp Tui với ạ(đang cần gấp)!!!! Cho mô tả thuật toán sau: Bước 1. S<--0;n<--0; bước2. Nếu n>4 thì chuyển đến bước 4. Bước3. N<--n+1;S<--S+n;quay lại bước2. Bước 4.thông báo gtri S. a)tính gtri S,n. b) vt chương trình (sử dụng vòng lặp For...to...do)
Câu 1: Em hãy cho biết đâu là công việc phải thực hiện nhiều lần với số lần biết trước?
A. Hàng ngày em đi học.
B. Em bị ốm vào một dịp có dịch cúm.
C. Đến nhà bà ngoại chơi vào một hôm cả bố và mẹ đi vắng.
D. Ngày đánh răng ba lần.
Câu 2: Để mô tả cấu trúc lặp với số lần lặp biết trước ta dùng câu lệnh:
A. For <biến đếm> := <giá trị đầu> do <giá trị cuối> to <câu lệnh>;
B. While <điều kiện> do <câu lệnh>;
C. For <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
D. While <câu lệnh> do <điều kiện>;
Câu 3: Có thể sử dụng những kiểu dữ liệu nào để khai báo cho biến đếm trong cấu trúc ở trên?
A. Integer, real, byte B. Integer, longint, byte
C. Integer, char, byte D. String, real, byte
Câu 4: Trong cấu trúc lặp với số lần lặp biết trước, câu lệnh sau do dừng thực hiện khi nào?
A. Biến đếm > giá trị cuối B. Biến đếm = giá trị cuối
C. Biến đếm > giá trị đầu D. Biến đếm = giá trị đầu
Câu 5: Trong câu lệnh for .. do, ban đầu biến đếm được gán giá trị là giá trị đầu sau mỗi vòng lặp biến đếm tự động được tăng lên
A. 1 đơn vị B. 2 đơn vị C. 3 đơn vị D. 4 đơn vị
Câu 6: Cho câu lệnh For i := 1 to 200 do writeln(‘CHAO BAN!’). Khi thực hiện chương trình in ra bao nhiêu dòng chữ CHAO BAN! trên màn hình?
A. 198 B. 200 C. 199 D. 201
Câu 7: Cho đoạn lệnh A := 0; For i:= 1 to 5 do A := A +2; . Hãy cho biết kết thúc đoạn chương trình trên A có giá trị là bao nhiêu?
A. 4 B. 8 C. 10 D. 12
Câu 8: Để kiểm tra một giá trị là số chẵn em sử dụng phép toán nào?
Aa. Div B. Mod C. / E. *
Câu 9: Để in ra màn hình giá trị của biến B em viết lệnh
A. Readln(B); C. wire(B); hoặc writeln(‘B’);
C. write(B) hoăc writeln(B); D. write(‘B’) hoăc writeln(‘B’);
Câu 10: Cho đoạn lệnh A:=10; if A mod 2 = 0 then A:=A+1; Sau đoạn lệnh trên A có giá trị là bao nhiêu?
A. 9 B. 10 C. 11 D.12
Câu 11: Cho biết đoạn lệnh sau cho kết quả là gì trên màn hình?
A: =5; B:=2*A; if B mod 2 = 0 then write(‘B la so chan’) else write(‘B la so le’);
A. B la so chan B. B la so le C. không có thông báo nào.
Câu 12: Cho đoạn lệnh sau: A:=0; for i:=10 to 15 do A:=A+i;
A. 70 B.72 C.74 D. 75
Câu 13: Cho đoạn lệnh sau: A:=1; for i:=2 to 5 do A:=A*i;
A. 70 B.120 C.170 D. 75
Câu 14: Cho biết kết quả in lên màn hình của câu lệnh dưới đây là những giá trị nào?
for i:=1 to 15 do if i mod 3 = 0 write(i:3);
A. 3 6 9 11 15 B. 3 6 10 11 15
C. 3 6 9 12 15 D. 3 7 9 11 15