Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp cho trước bằng câu lệnh while …do Câu 7: Câu lệnh lặp while ...do có dạng đúng là:?. a.a[r]
Trang 1Câu hỏi ôn tập kiểm tra 1 tiết môn tin học 8
Câu 1: Trong ngôn ngữ lập trình Pascal câu lệnh nào sau đây là đúng:
a If a:=5 then a:=d+1 else a:=d+2; b If a=5 then a:=d+1else a:=d;
c If a=5 then a:=d+1 else a=d+2; d If a=5 then a=d+1else a:=d+2;
Câu 2: Trong ngôn ngữ Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì?
For i:=1 to 10 do write (i,‘,’ );
c Đưa ra 10 dấu cách c 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
Câu 17: Mọi ngôn ngữ lập trình đều có câu lệnh để thể hiện:
a Cấu trúc lặp b Cấu trúc rẽ nhánh c cả a và b đều sai d cả a và b đều đúng Câu 18: Khi viết câu lệnh lặp for to do…
a Giá trị đầu bằng giá trị cuối b Tất cả đều sai.
c Giá trị đầu lớn hơn giá trị cuối d Giá trị cuối phải lớn hơn giá trị đầu
Câu 20: Câu lệnh pascal nào sau đây là hợp lệ?
a For i:=1 to 10 do writeln(‘A’) b For i= 1 to 10 do writeln(‘A’);
c For i:=1.5 to 10 do writeln(‘A’) d For i:= 10 to 1 do writeln(‘A’);
Câu 15: Lệnh lặp nào sau đây là đúng?
a For <biến đếm >= <giá trị đầu > to <giá trị cuôí > do <câu lệnh >;
b For <biến đếm >:= <giá trị đầu > to <giá trị cuôí > do <câu lệnh >;
c For <biến đếm >:= <giá trị cuôí > to <giá trị đầu > do <câu lệnh >;
d For <biến đếm >: <giá trị đầu > to <câu lệnh > do <giá trị cuối >;
Câu 16: Vòng lặp while do là vòng lặp:
a Biết trước số lần lặp b Chưa biết trước số lần lặp
c Biết trước số lần lặp nhưng giới hạn là <=100 d Biết trước số lần lặp nhưng giới hạn là >=100 Câu 23: Để khai báo biến mảng a gồm 10 phần tử , mỗi phần tử có kiểu dữ liệu là real ta khai báo:
A var a: array[10] of real; B var a: array[1;10] of real;
C var a: array[1:10]: of real; D var a: array[1 10] of real;
Câu 24: Cho đoạn chương trình sau:
n:=1;
While n<10 do
Begin n:=n+1; Writeln(‘ xin chao’); end;
Khi thực hiện chương trình câu “ xin chao” được viết ra màn hình mấy lần?
Câu 21: Em hiểu câ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 lai 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 22: Tìm giá trị của S trong đọan chương trình dưới đây: S := 0;
For i := 1 to 5 do S := S + i;
Câu 3: Sau khi thực hiện đoạn chương trình j:= 0; for i:= 1 to 3 do j:=j+2; thì g/trị in ra màn hình là?
Câu 5: Phát biểu nào sau đây là đúng?
a Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực hiện lặp lại một vài hoạt động nào đó
cho đến khi một điều kiện nào đó được thoả mãn
b Chỉ ngôn ngữ lập trình Pascal mới có các câu lệnh lặp để thể hiện cấu trúc lặp.
c Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp cho trước bằng câu lệnh while …do
Câu 7: Câu lệnh lặp while do có dạng đúng là:
a While < điều kiện> do <câu lệnh >; b While < điều kiện> <câu lệnh > do;
c While < điều kiện> do <câu lệnh > d While < điều kiện>; <câu lệnh > do;
Trang 2Câu 8: Cấu trúc rẽ nhánh dạng đầy đủ trong ngôn ngữ lập trình Pascal có dạng:
a if <câu lệnh 1> then <câu lệnh 2>; b if <điều kiện1> then <câu lệnh1>;
c if <điều kiện> then < câu lệnh 1> else <câu lệnh 2>;d if <điều kiện> then <câu lệnh>;
Câu 10: Tìm giá trị của S trong đọan chương trình dưới đây:
S := 0;
For i := 1 to 5 do S := S + i;
Câu 11: Khi nào thì câu lệnh For…to…do kết thúc?
a Khi biến đếm lớn hơn giá trị cuối b Khi biến đếm nhỏ hơn giá trị cuối
c Khi biến đếm bằng giá trị cuối d Khi biến đếm lớn hơn giá trị đầu
Câu 26: Hãy tìm hiểu đoạn chương trình sau đây
i:=1; j:=1; k:=1;
While i<=6 do i:=i+1; j:=j+1; k:=k+j;
Space:=’ ’;
Write(I,space,j,space,k);
Sau khi thực hiện đoạn CT trên, lệnh Write in ra màn hình g/trị của i, j, k lần lượt là bao nhiêu?
Câu 27: Sau khi thực hiện đoạn chương trình sau, giá trị của biến S bằng bao nhiêu:
s:=1;
for i:=1 to 4 do s := s*i;
Câu 28: Phần thân chương trình bắt đầu bằng từ khóa::
Câu 29: Cú pháp khai báo biến mảng trong Pascal là:
A var <Tên mảng> ; array [<chỉ số đầu> <chỉ số cuối>] of <kiểu dữ liệu >;
B var <Tên mảng> : array [<chỉ số đầu>…<chỉ số cuối>] of <kiểu dữ liệu >;
C var <Tên mảng> : array [<chỉ số đầu> <chỉ số cuối>] of <kiểu dữ liệu >;
D var <Tên mảng> array [<chỉ số đầu>…<chỉ số cuối>] for <kiểu dữ liệu >;
Câu 30: Chọn khai báo hợp lệ:
A Var a,b: array[1 n] of real; C Var a,b: array[1 : n] of Integer;
B Var a,b: array[1 100] of real; D Var a,b: array[1 … 100] of real;
Câu 31:Khi thực hiện câu lệnh for i:= 1.5 to 5 do writeln(i); sẽ viết ra màn hình?
A Không thực hiện được vì giá trị đầu không phải là số nguyên B.Giá trị biến đếm
C Viết số 1.5 rồi viết số 5 D Chỉ viết số 5 mà thôi
Câu 32: 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 gì?
A.real ; B.Interger ; C string D Tất cả các kiểu trên đều được
II - PHẦN TỰ LUẬN :
Bài 1 Tìm lỗi trong chương trình và sửa lỗi chương trình cho đúng:
Tính Tổng Các Số Tự Nhiên Từ 10 Đến 1000 (Vòng lặp với số lần lặp chưa biết)
Program tinh_tong;
Var i S: Integer;
Begin
i: 100;
S = 0;
While i >= 1000 do
S:= S + 1/i i:= i + 1;
Writeln(‘ Tong la:’ S); Readln;
End
Bài 2 Viết chương trình nhập vào một mảng các số nguyên Ghi ra màn hình giá trị trung bình cộng
của mảng đó
Trang 3Bài 3 Viết chương trình tính tổng:
S = 1+2+3+…+n Trong đó n là số nguyên nhập từ bàn phím
Bài 4 Viết chương trình tính tổng:
2 3 4
S
n
Trong đó n là số nguyên nhập từ bàn phím
Bài 5: Viết chương trình nhập vào mảng các số nguyên Ghi ra màn hình các phần tử có giá trị lẽ Bài 6: Viết chương trình nhập vào mảng các số nguyên Ghi ra màn hình các phần tử có giá trị lớn
nhất, nhỏ nhất của dãy số đó
ĐÁP ÁN - PHẦN TỰ LUẬN :
Bài 1.
Program tinh_tong;
Var i, S: Integer;
Begin
i:= 100;
S: = 0;
While i <=1000 do
S:= S + i;
i:= i + 1;
Writeln(‘ Tong cac so tu nhien tu 100 den 1000 la:’,S); Readln;
End.
Bài 2
Chương trình có thể được viết như sau:
Program tbc;
Var a: array[1 100] of integer;
i, n, tong: integer;
tbc: real;
Begin
Trang 4Write(‘Nhap vao so phan tu cua mang n= (<=100) :’); readln(n); Write(‘Nhap so nguyen:’);
For i:=1 to n do
Begin write(‘a[‘,i,’]:’); readln(a[i]); end;
Tong:=0;
For i:=1 to n do tong:=tong+a[i];
tbc:=tong/n;
Writeln(‘Trung binh cong cua mang la:’, tbc:10:2);
Writeln(‘ cac phan tu nho hon tbc la:’);
For i:=1 to n do
If a[i]<tbc then write(a[i]:5);
Readln;
End.
Bài 3.
Program Tong;
Uses crt;
Var S: real;
n, i: integer;
Begin
Clrscr;
Write(‘Nhap so n = ‘); Readln(n);
S:= 0;
For i:= 1 to n do S: = S + i;
Writeln(‘Tong can tim la: ‘, S:6:2);
Readln
End
Bài 4.
Program Tong_Nghich_Dao;
Uses crt;
Var S: real;
n, i: integer;
Begin
Clrscr;
Write(‘Nhap so n = ‘); Readln(n);
S:= 0;
For i:= 1 to n do S: = S + 1/i;
Writeln(‘Tong can tim la: ‘, S:6:2);
Readln
End