Các hàm và thủ tục trong Pascal
lượt xem 44
download
Khi sử dụng một Unit nào đó bạn cần phải khai báo tên Unit sau từ khoá uses. Các Unit có thể đã được Pascal tạo trước đó hoặc do chính bạn định nghĩa. 1. Unit System: Không phải khai báo sau từ khoá uses, nó là thư viện chứa các hằng, biếnn thủ tục, hàm để xuất, nhập, xử lý dữ liệu, cấp phát, quản lý bộ nhớ.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Các hàm và thủ tục trong Pascal
- Bµi 1: C¸c hµm vµ thñ tôc trong Pascal Yªu cÇu: Dïng c¸c phÝm F1, Alt F1, Ctrl + F1 xem cÊu tróc vµ c¸c th«ng sè ®Çu vµo cña tõng lÖnh trong Pascal vµ ghi vµo dßng phÝa díi cña c¸c c©u lÖnh. VÝ dô: Window T¹o mét cöa sæ mµn h×nh míi Procedure Window (X1,Y1,X2,Y2:Byte); B¹n cã thÓ Copy c¸c vÝ dô cña Pascal vµ thö ch¹y nã ®Ó hiÓu râ h¬n vÒ c¸ch sö dông cña c¸c hµm vµ c¸c thñ tôc... I. Mét sè Unit hay dïng trong Pascal for DOS Khi sö dông mét Unit nµo ®ã b¹n cÇn ph¶i khai b¸o tªn Unit sau tõ kho¸ uses. C¸c Unit cã thÓ ®∙ ®îc Pascal t¹o tríc ®ã hoÆc do chÝnh b¹n ®Þnh nghÜa. 1. Unit System: Kh«ng ph¶i khai b¸o sau tõ kho¸ uses, nã lµ th viÖn chøa c¸c h»ng, biÕnn thñ tôc, hµm ®Ó xuÊt, nhËp, xö lý d÷ liÖu, cÊp ph¸t, qu¶n lý bé nhí. C¸c thñ tôc vµ hµm trong Unit system: C¸c thñ tôc (Procedure): Append Më mét tËp tin v¨n b¶n ®Ó Reset Më mét tËp tin ®∙ cã ®Ó ®äc ghi thªm d÷ liÖu. ReWrite T¹o míi vµ më tËp tin. Assign G¸n tªn mét tËp tin ngo¹i Read G¸n gi¸ trÞ cho mét hay tró vµo biÕn tËp tin. nhiÒu biÕn Close §ãng biÕn tËp tin. Readln G¸n gi¸ trÞ cho mét hay Exit Tho¸t ch¬ng tr×nh hoÆc nhiÒu biÕn vßng lÆp. Str §æi gi¸ trÞ kiÓu sè sang d¹ng FillChar §iÒn mét sè byte cã gi¸ trÞ chuçi ký tù. vµo mét biÕn. Val §æi gi¸ trÞ kiÓu chuçi sang Halt KÕt thóc ngang ch¬ng d¹ng sè. tr×nh. Write XuÊt d÷ liÖu ra tËp tin, mµn Inc T¨ng gi¸ trÞ mét biÕn. h×nh. Trang 1
- Randomize Khëi t¹o chÕ ®é t¹o sè Writeln XuÊt d÷ liÖu ra tËp tin, mµn ngÉu nhiªn. h×nh. C¸c hµm (Function): ABS LÊy gi¸ trÞ tuyÖt ®èi Paramcount Tæng sè tham sè ArctangLÊy gi¸ trÞ Arctang cña mét truyÒn vµo cña ch¬ng tr×nh. gi¸ trÞ lîng gi¸c. ParamStr Néi dung cña tham sè. Cos LÊy gi¸ trÞ lîng gi¸c Cosin cña Pi Gi¸ trÞ 3,1416... mét gãc. Pos VÞ trÝ cña mét chuçi con Chr LÊy ký tù trong b¶ng m∙ trong chuçi lín. ASCII Random T¹o mét sè ngÉu Concat Nèi c¸c chuçi. nhiªn. Eof KiÓm tra tr¹ng th¸i kÕt thóc Round Lµm trßn mét sè. cña tËp tin. Sin Cho gi¸ trÞ lîng gi¸c Sinus Eoln Tr¹ng th¸i kÕt thóc dßng cña cña mét gãc. tËp tin v¨n b¶n. Sqr B×nh ph¬ng cña mét sè Exp LÊy luü thõa c¬ sè e cña mét Sqrt C¨n bËc hai cña mét sè. sè. Upcase §æi ký tù thêng thµnh ký tù Length LÊy chiÒu dµi cña mét in. chuçi Ord LÊy thø tù cña mét ký tù trong b¶n m∙ ASCII. 2. Unit Crt: Lµ th viÖn chøa c¸c h»ng, biÕn, thñ tôc, hµm dïng ®Ó xuÊt d÷ liÖu d¹ng v¨n b¶n trªn mµn h×nh, c¸c thñ tôc cã liªn quan ®Õn ©m thanh. Unit Crt gåm cã: C¸c h»ng liªn quan ®Õn mÇu: Blank 0 Blue 1 Green 2 Syan 3 Red 4 Magenta 5 Brow 6 LightGray 7 DarkGray 8 LightRed 12 LightMagent 13 Yellow 14 White 15 Blink 128 Trang 2
- C¸c biÕn: Winmax: Word Gi¸ trÞ ®Ønh díi ph¶i cña cöa sæ. Winmin: Word Gi¸ trÞ ®Ønh tr¸i trªn cña cöa sæ. C¸c hµm vµ thñ tôc: Clrscr Xo¸ vµ t« mÇu cho cöa Textcolor §Þnh mÇu ch÷ sæ hiÖn t¹i Window T¹o mét cöa sæ mµn h×nh Delay Dõng ch¬ng tr×nh trong míi mét thêi gian Keypressed KiÓm tra nÕu cã mét Gotoxy §a con trá tíi to¹ ®é mµn phÝm ®îc nhÊn h×nh. ReadKey LÊy gi¸ trÞ cña mét NoSound T¾t ©m thanh phÝm ®îc bÊm Sound Ph¸t ©m thanh víi mét WhereX VÞ trÝ cét cña con trá tÇn sè. WhereY VÞ trÝ hµng cña con trá. Textbackground §Þnh mÇu nÒn. 3. Unit Dos: Lµ th viÖn chøa c¸c h»ng, biÕn, thñ tôc dïng ®Ó truy xuÊt ®Õn c¸c tËp tin trªn ®Üa, truy xuÊt bé nhí m¸y tÝnh... Unit DOS gåm cã: GetDate LÊy ngµy cña hÖ thèng m¸y tÝnh GetTime LÊy giê cña hÖ thèng m¸y tÝnh SetDate §Æt l¹i ngµy cho m¸y tÝnh SetTime §Æt l¹i giê cho m¸y tÝnh DiskFree Cho sè byte cßn trèng trªn ®Üa DiskSize Cho dung lîng cña ®Üa. 4. Unit Graph: Lµ th viÖn chøa c¸c h»ng, biÕn, thñ tôc, hµm dïng ®Ó truy xuÊt d÷ liÖu ra mµn h×nh trong chÕ ®é ®å ho¹. Unit Graph gåm cã: CloseGraph §ãng chÕ ®é ®å ho¹ DetectGraph X¸c ®Þnh Card vµ Mode ®å ho¹ Trang 3
- Initgraph Khëi t¹o chÕ ®é ®å ho¹ GraphResult KÕt qu¶ khëi ®éng ®å ho¹ ClearDevice Xo¸ mµn h×nh ®å ho¹ SetViewport §Þnh cöa sæ trªn mµn h×nh ClearViewport Xo¸ cöa sæ t¹o bëi Viewport GetMaxX LÊy gi¸ trÞ lín nhÊt cña t¹o ®é X trong chÕ ®é ®å ho¹ GetMaxY LÊy gi¸ trÞ lín nhÊt cña t¹o ®é Y trong chÕ ®é ®å ho¹ GetX LÊy gi¸ trÞ hiÖn hµnh cña t¹o ®é X trong chÕ ®é ®å ho¹ GetY LÊy gi¸ trÞ hiÖn hµnh cña t¹o ®é Y trong chÕ ®é ®å ho¹ Moveto Di chuyÓn co trá tíi mét to¹ ®é míi MoveRel Di chuyÓn con trá ngÇm ®Þnh ®Õn mét kho¶ng c¸ch. SetBkColor §Æt mÇu nÒn trong chÕ ®é ®å ho¹ SetColor §Æt mÇu vÏ GetBkColor LÊy mÇu nÒn trong chÕ ®é ®å ho¹ GetColor LÊy mÇu vÏ PutPixel VÏ mét ®iÓm ¶nh t¹i to¹ ®é GetPixel LÊy mÇu cña ®iÓm ¶nh t¹i to¹ ®é * C¸c kiÓu biÕn, h»ng, hµm, thñ tôc liªn quan ®Õn c¸ch viÕt ch÷ trong ®å ho¹: + H»ng liªn quan ®Õn Font ch÷: Const DefaultFont = 0; TriplexFont = 1; SmallFont = 2; SansSerifFont = 3; GothichFont = 4; + H»ng liªn quan ®Õn híng ch÷: Const HorizDir = 0 VertDir = 1 + H»ng liªn quan ®Õn ®é lín ch÷: UserCharSize = 0; + H»ng liªn quan ®Õn c©n chØnh ch÷: Trang 4
- CenterText = 1; LeftText = 0; RightText = 2; BottomText = 0; TopText = 2; + C¸c thñ tôc liªn quan: GetTextSettings LÊy c¸ch ®Þnh ch÷ OutText ViÕt mét chuçi t¹i to¹ ®é OutTextXY ViÕt mét chuçi t¹i to¹ ®é SetTextJustify §Æt c¸ch c¨n chuçi SetTextStyle §Æt kiÓu ch÷ TextHight LÊy ®é cao cña chuçi TextWidth LÊy ®é réng cña chuçi * C¸c kiÓu biÕn, h»ng, thñ tôc liªn quan ®Õn vÏ ®êng: + H»ng liªn quan ®Õn lo¹i ®êng Const Solidln = 0; Dottedln = 1; CenterLn = 2; DashedLn = 3 + C¸c thñ tôc liªn quan: GetLineSettings LÊy th«ng sè thiÕt kÕ ®êng SetLineStyle §Æt kiÓu ®êng SetWritemode §Þnh Mode vÏ ®êng Line VÏ mét ®o¹n th¼ng LineRel VÏ ®o¹n tõ vÞ trÝ con trá c¸ch mét ®o¹n LineTo VÏ ®o¹n th¼ng tõ vÞ trÝ con trá ®Õn vÞ trÝ míi DrawPoly VÏ h×nh ®a gi¸c Circle VÏ ®êng trßn Arc VÏ cung trßn Ellipse VÏ cung Ellipse Rectangle VÏ h×nh ch÷ nhËt * C¸c h»ng, biÕn, thñ tôc liªn quan ®Õn vÏ h×nh: SetFillStyle §Æt kiÓu t« Trang 5
- SetFillPattern §Æt mÉu t« FloodFill T« mét vïng Bar VÏ h×nh ch÷ nhËt cã t« Bar3D VÏ h×nh khèi ch÷ nhËt 3 chiÒu FillPoly VÏ ®a gi¸c cã t« PieSlice VÏ h×nh qu¹t Ellipse Sector VÏ h×nh rÎ qu¹t trßn FillEllipce VÏ h×nh Ellipce * C¸c thñ tôc ®Æc biÖt: + Const: NormalPut = 0; CopyPut =0 XORPut = 1; ORPut = 2; ANDPut = 3 NOTPut = 4; + Thñ tôc: GetImage Lu tr÷ mét vïng mµn h×nh PutImage VÏ l¹i vïng mµn h×nh ®∙ lu tr÷ SetActivePage§Æt tran vÏ ho¹t ®éng SetVisualPageDÆt trang hiÓn thÞ ImageSize LÊy ®é lín vïng mµn h×nh Sector VÏ h×nh rÎ qu¹t trßn FillEllipce VÏ h×nh Ellipce * C¸c thñ tôc ®Æc biÖt: + Const: NormalPut = 0; CopyPut =0 XORPut = 1; ORPut = 2; ANDPut = 3 NOTPut = 4; + Thñ tôc: GetImage Lu tr÷ mét vïng mµn h×nh Trang 6
- PutImage VÏ l¹i vïng mµn h×nh ®∙ lu tr÷ SetActivePage§Æt tran vÏ ho¹t ®éng SetVisualPageDÆt trang hiÓn thÞ ImageSize LÊy ®é lín vïng mµn h×nh Sector VÏ h×nh rÎ qu¹t trßn FillEllipce VÏ h×nh Ellipce II. CÊu tróc mét ch¬ng tr×nh viÕt b»ng Pascal Mét ch¬ng tr×nh m¸y tÝnh lµ mét d∙y lÖnh nh»m chØ thÞ, híng dÉn m¸y tÝnh thùc hiÖn mét thao t¸c nµo ®ã, thùc hiÖn c¸c phÐp tÝnh trªn c¸c d÷ liÖu. CÊu tróc chung nhÊt cña Pascal gåm 3 phÇn: 1. PhÇn tiªu ®Ò 2. PhÇn khai b¸o 3. PhÇn th©n ch¬ng tr×nh Chóng ®îc quy ®Þnh b»ng có ph¸p sau: Program ...; §Æt tªn cho ch¬ng tr×nh Uses ...; Khai b¸o c¸c Unit sö dông trong ch¬ng tr×nh Const ...; Khai b¸o c¸c h»ng sö dông trong ch¬ng tr×nh Type ...; §Þnh nghÜa c¸c kiÓu biÕn Var ...; Khai b¸o c¸c biÕn sö dông trong ch¬ng tr×nh Procedure ...; C¸c ch¬ng tr×nh con sö dông trong ch¬ng tr×nh Function ...; C¸c hµm sö dông trong ch¬ng tr×nh Begin Statement; C¸c thñ tôc vµ lÖnh End. 1. PhÇn tiªu ®Ò cña ch¬ng tr×nh: B¾t ®Çu b»ng tõ kho¸ PROGRAM tiÕp ®ã lµ tªn cña ch¬ng tr×nh do b¹n ®Æt ra (Tªn ch¬ng tr×nh kh«ng cã ký tù trèng). VD: Program Chao_Cac_Ban; 2. PhÇn khai b¸o: Trang 7
- M« t¶ c¸c kiÓu d÷ liÖu, c¸c biÕn, c¸c h»ng, c¸c ch¬ng tr×nh con ... USES Dïng khai b¸o c¸c Unit (nÕu cã), c¸c Unit c¸ch nhau bëi dÊu phÈy (,), cuèi khai b¸o lµ dÊu chÊm phÈy (;). VD: Uses Crt,Graph; Const Tõ kho¸ ®Ó khai b¸o h»ng sè VD: Const Max=40; TYPE Dïng khai b¸o c¸c kiÓu d÷ liÖu do b¹n ®Þnh nghÜa Var Dïng khai b¸o c¸c biÕn cña ch¬ng tr×nh VD: Var M,N:integer; ST:String; Functiong §Ó khai b¸o vµ triÓn khai hµm tù t¹o do b¹n t¹o ra. Procedure Khai b¸o triÓn khai ch¬ng tr×nh con do b¹n t¹o ra. 3. PhÇn th©n ch¬ng tr×nh: Gåm hai tõ kho¸ BEGIN vµ END bao c¸c lÖnh cña ch¬ng tr×nh. Sau tõ kho¸ END lµ dÊu chÊm (.) b¸o hiÖu chÊm døt ch¬ng tr×nh. C¸c c©u lÖnh trong phÇn th©n ch¬ng tr×nh sÏ ®îc thùc hiÖn tuÇn tù, lÖnh nµo n»m tríc sÏ ®îc thùc hiÖn tr íc, lªnh nµo n»m sau sÏ ®îc thùc hiÖn sau. Bµi 2 Khai b¸o biÕn c¸c kiÓu d÷ liÖu chuÈn 1. Khai b¸o biÕn: BÊt kú mét biÕn nµo khi sö dông trong ch¬ng tr×nh ®Òu ph¶i khai b¸o, viÖc khai b¸o biÕn gåm hai phÇn: Khai b¸o tªn biÕn (tªn biÕn do b¹n ®Æt). Khai b¸o kiÓu d÷ liÖu, lµ tªn c¸c kiÓu d÷ liÖu chuÈn, d÷ liÖu kh«ng chuÈn. PhÇn tªn vµ phÇn d÷ liÖu c¸ch nhau bëi dÊu hai chÊm (:). C¸c biÕn khai b¸o ®îc b¾t ®Çu b»ng tõ kho¸ Var , c¸c biÕn cïng kiÓu c¸ch nhau b»ng dÊu phÈy (,), c¸c biÕn kh¸c kiªu c¸ch nhau b»ng dÊu chÊm phÈy (;). Var Trang 8
- , : ; : ; 2. Khai b¸o H»ng vµ h»ng biÕn: H»ng còng gièng nh biÕn nhng trong néi dung cña h»ng sÏ kh«ng thay ®æi trong qu¸ tr×nh thùc hiÖn ch¬ng tr×nh. ViÖc khai b¸o h»ng b¾t ®Çu b»ng tõ kho¸ Const Const = ; H»ng ®îc g¸n th¼ng mét gi¸ trÞ mµ kh«ng cÇn khai b¸o kiÓu. VD: N =20 Str = String; Thoat=True; 3. D÷ liÖu kiÓu sè: a. C¸c phÐp to¸n trªn d÷ liÖu kiÓu sè nguyªn: Trong Pascal ®Þnh nghÜa kiÓu sè nguyªn chuÈn nh sau: KiÓu (type) Ph¹m vi (Range) §é lín ShortInt 128 ... 128 1 Byte Integer 32768 ... 32767 2 Byte LongInt 2147483648 ... 2147483647 4 Byte Byte 0 ... 255 1 Byte Word 0 ... 65535 2 Byte * PhÐp to¸n sè häc: Chøc n¨ng Ký hiÖu PhÐp céng + PhÐp trõ PhÐp nh©n * PhÐp chia nguyªn Div PhÐp lÊy phÇn d Mod C¸c phÐp to¸n nµy t¸c ®éng nªn kiÓu d÷ liÖu sè nguyªn cho d÷ liÖu kiÓu nguyªn. Trang 9
- * Hµm, thñ tôc trªn d÷ liÖu sè nguyªn: PRED(x) Cho phÇn tö ®øng tríc x SUCC(x) Cho ra phÇn tö ®øng sau x INC(x,r) T¨ng gi¸ trÞ cña x nªn r ®¬n vÞ. T¬ng ®¬ng víi x:=x+r. DEC(x,r) Gi¶m gi¸ trÞ cña x xuèng r ®¬n vÞ. T¬ng ®¬ng víi x:=xr. (Thñ tôc INC(x), DEC(x) xem nh t¨ng, gi¶m x mét ®¬n vÞ). * PhÐp so s¸nh Logic: C¸c phÐp so s¸nh nh: Chøc n¨ng Ký hiÖu B»ng nhau = Kh¸c nhau Nhá h¬n < Lín h¬n > Lín h¬n vµ b»ng >= Nhá h¬n vµ b»ng
- Extended 3.4e4932 ... 1.1e4932 10 Byte Comp 9.2e18 ... 9.2e18 8 Byte Chó ý: Muèn dïng kiÓu Single, Double, Extended, Comp ph¶i ®æi tõ SoftWare sang 8087/80287 trong menu Option/Compiler vµ m¸y tÝnh ph¶i trang bÞ m¹ch coprocessor 80287. * C¸c phÐp tÝnh trªn d÷ liÖu kiÓu sè thùc: + PhÐp tÝnh to¸n häc: Chøc n¨ng Ký hiÖu PhÐp céng + PhÐp trõ PhÐp nh©n * PhÐp chia / C¸c phÐp tÝnh nµy t¸c ®éng nªn d÷ liÖu kiÓu sè thùc vµ sè nguyªn cho d÷ liÖu kiÓu sè thùc. Trong mét biÓu thøc tÝnh nÕu c¸c sè h¹ng kiÓu sè nguyªn sÏ tù ®éng biÕn ®æi kiÓu thµnh sè thùc ®Ó c¸c to¸n tö trªn thùc hiÖn phÐp tÝnh. + PhÐp so s¸nh: Sö dông gièng hÖt c¸c phÐp so s¸nh cña sè nguyªn. + C¸c trªn kiÓu sè nguyªn vµ thùc: Hµm KiÓu t¸c ®éng Cho ra kiÓu Chøc n¨ng Round(x) Real LongInt Lµm trßn x Trunc(x) Real LongInt LÊy phÇn nguyªn Int(x) Real Real LÊy phÇn nguyªn Frac(x) Real Real LÊy phÇn lÎ ABS(x) Real/Nguyªn Real/Nguyªn LÊy gi¸ trÞ tuyÖt ®èi Arctang Real/Nguyªn Real Cho arctang cña x Cos(x) Real/Nguyªn Real Cho Cosin cña x (tÝnh theo radian) Sin(x) Real/Nguyªn Real Cho Sin cña x (tÝnh theo radian) Exp(x) Real/Nguyªn Real Hµm sè mò cña x theo c¬ sè e Pi Real Cho h»ng 3,1416.... Sqr(x) Real/Nguyªn Real B×nh ph¬ng cña x Sqrt Real/Nguyªn Real C¨n bËc 2 cña x Ln(x) Real/Nguyªn Real Logarit Neper cña x Trang 11
- 4. KiÓu d÷ liÖu Boolean: §©y lµ mét kiÓu mµ ph¹m vi chØ cã hai gi¸ trÞ lµ True vµ False KiÓu (type) Ph¹m vi (Range) §é lín Boolean True/False 1Byte * G¸n mét gi¸ trÞ kiÓu boolean b¹n cã thÓ g¸n mét gi¸ trÞ hay kÕt qu¶ cña mét biÓu thøc logic cho mét biÕn kiÓu Boolean b»ng lÖnh g¸n: VÝ dô: Var Ketqua,thoat:Boolean; a,b:integer; Begin a:=10; b:=20; Thoat:=False;{g¸n gi¸ trÞ False cho biÕn thoat} Ketqua:=a
- b. C¸c hµm vµ thñ tôc t¸c ®éng lªn d÷ liÖu kiÓu Char: ord(ch:Char):Byte Cho sè thø tù trong b¶ng m∙ ACSII cña ký tù ch Chr(N:byte):Char Cho ký tù thø N trong b¶ng m∙ ACSII. Cã thÓ dïng ký kiÖu # ®Ó m« t¶ ký tù N (VD: Chr(65) hoÆc #65 ®Òu cho ký tù A). Pred(ch:char):char Cho ký tù ®øng tríc ký tù Ch Succ(ch:char):char Cho ký tù ®øng sau ký tù ch VÝ dô: Cho Ch vµ St lµ d÷ liÖu kiÓu Char Ch:=’C’; St:=Prec(Ch); KÕt qu¶ St=’B’ St:=Succ(Ch); KÕt qu¶ St=’D’ Upcase(Ch:Char):Char §æi ch÷ thêng thµnh ch÷ in VÝ dô: ch:=a; st:=Upcase(ch); Cho kÕt qu¶ A Chó ý: Muèn dïng kiÓu Single, Double, Extended, Comp ph¶i ®æi tõ SoftWare sang 8087/80287 trong menu Option/Compiler vµ m¸y tÝnh ph¶i trang bÞ m¹ch coprocessor 80287. * C¸c phÐp tÝnh trªn d÷ liÖu kiÓu sè thùc: + PhÐp tÝnh to¸n häc: Chøc n¨ng Ký hiÖu PhÐp céng + PhÐp trõ PhÐp nh©n * PhÐp chia / C¸c phÐp tÝnh nµy t¸c ®éng nªn d÷ liÖu kiÓu sè thùc vµ sè nguyªn cho d÷ liÖu kiÓu sè thùc. Trong mét biÓu thøc tÝnh nÕu c¸c sè h¹ng kiÓu sè nguyªn sÏ tù ®éng biÕn ®æi kiÓu thµnh sè thùc ®Ó c¸c to¸n tö trªn thùc hiÖn phÐp tÝnh. + PhÐp so s¸nh: Sö dông gièng hÖt c¸c phÐp so s¸nh cña sè nguyªn. + C¸c trªn kiÓu sè nguyªn vµ thùc: Trang 13
- Hµm KiÓu t¸c ®éng Cho ra kiÓu Chøc n¨ng Round(x) Real LongInt Lµm trßn x Trunc(x) Real LongInt LÊy phÇn nguyªn Int(x) Real Real LÊy phÇn nguyªn Frac(x) Real Real LÊy phÇn lÎ ABS(x) Real/Nguyªn Real/Nguyªn LÊy gi¸ trÞ tuyÖt ®èi Arctang Real/Nguyªn Real Cho arctang cña x Cos(x) Real/Nguyªn Real Cho Cosin cña x (tÝnh theo radian) Sin(x) Real/Nguyªn Real Cho Sin cña x (tÝnh theo radian) Exp(x) Real/Nguyªn Real Hµm sè mò cña x theo c¬ sè e Pi Real Cho h»ng 3,1416.... Sqr(x) Real/Nguyªn Real B×nh ph¬ng cña x Sqrt Real/Nguyªn Real C¨n bËc 2 cña x Ln(x) Real/Nguyªn Real Logarit Neper cña x 6. CÊu tróc c©u lÖnh: Ch¬ng tr×nh cña Pascal lµ tËp hîp c¸c c©u lÖnh tuÇn tù tu©n theo có ph¸p cña Pascal. §ã lµ c¸c chØ thÞ cho m¸y tÝnh thùc hiÖn, c¸ chØ thÞ nµy ®îc m¸y tÝnh thi hµnh tuÇn tù c©u lÖnh ghi tríc sÏ ®îc thùc hiÖn tríc, c©u ghi sau sÏ ®îc thùc hiÖn sau. Mét c©u lÖnh trong ch¬ng tr×nh Pascal cã thÓ lµ: assignment(:=) PhÐp g¸n Procedure call Lêi gäi mét ch¬ng tr×nh con Begin ... End Khèi c©u lÖnh if ... then ... else C©u lÖnh cã ®iÒu kiÖn Case ... of ... else ... endC©u lÖnh rÏ nh¸nh Repeat ... Until LÖnh lÆp Repeat While ... do LÖnh lÆp While For ... to/downto ... do LÖnh lÆp For With ... do C©u lªnh With Trang 14
- a. C©u lÖnh ®¬n, c©u lÖnh ghÐp: VÒ ph¬ng diÖn có ph¸p ch¬ng tr×nh cña Pascal ®îc xem nh lµ mét tËp hîp liªn tiÕp c¸c lÖnh ®¬n. C¸c c©u lÖnh nµy chØ thÞ cho m¸y tÝnh thùc hiÖn mét thao t¸c nµo ®ã. NÕu nh mét thao t¸c kh«ng thÓ m« t¶ qua mét c©u lÖnh ®¬n mµ cÇn ph¶i kÕt hîp nhiÒu c©u lÖnh ®¬n ghÐp l¹i th× c¸c c©u lÖnh ghÐp nµy ®îc ®a vÒ mét c©u lÖnh ®¬n b»ng c¸ch ®Æt tËp hîp c¸c lÖnh ®¬n ®ã trong cÆp tõ kho¸ Begin ... End. b. C©u lÖnh g¸n: Dïng ®Ó g¸n gi¸ trÞ hay kÕt qu¶ cña mét biÓu thøc hay néi dung cña mét biÕn cho mét biÕn. := ; := ; := ; c. Lêi gäi mét thñ tôc: C¸c thñ tôc (Procedure) lµ c¸c ch¬ng tr×nh con. C¸c ch¬ng tr×nh con nµy do Turbo t¹o ra hay do ngêi lËp tr×nh t¹o ra víi môc ®Ých chØ thÞ m¸y tÝnh thùc hiÖn mét c«ng viÖc nµo ®ã. C¸c thñ tôc chuÈn ®îc Turbo ®Æt trong c¸c Unit, c¸c thñ tôc do ngêi lËp tr×nh t¹o ra ®îc ®Æt trong ch¬ng tr×nh hoÆc trong c¸c Unit do ngêi dïng ®Þnh nghÜa. C¸c thñ tôc nµy cã mét tªn. Trong ch¬ng tr×nh khi cÇn ®Ïn chøc n¨ng nµo t¬ng øng víi thñ tôc th× tªn thñ tôc ®Æt trong ch¬ng tr×nh coi nhi lµ mét lÖnh. Tuú theo yªu cÇu cña thñ tôc mµ lÖn ®ã cã tham ®èi hay kh«ng. C¸c tham ®èi ®îc ®Æt trong dÊu (). VÝ dô: Writeln lµ mét thñ tôc trong Unit System cña Turbo Pascal lµm chøc n¨ng xuÊt c¸c tham ®èi ra mµn h×nh. Trong ch¬ng tr×nh cÇn chøc n¨ng nµy ta gäi thñ tôc: Writeln(‘Tong so lµ: ’,S); ‘Tong so lµ: ‘ vµ S lµ c¸c tham ®èi cña lÖnh Writeln nh vËy Writeln(‘Tong so lµ: ’,S); lµ mét c©u lÖnh ®¬n, ®ã lµ lêi gäi mét thñ tôc. Trang 15
- C¸c thñ tôc do ngêi lËp tr×nh t¹o ra ph¶i khai b¸o néi dung cña thñ tôc ®ã trong ch¬ng tr×nh hay khai b¸o tªn. NÕu c¸c thñ tôc ®ã ®îc ®Æt trong Unit do ng êi lËp tr×nh lµ b¹n t¹o ra th× b¹n ph¶i khai b¸o nh sau: Unit Ctr, MyUnit; d. C©u lÖnh ®iÒu kiÖn: C©u lÖnh ®iÒu kiÖn lµ c©u lÖnh lµm cho ch¬ng tr×nh: Chän lùa thùc hiÖn mét trong hai c©u lÖnh Thùc hiÖn hay kh«ng mét c©u lÖnh tuú thuéc vµo ®iÒu kiÖn b¹n ®a ra cã tho¶ m∙n hay kh«ng. * CÊu tróc: + LÖnh ®iÒu kiÖn thiÕu: if then ; Sö dông khi chØ thùc hiÖn mét lÖnh ®¬n if then Begin ; ; ...... End; Sö dông khi thùc hiÖn nhiÒu lÖnh ®¬n. + LÖnh ®iÒu kiÖn ®ñ: if then Else ; Sö dông khi chØ thùc hiÖn mét lÖnh ®¬n if then Begin ; ; ...... Trang 16
- End Else Begin ; ; ...... End; Sö dông khi thùc hiÖn nhiÒu lÖnh ®¬n. Ghi chó: Tríc Else kh«ng cã dÊu chÊm phÈy (;). Trong ®ã: * cã thÓ: Mét biÕn kiÓu Boolean: VÝ dô: NhËp hai sè, t×m sè nhá nhÊt. ThuËt to¸n ®Ó gi¶i cã thÓ nh sau: + NhËp sè thø nhÊt; NhËp sè thø hai. + So s¸nh sè thø nhÊt vµ sè thø hai, nÕu sè thø nhÊt
- Begin ... End; lµ mét c©u lÖnh ®¬n (cã thÓ gäi lµ nhãm c¸c c©u lÖnh thµnh mét c©u lÖnh). e. C©u lÖnh rÏ nh¸nh. C©u lÖnh rÏ nh¸nh lµ c©u lÖnh lµm ch¬ng tr×nh thùc hiÖn viÖc chän lùa mét trong nhiÒu hµnh ®éng ®Ó thùc hiÖn. C©u tróc: Case of :; :; .... Else ; End; Trong ®ã: BiÕn, biÓu thøc lµ mét biÕn hay biÓu thøccho ra d÷ liÖu rêi r¹c, ®Õm ®îc nh kiÓu Nguyªn(Integer), Char, kiÓu liÖt kª. KiÓu Real kh«ng dïng lµm biÕn ®iÒu khiÓn rÏ nh¸nh. Gi¸ trÞ ph¶i cïng kiÓu víi biÕn, c¸c gi¸ trÞ trong c©u lÖnh kh«ng ®îc trïng nhau, c¸c gi¸ trÞ trong mét trêng hîp c¸ch nhau bëi dÊu phÈy (,). VÝ dô: Var Ch:char; Begin Write(‘Nhan mot phim:’); Readln(ch); Case Ch of ‘A’..’Z’,’a’..’z’:Writeln(‘ban nhap mot ky tu’); ‘0’..’9’: Writeln(‘ban nhap mot so’); else Writeln(‘Mot ky tu dac biet’); Readln; End. f. C©u lÖnh lÆp For: Trang 18
- Trong ch¬ng tr×nh lÖnh lÆp For lµm ch¬ng tr×nh thùc hiÖn lÆp l¹i mét sè lÇn nhÊt ®Þnh. CÊu tróc: For := to do ; For := Downto do ; C©u lÖnh For chØ thÞ m¸y tÝnh thùc hiÖn mét sè lÇn nhÊt ®Þnh tõ gi¸ trÞ ®Çu ®Õn khi vît qua gi¸ trÞ cuèi . Sau mçi lÇn thùc hiÖn th× sÏ ®îc t¨ng hoÆc gi¶m mét ®¬n vÞ. VÝ dô: LiÖt kª c¸c ký tù trong b¶ng m∙ ACSII Var i:byte; Begin For i:=0 to 255 do Write(i:6,Chr(i):2); Readln; End. g. Vßng lÆp Repeat C©u lªnh lÆp Repeat ... Until lµ lÖnh yªu cÇu ch¬ng tr×nh lÆp l¹i nhiÒu lÇn mét hµnh ®éng cho ®Õn khi tho¶ m∙n mét ®iÒu kiÖn ®Ó tho¸t ra khái vßng lÆp. CÊu tróc: Repeat ; ; .... Until ; LÖnh Repeat ... until lÆp l¹ c¸c lÖnh cho tíi khi cho kÕt qu¶ True. VÝ dô: TÝnh giai thõa Var N,i:Integer; GT:LongInt; Begin Writeln(Tinh giai thua cua mot so nguyen’); Write(‘Nhap N= voi N
- GT:=1; i:=1; Repeat GT:=GT*i; i:=i+1; Until i>N; Writeln(‘N =’,GT); Readln; End. Toµn bé cÊu tróc repeat ... Until lµ mét c©u lÖnh ®¬n do ®ã b¹n cã thÓ sö dông Repeat lµ mét c©u lÖnh ®¬n cña c©u lÖnh kh¸c. HoÆc b¹n cã thÓ sö dông nhiÒu c©u kÖnh Repeat ... Until lång nhau. g. LÖnh lÆp While ... do CÊu tróc: While do ; C©u lÖnh While lÆp l¹i cho tíi khi nhËn gi¸ trÞ sai (False). B¶n th©n lµ mét bíc kiÓm tra tríc khi vµo vßng lÆp While. NÕu tho¶ m∙n th× ®îc thùc hiÖn nÕu kh«ng tho¶ m∙n sÏ bá qua vßng lÆp nµy. Kh¸c víi vßng lÆp Repeat ... Until lµ c¸c lÖnh trong nã Ýt nhÊt còng ®îc thùc hiÖn mét lÇn. * Vßng lÆp v« tËn vµ c¸ch tho¸t khái nã: Vßng lÆp While do sÏ lÆp l¹i v« tËn khi lu«ng b»ng True. CÊu tróc: While True do ; Vßng lÆp Repeat ... Until lÆp l¹i v« tËn khi lu«ng sai (False). CÊu tróc: Repeat ... Until False; Trong ch¬ng tr×nh khi muèn tho¸t ra khái vßng lÆp v« tËn b¹n cã thÓ kÕt hîp víi c©u lÖnh ®iÒu kiÑen ®Ó kiÓm tra khi nµo th× cho phÐp tho¸t ra khái vßng lÆp v« tËn. Thêng sö dông if then exit; hoÆc if then Halt; Trang 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình bài tập Pascal
144 p | 4831 | 1885
-
PHỤ CHƯƠNG ÐỒ HỌA TRONG TURBO PASCAL
20 p | 408 | 113
-
Tài liệu Pascal - Nguyễn Hoàng Cương
23 p | 275 | 69
-
Bài tập pascal : Tóm tắt lý thuyết và bài tập part 3
5 p | 186 | 64
-
Sáng tạo trong thuật toán và lập trình với ngôn ngữ Pascal và C# Tập 2 - Chương 2
37 p | 363 | 50
-
Lập trình bằng Turbo Pascal part 6
28 p | 114 | 37
-
Kiểu dữ liệu xâu (tiết 2/2)
12 p | 139 | 22
-
Bài giảng Ngôn ngữ lập trình Pascal: Chương 9 - Chương trình con - Thủ tục và hàm (Procedure và Function)
23 p | 200 | 18
-
Ngôn ngữ lập trình c&c++ ( Phạm Hồng Thái) P26
7 p | 99 | 16
-
Chương 9: Hàm
8 p | 84 | 9
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn