You are on page 1of 22

12/8/2014

Nouvelle page 4

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 s
Niklaus 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)
http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm

1/22

12/8/2014

Nouvelle page 4

v.v...
n nay, ngn ng Pascal pht trin n phin bn Turbo Pascal Version 7. Cc din gii v v d trong gio trnh
ny 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 mi


trng 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,
REPEAT... UNTIL

WHILE... DO,

- 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 ta
c cc tn chun sau y:
http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm

2/22

12/8/2014

Nouvelle page 4

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 khong
trng 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 }

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

3/22

12/8/2014

Nouvelle page 4

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:
http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm

4/22

12/8/2014

Nouvelle page 4

Phn thn chng trnh l phn quan trng nht v bt buc phi c, phn ny lun nm gia 2 t kho l BEGIN v
END. 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 k
t (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
BYTE
SHORTINT
INTEGER
WORD
LONGINT

S BYTE
1
1
2
2
4

PHM VI
0 .. 255
- 128 .. 127
- 32768 .. + 32767
0 .. 65535
- 2147483648 .. 2147483647

b. Cc php ton s hc i vi s nguyn


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

5/22

12/8/2014

Nouvelle page 4

K HIU
+
*
/
DIV
MOD
SUCC (n)
PRED (n)
ODD (n)

NGHA
Cng
Tr
Nhn
Chia cho kt qu l s thc
Chia ly phn nguyn
Chia ly phn d
n+ 1
n- 1
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 phn
nh 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
ABS (x)
SQR (x)
SQRT(x)
SIN(x)
COS (x)
ARCTAN (x)
LN (x)
EXP (x)

NGHA
|x| : ly gi tr tuyt i ca s x
x2 : ly bnh phng tr s x
: ly cn bc 2 cua tr s x
sin (x) : ly sin ca x
cos (x) : ly cos ca x
arctang (x)
ln x : ly logarit nepe ca tr x (e ( 2.71828)
ex
ly phn nguyn ln nht khng vt qu tr s x
lm trn gi tr ca x, ly s nguyn gn x nht

TRUNC (x)
ROUND (x)

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 c
mt trong hai ga tr logic l TRUE (ng) v FALSE (sai).
Qui c:

TRUE > FALSE

Cc php ton trn kiu Boolean:


A

NOT A

A AND B

A OR B

A XOR B

TRUE
TRUE

TRUE
FALSE

FALSE
FALSE

TRUE
FALSE

TRUE
TRUE

FALSE
TRUE

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

6/22

12/8/2014

Nouvelle page 4

FALSE
FALSE

TRUE
FALSE

TRUE
TRUE

FALSE
FALSE

TRUE
FALSE

TRUE
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, mi
cch 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
ORD(x)
CHR(n) hay #n
PRED(x)
SUCC(x)

NGHA
Cho s th t ca k t x trong bng m
Cho k t c s th t l n
Cho k t ng trc 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
<Tn
hng> = <gi tr ca hng> ;
CONST
http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm

7/22

12/8/2014

Nouvelle page 4

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 s
dng 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 kiu
d liu nht nh.
b. Cch khai bo
<TnVAR
bin> : <Kiu bin> ;
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
http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm

8/22

12/8/2014

Nouvelle page 4

TYPE
<Tn kiu> = <M t xy dng kiu> ;
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 nh
sau:
Mc u tin:

Cc php ton:

1.

Biu thc trong ngoc n ( )

2.

Php gi hm

3.

Not, -

4.

*, /, DIV, MOD, AND

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

9/22

12/8/2014

Nouvelle page 4

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


+ X l tp tin :

(gi trc tip tn ca chng trnh con)

RESET, REWRITE, ASSIGN ...

- Cu lnh c cu trc
+ Lnh ghp :

BEGIN .. END

+ Lnh chn :

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

+ Lnh lp

FOR .. TO .. DO

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

10/22

12/8/2014

Nouvelle page 4

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:
<Tn_bin> := <biu thc> ;
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
http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm

11/22

12/8/2014

Nouvelle page 4

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.
* S :

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 chm
dt 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 <Cng vic> 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 <iu kin> THEN <Cng vic>;

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

12/22

12/8/2014

Nouvelle page 4

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


Ch :
- iu kin l mt biu thc Boolean.
- Nu <Cng vic>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.
http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm

13/22

12/8/2014

Nouvelle page 4

b. Lnh CASE .. OF
* Lu biu din:

Hnh 6.5: Lu lnh CASE .. OF


* Cch vit, ngha:
Cch vit

ngha

CASE <Biu thc > 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) ;
http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm

14/22

12/8/2014

Nouvelle page 4

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 <bin m> := <tr u> TO/DOWNTO <tr cui> DO <Cng vic>;
* 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 ;
http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm

15/22

12/8/2014

Nouvelle page 4

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 <iu kin> DO <Cng vic>
* C php

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 chng
trnh 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 ;
http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm

16/22

12/8/2014

Nouvelle page 4

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 trong
cc trng hp s ln lp khng bit trc.

Hnh 6.9: Lu cu trc ca REPEAT .. UNTIL


* ngha cu lnh:
http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm

17/22

12/8/2014

Nouvelle page 4

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 khng
nht 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 <iu kin> c kim tra trc, nu tha <iu kin> th mi thc hin <Cng vic>.
- Ngc li, trong cu trc REPEAT .. UNTIL th <Cng vic> s c thc thi trc sau mi kim tra <iu kin>, nu
khng tha <iu kin> th tip tc thi hnh <Cng vic> cho n khi <iu kin> l ng.

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

18/22

12/8/2014

Nouvelle page 4

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 :

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

19/22

12/8/2014

Nouvelle page 4

tr gip ngi s dng, phm chc nng F10 c tc dng m cc Menu vi nhiu Options khc nhau. Ta cng c
th kch hot trn thanh Menu chnh bng cch kt hp phm <Alt - K t mc tng ng>, 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
READ(x1, x2, ..., xn)

NGHA
Nhp cc bin x1, x2, ..., xn theo hng ngang
t bn phm (con tr khng xung hng).

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

20/22

12/8/2014

Nouvelle page 4

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
WRITE(x1, x2, ..., xn)

NGHA
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 t


phi 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.
http://vietsciences2.free.fr/giaokhoa/tinhoc/cobanvengonngulaptrinhpascal.htm

21/22

12/8/2014

Nouvelle page 4

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.

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

22/22

You might also like