ÔN THI T T NGHI P( T 1)Ố Ệ ĐỢ
Bu i 6: Ki m traổ ể
1. Ki u d li u c b n g m: …?ể ữ ệ ơ ả ồ
2. Nêu t khóa ki u c b n trong C# có mà C/C++ không?ừ ể ơ ả
3. Tên nào sai: ho ten, user-name, pass, main, 12a1?
4. Phân lo i i u ki n c a m nh Where?ạ đ ề ệ ủ ệ đề
5. Cho m ng có 10 ph n t 1 2 3 4 5 6 7 8 9 10. N u tìm giá tr 20 b ng thu t toán nh phân thì s ả ầ ử ế ị ằ ậ ị ố
phép toán so sánh là bao nhiêu?
6. Gi i thu t s p x p cho k t qu ch y nh sau:ả ậ ắ ế ế ả ạ ư
B0: 6 8 5 9 4
B1: 4 | 8 5 9 6
B2: 4 5 | 8 9 6
B3: 4 5 6 | 9 8
B4: 4 5 6 8 | 9
Tên gi i thu t? Ý t ng?ả ậ ưở
Cho l c CSDLượ đồ
SAN_PHAM (MaSP, TenSP, NSX, MaNhom, SL, Gia, DVT)
NHOM_SP (MaNhom, TenNhom)
NHA_SAN_XUAT (MaNSX, TenNSX, Thongtin)
HOA_DON (MaHD, MaNV, MaKH, NgayDat, NgayGiao, DiachiGiao, SDT, XacNhan)
CTHD (MaHD, MaSP, SLban)
7. Cho bi t quan h gi a các b ng? (Tr l i d ng: A – B – C …)ế ệ ữ ả ả ờ ạ
8. L p danh sách các s n ph m (MaSP, TenSP, Gia) c a nhà s n xu t “ABC”ậ ả ẩ ủ ả ấ
9. L p chi ti t hóa n c a khách hàng có mã “001” g m các thông tin: Tên hàng, S l ng, n ậ ế đơ ủ ồ ố ượ Đơ
giá, Thành ti nề
10. L p danh sách các hóa n ã giao trong ngày 12/3/2014 có s m t hàng mua ít h n 3 g m cácậ đơ đ ố ặ ơ ồ
thông tin: Mã HD, Mã KH, Ngày t, a ch giao, SDTđặ Đị ỉ
T nh c các b n t làm bài, ng nhìn l i tài li u n a xem th nh ng ngày qua mình h c ntn? ắ ạ ự đừ ạ ệ ữ để ử ữ ọ
Làm bài b ng Word và g i mail ằ ử
C g ng và chúc thành công.\ố ắ
Bu i 7:ổ
Cho l c CSDL qu n lí nh p qu n áo th i trang.ượ đồ ả ậ ầ ờ
SAN_PHAM (MASP, TENSP, DGBAN, SIZE, MOTA, HINH, MANHOM)
Mô t : S n ph m qu n áo th i trang c l u tr thông tin trong b ng SAN_PHAM, m i s n ph m có 1 ả ả ẩ ầ ờ đượ ư ữ ả ỗ ả ẩ
mã s n ph m (MASP) duy nh t, tên s n ph m (TENSP), n giá bán (DGBAN), kích th c (SIZE) có ả ẩ ấ ả ẩ đơ ướ
size s (26 n 32), size ch (S, M, L, XL, XXL), mô t (MOTA) s n ph m v ch t li u, ki u dáng …, hìnhố đế ữ ả ả ẩ ề ấ ệ ể
nh minh ho cho s n ph m (HINH), m i s n ph m thu c m t nhóm (MANHOM)ả ạ ả ẩ ỗ ả ẩ ộ ộ s n ph m.ả ẩ
KHO_HANG (MAKHO, TENKHO, DIACHI)
Mô t : Doanh nghi p có nhi u kho hàng (KHO_HANG), thông tin kho hàng g m mã kho (MAKHO) có th ả ệ ề ồ ể
giúp phân bi t các kho, tên kho (TENKHO) và a ch kho (DIACHI).ệ đị ỉ
CHI_TIET_KHO (MAKHO, MASP, SOLUONG, CHIPHI)
Mô t : M i kho có th ch a nhi u s n ph m, m i s n ph m có th có nhi u kho, thông tin s n ph m ả ỗ ể ứ ề ả ẩ ỗ ả ẩ ể ở ề ả ẩ
l u tr trong kho ngoài mã kho và mã s n ph m còn có s l ng (SOLUONG) t ng ng s n ph m l u ư ữ ả ẩ ố ượ ươ ứ ả ẩ ư
trong kho và chi phí (CHIPHI) n v (VN /SP) khi l u khođơ ị Đ ư
PHIEU_NHAP (MAPN, NGAYLAP, MANV)
Mô t : Khi nh p kho s n ph m, thông tin nh p s c l u tr trong phi u nh p g m mã phi u nh p ả ậ ả ẩ ậ ẽđượ ư ữ ế ậ ồ ế ậ
(MAPN), ngày l p phi u (NGAY) và ng i l p phi u (MANV).ậ ế ườ ậ ế
CHITIET_PN(MAPN, MASP, SL, DGNHAP, GHICHU)
Mô t : Chi ti t phi u nh p có mã phi u nh p, mã s n ph m, s l ng (SL), n giá nh p (DGNHAP) cho ả ế ế ậ ế ậ ả ẩ ố ượ đơ ậ
t ng s n ph m ( n giá nh p ph i bé h n n giá bán ít nh t 10%), ghi chú (GHICHU) thêm cho quá ừ ả ẩ đơ ậ ả ơ đơ ấ
trình nh p hàng (n u có).ậ ế
1. Xác nh khóađị
2. Ngoài các ràng bu c v khóa, nêu 1 ràng bu c toàn v n (b i c nh, bi u di n, b ng t m nh h ng) ộ ề ộ ẹ ố ả ể ễ ả ầ ả ưở
(câu này m nên có th có nhi u áp án)ở ể ề đ
3. Vi t truy v n:ế ấ
a. L p chi ti t các phi u nh p trong ngày 4/1/2014 bao g m: MaPN, MaSP, SL, DGNHAP, GHICHUậ ế ế ậ ồ
b. Li t kê các m t hàng trong kho có mã K01 g m: MaSP, TenSP, SOLUONG, DONGIA, ệ ặ ồ
CHIPHILUUKHO. Trong ó DONGIA = DGNHAP + CHIPHIđ
c. Cho bi t l ng t n c a các s n ph m: MaSP, TenSP, LUONGTONế ượ ồ ủ ả ẩ
T nh c l i thôi, làm t ng câu riêng các b n d cmt nhé.ắ ạ ừ để ạ ễ
Tr l i:ả ờ
c1:
SANPHAM: MASP
KHO: MAKHO
CHI_TIET_KHO: MAKHO,MASP
PHIEU_NHAP: MAPN
CHITIET_PN :MAPN,MASP.
Câu 2, nh n d ng ràng bu c toàn v n úng, Tu n vàậ ạ ộ ẹ đ ấ Tina Do
Ngoài ra (theo mô t ), còn có ràng bu c v sizeả ộ ề
Yêu c u ghi: B i c nh, bi u di n, b ng thì các b n xem l i cách ghi nhé. Ph n này ánh trên ây không c, hôm ầ ố ả ể ễ ả ạ ạ ầ đ đ đượ
nào r nh T ánh r i ch p hình l i cho các b n góp ý.ả đ ồ ụ ạ ạ
( Tham kh o: ả
-Tu n: ấ câu 2: RBTV v SL. V i SL>0ề ớ
-tina do:
câu 2: Ràng bu c liên thu c tính liên quan h .ộ ộ ệ
B i c nh: SAN_PhAM, CHITIET_PNố ả
Di n bi n: n giá nh p ph i bé h n n giá bán ít nh t 10%ễ ế Đơ ậ ả ơ đơ ấ
T m nh h ng: thêm , xóa , s aầ ả ưở ử
SAN_PHAM không không có
CHITIET_PN có không có)
Câu 3a (sao chép t Trang Thái, có ch nh s a chút xíu)ừ ỉ ử
Select pn.MaPN, MaSP, SL, DGNHAP, GHICHU
From PHIEU_NHAP pn, CHITIET_PN ct
Where pn.MAPN=ct.MAPN AND NGAYLAP='04/01/2014'
Các b n chú ý cách t l i tên b ng, t o c thói quen này thì vi t truy v n nhanh h n c vài giây óạ đặ ạ ả ạ đượ ế ấ ơ đượ đ
Câu 3b (t ng t )ươ ự
Select ctk.MaSP, TenSP, SOLUONG,( DGNHAP+CHIPHI) As DONGIA, CHIPHI*SL As CHIPHILUUKHO
From SAN_PHAM sp, CHI_TIET_KHO ctk, CHITIET_PN ctpn
Where sp.MASP=ctk.MASP
And sp.MASP=ctpn.MASP
And MAKHO='K01'
Câu 3c (t ng t là i l y c a hàng xóm v s a l i)ươ ự đ ấ ủ ề ử ạ
Select sp.MaSP, TenSP, SUM(SOLUONG) As LUONGTON
From SAN_PHAM sp, CHI_TIET_KHO stk
Where sp,MASP=ctk. MASP
Group By sp.MaSP, TenSP
Bu i 8:ổ
1. Các b n xem l i cú pháp c a if (cái này ch c không c n) và switch caseạ ạ ủ ắ ầ
2. Xây d ng các ch ng trình con sau: (chú ý là ctc ch không ph i ch ng trình)ự ươ ứ ả ươ
a/ Gi i ptb1ả
b/ Cho bi t s ngày c a thángế ố ủ
c/ Cho bi t Quý (1, 2, 3 hay 4) c a tháng. VD tháng 8 thì thu c quý 3ế ủ ộ
d/ Gi i ptb2ả
Tr l i:ả ờ
C u trúc l a ch nấ ự ọ
-If hay If else: cái này không c n, vì e th y ai c ng bi t r, Th y c ng nói không c nầ ấ ũ ế ầ ũ ầ
-Switch Case:
switch ( i n ki n so sánh) {Đ ề ệ
case (h ng s 1): thao tác 1; [break;]ằ ố
case (h ng s 2): thao tác 2; [break;]ằ ố
case (h ng s 3): thao tác 3; [break;]ằ ố
default: (thao tác khi không có k t qu nào th a i u ki n so sánh); [break;]ế ả ỏ đ ề ệ
Câu 2:
-Ý t ng: xây d ng và s d ng các l p tr u t ng ( h ng i t ng) cho t ng ctc t ng ng v i t ng câu h i a b ưở ự ử ụ ớ ừ ượ ướ đố ượ ừ ươ ứ ớ ừ ỏ
c d. khi ch y tr ng trình chính, tùy theo yêu c u s g i các l p con ó ra (có th s d ng if else, swith case, ho cạ ươ ầ ẽ ọ ớ đ ể ử ụ ặ
cho ch y h t 4 ctc)ạ ế
Câu 2b:
int songay(int thang)
{
switch (thang){
case 1,3,5,7,8,10,12: return 31;
case 4,6,9,11: return 30;
case 2: return 29; //ch này b qua 28 do ph i bi t thông tin n mỗ ỏ ả ế ă
}
return 0;
}
Câu 2c:
int songay(int thang)
{
switch (thang){
case 1,2,3: return 1;
case 4,5,6: return 2;
case 7,8,9: return 3;
case 10,11,12: return 4;
}
return 0;
}
void gaiPTbac1(float a1, float b1)
{
float x1;
if(a1==0)
{
if(b1==0)
{
cout<<"Phuong trinh vo nghiem";
}
else
{
cout<<"Phuong trinh vo nghiem";
}
}
else
{
x1=b1/a1;
cout<<"Nghiem cua phuong trinh la: "; cout<< x1;
}
}
Bu i 9:ổ
1. Xem l i nh ngh a danh sách liên k t. Các b n t xem l i n m c DSLK là cái gì thôi, t i sao l i ạ đị ĩ ế ạ ự ạ để ắ đượ ạ ạ
có khái ni m này? R i sao ó xem các yêu c u d i.ệ ồ đ ầ ướ
2. Khai báo DSLK? (Cái này m i sách vi t m i khác (b n ch t gi ng nhau), nh ng các b n xem nhi u thì ỗ ế ỗ ả ấ ố ư ạ ề
d t u h a l m, xem l i úng t p h c c a các b n thôi, T s theo ó h ng d n cho các b n)ễ ẩ ỏ ắ ạ đ ậ ọ ủ ạ ẽ đ để ướ ẫ ạ
3. Vi t ctc m s ph n t DSLK?ế đế ố ầ ử
4. Vi t ctc thêm ph n t x vào v trí y c a DSLK?ế ầ ử ị ủ
5. Vi t ctc xóa ph n t x trong DSLK?ế ầ ử
Tr l i:ả ờ
2. Khai báo DSLK
// Khai báo m t "nút" trong DSLK g m 2 thành ph n: ph n thông tin (mà c n gi n hóa b ng m t s nguyên i ộ ồ ầ ầ đượ đơ ả ằ ộ ố đạ
di n) và ph n tr vào "nút" sauệ ầ ỏ
struct node
{
int info;
node *next;
};
//Khai báo DSLK là m t con tr có tên là head tr n m t nútộ ỏ ỏ đế ộ
node *head;
Kh i t o ban u (n u có) là head = NULL;ở ạ đầ ế
3. m s pt trong DSLKĐế ố ử
int sopt(node *head)
{
node *q;
q = head;
int kq = 0;
while (q!=NULL)
{
kq++;
q = q->next;
}
return kq;
}
4. Thêm ph n t có giá tr x vào v trí y c a DSLKầ ử ị ị ủ
//Ctc h tr t o "nút" có giá tr xỗ ợ ạ ị
node *makenode(int x)
{ node *p = new node;
p ->info = x;
p ->next = NULL;
return p;
}
void them(node *head, int x, int y)
{
node *q, *p, *node_x;
q = head;
//T o nút m iạ ớ
node_x = makenode(x);
//D i q n i m c n thêm nút m iờ đế đ ể ầ ớ
while(y > 0)
{
q = q->next;
y ;
}
//Chèn nút m i vàoớ
node_x ->next = q;
q = node_x;
}
5. Xóa ph n t x trong DSLKầ ử
i v i DSLK, x ây th ng c hi u nh là khóa c a t p d li u nên s xu t hi n c a x trong DSLK (n u có) thìĐố ớ ở đ ườ đượ ể ư ủ ậ ữ ệ ự ấ ệ ủ ế
ch 1 l nỉ ầ
K t qu c a thao tác xóa c ng có th c tr l i: 1 = ã tìm th y x và ã xóa, 0 = không tìm th y xế ả ủ ũ ể đượ ả ờ đ ấ đ ấ xóa. Nên ctc để
c vi t:đượ ế
int xoa(node *head, int x)
{
node *p, *q;
q = head;
while (q!=null)
{
if (q->info = x)
{
p = q;
q = q->next;
delete p;
return 1;
}//k t thúc ifế
q = q->next;
}//k t thúc whileế
return 0;
}
Bu i 10ổ
Cho l c c s d li u qu n lý l ng t i m t n v c mô t nh sau:ượ đồ ơ ở ữ ệ ả ươ ạ ộ đơ ị đượ ả ư
CHUC_VU(MACV, TENCV, LUONGCB, LUONGTC)
Mô t : M i ch c v có 1 mã ch c v (MACV) riêng, i kèm các thông tin tên ch c v (TENCV), l ng c ả ỗ ứ ụ ứ ụ đ ứ ụ ươ ơ
b n (LUONGCB), l ng t ng ca (LUONGTC) c tính theo ngày.ả ươ ă đượ
NHAN_VIEN(MANV, HONV, TENNV, GIOITINH, NGAYSINH, NGAYVAOLAM, DIACHI, SODT, CMND,
HOKHAU, MACV).
Mô t : Nhân viên (NHAN_VIEN) c l u tr các thông tin: mã nhân viên (MANV), H (HONV), Tên ả đượ ư ữ ọ
(TENNV), Gi i tính (GIOITINH), Ngày sinh (NGAYSINH), Ngày vào làm (NGAYVAOLAM), a ch th ngớ Đị ỉ ườ
trú (DIACHI), s i n tho i (SODT), ch ng minh nhân dân (CMND). M i nhân viên ch m nh n m t ố đ ệ ạ ứ ỗ ỉ đả ậ ộ
ch c v . Hai nhân viên khác nhau s có mã khác nhau.ứ ụ ẽ
TAM_UNG(MATU, NGAYTU, SOTIEN, MANV)
Mô t : B ng t m ng s l u tr thông tin t m ng c a nhân viên, các thông tin l u tr g m: mã t m ng ả ả ạ ứ ẽ ư ữ ạ ứ ủ ư ữ ồ ạ ứ
(MATU) c ánh s th t t ng, ngày t m ng (NGAYTU), s ti n t m ng (SOTIEN) và Mã nhân đượ đ ố ứ ự ă ạ ứ ố ề ạ ứ
viên xin t m ng.ạ ứ
CHAM_CONG(MACC, THANG, NAM, SONGAYCONG, SONGAYTC, MANV).
Mô t : B ng ch m công (CHAM_CONG) có mã ch m công (MACC), tháng (THANG), n m(NAM) tính ả ả ấ ấ ă
công, s ngày công (SONGAYCONG), s ngày t ng ca (SONGAYTC) trong tháng và thông tin nhân viên ố ố ă
c tính công.đượ
Th c hi n các truy v n sau:ự ệ ấ
1. L p danh sách nhân viên có sinh nh t trong tháng hi n t i và tháng sau g m các thông tin: Mã NV, H ậ ậ ệ ạ ồ ọ
tên NV, Ngày tháng sinh (không trình bày n m sinh), S Tă ố Đ
2. L p b ng tính l ng tháng 5/2014 c a nhân viên v i các thông tin: Mã NV, H , Tên, L ng, T ng ca, ậ ả ươ ủ ớ ọ ươ ă
T m ng, Th c lãnh. Trong ó:ạ ứ ự đ
L ng = L ng CB * S ngày côngươ ươ ố
T ng ca = S ngày t ng ca * L ng t ng caă ố ă ươ ă
Th c lãnh = L ng + t ng ca – t m ngự ươ ă ạ ứ
3. Cho bi t l ng bình quân c a nhân viên giao hàng (tên ch c v là nhân viên giao hàng)ế ươ ủ ứ ụ
Câu 2 h i r i ó các b n, xem xét k các i u ki n.ơ ố đ ạ ỹ đ ề ệ