intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Đề thi & đáp án lý thuyết Lập trình máy tính năm 2012 (Mã đề LT8)

Chia sẻ: Chien Chien | Ngày: | Loại File: PDF | Số trang:7

93
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Đề thi lý thuyết Lập trình máy tính năm 2012 (Mã đề LT8) sau đây có nội dung đề thi gồm 3 câu hỏi với hình thức thi tự luận và thời gian làm bài trong vòng 150 phút. Ngoài ra, tài liệu này còn kèm theo đáp án giúp bạn có thể dễ dàng kiểm tra so sánh kết quả được chính xác hơn. Mời các bạn cùng tham khảo và thử sức mình với đề thi nghề này nhé.

Chủ đề:
Lưu

Nội dung Text: Đề thi & đáp án lý thuyết Lập trình máy tính năm 2012 (Mã đề LT8)

  1. CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc ĐỀ THI TỐT NGHIỆP CAO ĐẲNG NGHỀ KHOÁ 3 (2009 - 2012) NGHỀ: LẬP TRÌNH MÁY TÍNH MÔN THI: LÝ THUYẾT CHUYÊN MÔN NGHỀ Mã đề số: LTMT - LT08 Hình thức thi: Tự luận Thời gian: 150 phút (không kể thời gian giao/chép đề thi) ĐỀ BÀI Câu 1: (1,5 điểm) 1. Trình bày giải thuật tìm kiếm nhị phân không đệ quy. 2. Hãy đưa ra một dãy khoá bất kỳ gồm ít nhất 10 phần tử , sau đó mô tả các bước tìm kiếm một khoá nào đó theo thuật toán tìm kiếm nhị phân, không đệ quy. Câu 2: (3,5 điểm) Xây dựng lớp phân số bao gồm hai thành phần tử số và mẫu số để cài đặt các toán tử toán học cho lớp phân số này. Viết chương trình thực hiện: a. Định nghĩa hàm thiết lập để tạo đối tượng sao cho tử số là số nguyên và mẫu số phải là số nguyên dương và phân số được tối giản. b. Xây dựng toán tử chuyển kiểu, toán tử so sánh hai phân số bằng nhau, toán tử cộng hai phân số kết quả phải được tối giản. c. Xây dựng toán tử xuất dữ liệu của một phân số. d. Viết hàm main thực hiện: - Nhập hai phân số và hiển thị ra màn hình tổng của hai phân số đó. - Nhập vào một dãy gồm n phân số và hiển thị ra màn hình dãy phân số đó - Đếm xem có bao nhiêu phân số có giá trị bằng một phân số được nhập vào từ bàn phím. Câu 3: (2,0 điểm) Cho các quan hệ sau: Monhoc (MSMH ,TENMH,SOTINCHI ,TINHCHAT) MSMH: mã số môn học, TENMH: tên môn học SOTINCHI: số lượng tín chỉ TINHCHAT: bằng 1 nếu là môn học bắt buộc, bằng 0 nếu là môn học không bắt buộc Sinhvien (MSSV, HOTEN, NGAYSINH, LOP) MSSV: Mã số sinh viên Trang:1/ 2
  2. HOTEN: họ tên sinh viên NGAYSINH: ngày sinh LOP(C,4,0) lớp Diem(MSSV,MSMH,DIEMTHI) DIEMTHI: điểm thi Hãy dùng lệnh SQL để thực hiện các yêu cầu sau: a) Hãy liệt kê những môn học bắt buộc của SOTINCHI cao nhất. b) Hãy liệt kê danh sách gồm MSSV, HOTEN, LOP, DIEMTHI của những sinh viên thi môn học CSDL theo thứ tự LOP, DIEMTHI. c) Hãy cho biết các sinh viên có điểm thi cao nhất và môn học có mã là CSDL d) Hãy cho biết phiếu điểm của sinh viên có mã số là 9900277 e) Hãy liệt kê danh sách gồm MSSV, HOTEN, LOP, DIEMTRUNGBINH của những sinh viên có điểm trung bình các môn dưới 5, theo thứ tự LOP,HOTEN. ..............,ngày.............tháng..............năm............... DUYỆT HỘI ĐỒNG THI TỐT NGHIỆP TIỂU BAN RA ĐỀ THI Trang:2/ 2
  3. CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc ĐÁP ÁN ĐỀ THI TỐT NGHIỆP CAO ĐẲNG NGHỀ KHOÁ 3(2009 - 2012) NGHỀ: LẬP TRÌNH MÁY TÍNH MÔN THI: LÝ THUYẾT CHUYÊN MÔN NGHỀ Mã đề số: DA LTMT - LT08 Câu Nội dung Điểm I. Phần bắt buộc 7 điểm Câu 1 1,5 điểm 1 Trình bày giải thuật tìm kiếm nhị phân không đệ quy. 0,75 điểm function TKNP(k,n,x); 0,25 điểm 1. l:=1; r:=n; 2. while l k[m] then l:= m+1 else return(m); end; 3. return(0); 2 Hãy đưa ra một dãy khoá bất kỳ gồm ít nhất 10 phần tử , 0,75 điểm sau đó mô tả các bước tìm kiếm một khoá nào đó theo thuật toán tìm kiếm nhị phân không đệ quy. Cho một dãy khoá, chẳng hạn10, 15, 25, 30, 45, 50, 60, 0,25 điểm 75, 80, 90. Minh hoạ tìm khoá X=80 Bắt đầu với l =1; r = 10; bước 1: tính m = 5, a[5] r = 10, l = 6; bước 2: tính m = 8, a[8] l =9; r = 10, 0,25 điểm Trang:1/ 5
  4. bước 3: tính m =9, a[9] = 80=>kết thúc 0,25 điểm Câu 2 3,5 điểm a Định nghĩa hàm thiết lập để tạo đối tượng sao cho tử số là 0,5 điểm số nguyên và mẫu số phải là số nguyên dương và phân số được tối giản. #include 0,25 điểm #include class PhanSo { int ts,ms; void rutgon(); public: PhanSo(int x=0,int y=1):ms(y),ts(x) { rutgon(); } operator int(); operator float(); PhanSo operator -() const { return PhanSo(-ts,ms); } //Cac phep toan co so friend int operator ==(const PhanSo&, const PhanSo&); friend PhanSo operator +(const PhanSo&,const PhanSo&); //Phep toan ket xuat du lieu cua mot phan so friend ostream& operator m) { if(m==0) return n; return uscln(n%m,m); } if(n==0) return m; return uscln(m%n,n); } void PhanSo::rutgon() { Trang:2/ 5
  5. if(ms0)?uscln(ts,ms):uscln(-ts,ms); ts=ts/usc; ms=ms/usc; } b Xây dựng toán tử chuyển kiểu, toán tử so sánh hai phân số 0,75 điểm bằng nhau, toán tử cộng hai phân số kết quả phải được tối giản. //Toan tu chuyen kieu int tra ve phan chia nguyen cua phan so PhanSo::operator int() 0,25 điểm { return ts/ms; } //chuyen kieu thuc tra ve phan chia thuc PhanSo::operator float() { return float(ts)/ms; } //thuc hien cac toan tu cho lop phan so int operator = =(const PhanSo& ps1,const PhanSo& ps2) 0,25 điểm { return(ps1.ts==ps2.ts&&ps1.ms==ps2.ms); } PhanSo operator +(const PhanSo& ps1,const PhanSo& 0,25 điểm ps2) { return PhanSo(ps1.ts*ps2.ms+ps2.ts*ps1.ms,ps1.ms*ps2.ms); } c Xây dựng toán tử xuất dữ liệu của một phân số. 0,25 điểm ostream& operator
  6. phân số đó. - Nhập vào một dãy gồm n phân số và hiển thị ra màn hình dãy phân số đó - Đếm xem có bao nhiêu phân số có giá trị bằng một phân số được nhập vào từ bàn phím. Nhập hai phân số và hiển thị ra màn hình tổng của hai 0,5 điểm phân số đó. void main() 0,25 điểm { clrscr(); int i,a,b,n; cout
  7. Đếm xem có bao nhiêu phân số có giá trị bằng một phân 0,5 điểm số được nhập vào từ bàn phím. cout
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0