Tên chuẩn là tên đã được NNLT qui định dùng với ý nghĩa riêng xác định, có thể được định nghĩa lại 7: Câu lệnh nào sau đây là khai báo hằng trong Pascal A.. Const max 50; 8: Trong Ngôn n[r]
Trang 1I PHẦN THI TRẮC NGHIỆM(6điểm)
1: Chương trình viết bằng hợp ngữ không có đặc điểm nào trong các đặc điểm sau
A Dễ lập trình hơn so với ngôn ngữ bậc cao B Tốc độ thực hiện nhanh hơn so với chương trình được viết bằng ngôn ngữ bậc cao
C Gần với ngôn ngữ máy hơn D Sử dụng trọn vẹn các khả năng của máy tính
2: Hãy chọn phát biểu sai
A Các biến đều phải được khai báo và mỗi biến chỉ khai báo một lần B Một chương trình luôn luôn có hai phần: phần khai báo và phần thân
C Sau từ khóa Var có thể khai báo nhiều danh sách biến khác nhau D Chương trình dịch có hai loại: thông dịch và biên dịch
3: Trong Pascal, các đoạn chú thích được đặt giữa cặp dấu nào?
A { và } B [ và ] C ( và ) D /* và */
4: Chương trình dịch là chương trình có chức năng
A Chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy.
B Chuyển đổi chương trình được viết bằng ngôn ngữ lập trình Pascal thành chương trình thực hiện được trên máy
C Chuyển đổi chương trình được viết bằng ngôn ngữ máy thành chương trình thực hiện được trên máy
D Chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình hợp ngữ
5: Trong tin học, hằng là đại lượng
A Có giá trị thay đổi trong quá trong quá trình thực hiện chương trình B Có giá trị không thay đổi trong quá trình thực hiện chương trình
C Được đặt tên D Có thể thay đổi giá trị hoặc không thay đổi giá trị tùy thuộc vào bài tóan
6: Khái niệm nào sau đây là đúng về tên chuẩn
A Tên chuẩn là tên do người lập trình đặt B Tên chuẩn là các hằng hay biến
C Tên chuẩn là tên đã được NNLT qui định dùng với ý nghĩa riêng xác định, không được sử dụng với ý nghĩa khác
D Tên chuẩn là tên đã được NNLT qui định dùng với ý nghĩa riêng xác định, có thể được định nghĩa lại
7: Câu lệnh nào sau đây là khai báo hằng trong Pascal
A Const max = 50; B Const max := 50; C Const integer max = 50; D Const max 50;
8: Trong Ngôn ngữ lập trình Pascal, phần khai báo Tên Chương Trình được bắt đầu bằng từ khóa
9: Biến X có thể nhận các giá trị 1; 100; 150; 200 và biến Y có thể nhận các giá trị 1; 0,2; 0,3; 1,99 Khai báo nảo trong các khai báo sau là đúng?
A Var X, Y: byte; B Var X, Y: real; C Var X: real; Y: byte; D Var X: byte; Y: real;
10: Phạm vi giá trị của kiểu integer thuộc
A Từ 0 đến 255 B Từ -215 đến 215 -1 C Từ 0đến 216 -1 D Từ -231 đến 231 -1
11: Trong các kiểu dữ liệu sau kiểu nào cần bộ nhớ lớn nhất:
12: Tên nào không đúng trong ngôn ngữ Pascal
13: X := y ; có nghĩa
A Gán giá trị X cho B Gán giá trị y cho biến X C So sánh xem y có bằng X hay không D Ý nghĩa khác 14: Câu lệnh nào sau đây dùng để nhập một số từ bàn phím vào biến x
15: Trong Pascal, câu lệnh nào sau đây là sai
16: Cú pháp của thủ tục xuất dữ liệu ra màn hình
A Readln(<Danh sách kết quả ra>) B Writeln <Danh sách kết quả ra>; C Writeln(<Danh sách kết quả ra>); D Writeln(<Danh sách kết
quả ra>)
17: Trong ngôn ngữ lập trình Pascal, đoạn lệnh nào sau đây là đúng
A for i:= 1 to 5 do a:= a+ I B for i = 1 to 5 do a:= a+ i; C for i: = 1 to 5 do a:= a+ i D for i ;= 1 to 5 do a:= a+ i;
II PHẦN THI TỰ LUẬN(4điểm).
Tìm giá trị nhỏ nhất trong 4 số a, b, c, d (a, b, c,d được nhập từ bàn phím)
(Học sinh lam trực tiếp vào đề thi)
Đáp Án đề 001
I PHẦN THI TRẮC NGHIỆM.
II PHẦN THI TỰ LUẬN.
Tìm giá trị nhỏ nhất trong 4 số a, b, c, d (a, b, c,d được nhập từ bàn phím).
Trang 2Program TIM_SO_NHO_NHAT;
Uses crt;
Var a,b,c,d,min:real;
Begin
Clrscr;
Writeln('TIM SO NHO NHAT TRONG BON SO A, B, C, D');
Writeln(' -');
Write('Nhap a='); Readln(a);
Write('Nhap b='); Readln(b);
Write('Nhap c='); Readln(c);
Write('Nhap d='); Readln(d);
min:=a;
If b<min then min:=b;
If c<min then min:=c;
If d<min then min:=d;
Writeln('So nho nhat la:',min:4:2);
Readln;
End.
ĐỀ THAM KHẢO THI HỌC KỲ 1 MÔN TIN HỌC LỚP 11
I- Phần trắc nghiệm (6 điểm)
Câu 1 : Để đưa thông tin ra màn hình ta sử dụng thủ tục nào?
Câu 2 : Hãy chọn phát biểu đúng về biến trong ngôn ngữ lập trình?
A Biến là đại lượng có giá trị không đổi B. Biến phải được khai báo trước khi sử dụng
C Tên biến được đặt tùy ý D Tên biến có thể được bắt đầu bằng chữ số Câu 3 : Để nhập dữ liệu vào từ bàn phím cho 2 biến a,b ta dùng lệnh?
Câu 4 : Hãy chọn phát biểu đúng về hằng?
A Không cần khai báo khi dùng B. Đại lượng không đổi trong quá trình thực
hiện chương trình
Câu 5 : Đâu là câu lệnh gán đúng?
Câu 6 : Trong Pascal để thực hiện chương trình ta nhấn các phím?
Câu 7 : Khẳng định nào sau đây là sai?
A Phần tên chương trình không nhất thiết phải có B Phần khai báo có thể có hoặc không
C. Phần thân chương trình có thể có hoặc không D Phần khai báo thư viện có thể có hoặc không Câu 8 : Biểu thức ((25 mod 10) div 2) có kết quả là mấy?
Câu 9 : Trong Pascal, khai báo hằng nào sau đây sai?
Câu 10 : Tên trong ngôn ngữ lập trình Turbo Pascal là một dãy liên tiếp không quá bao nhiêu kí tự?
Câu 11 : Trong cấu trúc chương trình Pascal phần thân chương trình bắt đầu bằng….và kết thúc bằng…?
Câu 12 : Kết qủa của biểu thức quan hệ trong ngôn ngữ lập trình sẽ trả về giá trị gì?
Câu 13 : Hãy chọn biểu diễn tên đúng trong Pascal?
Câu 14 : Kết quả của biểu thức sqr((ABS(25-30) mod 4) ) là?
Trang 3Câu 15 : Kiểu nào sau đây có miền giá trị lớn nhất?
Câu 16 : Để khai báo biến, trong Pascal ta sử dụng từ khóa nào?
Câu 17 : Trong 1 chương trình, biến M có thể nhận các giá trị: 10, 15, 20, 30, 40, và biến N có thể nhận các giá trị:
1.0 , 1.5, 2.0, 2.5 , 3.0, khai báo nào trong các khai báo sau là đúng?
Câu 18 : Trong các tên sau, đâu là tên dành riêng (từ khóa) trong ngôn ngữ lập trình Pascal?
Câu 19 : Biểu diễn hằng nào trong TP sau đây là sai?
Câu 20 : Với lệnh nào sau đây dùng để in giá trị M(M kiểu số thực) ra màn hình với độ rộng là 5 và có 2 chữ số
phần thập phân ?
Câu 21 : Trong khai báo dưới đây bộ nhớ sẽ cấp phát cho các biến tổng cộng là bao nhiêu byte?
Var x,y,z : Integer; c,h: Char; ok: Boolean;
Câu 22 : Khai báo 3 biến A,B,C nào sau đây đúng cú pháp trong Pascal?
Câu 23 : Để biểu diễn √ x3, ta có thể viết?
Câu 24 : Điều kiện của cấu trúc câu lệnh rẽ nhánh là biểu thức
II - Phần tự luận (4 điểm):
Câu 1(2 đ): Xét chương trình Pascal s Program Tinh_gtri_bthuc;
BEGIN
Write(‘Nhap gia tri cua X’); Readln(x); {2}
Y=(((x+2)*x+3)*x+4)*x+5; {3}
END.
1) Hãy chỉ ra vị trí lỗi trong chương trình trên và sửa lại cho đúng?
2) Chương trình trên tính giá trị của biểu thức nào trong các biểu thức sau?
a) y=x+2x+3x+4x+5
b) y=(x+2)(x+3)(x+4)+5
c) y=x4+2x3+3x2+4x+5
A Phần lý thuyết trắc nghiệm: (7 điểm)
Câu 1: Phát biểu nào dưới đây là đúng?
A Trong các ngôn ngữ lập trình, dãy lệnh trong phạm vi được xác định bởi cặp begin và readln tạo
thành phần thân chương trình.
B Trong các ngôn ngữ lập trình, dãy lệnh sau phần khai báo tạo thành phần thân chương trình.
C Trong các ngôn ngữ lập trình, dãy lệnh trong phạm vi được xác định bởi cặp ngoặc { và } tạo thành phần thân chương trình.
D Trong các ngôn ngữ lập trình, dãy lệnh trong phạm vi được xác định bởi cặp dấu hiệu mở đầu và kết thúc tạo thành phần thân chương trình.
Câu 2: Trong Pascal, kiểu dữ liệu Word có phạm vi giá trị là:
C Từ 0 đến 216 + 1 D Từ 1 đến 216 – 1
Câu 3: Phát biểu nào dưới đây là sai?
A Trong một chương trình, phần khai báo có thể có hoặc không.
B Trong một chương trình, phần khai báo bắt buộc phải có.
C Trong một chương trình, phần thân chương trình nhất thiết phải có.
D Cả A, B, C đều sai.
Câu 4: Phát biểu nào dưới đây là đúng nhất?
Trang 4A Phần khai báo có thể khai báo cho: Tên chương trình, hằng, biến và chương trình con.
B Phần khai báo có thể khai báo cho: Tên chương trình, hằng, biến.
C Phần khai báo có thể khai báo cho: Chương trình con, hằng, biến.
D Phần khai báo có thể khai báo cho: Tên chương trình, thư viện, hằng, biến và chương trình con.
Câu 5: Trong Turbo Pascal, xác định tên đúng trong các tên sau:
Câu 6: Một ngôn ngữ lập trình có những thành phần cơ bản nào?
Câu 7: Phát biểu nào dưới đây là sai?
A Chương trình viết bằng ngôn ngữ lập trình bậc cao phải được chuyển đổi thành chương trình trên ngôn ngữ máy mới có thể thực hiện được;
B Trong biên dịch không có chương trình đích để lưu trữ và sử dụng lại về sau.
C Chương trình có chức năng chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy tính được gọi là chương trình dịch.
D Chương trình dịch có hai loại: thông dịch và biên dịch.
Câu 8: Trong một ngôn ngữ lập trình, bảng chữ cái là:
A Tập các kí tự không được phép dùng để viết chương trình.
B Tập các kí tự trong bảng mã ASCII.
C Tập các kí tự được dùng để viết chương trình.
D Tập các kí tự trong ngôn ngữ tự nhiên.
Câu 9: Hãy cho biết những biểu diễn nào dưới đây không phải là biểu diễn hằng trong Pascal?
Câu 10: Cho biểu thức dạng toán học sau: 1 2 √ a2+ b2; hãy chọn dạng biểu diễn tương ứng trong Pascal:
C 1/2 + sqrt(a*a+b*b) D 1/2 - sprt(a*a+b*b)
Câu 11: Trong Pascal, để đưa dữ liệu ra màn hình ta sử dụng thủ tục:
A write(<danh sách các giá trị >) B writeln(<danh sách kết quả ra >);
C Rewrite(<danh sách các biến >); D cả A,B và C đều đúng.
Câu 12: Trong Pascal, biểu thức (15 mod 3) bằng:
Câu 13: Trong ngôn ngữ lập trình Pascal, từ khóa VAR dùng để?
A Khai báo tên chương trình B Khai báo biến
Câu 14: Biến x nhận giá trị nguyên trong đoạn [-300 ; 300], kiểu dữ liệu nào sau đây là phù hợp nhất để
khai báo biến x ?
Câu 15: 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 :
C dấu chấm phẩy (;) D dấu hai chấm (:)
Câu 16: Trong Pascal, cú pháp để khai báo biến là:
A Var <danh sách biến>:<kiểu dữ liệu>; B <danh sách biến>: kiểu dữ liệu;
C Var <danh sách biến>; D Var <danh sách biến>=<kiểu dữ liệu>;
Câu 17: Trong Pascal, biểu thức (17 div 3) bằng:
Câu 18: Trong Turbo Pascal, để thoát khỏi chương trình:
A Nhấn tổ hợp phím Alt + E; B Nhấn tổ hợp phím Ctrl + E;
Câu 19: Trong Turbo Pascal, để thực hiện chương trình:
C Nhấn tổ hợp phím Ctrl + F7; d Nhấn tổ hợp phím Alt + F9;
Câu 20: Trong pascal, câu lệnh gán nào sau đây là sai:
Trang 5Câu 21: Trong Pascal, để nhập dữ liệu từ bàn phím ta sử dụng thủ tục:
A read(<danh sách biến vào >); B readln(<danh sách biến vào >);
C readlnn(<danh sách biến vào >); D Cả A và B đều đúng.
Câu 22: Cú pháp biểu diễn cấu trúc rẽ nhánh dạng thiếu là?
A Iff <điều kiện> then <câu lệnh 1> else <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> esle <câu lệnh 2>;
D If <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;
Câu 23: Phát biểu nào dưới đây là sai?
A Trong ngôn ngữ lập trình Pascal chỉ có cấu trúc lặp với số lần biết trước.
B Các ngôn ngữ lập trình đều có các câu lệnh để mô tả cấu trúc lặp.
C Cấu trúc lặp được phân biệt hai loại là lặp với số lần biết trước và lặp với số lần chưa biết trước.
D Tất cả đều sai.
Câu 24: Cú pháp khai báo cấu trúc lặp dạng tiến với số lần lặp biết trước là:
A For <biến đếm>:= <giá trị đầu> to <giá trị cuối> <Câu lệnh>;
B For <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <Câu lệnh>;
C For <biến đếm>:= <giá trị cuối> downto <giá trị đầu> <Câu lệnh>;
D For <biến đếm>:= <giá trị cuối> downto <giá trị đầu> do <Câu lệnh>;
Câu 25: Xét chương trình sau:?
Var a, b: integer;
Begin
a:=345; write(‘b=’);readln(b);
if a<b then write(‘Xin chao cac ban!’);
end.
Nhập giá trị bao nhiêu cho b để khi chạy chương trình nhận được kết quả ‘Xin chao cac ban!’?
Câu 26: Xét chương trình sau:
Var a, b: integer;
Begin
a:=575; b:=678;
if a<b then write(1);
if a=b then write(0);
if a>b then write(2);
end.
Kết quả của chương trình trên là:
Câu 27: Xét chương trình sau:
Var i, s: integer;
Begin
S:=0;
For i:=1 to 5 do s:=s+i;
Writeln(s);
End.
Kết quả của chương trình trên là:
Câu 28: Xét chương trình sau:
Var i, s: integer;
Begin
S:=1;
For i:=1 to 5 do s:=s*i;
Writeln(s);
End.
Kết quả của chương trình trên là:
KIỂM TRA HỌC KỲ I
Trang 6Chọn câu trả lời đúng nhất
Câu 1 Hãy chọn cú pháp khai báo biến đúng:
A Var <danh sách biến> <kiểu dữ liệu>; C Var <danh sách biến> : <kiểu dữ liệu>;
B Var <danh sách biến> = <kiểu dữ liệu>; D <Danh sách biến> : <kiểu dữ liệu>;
Câu 2 Tổ hợp phím Ctrl + F9 có chức năng :
A Dịch chương trình B Lưu chương trình
C Thực hiện chương trình D Mở chương trình.
Câu 3 Thủ tục Writeln dùng để :
A Đưa dữ liệu ra màn hình, con trỏ sẽ chuyển xuống dòng tiếp theo
B Đưa dữ liệu ra màn hình, con trỏ không chuyển xuống dòng tiếp theo.
C Nhập dữ liệu từ bàn phím, con trỏ chuyển xuống dòng tiếp theo
D Nhập dữ liệu từ bàn phím, con trỏ sẽ không xuống dòng
Câu 4 Xét khai báo sau đây trong Pascal:
Var X,Y,Z : integer;
C : char;
I,J : real;
N : word;
Bộ nhớ cấp phát cho 7 biến này là
A 21 byte B 22 byte C 23 byte D 24 byte
Câu 5 Trường hợp nào dưới đây không phải là tên biến trong Pascal?
A Giai_Ptrinh_Bac_2; B Ngaysinh; C Noi sinh; D Vidu_2;
Câu 6 Cho khai báo biến sau đây (trong Pascal):
Var m,n :integer;
x,y :real;
lệnh gán nào sau đây là sai?
A m:=- 4 ; B n:=3.5 ; C x:=6 ; D y:=+10.5 ;
Câu 7 Trong Pascal, biểu thức (20 div 3+18 mod 4) bằng
A 8 B 10 C 6 D 7
Câu 8 Biểu thức: 25 div 3+5/2*3 cho kết quả nào dưới đây
A 8.0 B 15.5 C 15.0 D 9.5
Câu 9 Hãy cho biết câu lệnh đưa ra màn hình câu: “ Xin chao” và con trở đặt ở cùng hàng với câu đó
(không xuống hàng).
A write( ‘Xin chao’); B writeln(‘Xin chao’); C read(Xin chao) ; D readln(‘Xin chao’);
Câu 10 Hãy cho biết đoạn chương trình sau có mấy lỗi
Var x,y:integer;
Kq:boolean;
Begin
Trang 7X:=3; y:=2;
If x>y then kq=true; else kq:=false;
End.
A 5 B 3 C 4 D 2
Câu 11 Cho x và y là biến đã khai báo kiểu thực, câu lệnh nào sau đây là đúng?
A readln(x,5); B.readln(‘x=’, x); C readln(x:5:2); D readln(x,y);
Câu 12: Trong ngôn ngữ lập trình Pascal, để đóng cửa sổ chương trình ta nhấn tổ hợp phím
A Alt+X B Alt+F3 C Ctrl+F3 D Alt+F5
Câu 13 Với cấu trúc rẽ nhánh IF< Điều kiện > THEN < Câu lệnh >, Câu lệnh đứng sau THEN được
thực hiện khi
A Điều kiện được tính toán xong
B Điều kiện được tính toán xong và cho giá trị đúng
C Điều kiện không tính được
D Điều kiện được tính toán và cho giá trị sai
Câu 14: Trong ngôn ngữ lập trình Pascal, câu lệnh gán có cú pháp như thế nào?
A <biểu thức>:=<tên biến>; C.(biểu thức):=(tên biến);
B <tên biến>:=<biểu thức>; D.(tên biến):=(biểu thức);
Câu 15 Với cấu trúc rẽ nhánh IF <Điều kiện > THEN < Câu lệnh 1> ELSE < Câu lệnh 2>, Câu
lệnh 2 không được thực hiện khi
A Câu lệnh 1 không được thực hiện, biểu thức điều kiện sai
B Câu lệnh 1 được thực hiện, biểu thức điều kiện đúng
C Biểu thức điều kiện sai
D Biểu thức điều kiện đúng
Câu 16 Cho biết kết quả của đoạn chương trình sau
N:=5;tong:=0;
For i:=1 to n do If ( i mod 3=0) then Tong:=tong+i; Write( ‘ tong la ’, tong);
A 5 B 10 C 3 D 15
Câu 17: cho đoạn chương trình sau:
x:=10; y:=30; writeln(‘x+y’); kết quả màn hình sẽ là gì
A x+y B 10 C 20 D 30
Câu 18 Hãy cho biết trong các cấu trúc sau đây, đâu là cấu trúc câu lệnh if - then dạng đủ?
A begin <Câu lệnh> end; B If <điều kiện> then <Câu lệnh>;
C If <điều kiện> <Câu lệnh>; D If <điều kiện> then <Câu lệnh 1> else <Câu lệnh 2>;
Câu 19 : Trong ngôn ngữ lập trình Pascal, cho đoạn chương trình sau
Var a,b :byte ;
Begin
a :=5 ; b :=3
a :=b ; b :=a ;
Trang 8writeln(b,a) ;
end.
Trên màn hình sẽ có kết quả là
A 33 B.35 C 53 D 55
Câu 20 Với S có giá trị 7.345 Kết quả nhận được sau khi thực hiện câu lệnh
Writeln(‘ Tong S=’, S:6:2); là
A Tong S=7.34 B Tong S=6:2 C Tong S= 7.35 D Tong S= S:6:2
Câu 21 Trong pascal câu lệnh ghép có dạng:
A Begin < Các câu lệnh > end; C Begin < Các câu lệnh > end.
B Begin < Các câu lệnh >; D Begin < Câu lệnh 1> end <Câu lệnh 2>;
Câu 22 Hãy cho biết đâu là lệnh lặp bằng câu lệnh for - do để tính tổng S=1+2+3+…+10?
A S:=0; for i:=1 to 10 do begin S:=S+i; i:=i+1; end;
B S:=0;for i:=1 to 10 do S:=i+1;
C S:=0;for i:=1 downto 10 do S:=S+i;
D S:=0;for i:=10 downto 1 do S:=S+i;
Câu 23: Trong các kiểu dữ liệu dưới đây, kiểu nào không phải là kiểu nguyên
A byte B extended C word D longint
Câu 24 Thực hiện đoạn chương trình sau đây:
a:=2;
while a<15 do a:=a*2; write( ‘a=’, a);
Giá trị nào dưới đây là giá trị của a được hiện trên màn hình:
A 8 B 16 C 32 D 2
Câu 25 Trong ngôn ngữ lập trình Pascal, Cho đoạn chương trình sau:
s:=0;
For i:=5 downto 1 do
If (i mod 2 =0) then s:=s+i*i else s:=s+i;
Sau khi thực hiện xong đoạn chương trình trên, thì biến s mang giá trị là:
A 29 B 45 C 55 D 39
Câu 26: Trong ngôn ngữ lập trình Pascal, để lưu chương trình vào đĩa ta nhấn phím
A F2 B F3 C F9 D F5
Câu 27 Khai báo nào trong các khai báo sau là hợp lệ ?
A Const n : real; B Const : n =10; C Const n=10; D Const n:=10; Câu 28 Biểu thức sqrt(x+y)/x-sqr(x-y)/y viết trong toán học sẽ là biểu thức nào ?
A ¿ ¿ B √x + y x − ( x − y y )2
C √ x + y
x − ¿ ¿ D √ x + y x − ( x − y y )2
Câu 29 Để khai báo cú pháp lặp với số lần biết trước ở dạng lặp tiến, ta dùng cú phá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>;
Trang 9C For <biến đếm>:= <giá trị đầu> downto <giá trị cuối> do <câu lệnh>;
D For <biến đếm>:= <giá trị cuối> downto <giá trị đầu> do <câu lệnh>;
Câu 30 Kiểu dữ liệu nào có phạm vi giá trị từ 0 đến 28−1 trong các kiểu dữ liệu sau ?
A Kiểu LongInt B Kiểu Integer
C Kiểu Byte D Kiểu Word
Dap an