Professional Documents
Culture Documents
41
:\UD*HQLD
7HPDW Z\UD*HQLD ]RVWD SU]HP\FRQ\GRNVL*NLMX*GRGDZQRWHPXLZ\SDGDRE\
w NRFX W
NZHVWL
Z\MDQL : QLQLHMV]\P UR]G]LDOH VSUyEXMHP\ Z\MDQL F]\P V
Z\UD*HQLDGRF]HJRVX*RUD]MDNLHVLFKVNDGQLNLLUHJX\WZRU]HQLD
:\UD*HQLD SR]ZDODM QD SU]HNV]WDFDQLH LQIRUPDFML Z FHOX X]\VNDQLD RGSRZLHGQLFK
Z\QLNyZLVWDQRZLMHGHQ]SRGVWDZRZ\FKVNDGQLNyZSURJUDPyZ.D*GHZ\UD*HQLH
stanowi symboliczny zapis pewnej operacji na danych reprezentowanych przez zmienne
RSLVDQHLGHQW\ILNDWRUDPLLVWDH]DSLVDQHMDZQLH6DPDRSHUDFMDUHDOL]RZDQDMHVW za
SRPRFoperatorw oraz funkcji3RM
FLHZ\UD*HQLDQDMDWZLHME
G]LHQDP]LOXVWURZD
QD SU]\NDG]LH PDWHPDW\F]Q\P MDN ZLDGRPR GXJR SU]HFLZSURVWRNWQHM c WUyMNWD
SURVWRNWQHJRZ\UD*DVL
Z]RUHP
c = a 2 + b2
3U]HNDGDMFWRQD3DVFDORWU]\PDP\
c := sqrt(a*a + b*b)
=DSLV]QDMGXMF\VL
SRSUDZHMVWURQLH]QDNX := (tak zwanego operatora przypisania)
MHVW ZDQLH Z\UD*HQLHP : MHJR VNDG ZFKRG] F]WHU\ LGHQW\ILNDWRU\ a i b) symboOL]XMFH ]PLHQQH SU]HFKRZXMFH GXJRFL SU]\SURVWRNWQ\FK WU]y operatory (* i +)
V\PEROL]XMFH RSHUDFMH PQR*HQLD L GRGDZDQLD RUD] LGHQW\ILNDWRU sqrtUHSUH]HQWXMF\
IXQNFM
SLHUZLDVWHN NZDGUDWRZ\ 3RQLHZD* R ]PLHQQ\FK L VWD\FK MX* PyZLOLP\
]DMPLHP\VL
REHFQLHRSHUDWRUDPL
2SHUDWRU MHVW ]DVWU]H*RQ\P VRZHP M
]\ND VWDQRZLF\P V\PEROLF]Q UHSUH]HQWDFM
SHZQHJR G]LDDQLD QD GDQ\FK UHSUH]HQWRZDQ\FK SU]H] argumenty RSHUDWRUD : ZL
NV]RFLSU]\SDGNyZRSHUDWRU\SRVLDGDMGZDDUJXPHQW\LVWQLHMMHGQDNUyZQLH*RSHUDtory jednoargumentowe. W Pascalu zdefiniowano kilka grup operatorw, z ktrych
QDMF]
FLHMZ\NRU]\VW\ZDQ\PLV]DSHZQHoperatory arytmetyczne:
42
3U]\NDG
Znaczenie
PQR*HQLH
2*2 = 4
dzielenie
2/3 = 0.66666...
div
G]LHOHQLHFDNRZLWH
2 div 3 = 0
mod
reszta z dzielenia
3 mod 2 = 1
dodawanie
2+3=5
odejmowanie
2 3 = 1
1 = 1
QLH]RVWDQLHSRSUDZQLHREOLF]RQ\MHOL]DSLV]HV]JRZSRVWDFL
1 + 2 / 3
ERZLHP]DPLDVWZDUWRFLRWU]\PDV]SOXVF]\OL:DFLZNROHMQR
Z\NRQ\ZDQLD G]LDD PR*HV] MHGQDN Z\PXVL ]D SRPRF QDZLDVyZ ]DSLVXMF QDV]
iloraz jako
(1 + 2) / 3
)UDJPHQW\ Z\UD*HQLD XM
WH Z QDZLDV\ V ]DZV]H REOLF]DQH SU]HG Z\NRQDQLHP
ZV]\VWNLFK SR]RVWD\FK G]LDD 1DZLDVyZ ZDUWR D QDZHW QDOH*\ X*\ZD UyZQLH*
ZyZF]DVJG\QLHMHVWVL
SHZQ\PFRGRNROHMQRFLZ\NRQ\ZDQLDG]LDD3DPL
WDM*H
QDZLDV\ QLH SRZRGXM JHQHURZDQLD GRGDWNRZHJR NRGX Z\QLNRZHJR D MHG\QLH ]PLHQLDMNROHMQRRSHUDFMLDZL
FQLFQLHNRV]WXMRSUyF]NRQLHF]QRFLZSLVDQLDNLONX
GRGDWNRZ\FK ]QDNyZ FR MHGQDN MHVW OHSV]H RG QDUD*DQLD VL
QD WUXGQR Z\NU\ZDOQH
E
G\
OperatRU\ DU\WPHW\F]QH QLH Z\F]HUSXM RF]\ZLFLH DUVHQDX GRVW
SQHJR Z 7XUER
3DVFDOX .ROHMQ JUXS
WZRU] operatory bitowe i logiczne QD]ZDQH WDN GODWHJR L*
:\UD*HQLD
43
SU]H]QDF]RQH V GR Z\NRQ\ZDQLD G]LDD QD ELWDFK OLF]E FDNRZLW\FK OXE GR
SU]HNV]WDFDQLDZDUWRFLORJLF]Q\FK$RWRRQH
Tablica 3. Operatory bitowe i logiczne
Operator
3U]\NDG
Znaczenie
logiczny
bitowy
not
negacja
and
iloczyn logiczny
shl
SU]HVXQL
FLHELWyZZOHZR
shr
SU]HVXQL
FLHELWyZZSUDZR
or
suma logiczna
xor
suma modulo 2
not 15 = 240
7 and 15 = 7
7 shl 2 = 28
128 shr 4 = 8
7 or 128 = 135
Znaczenie
3U]\NDG
rwny...
3 = 3.14 (false)
<>
Uy*Q\RG
<
mniejszy od...
<=
>
ZL
NV]\RG
>=
ZL
NV]\OXEUyZQ\
3 >= 3 (true)
44
Priorytet
not
* / div mod and shl shr
+ or xor
= <> < <= > >=
QDMZ\*V]\
QL*V]\
MHV]F]HQL*V]\
QDMQL*V]\
2F]\ZLFLH MHOL Z\UD*HQLH ]DZLHUD QDZLDV\ LFK ]DZDUWR ]RVWDQLH Z\OLF]RQD SU]HG
Z\NRQDQLHPSR]RVWD\FKG]LDD3RND]DQ\Z\*HMSU]\NDGLOXVWUXMHMHGQRF]HQLHGR
W\SRZ V\WXDFM
Z NWyUHM PXVLP\ SRF]\ ]H VRE NLOND ZDUXQNyZ Z\UD*RQ\FK
QLHUyZQRFLDPLF]\OLRSHUDWRUDPLUHODF\MQ\PL3RQLHZD*GRF]HQLDZDUXQNyZVX*
operatory logiczne (zwykle or lub andPDMFHZ\*V]\SULRU\WHWQLH]E
GQHMHVWX*\FLH
QDZLDVyZLFKSRPLQL
FLHMHVWEDUG]RSRVSROLW\PE
GHPRUHDNFMLNRPSLODWRra najleSLHMSU]HNRQDMVL
VDP
-DN MX* SRZLHG]LHOLP\ Z\UD*HQLD PRJ ]DZLHUD HOHPHQW\ QDMUy*QLHMV]\FK W\SyZ
OLF]E\ ]QDNL DFXFK\ LWS MHGQDN QDMF]
FLHM E
G]LHV] VSRW\ND VL
] Z\UD*HQLDPL
UHSUH]HQWXMF\PLRSHUDFMHDU\WPHW\F]QH$E\UR]G]LDWHQQLHRJUDQLF]DVL
GRSXVWHJR
WHURUHW\]RZDQLDVSUyEXMHP\]DVWRVRZDZ\UD*HQLDZSUDNW\FHWZRU]FSURJUDPUR]ZL]XMF\UyZQDQLHNZDGUDWRZH]QDQ&L]DSHZQHPHWRGZ\]QDF]QLNyZ
=DSLVXMFQDV]HUyZQDQLHZSRVWDFL
a x2 + b x + c
PR*HP\ REOLF]\ SLHUZLDVWNL WM ZDUWRFL x GOD NWyU\FK UyZQDQLH SU]\MPXMH ZDUWR
zero) jako
b
2a
gdzie ' jest tzw. wyznacznikiem rwnania, obliczanym jako
= b2 4 a c
:\UD*HQLD
45
Znak ZSRSU]HGQLPZ]RU]HR]QDF]D*HUyZQDQLHPDZRJyOQRFLGZDSLHUZLDVWNL
z NWyU\FK MHGHQ REOLF]D VL
SU]H] GRGDQLH ZDUWRFL Z OLF]QLNX XDPND ]D GUXJL
SU]H]LFKRGM
FLH
6DPSURJUDPSRZLQLHQZ\JOGDQDVW
SXMFR
SRF]WHN
RGF]\WDMZDUWRFLZVSyF]\QQLNyZDELF
REOLF]ZDUWRZ\]QDF]QLND
oblicz pierwiastki i wypisz je na ekranie
koniec
:SRVWDFLSDVFDORZHME
G]LHWRQLHFREDUG]LHMVNRPSOLNRZDQH
program Rownanie_Kwadratowe;
^3URJUDPUR]ZL]XMHUyZQDQLHNZDGUDWRZHPHWRGZ\]QDF]QLNyZ`
var
DEFUHDO^ZVSyF]\QQLNL`
delta : real;
{ wyznacznik }
x1, x2 : real;
{ pierwiastki }
begin
writeln('Program rozwiazuje rownanie kwadratowe')
writeln('a*x^2 + b*x + c');
ZULWH
3RGDMZVSROF]\QQLND
^ZSURZDG(ZVSyF]\QQLNL`
readln(a);
write('Podaj wspolczynnik b: ');
readln(b);
write('Podaj wspolczynnik c: ');
readln(c);
delta := sqr(b) - 4*a*c;
{ oblicz wyznacznik }
x1 := (-b + sqrt(delta))/(2*a); { oblicz pierwiastki }
x2 := (-b - sqrt(delta))/(2*a); { znaczek := to tzw. }
{ przypisanie }
ZULWHOQ
3LHUZLDVWNL
^Z\ZLHWOSLHUZLDVWNL`
writeln('x1 = ', x1:12:4);
writeln('x2 = ', x2:12:4);
readln;
end.
:\UD*HQLDZ\NRU]\VW\ZDQHGRREOLF]DQLDSRV]F]HJyOQ\FKZDUWRFLVWXQLHFREDUG]LHM
skompliNRZDQH DOH QDGDO QLH SRZLQLHQH PLH SUREOHPyZ ] LFK DQDOL] 'ZRPD
nowyPLQRQLHGRNRFDHOHPHQWDPLVoperator przypisania oraz funkcje.
Operator przypisania jest jednym z najpospoliciej wykorzystywanych operatorw
pascalowych. Znaczek := GZXNURSHN L ]QDN UyZQRFL F]\WD VL
VWDMH VL
OXE
SU]\SLV]]DMHJRHIHNWVSURZDG]DVL
GRXPLHV]F]HQLDZRELHNFLH]QDMGXMF\PVL
SR OHZHM VWURQLH ZDUWRFL ]QDMGXMFHM VL
SR SUDZHM VWURQLH 2ELHNW XPLHV]F]RQ\ SR
OHZHMVWURQLHRSHUDWRUDSU]\SLVDQLDRNUHlany jest mianem l-ZDUWRFLDQJlvalue). Jest
WRQDRJy]PLHQQDPR*OLZHMHVWMHGQDNSU]\SLVDQLHZDUWRFLGRLGHQW\ILNDWRUDIXQNFML
R W\P E
G]LHP\ MHV]F]H PyZL 3RQLHZD* SU]\SLVDQLH SROHJD QD XPLHV]F]HQLX
46
:\UD*HQLD
47
1DV]HUyZQDQLHQLHPDSLHUZLDVWNyZU]HF]\ZLVW\FKZDUWRZ\]QDF]QLNDZ\QRVL8,
a ]DWHP MHJR SLHUZLDVWHN NZDGUDWRZ\ QLH GDMH VL
REOLF]\ 3RQLHZD* MHGQDN 7XUER
PasFDO R W\P QLH ZLH HIHNWHP SRGM
WHM SUyE\ MHVW EG Z\NRQDQLD Invalid floating
point operation nielegalna operacja zmiennoprzecinkowa) i przerwanie realizacji
progUDPX &R SUDZGD *DGQD WR WUDJHGLD ER IXQNFMD L WDN QLH PD SLHUZLDVWNyZ DOH
SURJUDP PyJE\ ]DFKRZ\ZD VL
SU]\]ZRLFLHM WM ]DPLDVW SDGD Z\ZLHWOD
RGSRZLHGQLLQIRUPDFM
1LHPDSUREOHPXDOHWRMX*PR*HZQDVW
SQ\PUR]G]LDOH
=DSDPL
WDM
'RSU]HNV]WDFDQLDLQIRUPDFMLZSURJUDPLHVX*Z\UD*HQLD
:VNDGZ\UD*HZFKRG]VWDHL]PLHQQHUHSUH]HQWXMFHGDQHRUD]RSHUDWRU\
i IXQNFMHUHSUH]HQWXMFHVSRVRE\SU]HNV]WDFDQLDLQIRUPDFML
1DMZD*QLHMV]H JUXS\ RSHUDWRUyZ SDVFDORZ\FK WR RSHUDWRU\ DU\WPHW\F]QH ELWRwe, logiczne oraz relacyjne (operatory porwnania).
.RQVWUXXMF Z\UD*HQLD PXVLV] SDPL
WD R NROHMQRFL Z\NRQ\ZDQLD G]LDD
czyli priorytetach operatorw.
'R]PLDQ\NROHMQRFLG]LDDVX*QDZLDV\
)XQNFMH UHSUH]HQWXM EDUG]LHM ]R*RQ\ VSRVyE SU]HNV]WDFDQLD LQIRUPDFML QL*
operatory.
'RQDGDZDQLDZDUWRFL]PLHQQ\PVX*\RSHUDWRUSU]\SLVDQLD:=.
3R OHZHM VWURQLH RSHUDWRUD SU]\SLVDQLD PXVL ]QDMGRZD VL
l-ZDUWR 3R MHJR
SUDZHMVWURQLHPR*H]QDMGRZDVL
GRZROQHZ\UD*HQLH