intTypePromotion=1

Các hàm và thủ tục trong Pascal

Chia sẻ: BUI DUC THUAN | Ngày: | Loại File: DOC | Số trang:38

0
237
lượt xem
41
download

Các hàm và thủ tục trong Pascal

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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ớ.

Chủ đề:
Lưu

Nội dung Text: Các hàm và thủ tục trong Pascal

  1. 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
  2. ­ 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
  3. 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
  4. ­ 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
  5. 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
  6. ­ 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
  7. ­ 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
  8. 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
  9. ,   : ;   : ; 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
  10. * 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:=x­r. (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
  11. Extended 3.4e­4932 ... 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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 
  18. 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
  19. 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
  20. 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
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2