Đề thi kỹ thuật lập trình potx

5 6.6K 88
Đề thi kỹ thuật lập trình potx

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

Thông tin tài liệu

Vu Duc Vuong - SOICT-HUT Tìm kiếm THỨ SÁU, NGÀY 17 THÁNG MƯỜI HAI NĂM 2010 De Thi KTLT K53 - 2010 Đề thi So 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 cấm tuyệt đối : trao đổi tài liệu, dùng máy tính, điện thoại dđ Câu 1 : (0.75đ) Cho biết hàm sau đây làm gì : void bitchange(int &x, int n) { x &= ~(1 << (n - 1)); } Câu 2 : (0.75đ) Hãy tiến hành Test và chỉnh sửa đoạn mã sau : void process_data(char *s) { char cDest[32]; strcpy(cDest,s); /* use cDest */ } Câu 3 : (1đ) Một LTV viết và cho chạy CT sau : #include <stdio.h> void main(){ int a,b,c=3; int *p = &c; /* divide c by itself */ a = c/*p; Câu 6: (1đ) Tinh chỉnh để nâng cao hiệu năng của chương trình sau void my_func(float val, float *a, int n){ int i=0,found = 0; while ((!found) && (i<n)) { float testval = log(val)/log(2); if (a[i] == testval) found = 1; else i++; } if (found) do_something; } Câu 7: (3.5đ) Cho cấu trúc dữ liệu quản lý sinh viên như sau : struct sinhvien { struct hoso { char malop[6]; char hovaten[35]; long sohieusv; float kqht; } data; struct sinhvien *next; } *ds; Dữ liệu đã được nhập.Hãy viết các hàm cần thiết để Sắp xếp danh sách sinh viên theo lớp , trong 1 lớp theo thứ tự ABC của tên, họ và tên đệm (Yêu cầu : Tuân thủ Chia sẻ Báo cáo Lạm dụng Blog Tiếp theo» Tạo Blog Đăng nhập Vu Duc Vuong - SOICT-HUT: De Thi KTLT K53 - 2010 http://vuducvuong-soict-hut.blogspot.com/2010/12/de-thi-ktlt-k53-2010 1 of 5 05/09/2012 09:49 AM b = c /* set b to 3 */; printf("a=%d, b=%d\n", a,b); } Khi thực hiện , kết quả không như ý muốn(a=1 b=3).Hãy tiến hành test và gỡ rối CT. a- câu 4 : (0.75đ) Tối ưu đoạn code sau : float f(float *a, float *b, int n) { float ta, tb , sum = 0.0; int i = 0; ta = a[i]; tb = b[i]; for (i = 1; i < n; i++) { sum += ta + tb; ta = a[i]; tb = b[i]; } sum += ta + tb; return sum; } Câu 5 : (0.75đ) Cho biết ý nghĩa của hàm sau : void sw(int *a, int *b) { *a ^=*b; *b ^=*a; *a ^=*b; } các yêu cầu về phong cách lập trình, thiết kế topdown và các kỹ thuật Lt hiệu quả) Câu 8: (1.5đ) Viê ́ t la ̣ i đoa ̣ n chương trı ̀ nh sau để có kết quả tương đương mà không du ̀ ng RETURN MainProgram ( thư ̣ c châ ́ t la ̀ lệnh Goto ) với hàm swap đã chuẩn : typedef int mang[MAX]; void Sort1(mang &A, int n) { int i,j; int doicho; for (i=0;i<n;i++) { doicho = 0; for (j=n-1;j>0;j ) if (A[j] < A[j-1]) { swap (A[j], A[j-1]); doicho++; } if (doicho == 0) RETURN MainProgram; } } Đề thi so 2 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 cấm tuyệt đối : trao đổi tài liệu, dùng máy tính, điện thoại dđ Câu 1: (1đ) Một LTV viết CT như sau : #include <stdio.h> void main(){ int a,b=3,c=6; int *p = &b; /* chia c cho b */ a = c/*p; b = c ; /* gan b = 6 */ printf("a=%d, b=%d\n", a,b); Câu 6 : (1đ) Tinh chỉnh để nâng cao hiệu năng của chương trình sau void F1(float b, float *a, int n) { int i=0, found = 0; while ((!found) && (i<n)) { float x = log(b)/log(2); if (a[i] == x) found = 1; else i++; } if (found) do_something; } Câu 7 : (3.5đ) Cho cấu trúc dữ liệu quản lý sinh viên như sau : struct sinhvien { struct hoso { Vu Duc Vuong - SOICT-HUT: De Thi KTLT K53 - 2010 http://vuducvuong-soict-hut.blogspot.com/2010/12/de-thi-ktlt-k53-2010 2 of 5 05/09/2012 09:49 AM Được đăng bởi VuongVd vào lúc 03:41 Nhãn: KTLT - De thi KTLT K 53 2010 } Khi dịch có lỗi cú pháp, LTV đã sửa = cách thêm dấu ; vào trước lệnh printf, nhưng run thì kết quả không như ý .Hãy chỉ ra lỗi cú pháp, sau đó tiến hành test và gỡ rối CT đã sửa lỗi cú pháp của LTV để được kq là a= 2 và b=6. Câu 2 : (0.75đ) Cho biết kết quả hiện ra trên màn hình khi thực hiện chương trình dưới đây. Hãy giải thích chi �ết vì sao lại có kết quả như vậy? #include <stdio.h> int F(int *x) { *x +=1; return *x; } void main(void) { int a =5; printf("F(a) +F(a) = %d\n",F(&a)+F(&a)); a=5; printf("2*F(a) = %d\n",2*F(&a)); } b- Câu 3:(0.75đ) Tinh chỉnh để tối ưu đoạn code sau: float tong (float *m1, float *m2, int n) { float ta, tb , sum = 0.0; int i = n-1; ta = m1[i]; tb = m2[i]; for (i = n-2; i>=0 ; i ) { sum += ta + tb; ta = m1[i]; tb = m2[i]; } sum += ta + tb; return sum; } Câu 4 : (0.75đ) Cho biết ý nghĩa của hàm sau : void dc(int *a, int *b) { *b ^=*a; *a ^=*b; *b ^=*a; } Câu 5: (0.75đ) Cho biết hàm sau làm gì : void bitoperation( int &x,int n) { x |= (1 << (n - 1)); } char malop[6]; char hovaten[35]; long sohieusv; float kqht; } data; struct sinhvien *next; } *ds; Dữ liệu đã được nhập và được sắp xếp theo theo lớp , trong 1 lớp theo thứ tự ABC của tên, họ và tên đệm. Hãy viết hàm Search với các tham số truyền vào là MaLop và HoVaTen và các hàm cần thiết khác để tìm kiếm và nhanh chóng xác định có tồn tại hồ sơ tương ứng hay không, nếu có thì in ra sohieusv và kqht, ngược lại in thông báo không tìm thấy. (Yêu cầu : Tuân thủ các yêu cầu về phong cách lập trình, thiết kế topdown và các kỹ thuật Lt hiệu quả) Câu 8 : (1.5đ) Một chương trình viết trên một ngôn ngữ mô phỏng như sau: void Bidon(){ 1- Khởi tạo Stack S với con trỏ T Duyệt mảng V và lưu vào Stack S nếu V[i] =0 for (i=1;i <=n;i++) if (V[i] ==0) Push(S,T,i); 2- Duyệt Stack for (i =1;i <=n; i++) { if Stack is Empty Return MainProgram; Dỡ Stack và in nội dung : Pop(S,T,X); Printf(“ %d”,X); Tìm con của X và nạp vào Stack; } } Viết lại đoạn 2 của chương trình để được kết quả tương đương mà không phải dùng lệnh Return MainProgram (thực chất là 1 lệnh Goto ). Dap an se duoc xuat ban sau ! Đề xuất url này trên Google Vu Duc Vuong - SOICT-HUT: De Thi KTLT K53 - 2010 http://vuducvuong-soict-hut.blogspot.com/2010/12/de-thi-ktlt-k53-2010 3 of 5 05/09/2012 09:49 AM Bài đăng Mới hơn Trang chủ Đăng ký: Đăng Nhận xét (Atom) Nhập nhận xét của bạn Nhận xét với tư cách: Chọn hồ sơ Xuất bản Xem trước 0 nhận xét: Đăng một Nhận xét Tham gia trang web này với Kết nối Bạn bè của Google Thành viên (37) Bạn đã là thành viên rồi? Đăng nhập NGƯỜI THEO DÕI VuongVd Xem hồ sơ hoàn chỉnh của tôi GIỚI THIỆU BẢN THÂN ► 2011 (2) ▼ 2010 (6) ▼ tháng mười hai (6) Bai thi KTLT K53 BKHN - de so 2 Ve Ket qua bai thi KTLT K53 2010 - tiep 2 Ve bai thi KTLT k53 BKHN - Tiep Vai nhan xet ve ket qua bai thi KTLT k53 de thi Tin Dai cuong 2010 LƯU TRỮ BLOG Vu Duc Vuong - SOICT-HUT: De Thi KTLT K53 - 2010 http://vuducvuong-soict-hut.blogspot.com/2010/12/de-thi-ktlt-k53-2010 4 of 5 05/09/2012 09:49 AM De Thi KTLT K53 - 2010 Mẫu Simple. Cung cấp bởi Blogger. Vu Duc Vuong - SOICT-HUT: De Thi KTLT K53 - 2010 http://vuducvuong-soict-hut.blogspot.com/2010/12/de-thi-ktlt-k53-2010 5 of 5 05/09/2012 09:49 AM . Vuong - SOICT-HUT Tìm kiếm THỨ SÁU, NGÀY 17 THÁNG MƯỜI HAI NĂM 2010 De Thi KTLT K53 - 2010 Đề thi So 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. { swap (A[j], A[j-1]); doicho++; } if (doicho == 0) RETURN MainProgram; } } Đề thi so 2 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 cấm tuyệt. tìm thấy. (Yêu cầu : Tuân thủ các yêu cầu về phong cách lập trình, thi t kế topdown và các kỹ thuật Lt hiệu quả) Câu 8 : (1.5đ) Một chương trình viết trên một ngôn ngữ mô phỏng như sau: void Bidon(){ 1-

Ngày đăng: 28/06/2014, 11:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan