d) Một đại lượng chuẩn do ngôn ngữ lập trình đó quy định có giá trị không đổi. Cấu trúc tổng quát của một chương trình gồm: a) Phần khai báo biến và các câu lệnh... b) Phần khai hằng và [r]
Trang 1BÀI 1 – KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
1) Lập trình là:
a) Sử dụng giải thuật để giải các bài toán.
b) Dùng máy tính để giải các bài toán.
c) Sử dụng ngôn ngữ lập trình Pascal.
d) Sử dụng các dữ liệu và các câu lệnh của ngôn ngữ lập trình cụ thể để giải bài toán trên máy tính.
2) Chươngt trình dịch là:
a) Chương trình dịch ngôn ngữ tự nhiên ra ngôn ngữ máy.
b) Chương trình dịch ngôn ngữ máy ra ngôn ngữ tự nhiên.
c) Chương trình dịch 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ụ thể.
d) Chương trình có chức năng chuyển đổi chương trình viết bằng ngôn ngữ máy thành ngôn ngữ
bậc cao
3) Trong ngôn ngữ lập trình chương trình dịch nhận đầu vào là
a) Chương trình viết bằng ngôn ngữ máy
b) Chương trình viết bằng ngôn ngữ bậc cao.
c) Chương trình đích
d) Chương trình viết bằng ngôn ngữ bậc thấp
4) Trong các phần mềm sau, phần mềm nào không phải là ngôn ngữ lập trình?
a) Fortran
b) Algol
c) PowerPoint.
d) Cobol
5) Có mấy loại chương trình dịch?
a) 1
b) 2
c) 3
d) 4
6) Ngôn ngữ lập trình Pascal là:
a) Ngôn ngữ bậc thấp
b) Ngôn ngữ máy
c) Ngôn ngữ bậc cao.
d) Ngôn ngữ biên dịch
7) Chương trình viết bằng ngôn ngữ bậc cao có ưu điểm
a) Khai thác được tối đa các khả năng của máy
b) Tốc độ thực hiện nhanh hơn so với chương trình viết bằng ngôn ngữ máy
c) Viết dài và mất nhiều thời gian hơn so với chương trình viết bằng ngôn ngữ máy
d) Ngắn gọn, dẽ hiểu, dễ hiệu chỉnh, và nâng cấp, không phụ thuộc vào loại máy.
8) Quy trình để dịch một chương trình ra dạng ngôn ngữ máylà:
a) Chương trình dịch → Chương trình đích → Chương trình nguồn
b) Chương trình nguồn → Chương trình dịch → Chương trình đích.
c) Chương trình dịch → Chương trình đích → Chương mã máy
d) Chương trình đích → Chương trình nguồn → Chương trình mã máy
BÀI 2 – CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH
1) Một ngôn ngữ lập trình có những thành phần cơ bản nào?
a) Cú pháp và bảng chữ cái
Trang 2b) Cú pháp và ngữ nghĩa.
c) Bảng chữ cái, cú pháp và ngữ nghĩa.
d) Bảng chữ cái và ngữ nghĩa
2) Trong một ngôn ngữ lập trình cú pháp dùng để?
a) Biên soạn chương trình
b) Biên dịch chương trình
c) Xác định các thao tác thực hiện
d) Làm quy tắc viết chương trình.
3) Trong một ngôn ngữ lập trình, hằng là:
a) Một giá trị xác định
b) Một biểu thức số học
c) Một biểu thức logic
d) Là các đại lượng có giá trị không thay đổi trong quá trình thực hiện chương trình.
4) Trong các biểu diễn hằng dưới đây, biểu diễn nào đúng?
a) True; 123.456; A23
b) False; ‘Pascal’; 3.14
c) 3.14; E1.6E-5; ‘45’
d) -35; “bai tap”; true
5) Trong ngôn ngữ lập trình, biến là:
a) Một đại lượng do người sử dụng đặt.
b) Đại lượng được đặt tên, dùng để lưu trữ giá trị và giá trị có thể thay đổi trong quá trình thực hiện chương trình.
c) Một đại lượng do người dùng đặt có giá trị không đổi.
d) Một đại lượng chuẩn do ngôn ngữ lập trình đó quy định có giá trị không đổi.
BÀI 3 – CẤU TRÚC CHƯƠNG TRÌNH
1) Cấu trúc tổng quát của một chương trình gồm:
a) Phần khai báo biến và các câu lệnh
b) Phần khai hằng và khai báo biến
c) Phần khai báo và phần thân chương trình.
d) Phần thân chương trình và các chú thích
2) Trong các phát biểu sau, phát biểu nào 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 thân chương trình có thể có hoặc không
c) Trong một chương trình phần thân chương trình bắt buộc phải có.
d) Trong một chương trình ít nhất phải có một phần là phần thân chương trình
3) Cú pháp để khai báo tiêu đề một chương trình Pascal là:
a) Program;
b) <Tên chương trình>;
c) Prgoram <Tên chương trình>;
d) <Tên chương trình> Prgoram;
4) Cú pháp để khai báo sử dụng thu viện trong chương trình Pascal là:
a) Uses <stdio.h>;
b) Uses <tên thư viện>;
c) Uses;
d) Program <tên thư viện>;
5) Trong các khai báo sau, khai báo nào đúng?
a) Const a;
Trang 3b) Const pi=3.14;
c) Const 3.14;
d) Const họten:=’Tran Khoi Lua’;
BÀI 4 - MỘT SỐ KIỂU DỮ LIWUJ CHUẨN
1) Trong ngôn ngữ lập trình Pascal, kiểu dữ liệu nào trong các kiểu sau có miền giá trị lớn nhất?
a) Byte
b) Word
c) Integer
d) Longint.
2) Đối với kiểu dữ liệu Real bộ nhớ lưu trữ một giá trị là:
a) 8 byte
b) 6 byte.
c) 4 byte
d) 2 byte
3) Đối với kiểu dữ liệu Char có phạm vi giá trị là:
a) 127 kí tự
b) 255 kí tự
c) 256 kí tự.
d) 1024 kí tự
4) Trong bảng mã ASCII kí tự ‘A’ có giá trị là:
a) 32
b) 45
c) 55
d) 65.
5) Trong bảng mã ASCII dấu cách được gõ bằng phím Space có giá trị là:
a) 22
b) 32.
c) 42
d) 52
BÀI 5 – KHAI BÁO BIẾN
1) Trong ngôn ngữ lập trình Pascal, hằng và biến khác nhau cơ bản như thế nào? Hãy chon phương án đúng nhất trong các phương án sau:
a) Hằng không cần khai báo, còn biến phải khai báo
b) Hằng và biến bắt buộc phải khai báo
c) Hằng là đại lượng mà giá trị không thể thay đổi được trong quá trình thực hiện chương trình, biến là đại lượng mà giá trị của chúng có thể thay đổi được trong chương trình.
d) Hằng và biến là hai đại lượng mà giá trị đều có thể thay đổi được trong quá trình thực hiện chương trình
2) Cú pháp để khai báo biến là:
a) Var <Danh sách biến>;
b) <Danh sách biến>: Kiểu dữ liệu;
c) Var <Danh sách biến>: Kiểu dữ liệu;
d) Var <Danh sách biến>= Kiểu dữ liệu;
3) Trong khai báo biến:
Var Ch: Char;
A,B: Integer;
Trang 4C,D: Byte;
E,F: Real;
Tổng bộ nhớ dành cho các biến đã khai báo là:
a) 19.
b) 21
c) 35
d) 29
4) Trong khai báo biến:
Var Ch: Char;
A,B: Integer;
C,D: Byte;
E,F: Boolean;
Các giá trị mà biến nhận được dưới đây giá trị nào đúng?
a) Ch = ’A’; a = 5; b = 6; c = 8; d = 10; e = 1; f = 2;
b) Ch = ’B’; a = 0; b = 3; c = 6; d = 10; e = 1; f = True;
c) Ch = ’O’; a = 0; b = 3; c = 6; d = 10; e = 1; f = False;
d) Ch = ’I’; a = 2; b = 4; c = 6; d = 10; e = True; f = Flase;
5) Trong các phát biểu dưới đây, phát biểu nào đúng?
a) Khai báo biến a có kiểu byte thì biến a chiếm 2 byte trong bộ nhớ
b) Khai báo biến M có kiểu Longint thì biến M chiếm 4 byte trong bộ nhớ.
c) Khai báo biến b có kiểu boolean thì biến b chiếm không chiếm byte nào trong bộ nhớ d) Khai báo biến h có kiểu word thì biến h chiếm 4 byte trong bộ nhớ
BÀI 6 – PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN
1) Trong Pascal, các biểu diễn nào dưới đây là đúng?
a) 5a – 4c; (12*a + 5b)/2; (x-y)*z;
b) Delta = b2 – 4ac; x1 = x2 = -b/2a;
c) 1*a*(1- a)+2; 13*a – (1/x) + (x- y)*(y- x);
d) (a- b)/(c- d) + (a- 1/c); 2x2 – 4x + 2;
2) Cho khai báo:
Var Ch: Char;
A, B: Integer;
C, D: Byte;
E, F: Real;
Các phép gán nào dưới đây là đúng?
a) a:=b; b:=c; d:=f;
b) c:=d; e:=f; ch:=c;
c) a:=b; c:=d; e:=f; ch:=’a’; c:=f;
d) a:=2 b:=a; e:=3.14; f:=e; ch:=’a’;
3) Trong ngôn ngữ lập trình Pascal về mặt cú pháp câu lệnh nào sau đây là sai?
a) x:=12,5;
b) b:=(a=5)or(c=12);
c) c:=PI*15;
d) a:=3.14;
4) Trong ngôn ngữ lập trình Pascal, với câu lệnh như sau (a là một biểu thức kiểu số thực): a:=12;
Writeln(“KQ la:”, a:7:3);
Sẽ ghi ra màn hình?
Trang 5a) KQ la: 1.2E+01
b) KQ la: a
c) KQ la: 12
d) Câu lệnh sai.
5) Trong ngôn ngữ lập trình Pascal, hằng xâu ký tự “Thanh pho Can Tho” được viết như thế nào? a) ‘Thanh pho Can Tho’
b) Thanh pho Can Tho
c) “Thanh pho Can Tho”
d) ‘Thanh pho Can Tho”
BÀI 7 – CÁC THỦ TỤC CHUẨN VÀO/ RA ĐƠN GIẢN
1) Khi nào sử dụng thủ tục readln?
a) Khi cần xuất dữ liệu vào biến
b) Khi cần lấy giá trị của một biến
c) Khi cần để nhập dữ liệu, sau khi nhập xong thì con trỏ xuống dòng và về đầu dòng
d) Khi có thủ tục Writeln
2) Kết quả của đoạn chương trình sau là gì?
Var a, b: byte;
Begin
a:=50; b:=25;
Write(a,b);
Writeln;
Writeln(a+b);
Write(‘chuc ban thanh cong’);
Readln End
a) 50 25 75 chuc ban thanh cong
chuc ban thanh cong
c) 50 25
75
chuc ban thanh cong
d) 50 25
75 chuc ban thanh cong
3) Cho đoạn chương trình:
Var ch: Char;
Begin
Ch:= ‘I’; Write(ch);
Writeln(‘LOVE’);
Write(‘YOU’);
Writeln;
End
Kết quả khi chạy chương trình là:
a) I LOVE YOU
b) I LOVE
YOU
c) I
LOVE
Trang 6d) I
LOVE YOU
4) Cho đoạn chương trình
Var ok: Boolean;
Begin
ok:= 3>5;
Write(ok);
Write(5>3);
Readln End
Kết quả khi chạy chương trình là:
a) ok 5>3
b) FalseTrue
c) okTrue
d) False ok
5) Cho đoạn chương trình:
Var a, b: Byte;
Begin
a:=2; b:=6;
Write(‘bieu thuc a>b la ‘,a>b);
Readln End
Kết quả khi chạy chương trình là:
a) a>b
b) bieu thuc la a>b
c) false
d) bieu thuc a>b la false
BÀI 8 – SOẠN THẢO, THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH
1) Trong Turbo Pascal, để mở cửa sổ watch theo dõi giá trị các biến
a) Nhấn tổ hợp phím Ctrl + F5
b) Nhấn tổ hợp phím Ctrl + F6
c) Nhấn tổ hợp phím Ctrl + F7
d) Nhấn tổ hợp phím Ctrl + F8
2) Để sử dụng Turbo Pascal tối thiểu cần có các file nào?
Turbo.exe, Turbo.tpl
Turbo.exe, Pagaraph.pas Turbo.tpl
Graph.tpu, Turbo.tpl
Turbo.exe, Turbo.tpl Graph.tpu
3) Để lưu chương trình vào máy ta sử dụng phím chức năng nào?
4) Để thực hiện chương trình ta sử dụng tổ hợp phím nào?
a) Ctrl + F4 b) Ctrl + F6 c) Ctrl + F9 d) Ctrl + F12 5) Trong Turbo Pascal, để mở một chương trình nguồn ta sử dụng phím nào dưới đây?
Bài 9:
Trang 71 An nói: “Chiều nay đi chợ nếu mẹ cho tiền, mẹ không cho tiền thì ở nhà xem tivi” Chiều nay An sẽ làm gì?
a An đi chợ
b An ở nhà xem tivi
c Còn phụ thuộc tiền mẹ cho
d An đi chợ xong về nhà xem tivi
2 Các câu lệnh nào sau đây được dùng để mô tả cấu trúc rẽ nhánh trong TP:
a Begin End;
b If ;then
c If then…else…;
d If or
3 Chọn cấu trúc câu lệnh ghép sau đây là đúng:
a if then else
b begin end…
c begin end;
d case of end:
4 Câu lệnh sau đây cho kết quả nào đúng:
If b > a then c:=b else c:=a;
a Hoán đổi giá trị 2 biến a và b
b Biến c nhận giá trị nhỏ nhất trong a và b
c Biến c nhận giá trị lớn nhất trong a và b
d Câu lệnh sai
5 Cho đoạn chương trình sau:
Begin
x:=a;
If a < b then x:=b;
End.
Cho a = 20, b = 15 Kết quả x = ?
a 10
b 15
c 20
d 35
Bài 11: KIỂU MẢNG
1 khi khai báo mảng 2 chiều cần chú ý điều gì?
a chỉ số của mảng, số dòng, số cột
b số dòng, số cột, kiểu của mỗi phần tử trong mảng
c chỉ số của mảng, số dòng, số cột, kiểu phần tử
d chỉ chú ý kiểu phần tử
2 Ý nghĩa đầy đủ của khai báo sau: var A: array[1 10,1 15] of char
a Khai báo trực tiếp mảng A là mảng 2 chiều
b Mảng A có kiểu phần tử là char
c mảng A gồm 10 dòng, 15 cột có các phần tử kiểu kí tự
d Mảng A gồm15 dòng, 10 cột có các phần tử kiểu kí tự
3 Cho đoạn chương trình sau :
Var A : array[1 10] of integer;
i: Integer;
Begin
Trang 8For i:=1 to 10 do A[i]:=i;
End;
Khi đó giá trị của A[5] là:
a 5
b 4
c 6
d 10
4 Cho mảng A được mô tả như sau:
Cho đoạn chương trình
S:=0;
For i:=1 to 7 do S:=S+A[i];
Giá trị của S khi chương trình kết thúc là:
a 7
b 24
c KQ thiệt
d 28
5 Cho mảng A được mô tả như sau:
Cho đoạn chương trình
S:=0;
For i:=1 to 7 do S:=S+A[i];
Giá trị của i khi chương trình kết thúc là:
Bài 12 : KIỂU DỮ LIỆU XÂU
1 Chọn khai báo đúng:
a Type S: String[200];
b Type xau=string[30]
c var st: string[256]
d var s = string[255]
2 Cho biến S=’Tin Hoc 11’ Thực hiện lệnh delete(S,8,3) được kết quả S là:
a ‘Tin’
b ‘Tin Hoc’
c ‘Hoc 11’
d ‘11’
3 Cho st:=copy(’lop hoc pascal’,9,6);
Hãy cho biết giá trị của biến st sau khi thực hiện lệnh trên
a ‘lop hoc p’
b ‘lop ho’
c ‘pascal’
d ‘oc pascal’
4 Cho đoạn chương trình:
While pos(st,‘ ’) <> 0 do
Begin
Trang 9i:= pos(st,‘ ’);
st[i + 1]:= upcase(st[i+1]);
delete(st, i, 1);
End;
Giả sử ban
a ‘Tin Hoc Lop 11’
b ‘tin Hoc Lop 11’
c ‘TinHocLop11’
d ‘tinHocLop11’
5 Cho đoạn chương trình:
For i:=1 to length(st) do;
If st[i]=‘ ’ then st[i + 1]:= upcase(st[i + 1]);
Giả sử ban đầu biến st= ‘tin hoc lop 11’ thì sau khi thực hiện doạn chương trình trên, st sẽ mang giá trị là:
a ‘Tin Hoc Lop 11’
b ‘tin Hoc Lop 11’
c ‘TinHocLop11’
d Máy báo lỗi
Bài 13 : KIỂU BẢN GHI
1/ Dữ liệu bản ghi (Record) dùng để:
a/ Mô tả các đối tượng có cùng một số thuộc tính
b/ Mô tả các đối tượng có kiểu dữ liệu khác nhau
c/ a và b đúng
d/ a và b sai
2/ Kiểu bản ghi thường được định nghĩa:
a/ Type <Tên kiểu bản ghi>=Record
<Tên trường 1>: <Kiểu trường 1>;
<Tên trường k>: <Kiểu trường k>;
End;
b/ Type <Tên kiểu bản ghi>=Record;
<Tên trường 1>: <Kiểu trường 1>;
<Tên trường k>: <Kiểu trường k>;
End;
c/ Type <Tên kiểu bản ghi>=Record
<Tên trường 1>: <Kiểu trường 1>;
<Tên trường k>: <Kiểu trường k>;
End
d/ Tất cả đều sai
3/ Nếu A là biến kiểu bản ghi và X là một của A thì để tham chiếu đến trường X thì:
a/ X.A
b/ A.X
c/ A[X]
Trang 10d/ Tất cả đều sai
4/ Nếu A và B là hai biến bản ghi cùng kiểu, thì ta có thể gán giá trị của B cho A bằng câu lệnh:
a/ A:=B;
b/ A=B;
c/ B:=A;
d/ A:=B
5/ Có mấy cách để gán giá trị cho biến bản ghi cùng kiểu:
a/ 1
b/ 2
c/ 3
d/ 4
Bài 14: KIỂU DỮ LIỆU TỆP
Câu 1: Chọn khai báo sai trong các khai báo biến tiệp sau:
a) var tep : Text;
b) var tep1, tep2, tep3 : Text;
c) var tep : text; var taptin : text;
d) var vanban.dat : text;
Câu 2: Chọn phát biểu đúng trong các phát biểu sau:
a) Sử dụng dữ liệu kiểu tệp sẽ giúp chương trình ngắn gọn hơn
b) Sử dụng dữ liệu kiểu tệp sẽ giúp lưu trữ thông tin dễ dàng hơn
c) Một tệp có tên là “vanban.dat” để truy cập đến dữ liệu trong tiệp bắt buộc phải truy cập từ đầu
tệp
d) Sau khi đóng tệp, để mở lại tệp phải dùng thủ tục assign gắn lại tên tệp
Câu 3: Một tệp được gắn với tên biến là “f”, trước khi đọc dữ liệu trong tệp phải thực hiện câu lệnh
nào để mở tệp?
a) rewrite(f);
b) reset(f);
c) read(f);
d) write(f);
Câu 4: Câu lệnh nào sau đây dùng để thực hiện thủ tục đóng tệp?
a) thoat(<biến tệp>);
b) exit(<biến tệp >);
c) close(<biến tệp >);
d) dong(<biến tệp >);
Câu 5: Cho tệp “c:\baocao.dat” là tệp có nội dung và được gắn với tên biến tệp là “baocao” Sau khi
thực hiện lệnh rewrite(baocao);
a) Tệp sẽ Có nội dung không thay đổi
a) Tệp sẽ Không có nội dung gì cả
b) Tệp sẽ tăng kích thước vì có sự quản lí của ngôn ngữ lập trình
c) Không có đáp án nào đúng trong các đáp án trên
Câu 6: Để gán một tệp có tên là HOCKY2.INT cho biến tệp K2, ta phải gõ lệnh:
A Assign(K2,'HOCKY2.INT');
B Assign(K2,'hocky2.int');
C Assign('hocky2', K2);
D A và B đều đúng
Câu 7: Thủ tục mở một tệp định kiểu để ghi thông tin từ ngoài vào tệp là:
Trang 11A Rewrite(<tên biến tệp>);
B Rewrite(<tên tệp>);
C Rewrite(<tên biến tệp>,<tên tệp>);
D Rewrite(<tên tệp>,<tên biến tệp>);
Câu 8: Thủ tục mở một tệp định kiểu để đọc thông tin trong tệp là:
A Reset(<tên tệp>);
B Reset(<tên biến tệp>);
C Rewrite(<tên tệp>);
D Rewrite(<tên biển tệp>):
Câu 9: Khi ta mở tệp định kiểu bằng thủ tục Reset, thì:
A Nội dung trong tệp sẽ hiện ra trên màn hình
B Nội dung trong tệp sẽ bị xóa
C Nội dung trong tệp vẫn còn nguyên
D Tất cả đều sai
Câu 10: Thủ tục nào sau đây không được dùng khi sử dụng tệp văn bản:
A Write(<tên biến tệp>, <tên biến>);
B Read(<tên biến tệp>, <tên biến>);
C Writeln(<tên biến tệp>, <tên biến>);
D Tất cả đều dùng được khi sử dụng tệp văn bản
Câu 11: Phát biểu nào sau đây là chính xác khi nói về hàm EOF(<tên biến tệp văn bản>):
A Hàm cho giá trị False nếu con trỏ tệp ở vị trí kết thúc tệp
B Hàm cho giá trị False nếu con trỏ tệp ở vị trí kết thúc dòng
C Hàm cho giá trị True nếu con trỏ tệp ở vị trí kết thúc tệp
D Hàm cho giá trị True nếu con trỏ tệp ở vị trí kết thúc dòng
Câu 12: Cho chương trình sau:
Var f: text;
Begin
Assign(f,'Khoi11.txt');
Rewrite(f);
Write(f, 105+304-234);
Close(f);
End
Sau khi thực hiện chương trình, tập tin 'Khoi11.txt' có nội dung như thế nào?
A 105+304-234
B 105304234
C 105 304 234
D 175
Câu 13: Cho chương trình sau:
Var g: text;
Begin
Assign(g,'ky2.doc');
Rewrite(g);
Write(g, '510 + 702 - 792');
Close(g);