I. Trắc nghiệm: (3điểm) . 
Em hãy khoanh tròn chữ cái đứng trước đáp án đúng
Câu 1. Trong các từ sau, từ nào không phải từ khóa?
A. CT_Mot;         
B. begin;     
C. Program ;         
D. end.
Câu 2. Ngôn ngữ dùng để viết các chương trình máy tính là:          
A. ngôn ngữ dịch;             
B. chương trình;    
C. ngôn ngữ lập trình;   
D máy in.               
Câu 3. Các kí hiệu dùng để kí hiệu các phép toán trong pascal là: 
A. +,-,*,/;                       
B. +,-,x,/;              
C. +,-,*, :              
D. =,-, mod, div.
Câu 4. Cấu trúc chung của chương trình gồm những phần nào:
A. Phần thân;              
B. Phần khai báo;    
C. Phần mở bài;   
D. cả A và B đúng.
Câu 5. Sau khi thực hiện các câu lệnh sau, giá trị của z bằng bao nhiêu  x :=2 ; y :=5 ; z :=x+y ;
A. 0;                               
B. 7;                     
C. -7;                   
D. 21.
Câu 6. Trong các tên sau đây, tên nào hợp lệ trong pascal:
A. Mayin;                                
B. 8a;                             
C. Lop 8a;           
D. uses
Câu 7. Trong các khai báo sau đây, khai báo nào đúng trong pascal:
Const x ;real ;                
B. var x:integer;      
C.var r=30 ;         
D. var hs :real 
Câu 8. Trong pascal, phép so sánh nào sau đây là đúng
A. 5<7;                          
B .5>7;                    
C. 5=7;                
D. 12>=15
Câu 9. Kết quả của phép toán 22 mod 4 là:
A. 2;                               
B. 4;                         
C.6;            
D. 5.5
Câu 10. Cú pháp lệnh gán cho biến trong pascal là :
A.  <tên biến>:<biểu thức>;                                 
B.  <tên biến>=<biểu thức>;
C.  <tên biến>:=<biểu thức>;.                              
D.  <biểu thức>:<tên biến>;
Câu 11. Cú pháp khai báo biến trong pascal là :
A.  var<tên biến>:<kiểu dữ liệu>;               
B.  var<tên biến>:=<kiểu dữ liệu>;
C.  var<tên biến>=<kiểu dữ liệu>;              
D.  <biểu thức>:<tên biến>;
Câu 12. Cú pháp câu lệnh điều kiện dạng thiếu là :
A.  if<điều kiện>then<câu lệnh>;               
B.  if<điều kiện>to<câu lệnh>;
C.  if<điều kiện>do<câu lệnh>;                            
D.  then<điều kiện>if<câu lệnh>;
II. Tự luận: (7 điểm)
Câu 1 (4 điểm). Hãy xác định bài toán, mô tả thuật toán và viết  chương trình nhập vào 1 số nguyên từ bàn phím, cho biết số nhập vào là số chẵn hay số lẻ . (Dùng If ... Then ... Else). 
Câu 2 (3 điểm) . Viết chương trình nhập 2 số a; b và tính: A = 3.a+b.
ĐÁP ÁN VÀ BIỂU ĐIỂM
Câu 1. (4 điểm)
 Xác định bài toán, mô tả thuật toán, viết  chương trình nhập vào 1 số nguyên từ bàn phím, 
cho biết số nhập vào là số chẵn hay số lẻ .
* Xác định bài toán: (1đ)
- Nhập vào 1 số nguyên từ bàn phím.
- Cho biết số nhập vào là số chẵn hay số lẻ .
*Thuật toán: (1đ)                                        
- Nhập số nguyên a.
- Nếu a chia 2 dư 0 thì a là số chẵn ngược lại a là số lẻ.
- Kết thúc.                                                   
* Chương trình: (1đ)
Program sochansole;
Use crt;
Var a:integer;
Begin
Clrscr;
Write(‘nhap so nguyen a:’); readln(a);
If (a mod 2 = 0) then writeln(‘ a là số chẵn’) else writeln(‘ a là số lẻ’);
Readln;
End.
Câu 2. (3 điểm)
Viết chương trình nhập điểm của 2 số a và b. Tính: 
Tính A= a+b và xuất kết quả ra màn hình.
Giải:
Program Tinh;
Use crt;
Var a,b,A:real;
Begin
Clrscr;
Write(‘nhap hai so a,b:’); readln(a,b);
A: = 3*a+b;
Writeln(‘ A=’,A) ;
Readln;
End.