Giáo trình Tin học đại cương - Đỗ Thị Mơ (Dùng cho khối A - Phần 2)

pdf 107 trang hapham 280
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Tin học đại cương - Đỗ Thị Mơ (Dùng cho khối A - Phần 2)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_tin_hoc_dai_cuong_do_thi_mo_dung_cho_khoi_a_phan.pdf

Nội dung text: Giáo trình Tin học đại cương - Đỗ Thị Mơ (Dùng cho khối A - Phần 2)

  1. Bài t p Ch ươ ng IV Bài 1 : So n th o v ăn b n và k b ng d ưi ñây: CNG HOÀ XÃ H I CH NGH ĨA VI T NAM ðc l p - T do - H nh phúc GI Y CAM ðOAN B O V MÔI TR ƯNG ðIN N ƯC Kính g i : Tên tôi là : Công tác t i : Nơi : Tôi làm gi y này xin cam ñoan trong quá trình c i t o, nâng c p c ăn h c a gia ñình, không làm ñiu gì nh h ưng t i h th ng ñin, n ưc chung c a c khu v c. Tôi xin cam ñoan s ñ m b o v sinh môi tr ưng, không ñ v t li u nh h ưng ñ n ñưng ñi và quang c nh chung ca c khu. Trong quá trình xây d ng không làm nh h ưng ñn móng, t ưmg nhà c a 2 h bên c nh, nu x y ra ñiu gì tôi hoàn toàn ch u trách nhi m . Hà n i, ngày tháng n ăm Ng ưi vi t ñơn BNG ðIM THI H C K Ỳ II N ĂM H C 2003 - 2004 Lp 12 B tr ưng PTTH Tr n H ưng ðo Stt H và tên Ngày sinh ðim thi Hnh ki m ðim Tin ðim Toán ðim Lý 1 Lê Thu An 20-10-83 7 5 5 Tt 2 Tr n Thi Hà 15-01-82 8 6 7 Tt 3 ð V ăn Minh 22-11-84 9 7 8 Tt 4 Ngô Th Thái 18-03-83 5 6 9 Khá 5 Lê V ăn Th ư 01-10-84 6 8 6 Tt 84 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 84
  2. Bài 2 : So n th o v ăn b n và k b ng d ưi ñây: CNG HOÀ XÃ H I CH NGH ĨA VI T NAM ðc l p - T do - H nh phúc o O o ð C ƯƠ NG NGHIÊM C U KHOA H C C P TR ƯNG Tên ñ tài : Mt s ch ươ ng trình qu n lý h th ng thông tin ñ t Ch nhi m ñ tài : Nh ng ng ưi tham gia : 1- M c ñích : Xây d ng ch ươ ng trình ñ qu n lý các thông tin ñ t m t cách t ñ ng là nhi m v quan tr ng c a m t k s ư ngành Qu n lý ñ t ñai trong th i k ỳ hi n nay . ði v i sinh viên ngành Qu n lý ñ t ñai n m ñưc cách t ch c các c ơ s d li u và cách t ch c các ch ươ ng trình v thông tin ñ t có h th ng là vi c làm vô cùng c n thi t. ðiu ñó c ng c các ki n th c v Tin h c và Chuyên môn, g n ch t lý thuy t ñã h c v i yêu c u th c t trong l ĩnh v c chuyên môn c a mình. Xây d ng các ch ươ ng trình qu n lý h th ng thông tin ñ t c ũng là ñáp ng ñưc yêu cu ñòi h i c a th c t trong chuyên ngành Qu n lý ñ t ñai hi n nay. Xu t phát t các v n ñ trên chúng tôi ti n hành ñ tài : “ Mt s ch ươ ng trình qu n lý h th ng thông tin ñ t “. B NG DANH SÁCH LÊN L ƯƠ NG N ĂM 2000 Tr ưng ð i h c Nông nghi p I – Hà n i STT H VÀ TÊN ðƠ N V BC L ƯƠ NG GHI CHÚ Cũ Mi 1 Tr n Ng c Anh Phòng HC 3.37 3.62 2 Lê V ăn Khanh Phòng ðT 2.95 3.37 3 Bùi Ng c Bình Phòng ðT 4.12 4.42 Phó phòng 4 Ngô Bình Minh Phòng QT 5.05 5.37 Tr ưng phòng 5 ð Minh Thanh Phòng HC 2.90 3.24 85 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 85
  3. Bài 3 : So n th o v ăn b n và k b ng d ưi ñây: TR ƯNG ð I H C NÔNG NGHI P I HÀ N I C NG HOÀ XÃ H I CH NGH ĨA VI T NAM Phòng HCKH-VT ðc l p - T do - H nh phúc S : /CV-HC V/v làm danh b ñin thoi Hà n i, ngày 25 tháng 11 n ăm 2000 Kính g i : Các ñơ n v trong toàn tr ưng Trong hai n ăm qua cu n danh b ñin tho i c a tr ưng ñã góp ph n không nh vào s phát tri n thông tin liên l c c a Nhà tr ưng. Hi n nay cu n danh b ñó không cung c p ñ y ñ s máy c a các cá nhân và t p th trong tr ưng. Vì v y, phòng HCKH-VT s phát hành cu n " Danh b ñin tho i c a Tr ưng ð i hc Nông nghi p I - n ăm 2001 ". ð công vi c hoàn thành tr ưc t t d ươ ng l ch, kính ñ ngh các cá nhân, t p th cung c p ñ y ñ và chính xác s ñin tho i m i c a mình cho phòng HCKH-VT tr ưc ngày 05/12/1999. Chúng tôi mong nh n ñưc s c ng tác ch t ch c a các ñơn v và cá nhân trong toàn tr ưng. Xin trân tr ng c m ơn. Tr ưng phòng Hành Chính k ho ch - V t t ư BNG TH NG KÊ THUÊ N ĂM 2000 STT Tên h p tác xã Quí 1 Quí 2 Tháng 1 Tháng 2 Tháng 3 Tháng 4 Tháng 5 Tháng 6 1 Bát tràng 50000000 60000000 50000000 50000000 40000000 50000000 2 C bi 35000000 55000000 35000000 35000000 55000000 75000000 3 Dươ ng xá 22000000 42000000 22000000 22000000 32000000 25000000 4 ða t n 20000000 50000000 20000000 20000000 50000000 60000000 5 Trâu qu ỳ 40000000 80000000 40000000 40000000 20000000 50000000 86 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 86
  4. Bài 4 : So n th o v ăn b n và k b ng d ưi ñây: CNG HOÀ XÃ H I CH NGH ĨA VI T NAM ðc l p - T do - H nh phúc ðƠ N XIN H P ð NG Kính g i : Tên tôi là: Ngày sinh: Ch hi n nay: Trình ñ v ăn hoá: Hi n nay B môn do thi u cán b k thu t nên ñ ngh khoa và phòng T ch c cán b cho tôi ñưc ký h p ñ ng làm vi c t i b môn t 1-1-2000 ñn 1-1-2001 . N u ñưc thu nh n tôi xin cam ñoan tuy t ñ i ch p hành n i qui h c t p và lao ñng . Tuy t ñi ph c tùng s phân công h c t p, b trí c a t ch c ñơn v s d ng. N u vi ph m n i qui, k lu t ho c t ý thôi, b h c, b vi c ph i b i th ưng hoàn toàn h c phí, nh ng t n th t ñã gây ra theo quy ñnh c a Nhà n ưc và c a nhà tr ưng ñơn v công tác. Kính mong các c p gi i quy t. Hà N i, ngày tháng n ăm Ng ưi làm ñơ n Th i khoá bi u n ăm h c 2000-2001 TH 2 TH 3 TH 4 TH 5 TH 6 Sáng Chi u Sáng Chi u Sáng Chi u Sáng Chi u Sáng Chi u Toán Anh Tri t Sinh Tin Anh Tri t Lu t Toán Anh Toán Anh Tri t Sinh Tin Anh Tri t Lu t Toán Anh Toán Anh Tri t Sinh Tin Anh Tri t Lu t Toán Anh Tin Lu t Toán Sinh Tin Tin Lu t Toán Sinh Tin Tin Lu t Toán Sinh Tin 87 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 87
  5. Bài 5 : So n th o v ăn b n và k b ng d ưi ñây: ð THI CH T L ƯNG MÔN TOÁN (Th i gian 90 phút) Câu 1 : Cho hàm s : y = x 3 + 3x 2 + (m+1)x + 4m (1) 1/ Kh o sát và v ñ th c a (1) khi m =-1 2/ V i giá tr nào c a m hàm (1) ñng bi n trên kho ng ( -1, 1 ) Câu 2 : Trong m t ph ng to ñ Oxy cho 2 ñim F 1(-3,0); F 2(3,0) 1/ Vi t ph ươ ng trình chính t c c a elíp nh n F 1; F 2 là các tiêu ñim và tr c l n có ñ dài b ng 10 2/ Tìm trên elíp nói trên nh ng ñim M(xo,yo) sao cho kho ng cách t ñó t i ñưng th ng cho b i ph ươ ng trình : x + y = 6 là nh nh t. Hà n i, ngày 20 tháng 4 n ăm 2000 Ch t ch h i ñ ng thi BNG TH NG KÊ HÀNG NH P S tt Tên hàng Kho A Kho B Ngày nh p S l ưng ðơ n giá Ngày nh p S l ưng ðơ n giá 1 Vi hoa 1/1/98 100 10000 12/1/98 200 10000 2 Vi l a 1/1/98 200 15000 11/1/98 300 14000 3 Kh ăn 2/1/98 50 7000 21/1/98 150 8000 4 Bt gi t 3/1/98 100 6500 30/1/98 400 6000 5 Bánh 5/1/98 120 6000 11/2/98 220 5000 88 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 88
  6. CH ƯƠ NG V: INTERNET VÀ CÁCH S D NG INTERNET Internet là m ng thông tin toàn c u, nó ñóng vai trò quan tr ng trong m i l ĩnh v c c a xã h i. Hi n nay Internet ñưc s d ng r ng rãi trên th gi i c ũng nh ư nưc ta. M i ng ưi cn ph i hi u và bi t s d ng Internet ñ ph c v cho chuyên môn c a mình. Ch ươ ng này cung c p các ki n th c c ơ b n v m ng Internet và th ư ñin t . N i dung chính bao g m các v n ñ : Th nào là m ng Internet, Internet có các ch c n ăng c ơ b n nào, cài ñt Internet, trình duy t Internet Explorer, E-mail và các mô hình ho t ñ ng c a E-mail, cách t o g i và nh n th ư v i Yahoo và v i Outlook Express. 1 - Gi i thi u chung 1.1 - M ng máy tính * M ng máy tính: là m t nhóm các máy tính ñưc ni k t v i nhau theo m t cách nào ñó. V nh n th c, nó gi ng nh ư ki u m ng truy n hình ho c radio n i k t m t nhóm các tr m truy n hình ho c radio l i v i nhau sao cho chúng có th cùng chia s ch ươ ng trình. Các m ng truy n hình g i thông tin t ươ ng t ñ n m i tr m vào cùng lúc, trong m ng máy tính, m i thông ñip th ưng ñưc d n ñ n m t máy tính c th nào ñó. Khác v i các m ng truy n hình, các m ng máy tính luôn hai chi u sao cho khi máy tính A g i thông ñip t i máy tính B thì B có th tr l i l i cho A. Mt s m ng máy tính bao g m m t máy tính trung tâm và m t nhóm các tr m t xa có th báo cáo v máy tính trung tâm, ví d m t máy tính d ch v gi ch hàng không trung tâm có hàng ngàn kênh t i các sân bay và ñi lý du l ch. * M ng Internet: Là m ng máy tính toàn c u, ho c chính xác h ơn là m ng c a các m ng. ð các máy tính n i l i và có th giao ti p ñưc v i nhau, ng ưi ta dùng m t thi t b g i là modem. Modem và ch ươ ng trình ng d ng dùng ñ chuy n ñ i t tín hi u t ươ ng t (analog) trên ñưng dây ñin tho i máy tính thành tín hi u s (digital) ñ ñưa vào máy tính. Ng ưc l i, modem còn chuy n tín hi u s c a máy tính thành tín hi u t ươ ng t ñ truy n d n trên ñưng dây ñin tho i. Nh ư v y, m t máy tính mu n k t n i và truy nh p thông tin thì ph i có m t modem n i vào m t c ng c a máy tính. V v trí l p ñ t , có th chia modem thành hai lo i: lo i l p trong máy tính (internal) và l p ngoài máy tính (external). * Xu t x c a Internet T tiên c a Internet là ARPANET, m t d án do b Qu c phòng Hoa ki kh i ñ u n ăm 1969 v a là m t th c nghi m trong vi c k t m ng m t cách ñáng tin c y, v a là m t k t n i gi a b Qu c phòng và các nhà th u nghiên c u khoa h c và quân s l i v i nhau, bao g m mt s l n các tr ưng ñ i h c ti n hành các nghiên c u quân s ñưc tài tr . (ARPA là vi t tt c a ch Advanced Research Projects Agency: C ơ quan Các D án Nghiên c u Cao c p, mt b ph n thu c b Qu c phòng ph trách vi c c p phát tài tr . K ti p là H i ñ ng Khoa h c Qu c gia Hoa kú (National Science Foundation - NSF) quy t ñ nh thi t l p 5 trung tâm siêu máy tính nh m m c ñích nghiên c u (M t siêu máy tính là m t máy tính c c k ỳ nhanh v i giá r t ñ t, kho ng 10 tri u USD m i máy). NSF tính toán rng nên tài tr cho m t ít máy tính, ñ cho các nhà nghiên c u trên kh p ñ t n ưc s d ng ARPANET g i các ch ươ ng trình c a h ñ n ñ ñưc "siêu tính toán" và r i g i k t qu tr li. Qua m t th i gian khi các siêu máy tính rõ ràng ñã tr nên l i th i, NSF ñã xây d ng NSFNET , m t m ng riêng và nhanh h ơn nhi u c a mình ñ n i v i các trung tâm siêu tính toán. Sau ñó, NSF dàn x p ñ thi t l p m t chu i các m ng khu v c nh m liên k t nh ng 89 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 89
  7. ng ưi s d ng trong t ng khu v c v i NSFNET n i m i m ng khu v c. NSFNET ho t ñ ng hi u qu , tõ n¨m 1990 hÇu hÕt c¸c m¹ng ®Òu kÕt nèi vµo NSFNET, NSF ñã ñưc xác l p vng ch c trên Internet. C¸c m¹ng ®éc lËp liên k t v i nhau nh vào m t ch ươ ng trình k thu t ñưc g i là IP (Internet Protocol: Giao th c Internet) . NSFNET ch cho phép nh ng l ưu thông liên quan ñn nghiên c u và giáo d c, do ñó nh ng d ch v m ng IP ñ c l p cho phép l ưu thông ñưc d n t m ng này sang m ng khác khi c n. M i m ng n i b i IP ñ u s d ng IP ñ giao ti p nên chúng ñu có th trao ñ i các thông ñip v i nhau. Các m ng th ươ ng m i n i v i các m ng khu v c theo cách t ươ ng t nh ư k t n i c a NSFNET và cung ng k t n i tr c ti p ñ n khách hàng. Bên ngoài Hoa K ỳ, các m ng IP xu t hi n t i nhi u n ưc, do các công ty ñin tho i ñ a ph ươ ng tài tr ho c do m t nhà cung ng qu c gia ho c khu v c ñ c l p. H u h t trong s h ñu ñưc k t n i tr c ti p ho c gián ti p v i m t m ng nào ñó c a Hoa K ỳ, có ngh ĩa là t t c ñu có th trao ñ i l ưu thông v i nhau. * M¹ng Internet cã c¸c chøc n¨ng chÝnh sau ®©y: - Th ư ñin t : Ðây ch c ch n là d ch v ñưc s d ng r ng rãi nh t - b n có th trao ñi th ư ñin t v i hàng tri u ng ưi trên kh p th gi i. Các danh sách th ư ñin t cho phép bn tham gia vào th o lu n nhóm và g p nh ng ng ưi khác trên Net. Các mail server (nh ng ch ươ ng trình ñáp l i các thông ñip th ư ñin t ) cho phép b n truy tìm m i lo i thông tin. - Truy tìm thông tin : Internet giúp b n tìm ki m thông tin trên m ng. Nhi u máy tính có các file ch a thông tin cho phép l y mi n phí. Các file ñó bao g m các file v ăn b n, các file hình nh ñưc s hóa và m t s l ưng l n các ph n m m t trò ch ơi cho ñn các h th ng ñiu hành. Hàng núi thông tin s n có trên Internet và b n s m c m c "Navigate" (Tìm ñưng) ch ñ n nh ng ph n giúp b n l ưu thông trên m ng. - B ng thông báo ñin t (Bulletin Board) : M t h th ng tên là USENET là m t b ng thông báo ñin t v ĩ ñ i v i 40 tri u ký t các thông ñip bao g m 2.000 nhóm ch ñ khác nhau ñưc ti p n i hàng ngày. Các ch ñ bao g m t các v n ñ máy tính hóc búa cho ñ n nh ng trò gi i trí nh ư ñua xe ñp, t nh ng ý ki n tranh lu n chính tr không bao gi k t thúc cho ñn nh ng v n ñ b×nh th ưng nh t. Nhóm USENET ñưc ñ c r ng rãi nh t là các m u chuy n vui ñưc ch n l c, m t s trong nh ng chuy n này th c s bu n c ưi. - Trò ch ơi và tán g u: M t trò ch ơi ñưc g i là MUD (Multi-User Dungeon) có th d dàng thu hút toàn b th i gian c a b n - trong ñó b n có th thi tài v i nh ng ng ưi ch ơi khác b t c n ơi nào trên th gi i. Internet Relay Chat (IRC) là m t ñưng dây theo nhóm, qua ñó b n có th có nh ng cu c ñàm tho i thú v v i nh ng ng ưi s d ng khác kh p m i n ơi. IRC d ưng nh ư ñưc s dng nhi u nh t b i nh ng häc sinh, sinh viên, b n s không bao gi bi t ñưc ai là ng ưi ñang nói chuy n v i b n. 1.2 - Nhà cung c p d ch v Internet ð m t máy tính cá nhân n i vào ñưc m ng Internet, b n ph i ñă ng ký thuê bao m t nhà cung c p dich v Internet (Internet Service Provider - ISP) và khi này ISP s là v trí trung gian chuy n ti p ñ máy tính c a b n n i v i các trang Web ho c các ñ a ch trên m ng. Hi n nay có nhi u nhà cung c p d ch v Internet nh ư VNN, FPT, VCD, Ph ươ ngnam, Saigonnet, Netnam . M i m t ISP có nh ng kh n ăng khác nhau. Khi ch n ISP, b n nên quan tâm ñn m t s v n ñ sau: - Kh n ăng ñ m b o ñưng truy n 90 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 90
  8. - Giá ñă ng ký và thuê bao. Hi n nay giá c c a các nhà cung c p d ch v không gi ng nhau. - V trí c a ISP. ðây là m t v n ñ c n h t s c quan tâm khi ch n nhà cung c p d ch v Internet. Ví d , n u b n Hà N i thì nên ch n VNN ho c FPT vì lúc này khi tr ti n ñin tho i, b n ch ph i thanh toán theo giá ñin tho i n i h t. N u b n ch n m t ISP khác và không có d ch v k t n i m ng thì ti n ñin tho i s ph i thanh toán t v trí g i ñ n ñ a ñim ñt máy ch c a m ng. B n c ũng c n l ưu ý r ng, khi s d ng Internet có ba lo i ti n c n thanh toán: * Ti n ñin tho i: Trong th i gian s d ng Internet, ti n ñin tho i ñưc tính nh ư khi gi ñin bình th ưng. . * Ti n truy c p m ng: S ti n này ñưc tính theo th i gian truy c p và th i ñim truy cp. H u h t các ISP ñ u tính giá ti n cho th i gian truy c p vào ban ñêm và các ngày ngh th p h ơn ban ngày. S ti n này b n ph i thanh toán cho ISP. Các nhà cung c p d ch v Internet khác nhau s ti n này c ũng khác nhau. * Ti n l y các thông tin trên m ng: H u h t các trang Web trong n ưc và nhi u trang Web n ưc ngoài cung c p các thông tin mi n phí, t c là b n không ph i tr ti n cho các thông tin ho c các ng d ng trên m ng. Tuy nhiên, c ũng có m t s b n ph i tr ti n. 1.3 - K t n i Internet * ðiu ki n gia nh p m ng Internet: ð gia nh p m ng Internet b n ph i có các các m c sau: - Máy vi tính - ðưng ñin tho i - Modem - Tài kho n ñă ng ký truy nh p v i nhà cung c p ( ISP): ð có th truy c p Internet, b n cn ACcount hay tài kho n Internet, bao g m: + User name là tên ñă ng ký v i ISP, tên này không th thay ñ i ñưc. Ví d User name máy c a b môn Tin hoc là: bmthnn1 + Password là m t kh u , m t l n k t n i ta ph i gõ vào m t kh u, m t kh u có th thay ñi ñưc. * T o bi u t ưng k t n i Internet: T màn hình chính c a Windows ch n các m c sau: My Computer / Control panel / Network and Dial Up Networking / Make New Connection Sau ñó s xu t hi n h p tho i ta s khai báo các m c sau: - Gõ tên c a bi u t ưng vào h p Type a name for the computer you are dialing - Ch n Next - Gõ mã vùng vào h p Are code - Gõ s ñin tho i c a nhà cung c p vào Telephone Number - Ch n tên n ưc trong h p Country code - Ch n Next - Ch n Finish * Cách k t n i Nháy ñúp chu t vào bi u t ưng k t n i. Khi ñó s xu t hi n c a s Connect to, ta khai báo các m c sau: - User name : Gõ tên ñă ng ký v i ISP - Paswword : Gõ m t kh u - Phone number : S ñin tho i c a ISP 91 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 91
  9. - Ch n connect th c hi n k t n i. Sau khi k t n i ñưc, bi u t ưng k t n i có 2 máy tính liên k t n m góc ph i, phía dưi màn hình, trên thanh Taskbar c a Windows. * Hu k t ni - Nháy chu t vào bi u t ưng k t n i trên trên thanh Taskbar - Ch n Disconnect 2. S d ng trình duy t Internet Explorer (IE) 2.1 - Kh i ñ ng - Kích chu t vào START/ ch n PROGRAM/ ch n INTERNET EXPLORER - Màn hình IE xu t hi n nh ư sau: Hình 1.6 Ln l ưt t trên xu ng d ưi là các ph n sau: + Dòng ñu tiên là thanh tiêu ñ (Title bar): Hi n ra tên trang Web, tên trình duy t Web. + Dòng 2 là thanh Menu (Menu bar: thanh th c ñơn): Bao g m các m c chính c a trình duy t Web. + Dòng 3 là thanh công c (Tool bar): Bao g m các bi u t ưng c a các l nh hay dùng, mu n ch n l nh nào ta ch vi c kích chu t vào bi u t ưng c a nó. + Dòng 4 là thanh ña (Address): Hi n ra ñ a ch c a trang Web ñang ñưc truy c p. Ta có th gõ tr c ti p ñ a ch vào ñây ho c nh n vào m ũi tên bên ph i m c này ñ ch n ñ a ch ñã lưu. + Ph n vùng hi n th : Là ph n hi n n i dung trang Web ñang truy c p, ph n này chi m nhi u dòng. + Thanh tr ng thái : Dòng này cu i cùng, hi n ra các thông tin hi n th i. 2.2 - Ra kh i Internet Explorer - Ch n m c File - Ch n Close 2.3 - Tìm ki m thông tin * Cách tìm ki m thông tin n u có ñ a ch chính xác: - Gõ ña ch c n truy nh p vào thanh ña ch (thanh Address) - Enter (Ho c kích chu t vào GO) * Cách tìm ki m thông tin n u không có ñ a ch chính xác: - S d ng nút Search trên thanh công c 92 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 92
  10. 2.4 - Cách l ưu tr các ñ a ch và cách t ch c l i các ñ a ch * Cách l ưu các ña ch ưa thích vào FAVORITES: Nh ng ñ a ch nào th ưng xuyên truy c p, m i l n truy c p ta ph i gõ l i ñ a ch , thay vì vi c ñó ta l ưu l i các ñ a ch ñ m i l n truy c p vào trang web ñó ch c n kích chu t ch n ñ a ch bên trong menu Favorites. Cách l ưu: - M trang WEB c n l ưu - Vào menu Favorites - Ch n Add to Favorites - OK * T ch c l i các ñ a ch : Mi l n l ưu l i ñ a ch thì menu Favorites s dài thêm. Do v y ñ ti n s d ng ta t ch c li menu Favorites nh ư sau: - Vào menu Favorites/ ch n Organize Favorites/ màn hình xu t hi n: Trong ñó: + Create Folder: T o m t Folder m i + Move to Folder: Di chuy n ñ a ch + Rename: ði tên Folder + Delete: Xoá Folder ho c xoá ñ a ch 2.5 - M t s tu ỳ ch n c a Internet: * Thay ñi ñ a ch c a trang kh i t o: - Vào menu Tool ch n Internet Option - Ch n General - Gõ ña ch c n ñ t vào h p Address ho c có th ch n m t trong các nút trong m c ñó là: L y ñ a ch c a trang hi n t i, l y ñ a ch m c ñ nh, l y trang tr ng - Ch n Apply - Ch n OK * Thay ñi s ngày l ưu trong trang web: - Vào menu Tool ch n Internet Option - Gõ vào s ngày trong h p Days to keep page in history - OK * Xoá các ña ch l ưu trong h p History: - Xoá toàn b các trang: + Vào menu Tool ch n Internet Option + Ch n Clear History + OK - Xoá t ng trang: + M History + Nháy chu t ph i vào trang c n xoá + Ch n Delete * Thay ñi c ch : - Vào menu View 93 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 93
  11. - Ch n Text size: Largest: C ch l n nh t, Larger: C ch l n, Medium: C ch trung bình, Small: C ch nh , Smallest: C ch nh nh t 2.6 - L ưu trang web vào máy tính - Vào menu File - Ch n Save as - Ch n v trí c n l ưu - Ch n Save 2.7 - L ưu nh - Nháy chu t ph i vào nh - Ch n Save Picture As - Ch n v trí c n l ưu - Ch n Save 2.8 - In trang web * Thi t k m t trang in - Ch n File - Ch n Page Setup. Màn hình xu t hi n Hình 2.6 - Size : kh gi y - Source: khay gi y - Header: Tiêu ñ ñ u trang - Footer: Tiêu ñ cu i trang - Orientation : H ưng in, Portrait là theo chi u d c, Landscap là theo chi u ngang. - Margins : L trang in, Left l trái, Right l ph i, Top là phía trên, Bottom là phía d ưi. * Xác ñnh Header and footer Internet Explore có th in các tiêu ñ ñ u trang và tiêu ñ chân trang theo các cách sau: - Left header - Tiêu ñ n m ñ u trang. Theo ñ nh s n vùng này ch a Title c a tài li u 94 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 94
  12. - Center header - Tiêu ñ n m gi a và trên ñu trang. Theo ñ nh s n thì vùng này tr ng. - Right header - Tiêu ñ n m bên ph i trên ñu trang. Theo ñ nh s n thì vùng này ch a s trang c a tài li u - Left footer - Tiêu ñ s n m v bên trái phía d ưi c a trang. Theo ñ nh s n thì vùng này ch a ngày tháng c a tài li u. - Center footer - Tiêu ñ s n m gi a và phía d ưi c a trang. Theo ñ nh s n thì vùng này tr ng. - Right footer - Tiêu ñ s n m chính gi a phía d ưi trang. Theo ñ nh s n thì vùng này ch a th i gian in tài li u. Bn có th s d ng các mã ñc bi t ñ l y thông tin hi n nay t tài li u (ch ng h n nh ư s trang) hay t h th ng (ch ng h n nh ư ngày, gi ). Các mã sau ñây s b t ñ u b ng d u & theo sau là m t ký t . Chú ý r ng ch hoa hay ch th ưng r t quan tr ng. B ng cách s d ng các mã này thì b n có th in các tiêu ñ theo ý mình: Nh p vào S in ra &w Ta ñ c a tài li u &u ða ch c a trang &d Ngày hi n nay d ng t t xác ñ nh trong Regional Setting/ Control Panel &D Ngày hi n nay d ng ñ y ñ xác ñ nh trong Regional Setting/ Control Panel &t Gi hi n nay d ng xác ñ nh trong Regional Setting/ Control Panel &T Gi hi n nay theo d ng 24 gi &p S trang &P Tng s trang && Mt d u & &b V trí xác ñ nh Du cu i cùng (&b) cho phép b n xác ñ nh m c ñã cho s in header hay footer. Sau ñây là cách th c làm vi c c a nó: - N u b n s d ng mã này ch m t l n thì bên trái c a &b s in bên trái còn ph n bên ph i s in bên ph i. Ch ng h n, &w&b&p s in t a ñ c a tài li u bên trái còn s trang s in bên ph i. - N u b n s d ng mã này hai l n thì ph n bên trái c a &b th nh t s in bên trái, ph n gi a hai &b s in chính gi a và ph n bên ph i c a &b s in bên ph i. Ch ng h n, &d&b&p&b&t s in ngày hi n nay bên trái, trang chính gi a và in th i gian hi n nay bên ph i. - B n c ũng có th k t h p v ăn b n và mã. Ch ng h n, n u b n gõ Page %p of &p thì Internet Explore s hi n trang hi n nay trên t ng s trang: Page 7 of 10. * In tài li u - Ch n File, ch n Print ho c n Ctrl + P. 3 - Th ư ñin t ( E- mail) 3.1 - Gi i thi u E-mail E-mail - vi t t t c a Electronic Mail (th ư ñin t ) là m t d ch v ñưc tri n khai trên các mng máy tính cho phép ng ưi s d ng có th g i th ư cho nhau. 95 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 95
  13. ñây “th ư” là m t t p d ng text, hành ñng chuy n th ư ñưc th c hi n theo ph ươ ng th c truy n g i các t p này trên các ñưng truy n d n c a m ng. Trong nhi u tr ưng h p th ư còn có t ñ ng ngh ĩa là thông ñip (message), ñúng ra thông ñip c n ñưc hi u là m t th ư ng n không v ưt quá m t câu. E- mail là d ch v c ơ b n nh t và ph thông nh t trên m ng, là n n t ng ñ xây d ng m t văn phòng không gi y (paperless office). 3.2 - Các mô hình ho t ñ ng c a d ch v E-mail: - Mô hình thông ñip tr c ti p: Theo mô hình này, các thông ñip ñưc g i tr c ti p, ngay l p t c t i các máy ñang ho t ñ ng trên m ng LAN. - Mô hình h p th ư l ưu: Là mô hình khách – ch c a d ch v th ư ñin t , theo ñó ch ươ ng trình th c hi n d ch v này ñưc vi t thành hai ph n ch ươ ng trình ch y ñ c l p t ươ ng ñi: + Ch ươ ng trình phía Client (khách) ch y trên các máy tr m làm vi c c a m ng và ph n phía Server (ch ) ch y trên máy ch c a m ng. Ng ưi dùng so n th o th ư, n ñ nh ñ a ch nh n và “ra l nh” g i thông qua ch ươ ng trình client v máy ch c a m ng. + Ch ươ ng trình Server ñón nh n các th ư g i t Client, l ưu tr vào các h p th ư l ưu. + M i ng ưi dùng c ũng nh n và ñc th ư c a mình b ng cách dùng ch ươ ng trình phía client duy t danh sách các th ư g i cho mình và ñc th ư quan tâm. + Ch ươ ng trình Server c ũng có th phát tín hi u báo có th ư cho nh ng ng ưi ñang làm vi c trên m ng. - Mô hình Internet Mail: Là mô hình liên k t các h p th ư l ưu trên Internet, m i hp th ư lưu cho m t vùng. N u t t c các liên k t ñang ñưc th c hi n, th ư s ñưc chuy n ñ n h p th ư l ưu ñích trong vài giây, tr ưng h p ng ưc l i nó s ñưc chuy n b ưc qua t ng h p th ư lưu và các ñưng liên k t ñang th c hi n ñ ñ n ñích cu i cùng. 3.3 - T o hòm th ư mi n phí v i Yahoo Có r t nhi u ñ a ch trang web ta có th t o ñưc m t ñ a ch th ư mi n phí nh ư Yahoo.com, hotmail.com, vietfun.com, * Cách t o hòm th ư mi n phí v i Yahoo: - Gõ ña ch www.yahoo.com (ho c gõ ña ch mail.yahoo.com) - Ch n Email ho c Chekmail - Ch n Sign Up Now Kt qu xu t hiên c a s ta ph i khai báo các m c sau: +YahooID: Gõ tên hòm th ư c n t o (Không d u, không cách) + Password: Gõ m t kh u (ít nh t 6 ký t , ph i t t ch ñ gõ ti ng vi t) - Retype password: Gõ l i m t kh u - Sercurity Question: Ch n câu h i tu ỳ ch n (ch n b t k ỳ) - Your answer: Gõ vào câu tr l i (ít nh t có 4 ký t ) - Birthday: Gõ ngày tháng n ăm sinh - Gender: Ch n gi i tính - Fist/Last name: Gõ h và tên ñm - Langgue: Ch n ngôn ng - Zip Code: Gõ mã n ưc - Industry: Ch n ngh nghi p (ch n b t k ỳ) - Title: Ch n ch c v (ch n b t k ỳ) - Enter the word: Gõ t hi n th h p d ưi Ch n Submit this form ð trình Form 3.4 - G i và nh n th ư v i Yahoo 96 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 96
  14. - Gõ ña ch www.yahoo.com ( ho c gõ ña ch mail.yahoo.com) - Ch n Email ho c Mail - Gõ ña ch th ư vào h p Yahoo ID - Gõ m t kh u vào Password - Ch n Sign In Kt qu xu t hi n c a s : Hình 3.6 * Ch n Chek mail: ð nh n th ư. K t q a có c a s sau: Hình 4.6 - Sender : Ng ưi g i - Subject : Tiêu ñ th ư - Date : Ngày g i - Size : Kích c file - Mu n ñ c th ư nào thì nháy chu t vào th ư ñó. - Mu n xoá th ư thì ch n vào ô vuông bên trái th ư, ch n nút Delete * Ch n Compose: ð g i th ư. K t q a có c a s sau: 97 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 97
  15. Hình 5.6 - To : ða ch ngưi nh n - Cc : ða ch ñ ng g i t i - Bcc : ða ch ñ ng g i t i - Subject : Tiêu ñ th ư - Attachmets [Attech Files ] : G i kèm file - Ph n c a s tr ng phía ch a n i dung th ư ta gõ vào. - Ch n nút Send ñ g i th ư ñi 3.5 - G i nh n th ư b ng Outlook Express * Kh i ñ ng Outlook Express - Kích chu t vào Start - Ch n Program - Ch n Outlook Express Kt q a có c a s sau: Hình 6.6 - Inbox : N ơi l ưu các th ư ñưc t i xu ng và nó s ñó ñ n khi b n chuy n nó ñi n ơi khác. - Outbox : N ơi l ưu t m th i các th ư ch ưa ñưc chuy n - Delete Items : L ưu các th ư ñưc xoá Inbox (T ươ ng t nh ư Recycle Bin, n u mu n xoá h n các th ư n m trong th ư m c này thì b n ph i: Nháy chu t ph i trên bi u t ưng c a th ư mc và ch n Empty Forder) - Sent Items : L ưu các b n sao c a các th ư ñã g i ñi - Drafts : N u b n so n m t th ư và c n ph i th c hi n m t s vi c khác tr ưc khi hoàn tt b c th ư thì ch c n ñóng b c th ư và l ưu tr nó l i. Outlook Express s l ưu b c th ư này trong th ư m c Drafts (b n nháp). * Khai báo Accounts - Vào menu Tool/ Ch n Accounts/ Ch n Mail/ Ch n Add/ Ch n Mail - Gõ tên vào h p Display name - Ch n Next - Khai báo máy ch nh n th ư vào h p Incoming mail : + Thuê bao VNN: mail.hn.vnn.vn 98 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 98
  16. + Thuê bao FPT : imail.fpt.vn + Th VNN : fmail.hn.vnn + Th FPT : pop3.cardvn.net - Khai báo máy ch g i th ư vào h p Outgoing mail : + Thuê bao VNN: mail.hn.vnn.vn + Thuê bao FPT : omail.fpt.vn + Th VNN : fmail.hn.vnn + Th FPT : smtp.cardvn.net - Ch n Next - Gõ tên c a Account vào h p Account name - Gõ m t kh u vào Password - Ch n Next - Ch n Finish - Ch n Close * G i th ư: Bn có th g i th ư theo ba cách: - So n th ư m i - H i ñáp th ư c ũ - Chuy n m t b c th ư ñã nh n * So n m t th ư m i: - Ch n New Mail ( ho c ch n menu Message/ New Message ). C a s New Message xu t hi n. Các thao tác t ươ ng t nh ư g i th ư t i yahoo. * Tr l i m t b c th ư (H i ñáp th ư c ũ): - Ch n Inbox - Ch n th ư ñc - Có hai cách tr l i nh ư sau: + Reply : N u b n ch n l a ch n này thì th ư h i ñáp c a b n ch t i có m t ña ch e – mail trong dòng From c a ph n tiêu ñ. Không có b n sao nào ñưc g i t i m t ng ưi nào trong ph n danh sách ñưc xác ñ nh m c Cc: C a b c th ư ban ñu + Reply All : N u b n ch n l a ch n này thì b c th ư c a b n t i không ch tác gi mà còn t i t t c các m i ng ưi trong danh sách Cc. * G i chuy n ti p th ư ñã nh n: - Ch n th ư c n chuy n - Ch n Forward Message {Ho c ch n menu Message (ho c Compose), ch n Forward hay n Ctrl + F} - Gõ vào ña ch c n g i ñi - Ch n Send Ho c có th chuy n th ư d ưi hình ñính kèm * Nh n th ư ñn: Ch n Inbox/ Ch n Send and Receive/ Nh p m t kh u (Password) vào , r i n OK * ðc th ư ñn: Ch n Inbox: N u có th ư ñn, s th y hi n th tên ng ưi g i. B n ch vi c nh n chu t vào tên th ư mu n ñ c n i dung c a nó phía d ưi. * T i th ư v (Download) máy tính: - Ch n th ư mu n t i v - Ch n File/ Save As - Ch n ki u file: Mail (.eml), Text (.txt), web (.html). 99 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 99
  17. - Ch n v trí mu n l ưu file ñó - ðt tên file r i b m OK 3.6. Download và m t s ñ a ch Internet * Download : - Là th c hi n t i m t ph n m m ho c m t ch ươ ng trình trên m ng máy tính v máy tính c a mình. - Có th Download t các trang c th (n u có m c Download) ho c t các ñ a ch sau: + Microsoft Free Product Downloads (): ði v i nh ng ng ưi s d ng Win dows thì ñây là n ơi b n có th tìm th y các fonts, trò ch ơi, các ch ươ ng trình h tr cho Internet Explore và Microsoft Office . + Download.com và Shareware.com (www.shareware.com): ðây là nh ng n ơi cho phép b n tìm ki m trên m t c ơ s d li u c a h ơn 190.000 ch ươ ng trình mi n phí và chia x . * M t s ñ a ch Internet: www.hau1.edu.vn Trang ch c a Tr ưng ðH Nông nghi p I www.express.net Trang web c a Vi t nam Thông t n xã www.ptcenter.net Trang web c a trung tâm tin h c PT www.home.vnn.vn Trang web c a VDC www.msn.com Trang web c a hãng Microsoft www.fpt.vn Trang c a FPT www.vnn.vn Trang c a VASC www.quochoi.gov.vn Trang c a Qu c h i www.vtv.org.vn Trang c a Truy n hình Vi t Nam www.nxbgd.com.vn Trang c a Nhà xu t b n giáo d c www.ykhoa.com.vn Trang Y khoa b ng Ti ng Vi t www.laodong.com.vn Trang báo Lao ñng www.nhandan.org.vn Trang báo Nhân dân www.vietnamtourism.com.vn Trang c a Du l ch Vi t www.hut.edu.vn Trang ch c a Tr ưng ðH Bách Khoa HN www.dec.edu.vn Trang web c a Tr ưng ðH C n Th ơ www.fao.org Trang web c a t ch c FAO www.manguon.com Trang web c a công ty M t bão v CNTT www.real-english.com Trang web h c ti ng Anh tr c tuy n www.caycanhvietnam.com Trang web gi i thi u v cây c nh Vi t nam www.bkav.com.vn Trang web c a Trung tâm Ph n m m và Gi i pháp An ninh m ng ðH Bách khoa HN www.hoahoctro.com Trang báo Hoa h c trò www.loveclub.saigonnet.vn Câu l c b tình yêu, hôn nhân và gia ñình www.yahoo.com Trang ch c a Yahoo www.google.com Trang ñ tìm ki m www.download.com Trang ch ñ t i các ph n m m www.cnn.com Trang ch c a hãng CNN www.cocacola.com Trang ch c a hãng Cocacola www.healthfinder.gov Trang cung c p các thông tin v y t www.asd.com Trang thông tin v các tr ưng h c M www.amazon.com Ca hàng sách l n nh t th gi i. 100 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 100
  18. Câu h i ôn t p ch ươ ng V 1. M ng Internet là gì? Các ch c n ăng chính c a m ng Internet. 2. ð m t máy tính các nhân k t n i ñưc vào m ng Internet c n có nh ng gì ? 3. Trình duy t Internet Explorer có nh ng ch c n ăng gì? 4. E-mail là gì? Các mô hình ho t ñ ng c a d ch v E-mail. 5. Cách t o hòm th ư mi n phí v i Yahoo và v i Outlook Express. 101 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 101
  19. CH ƯƠ NG VI: GI I THU T 1. Khái ni m gi i thu t (Algorithms) - Khi c n gi i quy t m t bài toán trong th c t v i s tr giúp c a máy tính ñin t ta th ưng ph i bi t d li u vào c a bài toán (Input) là gì? và bài toán yêu c u d li u ra (Output) là gì?. B ưc ti p theo ta ph i thi t l p ñưc các b ưc thao tác c th ñ t Input ta có ñưc Output. Công vi c ñó trong tin h c ñưc g i là xây d ng gi i thu t. - Gi i thu t c a 1 bài toán là m t dãy các câu l nh (Statements) ch t ch và rõ ràng xác ñnh m t trình t các thao tác trên m t s ñ i t ưng nào ñó sao cho sau m t s b ưc hu h n th c hi n ta thu ñưc k t qu mong mu n. - V i ñ nh ngh ĩa nh ư v y ta th y r ng ñ i v i m t bài toán c th có th có nhi u gi i thu t khác nhau nh ưng t t nhiên là các gi i thu t ñó ph i cho cùng m t k t qu theo ñúng yêu cu c a bài toán. - Khi nghiên c u v gi i thu t th ưng ta ph i bi t ñưc gi i thu t ñó tác ñ ng lên d li u nào. Vi c l a ch n c u trúc d li u (Data structures) phù h p và vi c thi t l p ñưc các gi i thu t ñúng ñ n có c u trúc t t và hi u qu là nh ng v n ñ m u ch t c a công vi c thi t lp ph n m m. Chính vì v y mà Niklaus Wirth ng ưi sáng l p ra ngôn ng l p trình Pascal ñã tng k t: Gi i thu t+C u trúc d li u= Ch ươ ng trình Ví d : Xây d ng gi i thu t tìm UCLN c a 2 s nguyên d ươ ng a và b, ký hi u (a,b) + ði v i bài toán này ta có Input: 2 s nguyên d ươ ng a, b Output: (a,b) + Gi i thu t ñưc xây d ng d a trên tính ch t Nu a=b thì (a,b)=a Nu a>b thì (a,b)=(a-b,b) Nu a b thì thay th a b i a-b, n u a<b thì thay th b b i b-a. Quay l i th c hi n bưc 1 Minh ho : a=20, b=32 Bưc th c hi n a b Ki m tra ñiu ki n a=b Bưc 1 20 32 Sai Bưc 2 20 12 Bưc 1 20 12 Sai Bưc 2 8 12 Bưc 1 8 12 Sai Bưc 2 8 4 Bưc 1 8 4 Sai Bưc 2 4 4 Bưc 1 4 4 ðúng Kt qu là: (20,32)=4 102 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 102
  20. 2. Các yêu c u v i gi i thu t Gi i thu t c a bài toán ph i tho mãn 3 yêu c u sau: Yêu c u 1 : Tính d ng Gi i thu t ph i d ng sau m t s h u h n các thao tác, ñây là yêu c u h t s c quan tr ng vi m t gi i thu t Yêu c u 2 : Tính ñúng ñn Ta ph i ñ t câu h i "Li u gi i thu t có th hi n ñúng l i gi i c a bài toán không?" . Thông th ưng chúng ta cài ñt gi i thu t d ưi d ng ch ươ ng trình và cho th c hi n trên máy tính v i m t s b d li u nào ñó, sau ñó so sánh v i nh ng k t qu mà ta ñã bi t. Nh ưng cách th này ch kh ng ñ nh ñưc tính sai ch ch ưa th kh ng ñ nh ñưc tính ñúng ñn c a gi i thu t. B ng cách s d ng các công c toán h c ta có th kh ng ñ nh ñưc tính ñúng ñ n ca 1 gi i thu t nh ưng th ưng thì ñây là m t công vi c ph c t p. Yêu c u 3 : Tính ñơ n gi n và hi u qu Ta th ưng mong mu n xây d ng ñưc m t gi i thu t ñơn gi n, d hi u, d l p trình. Nh ưng ñôi khi thu t gi i ñơn gi n l i gây ra s lãng phí th i gian và b nh . Do ñó m c tiêu là ph i xây d ng ñưc các gi i thu t có th i gian th c hi n nhanh, h n ch t i ña dung l ưng b nh dành cho vi c l ưu tr nh ng k t qu trung gian. 3. Các cách di n t gi i thu t 3.1. Cách 1: Li t kê t ng b ưc Ví d : Có 31 que diêm, ng ưi và máy thay nhau b c. M i l n b c t 1 ñ n 4 que. Ai ph i b c sau cùng là thua. Hãy xây d ng thu t gi i sao cho máy b c tr ưc bao gi c ũng thua. Bưc 1 : Máy b c ng u nhiên x que diêm (1 ≤x≤4) Bưc 2 : Ng ưi b c (5- x) que, t ng s que diêm gi m ñi 5 que. N u s que diêm còn l i là 1 que thì chuy n sang b ưc 3, n u không thì quay l i th c hi n b ưc 1 Bưc 3 : Tuyên b ng ưi th ng cu c 3.2. Cách 2: S dng l ưu ñ S d ng ph ươ ng ti n hình h c c ũng là m t cách t t ñ minh ho gi i thu t c a 1 bài toán. Trong l ưu ñ ng ưi ta s d ng các hình sau, v i kí hi u + là ñúng, - là sai. - + Khiiukin Khilnh Cung Khibtuvàktthúc 103 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 103
  21. a. C u trúc r nhánh - R nhánh d ng khuy t: if then (hình 1) - R nhánh d ng ñ : if then else (hình 2) + K K + Lnh Lnh2 Lnh1 - C u l nh l a ch n: case Giá tr 1: Th c hi n l nh 1 Giá trHình1 2: Th c hi n l nh 2 Hình2 Giá tr n: Th c hi n l nh n else Th c hi n l nh (n+1) end - - - Lnh(n+1) gt1 gt2 gtn + + + Lnh1 Lnh1 Lnhn Hình 3 b. C u thúc l p + L p m t s l n ñ nh tr ưc: Dng 1 : for i:=m to n do Th c hi n l nh v i i nh n các giá tr nguyên t ăng t m t i n v i b ưc nh y b ng 1 Dng 2 : for i:=n downto m do Tươ ng t nh ư d ng 1 nh ưng b ưc nh y gi m b ng 1 + L p v i ñiu ki n tr ưc: while do Khi ñiu ki n còn ñúng thì còn th c hi n l nh, quá trình l p k t thúc khi ñiu ki n sai (hình 1) + L p v i ñiu ki n sau: repeat until Khi ñiu ki n còn sai thì còn th c hi n l nh, quá trình l p k t thúc khi ñiu ki n ñúng (hình 2) - + K Lnh LnhLnhLnh K - + 104 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 104
  22. 3.3 Cách 3: S d ng gi ngôn ng có c u trúc t a ngôn ng l p trình b c cao Là ph ươ ng pháp di n t gi i thu t d a vào các c u trúc ñiu khi n, cùng v i các t khoá ca m t ngôn ng l p trình b c cao nào ñó. Trong giáo trình này ta s s d ng ngôn ng t a Pascal ñ di n t gi i thu t. Cách di n ñt này ñã ti p c n g n h ơn v i ngôn ng l p trình. Ví d : V i thu t gi i tìm UCLN trên ta có th di n ñ t nh ư sau while a ≠b begin if a>b then thay a b i a-b else thay b b i b-a end write ưc chung l n nh t là a 4. Thi t k gi i thu t 4.1. Mô-ñun hoá và vi c gi i quy t bài toán Nh ng bài toán ta g p trong th c t th ưng là ph c t p, trong tr ưng h p ñó ng ưi ta th ưng chia bài toán thành nh ng bài toán nh và d gi i quy t h ơn. Ngh ĩa là coi bài toán ban ñu là Mô- ñun chính, ta chia nó thành các Mô- ñun con, và m i Mô- ñun con này có th l i ñưc chia thành các Mô- ñun nh h ơn Cách gi i quy t bài toán nh ư v y ng ưi ta th ưng g i là chi n thu t "Chia ñ tr "(divide and conquer). Trong khi l p trình vi c chia ch ươ ng trình chính thành các ch ươ ng trình con th hi n tính có c u trúc c a ngôn ng l p trình v m t ch ươ ng trình 4.2. Tinh ch nh t ng b ưc gi i thu t Tinh ch nh t ng b ưc là ph ươ ng pháp thi t k gi i thu t g n li n v i l p trình. B ưc ñ u gi i thu t ñưc minh ho b ng ngôn ng t nhiên, càng các b ưc sau ngôn ng t nhiên ñưc thay th b i ngôn ng t nhiên pha l n ngôn ng l p trình mà ta g i là gi ngôn ng . Ta có s ơ ñ sau: Ngôn ng t nhiên → Gi ngôn ng → Ngôn ng l p trình 4.3. Phân tích thu t gi i Phân tích gi i thu t ph i c ăn c vào 3 tiêu chu n ñ i v i m t gi i thu t: Tính d ng, tính ñúng ñn, tính ñơn gi n và hi u qu . Vi c ki m tra gi i thu t là m t ph n h t s c quan tr ng, lý t ưng là khi có th kh ng ñnh m t cách hình th c tính ñúng ñ n c a gi i thu t. Tuy nhiên trong th c t th i gian và công s c ñ vi t ra m t cách c n th n và ñy ñ t t c nh ng chi ti t ch ng minh tính ñúng ñn c a m t gi i thu t ph c t p th ưng là không cho phép. Ng ưi l p trình th ưng áp d ng các bi n pháp sau: - Ch ng minh m t cách suy di n r ng nh ng b ưc trong gi i thu t là ñúng ñn. Ngh ĩa là gi i thu t b t ñ u b ng m t kh ng ñ nh (gi thi t) v d li u vào và dùng ph ươ ng pháp suy lu n lôgic ñ ch ra r ng vi c th c hi n gi i thu t s cho m t kh ng ñ nh (k t lu n) v ñ u ra. - Th h ên gi i thu t b ng m t ngôn ng l p trình và th th c hi n ch ươ ng trình v i các b d li u vào mà k t qu ta ñã bi t tr ưc. Th ưng thì các l i v cú pháp và l i lúc th c hi n ch ươ ng trình th ưng d tìm và s a ch a còn các l i lôgic th ưng khó phát hi n h ơn nhi u. 105 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 105
  23. - Có ñôi lúc viêc ki m tra ch ươ ng trình ph i th c hi n th công, ki m tra t ng b ưc, tng th t c c a ch ươ ng trình chính. K thu t này ñưc g i là “ ñi b qua ch ươ ng trình”(Walking through the program) - Quan tâm ñc bi t t i th i gian th c hi n ch ươ ng trình, th i gian th c hi n ph thu c rt nhi u vào vi c t ch c d li u ñưa vào (kích th ưc d li u). 5. Gi i thu t s p x p (Sorting) Sp x p là m t trong s yêu c u th ưng xuyên xu t hi n trong quá trình x lý s li u. Bn ch t c a thu t gi i s p x p là b trí l i v trí c a s li u theo th t t ăng d n ho c gi m dn. Có nhi u gi i thu t s p x p trong tin h c, trong giáo trình này chúng ta s ñ c p ñ n m t s thu t gi i ñơn gi n ñó là s p x p l a ch n (selection sort), s p x p chèn (insertion sort) và sp x p n i b t (bubble sort). ð ñơn gi n gi s yêu c u c a bài toán là: S p x p m t dãy s cho tr ưc a 1, a 2, , a n theo th t t ăng d n. 5.1 S p x p l a ch n (selection sort) Thu t gi i ch n ñưc di n t nh ư sau: Tìm ph n t nh nh t trong dãy s và hoán v nó vi ph n t ñ u tiên, tìm ph n t nh nh t k ti p và hoán v nó v i ph n t th hai. Ti p t c quá trình này ñn khi toàn b dãy s ñưc s p x p. procedure Selection_Sort; begin for i:=1 to n-1 do begin m:=i for j:=i+1 to n do if aj<a m then m:=j if m ≠i then ñi ch a i và a m end end Ví d Dãy s ban ñ u : 3 6 -2 7 5 i=1 -2 6 3 7 5 i=2 -2 3 6 7 5 i=3 -2 3 5 7 6 i=4 -2 3 5 6 7 5.2 S p x p chèn (insertion sort) Thu t gi i chèn ñưc di n t nh ư sau: Xét l n l ưt t ng ph n t và chèn vào v trí thích hp c a ph n t ñó trong s các ph n t ñã xét tr ưc ñó. C th gi s ñã có (i-1) ph n t ñưc s p x p ñúng v trí, ñ chèn ph n t th ư i vào ñúng v trí ta so sánh l n l ưt v i các ph n t th (i-1), (i-2), khi tìm ñưc v trí ñúng thì chèn ph n t th i ñó vào. 106 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 106
  24. procedure Insertion_Sort begin for i:=2 to n do begin k:=a i j:=i while a j-1>k do begin a j:=a j-1, j:=j-1 end aj:=k end end Ví d Dãy s ban ñ u : 3 6 -2 7 5 i=2 3 6 -2 7 5 i=3 -2 3 6 7 5 i=4 -2 3 6 7 5 i=5 -2 3 5 6 7 5.3 S p x p n i b t (bubble sort) Thu t gi i này còn có tên g i khác là s p x p b ng cách ñ i ch tr c ti p (exchange sort), thu t gi i n i b t ñưc di n t nh ư sau: Duy t dãy s theo th t t ph i sang trái n u hai ph n t k c n ng ưc th t thì ñi ch cho nhau. Nh ư v y sau l ưt duy t ñ u tiên ph n t ñu tiên s là ph n t nh nh t, sau l ưt th hai ph n t nh th hai ñưc chuy n lên v trí th hai c nh ư v y dãy s s ñưc s p x p t ăng d n. procedure Bubble_Sort begin for i:=1 to n-1 do for j:=n downto i+1 do if a j<a j-1 then ñi ch a j và a j-1 end Ví d Dãy s ban ñ u : 3 6 -2 7 5 i=1 -2 3 6 5 7 i=2 -2 3 5 6 7 i=3 -2 3 5 6 7 i=4 -2 3 5 6 7 6. Gi i thu t tìm ki m (Searching) Cùng v i các thu t gi i s p x p, các thu t gi i tìm ki m c ũng ñóng m t vai trò quan tr ng trong khi x lí s li u. Bài toán tìm ki m ñ t ra nh ư sau: Gi s ta có m t dãy s a1, a2, , an, ta ph i tìm v trí c a ph n t có giá tr b ng giá tr X cho tr ưc. Chúng ta s xét hai thu t gi i tìm ki m ñó là tìm ki m tu n t (sequential searching) và tìm ki m nh phân (binary searching). 107 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 107
  25. 6.1 Tìm ki m tu n t (sequential searching) ðây là thu t gi i tìm ki m ñơn gi n nh t, ta s duy t tu n t dãy s , thu t gi i s k t thúc khi tìm th y ph n t b ng giá tr X ho c khi duy t h t dãy s nh ưng không có ph n t nào có giá tr là X procedure Sequential_Searching begin i:=1 while a i≠ X do i:=i+1 if i=n+1 then không có ph n t c n tìm else v trí ph n t c n tìm là i end 6.2 Tìm ki m nh phân (binary searching) Gi s dãy s ñã ñưc s p x p t ăng d n a 1≤a2≤ ≤an (tr ưng h p s p x p gi m d n thì tươ ng t ), thu t gi i nh phân g n gi ng nh ư khi ta tìm m t t trong t ñin. ð tìm ph n t bng X tr ưc tiên ta so sánh nó v i ph n t v trí gi a c a dãy s n u X nh h ơn thì X ch có th trong m t n a tr ưc c a dãy n u ng ưc l i thì X ch có th trong n a sau c a dãy. Lp l i quá trình tìm ki m ñó ñ n khi tìm th y ho c dãy s tr nên r ng (không tìm th y). procedure Binary_Searching begin left:=1 right:=n repeat mid:=[(left+right)/2] (*Kí hi u [a] ngh ĩa là l y ph n nguyên c a s th c a*) if X right) if X=a mid then v trí c n tìm là mid else không có ph n t c n tìm end Ví d : Tìm ph n t 28 trong dãy s sau [4 15 28 33 67 99 103] Lp l n 1 [4 15 28] Lp l n 2 [28] 7. Gi i thu t ñ quy 7.1. Khái ni m ñ qui Mt ñ i t ưng ñưc g i là ñ qui n u nó bao g m m t ph n c a chính nó hay ñưc ñ nh ngh ĩa b i chính nó. Trong khi thi t k gi i thu t ta th ưng thi t k d ưi d ng các mô- ñun. Khi gi i thu t ñưc cài ñt thành ch ươ ng trình thí các mô- ñun s t ươ ng ng v i các ch ươ ng trình con (hàm- function và th t c- procedure), Ch ươ ng trình con ñưc g i là ñ qui n u trong thân c a nó có l i g i tr c ti p ho c gián ti p ñ n chính b n thân nó. ð qui có ý ngh ĩa ñ c bi t quan tr ng trong các ñ nh ngh ĩa toán h c 108 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 108
  26. Ví d 1 : ðnh ngh ĩa s t nhiên + 0 là s t nhiên + S ti p theo c a m t s t nhiên là m t s t nhiên Ví d 2 : ðnh ngh ĩa n! + 0!=1 + n!=n*(n-1)! n u n>0 - ðnh ngh ĩa m t phép ñ qui g m có 2 ph n + Tr ưng h p suy bi n: Giúp cho quá trình ñ qui k t thúc + Ph n ñ qui (hay ph n qui n p): Trong ñó tác ñ ng c n ñưc th c hi n cho giá tr hi n th i c a các tham s ñưc ñ nh ngh ĩa b ng các tác ñng hay giá tr ñưc ñ nh ngh ĩa tr ưc ñây Trong ví d ñ nh ngh ĩa n! thì tr ưng h p suy bi n ñ nh ngh ĩa 0!, ph n qui n p ñ nh ngh ĩa n! qua các giá tr c a n và giá tr c a (n-1)! D nh n xét, n u (n-1)! ñã tính ñưc thì n! s d dàng tính ñưc. V i cách suy di n tươ ng t , (n-1)! s tính ñưc n u nh ư (n-2)! ñã tính ñưc cu i cùng 1! s tính ñưc n u 0! ñã tính ñưc. Ta th y r ng 0! ñã cho trong ñnh ngh ĩa. Do v y ñi ng ưc t cu i, vì 0! ñã tính ñưc nên 1! c ũng tính ñưc, ,sau khi (n-1)! ñã có ta s nh n ñưc n! Minh ho : Tính 3! 3!=3*2!=3*2=6 2!=2*1!=2*1=2 1!=1*0!=1*1=1 0!=1 Gi i thu t ñưc vi t d ưi d ng th t c hàm (t a Pascal) nh ư sau: function giaithua(n) begin if n=0 then giaithua:=1 (* tr ưng h p suy bi n*) else giaithua:=n*giaithua(n-1) (* ph n ñ qui*) end Chú ý: Không ph i lúc nào tính ñ qui trong cách gi i bài toán c ũng th hi n rõ nét và d phát hi n nh ư ví d trên. Do ñó mu n bi t gi i thu t c a m t bài toán có th thi t k d ưi dng gi i thu t ñ qui ñưc hay không? Có th th y câu tr l i qua vi c tr l i các câu h i sau : + Có th ñ nh ngh ĩa ñưc bài toán d ưi d ng m t bài toán cùng lo i nh ưng “nh ” h ơn không? + Kích th ưc c a bài toán s gi m ñi m i b ưc g i ñ qui nh ư th nào? + Tr ưng h p nào c a bài toán ñưc coi là tr ưng h p suy bi n? 7. 2. Ví d v gi i thu t ñ qui : Bài toán tháp Hà N i Bài toán Tháp Hà N i là m t ví d c ñin cho th y thu t toán ñ qui là ñc bi t thích hp. Có th gi i quy t bài toán m t cách d dàng n u dùng ñ qui, nh ưng cách gi i không ñ qui là t ươ ng ñi khó. Ni dung bài toán: T i c c A có n chi c ñĩ a, ñĩ a to d ưi, ñĩ a nh trên. Chuy n các ñĩa t c c A sang c c C có th nh c c B làm v trí trung chuy n theo các quy t c sau: - Mi l n ch ñưc chuy n m t ñĩ a và ph i là ñĩa trên cùng - ðĩa l n không bao gi ñưc phép n m trên ñĩa nh 109 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 109
  27. - Khi chuy n m t ñĩ a, nó ph i ñưc ñ t vào m t trong 3 c c trên Hãy ch ra th t các b ưc chuy n. A B C Mt truy n thuy t cho r ng các th y tu ðin Bramah ñưc cho m t bài toán ñ v i mt n n vàng có 3 kim vàng trên 1 c c có 64 ñĩ a vàng. Khi h chuy n các ñĩ a vàng theo các lu t c a bài toán trên, n u m i giây chuy n ñưc m t ñĩ a và h b t ñ u công vic t n ăm 0, ñn khi hoàn thành công vi c thì s là ngày t n th . Nh ng ng ưi m i b t ñ u có th gi i bài toán m t cách d dàng v i s các ñĩ a là bé, nh ưng h s r t khó kh ăn khi s ñĩ a t ăng lên 7,8 và l n h ơn. Tuy nhiên v i m t nhà l p trình thì có th gii bài toán m t cách không m y khó kh ăn. Cách gi i: N u có m t ñĩ a, chuy n nó t c c A sang c c C. Bài toán gi i ñưc v i n=1 Gi s r ng bài toán có nghi m v i n-1 ñĩa , nghi m v i n ñĩ a có th nh n ñưc m t cách d dàng nh dùng phép ñ quy: + Chuy n n-1 ñĩa trên cùng c c A sang c c B, dùng c c C làm trung chuy n + Chuy n ñĩ a còn l i c c A sang c c C + Chuy n n-1 t c c B sang c c C, dùng c c A làm trung chuy n Ta có th vi t gi i thu t c a bài toán Tháp Hà N i nh ư sau: procedure Move(n,A,B,C) (* Chuy n n ñĩ a t c c A sang c c C, dùng c c B làm trung chuy n*) begin if n=1 then chuy n ñĩ a t A sang C else begin Move(n-1,A,C,B) (* Chuy n n-1 ñĩa t A sang B, dùng C làm trung chuy n*) Move(1,A,’ ‘,C) (* Chuy n 1 ñĩ a t c c A sang c c C*) Move(n-1,B,A,C) (* Chuy n n-1 ñĩa t B sang C, dùng A làm trung chuy n*) end end 110 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 110
  28. Bà i t p ch ươ ng VI: Thu t gi i Vi t gi i thu t cho cá c bà i toá n sau: 1. Tí nh n giai th a: n! =1.2 n v i n>1 2. Tí nh cá c t ng: S=1/2 + 1/4 + + 1/(2k) Q=1.1!+2.2!+ +n.n! 3. Tì m và in ra t t ccá c s chí nh ph ươ ng nh hơn m t s cho tr ư c, cho bi t có bao nhiêu s chí nh ph ươ ng nh ư vy. 4. Vi t ch ươ ng trì nh gi i bà i toá n c : " Va gà va chó , ból i cho trò n, ba m ươ i sá u con, m t tr ăm chân ch n. H i có bao nhiêu gà , bao nhiêu chó ?" 5. Vi t ch ươ ng trì nh tì m ư c s chung l n nh t c a 2 s nguyên d ươ ng cho tr ư c. x x2 x n 6. Tí nh Ex= 1+ + + + + v i ñchí nh xá c ε=10 -4 ( ABS(x n/n!) < ε ), giátr x 1! 2! n! ñư c nh p và o t bà n phí m khi ch y ch ươ ng trì nh. 7. Cn có 50000 ñ tcá c lo i gi y b c 1000 ñ, 2000 ñ và 5000 ñ. Tì m t t ccá c ph ươ ng án có th . 8. Chuy n m t s th p phân nguyên d ươ ng thà nh m t s nh phân, in ra mà n hì nh d ng X10 = Y 2 9. Tí nh tí ch phân xá c ñnh c a m t hà m s trên m t ño n cho tr ư c 10. Vi t ch ươ ng trì nh tì m và in ra mà n hì nh cá c s nguyên t nh hơn m t s cho tr ư c. 11. Cho dã y s sau: a 1,a 2, ,a n . Vi t ch ươ ng trì nh tì m ph n t ln nh t, ph n t nh nh t c a dã y s ñó. 12. Cho dã y s sau: a 1,a 2, ,a n . Vi t ch ươ ng trì nh s p x p dã y theo th t tăng d n . 13. Cho dã y s sau: a 1,a 2, ,a n . Vi t ch ươ ng trì nh ñ m s ph n t dươ ng và xo áñi ph n t th m trong dã y (m<=n) . 14. Cho dã y s sau: a 1,a 2, ,a n . Vi t ch ươ ng trì nh tì m cá c ph n t cógiátrlà x nh p và o t bà n phí m. 15. Cho dã y s sau: a 1,a 2, ,a n . Vi t ch ươ ng trì nh thêm ph n t cógiátrlà x, và o vtrí m trong dã y. Sau ñótí nh t ng cá c ph n t c a dã y m i. 16. Vi t ch ươ ng trì nh in ra cá c s nguyên t trong kho ng t 1 → n 17. Cho ma tr n có m dò ng và n c t, cá c ph n t là nguyên. Tì m ph n t nh nh t c a ma tr n. 18. Cho ma tr n có m dò ng và n c t, cá c ph n t là nguyên. Tí nh t ng và trung bì nh c ng cá c ph n t c a ma tr n. 111 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 111
  29. PH N II NGÔN NG L P TRÌNH TURBO PASCAL CH ƯƠ NG I: C U TRÚC C A CH ƯƠ NG TRÌNH PASCAL 1. Gii thi u v ngôn ng lp trì nh 1.1. Ngôn ng lp trì nh làgì ? Ngôn ng lp trì nh là mt h th ng cá c kí hi u, h th ng cá c quy t c cúphá p và mt bcá c chth (hay cò n g i là câu l nh) dù ng ñ vi t cá c thu t toá n gi i cá c bà i toá n thà nh cá c ch ươ ng trì nh má y tí nh. Nh ng ch ươ ng trì nh nà y sñư c ñư a và o má y "ch y" ñtí nh toá n, x líbà i toá n. Ngôn ng lp trì nh ra ñi cù ng v i s ra ñi c a MT ðT vì khi MT ðT ra ñi ñươ ng nhiên ng ư i ta ph i nghĩñ n vi c xây d ng ngôn ng cho chú ng. Cá c th h MT ðT liên t c phá t tri n, do ñó ngôn ng lp trì nh cũ ng phá t tri n theo. Có nhi u lo i ngôn ng lp trì nh khá c nhau, t ngôn ng bc th p chuy n lên ngôn ng bc cao. + Ngôn ng bc th p (ngôn ng má y): Ch sd ng 2 kí hi u 0 và 1 ñmãhoám i ñi lư ng vàphé p toá n. Ngôn ng nà y cóưu ñim là ch ươ ng trì nh ch y nhanh, không ph i qua khâu d ch. Tuy nhiên nh ng ch ươ ng trì nh vi t b ng ngôn ng nà y r t c ng k nh, vi t m t r t nhi u th i gian, d sai só t, khó ki m tra; m t khá c m i lo i má y có mt ngôn ng má y riêng. + Ngôn ng tp h p: Kh c ph c m t s nh ư c ñim trên ng ư i ta nghĩcá ch thay th mt smãnh phân b ng cá c ch cá i và cho ra ñi ngôn ng tp h p (cò n g i là ngôn ng kí hi u). Ưu ñim là vi c l p trì nh ñã ddà ng h ơn, tuy nhiên c n ph i có ch ươ ng trì nh d ch t ngôn ng tp h p ra ngôn ng máy, và vn cò n ph thu c và o t má y. + Ngôn ng bc cao: Ch ươ ng trì nh ñư c vi t g n v i ngôn ng t nhiên c a con ng ư i, do ñó d dà ng cho ng ư i l p trì nh, tuy nhiên ch ươ ng trì nh sch y ch m h ơn. Năm 1958, ALGOL - ngôn ng lp trì nh b c cao ñu tiên ra ñi. Năm 1960 nóñư c b sung, ch nh lívà có nh h ư ng sâu s c ñ n cá c ngôn ng lp trì nh b c cao sau nà y nh ư FORTRAN, C, BASIC, PASCAL, 1.2. Turbo Pascal PASCAL là ngôn ng lp trì nh b c cao c a tá c gi Niklaus Wirth (giá o s ư ng ư i Thu sĩ ), ñư c công b và o ñu nh ng n ăm 1970. Tên PASCAL làñk ni m nhàToá n h c ng ư i Phá p B. Pascal. PASCAL là ngôn ng lp trì nh có tí nh cu trú c vàtí nh h th ng : cá c ki u d li u ña d ng, cá c c u trú c ñiu khi n ch t ch , cá c c u trú c kh i trong ch ươ ng trì nh rõrà ng PASCAL là ngôn ng lp trì nh có ñnh ki u rõrà ng : cá c ñi l ư ng (bi n và hng) ñã ñư c khai bá o ñ sd ng v i ki u d li u nà y thì không th ñem dù ng l n v i ki u khá c. PASCAL ban ñu ñư c sá ng tá c ñlà m ngôn ng d y h c cho nh ng ng ư i m i h c l p trì nh. ð c tí nh sá ng s a, d hi u, d ñc c a nógiú p ng ư i m i h c có th vi t mt ch ươ ng trì nh má y tí nh m t cá ch d dà ng. Sau khi ra ñi, do có nhi u ưu ñim,PASCAL ñãñư c nhi u hã ng má y tí nh phá t tri n và cà i ñt cho nhi u h th ng má y tí nh, nh ư: ISO PASCAL (PASCAL chu n ), ANSI PASCAL v.v. Ph bi n nh t hi n nay nư c ta cũ ng nh ư trên th gi i là vi c cà i ñt TURBO PASCAL cho cá c h th ng má y tí nh. TURBO PASCAL ñư c hã ng BORLAND INTERNATIONAL hoà n thi n v i cá c ưu ñim là ch ươ ng trì nh vi t g n, 112 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 112
  30. d ch nhanh, không ng ng ñưc c i ti n ñáp ng yêu c u c a ng ư i s d ng. TURBO PASCAL ñãñư c phá t tri n qua cá c phiên b n ngà y cà ng m rng và ph c t p. Vi c khai thá c sâu cá c tí nh n ăng c a t ng phiên b n là do kh năng và nhu c u c a ng ư i l ptrì nh. Giá o trì nh nà y ch n version 5.0 là m chu n ñ minh ho , tuy nhiên ng ư i ñc có th á p d ng cho cá c phiên b n sau nà y nh ư 6.0, 7.0. 2. Yêu c u ph n m m vàcá ch kh i ñng 2.1. Yêu c u ph n m m Ph n m m TURBO PASCAL cókhá nhi u File, tuy nhiên ñcó th bư c ñu h c và s d ng ñư c, trên ñĩa c n có ti thi u cá c file sau: TURBO.EXE file chí nh, ch a c ch ươ ng trì nh d ch, h so n th o vàcá c d ch v g ri TURBO.TPL là th ư vi n cá c ch ươ ng trì nh m u có sn c a TURBO PASCAL Nu có sd ng ñhothì cn ché p thêm ñơ n v GRAPH.TPU và mt s file ph tr khá c tuỳ theo ki u mà n hì nh và ki u ch sd ng. 2.2. Kh i ñng vàthoá t TURBO PASCAL Thông th ư ng cá c file nó i trên n m trong th ư m c TP (ho c TURBO hay TP5, TP7 tuỳ theo phiên b n hay ng ư i s d ng) Ta chuy n và o th ư m c nà y b ng l nh CD TP ↵, sau ñógõ TURBO ↵ . Mà n hì nh s hi n ra nh ư sau: File Edit Run Compile Options Debug Break/Watch Line 1 Col 1 Insert Indent Unindent C:NONAME.PAS | F1-Help F5-Zoom F6-Switch F7-Trace F8-Step F9-Make F10-Menu Dò ng 1: làdò ng menu chí nh, trên ñócó ghi cá c m c c ơ b n nh t ñ ng ư i s d ng có th ch n b ng cá ch n ñng th i Alt+ ch cá i ñu c a m c. Víd : Alt+F ñ mm c File. Dò ng 2: làdò ng tr ng thá i, cho ng ư i dù ng bi t m t s thông s so n th o nh ư toñ con tr , ch ñso n th o là vi t chè n hay vi t ñè, tên t p ñang là m vi c Dò ng cu i cù ng làdò ng h ư ng d n, nh c ng ư i s d ng m t s phí m ch c n ăng chí nh. Ph n mà n hì nh r ng gi a là ph n so n th o ñ ta nh p vàch y ch ươ ng trì nh. Ng ư i m i h c l p trì nh nên ghi nh ngay cá c phí m ch c n ăng: F2 ghi t p ñang so n th o và o ñĩa. Nu ch ưa ñt tên scó thông bá o ñ ta gõ tên và o (tên ñư c ñt theo quy ñnh c a MS-DOS ) 113 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 113
  31. F3 m tp m i Alt+F9 d ch ch ươ ng trình Ctrl+F9 d ch và cho ch y ch ươ ng trì nh Alt+X K t thú c PASCAL tr v hñiu hà nh 3. Nh ng quy ñnh v cá ch vi t bi u th c và ch ươ ng trì nh 3.1. Bkí t TURBO PASCAL s d ng b ch vi t nh ư sau: - B 26 ch cá i Latinh: A, B, , Z ; a, b, , z - B cá c ch s: 0, 1, , 9 -Cá c kí hi u Toá n h c: +, -, * , /, =, , - D u g ch n i, d u ch m, d u ngo c vàcá c kí hi u ñc bi t khá c: _ . , ; ? [ ] ( ) $ % 3.2 T khóa Tkhoálà mt s tdà nh riêng c a TURBO PASCAL, nh ng t nà y ñãñư c gá n s n nh ng ch c n ăng ñc bi t, ta không ñư c dù ng và o vi c ñt tên hay cá c công vi c khá c. Sau ñây l à mt s t quan tr ng, b n ñc s ln l ư t bi t cá c t khoávà ch c n ăng c a t ng t qua cá c bà i h c. -Cá c t khoá chung: Program, begin, end -Cá c t khoáñ khai bá o: uses, const, type, label, var procedure, function array, string, record, -Cá c t khoá lnh: if then else case of for to do while do repeat until - M t s tên chu n: Boolean, char, integer, real, read, readln, write, writeln, abs, cos, sin, sqrt, exp 3.3 Tên Tên là mt dã y kí tdù ng ñch tên cá c ñi l ư ng nh ư tên h ng, tên bi n, tên ki u hay tên ch ươ ng trì nh con. Tên ñư c ñt theo quy t c sau: bt ñu b i m t ch cá i, r i ñ n ch s hay d u g ch n i và không dà i quá 127 kí t (!). Tên th ư ng ñư c ñt mang tí nh g i nh . TURBO PASCAL không phân bi t ch hoa và ch th ư ng khi vi t t khoá hay tên. Ví d : khi vi t ch ươ ng trì nh gi i ph ươ ng trì nh b c 2, ta có th ñt tên ch ươ ng trì nh là GIAI_PHUONG_TRINH_BAC2, ñt tên bi n ch a bi t th c ∆là delta (không ñư c dù ng kí hi u ∆), ñt tên cá c nghi m là X1 và X2, - D u ch m ph y (;) dù ng ñ ng ăn cá ch cá c câu l nh trong m t ch ươ ng trì nh - L i gi i th ích ñư c ñt trong c p d u (* *) ho c { }, cá c n i dung ñư c ch a trong c p du nà y sb ch ươ ng trì nh b qua trong khi d ch 114 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 114
  32. 4. C u trú c chung c a m t ch ươ ng trì nh PASCAL Ta hi u m t ch ươ ng trì nh má y tí nh là mt dã y cá c l nh, cá c chth hư ng d n má y th c hi n m t nhi m v , m t x línà o ñó trên t p cá c d ki n và o và cho ra k t qu . Mt ch ươ ng trình PASCAL có c u trúc chung nh ư sau: PROGRAM Tên_ ch ươ ng_ trì nh; USES Danh sách ñơ n vi.; LABEL Danh sách nhãn; CONST Danh sách h ng; TYPE Danh sách ki u; VAR Danh sách bi n; PROCEDURE Khai báo th t c; FUNCTION Khai báo hàm; BEGIN { Các câu l nh; } END. Mt ch ươ ng trì nh PASCAL ñin hì nh g m 3 ph n: Ph n tiêu ñ, ph n khai báo, ph n thân ch ươ ng trình. 4.1. Ph n tiêu ñ Ph n nà y cód ng PROGRAM Tên_ ch ươ ng_ trì nh; bt ñu b ng t khoá PROGRAM, ít nh t m t d u cá ch r i ñ n tên ch ươ ng trì nh, k t thú c b i du ch m ph y (;). Tên_ ch ươ ng_ trì nh do ta ñt ra, mang ýnghĩ a n i dung c a ch ươ ng trì nh, du ; là bt bu c ph i có . Víd : Program Giai_PT_bac2; Ph n tiêu ñlàtuỳch n, có th có hay không cũ ng ñư c, nh ưng n u ñãcóthìph i ñcá c thà nh ph n nh ư trên. 4.2. Ph n khai bá o Ph n nà y mô tcá c ñi t ư ng c a bà i toá n mà ch ươ ng trì nh s xlí . Cá c khai bá o khá c nhau ñư c vi t cá ch nhau b i d u ;. Gm: Khai báo ñơ n v uses Khai bá o nhã n label Khai bá o h ng: const Khai bá o ki u: Type Khai bá o bi n: Var Khai bá o ch ươ ng trì nh con: Procedure Function Cá c khai bá o c a ph n nà y tuỳ thu c t ng bà i toá n c th màcó th có hay không, ho c có mt ho c m t và i khai bá o. Cá ch khai bá o và sd ng c th sñư c gi i thi u trong m i ph n sau. 4.3. Ph n thân ch ươ ng trì nh 115 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 115
  33. Ph n nà y ñư c b t ñu b i t khoá BEGIN , k tthú c b i t khoá END và du ch m (.) ht. ð t gi a BEGIN và END làcá c l nh c a ch ươ ng trì nh , cá c l nh ñư c vi t cá ch nhau b i d u ; nh ư sau: BEGIN Lnh 1; Lnh 2; Lnh n; END. Ph n nà y b t bu c ph i cóñi vi m i ch ươ ng trì nh, nó ch a cá c l nh x lícá c d li u ñã ñư c mô t ph n khai bá o. ðây là ph n chí nh c a ch ươ ng trì nh ñ gi i quy t bà i toá n. Ng ư i l p trì nh ph i b nhi u công s c ñ thi t k thu t gi i và vi t ch ươ ng trì nh cho ph n nà y. 4.4. Cá c b ư c c ơ b n khi l p trì nh Tr ư c khi vi t m t ch ươ ng trì nh gi i quy t m t bà i toá n nà o ñó, ng ư i l p trì nh ph i bi t cá ch gi i bà i toá n ñó hay chí nh xá c h ơn ph i bi t thu t gi i ñgi i bà i toá n vàtrì nh bà y thu t gi i bng ngôn ng lp trì nh . Bư c 1: So n th o ch ươ ng trì nh ðây là bư c vi t m i m t ch ươ ng trì nh, có th vi t trên gi y tr ư c r i nh p và o má y, sa l i, c p nh t. Cá c ch ươ ng trì nh nà y ñư c g i là ch ươ ng trì nh ngu n, tên chú ng ñư c t ñng gá n ñuôi PAS. Ta có th dù ng m t h so n th o v ăn b n nà o ñó, th ư ng là hso n th o văn b n c a chí nh TURBO PASCAL. Bư c 2: D ch ch ươ ng trì nh (Alt+F9) G i ch ươ ng trì nh d ch (compiler) d ch ch ươ ng trì nh ngu n ñã vi t bư c 1 sang d ng mãmá y, k t qu th ư ng t o ra cá c t p d ng *.EXE, *.OBJ. Bư c nà y s cho phé p ta phá t hi n cá c l i ñ sa. Th ư ng cá c l i cúphá p nh ư thi u d u ; ho c vi t sai t khoá , sai tên sñư c thông bá o. Ta ph i s a h t cá c l i r i chuy n sang b ư c 3. Bư c 3: Ch y ch ươ ng trì nh và th (Ctrl+F9) Nu cá c d ki n ñư c cung c p chí nh xá c mà ch ươ ng trì nh cho k t qu sai thì ta ph i xem l i thu t gi i. ðây là li ñc bi t nghiêm tr ng vìnó không th hi n ra ngoà i qua cá c thông bá o l i vàcó th là m sai toà n b bà i toá n. Ta cũ ng ph i quay l i b ư c 1 ñ sa vàch y l i. Câu h i ôn t p ch ươ ng I 1- Nêu quy t c ñ t tên trong Turbo Pascal. Cho 3 ví d tên ñt ñúng, 3 ví d tên ñt sai. 2- Nêu c u trúc chung c a m t ch ươ ng trình Turbo Passcal. 116 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 116
  34. CHƯƠ NG II CÁC KI U D LI U C Ơ S VÀ CÁCH KHAI BÁO 1. Khá i ni m d li u, ki u d li u 1.1. Khá i ni m d li u D li u là tt ccá c thông tin có th t ñư c má y tí nh x lí . Chú ng có nhi u d ng khá c nhau, th hi n qua cá c ñi t ư ng c n x lí nh ư văn b n, s li u, âm thanh, hì nh nh, 1.2. Ki u d li u Ki u d li u là tp h p t t ccá c giátrmà mt ñi l ư ng thu c ki u ñócó th nh n ñư c, trên ñóxá c ñnh m t s phé p toá n. ðiu ñócónghĩ a là mt ñi l ư ng (bi n, h ng, ) chcó th nh n m t t p h p cá c g iátr nh t ñnh (ch không ph i m i giátrcó th có ) và trên t p h p cá c giátrñócóxá c ñnh m t sphé p toá n. Ch ng h n ki u s nguyên thông th ư ng ch nh n cá c giátr trong ph m vi -215 ñ n 2 15 -1, trên ñócócá c phé p toá n s h c +, -, *, /, div, mod vàcá c phé p so sá nh =, . 1.3. Phân lo i cá c ki u d li u TURBO PASCAL phân lo i cá c ki u d li u nh ư sau Ki u d li u Ki u vô hư ng ñơ n gi n Ki u d li u có cu tr úc Con tr Ki u c ơ s Ki u do ng ư i dù ng ñnh nghĩ a Ki u Ki u s Ki u Ki u Ki u li t Ki u M ng B n Tp Tp Ki u logic nguyên s kí t kê kho ng con ghi hp xâu Bool th c kí t 2. Cá c ki u d li u ñơ n gi n 2.1. Ki u s nguyên Ki u s nguyên bao g m t t ccá c s nguyên có th bi u di n ñư c trên má y tí nh. T khoá : Integer Ph m vi bi u di n: t -32768 ñ n 32767 , t c -215 ñ n 2 15 -1 ( dù ng 2 byte=16 bit ) Nh ư vy ki u integer chlà mt ño n c a t p s nguyên Cá c phé p toá n: Ki u integer ñư c th c hi n v i t t c cá c phé p toá n dà nh cho s nguyên thông th ư ng 117 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 117
  35. + Cá c phé p toá n s h c: + ( cng) , - ( tr ), * ( nhân ) , / ( chia ) , DIV ( phé p chia l y ph n nguyên, víd : 7 div 3=2), MOD ( phé p chia l y ph n d ư, víd : 7 mod 3=1) + Cá c phé p so sá nh: = ( bng ) , ( ln h ơn) , >= ( ln h ơn ho c b ng ), <> ( khá c ) Trong TURBO PASCAL, ngoà i ki u s nguyên ñư c khai bá o v i t khoá integer nó i trên cò n cócá c ki u s nguyên khá c ( xem b ng ) ph c v cho cá c m c ñích tí nh toá n khá c nhau Ki u Ph m vi bi u di n Kí ch th ư c (byte) ( tkhoá ) Byte 0 255 1 Shortint -128 127 1 Integer -32768 32767 2 Word 0 65535 2 Longint -2147483648 2147483647 4 2.2. Ki u s th c Ki u s th c là tp h p t t ccá c s th c có th bi u di n ñư c trên má y tí nh. Không ph i t t ccá c s th c ñ u có th bi u di n ñư c trên má y tí nh màñ ln vàñ tinh xá c c a nóph thu c và o má y và ch ươ ng trì nh d ch. - Ki u s th c ñư c khai bá o v i t khoá real -Ph m vi bi u bi n: t 1.9x10 -39 ñ n 1.7x10 38 -Cá c phé ptoá n: Ki u real có th th c hi n v i t t ccá c phé p toá n c a s th c thông th ư ng: +, -, *, / vàcá c phé p so sá nh ( không cóphé p div và mod dà nh cho s th c ). -Cá ch vi t s th c d ng d u ph y ñng: Trong má y tí nh s th c ñư c vi t dù ng d u ch m ñ ng ăn gi a ph n nguyên và ph n l th p phân. Trong d ng d u ph y ñng s th c ñư c vi t theo d ng: AE+b, trong ñó A g i là ph n ñnh tr , E+b g i là ph n mũ . Víd : Ta xem xé t cá c cá ch vi t khá c nhau c a cù ng 1 s 824.12345=8.2412345x10 2 hay 8.2412345E+2 =824123.45x10 -3 hay 824123.45E-3 Trong TURBO PASCAL, ngoà i ki u s th c ñư c khai bá o v i t khoá real nó i trên cò n có cá c ki u s th c khá c ( xem b ng ) ph c v cho cá c m c ñích tí nh toá n v i ñ ln vàñchí nh xá c khá c nhau Ki u Ph m vi biu di n Ch scónghĩ a Kí ch th ư c ( byte ) ( tkhoá ) Single 1.5E-45 3.4E+38 7-8 4 Real 2.9E-39 1.7E+38 11-12 6 Double 5.0E-324 1.7E+308 15-16 8 Extended 3.4E-4932 1.1E+4932 19-20 10 118 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 118
  36. * Cá c hà m s h c chu n dù ng cho ki u s nguyên và s th c: ðây là nh ng hà m ñư c ñnh nghĩ a s n trong TURBO PASCAL, ta có th sd ng nh ư cá c công cñtí nh toá n Tên hà m ( trong TP ) Cho k t qu ( hà m) ABS(X) | X ( giátr tuy t ñi c a X) SQR(X) X 2 ( X bì nh ph ươ ng) SQRT(X) X (căn b c 2 c a X ) LN(X) lnX (Logarit Nepe) EXP(X) eX SIN(X) sinX ; X cho b ng radian COS(X) cosX; X cho b ng radian ARCTAN(X) arctangX SUCC(n) n+1 ( s ti p theo c a n ) , n nguyên PRED(n) n-1 ( s k tr ư c c a n ) , n nguyên TRUNC(X) ct, cho ph n nguyên c a X ROUND(X) Là m trò n ph n lc a X 2.3. Ki u kí t Ki u kí tlà tp h p t t ccá c kí tc a b ng mãmá y tí nh ( ASCII ) Tkhoá Char Có th sd ng cá c phé p toá n so sá nh ñi v i ki u kí t, kí tnà o ñng tr ư c theo th tc a b ng mãmá y tí nh sñư c coi lành hơn, kí tñng sau ñư c xem là ln h ơn Víd : 'a' , Ki u logic boolean chcó 2giátr : True và False Ng ư i ta ñnh nghĩ a: False < True 119 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 119
  37. 2.5. Ki u li t kê (Enumerated scalar type) Là ki u cho phé png ư i l p trì nh có th tñnh nghĩ a ra cá c ki u vô hư ng b ng cá ch li t kê cá c giátrc a ki u vô hư ng ra thông qua cá c tên do ng ư i l p trì nh t o ra. Danh sá ch cá c giá trnà y ñư c ñt trong ngo c ñơ n vàñư c mô t bng m t tên ki u trong ph n mô t (Ph n TYPE). Tkhoá : TYPE Víd : TYPE Boolean=(False, True); Color=(Red, Blue, Green, While, Black); Mt bi n vô hư ng có th ñnh nghĩ a thông qua cá c ki u ñãñư c mô t trong ph n TYPE nh ư sau: VAR Ketqua: Boolean; Mau1, Mau2: Color; Ho c khai bá i tr c ti p v i mô t ki u d li u: VAR Gioitinh: (Nam, nu); Ngay: (Chunhat, Hai, Ba, Tu, Nam, Sau, Bay); Víd : Ketqua:= True; Mau1:=Blue; Gioitinh:=Nam; Ngay:=Chunhat; 2.6. Ki u kho ng con (Sub- range Type) Là ki u vô hư ng ñư c d ng khi m t bi n chñư c lá y giátr trong m t kho ng (xá c ñnh bi c n trên và cn d ư i). • Quy t c ñnh nghĩ a: Hang_can_duoi Hang_can_tren; Trong ñó: Hang_can_duoi < Hang_can_tren, vàcù ng ki u. • Tá c d ng: - Ti t ki m ô nh . -Có th ki m tra giátrc a bi n khi ch y ch ươ ng trì nh không ñư c v ư t ra kh i gi i h n c a kho ng con. Víd : TYPE Ngay= (Chunhat, Hai, Ba, Tu, Nam, Sau, Bay); Chu_cai_hoa='A' 'Z'; VAR ch : Chu_cai_hoa; Ngay_lam_viec: Hai Bay; 120 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 120
  38. 3. Cá c khai bá o 3.1. Khai báo ñơ n v ðơ n v là m t ki u t ch c c a ch ươ ng trinh Pascal, trong ñó có các ch ươ ng trình con, nh m th c hi n m t m t ch c n ăng nào ñó. Ta khai báo các ñơ n v s d ng trong ch ươ ng trình theo cú pháp sau: Uses Tên_ ñơ n_vi; CRT là ñơ n v chun qu n lý màn hình, bàn phím; GRAPH là ñơ n v ñ h a. PRINTER là ñơ n v khai báo máy in, máy in ñưc cài ñt tên là LST. Ví d 1: Uses crt; Ví d 2: Uses crt, graph, printer; 3.2. Khai báo nhãn Nhãn là m t tên trong Pascal. Nhãn dùng ñánh d u m t câu l nh trong ch ươ ng trình ñ có th chuy n ñiu khi n t i ñó. Khai báo nhãn trong ch ươ ng trình theo cú pháp sau: Label Tên_nhãn; Cách ñánh d u nhãn cho câu l nh nh ư sau: Tên_nhãn : Câu l nh; Ví d : Label Tiep; . . . Tiep : Readln(x); 3.3. Khai bá o h ng Hng làñi l ư ng không thay ñi giátr trong quátrì nh x lí . Ta khai bá o h ng theo cú phá p: const Tên_h ng=Giátr ; ñó: Tên_h ng do ta ñt ra, Giátrlàgiátrmà tên h ng s nh n và gi không ñi su t quátrì nh x lí . Víd : const n=10; { khai bá o h ng s nguyên n=10} pi=3.1416; { khai bá o h ng s pi } ki_tu='Y'; { khai bá o h ng kí t ki_tu nh n kí t Y} 3.4. Khai báo ki u Khai báo ki u là ñnh ngh ĩa m t ki u d li u do ng ưi s d ng t o ra. Khai báo ki u có cú pháp sau: Type Tên_ki u = Mô_ t _ki u; Ví d : Type Mau = (do, xanh, vang, tim, nau); Type Phuong_tien_GT = (xe_dap, xe_may, o_to, tau_hoa); Type Tuoi_nguoi = 1 300; 121 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 121
  39. 3.5. Khai bá o bi n Bi n làñi l ư ng có th thay ñi giátr trong quátrì nh x lí . Bi n c a ch ươ ng trì nh là tên c a ô nh ct gi d li u. Mu n sd ng bi n nà o ta ph i khai bá o tr ư c bi n ñó bng cá ch vi t tên bi n trong ph n khai bá o ñu ch ươ ng trì nh sau t khoá Var. Cúphá p: Var Tên_bi n:Ki u_d _li u; ñó: Tên_bi n do ta ñt ra, Ki u_d _li u là tên c a m t trong cá c ki u d li u c a TURBO PASCAL, d u hai ch m b t bu c ph i có ñ ng ăn gi a 2 ph n c a khai bá o, d u ch m ph y k t thú c dò ng khai bá o. Cá c bi n cócù ng ki u có th ñư c khai bá o cù ng nhau bng cá ch vi t cá c tên bi n cá ch nhau b i dâúph y (,), nhó m cá c bi n khá c ki u nhau ñư c vi t cá ch nhau b i d u ; Víd : Var i:integer; { khai bá o m t bi n có tên là I, bi n nà y có ki u nguyên} x,y,z:real; { khai bá o 3 bi n x,y,z nh n cá c giátrcó ki u th c } t: char; { khai bá o bi n t có ki u kí t } kiem_tra:boolean; { khai bá o bi n logic } Tuoi: 1 300; ð i v i m i bà i toá n, khi phân tí ch thu t toá n, ta ph i xá c ñnh rõ ngay ch ươ ng trì nh c n ph i nh p và o cá c d ki n gì ? cá c k t qu trung gian nà o c n ph i ñư c ch a, d li u ra là nh ng gì ? ñ tñócó ph n khai bá o chí nh xá c, không b thi u màcũ ng không th a gây lã ng phí ô nh (!) 4. Bi u th c và câu l nh 4.1. Bi u th c Bi u th c là mt công th c tí nh toá n ñcó mt giátr theo m t công th c toá n h c nà o ñó. Mt bi u th c bao g m cá c toá n t kt h p v i cá c toá n h ng. Cá c toá n t trong TURBO PASCAL g m: cá c phé p toá n s h c ( +, -, *, / ), cá c phé p so sá nh ( =, , ), cá c phé p toá n logic ( NOT, AND, OR); Cá c toá n h ng: gm cá c h ng, cá c bi n, cá c hà m ñư c d nh nghĩ a trong TURBO PASCAL Th tưu tiên cá c phé p toá n nh ư sau: 1. du ngo c ( ) ni dung vi t trong d u ngo c ñư c ưu tiên th c hi n tr ư c nh t 2. phé p l y ñi ( - ), phé p NOT 3. cá c phé p tí nh lo i nhân, chia: *, /, DIV, MOD, AND 4. cá c phé p tí nh lo i c ng, tr : +, -, OR 5. cá c phé p so sá nh: +, , Chú ý: Bi u th c trong Pascal ch ñưc vi t trên 1 dong do ñó ph i chú ý dùng các d u ( ) ñ vi t cho chính xác. b 2 − 4ac Ví d : Bi u th c toán h c vi t là: 1 + 2ab Trong Pascal vi t là: (b*b- 4*a*c)/(1+sqrt(2*a*b)) 2 + sin x + cos x Bi u th c toán hc vi t là: 2sin x + 1 Trong Pascal vi t là: (2+ sqrt (sin(x)+cos(x)))/(2* sin(x)+1) 122 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 122
  40. 4.2. Câu l nh Câu l nh xá c ñnh công vi c, thao tá c mà ch ươ ng trì nh ph i th c hi n ñ xlícá c d li u ñã mô t , khai bá o. Cá c lnh vi t cá ch nhau b i d u (;), TURBO PASCAL phân lo i cá c l nh nh ư sau: - L nh ñơ n: làcá c l nh không ch a cá c l nh khá c - L nh có cu trú c: th ư ng ch a nhi u h ơn m t l nh ñơ n, bao g m kh i l nh, cá c l nh th và rnhá nh, cá c l nh l p. - L nh h p thà nh ( cò n g i là lnh ph c hay l nh ghé p ): gm m t nhó m cá c l nh ñư c ñt gi a c p t khoá begin end; ( du ch m ph y (;) kt thú c ch không ph i d u ch m ) nh ư sau: begin lnh1; lnh2; lnhn; end; D ng l nh nà y cho ta th y tí nh có cu trú c c a TURBO PASCAL. Mt nhó m cá c l nh gi i quy t tr n v n m t công vi c nà o ñósñư c t ch c trong m t kh i l nh d ng nà y, và tng công vi c c a bà i toá n l n sñư c giao cho t ng ng ư i là m tr ư c khi ghé p l i ñgi i bà i toá n tng th . Chú ng ta sñ cp kĩ hơn v vn ñnà y ph n ch ươ ng trì nh con ( tht c vàhà m ). Bài t p ch ươ ng 2 Hãy vi t các khai báo bi n cho các bài toán sau: 1. Tí nh n giai th a: n! =1.2 n v i n>1 2. Tí nh cá c t ng: S=1/2 + 1/4 + + 1/(2k) Q=1.1!+2.2!+ +n.n! 3. Tì m và in ra t t ccá c s chí nh ph ươ ng nh hơn m t s cho tr ư c, cho bi t có bao nhiêu s chí nh ph ươ ng nh ư v y. 4. Vi t ch ươ ng trì nh gi i bà i toá n c : " Va gà va chó , ból i cho trò n, ba m ươ i sá u con, m t tr ăm chân ch n. H i có bao nhiêu gà , bao nhiêu chó ?" 5. Vi t ch ươ ng trì nh tì m ư c s chung l n nh t c a 2 s nguyên d ươ ng cho tr ư c. 2 n x x x -4 n 6. Tí nh Ex= 1+ + + + + v i ñchí nh xá c ε=10 ( ABS(x /n!) < ε ), giátr x ñư c nh p và o t bà n 1! 2! n! phí m khi ch y ch ươ ng trì nh. 7. Cn có 50000 ñ tcá c lo i gi y b c 1000 ñ, 2000 ñ và 5000 ñ. Tì m t t ccá c ph ươ ng án có th . 8. Chuy n m t s th p phân nguyên d ươ ng thà nh m t s nh phân, in ra mà n hì nh d ng X10 = Y 2 123 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 123
  41. CH ƯƠ NG III CÁC TH T C VÀO RA D LI U VÀ CÁC C U TRÚC ðIU KHI N 1. Phé p gá n Phé p gá n dù ng ñgá n giátrc a m t bi u th c cho m t bi n. Kí hi u phé p gá n là := Cúphá p Tên_bi n:=Bi u th c; Ý nghĩ a: Khi g p l nh nà y, tr ư c h t má y stí nh giátrc a bi u th c vph i r i gá n giá trtí nh ñư c cho bi n vtrá i. Chú ý: ki u d li u c a bi u th c ph i phù h p v i ki u d li u c a bi n v trái. Víd : Vi cá c bi n ñãñư c khai bá o thí ch h p ñu ch ươ ng trì nh, trong thân ch ươ ng trì nh ta có th vi t x:=5; nghĩlà bi n x nh n giátr 5 x:=x+1; giátrc a bi n x ñư c thay th bi giátrc a chí nh nó tăng thêm m t delta:=b*b-4*a*c; tí nh giátrc a delta trong ch ươ ng trì nh gi i ph ươ ng trì nh b c 2 doan:= true; chu_cai:= 'A'; 2. Cá c tht c Và o- Ra d li u 2.1. Cá c tht c và o d li u Cá c bi n c a ch ươ ng trì nh có th nh n giátr thông qua phé p gá n trong ch ươ ng trì nh, tuy nhiên, ñgá n giátr cho bi n thông qua cá c thi t b nh p chu n nh ư bà n phí m ta dù ng m t trong 2 tht c sau read( danh sá ch cá c tên bi n); readln(danh sá ch cá c tên bi n); ý nghĩ a: nh p giátr cho t ng bi n trong danh sá ch tên bi n b ng cá ch gõ và o t bà n phí m. Cá c bi n trong danh sá ch cá c tên bi n vi t cá ch nhau bi d u ph y (,). Khi nh p cá c giá trc th , cá c giátrph i phù hp v i cá c bi n trong danh sá ch v s lư ng bi n, ki u c a bi n vàvtrícá c bi n trong danh sá ch. Các giá tr s ñưc vi t cá ch nhau b i ít nh t m t d u kho ng tr ng (du cá ch). Các bi n trong th t c này cho phép là các ki u sau: Nguyên, th c, kí t , xâu kí t , kho ng con, Không ñưc là ki u logic. Víd : vi cá c khai bá o trên (bà i 2.III), ta có th vi t read(x,y,z); readln(t); khi ch y ch ươ ng trì nh ta có th gõ : 3 6 4 ↵ N↵ nghĩ a là bi n x nh n giátr 3, bi n y nh n giátr 6, bi n z nh n giátr 4 cò n bi n t nh n giátr N ( ki u char). 124 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 124
  42. Hai cá ch vi t read và readln cóýnghĩ a nh ư nhau v tá c d ng nh p d li u, chkhá c là sau khi th c hi n xong ch c n ăng nà y thì lnh readln sñư a con tr vñu dò ng ti p theo, cò n l nh read thì không. Ngoà i 2 cá ch vi t trên cò n cótht c readln; không có tham s cho phé p d ng ch ươ ng trì nh ch gõ mt phí m b t kì tr ư c khi ti p t c. Chú ý: Khi vào d li u cho bi n kí t ho c bi n xâu kí t ta dùng th t c Readln( ) và mi bi n trong m t th t c. Ví d : ð u ch ươ ng trình khai báo các bi n Var t: string; p: char; i,j,k : integer; Trong thân ch ươ ng trình vào d li u cho các bi n trên có th vi t nh ư sau: Readln(t); readln(p); readln(i,j,k); 2.2. Cá c tht c ra d li u Có 2 cá ch vi t d li u ra mà n hì nh: write( cá c m c c n ghi ra ); writeln( cá c m c c n ghi ra ); -ýnghĩ a: ñư a ra mà n hì nh cá c k t qutí nh toá n trong ch ươ ng trì nh, giátrcá c bi n, hay tt c nh ng gì nm gi a c p d u nhá y ' ' -Víd : write(x,y); In ra mà n hì nh cá c giátr x và y, k t qu trên mà n hì nh là 36 Có th vi t thà nh write(x); write(y); hay rõ hơn write('x=',x);write('y=',y); thì kt qulà x=3 y=6 cá c kí t 'x=' và 'y=' n m trong c p d u ngo c chcótá c d ng trì nh bà y, là m phân bit rõ cá c giátrñư c vi t ra. Hai cá ch vi t trên cóýnghĩ a nh ư nhau v vi c th hi n d li u ra mà n hì nh, tuy nhiên th t c writeln s chuy n con tr xu ng ñu dò ng ti p theo sau khi th c hi n, con th tuc write gi nguyên v trí con tr . Ngoà i 2 d ng trên cò n cótht c writeln; không có tham s chcótá c d ng ñư a ra m t dò ng tr ng không ch a gì . 2. 3. Kt h p read, readln và write, writeln ñ nh p d li u Ta có th kt h p cá c tht c trên ñt o ra d ng nh p d li u sá ng s a vàñp m t theo m u: write(' câu nh c nh p d li u '); readln(bi n); Ví d : write( ' Hã y nh p d li u cho bi n x:'); hay write('x='); readln(x); readln(x); kt quslà : Hã y nh p d li u cho bi n x:( ta gõ ) 3 hay x= ( ta gõ ) 3 nên vi t câu d n nh p g i ý bi n sñư c nh p và o, không nên b qua ho c vi t writeln( ' Hã y nh p d li u cho bi n x:'); hay writeln('x='); read(x); read(x); vì nh ư th khi ch y ch ươ ng trì nh con tr nh p snh y xu ng dò ng d ư i dò ng h ư ng d n, nhì n không ñp m t th nà y Hã y nh p d li u cho bi n x: hay x= ( ta gõ ) 3 ( ta gõ ) 3 125 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 125
  43. 2.4. Vi t ra d li u có quy cá ch Mt trong nh ng yêu c u khi trì nh bà y d li u ra mà n hì nh làph i sá ng s a, ñúng quy cá ch, dñc, d hi u. TURBO PASCAL cócá c quy ñnh cho cá c ki u d li u nh ư sau *. Vi t ra ki u s nguyên write(i:n); ho c writeln(i:n); trong ñó I là s nguyên c n ghi ra, n là s ch dà nh ñ vi t ra s nguyên ñó trên mà n hì nh, má y s btrí s nguyên t ph i sang trá i, n u th a sb tr ng bên trá i. Víd : vi I=23, j=234 thì writeln(i);writeln(i:5); writeln(j:5); s cho 23 _ _ 23 _ 234 Nh ư vy vi t không có quy cá ch s căn l trá i, trong khi vi t có quy cá ch s căn ph i. *- Vi t ra ki u s th c mu 1: write(r:m:n); ho c writeln(r:m:n); trong ñó r là s th c c n ghi ra, m là s ch dà nh cho c s th c ( kc du ch m ng ăn cá ch ph n nguyên và ph n l , n u có ) n là s ch dà nh cho ph n l th p phân. mu 2: write(r:n); trong ñó n là s ch cho c s th c vi t d ư i d ng e-mũ Víd : vi r=123.45 thì writeln(r); writeln(r:8:3); writeln(r:7); s cho k t qu 1.234500000E+02 ( 10 ch sdà nh cho ph n l ) 123.450 1.2E+00 ( cólà m trò n ) *- Vi t ra ki u kí t Vi ki u kí t, vi t không quy cá ch s cho ra kí tbì nh th ư ng, m i kí t chi m m t ch , cò n vi t có quy cá ch thìcá c kí tsñư c b trí tph i sang trá i, thêm cá c d u kho ng cá ch và o bên trá i n u th a ch . Víd : vi t='Y' thì writeln(t); writeln(t:3); writeln('PASCAL'); writeln('PASCAL':8); s cho Y Y PASCAL PASCAL *- Vi t ra ki u boolean ki u boolean v i 2 giátrlà TRUE và FALSE cũ ng ñư c vi t ra theo d ng write(ok); ho c writeln(ok:n); trong ñó ok là bi n ki u boolean, n là s ch ñ vi t ra bi n ok. e- In ra má y in Cá c tht c write và writeln cũ ng dù ng ññư a d li u ra má y in. Mu n v y, ñu ch ươ ng trì nh ph i có li g i ch ươ ng trì nh chu n USES PRINTER; ñu ch ươ ng trì nh và ph i có thà nh ph n Lst và du ph y (,) ñng tr ư c n i dung c n in ra. Víd : writeln(Lst, 'k t q a là ', S:8:2); 126 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 126
  44. *-Cá c tht c trì nh bà y mà n hì nh c a TURBO PASCAL ðây là nh ng th t c có sn c a TURBO PASCAL ph c v cho vi c trì nh bà y mà n hì nh. Mu n dù ng cá c tht c nà y ph i có li g i ch ươ ng trì nh chu n USES CRT; ñu ch ươ ng trì nh. Cá c tht c ñólà : CLRSCR; xoátoà n b mà n hì nh, chuy n con tr vgó c trên bên trá i c a mà n hì nh. CLREOF; xoácá c kí t bên ph i vtrí con tr hi n th i GOTOXY(x,y); chuy n con trmà n hì nh ñ n ñim cótoñ (x,y) ( mà n hì nh v ăn b n có 25 dò ng, 80 ct, trong tht c nà y x làtoñ ct, y làtoñdò ng ) TEXTCOLOR(Mau); thi t l p mà u cho v ăn b n, Mau là s nguyên có th nh n giátr t 0 tr lên, giátr ln nh t c a Mau ph thu c lo i mà n hì nh c a má y. Ta có th chñnh Mau b ng mt ch cá i ti ng Anh chmà u ( xem b ng ) S nguyên chmà u Tên mà u 0 Black 1 Blue 2 Green 3 Cyan 4 Red 5 Magenta 6 Brown 7 LightGrey 8 DarkGrey 9 LightBlue 10 LightGreen 11 LightCyan 12 LightRed 13 LightMagenta 14 Yellow 15 White TEXTBACKGROUND(Mau); xá c l p mà u n n cho v ăn b n. Víd : ño n l nh ch ươ ng trì nh in dò ng ch THU DO HA NOI mà u xanh trên n n và ng lên mà n hì nh uses CRT; textbackground(14); textcolor(blue); write(' THU DO HA NOI'); 2.5. Các ch ươ ng trình ng d ng nh ng l nh ñã h c * Bài toán 1: Tính di n tích và chu vi c a hình tròn. Phân tích bài toán :Trong bài toán này bi n vào là R; bi n ra là: s (di n tích), cv ( chu vi); các bi n ñ u có ki u s th c. Tính toán theo công th c sau: s = 3.14* R 2 ; cv = 2* 3.14 * R. 127 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 127
  45. Ch ươ ng trình ñưc vi t nh ư sau: Program Dien_tich_chu_vi_hinh_tron; Uses crt; Var cv, s, r : real; Begin Clrscr; Write(' hay nhap vao ban kinh r: '); Readln(r); S:= 3.14 * r*r; Cv:=2*3.14*r; Writeln(' Dien tich = ', s:8:2); Writeln(' Chu vi = ', cv:8:2); Readln; End. * Bài toán 2: Bài toán tính l ươ ng, b o hi m xã h i, b o hi m y t và ti n l ĩnh c a cán b công ch c nhà n ưc. Theo quy ñ nh hi n nay thì l ươ ng = h s l ươ ng * 350000; b o hi m xã h i = 5% * l ươ ng ; b o hi m y t = 1% * l ươ ng; ti n l ĩnh = l ươ ng - b o hi m xã h i - b o hi m y t . Phân tích bài toán: Trong bài toán này các bi n vào là Ht ( h và ten) ki u xâu kí t và bi n HS (h s l ươ ng) ki u s th c. Các bi n ra là Ht, HS, luong, BHXH ( b o hi m xá h i) ki u th c, BHYT ( b o hi m y t ) ki u th c, TL ( ti n l ĩnh ) ki u th c. Tính toán theo các công th c ñã cho trên. Trong ch ươ ng trình có s dung các câu l nh trình bày màn hình. Ch ươ ng trình nh ư sau: Program Tinh_luong; Uses Crt; Var HT:string[25]; LUONG, HS, BHXH, BHYT, TL:Real; Begin Clrscr; Textcolor(red); Textbackground(Blue); Gotoxy(10,5); Write(' Nhap ho va ten: '); Readln(HT); Write(' Nhap he so luong '); Readln(HS); LUONG:= HS * 350000; HBXH:= LUONG * 0.05; BHYT:= LUONG * 0.01; TL:= LUONG-BHXH-BHYT; WRITELN(HT:25,HS:6:2,LUONG:10:1,BHXH:10:1,BHYT:10:1,TL:10:1); READLN; END. 128 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 128
  46. 3. Các l nh ñiu ki n Ph n nà y ta s nghiên c u cá c l nh cho phé p ch ươ ng trì nh r nhá nh th c hi n m t công vi c d a trên giátr mt ñiu ki n nà o ñó. Có 2 d ng l nh ñiu ki n là câu l nh ñiu ki n (cho phé p r ti ña 2 nhá nh) và câu l nh l a ch n (cho phé p r nhi u nhá nh). 3.1. Câu l nh ñiu ki n a. D ng l nh • D ng ñơ n gi n IF THEN ; trong ñó là mt bi u th c ñiu ki n liên h bi cá c toá n t : =, , = và (ho c) cá c phé p toá n logic NOT, AND, OR có th là mt câu l nh ñơ n gi n ho c ph c h p. -ýnghĩ a : khi g p l nh nà y, tr ư c tiên má y s ki m tra , n u làñúng thìs cho th c hi n , cò n n u sai thìmá y sb qua và chuy n sang công vi c ti p theo. • D ng t ng quá t IF THEN ELSE ; -ýnghĩ a : khi g p l nh nà y, tr ư c tiên má y cũ ng s ki m tra , n u là ñúng thìs cho th c hi n , cò n trá i l i là sai thìmá y s th c hi n . Sơ ñ kh i c a câu l nh ñiu ki n nh ư sau §óng Sai §iÒukiÖn LÖnh1 LÖnh 2 b. Vídá p d ng VD1: Vi t ch ươ ng trì nh nh p và o m t s a tuỳý , r i ki m tra n u a không âm thì in ra c ăn bc 2 c a a, trá i l i in ra thông bá o 's âm không có căn b c 2' Ch ươ ng trì nh ñư c vi t nh ư sau: Program canbac2; Uses crt; Var a: real; Begin write(' Hay nhap vao so a:'); readln(a); if a >= 0 then writeln(' Can bac hai cua a la:', sqrt(a)) else writeln(' So am khong co can bac hai'); Readln; End. 129 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 129
  47. VD2: Vi t ch ươ ng trì nh gi i ph ươ ng trì nh b c hai ax 2+bx+c=0 Program GPTB2; Uses crt; var a,b,c,x1,x2,dta:real; Begin clrscr; gotoxy(5,5); writeln('CHUONG TRINH GIAI PHUONG TRINH BAC HAI'); writeln; write('Vao cac he so:'); readln(a,b,c); dta:=b*b-4*a*c; if dta>0 then begin writeln('Phuong trinh co 2 nghiem thuc:'); X1:=(-b+sqrt(dta))/(2*a); X2:=(-b-sqrt(dta))/(2*a); writeln('X1=',X1:6:2); writeln('X2=',X2:6:2); end; if dta=0 then writeln('Phuong trinh co nghiem kep X=',-b/(2*a):6:2); if dta 0 má y ph i th c hi n c 5 lnh trong c p tkhoá begin end; sau t khoá then, cò n ng v i tr ư ng h p dta=0 thìmá y chph i th c hi n ñúng mt l nh, do ñó không c n dù ng câu l nh ph c h p. -Cá c câu l nh ñiu ki n có th vi t l ng nhau. Tc làcá c và l i có th là câu l nh ñiu ki n d ng IF THEN IF THEN ELSE khi ñó cn l ưu ý IF nà o ñi v i THEN nà o. Ch ng h n xem ño n ch ươ ng trì nh phân lo i k t quh c t p sau: IF diem>=5 THEN IF diem>=7 THEN loai:='Kha gioi' ELSE loai:='TB' ELSE IF diem>=3 THEN loai:='Yeu' ELSE loai:='Kem'; 130 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 130
  48. 3.2. Câu l nh l a ch n: CASE OF Câu l nh ñiu ki n ch cho phé p ta th c hi n r 2 nhá nh ng v i hai giátrñúng hay sai c a bi u th c ñiu ki n. ðcó th th c hi n r nhi u nhá nh ng v i nhi u giátrkhá c nhau c a mt bi u th c, ta ph i s d ng câu l nh l a ch n. a. D ng l nh D ng ñơ n gi n: D ng t ng quá t: CASE OF CASE OF hng1: ; hng1: ; hng2: ; hng2: ; hngn: ; hngn: END; ELSE ; END; Trong ñó vàcá c h ng ph i có cù ng ki uvàph i làcá c ki u vô hư ng ñ m ñư c (cá c ki u s nguyên ki u kí t, ki u Boolean ñã bi t). ýnghĩ a: Khi g p câu l nh rnhá nh, ñãñư c nh n m t giátrnà o ñó, giátrnà y là mt h ng (s ho c kí t). Nu nh n giátrlà hng nà o thì t ươ ng ng v i nósñư c th c hi n. Cò n n u nh n giátr không r ơi và o h ng nà o thìmá y sb qua l nh ñi v i d ng ñơ n gi n, má y s th c hi n sau t khoá ELSE ñi v i d ng tng quá t. Lưu ý: Tkhoá END v i d u ch m ph y (;) trong câu l nh nà y ñch rng k t thú c câu lnh l a ch n ch không ph i k t thú c ch ươ ng trì nh con. b. Vídá p d ng VD1: Vi t ch ươ ng trì nh xem th i khoá bi u c a m t ngà y trong tu n. Yêu c u: má y in ra câu h i ' B n mu n xem th i khoá bi u c a th my?' ta gõvà o ngà y th (c a tu n) mu n xem và má y s in ra th i khoá bi u c a ngà y hôm ñó. Ch ươ ng trì nh ñư c vi t nh ư sau: ( gi s xem th i khoá bi u c a m t l p ph thông, b n ñc có th hi u ch nh theo ýmì nh) Program XEM_TKB; Uses crt; Var thu: 2 7; {bi n thu ñ ch a cá c th ngà y trong tu n} Begin write(' Ban muon xem thoi khoa bieu cua thu may?'); readln(thu); CASE thu OF 2:writeln('Toan Ly Van'); 3:writeln('Sinh Ki Hoa'); 4: writeln('Toan Hoa Ly'); 5: writeln('Van Sinh The duc'); 6: writeln('Su Dia Chinh tri'); 7: writeln('Van Toan Sinh hoat'); END; Readln; End. 131 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 131
  49. B n ñc có th á p d ng câu l nh d ng t ng quá t ñ m rng ch ươ ng trì nh xem th i khoá bi u nà y sao cho khi gõvà o m t s nà o ñó không ph i là th trong tu n (2 7) má y s in ra thông bá o r ng ñólàngà y ngh . Lưu ý: - Sau m i h ng má y ch th c hi n ñúng m t l nh. Do ñó nu mu n dù ng nhi u h ơn mt l nh thì ta ph i s d ng câu l nh ph c h p. -Cá c h ng có th vi t g p l i v i nhau. Ch ng h n n u th 3 và th 5 cócù ng th i khoá bi u thì thay vìph i vit 2 dò ng l nh, ta có th vi t: 3,5: writeln('Sinh Ki Hoa'); -Cá c câu l nh l a ch n có th lng nhau. Tc là trong câu l nh l a ch n l i có th ch a câu l nh l a ch n khá c. 4. Cá c l nh l p Trong l p trì nh gi i quy t cá c bà i toá n, ta có th gp tr ư ng h p ch ươ ng trì nh ph i th c hi n l p ñi l p l i m t công vi c nà o ñó. Vi c th c hi n l p ph i theo m t quy lu t nà o ñó. S ln l p có th ñư c xá c ñnh tr ư c ho c không xá c ñnh. Sau ñây ta s ln l ư t xé t cá c l nh lp d ng nà y. 4.1- L nh l p có s ln l p xá c ñnh ðây là mt câu l nh có cu trú c cho phé p th c hi n l p ñi l p l i m t công vi c (ño n lnh) nà o ñó vi s ln th c hi n ñư c xá c ñnh tr ư c. ð d hi u tr ư c h t ta xé t m t víd ñơ n gi n sau: Gi s ta ph i vi t ra cá c s t 1 ñ n 10, m i s chi m m t dò ng trên mà n hì nh. Ta có th th c hi n công vi c nà y b i 10 lnh writeln nh ư sau: writeln(1); writeln(2); writeln(10); ðây làcá ch vi t dà i dò ng vàñơ n ñiu trong khi ta có th th c hi n công vi c trên b i mt dò ng l nh ng n g n: FOR I:=1 TO 10 DO writeln(I); ýnghĩ a c a câu l nh nà y là : cho m t bi n nh n giátr nguyên I ch y t 1 ñ n n ( bi n I ln l ư t nh n cá c giátr s nguyên t 1 ñ n n), v i m i giátrc a I má y s th c hi n công vi c sau t khoá DO là in ra giátrc a I. Chi ti t cá c b ư c th c hi n c a vò ng l p FOR nà y nh ư sau: ð u tiên bi n I nh n giátr kh i ñu là 1 (do l nh gá n I:=1), má y ki m tra giátrnà y không v ư t quágiátr cu i là 10 nên cho th c hi n l nh writeln(I) vi t ra giátr 1. Sau ñó bi n I ñư c t ăng thêm m t ñơ n v , t c là I:=I+1. Bây gi I=2, ch ưa v ư t qua giátr cu i là 10 nên l nh writeln(I) l i ñư c th c hi n ñ in ra giátrc a I là 2 lên mà n hì nh. Ri I l i ñư c tăng lên giátr cu i cù ng c a I ñ lnh writeln(I) ñư c th c hi n là I:=10. Quátrì nh k t thú c khi I nh n giátr 11 vư t quágiátr cu i 10. Câu l nh trên là mt vídñơ n gi n c a l nh t ng quá t sau: a. D ng l nh l p t ăng (d ng ti n) FOR Bi n_ ñiu_khi n:=Bi u_th c1 TO Bi u_th c2 DO ; 132 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 132
  50. Trong ñó Bi n_ ñiu_khi n, Bi u_th c1 và Bi u_th c2 ph i cù ng ki u d li u vàph i là cá c ki u vô hư ng ñ m ñư c (nh ư cá c ki u s nguyên, ki u kí t ) ý nghĩ a c a câu l nh nà y nh ư sau: Tr ư c tiên Bi n_ ñiu_khi n nh n giá tr kh i t o là Bi u_th c1, má y ki m tra n u giá tr ñó không v ư t quá Bi u_th c2 thì cho th c hi n . Th c hi n xong l nh nà y, Bi n_ ñiu_khi n ñư c t ăng thêm m t ñơ n v , má y l i ki m tra v i Bi u_th c2 ñ th c hi n Qú a trì nh ti p di n ñ n khi Bi n_ ñiu_khi n nh n giátr vư t qu á Bi u_th c2 thì dng. S ln th c hi n l p ñi l p l i ñư c xá c ñnh tr ư c b i giá tr c a Bi u_th c1 và Bi u_th c2 nên câu l nh trên cò n ñư c g i là lnh l p có s ln l p xá c ñnh. Lưu ñc a l nh l p FOR: B¾t®Çu BiÕn_®iÒu_khiÓn:=BiÓu_thøc1 §óng BiÕn_®iÒu_khiÓn>BiÓu_thøc2 Sai KÕtthóc DO BiÕn_®iÒu_khiÓn:=Succ(BiÕn_®iÒu_khiÓn) *Víd VD1: Vi t ch ươ ng trì nh tí nh t ng c a n s t nhiên ñu tiên S=1+2+ +n theo ph ươ ng phá p cng d n. Ph ươ ng phá p c ng d n ñư c th c hi n nh ư sau: ban ñu ta kh i t o S:=0, r i l y S cng v i 1, r i c ng v i 2, cng ñ n n. Nh ư vy ta sph i s d ng m t vò ng l p FOR v i mt bi n ñiu khi n I ch y t Bi u_th c1 là 1 ñ n Bi u_th c2 là n. Ta sdù ng chí nh giátr c a bi n ñiu khi n nà y ñtí nh t ng S. Ch ươ ng trì nh ñư c vi t nh ư sau: Program Tinh_tong; Uses crt; Var i,n:integer; S:real; Begin Write('Cho biet gia tri cua n:'); Readln(n); S:=0; For I:=1 to n do S:=S+i; Writeln(' Tong tinh duoc la S:',S:10:2); 133 Trưng ði hc Nông nghip 1 - Giáo trình Tin hc ñi cương 133