YÊU CẦU HỌC SINH HOÀN THÀNH BÀI TẬP TRẮC NGHIỆM TRỰC TIẾP TRÊNMÁY VÀ GIẢI CÁC BÀI TẬP TỰ LUẬN VÀO VỞ CÂU 1: Trong ngôn ngữ Pascal, cho cú pháp sau: For < Biến đếm>:= to do; Phát biểu n
Trang 1YÊU CẦU HỌC SINH HOÀN THÀNH BÀI TẬP TRẮC NGHIỆM TRỰC TIẾP TRÊN
MÁY VÀ GIẢI CÁC BÀI TẬP TỰ LUẬN VÀO VỞ
CÂU 1: Trong ngôn ngữ Pascal, cho cú pháp sau:
For < Biến đếm>:=<giá trị đầu> to <giá trị cuối> do<câu lệnh>;
Phát biểu nào sau đây là đúng:
a <Biến đếm> là biến đơn, thường là kiểu nguyên
b <Giá trị đầu>, <giá trị cuối> là các biểu thức có kiểu khác với kiểu <biến đếm>
c <Giá trị đầu> phải lớn hơn <giá trị cuối>
d <Câu lệnh> phải là câu lệnh đơn
CÂU 2 : Phát biểu nào sau đây là đúng về câu lệnh lặp While< điều kiện> do <câu lệnh>;
a <điều kiện> là một biểu thức lôgic
b <Câu lệnh> phải là câu lệnh đơn
c <Câu lệnh> phải là câu lệnh ghép
d <Câu lệnh> không thể là một câu lệnh lặp
CÂU 3 : Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây thể hiện là cú pháp câu lệnh
lặp với số lần biết trước? @
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> downto <giá trị đầu> do<câu lệnh>;
c While <Điều kiện> do< câu lệnh>;
d a và b đều đúng
CÂU 4: Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây câu lệnh rẽ nhánh?
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 While <Điều kiện> do< câu lệnh>;
d If< điều kiện> then <câu lệnh>;
CÂU 5: Phát biểu nào sau đây là SAI ?
a Cấu trúc lặp được phân biệt hai loại là: Cấu trúc lặp với số lần biết trước và cấu trúc lặp với số lần chưa biết trước
b Quá trình lặp không thể dừng được gọi là quá trình lặp vô hạn
c Trong pascal, Cấu trúc lặp với số lần chưa biết trước thể hiện qua câu lệnh For do
d Trong pascal, Cấu trúc lặp với số lần chưa biết trước thể hiện qua câu lệnh While do
CÂU 6: Hãy ghép các dữ kiện ở cột1 với cột 2 đúng nhất:
1 Câu lệnh if-then A Lặp với số lần chưa biết trước
2 Câu lệnh while-do B Rẽ nhánh dạng thiếu
3 Câu lệnh for to do C lặp với số lần biết trước dạng lùi
4.Câu lệnh for downto do D lặp với số lần biết trước dạng tiến
a 1A, 2C, 3D, 4B
b 1B, 2C, 3D, 4A
c 1B, 2A, 3D, 4C
d 1B, 2D, 3C, 4A
CÂU 7: Phát biểu nào sau đây là sai? Trong câu lệnh: while <điều kiện> do <câu lệnh>
a Vòng lặp sẽ dừng khi <điều kiện> không thỏa mãn;
b <câu lệnh> sẽ được thực hiện ít nhất một lần;
c Sau do có thể là một câu lệnh đơn hoặc một câu lệnh ghép;
d <điều kiện> sẽ được kiểm tra trước khi thực hiện câu lệnh.
CÂU 8:Trong ngôn ngữ lập trình Pascal, chương trình sau cho kết quả gì?
Trang 2var i: integer;
begin for i:=5 downto 1 do
write(i, ‘ ’);
readln;
end.
a 1 2 3 4 5
b Đưa ra 5 khoảng trắng
c 5 4 3 2 1
d Sai cú pháp
CÂU 9: Cho đoạn chương trình sau:
s:=0;
for i:=1 to n do
s:=s+i*i;
Đoạn chương trình trên thực hiện công việc nào dưới đây?
a Tính s=n
b Tính s=12+22+32+…+n2
c Tính s=1+2+3+…+n
d Tính s=1*2+2*3+…+(n-1)*n
CÂU 10: Đoạn lệnh sau đây thực hiện công việc gì? For i:=1 to 100 do Write(i:4);
a Tính tổng các số nhỏ hơn 100
b Viết ra các số từ 1 đến 100
c Tính tổng các số lẽ nhỏ hơn 100
d Tìm các số chia hết cho 100
Trang 3II TỰ LUẬN
Bài 1 Chỉ ra các thành phần tương ứng trong chương trình
(1) Program tinhtong;
(2) Var N, i, s: word;
Begin
(3) Write(‘Nhap N’);read(N);
(4) S:=0;
(5) For i:=1 to N do
(6) If i mod 5 = 0 then s:=s+i;
(7) Write(‘Tong cac so chia het 5 la:’, s);
(8)Readln;
End.
(1)………
(2) ……… …
(3) ………
(4)………
(5)………
(6)………
(7)………
(8)………
Bài 2 Đoán nhận kết quả sau khi thực hiện đoạn lệnh: S:=0; For i:=1 to N do If i mod 5 = 0 then s:=s+i; Write(‘Tong cac so chia het 5 la:’, s); a Lập bảng mô phỏng và cho biết kết quả: N=7 I i mod 5 = 0 S Kết quả i= 1 Sai 0 i= 2 … … i= … … i= … … i= … … i= … … i= … … Bài 3 Sắp xếp lại chương trình CHƯƠNG TRÌNH GỢI Ý CHƯƠNG TRÌNH VIẾT LẠI (1)Begin (2)Write(‘nhap 3 so a,b,c’);readln(a,b,c); (3)Program Bosopitago; (4)If ((sqr(a)= sqr(b) + sqr(c)) or (sqr(b)= sqr(a) + sqr(c)) or (sqr(c)= sqr(b) + sqr(a)) (5) then Write(‘Bo so pitago’); (6)Var a,b,c: byte; (7) Readln (8) End (9) Else writeln(‘khong phai bo so pitago’); ………
………
………
………
………
………
………
………
………
………
Bài 4 Hãy điền nội dung còn thiếu ở phần còn trống ( …) để viết ra các số từ 100 về 1
Trang 4For …Downto … Do… ;
Bài 5 Hãy điền vào nội dung còn thiếu ở phần còn trống ( …) để tính tổng các số chẵn
từ 10 đến 100 (S)
Gợi ý: Duyệt lần lượt các số (i) từ 10 đến 100 Nếu số đó (i) chia hết cho 2 thì cộng vào tổng S
S:= …;
For i :=…to …do If (i mod 2 … ) then S:=….;
Bài 6 Hãy điền vào nội dung còn thiếu ở phần còn trống ( …) để đếm các số chia hết
cho 3 từ 1 đến 100 (S)
Gợi ý: Dùng biến Đếm (Dem) để lưu số các số chia hết cho 3 Duyệt lần lượt các số (i)
từ 1 đến 100 Nếu số đó (i) chia hết cho 3 thì tăng biến Dem lên 1 (Dem= Dem +1)
Dem:= …;
For i :=…to …do If (i mod 2 … ) then Dem:=….;
Bài 7 Trong ngôn ngữ lập trình Pascal cho đoạn lệnh sau:
tong:=1; for i:=1 to 5 do tong:=tong*i;
Writeln(‘Ket qua la:’, tong);
Viết ra kết quả sau khi thực hiện đoạn lệnh trên
Bài 8 Trong ngôn ngữ lập trình Pascal cho đoạn lệnh sau:
i:=0;
while i<100 do
begin
i:=i+1;
write(i);
end;
Viết ra kết quả sau khi thực hiện đoạn lệnh trên
Bài 9 Viết chương trình nhập vào số nguyên dương N Thông báo ra màn hình N là số
chẵn hay số lẽ
Bài 10 Viết chương trình nhập vào số nguyên dương N Tính và đưa ra màn hình tích
các số từ 1 đến N – Giai thừa của số nguyên N – (S=1*2*3*…N)
N= 11 Giai thừa là : S= 1*2*3*…*11