1. Trang chủ
  2. » Công Nghệ Thông Tin

Đề thi môn Kĩ thuật lập trình potx

4 614 4
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đề thi môn kĩ thuật lập trình
Người hướng dẫn Thày Vũ Đức Vượng
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Kĩ thuật lập trình
Thể loại Đề thi
Năm xuất bản K52
Thành phố Hồ Chí Minh
Định dạng
Số trang 4
Dung lượng 109,86 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hãy tiến hành kiểm thử và hiệu chỉnh đoạn code để đoạn lệnh sau sẽ luôn đúng trong mọi trường hợp... Hãy cho biết nó thực hiện được hay không, nếu được, hãy chỉ ra các bước khi danh sách

Trang 1

1

Đề thi số 1

Môn : K ĩ thuật lập trình (IT3040)

Thời gian : 90 phút

SV được phép sử dụng tài liệu, nhưng không được dùng máy tính,

điện thoại DĐ

Câu 1 : (1,0 đ)

Đoạn lệnh dưới đây dùng để loại bỏ kí tự cuối cùng của một xâu str[ ]

Hãy tiến hành kiểm thử và hiệu chỉnh đoạn code để đoạn lệnh sau sẽ luôn đúng trong mọi trường hợp

int i = 0;

while (str[i] != ‘\0’)

str[ - -i] = ‘\0’;

Câu 2 : ( 0,75 đ)

Một lập trình viên chuyên nghiệp tiến hành tinh chỉnh chương trình bằng cách sửa các đoạn khai báo : char MaTran [80][30]; thành : char MaTran [80][32]; Em hãy cho biết ý nghĩa, tác dụng của việc sửa đổi đó ?

Câu 3 : (0,75 đ)

Với a là một biến int, dòng lệnh : scanf( “%d”, a) ; gây ra lỗi buid_time

hay Run_time, giải thích tại sao ?

Câu 4 : (0,75 đ) Tính giá trị của các phần tử của mảng A sau khi thực hiện

đoạn lệnh dưới đây :

int A[ ] = {6, 13, 34, 19} ;

Trang 2

2

Câu 5 : (1,0 đ)

Hãy tinh ch ỉnh đoạn mã lệnh sau bằng mọi kỹ thuật và tạo mọi vị trí có

th ể và giải thích lý do ( Biết rằng n > 20, x,y,z là các số nguyên và các

hàm trong đoạn lệnh đã tối ưu)

for ( int i = 0 ; i < n ; i++ ) {

Câu 6 : (0,75 đ)

Hãy cải tiến đoạn mã lệnh sau ( a là hằng số) :

for ( i = 0; i < 10; i ++ ) {

Câu 7 : (1,0 đ)

Hàm sau đây được xóa một phần tử khỏi một danh sách liên kết đơn Hãy cho biết nó thực hiện được hay không, nếu được, hãy chỉ ra các bước khi danh sách đã có 4 phần tử và ta muốn xóa phần tử cuối cùng Nếu không, chỉ

ra điểm gây lỗi

/*

* remove : Lo ại bỏ 1 phần tử khỏi danh sách

* a_list là bi ến tổng thể

Trang 3

3

* T_node là ki ểu phần tử thuộc danh sách

*/

void remove ( T_node *p)

{

T_node **i = &a_list ; for ( ; (*i) != NULL && (( *i) != p) ; *i = ((*i) -> next) ) ;

if ( *i != NULL)

( *i) = (*i) -> next;

if ( p != NULL)

nodepree (p); //gi ải phóng node trỏ bởi p }

Câu 8 : (2,0 đ)

Cho x và y là hai mảng được cấp phát động với kích thước bằng đúng số phần tử của mảng và chứa hai dãy các số thực X = [x1, x2, … , xn] và

Y = [y1, y2, … , ym]

Sử dụng ngôn ngữ lập trình C/C++ để viết hàm … DiffSym(…) với :

Đầu vào : danh sách X và danh sách Y (và các tham số khác nếu cần …) Đầu ra : con trỏ đến danh sách Z; danh sách này bao gồm :

- Tất cả các số thuộc X và không thuộc Y

- Tất cả các số thuộc Y và không thuộc X

Bên cạnh đó, thông qua tham số truyền, gửi ra số phần tử của mảng kết quả Z Yêu cầu : phong cách lập trình thống nhất, chú thích đầy đủ, áp dụng các

kĩ thuật viết mã nguồn hiểu quả, bẫy lỗi và lập trình phòng ngừa

Liệt kê các kỹ thuật viết mã nguồn hiểu quả, bẫy lỗi và lập trình phòng ngừa đã áp dụng

Trang 4

4

Câu 9 : (2 đ)

Cho một danh sách liên kết đơn với các nút được khai báo như sau :

{

int info;

struct node *next;

};

Hãy xây dựng hàm (hoặc phương thức) Sort để sắp xếp danh sách theo thứ

tự tăng dần của info

Ngày đăng: 11/07/2014, 23:20

TỪ KHÓA LIÊN QUAN

w