Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

45

Chng 2. CAC PHAN T C BAN CUA NGON NG LAP TRNH


FORTRAN
2.1. CAC DANG CUA D LIEU
2.1.1. Cac kieu d lieu
Cac kieu d lieu c ban cua ngon ng lap trnh la hang so, bien so, mang,
tap tin, cac dong chu thch va bieu thc (so hoc, logic hay bieu thc van ban).
Trong Fortran co 6 dang d lieu khac nhau nh sau:
INTEGER so nguyen
REAL so thc
DOUBLE PRECISION so thc vi o chnh xac gap oi
COMPLEX so phc
LOGICAL d lieu dang logic
CHARACTER d lieu dang van ban
Cac d lieu dang INTEGER, REAL, DOUBLE PRECISION va
COMPLEX thuoc kieu d lieu so hoc. D lieu tng kieu mot ng vi kch
thc (so byte) cn co e lu tr trong bo nh cua may tnh. Bang 2.1 ben
di liet ke cac kieu d lieu va cac kch thc tng ng.
Kieu cua d lieu c ch nh bi ten d lieu, co the xac nh mot cach
tng minh (bang cau lenh mo ta hay bang cau lenh FUNCTION) hoac
khong tng minh (theo quy tac chuan ve kieu d lieu hoac theo cau lenh
IMPLICIT).
Theo quy tac chuan ve d lieu, cac d lieu co ch bat au la I, J, K, L, M
va N la d lieu kieu INTEGER vi kch thc chuan. Con d lieu c bat
au bang cac ch khac la d lieu kieu so thc REAL. Quy tac nay khong ap
dung cho d lieu a c nh kieu bi cau lenh IMPLICIT hoac cac cau
lenh gan kieu.
2.1.2. Hang so
Trong Fortran, hang so co the co dang so hoc, logic, van ban, kieu H.

46

- Hang so la so nguyen: co kieu INTEGER*4 va c viet di dang tong


quat:
xxx
trong xxx la chuoi cac ch so lien tuc vi so dng th dau + co the bo. Vi
tr giup cua cau lenh mo ta kieu INTEGER*2 hoac PARAMETER ta co the
a vao chng trnh cac hang so co kch thc 2 byte.
V du ve hang so la so nguyen nh:
0

36

+115 -2579

- Hang so la so thc: co the co kieu REAL*4, REAL*8 va REAL*16 va


the hien di dang nh sau:
xxx.xx[exp]
.xxx[exp]
xxx.xx

xxx.[exp]
xxx[exp]

trong o [exp] la bac cua luy tha c so 10 dang Exx, Dxx hoac Qxx.
Hang so xx trong cac dang Exx, Dxx hoac Qxx the hien so mu cua luy
tha c so 10 va co khong qua 2 ch so.
V du:
+777.52
-657.
(= -657.0)
+ .025
(= 0.025)
+5.0E03
(= 5.103)
3 E-3
(= 3.10-3)
2375.D-25 (= 2375.10-25)
2.079Q08
(= 2.079.108)
trong o, tuy theo kieu viet vi cac bac co cac ch Q, D, E ma kieu va kch
thc hang so la khac nhau. Bac vi ch Q la kieu REAL*16 (th kch thc
tng ng la 16 byte), vi ch D la REAL*8 (8 byte) va vi ch E la
REAL*4 (4 byte). Neu so thc khong ch ro so bac th co kieu REAL*4.

47

Bang 2.1. Cac kieu d lieu trong Fortran


Kieu d lieu

Kch thc
(byte)

Vung gia tr cua d lieu

INTEGER*2

T -32768 en +32768

INTEGER

T -2147483647 en +2147483647

INTEGER*4

REAL

REAL*4

DOUBLE

Tr tuyet oi co o ln t 5,4 .10-79 en


7,2 .1075 vi o chnh xac tng ng en
7, 17 va 35 ch so sau dau thap phan

PRECISION
REAL*8

REAL*16

16

COMPLEX

COMPLEX*8

COMPLEX*16

16

COMPLEX*32

32

LOGICAL*1

LOGICAL

LOGICAL*4

CHARACTER

CHARACTER*L

Cho phan thc va phan ao vung gia tr


tng t nh cho INTERGER va REAL

La TRUE hoac FALSE

Ky t bat ky

CHARACTER*(*)
- Hang so dang so phc: co kieu la COMPLEX*8, COMPLEX*16 hoac
COMPLEX*32 va viet di dang c ban:
(x,y)
trong o x la phan thc va y la phan ao, co the cho dang hang so nguyen
hay so thc.
Kieu cua hang so dang so phc phu thuoc vao kieu cua x va y. Neu mot
trong hai phan x, y co kieu REAL*16 th hang so phc co kieu
COMPLEX*32, neu la REAL*8 th tng ng la COMPLEX*16. Neu phan
thc va ao co kieu bat ky th hang so phc co kieu la COMPLEX*8. Hang so

48

phc c lu tr trong bo nh di dang mot cap so thc phan bo lien tiep


nhau co cung kch thc.
V du:
(3.52,+12)
(-0.12,0.572E-2)
(25D+2,12D-3)

la
la
la

3.52 + 12 i
-0.12 + 0.00572 i
2500 + 0.012 i

- Hang so co kieu la logic: co kieu la LOGICAL*4 va viet di dang


.TRUE. hoac .FALSE. ngha la hang so co gia tr la ung hoac sai. Vi
s tr giup cua cac lenh mo ta nh LOGICAL*1 hoac PARAMETER co the
cho o dai cua hang so co kieu logic la 1 byte. Khi xac nh gia tr ban au
cua bien hoac mang co kieu la logic thay v la .TRUE. hoac .FALSE. th co
the e dang ngan gon la T hoac F cung c (khong co 2 dau cham).
- Hang so dang van ban: c viet dang mot chuoi lien tuc cac ky t gia
2 dau nhay n ( ). Gia tr cua hang la chuoi ky t gia hai dau nhay n
nay. Ta co the dung dau nhay n nh mot ky t cua hang so dang van ban,
khi o phai e cung luc 2 dau lien tiep ma khong cha khoang trong. Moi ky
t co o dai 01 byte. Kch thc cua hang so bang tong cac ky t (hai dau
ben trong gia tr hang neu co th dai 01 byte). o dai cc ai cua hang so nay
la 72 ky t trong cac cau lenh PAUSE va STOP, la 255 ky t trong cau lenh
PARAMETER va 1320 ky t trong tat ca cac cau lenh khac.
V du:
Nhiet do la
XYZ
X Y Z
XYZK
- Hang so kieu H: c viet di dang
Hccc
trong o, la hang so nguyen khong co dau, co gia tr trong khoang t 1
255 xac nh o dai cua hang so ( = so ky t)
H la kieu cua hang so.
ccc la mot chuoi lien tiep cac ky t chnh la gia tr cua hang so kieu H,
moi ky t dai 01 byte.

49

Hang so kieu H c dung trong cac cau lenh FORMAT va khi cho gia tr
ban au cua cac ai lng co kieu bat ky ngoai tr kieu CHARACTER.

V du:

5HX Y Z
7HTOI

Hang so kieu H au tien co gia tr la XVYVZ va hang so th hai co gia


tr la TOIVVVV. Ngha la neu gia tr cua hang so t hn o dai cho trc th
t ong them vao cac khoang trong V ben phai gia tr cua hang. e hieu ro
hn ve hang so kieu H, ta se xem lai chi tiet hn trong cau lenh FORMAT.
2.1.3. Bien so
Tng t nh trong cac ngon ng lap trnh khac, bien so trong Fortran la
gia tr ma ta co the truy cap ti trong qua trnh tnh toan theo ten cua bien.
Kieu cua bien c xac nh mot cach mac nh theo ky t au tien cua ten
bien hoac bi cac cau lenh mo ta kieu khi khai bao bien trong chng trnh.
Bien so c xem la xac nh neu trong bo nh co lu gia tr co cung kieu
cua bien. Gia tr cua bien co the cho bi cau lenh DATA hay cau lenh mo ta
kieu trc khi thc thi mot chng trnh, bi cau lenh gan gia tr, hay cau
lenh DO (vi cac bien vong lap) hoac bang cac cau lenh a vao so lieu va
cau lenh ASSIGN.
V du:
C

REAL X,Y,Z
CHARACTER * 10 NAME
PRINT*,Nhap ten cua ban vao va nhan Enter
READ*,NAME
PRINT*,Hello,NAME, ,Ban co the bat dau tinh
X=3**2-2
Y=2.08*X**2+5.0*X+3.0
Z=2.0*Y+6.0*X
PRINT*, X=,X, Y=,Y, Z=,Z
PRINT*,Chung toi tin rang ban hai long khi hoc Fortran
STOP
END

50

Nh vay trong chng trnh tren, cac bien X, Y va Z c khai bao co


kieu la so thc va bien NAME co kieu la ky t van ban. Co the bo dong khai
bao kieu cho cac bien X, Y, Z (dong lenh REAL X,Y,Z) trong chng trnh
tren ma khong anh hng en ket qua tnh toan. Khi o kieu cua cac bien
nay c xac nh mot cach mac nh la so thc.
2.1.4. Mang
Mang la mot chuoi co trat t cac d lieu va chiem mot vung lien tuc trong
bo nh. Co the truy cap en mang theo ten mang. Cac phan t cua chuoi gia
tr d lieu ay goi la phan t cua mang. Gia tr cua phan t la xac nh neu
trong bo nh c lu gia tr co cung kieu vi kieu cua mang a khai bao.
Gia tr cua mang c xac nh bi cac phng phap nh oi vi cac bien.
Mang phai c khai bao bi cac cau lenh mo ta nh DIMENSION hoac
COMMON. Cach khai bao mang co dang tong quat:
A(d, d, )
A la ten mang va d la thc o kch thc mang di dang d1 : d2 (d1 la
gii han di, d2 gii han tren cua d). Tuy nhien, cach khai bao mang n
gian hn c dung thng xuyen nh sau:
Vi mang mot chieu:
Vi mang hai chieu:
Vi mang nhieu chieu:

A(n)
A(n1,n2)
A(n1,n2,n3, )

V du:
X(1000) la mang 1 chieu co ten la X va co 1000 phan t.
A(10,10) la mang hai chieu co kch thc 10 10 = 100 phan t.
Cach khai bao mang trong mot chng trnh viet bang Fortran nh sau:
DIMENSION X(1000),A(10,10)
So lng thc o kch thc mang (d) khong vt qua 7. Cac ai lng
co the cho dang mot bieu thc so hoc: la mot so nguyen, ten cua hang so
nao o, mot he so hay bien so cua mot khoi chung cua chng trnh va tat ca
eu phai co kieu INTEGER. Trong bieu thc so hoc nay khong the ch la cau

51

lenh dan en (goi en) mot phan t cua mang khac hoac mot ham. Cac cau
lenh mo ta kieu cua bien va he so dung trong bieu thc nay phai co trc cau
lenh mo ta mang.
Trong chng trnh chnh, d cua mang phai cho di dang hang so. Con
trong cac chng trnh con th co the khong phai la hang so (tham ch la dau
sao *) dung e mo ta mang co kch thc thay oi hoac ieu khien c
trong qua trnh tnh toan. Gia tr cua gii han di (d1) phai nho hn hoac
bang gia tr cua gii han tren (d2). Kch thc moi thc o la d2 d1 + 1.
Neu gii han di khong cho th nghiem nhien bang 1. Do o kch thc
bang d2. ay la kieu the hien mang thong dung nhat hien nay (xem v du va
neu ve mang). So lng cac phan t cua mang bang tch so cua tat ca cac so
o d (xem v du).
Phan bo mang trong bo nh theo cac nguyen tac sau: cac phan t cua
mang mot chieu th phan bo mot cach lien tuc theo th t, mang nhieu chieu
th theo nguyen tac gia tr cua bieu thc au tien tang nhanh hn cua bieu
thc th hai, va th hai th tang nhanh hn th 3
V du:
Mang mot chieu S(5) co 5 phan t va mang hai chieu A(2,3) co 6 phan t
th phan bo tuan t theo cot nh sau:
S(1)
S(2)
S(3)
S(4)
S(5)

A(1,1)
A(2,1)
A(1,2)
A(2,2)
A(1,3)
A(2,3)

Kieu cua mang c xac nh tng t nh oi vi cac bien so: neu


khong khai bao trc bi cac cau lenh mo ta kieu th se co kieu mac nh
theo ky t au tien cua ten mang, ngc lai th theo kieu a c khai bao.
Ngoai ra con co mot dang d lieu het sc ac biet na la d lieu dang tap
tin (file). Trong cac tnh toan ln, khi d lieu qua nhieu va co moi lien ket
vi nhau (v du nh toa o 2000 nguyen t trong khong gian 3 chieu) th lu
tr chung trong mot tap tin co ten rieng. Khi can en th m tap tin o ra va
oc d lieu t o vao chng trnh chnh e tnh. Do tnh phc tap dang d
lieu nay va d lieu loai tap tin thng lien quan en viec x ly s vao/ra d

52

lieu trong qua trnh tnh toan se c khao sat chi tiet sau phan cuoi cua
giao trnh.
* Ghi chu: khi khai bao d lieu ma qua dai, vt qua 72 byte th co the tiep
tuc cac dong tiep theo bang dau * tai v tr cot so 6 roi viet tiep tuc.
V du, e ro hn xem v du cua mot oan chng trnh nh sau :
C
C
C

Polytechnic of HochiMinh City


DIMENSION
* X(6000),Y(6000),Z(6000),X0(6000),Y0(6000),Z0(6000),
* IP(6000),FX(6000),FY(6000),FZ(6000),ZZ(5),ZIJ(15),
* BFI(15),CFI(15),EERF(200),UREP(15),CUL(15),GR(15,200)
REAL*8 UREPAV(15),CULAV(15)
COMMON/A1/X,Y,Z,X0,Y0,Z0,IP
COMMON/A2/FX,FY,FZ
COMMON/A3/ZZ,ZIJ,BFI,CFI,GR
COMMON/A4/UREPAV,CUL,EERF,UREP,CULAV
COMMON/A5/IPRINT
UPAR(R)=BIJ*EXP(-R*CIJ)
FPAR(R)=BIJ*CIJ*EXP(-R*CIJ)

C
C
C

FOLLOWING DATA ARE CONSTANT OF HANSEN APPROXIMATION


DATA A0,A4,A6,A8,A10/0.162703,-3.09015,
* 4.6764131,97.681783,-110.95681/
DATA B4,B6,B8,B10/9.8010671,-19.994017,
* -237.90423,312.86629/
DATA C6,C8,C10,C12/-22.645201,-656.4341,
* 440.65802,96.92354/
DATA D8,D10,D12/357.74714 ,-570.95501,133.22453/
DATA HA4,HA6,HA8,HA10/-12.3606,28.0584786,781.454264,
* -1109.5681/
DATA HB6,HB8,HB10/-39.988034,-951.61692,1877.19774/
DATA HC8,HC10,HC12,HD10,HD12/-1312.8682,1762.63208,
* 581.54124,-1141.91002,532.89812/

C
N1=N-1
RM=XL/2.
RXL2=1./XL/XL
E0CUL=-1.41864874*14.4/XL
PI=3.1415926

2.2. CAC DONG CHU THCH TRONG MOT CHNG TRNH


FORTRAN
Cac dong chu thch khong ong vai tro g trong qua trnh thc thi mot
chng trnh. Tuy nhien, dong chu thch lam sang to chng trnh hn, giup

53

viec s dung chng trnh hieu qua hn oi vi nhng ngi s dung chng
trnh khong phai do mnh viet (thch hp cho sinh vien thc tap, dung cac
chng trnh a co, thng gap trong chuyen giao cong nghe va hng
nghien cu mi cua cac nhom nghien cu vi nhau).
Nh a e cap phan trc, dong chu thch c bat au bang ky t C
hoac * tai v tr so 1 cua dong, sau ky t nay tai v tr bat ky ta co the viet
dong van ban chu thch. oi khi ngi ta ch e dong trong hoan toan vi ky
t C v tr so 1 e lam thoang hn hoac phan oan chng trnh cho de
nhn. Dong chu thch co the at tai v tr bat ky trong chng trnh. e ro
hn, xem mot chng trnh hoan chnh sau:
Chng trnh 1. Chng trnh tnh dien tch va chu vi hnh tron
C
C
C

Chuong trinh tinh dien tich va chu vi hinh tron

C
C
C

Tinh dien tich

C
C
C

Tinh chu vi

REAL PI
PARAMETER (PI=3.14159)
REAL R,S,P
PRINT*,Nhap vao ban kinh duong tron:
READ*,R

S=PI*R**2

P=2.0*PI*R
PRINT*,Dien tich hinh tron la:,S
PRINT*,Chu vi hinh trong la:,P
PRINT*,Cac tinh toan da ket thuc
STOP
END

54

2.3. CAC BIEU THC


Bieu thc la mot to hp cac hang so, bien so va cac phep toan thoa man
cac quy tac nhat nh va c dung e tnh cac gia tr mi, ngoai ra trong
bieu thc dung trong chng trnh viet bang Fortran con co cac dau ngoac ( ).
Tuan t thc hien cac phep tnh trong mot bieu thc co the thay oi c
bang cach dung cac dau ngoac.
2.3.1. Bieu thc so hoc
Trong bieu thc so hoc, cac phep toan nh sau c dung : cong (+), tr
(-), nhan (*), chia (/) va luy tha (**). Bieu thc so hoc c hnh thanh t
cac so hang va cac phep toan tng ng. Gia tr cua bieu thc so hoc co the
la so nguyen, so thc hay so phc. Cac so hang trong bieu thc so hoc bao
gom: hang, bien, ten cua hang so, phan t cua mang, he thc goi en cac
ham, va cung co the co ca bieu thc toan hoc khac c at trong dau ngoac
( ).
V du :
A1=-B*C
A2=LOG(X)50.2
A3=X+YZ
A4=X**(-(Y+Z))
Bieu thc th nhat tm gia tr cua bien A1 bang tch so cua tr bien B vi
bien C. Tng t cac bieu thc th hai, ba va bon viet theo cach bnh thng
la :
A2 = log x 50,2
A3 = X + Y Z
A4 = x-(y+z)
Th t thc hien cac phep toan trong bieu thc so hoc c xac nh bi
u tien cua tng phep toan va dau ( ). u tien cac phep toan theo th t nh
sau :
-

Goi en ham
Luy tha
Nhan va chia
Cong va tr

55

Cac bieu thc c at trong dau ngoac c u tien thc hien au tien.
Neu trong bieu thc co nhieu phep tnh co cung u tien th cac phep toan
c thc hien t trai sang phai. Ngoai tr phep luy tha th thc hien t phai
qua trai. V du, bieu thc 2*3*4 th c tnh theo th t tuan t nh bieu
thc (2*3)*4, con bieu thc 2**3**4 tnh theo th t nh bieu thc
2**(3**4).
Trong mot bieu thc so hoc co the dung so hang co nhieu kieu khac nhau.
Gia tr tnh c thng theo kieu cua so hang co u tien cao nhat. V du, ket
qua trong phep cong cua hai so hang co kieu REAL*8 va REAL*4 la kieu
REAL*8. Mot ngoai le la cac phep toan tren d lieu co kieu so thc va kieu
so phc.
V du :
Kieu cua so hang

Kieu cua ket qua

REAL*8, COMPLEX*8
REAL*16, COMPLEX*8

COMPLEX*16
COMPLEX*32

Ket qua cua phep chia 2 so nguyen la so nguyen (so d cua phep chia b
bo). Neu phan nguyen nho hn 1 th ket qua phep chia nay bang 0. V du:
ket qua phep chia -13/4 bang -3, ket qua cua bieu thc 6**(-3) c tnh nh
1/(6**3) va bang 0.
Mot so v du ve bieu thc so hoc co the xem ben di:
Kieu viet trong Fortran

Kieu toan

A1=SQRT(X**2 + Y**3 + COS(Z))

A1 = x 2 + y 3 + cos z
5Z
A2 =
X +Y
A3 = 4arcos(0,5)

A2=5*Z/(X+Y)
A3=4*ACOS(0.5)

* Ghi chu: co 2 van e can lu y khi viet bieu thc so hoc trong Fortran
nh sau.
1. Trong bieu thc so hoc khong chap nhan cac phep toan khong xac
nh: chia cho 0, lay luy tha vi so mu bang 0 hoac am cua mot so

56

bang 0, lay luy tha so hang am (co kieu la so nguyen hay thc)
vi so mu kieu REAL hay DOUBLE PRECISION.
2. Cac gia tr trung gian hay cuoi cung cua mot phep toan khong c
vt qua gii han cho phep cua so nguyen hoac so thc.
2.3.2. Bieu thc van ban
Bieu thc van ban c viet di dang:
so hang dang van ban // so hang dang van ban
trong o, so hang dang van ban co the la hang, bien so, phan t cua mang,
goi en ham hoac la bieu thc e trong dau ngoac. Dau // la dau noi.
Gia tr cua bieu thc van ban la ket qua noi hai so hang dong van ban. V
du: ket qua cua bieu thc LOAI//A la dong LOAIA. Viec s dung cac
dau ngoac trong bieu thc van ban khong anh hng en ket qua.
V du :
X=AB
Y=CD
Z=EF
th bieu thc

va

XX=X//Y//Z
XX=X//(Y//Z)

la nh nhau va eu cho gia tr ABCDEF


2.3.3. Bieu thc tng quan
Bieu thc tng quan c dung e so sanh gia tr cua hai bieu thc. Bieu
thc tng quan bao gom 02 bieu thc so hoc hay 02 bieu thc van ban va
toan t tng quan. Ro rang bieu thc van ban khong the so sanh vi bieu
thc so hoc. Gia tr cua bieu thc tng quan la .TRUE. hoac .FALSE. co
kieu LOGICAL*4. Trong Fortran co tat ca 6 toan t tng quan nh sau :

57

Toan t

Ten goi

.LT.
.LE.
.GT.
.GE.
.EQ.
.NE.

nho hn
nho hn hoac bang
ln hn
ln hn hoac bang
bang
khong bang

+ V du ve mot so bieu thc tng quan :


A.LT.B
C.GE.B
D.NE.F

(A < B)
(C B)
(D F)

+ Cau lenh Fortran dung bieu thc tng quan :


IF(A.LT.B)R=1.
ngha la neu A < B th R = 1.
Cac toan t tng quan eu co u tien nh nhau. Bieu thc tng quan
cha cac so hang la kieu so phc th ch co the cha cac toan t .NE. hoac
.EQ.. Khi so sanh cac bieu thc so hoc co nhieu kieu nh dang khac nhau,
gia tr cua bieu thc co kieu u tien thap nhat se chuyen thanh gia tr co kieu
u tien cao hn roi sau o mi tien hanh so sanh. Khi so sanh cac bieu thc
co dang van ban vi kch thc khac nhau, bieu thc co chieu dai ngan hn
se c bo sung them vao ben phai cac khoang trong cho en khi co chieu
dai bang bieu thc dai hn. Khi o, s so sanh se tien hanh theo tng ky t t
trai sang phai.
V du:
+ Neu cac bien so thc A va B co gia tr lan lt la 20.7 va 50.3 th
bieu thc logic A.GT.B se co gia tr .FALSE.
+ Neu cac bien van ban CH va SH co gia tr
CH=A
SH=BBB
Th bieu thc CH.LT.SH co gia tr la .TRUE.

58

2.3.4. Bieu thc logic


Bieu thc logic hnh thanh t cac so hang logic va cac toan t logic.
Tng t cac loai bieu thc khac, so hang cua bieu thc logic bao gom cac
hang, ten hang, bien so, phan t cua mang, goi en ham. Ngoai ra con co
bieu thc tng quan va cac bieu thc trong dau ngoac. Cac toan t logic bao
gom:
.NOT.
.AND.
.OR.
.EQV.
.NEQV.

toan t phu nhan


toan t nhan
toan t cong
toan t tng ng
toan t khong tng ng

V du:
R.LE.R11
1424
3.AND.R.GT.R12
14243
bieu thc tng
quan th nhat

bieu thc tng


quan th hai

Nguyen cau lenh Fortran dung cho he thc logic tren la:
IF(R.LE.R11.AND.R.GT.R12)K=K+1
ngha la neu bien R thoa man ong thi hai ieu kien R R11 va R > R12
th bieu thc logic co gia tr la .TRUE., khi o se thc hien phep tnh K =
K+1
Ket qua tnh bieu thc logic ch co the la .TRUE. hoac .FALSE. co kieu
la LOGICAL*1 hoac LOGICAL*4. Hai toan t logic co the viet lien tiep
nhau ch khi nao toan t th hai la .NOT.. V du:
.OR..NOT.A
.AND..NOT.D
.EQV..NOT.E

Neu nh so hang cua toan t phu nhan la bieu thc logic th bieu thc nay
phai e trong ngoac ( ), v du: .NOT.(C.AND.D). Hoat ong cua toan t logic
tuy thuoc vao gia tr cua cac so hang c the hien qua bang 2.2.

59

Khi tnh bieu thc logic ma ben trong co cac toan t tng quan, th t u
tien nh sau:
1. Goi en ham
2. Luy tha
3. Nhan va chia
4. Cong va tr
5. Lien ket
6. Toan t tng quan
7. .NOT.
8. .AND.
9. .OR.
10. .EQV. va .NEQV.
Bieu thc trong dau ngoac c tnh au tien. V du: bieu thc
A.EVQ.B.AND.C.OR.D c tnh tng t nh bieu thc
A.EQV.((B.AND.C).OR.D).
Noi tom lai, tat ca cac bien, phan t cua mang, ham c s dung trong
cac bieu thc phai xac nh. Trong bieu thc so hoc khong c dung bien co
kieu so nguyen la mot dau nhan nao o trong chng trnh. S truy cap en
ham (goi ham) khong c lam thay oi gia tr mot so hang nao o trong
bieu thc. V du, bieu thc F(I) + B(I) va G(J) + J khong chap nhan c,
neu sau khi truy cap en ham F va G xay ra s gan gia tr mi cho I va J.
Bang 2.2. Cac hoat ong cua toan t logic
Gia tr cua bieu thc logic

Gia tr cua so hang


A

.NOT.A A.AND.B A.OR.B A.EQV.B A.NEQV.B

ung

ung

sai

ung

ung

ung

sai

ung

sai

sai

sai

ung

sai

ung

sai

ung

ung

sai

ung

sai

ung

sai

sai

ung

sai

sai

ung

sai

Con mot loai bieu thc na la bieu thc hang so, khi ma tat ca cac so
hang cua bieu thc eu la hang so hoac ten hang.
e ro hn cach s dung cac toan t va cac kieu d lieu ta xem mot so
chng trnh mau ben di.

60

Chng trnh 2. Tnh trung bnh cong 3 so nhap vao t ban phm
C
C

PRINT*,Nhap vao so thu nhat


READ*,A
PRINT*,Nhap vao so thu hai
READ*,B
PRINT*,Nhap vao so thu ba
READ*,C

C
C
C

D=(A+B+C)/3.0

PRINT*,So trung binh cong la:,D


STOP
END
.
Chng trnh 3. Tnh gia tr cua ham so y = 2 x 2 3x + 4 vi gia tr bat ky
cua x nhap vao t ban phm.
C
C

PRINT*,Nhap gia tri cua x:


READ*,X
Y=2.0*X**2-3.0*X+4.0
PRINT*,x=,X, y=,Y
STOP
END

Qua cac chng trnh mau tren, chng trnh viet bang ngon ng lap
trnh Fortran khong theo mot khuon mau cng nhac nh vi ngon ng lap
trnh Pascal hoac C. Co the khong can dung cau lenh PROGRAM au
chng trnh e at ten cho chng trnh. Khai bao kieu cho cac bien cung
co the khong can thiet. Khi o kieu cua cac bien c hieu mot cach mac
nh nh a e cap (ch co cac bien ma ten bat au bang cac ch I, J, N th
mac nh co kieu la so nguyen, con lai th co kieu so thc).

61

Bai tap chng 2


2.1. Viet chng trnh tnh gia tr cua ham so: y = ( x 5) 2 + x 3 2 2 vi x la so
dng bat ky nhap vao t ban phm.
2.2. Viet chng trnh tnh dien tch hnh vanh khan gii han bi hai ng
tron ong tam ban knh R1, R2 nhap vao t ban phm ( R 2 > R1 ).
2.3. Viet chng trnh the hien cac dong van ban sau len man hnh:
---------CHAO MUNG BAN DA HOC FORTRAN
BAN HAY SO SANH FORTRAN VOI CAC NGON NGU KHAC
CO GANG UNG DUNG FORTRAN VAO CHUYEN NGANH
*******************
2.4. Viet chng trnh nhap toa o X, Y cua hai iem bat ky t ban phm va
tnh khoang cach gia hai iem theo cong thc: R = ( X 1 X 2) 2 + (Y 1 Y 2) 2 .
2.5. Viet chng trnh tnh dien tch va the tch hnh cau vi ban knh R nhap
vao t ban phm.

You might also like