Tải bản đầy đủ (.docx) (6 trang)

Đề thi kĩ thuật lập trình Đại học Bách Khoa TPHCM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (181.48 KB, 6 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM
Khoa Khoa học & Kỹ thuật Máy tính

Tên SV : ………………………………
MSSV:……….........................................

Thi kiểm tra giữa kỳ II, năm học 2012-2013
KỸ THUẬT LẬP TRÌNH
Thời gian : 45 phút
Sinh viên được phép mở tài liệu. Sau khi thi, sinh viên nộp lại đề có ghi Tên SV, MSSV,
và bài giải phần I&II.
Thang điểm tối đa : 10 điểm.
PHẦN I: TRẮC NGHIỆM (5 điểm, sinh viên trả lời các câu hỏi bằng cách khoanh tròn đáp án đúng nhất)
Câu 1.

Nhận định nào sau đây đúng:

A. Trình thông dịch tiến hành dịch chương trình nguồn theo từng phân đoạn rồi thực thi đoạn mã được dịch.
Trình biên dịch tiến hành dịch toàn bộ chương trình nguồn rồi mới thực thi chương trình.
B. Trình biên dịch tiến hành dịch chương trình nguồn theo từng phân đoạn rồi thực thi đoạn mã được dịch.
Trình thông dịch tiến hành dịch toàn bộ chương trình nguồn rồi mới thực thi chương trình.
C. Cả trình biên dịch và trình thông dịch đều tiến hành dịch toàn bộ chương trình nguồn rồi mới thực thi
chương trình.
D. Cả trình biên dịch và trình thông dịch đều tiến hành dịch chương trình nguồn theo từng phân đoạn rồi thực
thi đoạn mã được dịch
Biết rằng biến x được khai báo kiểu là int và được gán giá trị ban đầu là 0, cho biết câu lệnh nào
dưới đây không hợp lệ:

Câu 2.

A. x = x + ‘a’;



B. x = x;

Câu 3.

Đoạn chương trinh sau:

MOV

C. x + 1= 5;

D. x = x + 5;

AX, 3
INT

10h

MOV

AH, 9

MOV

DX, OFFSET InputNumber

INT

21h


được viết bằng:
A. Ngôn ngữ máy
Câu 4.

B. Ngôn ngữ cấp cao

C. Hợp ngữ

D. Cả A, B, C đều sai

Hãy cho biết đoạn chương trình sau xuất kết quả gì ra màn hình

Đề thi môn Kỹ thuật lập trình 501127 – HK02/2012-2013


TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM

Tên SV : ………………………………
MSSV:……….........................................

Khoa Khoa học & Kỹ thuật Máy tính

int a = 5, b = 5;
if( a = 4)
b = 4;
cout << b;

A. 4

B. 5


Câu 5.

C. 0

D. Đoạn mã bị lỗi

Hãy cho biết câu lệnh sau xuất kết quả gì ra màn hình:
cout<< "|" <<<< 1234567.89 << "|" ;

A. |+1234567.89|
Câu 6.

B. |+1234567.890000| C. |+1.23457e+006|

D. |1234567.89|

Hãy cho biết đoạn chương trình sau xuất gì ra màn hình:
enum day { mon, tue, wed, thr, fri, sat, sun};
day

a = tue;

cout

<<

A.2


a;

B. 1
Câu 7.

C. tue

D. day

Giả sử ta khai báo i và j là hai biến số nguyên. Hãy cho biết câu lệnh sau đây:

switch (i) {
case 1:
case 2:
case 3:
case 7: j = i; break;}

tương đương với câu lệnh nào dưới đây:
A. if (i == 1) j = i;
B. if (i == 7) j = i;
C. if ((i == 1) && (i == 2) && (i == 3) && (i == 7)) j = i; D. if ((i == 1) || (i == 2) || (i == 3) || (i == 7))
Câu 8.

Cho các định danh sau:

Main
Abc-123
If
F5

5F
Những định danh hợp lệ là
A. Chỉ có F5
1.
2.
3.
4.
5.

Đề thi môn Kỹ thuật lập trình 501127 – HK02/2012-2013

B. Chỉ có Main, If và F5

j = i;


TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM

Tên SV : ………………………………
MSSV:……….........................................

Khoa Khoa học & Kỹ thuật Máy tính

C. Tất cả các định danh trên đều hợp lệ
Câu 9.

A.
B.
C.
D.


D. Chỉ có F5 và Abc-123

Câu nào sau đây là đúng?

Mỗi dòng trong một chương trình phải kết thúc bằng dấu chấm phẩy.
Mỗi dòng chú thích phải kết thúc bằng dấu chấm phẩy.
Mỗi câu lệnh trong một chương trình phải kết thúc bằng dấu chấm phẩy.
D. Không thể khai báo nhiều biến trên cùng một dòng lệnh.
Câu 10.

Trong số những dòng chú thích sau:

1.

// /*/*Comment 1*/*/

2.

// Comment 2 //

3.

/* Comment 3 */

4.

/* Comment 4 */ /*Comment 4_1*/

5.


/* /* Comment 5 */

6.

// /*Comment 6*/

A. có đúng 1 chú thích không hợp lệ
C. có đúng 3 chú thích không hợp lệ

B. có đúng 2 chú thích không hợp lệ
D. Tất cả các chú thích trên đều hợp lệ

PHẦN II : ĐIỀN VÀO CHỖ TRỐNG (3 điểm, sinh viên trả lời các câu hỏi bằng cách điền vào chỗ trống)
Trong chương trình viết bằng C++, biểu thức 2*13%7
_______10__________

Câu 11.
Câu 12.

+ 21/4

có giá trị bằng

Sau khi thực hiện câu lệnh

float rate = (100 > 40)? ((6 < 3)? 1.3: 2.4):3.5;

biến rate có giá trị bằng ____2.4_____________
Hãy cho biết kết xuất của đoạn chương trình sau : ___________ Không xuất

______________________

Câu 13.
int

x = 4;

int

y = 8;

if ( x > 5 )
if ( y > 5 )

Đề thi môn Kỹ thuật lập trình 501127 – HK02/2012-2013


TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM
Khoa Khoa học & Kỹ thuật Máy tính

Tên SV : ………………………………
MSSV:……….........................................

cout<< "x and y are > 5" ;
else
cout<< "x is <= 5";

Hãy cho biết kết xuất của đoạn chương trình sau: ___________ _5, 7,
-6_____________________


Câu 14.

int

a = 5, b = 6, c = 7;

c = a++ - b++ - a--;
cout<< a << ", " << b << ", " << c;

Cho biết kết xuất ra màn hình của đoạn chương trình sau: ______
warning________________

Câu 15.

pass

int n = 'c';
switch(n++) {
default: cout<< "error "; break;
case 'a':
case 'b': cout<< "good "; break;
case 'c': cout<< "pass ";
case 'd': cout<< "warning "; }

Câu 16.

Sau khi đoạn mã sau được thực thi, hãy cho biết giá trị của x là ______1________

int a = 14, b = 15, x;
char c = 'A';

x = (a && b) && (c < 'C');

PHẦN III : LẬP TRÌNH (Sinh viên viết bài giải vào bài làm)

Câu 17.
(2 điểm cho sinh viên lớp thường, 1.5 điểm cho sinh viên lớp KSTN) Viết flowchart hoặc viết code bằng
ngôn ngữ C++ cho một chương trình đoán “Giải mã chính mình” có nội dung như sau (được trích một phần từ
website: />1. Cảm giác của bạn khi nào là tốt nhất?

4. Gặp một chuyện buồn cười, phản ứng của bạn...

Đề thi môn Kỹ thuật lập trình 501127 – HK02/2012-2013


TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM
Khoa Khoa học & Kỹ thuật Máy tính

Tên SV : ………………………………
MSSV:……….........................................

A. Sáng sớm

A. Cười một các sảng khoái

B. Chiều và chập tối

B. Cười, nhưng không cười to

C. Ban đêm


C. Cười nhẹ
D. Cười tủm tỉm

2. Khi nói chuyện với ai đó, bạn thường
A. Đứng khoanh tay
B. Nắm chặt hai tay
C. Một tay hoặc hai tay chống hông
D. Chạm vào hoặc đẩy nhẹ
E. Nghịch tai mình, sờ cằm hoặc vuốt tóc

5. Khi đến tham gia một tổ chức hoặc một nhóm hoạt động xã hội,
bạn...
A. Nói thật to khi vào để thu hút sự chú ý
B. Đi vào thật lặng lẽ, tìm người quen của bạn
C. Đi vào rất lặng lẽ, cố gắng không để bị chú ý

3. Lúc ngồi nghỉ...
A. Hai chân khéo lại

6. Khi bạn hết sức tập trung vào công việc, có người ngắt mạch làm việc
của bạn, bạn sẽ...

B. Chân nọ bẵt chéo lên chân kia

A. Vui vẻ đón tiếp người đó

C. Gập một chân lại

B. Cảm thấy rất phiền


D. Chân nọ bẵt chéo lên chân kia

C. Cảm giác ở giữa "A" và "B"

Hướng dẫn: Mỗi câu trả lời chỉ được chọn một đáp án. Chương trình sẽ hỏi lần lượt từ câu hỏi số 1 đến câu hỏi số 6. Chỉ
khi người sử dụng trả lời câu hỏi trước, chương trình mới hiển thị câu hỏi sau.
Yêu cầu: dùng cấu trúc rẽ nhánh và chương trình cần xuất kết quả ra tuân theo các quy định dưới đây.
• Đa số câu A được chọn: « là người luôn mới mẻ, tràn đầy sức sống, thú vị và rất hấp dẫn. »
• Đa số câu B được chọn: « là người thiếu tự tin, cần mẫn, khắc khổ, rất hay xoi mói và cô cùng cẩn thận. »
• Các câu khác được chọn: « là người có nội tâm bi quan, đa sầu đa cảm, hay do dự, thiếu quyết đoán, lúc nào
cũng cần người chăm sóc, luôn luôn cần người khác quyết định giúp. »
• Trường hợp có hai câu cùng có số chọn nhiều nhất, xuất cả hai đáp án.
Lưu ý: không được sử dụng từ khóa ‘goto’ (sẽ bị 0 điểm nếu dùng lệnh goto-label).

Đề thi môn Kỹ thuật lập trình 501127 – HK02/2012-2013


TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM
Khoa Khoa học & Kỹ thuật Máy tính

Câu 18.

Tên SV : ………………………………
MSSV:……….........................................

(0.5 điểm, chỉ dành cho sinh viên lớp KSTN) Hãy giải thích tại sao biểu thức E trong phát biểu
switch (E) { case ...}

chỉ có thể là các kiểu int, char, enum mà không thể có kiểu float, double?
Đáp án: Trong biểu thức switch case; các giá trị constant expression tại các nhãn được so sánh bằng với các nhãn

của expression. Bởi vì các kiểu float, double không thể dùng để so sánh bằng được. Do đó switch chỉ chấp nhận
kiểu int, char, enum (các kiểu dữ liệu có thể so sánh bằng được).

-HẾT-

Đề thi môn Kỹ thuật lập trình 501127 – HK02/2012-2013



×