22
 12/8/2014 Nouv el le page 4 ht tp: //v i etsciences2.free.f r/gi aok hoa/tinhoc/cobanv engonngul aptrinhpascal.ht m 1/22 Cơ bn vngôn nglp trình Pascal Gs. Lê Anh Tun I. GII THIU. II. CÁC PHN TCƠ BN CA NGÔN NGPASCAL. 1. BKÝ T. 2. Tkhóa. 3. Tên chun. 4. Danh hiu tđặt. III. CU TRÚC MT CHƯƠNG TRÌNH PASCAL.  IV. CÁC KIU DLIU CƠ S: INTEGER, REAL, BOOLEAN, CHAR. 1. Khái ni m. 2. Kiu snguyên (I nteger t ype). 3. Kiu sthc (Real type). 4. Kiu logic (Boolean type). 5. Ki u ký t(Char type). V. CÁC KHAI BÁO HNG, B IN , KIU, BIU THC, .... 1. Hn g. 2. Bi ến. 3. Kiu. 4. Biu thc. VI. CÁC THTC XUT/NHP. 1. Câu lnh. 2. Cu trúc tun t. 3. Cu trúc rnhánh. 4. Cu trúc lp. BÀI ÐC THÊM NHP & XUT DLIU TRONG TURBO PASCAL.  I. GII THIU Pascal là tên ca mt trong các ngôn ngl p trình cp cao thông dng. Ngôn ngl p trình Pascal được giáo s ư  Ni kl au s Wirth tr ườn g Ð i hc Kth ut Zu ri ch ( Th y sĩ ) th i ết kế v à công bvào n ăm 1970. Nikl au s Wi rth đặt tên ch o ng ôn ngnày là Pascal để t ưởng nhđến nhà Toán hc và Tri ết hc Pháp thế k17 là Blaise Pascal, người đã phát minh ra mt máy tính cơ khí đơn gi n đầu tiên ca con người.  Ngôn n gPascal được dùn g h i n n ay có n h i u đi m kh ác bi t v i ch un Pascal ng uy ên th y ca Giáo sư Wirth. Tù y theo quc gia hoc công ty đã phát tri n cho ra đời các chương trình biên dch ngôn ngPascal như: · ISO PASC AL (Intern ation al Standards Organi zati on) ca C hâu Âu · ANSI PASCAL (American National Standards Institute) ca M· TURBO PASCAL ca hãng BORLAND (M) · IBM PASCAL ca hãng Microsoft (M)

Cơ bản về ngôn ngữ pascal

Embed Size (px)

DESCRIPTION

những điều cơ bản nhất về lập trình pascal

Citation preview

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 1/22

    C bn v ngn ng lp trnh Pascal

    Gs. L Anh Tun

    I. GII THIU.

    II. CC PHN T C BN CA NGN NG PASCAL.

    1. B K T.

    2. T kha.

    3. Tn chun.

    4. Danh hiu t t.

    III. CU TRC MT CHNG TRNH PASCAL.

    IV. CC KIU D LIU C S : INTEGER, REAL, BOOLEAN, CHAR.

    1. Khi nim.

    2. Kiu s nguyn (Integer type).

    3. Kiu s thc (Real type).

    4. Kiu logic (Boolean type).

    5. Kiu k t (Char type).

    V. CC KHAI BO HNG, BIN, KIU, BIU THC, ....

    1. Hng.

    2. Bin.

    3. Kiu.

    4. Biu thc.

    VI. CC TH TC XUT/NHP.

    1. Cu lnh.

    2. Cu trc tun t.

    3. Cu trc r nhnh.

    4. Cu trc lp.

    BI C THM NHP & XUT D LIU TRONG TURBO PASCAL.

    I. GII THIU

    Pascal l tn ca mt trong cc ngn ng lp trnh cp cao thng dng. Ngn ng lp trnh Pascal c gio sNiklaus Wirth trng i hc K thut Zurich (Thy s) thit k v cng b vo nm 1970. Niklaus Wirth t tn cho ngn

    ng ny l Pascal tng nh n nh Ton hc v Trit hc Php th k 17 l Blaise Pascal, ngi pht minh ra mt

    my tnh c kh n gin u tin ca con ngi.

    Ngn ng Pascal c dng hin nay c nhiu im khc bit vi chun Pascal nguyn thy ca Gio s Wirth. Ty

    theo quc gia hoc cng ty pht trin cho ra i cc chng trnh bin dch ngn ng Pascal nh:

    ISO PASCAL (International Standards Organization) ca Chu u

    ANSI PASCAL (American National Standards Institute) ca M

    TURBO PASCAL ca hng BORLAND (M)

    IBM PASCAL ca hng Microsoft (M)

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 2/22

    v.v...

    n nay, ngn ng Pascal pht trin n phin bn Turbo Pascal Version 7. Cc din gii v v d trong gio trnhny ch yu s dng chng trnh Turbo Pascal 5.5 - 7.0, hin ang c s dng rng ri Vit Nam.

    II. CC PHN T C BN CA NGN NG PASCAL

    1. B k t

    - B 26 ch Latin:

    Ch in: A, B, C, ..., X, Y, Z

    Ch thng: a, b, c, ..., x, y, z

    - B ch s thp phn: 0, 1, 2, 3, ..., 8, 9

    - K t gch ni di: _

    - Cc k hiu ton hc: +, -, *, /, =, , (, ), [, }

    2. T kha

    L cc t ring ca Pascal, c ng ngha c xc nh, khng c dng n vo cc vic khc hoc t tn mitrng vi cc t kha.

    - T kha chung:

    PROGRAM, BEGIN, END, PROCEDURE, FUNCTION

    - T kha khai bo:

    CONST, VAR, TYPE, ARRAY, STRING, RECORD, SET, FILE, LABEL

    - T kha ca lnh la chn:

    IF ... THEN ... ELSE, CASE ... OF

    - T kha ca lnh lp:

    FOR... TO... DO, FOR... DOWNTO... DO, WHILE... DO,

    REPEAT... UNTIL

    - T kha iu khin:

    WITH, GOTO, EXIT, HALT

    - T kha ton t:

    AND, OR, NOT, IN, DIV, MOD

    3. Tn chun

    Tn chun l tn c nh ngha sn trong Pascal, nhng ngi ta c th nh ngha li nu mun. Trong Pascal tac cc tn chun sau y:

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 3/22

    Boolean, Char, Integer, Word, Byte, Real, Text

    False, True, MaxInt

    Abs, Arctan, Chr, Cos, Sin, Eof, Eoln

    Exp, Ln, Odd, Ord

    Round, Trunc, Sqr, Pred, Succ

    Dispose, New, Get, Put, Read, Readln,

    Write, Writeln

    Reset, Rewrite

    4. Danh hiu t t

    Trong Pascal t tn cho cc bin, hng, kiu, chng trnh con ta dng cc danh hiu (identifier). Danh hiu

    ca Pascal c bt u bng mt ch ci, sau c th l cc ch ci, ch s hay l du ni, khng c c khongtrng v di ti a cho php l 127.

    V d 6.1: Sau y l cc danh hiu: x; S1; Delta; PT_bac_2

    Pascal khng phn bit ch thng v ch hoa trong mt danh hiu.

    V d 6.2: aa v AA l mt; XyZ_aBc v xyZ_AbC l mt

    Khi vit chng trnh ta nn t cc danh hiu sao cho chng ni ln cc ngha ca i tng m chng biu th.iu ny gip chng ta vit chng trnh d dng v ngi khc cng d hiu ni dung chng trnh.

    III. CU TRC MT CHNG TRNH PASCAL

    Hnh 6.1: S cu trc chng trnh Pascal

    V d 6.3:

    PROGRAM Hello; { Dng tiu }

    USES Crt; { Li gi s dng cc n v chng trnh }

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 4/22

    VAR Name : string; { Khai bo bin }

    PROCEDURE Input; { C th c nhiu Procedure v Function }

    Begin

    ClrScr; { Lnh xa mn hnh }

    Write(' Hello ! What is your name ?... ');Readln(Name);

    End;

    BEGIN { Thn chng trnh chnh }

    Input;

    Writeln (' Welcome to you, , Name') ;

    Writeln (' Today, we study PASCAL PROGRAMMING ... ');

    Readln;

    END.

    Mt chng trnh Pascal c cc phn:

    * Phn tiu :

    Phn ny bt u bng t kha Program ri tip n l tn ca chng trnh v chm dt bng du chm phy (;)

    Tn chng trnh phi c t theo ng qui cch ca danh hiu t t. Phn tiu c hay khng cng c.

    * Phn khai bo d liu:

    Trc khi s dng bin no phi khai bo bin , ngha l xc nh r xem bin thuc kiu d liu no. Mt

    chng trnh Pascal c th c mt s hoc tt c cc khai bo d liu sau:

    CONST : khai bo hng

    ...

    TYPE : nh ngha kiu d liu mi

    ...

    VAR : khai bo cc bin

    ...

    * Phn khai bo chng trnh con:

    Phn ny m t mt nhm lnh c t tn chung l mt chng trnh con khi thn chng trnh chnh gi n th

    c nhm lnh c thi hnh.

    Phn ny c th c hoc khng ty theo nhu cu.

    * Phn thn chng trnh:

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 5/22

    Phn thn chng trnh l phn quan trng nht v bt buc phi c, phn ny lun nm gia 2 t kho l BEGIN vEND. gia l lnh m cc chng trnh chnh cn thc hin. Sau t kha END l du chm (.) bo kt thc chng

    trnh.

    * Du chm phy (;):

    Du ; dng ngn cch cc cu lnh ca Pascal v khng th thiu c.

    * Li ch thch:

    Li ch thch dng ch gii cho ngi s dng chng trnh nh nhm trao i thng tin gia ngi v ngi, my

    tnh s khng n li ch thch ny. Li ch thch nm gia k hiu: { } hoc (* *)

    IV. CC KIU D LIU C S: INTEGER, REAL, BOOLEAN, CHAR

    1. Khi nim

    D liu (data) l tt c nhng g m my tnh phi x l.

    Theo Niklaus Wirth:

    CHNG TRNH = THUT TON + CU TRC D LIU

    Mt kiu d liu (data type) l mt qui nh v hnh dng, cu trc v gi tr ca d liu cng nh cch biu din v

    cch x l d liu.

    Trong Pascal cc kiu d liu gm cc loi sau:

    - Kiu n gin (Simple type): bao gm kiu s nguyn (Integer), kiu s thc (Real), kiu logic (Boolean), kiu kt (Char).

    - Kiu c cu trc (Structure type): bao gm mng (Array), chui (String), bn ghi (Record), tp hp (Set), tp tin

    (File).

    - Kiu ch im (pointer):

    Trong chng ny, chng ta ch xt cc kiu d liu n gin.

    2. Kiu s nguyn (Integer type)

    a. Kiu s nguyn thuc Z cha trong Turbo Pascal

    c nh ngha vi cc t kha sau:

    T KHA S BYTE PHM VI

    BYTE 1 0 .. 255

    SHORTINT 1 - 128 .. 127

    INTEGER 2 - 32768 .. + 32767

    WORD 2 0 .. 65535

    LONGINT 4 - 2147483648 .. 2147483647

    b. Cc php ton s hc i vi s nguyn

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 6/22

    K HIU NGHA

    + Cng

    - Tr

    * Nhn

    / Chia cho kt qu l s thc

    DIV Chia ly phn nguyn

    MOD Chia ly phn d

    SUCC (n) n + 1

    PRED (n) n - 1

    ODD (n) TRUE nu n l

    v FALSE nu n chn

    3. Kiu s thc (Real type)

    Turbo Pascal, kiu s thc thuc tp hp R cha trong 6 bytes, c nh ngha vi t kha REAL:

    R =([2.9 x 10-39 , 1.7 x 1038 ]

    Hay vit theo dng s khoa hc: R = ( [2.9E-39, 1.7E38]

    S thc c th vit theo kiu c du chm thp phn bnh thng hoc vit theo kiu thp phn c phn m v phnnh tr.

    Cc php ton s hc c bn +, -, * , /d nhin c s dng trong kiu real.

    Bng di y l cc hm s hc cho kiu s thc:

    K HIU NGHA

    ABS (x) |x| : ly gi tr tuyt i ca s x

    SQR (x) x2 : ly bnh phng tr s x

    SQRT(x) : ly cn bc 2 cua tr s x

    SIN(x) sin (x) : ly sin ca x

    COS (x) cos (x) : ly cos ca x

    ARCTAN (x) arctang (x)

    LN (x) ln x : ly logarit nepe ca tr x (e ( 2.71828)

    EXP (x) ex

    TRUNC (x) ly phn nguyn ln nht khng vt qu tr s x

    ROUND (x) lm trn gi tr ca x, ly s nguyn gn x nht

    4. Kiu logic (Boolean)

    Mt d liu thuc kiu BOOLEAN l mt i lng c cha trong 1 byte Turbo Pascal v ch c th nhn cmt trong hai ga tr logic l TRUE (ng) v FALSE (sai).

    Qui c: TRUE > FALSE

    Cc php ton trn kiu Boolean:

    A B NOT A A AND B A OR B A XOR B

    TRUE TRUE FALSE TRUE TRUE FALSE

    TRUE FALSE FALSE FALSE TRUE TRUE

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 7/22

    FALSE TRUE TRUE FALSE TRUE TRUE

    FALSE FALSE TRUE FALSE FALSE FALSE

    Nhn xt:

    Php AND (v) ch cho kt qu l TRUE khi c 2 ton hng l TRUE

    Php OR (hoc) ch cho kt qu l FALSE khi c 2 ton hng l FALSE

    Php XOR (hoc trit tiu) lun cho kt qu l TRUE khi c 2 ton hng l khc nhau v ngc li.

    Cc php ton quan h cho kt qu kiu Boolean:

    K HIU NGHA

    < > khc nhau

    = bng nhau

    > ln hn

    < nh hn

    > = ln hn hoc bng

    < = nh hn hoc bng

    5. Kiu k t (Char type)

    Tt c cc d liu vit dng ch k t c khai bo bi t kha CHAR.

    Mt k t c vit trong hai du nhy n ( ). tin trao i thng tin cn phi sp xp, nh s cc k t, micch sp xp nh vy gi l bng m. Bng m thng dng hin nay l bng m ASCII (xem li chng 3).

    thc hin cc php ton s hc v so snh, ta da vo gi tr s th t m ASCII ca tng k t, chng hn: 'A'< 'a' v s th t m ASCII tng ng l 65 v 97.

    Trong Turbo Pascal mi k t c cha trong 1 byte.

    Cc hm chun lin quan n kiu k t:

    K HIU NGHA

    ORD(x) Cho s th t ca k t x trong bng m

    CHR(n) hay #n Cho k t c s th t l n

    PRED(x) Cho k t ng trc x

    SUCC(x) Cho k t ng sau x

    V. CC KHAI BO HNG, BIN, KIU, BIU THC, ...

    1. Hng (constant)

    a. nh ngha

    Hng l mt i lng c gi tr khng i trong qu trnh chy chng trnh. Ta dng tn hng chng trnh c

    r rng v d sa i.

    b. Cch khai bo

    = ; CONST

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 8/22

    V d 6.4: CONST

    Siso = 100;

    X = xxx ;

    2. Bin (variable)

    a. nh ngha

    Bin l mt cu trc ghi nh c tn ( l tn bin hay danh hiu ca bin).

    Bin ghi nh mt d liu no gi l gi tr (value) ca bin. Gi tr ca bin c th c bin i trong thi gian sdng bin.

    S truy xut ca bin ngha l c gi tr hay thay i gi tr ca bin c thc hin thng qua tn bin.

    V d 6.5: Readln (x) ;

    Writeln (x) ;

    x := 9 ;

    Bin l mt cu trc ghi nh d liu v vy n phi tun theo qui nh ca kiu d liu : mt bin phi thuc mt kiud liu nht nh.

    b. Cch khai bo

    : ;

    V d 6.6: VAR

    a : Real ;

    b, c : Integer ;

    TEN : String [20]

    X : Boolean ;

    Chon : Char ;

    Cn khai bo cc bin trc khi s dng chng trong chng trnh. Khai bo mt bin l khai bo s tn ti ca bin

    v cho bit n thuc kiu g.

    3. Kiu (Type)

    a. nh ngha

    Ngoi cc kiu nh sn, Pascal cn cho php ta nh ngha cc kiu d liu khc t cc kiu cn bn theo qui tc

    xy dng ca Pascal.

    b. Cch khai bo

    VAR

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 9/22

    TYPE

    = ;

    V d 6.7:

    TYPE

    SoNguyen = Integer ;

    Diem = Real;

    Tuoi = 1 .. 100 ;

    Color = (Red, Blue, Green) ;

    Thu = (Sun, Mon, Tue, Wed, Thu, Fri, Sat) ;

    v khi khai bo kiu g th ta c quyn s dng khai bo bin nh v d sau:

    V d 6.8: VAR

    i, j : SoNguyen ;

    Dtb : Diem ;

    T : tuoi ;

    Mau : Color ;

    Ngay_hoc : Thu;

    4. Biu thc (Expression)

    a. nh ngha

    Mt biu thc l mt cng thc tnh ton bao gm cc php ton, hng, bin, hm v cc du ngoc.

    V d 6.9: 5 + A * SQRT(B) / SIN(X)

    (A AND B) OR C

    b. Th t u tin

    Khi tnh gi tr ca mt biu thc, ngn ng Pascal qui c th t u tin ca cc php ton t cao n thp nhsau:

    Mc u tin: Cc php ton:

    1. Biu thc trong ngoc n ( )

    2. Php gi hm

    3. Not, -

    4. *, /, DIV, MOD, AND

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 10/22

    5. +, -, OR, XOR

    6. =, , =, , IN

    V d 6.10: (4+5)/3 + 6 - (sin((/2)+3)*2 = (9)/3 + 6 - (1+3)*2 = 3 + 6 - 8 = 1

    c. Qui c tnh th t u tin

    Khi tnh mt biu thc c 3 qui tc v th t u tin nh sau:

    Qui tc 1 : Cc php ton no c u tin cao hn s c tnh trc.

    Qui tc 2 : Trong cc php ton c cng th t u tin th s tnh ton s c thc hin t tri sang phi.

    Qui tc 3 : Phn trong ngoc t trong ra ngoi c tnh ton tr thnh mt gi tr n.

    d. Kiu ca biu thc

    L kiu ca kt qu sau khi tnh biu thc.

    V d 6.11: Biu thc sau c gi l biu thc Boolean:

    not (('a'>'c') and ('c'>'C')) or ('B'='b') c gi tr TRUE

    VI. CC TH TC XUT/NHP

    1. Cu lnh (statement)

    a. Trong mt chng trnh Pascal, sau phn m t d liu l phn m t cc cu lnh. Cc cu lnh c

    nhim v xc nh cc cng vic m my tnh phi thc hin x l cc d liu c m t v khai bo.

    b. Cu lnh c chia thnh cu lnh n gin v cu lnh c cu trc.

    (xem phn bi c thm)

    - Cu lnh n gin

    + Vo d liu : Read, Readln

    + Ra d liu : Write, Writeln

    + Lnh gn : :=

    + Li gi chng trnh con (gi trc tip tn ca chng trnh con)

    + X l tp tin : RESET, REWRITE, ASSIGN ...

    - Cu lnh c cu trc

    + Lnh ghp : BEGIN .. END

    + Lnh chn : IF .. THEN .. ELSE

    CASE .. OF .

    + Lnh lp : FOR .. TO .. DO

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 11/22

    REPEAT .. UNTIL

    WHILE .. DO

    c. Cc cu lnh phi c ngn cch vi nhau bi du chm phy ( ; ) v Cc cu lnh c th vit trn mt dng hay

    nhiu dng.

    2. Cu trc tun t

    a. Lnh gn (Assignment statement)

    Mt trong cc lnh n gin v c bn nht ca Pascal l lnh gn. Mc ch ca lnh ny l gn cho mt bin khai

    bo mt gi tr no cng kiu vi bin.

    * Cch vit:

    := ;

    V d 6.12: Khi khai bo

    VAR

    c : Char ;

    i,j : Integer ;

    x, y : Real ;

    p, q : Boolean ;

    th ta c th c cc php gn sau :

    c := A ;

    c := Chr(90) ;

    i := (35+7)*2 mod 4 ;

    i := i div 7 ;

    x := 0.5 ;

    x := i + 1 ;

    q := i > 2*j +1 ;

    q := not p ;

    * ngha:

    Bin v cc pht biu gn l cc khi nim quan trng ca mt h cc ngn ng lp trnh m Pascal l mt i din

    tiu biu. Chng phn nh cch thc hot ng ca my tnh hin nay, l:

    - Lu tr cc gi tr khc nhau vo mt nh ti nhng thi im khc nhau.

    - Mt qu trnh tnh ton c th coi nh l mt qu trnh lm thay i gi tr ca mt (hay mt s) nh no , cho

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 12/22

    n khi t c gi tr cn tm.

    b. Lnh ghp (Compound statement)

    Mt nhm cu lnh n c t gia 2 ch BEGIN v END s to thnh mt cu lnh ghp.

    Trong Pascal ta c th t cc lnh ghp con trong cc lnh ghp ln hn bao ngoi ca n v c th hiu tng t

    nh cu trc ngoc n ( ) trong cc biu thc ton hc.

    Hnh 6.2: S cu trc BEGIN .. END;

    hnh minh ha trn ta d thy cc nhm lnh thnh tng khi (block). Mt khi lnh bt u bng BEGIN v chmdt END; . Trong mt khi lnh cng c th c cc khi lnh con nm trong n. Mt khi chng trnh thng c dng

    nhm t 2 lnh tr ln to thnh mt ca cc lnh c cu trc, ta c th gp khi nim ny trong nhiu v

    d cc phn sau.

    3. Cu trc r nhnh

    a. Lnh IF .. THEN .. v Lnh IF .. THEN .. ELSE..

    * Lu din t cc lnh v ngha cch vit:

    Hnh 6. 3: Lnh IF THEN ;

    * S :

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 13/22

    Hnh 6. 4: Lnh IF .. THEN .. ELSE ..;

    Ch :

    - iu kin l mt biu thc Boolean.

    - Nu sau THEN hoc ELSE c nhiu hn mt lnh th ta phi gi li trong BEGIN .. END;

    - Ton b lnh IF .. THEN .. ELSE xem nh 1 lnh n.

    V d 6.13: Tnh cn bc 2 ca mt s

    PROGRAM Tinh_can_bac_hai ;

    VAR

    a : Real ;

    BEGIN

    Write ( Nhp s a = ) ;

    Readln(a) ;

    IF a < 0 THEN

    Write (' a : 10 : 2 , l s m nn khng ly cn c !!! ')

    ELSE

    Writeln (' Cn s bc 2 ca , a : 2 : 2 , la , SQRT(a) :10 : 3 ');

    Writeln (' Nhn ENTER thot ... ') ;

    Readln; {Dng mn hnh xem kt qu}

    END.

    Ghi ch:

    Trong chng trnh trn, a ta thy c dng a :m :n vi ngha m l s nh khong m phn nguyn ca a s chim ch

    v n l khong cho s tr phn thp phn ca a.

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 14/22

    b. Lnh CASE .. OF

    * Lu biu din:

    Hnh 6.5: Lu lnh CASE .. OF

    * Cch vit, ngha:

    Cch vit ngha

    CASE OF Xt gi tr ca biu thc chn

    GT1 : Cng vic 1 ; Nu c gi tr 1 (GT1) th thi hnh Cng vic 1

    ....................... ...................................

    GTi : Cng vic i ; Nu c gi tr i (GT i) th thi hnh Cng vic i

    ....................... ....................................

    ELSE Cng vic 0 ; Nu khng c gi tr no tha th thc hin

    Cng vic 0

    END;

    Ghi ch:

    - Lnh CASE .. OF c th khng c ELSE

    - Biu thc chn l kiu ri rc nh Integer, Char, khng chn kiu Real

    - Nu mun ng vi nhiu gi tr khc nhau ca biu thc chn vn thi hnh mt lnh th gi tr c th vit trn cng

    mt hng cch nhau bi du phy (,) : Gi tr k1, k2, ..., kp : Lnh k ;

    V d 6.14: PROGRAM Chon_mau ;

    VAR color : char ;

    BEGIN

    write (' Chn mu theo mt trong 3 k t u l R / W / B ') ;

    readln ( color) ;

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 15/22

    CASE color OF

    'R' ,'r' : write (' RED = mu ') ;

    'W', 'w' : write (' WHITE = mu trng ') ;

    'B' , 'b' : write (' BLUE = mu xanh dng ') ;

    END ;

    Readln;

    END.

    4. Cu trc lp

    a. Lnh FOR

    Cu trc FOR cho php lp li nhiu ln mt dy lnh. S ln lp li dy lnh bit trc. Pht biu FOR c 2

    dng:

    FOR .. TO .. DO m ln

    FOR .. DOWNTO ..DO m xung

    * C php tng qut l:

    FOR := TO/DOWNTO DO ;

    * Lu :

    Hnh 6. 6: Lu pht biu FOR .. TO .. DO

    Ch : Tr u, tr cui l cc bin hoc hng v bin m phi l kiu ri rc.

    V d 6.15: Chng trnh in mt dy s t 0 n 9

    PROGRAM Day_So ;

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 16/22

    VAR

    i : Integer ;

    BEGIN

    FOR i := 0 TO 9 DO Write (i) ;

    Readln ;

    END.

    b. Lnh WHILE .. DO

    * Lu ca lnh

    Hnh 6. 7: Lu cu trc WHILE .. DO

    * ngha lu :

    Trong khi m iu kin cn ng th c thc hin Cng vic, ri quay tr v kim tra iu kin li. Vng lp

    c tip tc, n khi iu kin t ra khng cn ng na th i ti thc hin lnh tip theo

    WHILE DO

    Hnh 6.8: S c php lnh WHILE .. DO

    Ghi ch:

    iu kin trong cu trc lp WHILE .. DO l mt biu thc logic kiu Boolean ch c 2 gi tr l ng (True) hoc Sai(False)

    Nu iu kin ng th chng trnh s chy trong cu trc WHILE .. DO.

    Sau mi ln lp, chng trnh tr li kim tra iu kin. Ty theo biu thc logic ca iu kin l ng hay Sai th chngtrnh s thc hin Cng vic tng ng.

    Nu Sai th chuyn xung di cu trc WHILE .. DO

    V d 6.16: Chng trnh tnh trung bnh n s: x1 + x2 + x3 + ... + xn

    Program Trung_binh_Day_So ;

    * C php

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 17/22

    VAR

    n, count : Integer ;

    x, sum, average : real ;

    BEGIN

    count := 1 ;

    sum := 0 ;

    Write (' Nhp n = ') ;

    readln (n) ;

    WHILE count < n+1 DO

    BEGIN

    Write (' Nhp gi tr th' , count,' ca x = ' ) ;

    readln (x) ;

    sum := sum + x ;

    count := count + 1 ;

    END ;

    average := sum/n ;

    Writeln (' Trung bnh l =' , average : 10 : 3 ) ;

    Writeln (' Nhn Enter thot ...' ) ;

    Readln ;

    END.

    c. Lnh REPEAT .. UNTIL

    Cu lnh REPEAT .. UNTIL dng trong cc trng hp khi bin iu khin khng c kiu ri rc v c bit trongcc trng hp s ln lp khng bit trc.

    Hnh 6.9: Lu cu trc ca REPEAT .. UNTIL

    * ngha cu lnh:

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 18/22

    Nu iu kin logic l Sai (False) th lp li lnh cho n khi iu kin ng th mi thot ra khi cu trc REPEAT

    .. UNTIL.

    Nu c nhiu cu lnh th mi lnh ngn cch nhau bng du chm phy (;)Cng vic ca REPEAT v UNTIL khngnht thit phi dng lnh ghp nhm t 2 lnh n tr ln thnh cng vic.

    Hnh 6.10: S c php REPEAT .. UNTIL

    V d 6.17: Vi bi ton trung bnh cng mt dy s v d trc c th vit theo cu trc REPEAT .. UNTIL nh sau:

    PROGRAM Trung_binh_Day_So ;

    VAR n, count : Integer ;

    x, sum : real ;

    BEGIN

    count := 1 ;

    sum := 0 ;

    Write := (' Nhp n = ') ; readln (n) ;

    REPEAT

    Write (' Nhp gi tr th' , count, 'ca x = ') ;

    readln(x) ;

    sum := sum + x ;

    count := count + 1 ;

    UNTIL count > n ;

    Writeln (' Trung bnh l =' , sum/n : 8 :2 ) ;

    Readln ;

    END.

    Ghi ch:

    So snh 2 cch vit WHILE .. DO v REPEAT .. UNTIL ta thy c s khc bit:

    - Trong cu trc WHILE .. DO th c kim tra trc, nu tha th mi thc hin .

    - Ngc li, trong cu trc REPEAT .. UNTIL th s c thc thi trc sau mi kim tra , nu

    khng tha th tip tc thi hnh cho n khi l ng.

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 19/22

    Lnh REPEAT .. UNTIL thng c s dng trong lp trnh, nht l lc ngi s dng mun tip tc bi ton trng hp thay i bin m khng phi tr v chng trnh v nhn t hp phm Ctrl + F9 li.

    V d 6.18: Nhn 2 s a v b

    PROGRAM Tich;

    VAR a, b : integer ;

    CK : char ;

    BEGIN

    REPEAT

    Write (' Nhp s a = '); Readln (a) ;

    Write (' Nhp s b = '); Readln (b) ;

    Writeln (' Tch s ca a x b l :' , a*b : 10 ) ;

    Writeln (' Tip tc tnh na khng (CK) ? ');

    Readln (CK) ;

    UNTIL upcase(CK) = K; {hm chuyn i k t trong bin}

    {CK thnh k t in hoa}

    END.

    BI C THM

    NHP V XUT D LIU TRONG TURBO PASCAL

    --- oOo ---

    Thng thng, chng trnh Turbo Pascal c t trong mt th mc ring r c tn TP. s dng Turbo Pascal,ta cn c cc tp tin ti thiu:

    - TURBO.EXE - TURBO.TPL

    - TURBO.TP - GRAPH.TPU

    - Cc file ha : *.BGI - Cc Font ch trong ha : *.CHR

    S dng cu lnh Turbo v nhn Enter, mn hnh s xut hin :

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 20/22

    tr gip ngi s dng, phm chc nng F10 c tc dng m cc Menu vi nhiu Options khc nhau. Ta cng cth kch hot trn thanh Menu chnh bng cch kt hp phm , v d kch hot mc File, ta

    nhn ng thi phm Alt- F, sau dng cc phm mi tn v nt Enter chn la v ra lnh thi hnh. Phm F1 tr gip th

    hin cc thng tin trn mn hnh.

    Ta c th s dng cc t hp phm to ra cc khi ch hoc cu lnh (trn mn hnh thy c s thay i mu)

    ta c th sao chp, ct dn, xa b ...

    Ctrl-K-B nh du u khi

    Ctrl-K-K nh du cui khi

    Ctrl-K-C Chp khi ti sau v tr con tr

    Ctrl-K-V Di chuyn khi ti sau v tr con tr

    Ctrl-K-Y Xa khi hin hnh

    Ctrl-K-W Ghi khi hin hnh vo a nh mt tp tin

    Ctrl-K-R c khi tp tin ghi vo a vo sau v tr con tr

    Ctrl-K-H Tt/ M khi

    Mt chng trnh my tnh, s c cc bc cn bn sau:

    Trong tho chng Turbo Pascal, cc th tc nhp d liu c dng:

    TH TC NHP NGHA

    READ(x1, x2, ..., xn) Nhp cc bin x1, x2, ..., xn theo hng ngang

    t bn phm (con tr khng xung hng).

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 21/22

    READLN(x1, x2, ..., xn) Nhp cc bin x1, x2, ..., xn theo hng dc

    t bn phm (mi ln nhp con tr xung hng).

    READLN; Dng chng trnh, i Enter mi tip tc.

    ASSIGN(F, File_Name); M tp tin F c tn l File_Name

    RESET(F); Chun b c tp tin

    READ(F, x1, x2, ..., xn) ; c cc gi tr trn tp tin F ra cc bin x1, x2, ..., xn

    tng ng

    CH := ReadKey ; c mt k t t bn phm vo bin k t CH

    KEYPRESSED Mt hm c gi tr l TRUE nu c mt phm c bm v l FALSE nu ngc li.

    TH TC XUT NGHA

    WRITE(x1, x2, ..., xn) Vit gi tr trong cc bin x1, x2, ..., xn ra mn hnh

    theo hng ngang (con tr khng xung hng).

    WRITELN(x1, x2, ..., xn) Vit gi tr trong cc bin x1, x2, ..., xn ra mn hnh

    theo hng dc (mi ln vit tr x c xung hng).

    WRITELN; Xung hng

    WRITELN(I : n); Vit ra gi tr ca bin nguyn I vo n ch tnh tphi sang tri. Nu d ch (ch s ca I < n) s trng

    WRITELN(R : n : m); Vit ra gi tr ca bin thc R vo n ch, ch ly

    m s thp phn.

    WRITELN( abc... ); Vit ra nguyn vn chui k t abc...

    WRITELN (LST, x1, x2, ..., xn) Vit ra my in cc tr bin x1, x2, ..., xn

    ASSIGN(F, File_Name) M tp tin F c tn l File_Name

    REWRITE(F) ; chun b vit vo

    WRITE (F, x1, x2, ..., xn) ; Vit cc gi tr x1, x2, ..., xn vo tp tin F

    CLOSE (F) ; ng tp tin F

    Cn lu tr chng trnh ta dng phm F2.

    M mt file c ta dng phm F3.

    thay i kch thc/Di chuyn ca s chng trnh, dng phm F5 v

    Ctrl+F5.

  • 12/8/2014 Nouvelle page 4

    http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm 22/22

    Trng hp m nhiu chng trnh, ta dng phm F6 v Ctrl+F6 i n/tr

    v trc chng trnh hin hnh.

    bin dch v kim tra li, ta dng phm F9.

    chy chng trnh son tho xong, nh Ctrl+F9

    Mun thot khi Turbo Pascal v tr v DOS, nh Alt+X.