You are on page 1of 7

TRƯỜNG THPT THÁI PHIÊN ĐỀ CƯƠNG ÔN TẬP TIN HỌC 11

TỔ TIN HỌC
HỌC KỲ I NĂM HỌC 2022-2023
A. NỘI DUNG.
Chương I.
1. Khái niệm về lập trình.
2. Các thành phần của Ngôn ngữ lập trình? Cú pháp là gì? Ngữ nghĩa là gì?
3. Các khái niệm tên, tên chuẩn, tên dành riêng, ví dụ một số tên chuẩn và tên dành riêng , quy
tắc đặt tên.
4. Phân biệt được tên biến và hằng đúng sai trong Ngôn ngữ lập trình.
5. Khái niệm hằng và biến.
Chương II.
1. Cấu trúc chung của một chương trình?
2. Các thành phần của một chương trình đơn giản.
- Cú pháp khai báo tên chương trình, ví dụ.
- Cú pháp khai báo thư viện, ví dụ.
- Cú pháp khai báo hằng, ví dụ.
3. Một số kiểu dữ liệu chuẩn: Nguyên, thực, kí tự, lôgic.
4. Cú pháp để khai báo biến, thực hiện được khai báo các biến.
5. Biết sử dụng và ý nghĩa các phép toán trong pascal: +, -, *, /, div, mod, >, <,>=,<=,<>,not, or,
and.
6. Viết được biểu thức từ toán học sang pascal và ngược lại.
7. Các hàm chuẩn trong Pascal.
8. Viết được một số biểu thức quan hệ và biểu thức logic.
9. Thủ tục nhập dữ liệu từ bàn phím (read, readln), thủ tục xuất dữ liệu ra màn hình (write,
writeln).
10. Các thao tác để lưu chương trình, mở chương trình, dịch chương trình? Chạy chương trình?
- Lưu chương trình: nhấn F2
- Mở chương trình đã có: F3
- Dịch chương trình: Alt+F9
- Chạy chương trình: Ctrl+F9
- Đóng cửa sổ chương trình: Alt+F3
- Thoát khỏi phần mềm: Alt+X
Chương III.
1. Cú pháp và cách hoạt động của câu lệnh rẽ nhánh.
2. Cú pháp và cách hoạt động của câu lệnh rẽ lặp.
3. Câu lệnh ghép.
4. Viết được một số câu lệnh rẽ nhánh:
- Tìm số lớn nhất trong 2 số a và b.
- Kiểm tra số A có phải là số âm hay không.
- Kiểm tra số M có chia hết cho N hay không?
- Viết câu lệnh rẽ nhánh để tính giá trị của biểu thức với những điều kiện khác nhau.
5. Viết được một số câu lệnh lặp.
- Tính tổng các số nguyên dương từ 1 đến n.
- Tính tổng các số nguyên chẵn từ 1 đến n.
- Tính tích các số nguyên dương từ 1 đến n.
- Tính tổng bình phương từ 1 đến n.
Một số bài tập:
1. Viết chương trình nhập từ bàn phím 2 số nguyên a, b đưa ra màn hình giá trị lớn nhất trong
hai số đó.
2. Nhập vào 3 số a, b, c bất kì. Kiểm tra xem nó có thể là độ dài ba cạnh của một tam giác hay
không, nếu có thì in ra màn hình ‘La ba canh cua mot tam giac’.
3. Lập trình nhập từ bàn phím các số nguyên dương N và k (k<N) và kiểm tra xem N có chia
hết cho k hay không.
Chương IV
1. Khái niệm mảng 1 chiều.

1
2. Cách khai báo biến mảng 1 chiều, cách truy xuất 1 phần tử của mảng.
3. Viết được một số câu lệnh có sử dụng kiểu mảng 1 chiều.
- Cho số nguyên dương N và dãy A gồm N số nguyên A 1, A2, …, AN. Hãy viết câu lệnh
(trong ngôn ngữ lập trình Pascal) đưa ra màn hình các phần tử của dãy A sao cho mỗi
phần tử trên 1 dòng.
- Cho số nguyên dương N và dãy A gồm N số nguyên A 1, A2, …, AN. Hãy viết câu lệnh
(trong ngôn ngữ lập trình Pascal) đưa ra màn hình các phần tử chẵn của dãy A sao cho
mỗi phần tử trên 1 dòng.
B. CẤU TRÚC ĐỀ THI:
Đề thi (10 điểm): gồm 2 Phần
1.Phần trắc nghiệm: gồm 28 câu (7 điểm)
2.Phần tự luận: 3 câu (3 điểm)
- Viết được biểu thức (số học, quan hệ, lôgic) từ toán học sang pascal.
- Viết câu lệnh có sử dụng cấu trúc lặp
- Viết chương trình sử dụng cấu trúc rẽ nhánh.

2
Câu hỏi trắc nghiệm
Câu 1. Cho một chương trình còn lỗi như sau:
Var A, b, c : real ;
A := 1; b := 1; c := 5 ;
d := b*b – 4*a*c ;
writeln(‘d = ’,d); Readln;
End.
Tìm kết luận đúng nhất về lỗi của chương trình trong các kết luận sau :
A. Thiếu Begin B. Không khai báo biến d
C. Thiếu Begin và không khai biến d C. Không có End.
Câu 2. Thực hiện chương trình Pascal sau đây:
Var A, N : integer ;
BEGIN
N := 645 ;
A := N mod 10 ;
N := N div 10 ;
A := A + N div 10 ;
A := A + N mod 10 ;
Write(A);
END.
Ta thu được kết quả nào ?
A. 6; B. 5; C. 15; D. 64;
Câu 3. Những biểu thức nào sau đây có giá trị TRUE ?
A. ( 20 > 19 ) and ( ‘B’ < ‘A’ );
B. ( 4 > 2 ) and not( 4 + 2 < 5 ) or ( 2 > 4 div 2 );
C. ( 3 < 5 ) or ( 4 + 2 < 5 ) and ( 2 < 4 div 2 );
D. 4 + 2 * ( 3 + 5 ) < 18 div 4 * 4 ;
Câu 4. Cho chương trình viết bằng PASCAL sau đây:
PROGRAM giaiPT;
VAR A, B, C : real; DELTA, X1, X2 : real;
BEGIN
write(‘ Nhap cac he so A, B, C : ’);
readln(A, B, C);
DELTA := B*B – 4*A*C;
if DELTA > 0 then
begin
X1 := ( – B – SQRT(DELTA) ) / (2*A);
X2 := – B / A – X1;
writeln(‘ X1 = ’, X1);
writeln(‘ X2 = ’, X2);
end;
readln
END.
Hãy chọn phát biểu sai trong các phát biểu sau đây :
A. Đây là chương trình giải phương trình bậc hai nhưng chưa xét hết các trường hợp;
B. Đây là chương trình giải phương trình bậc hai nhưng không đưa ra thông báo gì khi
chương trình có nghiệm kép;
C. Đây là chương trình giải và thông báo nghiệm của một phương trình bậc hai nếu phương
trình đó có nghiệm;
D. Đây là chương trình giải phương trình bậc hai, nhưng không đưa ra thông báo gì khi
phương trình vô nghiệm.
Câu 5. Xét chương trình Pascal cho khung dưới đây:
PROGRAM vi_du;
BEGIN
Writeln(‘Xin chao cac ban’);

3
Writeln(‘Moi cac ban lam quen voi Pascal’);
END.
Chọn phát biểu sai trong các phát biểu dưới đây :
A. Khai báo tên chương trình là vi du B. Khai báo tên chương trình là vi_du
C. Thân chương trình có hai câu lệnh D. Chương trình không có khai báo hằng
Câu 6. Trong những khai báo sau, khai báo nào đúng trong Turbo Pascal:
A. Var a, b, c:= integer; B. Var a,b: integer;
C. Var ab e: integer; D. Var a,b,3e: integer
Câu 7. Khai báo nào sau đây là khai báo thư viện trong pascal?
A. Const math; B. Var math;
C. Uses math; D. Program math;
Câu 8. Cho biến y chỉ nhận giá trị nguyên từ -10 3 đến 104. Ta nên khai báo biến y có kiểu dữ
liệu gì thì tối ưu nhất?
A. Real B. Word C. Byte D. Integer
Câu 9. Để tính diện tích của hình tròn bán kính R thì nên chọn khai báo S có kiểu dữ liệu gì?
A. Real B. Byte C. Integer D. Word
Câu 10. Trong NN lập trình Pascal, phép toán MOD với số nguyên có tác dụng gì?
A. Chia lấy phần nguyên B. Chia lấy phần dư
C. Làm tròn số D. Thực hiện phép chia
Câu 11. Biểu thức trong toán học ( 7≤ x hoặc x -7) và x 3 biểu diễn trong Pascal nào sau
đây là đúng:
A.( 7<= x) or ( x<=7) and ( x<>3) B.( 7<= x) or ( -7 =< x) and ( x<>3)
C.( 7<= x) or ( x<= -7) and ( x<>3) D.( x <= 7) or ( -7 <= x) and ( x<>3)
Câu 12. Để tính diện tích hình thang thì lệnh gán nào sau đây là đúng?
A. S:=(a+b)*h/2; B. S:=(a+b)*(h/2);
C. S = (a+b)*h/2; D. S :(a+b)*(h/2);
Câu 13. Để nhập giá trị vào cho x,y ta sử dụng lệnh nào sau đây?
A. Readln(x,y); B. Writenl(x,y); C. Readnl(x,y); D. Write(x,y);
Câu 14. Trong Pascal, biểu thức (27 mod 4) bằng:
A. 2 B. 0 C. 1 D. 3
Câu 15. Lệnh Write('5+10=',5+10); in ra màn hình:
A. 15=15 B. 15=5+10
C. 5+10=15 D. 5+10=5+10
Câu 16. Cho chương trình chạy được:
var x,y: integer;
begin
x:=1; y:=2;
x:=y - x;
y:=2*x+1;
write(y);
end.
Kết quả ra bao nhiêu?
A. 3 B. 5 C. 7 D. 9
Câu 17. Lệnh sau cho kết quả S như thế nào nếu x =16.
If (x mod 3 = 0) and (x>0) then S:=True else S:=False;
A. S = True B. S = False C. S = 0 D. S = 1
Câu 18. Trong Turbo Pascal, để lưu chương trình ta dùng phím.
A. Nhấn F2 B. Shift + F2 C. Ctrl+F2 D. Alt + F2
Câu 19. Xét biểu thức lôgic: (n >0) and (n mod 2 = 0). Khẳng định nào sau đây là đúng?
A. Kiểm tra n có chia hết cho 2 không B. Kiểm tra xem n có là một số dương không
C. Kiểm tra xem n có là số dương chẵn không D. Kiểm tra n là một số nguyên chẵn không

4
Câu 20. Cấu trúc một chương trình được chia làm mấy phần ?
A. 1 phần B. 3 phần C. 2 phần D. 4 phần
Câu 21. Trong Turbo Pascal, hàm nào dưới đây biểu diễn giá trị tuyệt đối.
A. sqrt() B.sqr() C. abs() D. ln()
Câu 22. Biến X nhận giá trị là 0.7 .Khai báo nào sau đây là đúng.
A. var X: integer; B. var X: real; C. var X: char; D. var X: longint;
Câu 23. Lệnh Write( ‘5 x 4 = ‘ , 5*4 ) ; viết gì ra màn hình:
A. 5 x 4 = 20 B. 5 x 4 = 5*4 C. 20 = 20 D. 20 = 5 * 4
Câu 24. Cho biểu thức (a mod 3 = 0) and (a mod 4 = 0). Giá trị của a là
A. 24 B. 16 C. 15 D. 21
Câu 25. Danh sách các biến là một hoặc nhiều tên biến, các tên biến được viết cách nhau bởi:
A. dấu chấm phẩy (;). B. dấu phẩy (,) C. dấu chấm (.) D. dấu hai chấm (:)
Câu 26. Trong Turbo Pascal, để thoát khỏi chương trình:
A. Nhấn tổ hợp phím Alt + X; B. Nhấn tổ hợp phím Ctrl + E;
C. Nhấn tổ hợp phím Ctrl + X; D. Nhấn tổ hợp phím Alt + E;
Câu 27. Trong ngôn ngữ lập trình Pascal, từ khoá CONST dùng để
A. khai báo tên chương trình. B. khai báo hằng.
C. khai báo biến. D. khai báo thư viện.
Câu 28. Cú pháp lệnh lặp For – do dạng tiến:
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. 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> downto <Giá trị cuối> do <câu lệnh>;
Câu 29. Phương án nào dưới đây là khai báo mảng hợp lệ?
A. Var mang : ARRAY[0..10] OF INTEGER; 
B. Var mang : ARRAY[0..10] : INTEGER;
C. Var mang : INTEGER OF ARRAY[0..10];
D. Var mang : ARRAY(0..10) : INTEGER;
Câu 30. “Chương trình dịch có chức năng chuyển đổi chương trình từ … sang …”. Hãy chọn
phương án điền đúng vào các chỗ ba chấm (…) trong các phương án sau:
A. Ngôn ngữ máy, ngôn ngữ tiếng Anh.
B. Ngôn ngữ máy, ngôn ngữ lập trình bậc cao
C. Ngôn ngữ lập trình bậc cao, ngôn ngữ máy
D. Ngôn ngữ lập trình bậc cao, ngôn ngữ tiếng Anh
Câu 31. Trong ngôn ngữ lập trình Pascal, kết quả đưa ra màn hình của chương trình sau là?
Var X: real;
Begin
X:=12;
Write(‘Ket qua la : ’);
Readln;
End.
A. Ket qua la : 1.2000000000E+01 B. Ket qua la : 12

5
C. Chương trình báo lỗi D. Ket qua la :
Câu 32. Phát biểu nào dưới đây về kiểu mảng một chiều:
A. Là một tập hợp các số nguyên
B. Độ dài tối đa của mảng là 255
C. Là một dãy hữu hạn các phần tử cùng kiểu
D. Mảng không thể chứa kí tự
Câu 33. Trong ngôn ngữ lập trình Pascal, câu lệnh ghép được sử dụng khi
A. Cần một câu lệnh thực hiện một công việc
B. Tách một câu lệnh ra nhiều câu lệnh
C. Gộp nhiều câu lệnh thành một câu lệnh
D. Cần nhiều câu lệnh thực hiện một công việc
Câu 34. Cho đoạn chương trình:
S:= 0; n:= 1;
while … do
Begin
S:= S + n;
n:= n + 1;
end;
Tính tổng S = 1 + 2 + 3 + … + 100, điều kiện nào sau đây cần điền vào chỗ ba chấm
(…) giữa câu lệnh while … do?
A. n >= 100 B. n < 100 C. n > 100 D. n <= 100
Câu 35. Khi muốn lưu điểm trung bình môn học là chữ số có phần thập phân, cần khai báo
biến kiểu dữ liệu nào dưới đây?
A. Real B. Char C. Boolean D. Word
Câu 36. Cách viết nào dưới đây là cách viết ĐÚNG của câu lệnh rẽ nhánh dạng đủ trong ngôn
ngữ lập trình Pascal?
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 1> else <Câu lệnh 2>.
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 1> esle <Câu lệnh 2>;
Câu 37. Trong quá trình thực hiện chương trình, biến có đặc điểm nào sau đây?
A. Giá trị không thay đổi B. Giá trị có thể được thay đổi
C. Dùng để thay thế hằng D. Dùng để thay thế biểu thức
Câu 38. Trong Turbo Pascal, để chạy chương trình:
A. Nhấn tổ hợp phím Ctrl + F9; B. Nhấn tổ hợp phím Shift + F9;
C. Nhấn tổ hợp phím Ctrl + F7; D. Nhấn tổ hợp phím Alt + F9;
Câu 39. Thế nào là khai báo biến mảng gián tiếp?
A. Khai báo mảng của các bản ghi B. Khai báo mảng xâu kí tự
C. Khai báo mảng hai chiều D. Khai báo thông qua kiểu mảng đã có
Câu 40. Phần thân chương trình được đặt giữa cặp từ khóa nào sau đây?
A. End … Begin B. Start … Finish
C. Begin … End. D. Start … Stop

6
7

You might also like