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

đáp án đề thi lí thuyết tốt nghiệp khóa 2 - lập trình máy tính - mã đề thi ltmt - lt (32)

6 95 0
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

Định dạng
Số trang 6
Dung lượng 73,5 KB

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

Nội dung

CNG HềA X HI CH NGHA VIT NAM c lp T do Hnh phỳc P N THI TT NGHIP CAO NG NGH NGH:QUN TR MNG MY TNH MễN THI: THUYT CHUYấN MễN NGH Mó thi: DA LTMT - LT32 Hỡnh thc thi: Vit t lun Thi gian: 150 phỳt (khụng k thi gian giao thi) P N I. PHN BT BUC (7 im) Cõu 1: (2.5 im) Cho s quan h R(U,F). U={DBIOQS}; F={SD, IB, ISQ, BO}. a) Hãy chun hoá R(U,F) v 3NF. b) Với kết quả của phép tách trên câu a, lợc đồ R đã ở dạng bảo toàn phụ thuộc cha? Vì sao? TT Ni dung im Cho s quan h R(U,F). U={DBIOQS}; F={SD, IB, ISQ, BO}. a) Hãy chun hoá R(U,F) v 3NF. b) Với kết quả của phép tách trên câu a, lợc đồ R đã ở dạng bảo toàn phụ thuộc cha? Vì sao? 2.5 a Chuẩn hoá về 3NF Bớc 1: Không thực hiện Bớc 2: Không thực hiện Bớc 3: Vì F={SD, IB, ISQ, BO} đã ở dạng tối tiểu nên ta tiến hành tách về dạng chuẩn 3: R1(SD, {S > D}) R2(IB, {I > B}) R3(ISQ, {IS > Q}) R4(BO, {B > O}) Vậy, = {R1, R2, R3, R4} là phép tách về dạng chuẩn 3. 2 b Với kết quả của phép tách trên câu (a), lợc đồ R đã 0.5 ở dạng bảo toàn phụ thuộc vì khi ta hợp các phép chiếu của các bảng thu đợc từ các phép tách trên vẫn thu đợc tập phụ thuộc hàm F giống phụ thuộc hàm F đã cho. Cõu 2: Cu trỳc d liu & gii thut (2.5 im) TT Ni dung im 1. Vit chng trỡnh to mt dóy s nguyờn lu tr theo kiu d liu Queue, a phn t vo dựng th tc qInsert, ly phn t ra dựng th tc qDelete. #include <stdio.h>; #include <conio.h>; typedef int mang[20]; mang a; int n, t, d, x, f ,r ; void qInsert( int x){ if (r>=n) printf ( Queue tran); else { r=r+1; a[r]=x; } } int qDelete(){ if (f>=n) printf(Queue can); else { f=f+ 1; return a[f-1]; } } void main(){ clrscr(); printf (nhap do rong cua Queue:); scanf (%d, &n); r=-1; f=0; for (i=0; i<n; i++){ printf( nhap so thu %d,i); scanf(%d, &x); qInsert(x); 1 } prinf (“ day vua nhap la:”); for (i=0;i<n;i++){ x= qDelete(); printf ( “%d”, x); } getch(); } 2. Viết chương trình tạo một danh sách liên kết đơn, … typedef struct SP{ char ten[10]; char ma[5]; int soluong; float giaban, thanhtien; }; typedef struct tagNode { SP infor; struct tagNode *link; } Node; Node *head, *p, *moi; int n; 0,25 void nhap( ) { SP tg ; int i ; head = NULL; for ( i=0; i<n; i++){ moi = (Node *) malloc (sizeof(Node)); printf (“ Nhap thong tin cho nut moi:”); printf (“ Nhap thong tin ten san pham:”); fflush(stdin); gets ( tg.ten); fflush(stdin); printf ( “ Nhap ma san pham:”); fflush(stdin); gets ( tg.ma); fflush(stdin); printf ( “ Nhap so luong san pham:”); scanf(“%d”, &tg.soluong); 0.5 printf ( “ Nhap giaban san pham:”); scanf(“%f”, &tg.giaban); tg.thanhtien=tg.soluong * tg.dongia; moi -> infor =tg; if (head ==NULL){ head = moi; p=moi; p -> link =NULL; } else{ p -> link = moi; p= moi; p -> link =NULL; }}} void inmathang() { Node *p; p=head; while (p !=NULL) { if (strcmp(p->infor.ma, “MS20”)==0) printf (“ \t %s \t%s \t%d \t%f \t%f”, p->infor.ten, p->infor.ma, p->infor.soluong, p->infor.giaban, p->infor. thanhtien); p=p->link; } } 0.25 int dem() { int d=0; p=head; while (p !=NULL) { if ((p->infor.soluong <500)&&( p->infor.soluong <400)) d++; p=p->link; } return d; } 0.25 void main() { clrscr() ; printf ( ” nhap so nut ”) ;scanf (“ %d”, &n); nhap(); inmathang(); prinft(“ so mat hang co so luong <100 va thanh tien <400 la %d”, dem()); getch(); } 0.25 Câu 3: (1.5 điểm) Cho biết kết quả hiển thị ra màn hình của đoạn chương trình sau: Lập bảng để giải thích từng dòng lệnh #include <iostream.h>; int main () { int value1 = 5, value2 = 15; int * mypointer; mypointer = &value1; *mypointer = 10; mypointer = &value2; *mypointer = 20; cout << "value1==" << value1 << "/ value2==" << value2; return 0; } TT Nội dung Điểm Value1 =10, value2 =20 0.5 Lệnh Giá trị của các biến int value1 = 5, value2 = 15; Khai báo 2 biến value1 và value2 kiểu int và gán giá trị cho 2 biển. Value1 =5,value2 =15 int * mypointer; khai con trỏ mypointer kiểu int mypointer = &value1; Cho con trỏ mypointer 1 trỏ tới địa chỉ của value1 *mypointer = 10; Gán giá trị của ô nhớ con trỏ mypointer đang trỏ tới bằng 10=> value1 =10 mypointer = &value2; Cho con trỏ mypointer trỏ tới địa chỉ của value2 *mypointer = 20; Gán giá trị của ô nhớ con trỏ mypointer đang trỏ tới bằng 20=> value1 =20 cout << "value1==" << value1 << "/ value2==" << value2; In ra màn hình value1 =10 / value 2 = 20 II. PHẦN TỰ CHỌN (3 điểm) ………………………… Hết……………………… . phỳc P N THI TT NGHIP CAO NG NGH NGH:QUN TR MNG MY TNH MễN THI: Lí THUYT CHUYấN MễN NGH Mó thi: DA LTMT - LT32 Hỡnh thc thi: Vit t lun Thi gian: 150. DA LTMT - LT32 Hỡnh thc thi: Vit t lun Thi gian: 150 phỳt (khụng k thi gian giao thi) P N I. PHN BT BUC (7 im) Cõu 1: (2.5 im) Cho s quan h R(U,F).

Ngày đăng: 17/03/2014, 17:57

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w