Giáo trình FoxPro - Phần bài tập

Tài liệu gồm rất nhiều các bài tập về lập trình FoxPro nhằm giúp cho người lập trình có thêm nhiều cách để giải quyết một chương trình trong FoxPro

pdf8 trang | Chia sẻ: franklove | Lượt xem: 2077 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Giáo trình FoxPro - Phần bài tập, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bµi tËp qu¶n lý tuyÓn sinh I. HÖ thèng b¶ng d÷ liÖu: HOSOTS.DBF: L•u hå s¬ ®¨ng ký tuyÓn sinh Field name Type, Width, Dec Description MAHOSO C(10) M· hå s¬ ®¨ng ký SBD C(10) Sè b¸o danh HODEM C(20) Hä vµ tªn ®Öm TEN C(7) Tªn NGAYSI NH D(8) Ngµy sinh QUEQUA N C(50) Hé khÈu th•êng tró GIOITIN H L(1) Giíi tÝnh (T-nam, F-n÷) KHOITHI C(1) Khèi thi (A, B, C...) KHUVUC C(5) Khu vùc ®¨ng ký dù thi MANGA NH C(5) Mµ ngµnh ®¨ng ký dù thi TINH.DBF: L•u danh s¸ch c¸c tØnh thµnh c¶ n•íc Field name Type, Width, Dec Description MATIN H C(5) M· tØnh, thµnh phè TENTIN H C(30) Tªn tØnh, thµnh phè KHUVU C C(5) Thuéc khu vùc nµo DIEMU T N(3,1) §iÓm •u tiªn theo khu vùc DIENUT.DBF: L•u c¸c diÖn •u tiªn vµ ®iÓm •u tiªn Field name Type Width, Dec Description DIENUT N(2,0) C¸c diÖn •u tiªn DIEMUT N(3,1) §iÓm •u tiªn t•¬ng øng DIEMTHI.DBF: L•u ®iÓm thi vµ kÕt qu¶ thi cña c¸c thÝ sinh Field name Type, Width, Dec Descriptio n SBD C(10) Sè b¸o danh KHOITHI C(1) Khèi thi DIEM1 N(4,1) §iÓm m«n 1 DIEM2 N(4,1) §iÓm m«n 2 DIEM3 N(4,1) §iÓm m«n 3 DIEMUT N(3,1) §iÓm céng •u tiªn MUCKYLU AT N(1,0) Møc kû luËt TONGDIE M N(4,1) Tæng ®iÓm KETQUA C(5) KÕt qu¶ (§ç, Tr•ît) GHICHU C(10) Ghi chó KHOITHI.DBF: L•u danh s¸ch c¸c khèi thi Field name Type, Width, Dec Description KHOITHI C(1) Khèi thi MON1 C(10) Tªn m«n thi thø nhÊt MON2 C(10) Tªn m«n thi thø 2 MON3 C(10) Tªn m«n thi thø 3 KYLUAT.DBF: L•u c¸c møc kû luËt ®•îc ®Æt ra Field name Type, Width, Dec Description MUC N(1,0) Møc kû luËt (kÓ tõ møc 0) HINHTHU C C(20) H×nh thøc kû luËt VIPHAM.DBF: L•u danh s¸ch c¸c thÝ sinh vi ph¹m quy chÕ Field name Type, Width, Dec Descript ion SBD C(10) Sè b¸o danh MONTHI C(10) M«n thi MUC N(1,0) Møc kû luËt ii. NhËp néi dung cho c¸c b¶ng: TINH.DBF: NhËp 10 tØnh – thµnh phè DIENUT.DBF: C¸c diÖn •u tiªn tõ 0 (kh«ng •u tiªn) ®Õn 10. KHOITHI.DBF: C¸c khèi thi A, B, C, D... KYLUAT.DBF: C¸c møc kû luËt: 0: Kh«ng bÞ kû luËt (kh«ng vi ph¹m quy chÕ thi). 1: Trõ 25% ®iÓm thi m«n ®ã. 2: Trõ 50% ®iÓm thi m«n ®ã. 3: Trõ 100% ®iÓm thi m«n ®ã, cÊm thi c¸c m«n cßn l¹i. HOSOTS.DBF: NhËp ®Çy ®ñ 15 thÝ sinh ®¨ng ký dù thi. VIPHAM.DBF: NhËp 5 thÝ sinh vi ph¹m quy chÕ thi. DIEMTHI: NhËp ®Çy ®ñ ®iÓm thi cho 14 thÝ sinh chÝnh thøc ®i thi (1 thÝ sinh bá thi nhËp vµo môc ghi chó lµ “BO THI”). iii. NhËp vµ söa néi dung b¶n ghi 1. ChÌn thªm mét tØnh vµo vÞ trÝ thø 4 trong b¶ng TINH.DBF 2. Bæ sung thªm khèi thi V gåm c¸c m«n TOAN, LY, VE vµo tÖp KHOITHI.DBF. 3. Thªm mét b¶n ghi tr¾ng vµo cuèi tÖp HOSOTS.DBF, sau ®ã söa néi dung b¶n ghi ®ã thµnh kh«ng rçng. 4. ChÌn mét b¶n ghi tr¾ng vµo vÞ trÝ thø 3 trong b¶ng DIEMTHI.DBF, sau ®ã dïng lÖnh chØ hiÖn néi dung b¶n ghi ®ã vµ söa ®æi thµnh b¶n ghi l•u ®iÓm thi cña thÝ sinh võa bæ sung ë c©u 3. 5. H·y liÖt kª nh÷ng thÝ sinh tháa m·n c¸c ®iÒu kiÖn sau trong tÖp HOSOTS.DBF: a. Lµ thÝ sinh n÷. b. Lµ thÝ sinh thuéc khu vùc 1 (KV1). c. §¨ng ký thi khèi A. d. Lµ thÝ sinh thuéc khu vùc 2 (KV2) vµ thi khèi A. e. Lµ thÝ sinh thi khèi C hoÆc lµ n÷. 6. H·y liÖt kª nh÷ng thÝ sinh tháa m·n c¸c ®iÒu kiÖn sau trong tÖp DIEMTHI.DBF: a. Lµ thÝ sinh thi khèi A b. Kh«ng cã ®iÓm •u tiªn. c. Kh«ng bÞ kû luËt. d. Cã ®iªm thi c¶ 3 m«n trªn trung b×nh. e. BÞ liÖt mét trong 3 m«n thi. 7. LiÖt kª c¸c h×nh thøc kû luËt trong tÖp KYLUAT.DBF. 8. LiÖt kª c¸c thi sinh vi ph¹m quy chÕ thi trong b¶ng VIPHAM.DBF. 9. LiÖt kª tÊt c¶ c¸c khèi thi vµ m«n thi trong tÖp HOITHI.DBF. 10. Dïng c¸c lÖnh LIST, BROW ®Ó lµm c¸c c«ng viÖc sau: LiÖt kª c¸c tr•êng KHUVUC, DIEMUT cña tÖp TINH.DBF. LiÖt kª c¸c tr•êng DIENUT, DIEMUT cña tÖp DIENUT.DBF. LiÖt kª tr•êng SBD, KHUVUC cña tÖp HOSOTS.DBF. LiÖt kª tr•êng SBD, DIENUT, DIEMUT cña tÖp DIEMTHI.DBF H·y ®èi chiÕu vµ so s¸nh gi÷a c¸c tr•êng trong c¸c b¶ng võa liÖt kª ®Ó thay ®æi sao cho thÝ sinh ®•îc h•ëng ®óng ®iÓm •u tiªn: §óng diÖn •u tiªn, ®óng khu vùc ®•îc •u tiªn, nÕu thÝ sinh ®•îc h•ëng c¶ hai møc th× chän møc •u tiªn cã ®iÓm •u tiªn cao nhÊt. iv. Qu¶n lý cÊu tróc tÖp vµ b¶n ghi 1. H·y söa l¹i cÊu tróc tÖp KYLUAT.DBF nh• sau: Field name Type Width, Dec Description MUC N(1,0) Møc kû luËt (kÓ tõ møc 0) HINHTHU C C(20) H×nh thøc kû luËt DIEMPHA T N(5,3) Sè phÇn tr¨m ®iÓm bÞ trõ 2. Bæ sung vµo tÖp HOSOTS tr•êng DIENUT N(1,0) l•u diÖn •u tiªn cña thÝ sinh. Sau ®ã h·y cËp nhËt diÖn •u tiªn cho tÊt c¶ c¸c thÝ sinh ®¨ng ký. 3. H·y sao chÐp cÊu tróc c¸c tÖp sau: Sao chÐp dù phßng cÊu tróc tÖp HOSOTS.DBF thµnh tÖp HOSOTS2.DBF. Sao chÐp cÊu tróc tÖp DIEMTHI.DBF thµnh tÖp DO.DBF ®Ó sau nµy l•u hå s¬ c¸c thÝ sinh thi ®ç. Sao chÐp nh÷ng thÝ sinh ®•îc céng ®iÓm •u tiªn cña tÖp DIEMTHI.DBF thµnh tÖp UUTIEN.DBF. Sao chÐp toµn bé cÊu tróc cña tÊt c¶ c¸c tÖp CSDL ®· thiÕt kÕ ë bµi 1 thµnh c¸c b¶n ghi cña tÖp CAUTRUC.DBF 4. Sao chÐp toµn bé cÊu tróc vµ b¶n ghi cña tÖp HOSOTS.DBF thµnh tÖp HOSOTS2.DBF ®Ó lµm b¶n l•u dù phßng. 5. Sao chÐp toµn bé nh÷ng thÝ sinh ë khu vùc 1 (KV1) cña tÖp HOSOTS.DBF thµnh tÖp KV1.DBF 6. Sao chÐp c¸c tr•êng SBD, HODEM, TEN, NGAYSINH cña tÖp HOSOTS.DBF thµnh tÖp HOTEN.DBF. 7. §¸nh dÊu xãa tÊt c¶ nh÷ng thÝ sinh thuéc khu vùc 1 (KV1) vµ khu vùc 2 (KV2) tõ tÖp HOSOTS.DBF. - H·y liÖt kª néi dung tÖp HOSOTS.DBF mµ kh«ng cho hiÖn c¸c b¶n ghi ®· ®¸nh dÊu xãa (H·y dïng hai ph•¬ng ph¸p). - H·y kh«i phôc c¸c b¶n ghi lµ thÝ sinh thuéc khu vùc 2 (KV2) ®· bÞ ®¸nh dÊu xãa. - Xãa tÊt c¶ c¸c b¶n ghi bÞ ®¸nh dÊu xãa. 8. H·y xãa hÕt nh÷ng thÝ sinh ®•îc •u tiªn ®iÓm trong tÖp DIEMTHI.DBF. 9. H·y bæ sung vµo tÖp HOSOTS.DBF c¸c thÝ sinh ®· bÞ xãa (thuéc KV1) tõ tÖp dù phßng KV1.DBF. 10. H·y bæ sung vµo tÖp DIEMTHI.DBF c¸c thÝ sinh ®· bÞ xãa (®•îc céng ®iÓm •u tiªn) tõ tÖp UUTIEN.DBF. v. Qu¶n lý tÖp 1. LÖnh DIR 2. LÖnh DISPLAY FILES [ON ] [LIKE ] [TO PRINTER] 3. LÖnh DELETE FILE hoÆc ERASE 4. LÖnh COPY FILE TO 5. LÖnh RENAME TO 6. LÖnh TYPE [TO PRINTERTO FILE ] 7. LÖnh RUN hoÆc ! 8. LÖnh SET DEFAULT TO 9. C¸c hµm lµm viÖc víi tÖp: BOF(): Cho gi¸ trÞ .T. nÕu ta ra lÖnh chuyÓn con trá b¶n ghi lªn trªn b¶n ghi ®Çu tiªn. EOF(): Cho gi¸ trÞ .T. nÕu con trá b¶n ghi ®· ®Æt ë cuèi tÖp (b¶n ghi cuèi cïng cña tÖp ch• ph¶i lµ cuèi tÖp, b¶n ghi ë cuèi tÖp dïng ®Ó l•u th«ng tin vÓ tæng sè b¶n ghi cña tÖp). RECNO(): Cho sè thø tù cña b¶n ghi hiÖn hµnh. NÕu con trá ®· ë cuèi tÖp th× hµm sÏ cho tæng sè b¶n ghi céng 1. RECCOUNT(): Cho tæng sè b¶n ghi cña tÖp CSDL. FCOUNT(): Cho sè tr•êng cña tÖp CSDL ®ang më. FIELD(n): Cho biÕt tªn cña tr•êng thø n (d•íi d¹ng ch÷ hoa) trong tÖp CSDL ®ang më. FSIZE(‘Tªn_tr•êng’): Cho ®é réng cña ‘Tªn_tr•êng’ trong tÖp CSDL. DBF(): Cho biÕt tªn cïng c¶ ®•êng dÉn cña tÖp CSDL ®ang më. FILE(‘§•êng_dÉn\Tªn_tÖp’): Cho gi¸ trÞ .T. nÕu ‘Tªn_tÖp’ ®•îc chØ ra ®· cã trªn ®Üa. vi. T×m kiÕm tuÇn tù – s¾p xÕp vËt lý trªn CSDL 1. H·y t×m vµ ®•a ra mµn h×nh th«ng tin vÒ thÝ sinh cã sè b¸o danh lµ A02 trong tÖp HOSOTS.DBF. 2. H·y t×m vµ ®•a ra mµn h×nh th«ng tin vÒ thÝ sinh tªn lµ NAM trong tÖp HOSOTS.DBF. §¸nh dÊu xãa thÝ sinh nµy. 3. S¾p xÕp l¹i tÖp TINH.DBF t¨ng dÇn theo MATINH. (Gîi ý: S¾p xÕp tÖp TINH.DBF t¨ng dÇn theo MATINH vµ l•u vµo tÖp míi tªn lµ TINH1.DBF. Sau ®ã xãa tÖp TINH.DBF råi ®æi tªn tÖp TINH1.DBF thµnh TINH.DBF). 4. T•¬ng tù c©u 3, h·y s¾p xÕp l¹i tÖp DIEMTHI.DBF t¨ng dÇn theo SBD. 5. H·y s¾p xÕp tÖp HOSOTS.DBF sang tÖp míi lµ HOSO_SX.DBF theo thø tù t¨ng dÇn TEN, HODEM, SBD vµ chØ lÊy c¸c tr•êng SBD, HODEM, TEN, NGAYSINH, GIOITINH. 6. H·y bæ sung thªm tr•êng TONG_DTHI N(4,1) vµo tÖp DIEMTHI.DBF ®Ó l•u tæng ®iÓm thi cña 3 m«n. Söa tr•êng TONGDIEM thanh TONGCONG. a. TÝnh TONG_DTHI theo quy t¾c sau: - NÕu thi khèi D vµ khèi V th× DIEM3 nh©n hÖ sè 2, c¸c ®iÓm m«n kh¸c nh©n hÖ sè 1. TONG_DTHI=DIEM1+DIEM2+DIEM3*2. - C¸c khèi kh¸c nh• A, B, C... th× ®iÓm c¸c m«n nh©n hÖ sè 1. TONG_DTHI=DIEM1+DIEM2+DIEM3. (T¹m thêi ch•a tÝnh ®Õn viÖc ph¹t vi ph¹m quy chÕ thi cña thÝ sinh vµ bá qua MUCKYLUAT) b. TÝnh TONGCONG theo quy t¾c sau: TONGCONG=TONG_DTHI+DIEMUT (Chó ý: Cã 2 h×nh thøc •u tiªn ®iÓm lµ theo khu vùc vµ theo diÖn •u tiªn. Do vËy DIEMUT ®· ph¶i ®•îc chän lùa tõ 2 h×nh thøc trªn, c«ng viÖc nµy ®· lµm ë bµi tËp 2 c©u 10). 7. H·y bæ sung tr•êng DIEMCHUAN N(4,1) vµo c¸c tÖp KHOITHI.DBF vµ DIEMTHI.DBF ®Ó l•u ®iÓm chuÈn cña kú thi tuyÓn sinh. Sau ®ã nhËp c¸c ®iÓm chuÈn cho tõng khèi thi ë c¶ 2 tÖp. 8. KÕt qu¶ thi (l•u vµo tr•êng KETQUA trong tÖp DIEMTHI.DBF) lµ “DO” hay “KHONG DO”. T¹m thêi ta quy ®Þnh thÝ sinh “DO” nÕu tháa m·n tÊt c¶ c¸c ®iÒu kiÖn sau: - Cã ®iÓm thi c¶ 3 m«n lín h¬n 1. - Cã ®iÓm TONGCONG lín h¬n hoÆc b»ng DIEMCHUAN. 9. S¾p xÕp l¹i tÖp DIEMTHI.DBF theo chiÒu t¨ng dÇn cña KHOITHI, SBD. vii. S¾p xÕp theo tÖp chØ sè 1. T¹o tÖp c¸c tÖp chØ sè chuÈn sau ®Ó chØ sè hãa tÖp CSDL HOSOTS.DBF: a. IDXMA.IDX: ChØ sè hãa theo MAHOSO. b. IDXSBD.IDX: ChØ sè hãa theo SBD. c. IDXHODEM.IDX: ChØ sè hãa theo HODEM. d. IDXTEN.IDX: ChØ sè hãa theo TEN. e. IDXNS.IDX: ChØ sè hãa theo NGAYSINH. f. IDXKV.IDX: ChØ sè hãa theo KHUVUC. g. IDXKHOI.IDX: ChØ sè hãa theo KHOITHI. 2. Më tÊt c¶ tÖp chØ sè ®· t¹o ë c©u 1, lÊy tÖp IDXSBD.IDX lµm tÖp chØ sè chñ. a. Cho hiÖn néi dung tÖp HOSOTS.DBF theo khãa s¾p xÕp lµ SBD. b. §æi chØ sè chñ lµ tÖp IDXTEN.IDX råi hiÖn néi dung tÖp HOSOTS.DBF. c. Cho hiÖn néi dung tÖp HOSOTS.DBF theo ®óng trËt tù vËt lý cña nã mµ kh«ng cÇn ®ãng c¸c tÖp chØ sè ®· më. 3. Cã thÓ cho hiÖn néi dung tÖp HOSOTS.DBF theo c¶ 3 khãa s¾p xÕp lµ TEN, HODEM, SBD ®•îc kh«ng? NÕu ®•îc h·y cho hiÖn néi dung tÖp theo d¹ng ®ã. 4. H·y chØ sè hãa tÖp HOSOTS.DBF theo c¸c khãa sau: a. SBD. b. TEN, HODEM, SBD. c. KHOITHI, TEN, HODEM 5. H·y chØ sè hãa tÖp DIEMTHI.DBF theo c¸c khãa sau: a. KHOITHI, SBD b. KHOITHI, KETQUA. 6. H·y chØ sè hãa tÖp TINH.DBF theo MATINH, TENTINH, KHUVUC b»ng tÖp chØ sè kÕt hîp ®éc lËp. Sau ®ã ®ãng tÖp chØ sè råi bæ sung mét vµi tØnh thµnh vµo tÖp TINH.DBF. Cho chØ sè hãa råi hiÖn néi dung tÖp TINH.DBF xem thø tù s¾p xÕp cã cßn ®¶m b¶o kh«ng. 7. Thùc hiÖn c¸c thao t¸c ®æi ®Ýnh môc chñ, ®ãng, xãa ®Ýnh môc víi c¸c tÖp chØ sè CDX ®· t¹o. viii. S¾p xÕp theo tÖp chØ sè (tiÕp) 1. T¹o tÖp chØ sè kÕt hîp kh«ng ®éc lËp ®Ó chØ sè hãa tÖp TINH.DBF theo thø tù khãa KHUVUC, MATINH. 2. §èi víi tÖp DO.DBF: a. H·y bæ sung c¸c thÝ sinh tróng tuyÓn tõ tÖp DIEMTHI.DBF. b. ChØ sè hãa b»ng tÖp chØ sè kÕt hîp kh«ng ®éc lËp theo thø tù khãa: KHOITHI, SBD. 3. H·y chØ sè hãa tÖp HOSOTS.DBF sao cho cã thÓ: a. T×m mét hå s¬ c¨n cø vµo SBD. b. T×m mét hå s¬ c¨n cø vµo TEN. c. T×m mét hå s¬ c¨n cø vµo MAHOSO ix. §Æt läc vµ tÝnh to¸n trªn CSDL 1. H·y so s¸nh lÖnh ®Æt läc b¶n ghi SET FILTER TO víi c¸c thµnh phÇn FOR, WHILE trong c¸c có ph¸p lÖnh nh• LIST, DISPLAY, BROWSE... 2. H·y so s¸nh lÖnh ®Æt läc tr•êng SET FIELDS TO víi thµnh phÇn FIELDS trong c¸c có ph¸p lÖnh nh• LIST, DISPLAY, BROWSE... 3. Thùc hiÖn l¹i c¸c lÖnh LIST, DISPLAY, BROWSE trong c¸c c©u hái cña bµi tËp 2. 3. H·y ®Õm xem cã bao nhiªu thÝ sinh bá thi (c¨n cø vµo hå s¬ ®¨ng ký trong tÖp HOSOTS.DBF vµ hå s¬ dù thi trong tÖp DIEMTHI.DBF). 4. H·y tæng hîp thÝ sinh trong tÖp HOSOTS.DBF theo tõng khu vùc. x. Lµm viÖc víi nhiÒu CSDL 1. Ta quay l¹i bµi to¸n qu¶n lý tuyÓn sinh ®¹i häc: a. H·y cËp nhËt khèi thi cña thÝ sinh theo ®¨ng ký trong tÖp HOSOTS.DBF vµo tÖp DIEMTHI.DBF. b. H·y cËp nhËt vµo tr•êng MUCKYLUAT cña tÖp DIEMTHI.DBF nh÷ng thÝ sinh vi ph¹m quy chÕ thi tõ tÖp VIPHAM.DBF. 2. H·y t¹o ra tÖp BAODIEM.DBF bao gåm c¸c tr•êng sau ®Ó l•u thÝ sinh thi ®ç: SBD, HODEM, TEN, NGAYSINH, KHOITHI, DIEM1, DIEM2, DIEM3, DIEMCONG, TONGDIEM, KETQUA (C¸c tr•êng ®•îc lÊy tõ tÖp HOSOTS.DBF vµ tÖp DIEMTHI.DBF). Cho biÕt cã bao nhiªu ng•êi thi ®ç. 3. H·y t¹o quan hÖ gi÷a hai tÖp HOSOTS.DBF vµ tÖp DIEMTHI.DBF ®Ó liÖt kª c¸c b¶n ghi theo mÉu sau: SBD HODEM TEN KHOITHI DIEM1 DIEM2 DIEM3 KETQUA 4. H·y t¹o mèi quan hÖ gi÷a tÖp VIPHAM.DBF vµ c¸c tÖp DIEMTHI.DBF vµ tÖp KYLUAT.DBF ®Ó liÖt kª c¸c thÝ sinh vi ph¹m kû luËt theo mÉu sau: SBD HODEM TEN MONTHI MUC HINHTHUC
Tài liệu liên quan