1. Trang chủ
  2. » Nông - Lâm - Ngư

Bài giảng Tin văn phòng

20 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 337,91 KB

Nội dung

Phép toán DIV, MOD không dùng cho các s th!c... Các phép toán lôgic g m có: NOT, AND, OR và XOR..[r]

(1)Tr ng Cao ng KTKT Bình D CH ng Ch Biên so n : V Bi n ng I NG TRÌNH VÀ THU T GI I I Ch ng trình (Program) 1.Khái ni m Ch ng trình là m t dãy liên ti p các l nh Th c hi n các l nh ó g i là thi hành ch ng trình Các ch ng trình u có các tính ch t chung sau ây: - Các l nh c thi hành m t cách tu n t , thi hành xong m t l nh m i thi hành l nh k ti p - Khi thi hành ch ng trình c n thêm d li u t bên ngòai, i u này làm cho ch ng trình tr nên phong phú và t ng quát Ch ng trình có th c vi t b ng các ngôn ng l p trình khác 2.Ngôn ng l p trình Có hàng tr m lo i ngôn ng l p trình khác nhau, m i lo i ngôn ng u có cú pháp riêng c a nó Ngôn ng l p trình có th c phân chia thành lo i chính : ngôn ng máy, h p ng và ngôn ng c p cao 2.1 Ngôn ng máy Ngôn ng máy (mã máy) là ngôn ng n n t ng c a b vi x lý Bao g m các câu l nh là nh ng dãy s nh phân và r t khó c, khó vi t Ch có các chuyên gia v máy tính m i vi t c u i m c a vi c vi t ch ng trình b ng ngôn ng máy là l p trình viên có th i u n máy tính tr c ti p và t c chính xác i u mình mu n làm, t c thi hành ch ng trình nhanh và kích th c ch ng trinh nh Nh c i m c a ch ng trình ngôn ng máy là thông th !ng s" m t r t nhi u th!i gian vi t, r t khó c, khó tìm l i và ch ng trình ph# thu c vào b vi x lý nên ch ng trình ch ch y c trên nh ng máy tính có cùng b vi x lý mà thôi Ngôn ng máy còn c g i là ngôn ng c p th p (low-level language) 2.2 H p ng H p ng c phát tri n nh m giúp các l p trình viên d$ nh các ch th c a ch ng trình h n Các ch ng trình h p ng còn bao g m các ch th v% mô (macro instruction) có th t o nhi u l nh mã máy Các ch ng trình h p ng c chuy n sang mã máy thông qua m t ch ng trình &c bi t g i là trình h p d ch (assembler) M&c dù h p ng t ng i d$ dùng h n mã máy nh ng h p ng v'n c xem là ngôn ng c p th p b i vì nó v'n còn r t g n v i t ng thi t k c a máy tính 2.3 Ngôn ng c p cao Ngôn ng c p cao g n g(i h n v i ý ni m ngôn ng mà h u h t m i ng !i u bi t, nó bao g m các danh t , ng t , ký hi u h c, liên h và các thao tác lu n lý Các y u t này có th c ph i h p, liên k t v i t o thành m t hình th)c c a câu Các "câu" này c g i là các m nh c a ch ng trình (program statement) Chính vì nh ng &c i m này, các l p trình viên d$ dàng c và d$ h c ngôn ng c p cao h n so v i ngôn ng máy ho&c h p ng M t l i i m quan tr ng là ngôn ng c p cao thông th !ng không ph# thu c vào máy tính, ngh%a là các ch ng trình vi t b ng ngôn ng c p cao có th ch y trên các lo i máy tính khác (s d#ng các b vi x lý khác nhau) 2.4 Các ngôn ng l p trình thông d ng Hi n có r t nhi u ngôn ng l p trình c p cao là :BASIC, COBOL, C, FORTRAN, PASCAL.v.v Ngày này còn có thêm r t nhi u các ngôn ng l p trình h ng i t ng r t ti n l i cho các l p trình viên nh : C++, Visual Basic , Visual C, Denphi, Javal v.v Ch ng 1: Ch ng trình và thu t gi i Lop11.com Trang (2) Tr ng Cao ng KTKT Bình D ng Biên so n : V Bi n 3.Trình thông d ch và biên d ch M i ch ng trình c vi t b ng các ngôn ng không ph i là ngôn ng máy cu i cùng u ph i c chuy n i sang ngôn ng máy tr c c thi hành Ch ng trình ngôn ng c p cao c d ch sang ngôn ng máy b ng m t hai cách: b ng trình biên d ch (compiler) ho&c trình thông d ch (interpreter) 3.1 Trình biên d ch : S" chuy n i toàn b ch ng trình sang mã máy, r i ch)a k t qu vào %a có th thi hành v sau Trình biên d ch t o m t danh sách l i c a t t c m nh ch ng trình vi ph m cú pháp c a ngôn ng Danh sách này giúp l p trình viên d$ dàng s a i ch ng trình 3.2 Trình thông d ch : Thay vì chuy n i toàn b ch ng trình ngu n nh trình biên d ch, trình thông d ch ch d ch t ng l nh và thi hành t ng l nh L i i m c a trình thông d ch là l p trình viên v'n có th ch y m t ch ng trình v'n còn l i cú pháp Ch thông d ch n câu l nh có l i cú pháp, quá trình thi hành ch ng trình m i b ng ng l i và trình thông d ch s" thông báo l i ng !i l p trình c n c) vào l i s a ch a II.Thu t gi i Ý ngh a Thu t gi i là m t ph ng pháp, t ng b c h ng d'n, th hi n l!i gi i c am tv n - m t bài toán Trong khoa h c máy tính, thu t gi i c nh ngh a là m t dãy h u h n các b c rõ ràng và có th thi hành c, quá trình hành ng theo các b c này ph i d ng và cho c k t qu nh mong mu n 2.Các c tr ng c a thu t gi i Thu t gi i có các &c tr ng c b n là : 2.1.Xác nh : M i thu t gi i u ph i xác nh rõ ràng, không m p m! 2.2 H u h n: M i thu t gi i sau m t s h u h n b c ph i k t thúc và cho k t q a 2.3: úng : Thu t th c hi n xong các b c , ph i cho k t qu úng *n Ngoài thu t gi i có các &c tr ng khác nh : + u vào, u ra, tính hi u q a và tính t ng quát Các ph ng pháp bi u di n thu t gi i Trong th c t ng !i ta th !ng có ph ng pháp bi u di$n thu t : - Dùng ngôn ng t nhiên - Dùng L u -S 3.1 Ngôn ng t nhiên Ng !i l p trình dùng ngôn ng c a mình mô t thu t Ng !i l p trình li t kê có th) t các b c c a thu t gi i Tuy v y thu t gi i th !ng dài dòng khó hi u và th !ng không theo m t qui t*c nh t nh Ví d : Thu t gi i ph ng trình b c hai ax2+bx+c=0 (a<>0) B*t u Yêu c u cho bi t giá tr c a h s a, b, c N u a=0 thì 2.1 Yêu c u u vào không m b o 2.2 K t thúc gi i thu t Tr !ng h p a khác thì 3.1 Tính giá tr ∆ = b2-4ac Ch ng 1: Ch ng trình và thu t gi i Lop11.com Trang (3) Tr ng Cao ng KTKT Bình D ng Biên so n : V Bi n 3.2 N u ∆ > thì 3.2.1 Ph ng trình có hai nghi m phân bi t x1 và x2 3.2.2 Giá tr c a hai nghi m c tính theo công th)c sau x1 = −b+ ∆ 2a x2 = −b− ∆ 2a 3.2.3 K t thúc 3.3 N u ∆ = thì 3.3.1 Ph ng trình có nghi m kép x0 3.3.2 Giá tr c a nghi m kép là : x=-b/2a 3.3.3 K t thú c 3.4 N u ∆ < thì 3.4.1 Ph ng trình vô nghi m K t thúc Ví d :Thu t gi i tìm h p có tr ng l ng n&ng nh t tv n : Có n h p có kh i l ng khác và m t cái cân %a Hãy ch cách cân tìm c h p có tr ng l ng n&ng nh t : Thu t gi i c# th nh sau: B*t u N u ch có h p (n=1) thì 1.1 H p ó chính là h p n&ng nh t 1.2 K t thúc gi i thu t Ng c l i n u có t hai h p tr lên (n>1) 2.1 Ch n hai h p b t k, và &t lên bàn cân 2.2 Gi l i h p n ng h n, c t h p nh- h n sang ch khác N u còn h p ch a c cân th c hi n các b c sau, n u không còn h p nào n a, sang b c 3.1 Ch n m t h p b t k, và lên %a cân còn tr ng 3.2 Gi l i h p n ng h n, c t h p nh- h n sang ch khác Tr l i b c H p còn l i trên cân chính là h p n&ng nh t K t thúc 3.2 L u -s kh i L u hay s kh i là m t công c# tr c quan di$n t các thu t gi i Bi u di$n thu t gi i b ng l u s" giúp ng !i c theo dõi c s phân c p các tr !ng h p và quá trình x lý c a thu t Ph ng pháp l u th !ng c dùng nh ng thu t có tính r*c r i, khó theo dõi c quá trình x lý Trong thu t gi i dùng l u th !ng dùng các hình v" qui c sau mô t các b c Ch !ng i c a d li u Ch i m b*t u và k t thúc Ch)a các thao tác x lý Ch thao tác ki m tra Ch ng 1: Ch ng trình và thu t gi i Lop11.com i u ki n Trang (4) Tr ng Cao ng KTKT Bình D ng Biên so n : V Bi n trên ch là các ký hi u c b n và th !ng c dùng nh t Trong th c t ,l u còn có nhi u ký hi u khác nh ng th !ng ch c dùng nh ng l u l n và ph)c t p Ví d : L u thu t gi i, gi i Ph ng trình b c hai B*t u Nh p a Thông báo sai Nh p l i a=0 s Nh p b,c D:=b2-4ac D=0 s D>0 s Pt vô nghi m Pt có nghi m kép x1,2=-b/2a Pt có nghi m x1=-b+ D /2a x2=-b- D /2a K t thúc Ví d 2: L u Ch ng 1: Ch tìm ph n t l n nh t dãy s ng trình và thu t gi i Lop11.com Trang (5) Tr ng Cao ng KTKT Bình D Bài t p : 1.Hãy vi t thu t gi i h ph a1x+b1y =c1 a2x+b2y =c2 Bi t r ng : c1 ng Biên so n : V Bi n ng trình b c nh t /n s b1 c1 c b c1b − b1c Dx x= = = a1 b1 a1b − b1a D a b2 a1 c a a1a − a1c Dy y= = = a1 b1 a1b − b1a D a b2 2.Vi t thu t gi i tim s l n nh t s a, b, c 3.Vi t thu t gi i tìm s Pibonanci th) n v i F0 =0, F1=1, Fn=Fn-2+Fn-1 4.Vi t thu t gi i tim các s nguyên t dãy s n s t a1 an 5.Vi t gi i thu t tìm USCLN, BSCNN c a s a, b 6.Vi t gi i thu t tính t ng l0 , t ng ch1n c a dãy n s t nhiên a1 an 7.Vi t thu t gi i tìm n! =1*2*3* .*n 8.Xác nh d li u và d li u cho các thu t gi i sau a.Ki m tra xem ba s cho tr c a, b, c có th là dài ba c nh c a m t tam giác hay không ? b.Tính trung bình c ng c a s a, b c.Dùng m t c c ph# tráo n c hai c c cho tr c d.Tìm chu vi và di n tích c a hình tròn có bán kính cho tr c 9.Có hai bình A và B Bình A có dung tích lít, bình B có dung tích lít Trình bày các b c th c hi n l y c lít n c 10.Vi t thu t gi i vi t gi i thu t xác nh ma tr n n v 11.Vi t thu t gi i in ma tr n chuy n v c a ma tr n ã nh p tr c 12.Vi t thu t gi i In ma tr n tích cu hai ma tr n ã nh p tr c 13 Có bình A, B, C Bình A có dung tích lít và ng y lít r u, bình B có dung tích lít, bình C có dung tích lít Trình bày các b c th c hi n có c lít r u bình A và lít r u bình B 14 M t ng !i có g u, dê và cái b*p c i N u không có ng !i bên chúng thì g u s" n th t dê ho&c dê s" n b*p c i Thuy n ch có th ch c ng !i ó v i g u ho&c dê ho&c b*p c i Ng !i ó làm th nào mang chúng sang sông Ch ng 1: Ch ng trình và thu t gi i Lop11.com Trang (6) Tr ng Cao ng KTKT Bình D ng Biên so n : V Bi n Ch ng GI I THI U NGÔN NG L P TRÌNH PASCAL I.Gi i thi u chung 1.Xu t x : PASCAL là ngôn ng l p trình c p cao c giáo s Niklaus Wirth tr !ng i h c K2 thu t Zurich (Th#y s%) thi t k và công b vào n m 1971 Ông &t tên cho ngôn ng c a mình là Pascal t ng nh nhà h c n i ti ng ng !i Pháp th k3 17: Blaise Pascal, ng !i ã sáng ch chi c máy tính c khí u tiên c a nhân lo i Thành công c a ngôn ng Pascal là ch : nó là ngôn ng u tiên a và th hi n c khái ni m l p trình có c u trúc Ý t ng v m t ch ng trình có c u trúc xu t phát t suy ngh% cho r ng có th chia m t bài l n, ph)c t p thành nhi u bài nh , n gi n h n N u m i bài nh c gi i quy t b ng m t ch ng trình con, thì liên k t các ch ng trình này l i s" t o nên m t ch ng trình l n gi i quy t c bài ban u B ng cách chia m t ch ng trình thành các ch ng trình nh v y, ng !i th o ch ng có th l p trình gi i quy t riêng l0 t ng ph n m t, t ng kh i m t, ho&c có th t ch)c nhi u ng !i cùng tham gia, m i ng !i ph# trách m t vài kh i Ð&c bi t ph i thay i hay s a ch a m t kh i thì i u ó s" ít nh h ng n các kh i khác Ngày nay, Ngôn ng Pascal c dùng vi t các ch ng trình )ng d#ng nhi u l%nh v c V i v n ph m sáng s a, d$ hi u, v i kh n ng m nh, Pascal c xem là ngôn ng thích h p nh t gi ng d y các tr !ng ph thông và i h c Turbo Pascal T ph n m m Pascal c a Niclau Wirth !i các hãng ph n m m ã liên t#c phát tri n thành các Pascal riêng nh : IOS Pascal chu/n , IBM Pascal c a MicroSoft, Turbo Pascal c a hãng Borland , nh ng Turbo Pascal (TP) có nhi u u i m nên c s d#ng r ng rãi gi ng d y II.S d ng ph!n m"m Turbo Pascal Kh#i $ng Turbo Pascal: Trong ph n này s" trình bày cách s d#ng Turbo Pascal 7.0.phiên b n th !ng c dùng ph bi n hi n 1.1 Các t p tin chính c a Turbo Pascal: TP có hàng tr m t p tin nh ng ch y c Turbo Pascal 7.0, ch c n hai t p tin sau là : - TURBO.EXE : t p tin chính c a TP - TURBO.TPL : t p tin ch)a các th vi n c a TP N u mu n v" h a thì ph i có thêm các t p tin:GRAPH.TPU, t p tin ch)a th vi n h a *.BGI : các t p tin màn hình h a *.CHR : các t p tin t o ki u ch N u mu n xem h ng d'n s d#ng Turbo Pascal thì c n có thêm t p tin TURBO.HLP 1.2 Kh#i $ng Turbo Pascal: Thông th !ng hi n các máy s d#ng h i u hành Windows nên có các kh i ng nh sau : - Tr !ng h p có s1n m t Shortcut ch)a Turbo Pascal trên Desktop : hãy Double click vào bi u t ng Shortcut c a Turbo Pascal - Tr !ng h p không có s1n m t Shortcut ch)a Turbo Pascal: hãy ch n l nh Start, ch n ti p l nh Run, r i gõ vào !ng d'n y c a t p tin TURBO.EXE, ch4ng h n: C:\TP\TURBO.EXE ↵ , n u kh i ng TP t %a C Ch ng 2:Gi i thi u Ngôn ng l p trình Pascal Lop11.com Trang (7) Tr ng Cao ng KTKT Bình D ng Biên so n : V Bi n A:\TP\TURBO.EXE ↵ , n u kh i ng TP t %a A 1.3 C a s màn hình Turbo Pascal và cách ch n l nh : Con tr dùng so n th o ch ng trình Trong c a s này, dòng trên cùng là m t th c n ngang, li t kê nhóm l nh chính c a TP Mu n ch n m t l nh th c n này, có th ti n hành theo m t hai cách: + Cách 1: Gõ phím F10 Lúc này, trên th c n xu t hi n m t khung sáng (th !ng là màu xanh) Mu n ch n l nh nào thì gõ các phím m(i tên ← , → d!i khung sáng n l nh ó r i Enter M t th c n c a l nh v a ch n hi n ra, g i là th c n hàng d c Ví d#, ch n l nh File, ta c th c n nh sau: + ch n m t l nh th c n hàng d c, hãy gõ các phím m(i tên ↑ , ↓ d!i khung sáng n l nh ó r i Enter Khi không mu n ch n l nh nào thì gõ phím ESC tr v vùng so n th o + Cách : Ch n m t l nh th c n ngang b ng cách gõ ng th!i phím Alt v i phím ch cái u tiên c a tên l nh mu n ch n Ví d#, mu n ch n menu File thì gõ ng th!i hai phím Alt và F (vi t t*t là Alt-F), t ng t , mu n ch n menu Compile thì gõ Alt-C + Cách : Dùng phím gõ t*t Có m t s l nh c gán cho nh ng phím &c bi t g i là phím "gõ t*t”, ví d# l nh Open: F3, l nh Save : F2, l nh Exit : Alt-X + th c hi n nh ng l nh này, thay vì ph i ch n nó t th c n, ta ch c n gõ phím nóng t ng )ng v i Ch ng 2:Gi i thi u Ngôn ng l p trình Pascal Lop11.com Trang (8) Tr ng Cao ng KTKT Bình D ng Biên so n : V Bi n nó Ví d#, thay vì ch n l nh Open thì gõ phím F3, thay vì ch n l nh Save thì gõ phím F2, D i th c n ngang là vùng so n th o dùng gõ ch ng trình vào + u c a vùng này hi n tên c a t p tin ang so n, và n u ng !i th o ch ng ch a &t tên thì TP s" &t m t tên m&c nhiên là NONAME00.PAS Dòng cu i cùng tóm t*t m t s phím " gõ t*t" hay dùng, nh phím F1 xem h ng d'n, phím F2 l u t p tin lên %a, phím F3 dùng m xem m t t p tin, phím F10 kh i ng th c n,.v.v 1.4 Thoát kh i Turbo Pascal Ch n l nh File th c n ngang, ch n ti p l nh Exit th c n d c (vi t g n là ch n l nh File/ Exit) ho&c gõ c&p phím gõ t*t Alt-X 1.5 Các b c th c hi n m t ch ng trình Pascal + so n và ch y m t ch ng trình Pascal Turbo Pascal, nên ti n hành các b c nh sau: - B c 1: Kh i ng Turbo Pascal - B c 2: Nh n F2 &t tên cho ch ng trình - B c 3: So n th o ( gõ ) ch ng trình B n hãy gõ ch ng trình m'u sau vào vùng so n th o c a Turbo Pascal : -B c 4: D ch và s a l i: Ch n l nh Compile/ Compile (ho&c gõ c&p phím Alt-F9 hay F9) Máy s" d ch ch ng trình sang mã máy, n u g&p l i thì d ng và hi n thông báo l i màu u màn hình, ng th!i tr &t v trí có l i Ng !i th o ch ng ph i t mình s a l i, r i gõ Alt-F9 d ch và s a l i ti p cho n h t l i D u hi u cho bi t vi c d ch ã xong là màn hình xu t hi n c a s thông báo có dòng ch &c tr ng là: - B c 5: L u tr l i ch ng trình lên %a: ch n l nh File/ Save ho&c gõ phím F2 - B c 6: Ch y th ch ng trình: Ch n l nh Run/ Run ho&c gõ phím nóng Ctrl-F9 (vi t t*t là ^F9) M i l n ch y th , ta c n nh p m t b d li u c# th và Ch ng 2:Gi i thi u Ngôn ng l p trình Pascal Lop11.com Trang (9) Tr ng Cao ng KTKT Bình D ng Biên so n : V Bi n ki m tra xem k t q a in lên màn hình có úng không và có phù h p v i th c ti$n không? n u sai c n ki m tra l i M$t vài k% thu t so&n th o 2.1 Thao tác trên kh i: Ta g i kh i là m t o n v n b n g m m t hay nhi u dòng liên ti p Ký t u tiên c a kh i g i là u kh i, ký t cu i cùng c a kh i g i là cu i kh i D i ây là m t kh i g m hai dòng l nh: Write(‘ Nhap chieu dai va chieu rong hinh chu nhat: ‘); Readln(a,b); a) +ánh d u kh i: - + a tr v u kh i - Gi phím Shift, ng th!i nh n liên ti p các phím m(i tên ← , ,↓ ,→ kéo vùng sáng ph n cu i kh i b) Sao chép kh i: - +ánh d u kh i c n chép - + a tr n n i c n chép t i - Gõ l nh ^K_C c) Di chuy n kh i: - +ánh d u kh i c n di chuy n - + a tr n n i c n chuy n kh i t i -Gõ l nh ^K_V d) Xóa kh i: - +ánh d u kh i c n xóa - Gõ l nh ^K_Y e) Che ho&c hi n l i kh i ã ánh d u : l nh ^K_H 2.2 Các phím l nh so n th o thông d ng - Phím Home : a tr v u dòng hi n th!i - Phím End : a tr v cu i dòng hi n th!i - Phím Delete : xóa ký t t i v trí tr N u tr ang )ng cu i c a dòng trên mà gõ phím Delete thì s" n i dòng d i vào cu i dòng trên -Phím Back Space : Xóa ký t tr c tr - C&p phím Ctrl_Y:xóa toàn b dòng hi n th!i và ôn các dòng d i lên - Nhóm phím Ctrl_Q_Y : xóa t v trí tr n cu i dòng - Các phím ← , ,↓ ,→ : d!i tr theo h ng m(i tên - Phím Insert :Dùng chuy n i ch chèn è - Phím Enter : Xu ng dòng Trong ch vi t chèn: gõ Enter có tác d#ng a tr xu ng u dòng d i, ó toàn b các ch )ng sau tr (n u có) s" b c*t xu ng dòng d i Khi tr ang )ng u m t dòng mà Enter thì s" t o m t dòng tr ng t i v trí ó III Các ph!n t c b n c a ngôn ng Pascal 1.T p ký t c b n : M i ngôn ng u c xây d ng t m t t p ký t nào ó Ngôn ng Pascal c xây d ng trên b ký t c b n, g m: - Các ch cái la tinh: A, B, C, ,Z, a, b, c, , z - Các ch s :0, 1, 2, 3, 4, 5, 6, 7, 8, - Các ký hi u &c bi t: +, -, *, /, =, <, {, }, [, ], %, $, &, #, - Ký t g ch n i ‘_’ và ký t tr*ng ‘ ‘ ( space) Ch ng 2:Gi i thi u Ngôn ng l p trình Pascal Lop11.com Trang (10) Tr ng Cao ng KTKT Bình D ng Biên so n : V Bi n T' khóa (Keyword) Có m t s t c Pascal dành riêng cho vi c xây d ng các câu l nh, các khai báo, các phép tính, g i là t khóa Ng !i l p trình không c &t m t tên m i (tên bi n, tên h ng, tên hàm, tên th t#c, ) trùng v i m t các t khóa D i ây là danh sách các t khóa c a Pascal : Absolute, and, array, begin, case, const, div, do, downto, else, end, file, for, forward, function, goto, if, implementation, in, inline, interface, interrupt, label, mod, nil, not, of, or, packed, procedure, program, record, repeat, set, shl, shr, string, then, to, type, unit, until, uses, var, while, with, xor Các t khóa có th vi t d i d ng ch hoa hay ch th ng hay xen k ch hoa v i ch th ng u c Ví d# vi t begin hay Begin hay BEGIN là nh 3.Tên (identifier) Các bi n, các h ng, các hàm, các th t#c, c s d#ng ch ng trình u c n ph i &t tên, còn g i là nh danh hay danh hi u Các tên này ng !i th o ch ng t &t và ph i m b o úng quy t*c: tên ph i b*t u b ng ch cái, k ó có th là ch cái, ch s , hay d u g ch n i ‘_’ Tên không c &t trùng v i t khóa Chi u dài c a tên t i a là 127 ký t Thông th !ng tên nên &t ng*n g n và có tính g i nh Ví d#:Delta, X1, X2, i, j , Chuc_vu, Luong,Phuong_Trinh_Bac_Hai… 4.Tên chu(n Trong Pascal có m t s tên ã c &t s1n r i, g i là tên chu/n, ch4ng h n : Abs, Arctan, Boolean, Byte, Char, Cos, Copy, Delete, Eof, False, Longint, Ord, Integer, Real, Readln, Writeln, True, Text, Pasal có th cho phép ng i th o ch ng t l i tên chu n, nh ng không nên t l i 5.Câu l nh Pascal Câu l nh là ph n vi c mà ch ng trình ph i th c hi n x lý d li u ã c khai báo Trong ch ng trình các câu l nh c vi t cách m t d u ch m ph y (;) Có lo i : Câu l nh n và l nh ghép 5.1 Câu l nh n gi n : Bao g m các l nh +L nh gán (:=) : Dùng gán giá tr cho bi n s ã khai báo -D ng l nh : Bi n s := Bi u th)c; Ví d# : x:=10; d:=a*b; +L nh G i th t#c : Dùng g i th t#c ch ng trình -D ng l nh <Tên th t#c> Ví d#: Clrscr; Halt; 5.2 L nh ghép : Bao g m m t nhóm l nh t l nh tr lên c &t hai t khoá Begin và End; Ví d# : Begin TG:=A; A:=B;B:=TG; End; IV C u trúc c a ch ng trình Pascal 1.C u trúc chung Ch ng trình là m t dãy các câu l nh ch th cho máy các công vi c ph i th c hi n M t ch ng trình Pasccal y g m ba ph n chính : - Ph n tiêu - Ph n khai báo - Ph n thân ch ng trình 1.1 Ph!n tiêu " ch ng trình Ph n này b*t u b ng t khóa Program, ti p n là tên ch ng trình ng !i s d#ng t &t, cu i cùng k t thúc b ng d u ch m ph/y ‘;’ Ch ng 2:Gi i thi u Ngôn ng l p trình Pascal Lop11.com Trang 10 (11) Tr ng Cao ng KTKT Bình D ng Biên so n : V Bi n Ví d# : Program Btap1; ho&c : Program Giai_pt_bac2; Ph n tiêu chi m m t dòng, còn g i là ph n u c a ch ng trình, nó có th không có 1.2 Ph!n khai báo Ph n khai báo có nhi m v# gi i thi u và mô t các i t ng, các i l ng s" tham gia ch ng trình Nó g m có lo i khai báo sau - USES Khai báo n v s d#ng (Unit) - LABEL Khai báo nhãn, - CONST Khai báo h ng - TYPE khai báo ki u d li u m i, - VAR Khai báo bi n - PROCEDURE khai báo các ch ng trình là th t#c - PUNCTION Khai báo các ch ng trình là hàm Tùy theo yêu c u c# th mà m i khai báo này có th có ho c không có khai báo 1.3 Ph!n thân ch ng trình +ây là ph n ch y u nh t c a m t ch ng trình, b t bu c ph i có Thân ch ng trình b*t u b ng t khóa BEGIN và k t thúc b ng END (có d u ch m cu i) Gi a kh i BEGIN và END là các l nh M i l nh ph i k t thúc b ng d u ch m ph/y ‘;’ Begin Các l nh; End 2.Khai báo ch ng trình Turbo Pascal 2.1 Khai báo n v s d ng (Unit) Turbo Pascal có s1n trên 300 hàm và th t#c chu/n, chúng c phân thành t ng nhóm theo ch)c n ng, g i là các th vi n hay n v ch ng trình ( Unit) bao g m : System ,Crt, Graph, Dos, Printer, v.v Mu n s d#ng các hàm hay th t#c c a n v nào, tr System còn l i ta ph i khai báo, Cách khai báo nh sau : Uses Tendonvi ; Ví d : - Mu n s d#ng n v CRT Uses CRT ; - Mu n s d#ng c hai th vi n CRT và GRAPH, ta khai báo : Uses CRT, GRAPH ; Chú thích : M t s hàm và th t c n v s d ng màn hình CRT +Th t c ClsScr - D ng th t c: ClrScr; - Ch c n ng : Xóa màn hình k t qu , a tr v t a 1,1 +Th t c GotoXY - D ng th t c : GotoXY(x,y); - Ch c n ng : + a tr nt a c t x, dòng y - Ví d# : GotoXY(10,5) : + a tr v t a c t 10, dòng +Th t c Delay - D ng th t c Delay(time) - Ch c n ng : D ng th c hi n ch ng trình time miligiây -Ví d# : Delay(200); +Th t c TextColor - D ng th t#c TextColor(màu) Ch ng 2:Gi i thi u Ngôn ng l p trình Pascal Lop11.com Trang 11 (12) Tr ng Cao ng KTKT Bình D ng Biên so n : V Bi n - + nh mà cho dòng ch vi t lên màn hình theo b ng màu sau : Color Màu Color Màu Color Màu Black Brown 12 LightRed Blue LightGray 13 LightMagenta Green DarkGray 14 Yellow Cyan LightBlue 15 Whlte Red 10 LightGreen Magenta 11 LightCyan Ví d# : Tectcolor(Red) hay Textcolor(4) 2.2 Khai báo h)ng s H ng là i l ng có gía tr không i, khai báo h ng ta dùng t khóa Const cách khai báo nh sau : Const Tên_h ng_s = H ng s ; Ví d# : Const N=10 ; 2.3 Khai báo bi n s Bi n là i l ng có giá tr thay i ch ng trình, chúng c dùng ch ng trình l u tr các d li u, tham gia vào các bi u th)c tính và các quá trình x lý máy Cách khai báo bi n s nh sau : Var Tên_bi n_s : ki u d li u; Ví d# : Var x, y : Real ; i, k : Integer; 2.4 Khai báo ( nh ngh a) m$t ki u d li u m i Ngoài các ki u d li u mà b n thân ngôn ng ã có s1n nh ki u th c, ki u nguyên, ki u ký t , ki u lôgic,.v.v ng !i dùng có th t xây d ng các ki u d li u m i ph#c v# cho ch ng trình c a mình, nh ng ph i mô t sau t khóa TYPE cách khai báo nh sau TYPE tên ki u d li u m i = ki u d li u m i Ví d#, ta nh ngh%a m t ki u d li u m i có tên là Mang : Type Mang = Array[1 10] of Real; 4.Ví d Vi t ch ng trình cho phép nh p vào h tên, mã s , các i m , Lý c a m t sinh viên, tính i m trung bình theo công th)c : Dtb=(Toan+ly)/2 In H tên, mã s , các i m , Lý và i m trung bình c a sinh viên ó lên màn hình PROGRAM VIDU; Uses CRT; Var Ho_ten, Maso : String[20]; Toan, Ly, Dtb : Real; Begin Write(‘ Nhap Ho va ten : ‘); Readln(Ho_ten); Write(‘ Nhap ma so : ‘); Readln(Maso); Write(‘ Nhap diem Toan : ‘); Readln(Toan); Write(‘ Nhap diem Ly : ‘); Readln(Ly); Dtb:= (Toan+Ly) / 2; { In lên màn hình các d li u v sinh viên } TextBackGround(Green); { &t màu n n là Green } TextColor(Red); { &t màu ch là Red} Clrscr ; Ch ng 2:Gi i thi u Ngôn ng l p trình Pascal Lop11.com Trang 12 (13) Tr ng Cao ng KTKT Bình D ng Biên so n : V Bi n Writeln(‘ KET QUA THI CUA SINH VIEN:’); Writeln(‘Ho va ten : ‘, Ho_ten); Writeln(‘Ma so : ‘, Maso); Writeln(‘Diem Toan : ‘, Toan:3:1); Writeln(‘Diem Ly : ‘, Ly:3:1); Writeln(‘Diem Tbinh : ‘, Dtb:3:1); Readln; END Ghi chú : + so n và ch y c m t ch ng trình nh trên c n ph i bi t s d#ng ph n m m Turbo Pascal ( vi t t*t là TP ) IV.Các ki u d li u n gi n dùng Pascal Trong TP dùng m t s ki u d li u g i là d li u n gi n chu/n nh sau: 1.Ki u nguyên : Dùng bi u di$n các s nguyên, ph m vi bi u di$n c a s nguyên t byte n byte Tên ki u Ph m vi gía tr S byte ShortInt -128 127 Byte 255 Integer -32768 32767 Word 65535 LongInt -2147483648 2147483647 +Các phép toán trên ki u nguyên : - Các phép toán : C ng(+), tr (-), nhân(*),chia(/) - Phép chia l y ph n nguyên (DIV): 10 Div =3, 10 div =2 - Phép chia l y ph n d (Mod): 15 mod =0, 16 mod =1 + Các hàm có i s nguyên : -Hàm PRED(k) : i s k nguyên, tr v s nguyên )ng tr c k, t)c là k-1 Ví d#: Pred (5) = 4, Pred (-6) = -7 -Hàm SUCC(k) : i s k nguyên, tr v s nguyên )ng sau k, t)c là k+1 Ví d#: Succ (5) = 6, Succ (-6) = -5 +Các th t#c có i s nguyên: Có hai th t#c khá thông d#ng là: -Th t c INC(k) : t ng k lên m t n v Ví d#, sau th c hi n các l nh : k:=5; Inc(k); thì gía tr sau cùng c a k là V y, l nh Inc(k); t ng ng v i l nh k:=k+1; hay k:=Succ(k); -Th t c DEC(k) : gi m k i m t n v Ví d#, sau th c hi n các l nh : k:=5; Dec(k); thì gía tr c a k s" là V y, l nh Dec(k) ; t ng ng v i l nh k:=k-1; hay k:=Pred(k); 2.Ki u th c : Dùng bi u di$n các s th c, ph m vi bi u di$n c a s th c t n 10 byte Ph m vi gía tr Tên ki u S byte Real 2.9*10-39 1.7*1038 -45 38 Single 1.5*10 3.4*10 Double 5.0*10-324 1.7*10308 10 Extended 3.4*10-4932 1.1*104932 Comp -9.2*1018 9.2*1018 +Các phép toán trên s th c : Có phép toán s h c là nhân (*), chia (/), c ng (+) và tr (-) Khi m t các s h ng tham gia tính toán là ki u th c thì k t q a c a phép toán c(ng là m t s th c (Phép toán DIV, MOD không dùng cho các s th!c ) Ch ng 2:Gi i thi u Ngôn ng l p trình Pascal Lop11.com Trang 13 (14) Tr ng Cao ng KTKT Bình D ng Biên so n : V Bi n +Các hàm có i s nguyên ho c th c -Hàm ABS(x): tính tr t i c a x Ví d#: Abs(5 - 8) = -Hàm SQR(x): tính bình ph ng c a x: Ví d#: Sqr(4.0) = 16.0, Sqr(2) = Trong các hàm d i ây, i s x có th là nguyên hay th c, nh ng gía tr tr v luôn luôn là ki u th!c: -Hàm SQRT(x): tính , (x ? 0) - Hàm EXP(x) : tính ex - Hàm LN(x): tính lnx, (x > 0) - Các hàm SIN(x), COS(x), và ARCTAN(x): tính sinx, cosx và arctgx - Hàm INT(x) : cho s th c b ng ph n nguyên c a x Ví d# : Int(12.55) = 12.0 Int(1+10/3)=4.0 -Hàm FRAC(x) : cho s th c b ng ph n l0 c a x Ví d# : Frac(12.55) = 0.55 Hai hàm c bi t d i ây cho k t q a là s nguyên: -Hàm TRUNC(x): cho s nguyên là ph n nguyên c a x Ví d# : Trunc(12.55) = 12 Trunc(-2.98) = -2 - Hàm ROUND(x): cho s nguyên b ng cách làm tròn x Ví d# : Round(12.45) = 12 Round(-2.98) = -3 3.Ki u ký t (Char): Nh n m t các ký t b ng mã ASCII, M i ký t b ng mã ASCII g i là m t h ng ký t , chi m dài byte, và vi t Pascal ph i c &t c&p nháy n: ‘0’, ‘1’, ‘A’, ‘B’, ‘$’, +Các hàm liên quan n ký t : - Hàm PRED(ch): cho ký t )ng tr c ký t ch b ng mã Ví d#: Pred(‘B’)=‘A’ -Hàm SUCC(ch): cho ký t )ng sau ký t ch b ng mã Ví d#: Succ(‘A’)=‘B’ -Hàm UpCase(ch): i ký t ch thành ch hoa Ví d#: Upcase( ‘a’ ) = ‘A’, Upcase( ‘b’ ) = ‘B’, Upcase( ‘A’ ) = ‘A’ -Hàm ORD(ch) : cho mã c a ký t ch Ví d#: Ord (‘A’) = 65, Ord (‘a’) = 97 -Hàm CHR(k) : i s k nguyên, 0< k < 255, cho ký t có mã b ng k Ví d#: Chr (65)= ‘A’ , Chr (97)= ‘a’, Chr(32) là ký t tr*ng 4.Ki u logic (boolean) Ki u boolean ch có hai gía tr là TRUE ( úng) và FALSE (sai), không phân bi t ch hoa hay ch th !ng V quan h th) t thì FALSE< TRUE M i gía tr boolean chi m m t byte b nh Các phép toán lôgic g m có: NOT, AND, OR và XOR N u A và B là hai i l ng lôgic thì NOT A, A and B, A or B và A xor B c(ng là nh ng i l ng lôgic có k t q a c cho b ng sau: A B A and B A or B A xor B True True True True False True False False True True False True False True True False False False False False 5.Ki u chu*i (String) : là m t chu i ký t Khi gán h ng chu i , h ng chu i ph i c rào c&p d u nháy n Ví d# : ‘Turbo Pacal’, ‘12345’ Ch ng 2:Gi i thi u Ngôn ng l p trình Pascal Lop11.com Trang 14 (15) Tr ng Cao ng KTKT Bình D ng Biên so n : V Bi n V.Các l nh nh p xu t d li u Nh p và xu t d li u là hai khâu quan tr ng qúa trình x lý thông tin H u nh ch ng trình nào c(ng ph i gi i quy t v n nh p, xu t d li u Có nh p c d li u thì m i có d li u tính hay x lý Có d li u xu t thì m i bi t c k t q a c a qúa trình x lý máy L nh nh p d li u 1.1.Ý ngh a :Dùng nh p d li u cho bi n nguyên hay th c hay chu i 1.2 D ng l nh có d ng nh sau : Read(x1, x2, , xn); Readln(x1, x2, , xn); Readln; Trong ó x1,x2…xn ã c khai báo ki u d li u ph n khai báo - D ng và d ng dùng nh p d li u cho các bi n s ã c khai báo - D ng nh p xong d li u sau bi n s xn, còn d ng nh p xong tr t ng nh y xu ng u hàng k ti p - D ng không dùng nh p d li u, mà có tác d#ng d ng th c hi n ch ng trình ch! nh n phím enter Ghi chú : Khi nh p d li u cho các bi n s , các giá tr vi t cách ít nh t m t kh ang tr*ng L nh xu t d li u 2.1 Ý ngh a : Dùng in các d li u lên màn hình 2.2 D ng l nh : có d ng th t#c in d li u nh sau: Write( bt1, bt2 , , btn ); Wrteln(bt1, bt2 , , btn ); Writeln; Trong ó bt1, bt2, , btn là các bi u th)c c n ph i in gía tr lên màn hình Trong tr !ng h p n gi n, m i bi u th)c này có th là m t bi n, m t h ng, hay m t hàm - D ng 1: in d li u xong tr sau btn, còn d ng in xong tr nh y xu ng u hàng k ti p - D ng 3: không dùng in d li u lên màn hình mà có tác d#ng a tr xu ng u hàng k ti p Ví d : cho x, y là hai bi n th c và gán x:=100/4; y:=-9/300; thì hai l nh sau : Writeln(‘ x= ‘, x); Writeln(‘ y= ‘, y); s" in lên màn hình : x = 2.5000000000E+01 y = -3.0000000000E-02 2.2 In d li u d ng s có nh d ng: a) In s th!c có nh d ng: In các s th c theo cách trên r t khó c Vì th các s th c th !ng c in có nh d ng, gi ng nh cách vi t s thông th !ng, b ng l nh: Writeln( bi uth)c : n : k ); Trong ó n và k là các s t nhiên, n nh dùng n c t in gía tr c a bi u th)c, ó có k c t dành cho ph n th p phân Ví d#: cho x, y là các bi n ki u th c và: x:=100/4; y:=-123.4824; Hai l nh sau : Writeln(‘ x=‘, x:6:2); Writeln(‘ y=‘, y:10:3); s" in lên màn hình: x= 25.00 ( tr c s có ký t tr*ng) Ch ng 2:Gi i thi u Ngôn ng l p trình Pascal Lop11.com Trang 15 (16) Tr ng Cao ng KTKT Bình D ng Biên so n : V Bi n y= -123.482 (tr c d u - có ký t tr*ng) N u n nh h n chi u dài c a s c n in thì s s" c in v i y các ch s ph n nguyên Ví d#, th c hi n các l nh sau : x:=12345.675; Writeln(‘x= ‘, x:0:2); trên màn hình s" hi n : x=12345.68 ây máy ã làm tròn s b s l0 cu i cùng 2.3 Ví d PROGRAM VIDU; Uses CRT; Var Ten : String[18]; Maso : String[11]; Begin CLRSCR; Write(‘ Nhap ho va ten: ‘); Readln(Ten); Write(‘ Nhap ma so sv : ‘); Readln(Maso); Writeln; Writeln(‘ ********************** ’); { in 22 d u * } Writeln(‘*’, Ten:19, ‘*’:2); { in d u *, in Ten chi m 19 c t, in ti p d u * chi m c t } Writeln(‘* Ma so:’ , Maso:12, ‘*’:2); { in * Ma so, in Maso chi m 12 c t, in ti p d u * chi m c t } Writeln(‘**********************’); { in 22 d u * } Readln; End Bài t p ch ng Nh p s nguyên a, b t bàn phím In t ng, tích, hi u, th ng c a a và b + c t bàn phím di n tích c a áy l n B1 và di n tích áy nh B2 và chi u cao h c a m t hình chóp c#t Tính th tích hình chóp c#t theo công th)c sau : V = (1/3)* (B1+B2 + B1*B2) *h + c t bàn phím bàn kính R1, bán kính R2, là !ng sinh l và chi u cao h c a m t hình chóp c#t Tính di n tích xung quanh và th tích hình chóp c#t theo công th)c sau: Di n tích xung quanh S = (PI/2 * (R1R2) *I Th tích V = (1/3) * (PI*h*(R1² + R2² + R1*R2)) Vi t ch ng trình nh p vào i m Toán, Lí, Hoá c a m t thí sinh theo h s t ng )ng : : Hãy tính và in i m trung bình 5.Vi t ch ng trình tính l c hút F gi a hai v t có kh i l ng M và N cách m t kh ang d theo công th)c : M *N F =G d2 –8 2 V i G là l c h p d'n = 6.673* 10 cm /gs (M tính b ng gram,D tính b ng cm) 6.Vi t ch ng trình nh p s nguyên d ng a, b, c sau ó tính và in màn hình giá tr trung bình c ng s , c và trung bình nhân p c a s ó a+b+c Bi t r ng : s = p = (abc)1 / 3 7.Vi t ch ng trình nh p s nguyên d ng a, b, c là s ó c nh c a m t tam giác Hãy tính và in màn hình di n tích s c a tam giác ó Bi t r ng : s=sqrt(p*(p-a)*(p-a)*(p-c)) ó p=0.5*(a+b+c) Ch ng 2:Gi i thi u Ngôn ng l p trình Pascal Lop11.com Trang 16 (17) Tr ng Cao ng KTKT Bình D ng Biên so n : V Bi n Ch ng III CÁC L NH +I,U KI N – VÒNG L-P I Các l nh i"u ki n 1.L nh nh y không i"u ki n - Cú pháp : Goto <Nhãn> - Ch c n ng : Nh y n l nh ã c ánh d u b ng nhãn ã khai báo Ghi chú: Cách khai báo nhãn ph n khai báo Label <Nhãn> V i <Nhãn> là m t t t &t Câu l nh IF 2.1 Câu l nh If d ng Cú pháp : IF <Ði"uki n> THEN <L nh> ; Ði u ki n là m t bi u th)c lôgic cho k t q a TRUE ( úng) hay FALSE (sai) L nh có th là m t l nh n gi n ho&c m t l nh có c u trúc Ý ngh a: Máy ki m tra i u ki n, n u Ði uki n là úng thì th c hi n l nh L nh, ng c l i n u Ði uki n là sai thì th c hi n l nh k ti p sau if Ví d : Nh p vào h tên và i m trung bình (DTB) c a m t sinh viên Hãy phân lo i sinh viên theo DTB nh sau: Lo i là Kém n u DTB<5, là Tbình n u =< DTB<7, là Khá n u <= DTB<9, là Gi i n u DTB >= In h tên, i m trung bình và phân lo i sinh viên PROGRAM PhanloaiSinhvien; { Phân lo i sinh viên } Var Ho_ten: String[18]; DTB: Real; Loai: String[6]; Label aa; Begin Write(‘ Nhap ho va ten :’); Readln(Ho_ten); aa:Write(‘ Nhap iem trung binh :’);Readln(DTB); If DTB<0 then Begin Writeln(‘Diem trung binh <0 ! Xin nhap lai ‘); Readln; Goto aa; End; { phân lo i theo DTB } If DTB< then Loai:=‘Kem’; If (DTB>= 5) and (DTB<7) then Loai:=‘Tbinh’; If (DTB >= 7) and (DTB< 9) then Loai:=‘Kha’; If DTB >= then Loai:=‘Gioi’; Writeln(Ho_ten, #32 , DTB:4:1 , #32 , Loai); { #32 là ký t tr*ng } Ch ng 3: Các l nh i u ki n – vòng l p Lop11.com c Trang 17 (18) Tr ng Cao ng KTKT Bình D ng Biên so n : V Bi n Readln; End 2.2 Câu l nh IF d ng +Cú pháp : IF Ði"uki n THEN L nh1 Sai ELSE L nh2 ; +ki n Chú ý : -Tr c ELSE không có d u ch m ph/y +úng -L nh1 và L nh2 có th là m t l nh ghép, t)c là g m nhi u l nh c &t kh i begin và end; L nh L nh +Ý ngh a c a l nh: Máy ki m tra i u ki n, N u Ði uki n là úng thì th c hi n L nh1, ng c l i, n u Ði uki n là sai thì th c hi n Lênh2 Ví d : Vi t ch ng trình nh p vào hai s a và b, L nh k ti p tìm và in s nh nh t và s l n nh t c a chúng: PROGRAM Tim_Max_Min; { Tim so lon nhat va so nho nhat c a hai so } Var a, b, Max, Min : Real; Begin Write(‘ Nhap a va b :’);Readln(a,b); If a < b then begin Max:= b; Min:= a; end else { tr c else không có d u ; } begin Max:= a; Min:= b; end; Writeln(‘ So lon nhat la: ‘ , Max:6:2); Writeln(‘ So nho nhat la: ‘ , Min:6:2); Readln; End 2.3 Câu l nh IF l ng : Trong câu l nh IF, n u L nh1 ho&c L nh2, ho&c c hai, l i là câu l nh IF thì ta có c u trúc IF l ng Ch4ng h n d i ây là hai câu l nh IF ELSE l ng : IF Ði"uki n1 THEN If Ði"uki n2 then L nh1 else L nh2 ELSE L nh3 ; Ch ng 3: Các l nh i u ki n – vòng l p Lop11.com Trang 18 (19) Tr ng Cao ng KTKT Bình D ng Biên so n : V Bi n Ví d# : Vi t ch ng trình nh p vào h tên m t ch h , ch s i n k tháng tr c (chiso1) và ch s i n k tháng này (chiso2), tính ti n i n tháng này cho h , bi t r ng : M i kw 100 kw u tiên có n gía là 500 , T kw th) 101 n kw th) 200 có n giá 800 , T kw th) 201 tr lên có n gía 1000 PROGRAM Tinh_tien_dien; { Tính ti n i n } Var Ho_ten: String[18]; chiso1, chiso2, Ldtt, Tien : Real; Label aa; Begin Write(‘ Nhap ho va ten :’); Readln(Ho_ten) aa: Write(‘ Nhap ch s tháng tr c, ch s tháng này: ‘);Readln( chiso1, chiso2); If chiso2<chiso1 Then Begin Writeln(‘Ban nhap sai du lieu ! Xin nhap lai’); Readln; Goto aa; End; Ldtt:=chiso2 - chiso1; If Ldtt<= 100 then Tien:=Ldtt*500 else if Ldtt <=200 then Tien:=100*500+(Ldtt - 100)*800 else Tien:=100*500 + 100*800 + (Ldtt - 200) * 1000; Writeln(‘ H và tên là ‘, Ho_ten); Writeln(‘ Ti n ph i tr là ‘ , Tien:10:2); Readln; End Câu l nh CASE 3.1 Cú pháp L nh CASE có hai d ng, chúng ch khác m t i m là d ng có ELSE L nh n+1, còn d ng thì không ( hình v") CASE bi uth)c OF h ng1 : L nh1; h ng2 : L nh2; h ngn : L nhn; END; D ng CASE bi uth)c OF h ng1 : L nh1; h ng2 : L nh2; h ngn : L nhn; ELSE L nhn+1; END; D ng Chú ý - L nh CASE ph i k t thúc b ng END; Ch ng 3: Các l nh i u ki n – vòng l p Lop11.com Trang 19 (20) Tr ng Cao ng KTKT Bình D ng Biên so n : V Bi n - Ki u d li u c a bi uth)c ch là ki u d li u m c nh : nguyên, ký t , Lôgic, ho&c ki u li t kê hay ki u o n con, không c là ki u th c hay ki u chu i 3.2: Ý ngh a: Khi g&p l nh Case ch ng trình máy th c hi n theo các b c sau : B c 1: Tính gía tr c a bi uth)c B c 2: So sánh và l a ch n: - N u gía tr c a bi uth)c = Gt1 thì th c hi n L nh1 - N u gía tr c a bi uth)c = Gt2 thì th c hi n L nh2 - N u gía tr c a bi uth)c = Ctn thì th c hi n L nhn B c 3: a) chuy n sang l nh k ti p sau End ( n u là d ng 1) b) th c hi n L nh n+1, r i chuy n sang l nh k ti p sau End (n u là d ng 2) S Sai GT=gt GT=gt Sai L nh1 Sai +úng GT=gt L nh2 +úng L nh3 L nh k 2.3 Các ví d : PROGRAM Tim_so_ngay_cua_thang; { Xác nh s ngày c a tháng } Var Thang, Nam, Songay : Integer ; Begin Write(‘Nh p Thang, Nam : ‘); Readln(Thang, Nam); If (Thang<1) or ( Thang>12) then writeln(‘ Nh p sai ’) else begin Case Thang OF 4, 6, 9, 11 : Songay:=30; 1, 3, 5, 7, 8, 10, 12 : Songay:=31; : begin If Nam mod = then Songay:=29 else Songay:=28; end; Ch ng 3: Các l nh i u ki n – vòng l p Lop11.com Trang 20 (21)

Ngày đăng: 01/04/2021, 05:01