4 355 KB 2 144
Nhấn vào bên dưới để tải tài liệu
Để tải xuống xem đầy đủ hãy nhấn vào bên trên
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Câu 1:Hãy chọn phương án ghép đúng. Ngôn ngữ lập trình là ngôn ngữ
A.Cho phép thể hiện các dữ liệu trong bài toán mà các chương trình sẽ phải xử lí
B.Dưới dạng nhị phân để máy tính có thể thực hiện trực tiếp
C.Diễn đạt thuật toán để có thể giao cho máy tính thực hiện
D.Có tên là "ngôn ngữ thuật toán" hay còn gọi là "ngôn ngữ lập trình bậc cao" gần với ngôn ngữ toán học cho phép mô tả cách giải quyết vấn đề độc lập với máy tính
Trả lời:Ngôn ngữ lập trình là ngôn ngữ để viết chương trình, diễn đạt thuật toán giúp máy tính hiểu và thực hiện.
Đáp án: C
Câu 2:Hãy chọn phương án ghép đúng. Ngôn ngữ máy là
A.Bất cứ ngôn ngữ lập trình nào mà có thể diễn đạt thuật toán để giao cho máy tính thực hiện
B.Ngôn ngữ để viết các chương trình mà mỗi chương trình là một dãy lệnh máy trong hệ nhị phân
C.Các ngôn ngữ mà chương trình viết trên chúng sau khi dịch ra hệ nhị phân thì máy có thể chạy được
D.Diễn đạt thuật toán để có thể giao cho máy tính thực hiện
Trả lời:Ngôn ngữ máy là ngôn ngữ duy nhất để viết chương trình mà máy tính có thể trực tiếp hiểu và thực hiện được. Mỗi chương trình là một dãy lệnh máy trong hệ nhị phân.
Đáp án: B
Câu 3:Hãy chọn phương án ghép đúng. Hợp ngữ là ngôn ngữ
A.Mà máy tính có thể thực hiện được trực tiếp không cần dịch
B.Có các lệnh được viết bằng kí tự nhưng về cơ bản mỗi lệnh tương đương với một lệnh máy. Để chạy được cần dịch ra ngôn ngữ máy
C.Mà các lệnh không viết trực tiếp bằng mã nhị phân
D.Không viết bằng mã nhị phân, được thiết kế cho một số loại máy có thể chạy trực tiếp dưới dạng kí tự
Trả lời:Hợp ngữ là ngôn ngữ có các lệnh được viết bằng kí tự nhưng về cơ bản mỗi lệnh tương đương với một lệnh máy. Để chạy được cần dịch ra ngôn ngữ máy
Đáp án: B
Câu 4:Phát biểu nào dưới đây là hợp lí nhất khi nói về hằng?
A. Hằng là đại lượng nhận giá trị trước khi chương trình thực hiện
B. Hằng là đại lượng được đặt tên và có giá trị thay đổi trong quá trình thực hiện chương trình
C. Hằng có thể lưu trữ nhiều loại giá trị khác nhau
D. Hằng được chương trình dịch bỏ qua
Trả lời:Hằng là đại lượng nhận giá trị trước khi chương trình thực hiện hay có giá trị không đổi trong quá trình thực hiện chương trình.
Đáp án: A
Câu 5:Phát biểu nào dưới đây là hợp lí nhất khi nói về tên?
A. Tên gọi là đại lượng nhận giá trị trước khi chương trình thực hiện
B. Tên gọi là đại lượng được đặt tên và có giá trị thay đổi trong quá trình thực hiện chương trình
C. Tên gọi có thể lưu trữ nhiều loại giá trị khác nhau
D. Tên gọi do người lập trình tự đặt theo quy tắc do từng ngôn ngữ lập trình xác định
Trả lời:Tên gọi do người lập trình tự đặt theo quy tắc do từng ngôn ngữ lập trình xác định, dùng với ý nghĩa riêng, xác định bằng cách khai báo trước khi sử dụng. Các tên này không được trùng với tên dành riêng.
Đáp án: D
Câu 6:Trong tin học, hằng là đại lượng
A. Có giá trị thay đổi 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 toán
Trả lời:
Hằng là đại lượng có giá trị không thay đổi trong quá trình thực hiện chương trình hay là đại lượng nhận giá trị trước khi chương trình thực hiện.
Đáp án: B
Câu 7:Phần thân chương trình bắt đầu bằng ….và kết thúc bằng …?
A. BEGIN…END.
B. BEGIN…END
C. BEGIN…END,
D. BEGIN…END;
Trả lời:
Phân thân chương trình là 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 thân chương trình. Ví dụ thân chương trình trong Pascal là cặp từ khóa “ BEGIN…END.” .
Đáp án: A
Câu 8: Chọn câu phát biểu hợp lí nhất?
A. Khai báo hằng thường được sử dụng cho một giá trị tại mỗi thời điểm thực hiện chương trình
B. Biến đơn là biến chỉ nhận những giá trị không đổi và xuất hiện nhiều lần trong chương trình
C. Khai báo hằng thường được sử dụng cho những giá trị không đổi và xuất hiện nhiều lần trong chương trình
D. Trong Pascal, tất cả các biến trong chương trình đều phải có giá trị không đổi và xuất hiện nhiều lần trong chương trình
Trả lời:Khai báo hằng thường được sử dụng cho những giá trị xuất hiện nhiều lần trong chương trình và có giá trị không đổi trong chương trình.
Đáp án: C
Câu 9:Chọn câu phát biểu hợp lí nhất?
A. Trong Pascal, tất cả các biến trong chương trình đều phải đặt tên và khai báo cho chương trình dịch biết để lưu trữ và xử lí
B. Trong Pascal, tất cả các biến trong chương trình đều phải có một giá trị tại mỗi thời điểm thực hiện chương trình
C. Khai báo hằng thường được sử dụng cho kiểu của hằng
D. Biến đơn là biến chỉ nhận kiểu của hằng
Trả lời:
Trong Pascal, tất cả các biến trong chương trình đều phải đặt tên và khai báo cho chương trình dịch biết để lưu trữ và xử lí. Biến chỉ nhận một giá trị tại mỗi thời điểm thực hiện chương trình được gọi là biến đơn.
Đáp án: A
Câu 10:Bộ nhớ sẽ cấp phát cho các biến dưới đây tổng cộng bao nhiêu byte?
Var x,y: integer; c: char; ok: boolean; z: real;
A. 12
B. 14
C. 11
D. 13
Trả lời:
Kiểu Interger bộ nhớ lưu trữ một giá tri là 2 byte → 2 biến x, y cần 2 x 2= 4 byte
Kiểu Real bộ nhớ lưu trữ một giá tri là 6 byte → 1 biến z cần 1 x 6 = 6 byte
Kiểu char bộ nhớ lưu trữ một giá tri là 1 byte → 1 biến C cần 1 x 1 = 1 byte
Kiểu boolean bộ nhớ lưu trữ một giá tri là 1 byte → 1 biến ok cần 1 x 1 = 1 byte
- Vậy cần cấp 6 + 4 + 1 + 1 = 12 byte bộ nhớ cho các biến.
Đáp án: A
Câu 11:Biến x có thể nhận các giá trị -5, 100, 15, 20. Hãy chọn kiểu dữ liệu phù hợp với biến x?
A. Char
B. LongInt
C. Integer
D. Word
Trả lời:
Các số -5, 100, 15, 20 là các số nguyên → kiểu dữ liệu của x là kiểu nguyên. Trong x có giá trị -5 → chỉ có thể là kiểu integer, longint [vì chứa giá trị âm]. Vì các giá trị này có giá trị nhỏ nên kiểu dữ liệu phù hợp với biến x là integer [longint sẽ chiếm bộ nhớ lớn].
Đáp án: C
Câu 12: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; 10.99. Khai báo nào trong các khai báo sau là đúng nhất?
A. Var X,,Y: byte;
B. Var X, Y: real;
C. Var X: real; Y: byte;
D. Var X: byte; Y: real;
Trả lời:
Các giá trị 1; 100; 150; 200 là các số nguyên→ kiểu dữ liệu của X là byte,
Các giá trị 1; 0.2; 0.3; 10.99 là các số thực → kiểu dữ liệu của Y là real.
Đáp án: D
Câu 13:Trong ngôn ngữ lập trình Pascal, từ khóa Var dùng để:
A. Khai báo hằng
B. Khai báo thư viện
C. Khai báo biến
D. Khai báo tên chương trình
Trả lời:
Trong ngôn ngữ lập trình Pascal, từ khóa Var dùng để khai báo biến. Mọi biến dùng trong chương trình đều cần khai báo tên và kiểu dữ liệu. Mỗi biến chỉ được khia báo một lần.
Đáp án: C
Câu 14:Trong ngôn ngữ lập trình Pascal, hằng và biến khác nhau cơ bản như thế nào?
A. 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
B. Hằng không cần khai báo còn biến phải khai báo
C. Hằng là đại lượng có giá trị không thay đổi trong quá trình thực hiện chương trình, biến là đại lượng có giá trị có thể thay đổi trong quá trình thực hiện chương trình
D. Hằng và biến bắt buộc phải khai báo
Trả lời:
Trong ngôn ngữ lập trình Pascal, hằng và biến khác nhau cơ bản là: Hằng là đại lượng có giá trị không thay đổi trong quá trình thực hiện chương trình, biến là đại lượng có giá trị có thể thay đổi trong quá trình thực hiện chương trình.
Đáp án: C
Câu 15: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.
Trả lời:Trong ngôn ngữ lập trình Pascal, từ khoá CONST dùng để khai báo hằng. Cấu trúc khai báo hằng là: Var CONST = ;
Đáp án: B
Câu 16:Cho biểu thức sau:[a mod 3 = 0] and [a mod 4 = 0]
Số a nhận giá trị nào sau đây để biểu thức cho kết quả là TRUE?
A. 24
B. 16
C. 20
D. 15
Trả lời:
Ta có: a mod 3 = 0→ phần dư bằng 0 → a chia hết cho 3
a mod 4 = 0→ Phần dư bằng 0 → a chia hết cho 4
⇒ a chia hết cho 12
Đáp án: A
Câu 17:Cho đoạn chương trình:
Begin
a := 100;
b := 30;
x := a div b ;
Write[x];
End.
Cho biết kết quả sau khi thực hiện lệnh :
A. 10
B. 33
C. 3
D. 1
Trả lời:
Ta có a := 100; gán cho a giá trị là 100
b:= 30; gán cho b giá trị là 30
x:= a div b=100div 30 =3 [ div là phép lấy nguyên]
Đáp án: C
Câu 18:Trong 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
Trả lời:Trong Pascal, phép toán MOD với số nguyên có tác dụng chia lấy phần dư còn phép toán DIV với số nguyên có tác dụng chia lấy phần nguyên.
Đáp án: B
Câu 19:Cho S là biến có kiểu xâu [String] và y là biến kiểu thực. Trong các cách sau đây, khi thực hiện câu lệnh readln[S,y] nhập giá trị choS = ‘ Tran Van Thong’vày = 7.5từ bàn phím, cách nhập nào đúng ?
A. Gõ “Tran Van Thong 7.5” sau đó nhấn Enter;
B. Gõ “Tran Van Thong” sau đó nhấn phím Enter rồi gõ “7.5” sau đó nhấn phím Enter;
C. Gõ “Tran Van Thong 7,5” sau đó nhấn phím Enter;
D. Gõ “Tran Van Thong ” rồi gõ dấu phẩy rồi gõ “7.5” sau đó nhấn phím Enter;
Trả lời:
Để nhập giá trị cho từng biến muốn máy tính hiểu ta phải nhấn phím Enter hoặc dấu cách hoặc phím Tab.
Đáp án: B
Câu 20:Để đưa ra màn hình giá trị của biến a kiểu nguyên và biến b kiểu thực ta dùng lệnh
A. Write[a:8:3, b:8];
B. Readln[a,b];
C. Writeln[a:8, b:8:3];
D. Writeln[a:8:3, b:8:3];
Trả lời:Trong thủ tục Write hoặc Writeln để đưa kết quả ra màn hình [biến, hằng, biểu thức] có thể có quy cách ra. Quy cách ra như sau:
+ Đối với kết quả số thực có dạng:
: :
+Đối với kết quả khác:
:
Đáp án: C
Câu 21:Để nhập giá trị cho 2 biến a và b ta dùng lệnh :
A. Write[a,b];
B. Real[a,b];
C. Readln[a,b];
D. Read[‘a,b’];
Trả lời:Trong Pascal để nhập giá trị cho biến từ bàn phím ta dùng lệnh Read[] hoặc Readln[]. Trong ngoặc là danh sách các biến được cách nhau bởi dấu phảy.
Đáp án: C
Câu 22:Trong Turbo Pascal, muốn biên dịch chương trình ta dùng tổ hợp phím:
A. Alt + F9
B. Ctrl + F9
C. Alt + F6
D. Alt + F8
Trả lời:Trong Turbo Pascal, muốn biên dịch chương trình ta dùng tổ hợp phím Alt + F9. Nếu chương trình có lỗi cú pháp, phần mềm sẽ hiện thị một thông báo. Cần phải sửa lỗi nếu có, lưu lại chương trình rồi tiến hành biên dịch lại cho tới khi không còn lỗi.
Đáp án: A
Câu 23:Để tính diện tích S của hình vuông có cạnh A với giá trị nguyên nằm trong phạm vi từ 10 đến 100, cách khai báo S nào dưới đây là đúng và tốn ít bộ nhớ nhất
A.Var S : integer;
B.Var S : real;
C.Var S : longint;
D.Var S : word;
Trả lời:Hình vuông có cạnh A với giá trị nguyên→ kiểu nguyên [integer, longint, byte, word]. Vì nằm trong phạm vi từ 10 đến 100 nên để tốn ít bộ nhớ nhất ta chọn kiểu word [0 đến 65535].
Đáp án: D
Câu 24:Trong Turbo Pascal, để lưu một chương trình:
A. Nhấn tổ hợp phím Alt + F5
B. Nhấn tổ hợp phím Alt + F2
C. Nhấn phím F2
D. Nhấn phím F5
Trả lời:Trong Turbo Pascal, để lưu một chương trình ta nhấn phím F2 rồi nhập tên tệp và nhấn phím Enter.
Đáp án: C
Câu 25.Hãy chọn cách dùng sai . Muốn dùng biến X lưu giá trị nhỏ nhất trong các giá trị của hai biến A. B có thể dùng cấu trúc rẽ nhánh như sau :
A. if A B
C. N mod 100
D. “A nho hon B”
Trả lời:các phép toán điều kiện như >, =, B là biểu thức điêu kiện [ chứa phép toán điều kiện].
Đáp án: B
Câu 27.Trong ngôn ngữ lập trình Pascal, phát biểu nào sau đây làđúngvới câu lệnh rẽ nhánhif…then…else…?
A. Nếu sauelsemuốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa hai cặp dấu ngoặc nhọn;
B. Nếu sauelsemuốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa hai dấu ngoặc đơn;
C. Nếu sauelsemuốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữaBeginvàEnd;
D. Nếu sauelsemuốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữaBeginvàEnd
Trả lời:Câu lệnh rẽ nhánhif…then…else…Nếu sauelsemuốn thực hiện nhiều câu lệnh [câu lệnh ghép] thì các câu lệnh phải đặt giữaBeginvàEnd;
Đáp án: C
Câu 28: Câu lệnh sau giải bài toán nào:
While M N do
If M > N then M:=M-N else N:=N-M;
A. Tìm UCLN của M và N
B. Tìm BCNN của M và N
C. Tìm hiệu nhỏ nhất của M và N
D. Tìm hiệu lớn nhất của M và N
Trả lời:
Câu lệnh trên giải bài toán tìm UCLN của M và N. Với ý tưởng, kiểm tra xem M, N có giá trị khác nhau không. Nếu có thực hiện kiểm tra giá trị nào lớn hơn. Giá trị lớn hơn sẽ được gán bằng hiệ của số lớn trừ số bé. Việc làm thế cứ lặp đi lặp lại đến khi hai giá trị bằng nhau thì đưa ra UCLN của nó.
Đáp án: A
Câu 29:Đoạn chương trình sau giải bài toán nào?
For I:=1 to M do
If [I mod 3 = 0] and [I mod 5 = 0] then
T := T + I;
A. Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến M
B. Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến M
C. Tổng các số chia hết cho 3 trong phạm vi từ 1 đến M
D. Tổng các số chia hết cho 5 trong phạm vi từ 1 đến M
Trả lời:Đoạn chương trình
For I:=1 to M do {I chạy trong phạm vi từ 1 đến M}
If [I mod 3 = 0] and [I mod 5 = 0] then {kiểm tra I chia hết cho 3 và cho 5 không}
T := T + I; {Cộng dồn vào tổng}
Đáp án: B
Câu 30:Cú pháp lệnh lặp For – do dạng lùi:
A. for < biến đếm> = < Giá trị cuối >downto < Giá trị đầu > 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ị cuối >down < Giá trị đầu > do < câu lệnh >;
D. for < biến đếm> := < Giá trị đầu >downto < Giá trị cuối > do < câu lệnh>;
Trả lời:
+Cú pháp lệnh lặp For – do dạng lùi:
For < biến đếm> := < Giá trị cuối >downto < Giá trị đầu > do < câu lệnh >;
+Cú pháp lệnh lặp For – do dạng tiến:
For < biến đếm> := < Giá trị đầu> to < Giá trị cuối> do < câu lệnh >;
Đáp án: B