Sie sind auf Seite 1von 188

Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++

C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 1 o1 1
x8O 8 C++ x8O 8 C++ x8O 8 C++ x8O 8 C++
C++ e eaux aa obex1uo-opueu1upauo nporpauupaue. Caaeu e o1 5npu
C1payc1pyn o1 A1&1 8e11 Laboafo1es a xpan ua 195 rouua. C++ e
paamupeuue ua eauxa C a cneuu1e 1pu uanpaanueuun:
- caaaaue u uanonaaaue ua abc1pax1uu 1unoae auuu
- obex1uo-opueu1upauo nporpauupaue
- noobpeuun ua xouc1pyxuu ua eauxa C {npouaaouu 1unoae,
uacnenaaue, nonuuopuau}.
hpea npau1e mec1 uecea cne onucauue1o uy ce nonauxa ua 20
1proacxu peanuaauu ua eauxa, npeuaauaueuu aa paanuuuu xounk1puu
cuc1euu. O1 1oraaa o cera C++ ce paapac1aa upea obaanue ua uuoro uoau
yuxuu u aa1oaa npoec1 ua c1auap1uaaun1a uy nponaaa u o uoueu1a.
C++ e npuuep aa eaux, xou1o c apeue1o pac1e u ce paaauaa. 8cexu n1,
xora1o no1pebu1enu1e uy ca aabennaaanu unxaxau nponycxu unu ueoc1a1u,
1e ca ro obora1naanu cc co1ae1uu1e uoau aauouoc1u.
3a paanuxa o1 C++, eaux1 hacxan e caaeu nnauouepuo rnaauo aa
enu1e ua obyueuue1o. hpo. 8up1 obpe e obuucnun u oxaaan eauxa. 1u
xa1o hacxan e caaeu c ncua en, o1enuu1e uy xounoueu1u ca noruuecxu
capaauu u necuo uora1 a ba1 xoubuuupauu. Paapac1aa|u1e ce eauu, xu
xou1o npuuaneu C++ ca oc1a obpxauu 1u xa1o xopa c paanuuuu axycoae
npaan1 paanuuuu uoaoaaeeuun. Ocaeu 1oaa, aapau uobunuoc11a ua
nporpauu1e, ue e aauouo npeuaxaaue1o ua c1apu xouc1pyxuu, ae a
c|ec1ayaa1 yobuu 1exuu noobpeuun. 1axa paapac1aa|un1 ce C++ cbupa a
cebe cu ronnu bpou aauouoc1u, xou1o ue auuaru obpe ce cauec1naa1.
Lauu1e, caaeuu o1 xoune1eu1uu xopa, no npuuun ca necuu aa
uayuaaaue u uanonaaaue. Paapac1aa|u1e ce eauu obaue pa1 uouonona ua
naaapa. Cera C++ e aoe|un eaux aa nporpauupaue c ob|o npeuaauaueuue.
homo1o e, ue ue e uuoro neceu aa ycaonaaue, uua cu caou1e ueyobc1aa u
xanauu. ho 1ou uua u orpouuu npunoeuun - o1 nporpauu ua uucxo, nou1u
uamuuuo uuao, o nporpauu o1 uau-aucoxa c1eneu ua abc1paxun.
en1a ua uac1on|un xypc no nporpauupaue e ue a au uayuu ua acuuxu
aauouoc1u ua C++, a ua uaxyc1ao1o u uayxa1a nporpauupaue.
hpu uauanuo1o aanoauaaaue c eauxa, aauuxaa1 aa ec1ec1aeuu anpoca:
- Kaxao e nporpaua ua C++ u xax ce nume 1n?
- Kax ce uannunaa nporpaua ua C++?
|e o1roaopuu ua 1eau anpocu upea npuuep aa nporpaua ua C++, cne
xoe1o |e aeu unxou euuuuu u ocuoauu oauaueuun.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 2 o1 1
2.1. hpuuep aa nporpaua ua 2.1. hpuuep aa nporpaua ua 2.1. hpuuep aa nporpaua ua 2.1. hpuuep aa nporpaua ua C++ C++ C++ C++
3aaua 1. 3aaua 1. 3aaua 1. 3aaua 1. a ce uanume nporpaua, xon1o uauupa nepuue1pa u nue1o ua
npaaornuux cc c1pauu 2,3 u 3,7.
Lua nporpaua,xon1o pemaaa aaaua1a e cneua1a:
Pogam Zad1.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{doub1e a = 2.3
doub1e b = 3.7
doub1e p, s
/" uauupaue ua nepuue1pa ua npaaornuuxa "/
p = 2"{a+b}
/" uauupaue ua nue1o ua npaaornuuxa "/
s = a"b
/" uaaeaue ua nepuue1pa "/
couf << "p= " << p << "\n"
/" uaaeaue ua nue1o "/
couf << "s= " << s << "\n"
efun 0
}
hpaun1 pe
#1nc1ude <1osfeam.h>
e upex1uaa xu xoununa1opa ua upex1uaa xu xoununa1opa ua upex1uaa xu xoununa1opa ua upex1uaa xu xoununa1opa ua C++ C++ C++ C++. pea uen xu auna, cpa|
nporpaua1a Zad1.cpp, ce axnkuaa aun1 c uue 1osfeam.h {hpu unxou
peanuaauu ua C++ paamupeuue1o .h ce nponycxa}. 1oau aun cpa
paanuuuu euuuuu u exnapauu, ueobxouuu aa peanuaauu1e ua onepauu1e
aa no1oueu axo u uaxo. 8 nporpaua Zad1.cpp ce uyaeu o1 1aau upex1uaa
aapau uaaeaue1o apxy expaua ua nepuue1pa u nue1o ua npaaornuuxa.
Kouc1pyxun1a
1nf ma1n{}
{ .
efun 0
}
euuupa yuxun yuxun yuxun yuxun, uapeueua ma1n {rnaaua}. 8cnxa nporpaua ua C++ 1pnbaa
a uua yuxun ma1n. hoaeue1o nporpauu cpa1 u pyru yuxuu ocaeu
uen.
euuuun1a ua ma1n aanouaa c yua1a yua1a yua1a yua1a 1nf {cxpa|euue o1 1nfege},
noxaaaa|a, ue ma1n ap|a nno uucno, a ue pob unu uua, uanpuuep. Mey
urypuu1e cxobxu { u } e aanucaua peua o1 euuuuu u onepa1opu, xon1o
ce uapuua 1nno ua yuxun1a 1nno ua yuxun1a 1nno ua yuxun1a 1nno ua yuxun1a. Kounoueu1u1e ua 1nno1o ce o1enn1 cc auaxa
u ce uannunaa1 nocneoaa1enuo. C onepa1opa efun ce oauauaaa xpan1 ua
yuxun1a. C1ouuoc11a 0 oauauaaa, ue 1n ce e uannuuna ycnemuo. Axo
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 3 o1 1
nporpaua1a aaapmu uannueuue1o cu u apue c1ouuoc1 paanuuua o1 0, 1oaa
oauauaaa, ue e aauuxuana rpemxa.
Kouc1pyxuu1e
doub1e a = 2.3
doub1e b = 3.7
doub1e p, s
euuupa1 npoueunuau1e npoueunuau1e npoueunuau1e npoueunuau1e a, b, p u s o1 peanuun 1un doub1e, xa1o a npau1e
aa cnyuan ce aaa1 uauanuu c1ouuoc1u ua a u b {2.3 u 3.7 co1ae1uo}.
Kaaaa ce o|e, ue a a a a u u u u b b b b ca ca ca ca uuuuanuaupauu uuuuanuaupauu uuuuanuaupauu uuuuanuaupauu co1ae1uo c 2.3 u 3.7 co1ae1uo c 2.3 u 3.7 co1ae1uo c 2.3 u 3.7 co1ae1uo c 2.3 u 3.7.
hpoueunuaa1a e unc1o aa cxpaueuue ua auuu, xoe1o uoe a cpa
paanuuuu c1ouuoc1u no apeue ua uannueuue ua nporpaua1a. Oauauaaa ce upea
peua o1 byxau, upu u onua uep1a, aanouaa|a c byxaa unu onua uep1a.
hpoueunuau1e uua1 1pu xapax1epuc1uxu: 1un 1un 1un 1un, uue uue uue uue u c1ouuoc1 c1ouuoc1 c1ouuoc1 c1ouuoc1. hpeu a ba1
uanonaaauu, 1pnbaa a ba1 euuupauu.
C++ e c1poro 1unuaupau eaux aa nporpauupaue. 8cnxa npoueunuaa uua 1un,
xou1o nauo ce yxaaaa npu euuupaue1o u. hponycxaue1o ua 1una ua
npoueunuaa1a aou o cepuoauu rpemxu. 4ur. 1. unkc1pupa uennuo
euuupaue1o ua npoueunuau.
euuupaue ua npoueunuau euuupaue ua npoueunuau euuupaue ua npoueunuau euuupaue ua npoueunuau
Cuu1axcuc
<uueua1un> <npoueunuaa> | = <uapaa> ]
{, <npoueunuaa> | = <uapaa> ] }
xe1o
<uueua1un> e yua, oauauaaa|a uue ua 1un xa1o 1nf, doub1e u p.
<uapaa> e npaauno aa nonyuaaaue ua c1ouuoc1 - nna, peanua, auaxoaa u
p. 1un, cauec1uu c <uueua1un>.
Ceuau1uxa
euuuun1a capaaa npoueunuaa1a c uuoec1ao1o o1 onyc1uuu1e
c1ouuoc1u ua 1una, o1 xou1o e npoueunuaa1a unu c xouxpe1ua c1ouuoc1 o1
1oaa uuoec1ao. 3a en1a ce o1enn onpeeneuo xonuuec1ao onepa1uaua naue1
{1onxoaa, xonxo1o a ce aanume uau-ronnua1a xouc1au1a o1 uuoec1ao1o o1
onyc1uuu1e c1ouuoc1u ua co1ae1uun 1un} u ce uueuyaa c uue1o ua
npoueunuaa1a. 1aau naue1 e c ueonpeeneuo cpauue unu cpa
c1ouuoc11a ua yxaaauun uapaa, axo e uanpaaeua uuuuanuaaun.
he ce onycxa eua u c|a npoueunuaa a uua unxonxo euuuuu
a pauxu1e ua eua u c|a yuxun.
4ur. 1.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 4 o1 1
8 cnyuan ua nporpaua1a Zad1.cpp aa a, b, p u s ce o1enn1 no bau1a
onepa1uaua naue1 u
Oh
a b p s
2.3 3.7 - -
bau1a bau1a bau1a bau1a
heonpeeneuoc11a ua p u s |e oauauaaaue c -.
Cne euuuuu1e ua npoueunuau1e a, b, p u s e paanonoeu xoueu1ap1
/" uauupaue ua nepuue1pa ua npaaornuuxa "/
1ou e npeuaauaueu aa nporpauuc1a u noce|a aa cuucna ua cneaa|o1o
euc1aue.
Koueu1ap1 {4ur. 2} e npouaaoneu 1exc1, orpaeu cc auau1e /" u "/.
hruopupa ce uannuo o1 xoununa1opa.
Koueu1ap Koueu1ap Koueu1ap Koueu1ap
Cuu1axcuc
<xoueu1ap> ::= /" <peuao1auau> "/
Ceuau1uxa
honcunaa nporpaueu parueu1. hpeuaauaueu e aa nporpauuc1a. hruopupa
ce o1 xoununa1opa ua eauxa.
4ur. 2.
Kouc1pyxuu1e
p = 2"{a+b}
s = a"b
ca onepa1opu onepa1opu onepa1opu onepa1opu aa aa aa aa npucaonaaue ua c1ouuoc1 npucaonaaue ua c1ouuoc1 npucaonaaue ua c1ouuoc1 npucaonaaue ua c1ouuoc1 {4ur. 3}. pea 1nx npoueunuau1e p
u s nonyuaaa1 1exy|u c1ouuoc1u. Onepa1op1
p = 2"{a+b}
npecun1a c1ouuoc11a ua apu1ue1uuuun uapaa 2"{a+b} u aanucaa nonyueuo1o
peanuo uucno {a cnyuan 12.0} a naue11a, uueuyaaua c p. Auanoruuuo,
onepa1op1
s = a"b
npecun1a c1ouuoc11a ua apu1ue1uuuun uapaa a"b u aanucaa nonyueuo1o peanuo
uucno {a cnyuan .51} a naue11a, uueuyaaua cc s.
ho-nopobuo |e paarneaue 1oau onepa1op a cneaa|a1a rnaaa. ha 1oau
e1an oc1aanue c uu1yu1uaua1a npec1aaa aa <uapaa>. |e ce orpauuuuu c nnaa
c1paua o1 aua npoueunuaa. |e o1beneuu cauo, ue eaux1 C++ nopa
nceaouuuu, xoe1o aaa aauouoc1 nnaa1a c1paua ua onepa1opa aa
npucaonaaue a be uapaa, uun1o c1ouuoc1 e nceaouuu ua uouuupyeu
obex1.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 5 o1 1
Onepa1op Onepa1op Onepa1op Onepa1op aa aa aa aa npucaonaaue npucaonaaue npucaonaaue npucaonaaue
Cuu1axcuc
<npoueunuaa> = <uapaa>
xa1o <npoueunuaa> u <uapaa> ca o1 euu u c| 1un.
Ceuau1uxa
hpecun1a c1ouuoc11a ua <uapaa> u n aanucaa a naue11a, uueuyaaua c
npoueunuaa1a o1 nnaa1a c1paua ua auaxa aa npucaonaaue =.
4ur. 3.
a ce apueu xu euuuuu1e ua npoueunuau1e a u b u onepa1opu1e aa
npucaonaaue u efun ua Zad1.cpp. 3abennaaaue, ue a 1nx ca uanonaaauu aa
aua uucna: enu enu enu enu {2 u 0} u peanuu peanuu peanuu peanuu {2.3 u 3.7}. enu1e uucna ce aanucaa1
xa1o a ua1eua1uxa1a, a npu peanuu1e, auax1 aane1an ce aaueun c 1ouxa.
xuuoeuue1o e o1bennaauo cc ", a cbupaue1o - c +. 3abennaaaue c|o, ue
uapaau1e 2"{a+b} u a"b ca peanuu, xaxau1o ca u npoueunuau1e p u s o1
neau1e c1pauu ua auaxa = a onepa1opu1e aa npucaonaaue.
Kouc1pyxuu1e
couf << "p= " << p << "\n"
couf << "s= " << s << "\n"
ca onepa1opu aa uaaeaue. hapuua1 ce o|e onepa1opu aa no1oueu uaxo.
Lxauaaneu1uu ca ua peua1a o1 onepa1opu
couf << "p= "
couf << p
couf << "\n"
couf << "s= "
couf << s
couf << "\n"
Onepa1op1 << oauauaaa uanpa1u xu. Obex11 {npoueunuaa1a} couf
{npouauacn ce cu-ay1} e uue1o ua c1auap1uun uaxoeu no1ox, xou1o
obuxuoaeuo e expaua unu npoaopea ua expaua.
Peua o1 auau, orpaeua a xaauuxu, ce uapuua auaxoa uua auaxoa uua auaxoa uua auaxoa uua, unu
cuuaoneu uua cuuaoneu uua cuuaoneu uua cuuaoneu uua, unu cauo uua uua uua uua. 8 nporpaua1a Zad1.cpp p= u s= ca
uuaoae. hua1 \n cpa aouxa1a auau \ {backs1ash} u n, uo 1e
npec1aannaa1 euu-euuc1aeu auax, xou1o ce uapuua auax auax auax auax aa aa aa aa uoa uoa uoa uoa pe pe pe pe.
Onepa1op1
couf << "p= "
uaaea apxy expaua uuaa
p=
Onepa1op1
couf << p
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 6 o1 1
uaaea apxy expaua c1ouuoc11a ua p, a
couf << "\n"
npeuec1aa xypcopa ua cneaa|un pe ua expaua, 1.e. yxaaaa cneaa|o1o
uaaeaue a be ua uoa pe.
4ur. 7. noxaaaa no-e1aunuo cuu1axcuca u ceuau1uxa1a ua onepa1opa aa
uaaeaue.
hannueuue ua Zad1.cpp
Cne obpabo1xa1a ua upex1uaa1a
#1nc1ude <1osfeam.h>
aun1 1osfeam.h e axnkueu aa auna, cpa| yuxun1a ma1n ua
Zad1.cpp. hannueuue1o ua 1nno1o ua ma1n aanouaa c uannueuue ua
euuuuu1e
doub1e a = 2.3
doub1e b = 3.7
doub1e p, s
a peayn1a1, ua xoe1o a Oh ce o1enn1 no bau1a aa npoueunuau1e a, b, p u
s, 1.e.
Oh
a b p s
2.33.7- -
Koueu1apu1e ce nponycxa1. Cne uannueuue1o ua onepa1opu1e aa
npucaonaaue:
p = 2"{a+b}
s = a"b
npoueunuau1e p u s ce capaaa1 c 12.0 u .51 co1ae1uo, 1.e.
Oh
a b p s
2.33.7 12.0 .51
Onepa1opu1e
couf << "p= " << p << "\n"
couf << "s= " << s << "\n"
uaaea1 apxy expaua ua uouu1opa
p= 12
s= .51
hannueuue1o ua onepa1opa
efun 0
npeyc1auoanaa pabo1a1a ua nporpaua1a curuanuaupauxu, ue 1n e aaapmuna
ycnemuo.
3abenexa: 3abenexa: 3abenexa: 3abenexa: Peanuu1e uucna ce uaaea1 c aauouo uuuuuanuun bpou
auau. 1axa peanuo1o uucno 12.0 ce uaaea xa1o 12.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 7 o1 1
8 c|uoc1, onucauu1e euc1aun ce uaapmaa1 ua uamuuuun exauaaneu1 ua
nporpaua1a Zad1.cpp. A xax ce oc1ura o uero?
hannueuue ua hannueuue ua hannueuue ua hannueuue ua nporpaua ua nporpaua ua nporpaua ua nporpaua ua eauxa C++ eauxa C++ eauxa C++ eauxa C++
3a en1a ce uanonaaa unxaxaa cpea aa nporpauupaue ua C++. hue |e
uannaaaue v1sua1 C++ aepcun 6.0.
hannueuue1o ce oc|ec1anaa upea npeuuuaaaue npea cneuu1e c1nxu:
1. Caaaaue ua uaxoeu xo
pea 1exc1oaun peax1op ua cpea1a, 1exc11 ua nporpaua1a ce aanucaa
aa aun. heroao1o uue ce cc1ou o1 ae uac1u - uue u paamupeuue.
Paamupeuue1o nocxaaaa npeuaauaueuue1o ua auna. Paanuuuo e aa o1enuu1e
peanuaauu ua eauxa. ec1o cpe|auo paamupeuue aa uaxouu aunoae e .cpp
unu .c.
hpuuepua1a nporpaua e aanucaua aa auna Zad1.cpp.
2. Koununupaue
1aau c1nxa ce uannunaa o1 xoununa1opa ua eauxa. hpaa1a uac1 o1
pabo1a1a ua xoununa1opa ua C++ e o1xpuaaue1o ua rpemxu - cuu1ax1uuuu u
rpemxu, capaauu c 1una ua auuu1e. Cob|euue1o aa rpemxa cpa uouepa
ua pea, xe1o e o1xpu1a rpemxa u xpa1xo onucauue ua npenonaraeua1a
npuuuua aa uen. obpe e rpemxu1e a ce xoperupa1 a nocneoaa1enuoc11a, a
xon1o ca obnaeuu, aa|o1o eua rpemxa uoe a oaee o 1. uap. xacxaeu
eex1, npu xou1o xoununa1op1 o1xpuaa noaeue rpemxu, o1xonxo1o peanuo
c|ec1ayaa1. Kopurupauun1 1exc1 ua nporpaua1a 1pnbaa a ce xoununupa
o1uoao. 81opa1a uac1 o1 pabo1a1a ua xoununa1opa e npeaeaue
{1paucnupaue} ua uaxouun {souse} xo ua nporpaua1a a 1. uap. obex1eu obex1eu obex1eu obex1eu
xo xo xo xo. Obex1uun1 xo ce cc1ou o1 uamuuuu uuc1pyxuu u uuopuaun aa 1oaa,
xax a ce aapeu nporpaua1a a Oh, npeu a aanouue uannueuue1o u.
Obex1uun1 xo ce aanucaa a o1eneu aun, obuxuoaeuo cc c1apo1o uue, uo c
paamupeuue .ob unu .o.
Obex1uun1 aun cpa cauo npeaoa ua nporpaua1a, a ue u ua
bubnuo1exu1e, xou1o ca exnapupauu a uen {a cnyuan ua nporpaua1a Zad1.cpp
aun1 Zad1.ob ue cpa obex1uun xo ua 1osfeam.h}. Aa1opu1e ua
naxe1a 1osfeam.h ca onucanu acuuxu ueobxouuu euc1aun u ca aanucanu
uyuun uamuueu xo a bubnuo1exa1a 1osfeam.h.
3. Capaaaue
Obex1uun1 aun u ueobxouuu1e uac1u o1 bubnuo1exu ce capaaa1 a 1.
uap. uannuuu aun. 1oaa ce uaapmaa o1 cneuanua nporpaua, uapeueua
capaaa|a nporpaua unu capaaa| peax1op {11nke}. hannuuuun1 aun uua
uue1o ua uaxouun aun, uo paamupeuue1o uy obuxuoaeuo e .exe. 1ou
cpa enun uamuueu xo, ueobxouu aa uannueuue1o ua nporpaua1a. 1oau
aun uoe a ce uannuu u uaau cpea1a aa nporpauupaue ua eauxa C++.
4ur. 4 unkc1pupa c1nxu1e ua uannueuue ua nporpaua ua C++.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. o1 1
4ur. 4
hporpauuc1xa1a euuoc1, capaaua c uannueuue1o ua nporpaua ua C++,
npeuuuaaa npea 1pu c1nxu xa1o peanuaupa uxna peax1upaue-xoununupaue-
uac1pouxa. 3anouaa ce c peax1opa xa1o ce nume uaxouun1 aun. Koununupa
ce nporpaua1a u axo uua cuu1ax1uuuu rpemxu, upea peax1opa ce nonpaan1
rpemxu1e. Kora1o nporpaua1a e uauuc1eua o1 cuu1ax1uuuu1e rpemxu,
aanouaa uannueuue1o u. Axo aauuxua1 rpemxu no apeue ua uannueuue1o, ce
oc|ec1anaa ap|aue o1uoao a peax1opa u ce nonpaan1 npenonaraeuu1e
rpemxu. hocne nax ce xoununupa u c1ap1upa nporpaua1a. uxn1
peax1upaue-xoununupaue-uac1pouxa e unkc1pupau ua 4ur. 5.
a a a a
ue ue ue ue
a a a a
uaxoeu uaxoeu uaxoeu uaxoeu
xo xo xo xo
obex1eu obex1eu obex1eu obex1eu
xo xo xo xo
xoununa1op xoununa1op xoununa1op xoununa1op
bubnuo1exu bubnuo1exu bubnuo1exu bubnuo1exu
capaaa|a capaaa|a capaaa|a capaaa|a
nporpaua nporpaua nporpaua nporpaua
uannuuua uannuuua uannuuua uannuuua
nporpaua nporpaua nporpaua nporpaua
uauano uauano uauano uauano
peax1upaue peax1upaue peax1upaue peax1upaue
ua ua ua ua
nporpaua1a nporpaua1a nporpaua1a nporpaua1a
Cuu1ax1uu Cuu1ax1uu Cuu1ax1uu Cuu1ax1uu
-uu -uu -uu -uu rpemxu rpemxu rpemxu rpemxu
uannueuue uannueuue uannueuue uannueuue
ua ua ua ua
nporpaua1a nporpaua1a nporpaua1a nporpaua1a
rpemxu rpemxu rpemxu rpemxu
npu npu npu npu
uannueuue uannueuue uannueuue uannueuue
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 9 o1 1
ue ue ue ue
4ur. 5
2.2. Ocuoauu oauaueuun 2.2. Ocuoauu oauaueuun 2.2. Ocuoauu oauaueuun 2.2. Ocuoauu oauaueuun
8cnxa nporpaua ua C++ e aanucaua xa1o peua o1 auau, xou1o
npuuanea1 ua aabyxa1a ua eauxa aabyxa1a ua eauxa aabyxa1a ua eauxa aabyxa1a ua eauxa.
Aabyxa ua Aabyxa ua Aabyxa ua Aabyxa ua C++ C++ C++ C++
Aabyxa1a ua eauxa axnkuaa:
- rnaauu1e u uanxu byxau ua na1uucxa1a aabyxa
- upu1e
- cneuanuu1e cuuaonu
+ - " / = { } | ] { } | : ` < > , . ! 0
# $ x ^
hnxou o1 1eau auau, no onpeeneuu npaauna, ca rpynupauu a yuu {nexceuu}
ua eauxa.
yuu ua yuu ua yuu ua yuu ua eauxa eauxa eauxa eauxa
yuu1e ua eauxa ca ueu1uuxa1opu, aanaaeuu u c1auap1uu yuu,
xouc1au1u, onepa1opu u npenuua1enuu auau.
heu1uuxa1opu
Peua o1 byxau, upu u auaxa aa nouep1aaaue {onua uep1a},
aanouaa|a c byxaa unu auaxa aa nouep1aaaue, ce uapuua ueu1uuxa1op ueu1uuxa1op ueu1uuxa1op ueu1uuxa1op.
hpuuepu:
Peuu1e o1 auau
A12 he1p e1p doub1e 1nf1512 afnumbe N11213 nf1512
ca ueu1uuxa1opu, a peuu1e
1ba ab+1 a{1} ab
ue ca ueu1uuxa1opu. 8 npaun cnyuau peua1a aanouaa cc upa, a a
oc1auanu1e - peuu1e cpa1 ueonyc1uuu aa ueu1uuxa1op auau.
heu1uuxa1opu1e uora1 a ca c npouaaonua nuua. 8 capeueuuu1e
xoununa1opu uaxcuuanuun1 bpou auau ua ueu1uuxa1opu1e uoe a ce
aaaaa, xa1o nopaabupa|a1a ce c1ouuoc1 e 32.
3abenexa: hpu ueu1uuxa1opu1e ce npaau paanuxa uey uanxu u rnaauu
byxau, 1axa he1p, e1p, LP, eLp u 1p ca paanuuuu ueu1uuxa1opu.
xpau xpau xpau xpau
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 10 o1 1
heu1uuxa1opu1e ce uanonaaa1 aa oauauaaaue ua uueua ua npoueunuau,
xouc1au1u, 1unoae, yuxuu, xnacoae, obex1u u pyru xounoueu1u ua
nporpauu1e.
hpenopxa: he aanouaau1e aamu1e ueu1uuxa1opu cc auaxa aa
nouep1aaaue. 1axuaa ueu1uuxa1opu ce uanonaaa1 o1 xoununa1opa ua C++ aa
a1pemuo npeuaauaueuue.
onnueuue: pea ue1aeauxa ua 5exyc-hayp, cuu1axcuc1 ua npoueunuau1e
ce onpeenn no cneuun uauuu:
<npoueunuaa> ::= <ueu1uuxa1op>
hnxou ueu1uuxa1opu ca peaepaupauu a eauxa.
3anaaeuu yuu
1oaa ca 1axuaa ueu1uuxa1opu, xou1o ce uanonaaa1 a nporpauu1e no
c1auap1eu, no npeaapu1enuo onpeeneu uauuu u xou1o ue uora1 a ba1
uanonaaauu no pyr uauuu. pea 1nx ce oauauaaa1 exnapauu, euuuuu,
onepa1opu, uouuxa1opu u pyru xouc1pyxuu. Peanuaaun1a v1sua1 C++ 6.0
cpa oxono 70 1axuaa yuu.
8 nporpaua1a Zad1.cpp ca uanonaaauu aanaaeuu1e yuu 1nf, doub1e,
efun.
C1auap1uu yuu
1oaa ca 1axuaa ueu1uuxa1opu, xou1o ce uanonaaa1 a nporpauu1e no
c1auap1eu, no npeaapu1enuo onpeeneu uauuu. 1eau ueu1uuxa1opu uora1 uora1 uora1 uora1
a ce uanonaaa1 u no pyru uauuuu, uanpuuep xa1o obuxuoaeuu
ueu1uuxa1opu.
8 nporpaua1a Zad1.cpp e uanonaaaua c1auap1ua1a yua couf.
hanpuuep,
#1nc1ude <1osfeam.h>
1nf ma1n{}
{1nf couf = 21
efun 0
}
e onyc1uua nporpaua ua C++. 8 uen ueu1uuxa1op1 couf e uanonaaau xa1o
uue ua npoueunuaa. hpaaeue1o ua onu1 aa uanonaaaue ua couf no c1auap1uun
uauuu aou o rpemxa. 1axa parueu11
#1nc1ude <1osfeam.h>
1nf ma1n{}
{1nf couf = 21
couf << couf << \n
efun 0
}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 11 o1 1
e ueonyc1uu.
hpenopxa: C1auap1uu1e yuu a ce uanonaaa1 cauo no c1auap1uun
uauuu.
Kouc1au1u
auua, xon1o ue uoe a be npoueunua, ce uapuua xouc1au1a xouc1au1a xouc1au1a xouc1au1a. hua
uucnoau, auaxoau, uuaoau u p. auoae xouc1au1u.
enu1e u peanuu1e uucna ca uucnoau xouc1au1u uucnoau xouc1au1u uucnoau xouc1au1u uucnoau xouc1au1u. enu1e uucna ce aanucaa1
xax1o a ua1eua1uxa1a u uora1 a ba1 aaaaauu a ece1uuua,
mec1uaece1uuua unu ocuuuua bpouua cuc1eua. Peanuu1e uucna ce aanucaa1 no
aa uauuua: aa opua1 c uxcupaua 1ouxa {uanpuuep, 2.34 -12345.09} u a
excnoueuuaneu opua1 {uanpuuep, 5.23e-3 u 5.23L-3 oauauaaa1 5.23
yuuoeuo c 10
-3
}.
hua hua hua hua, auaxoa uua auaxoa uua auaxoa uua auaxoa uua unu cuuaoneu uua cuuaoneu uua cuuaoneu uua cuuaoneu uua e xpauua peua o1 auau, orpaeuu a
xaauuxu. hanpuuep, peuu1e: 1oaa e uua., 1+23-34, e11o\n ca
uuaoae.
3abenexa: Onepa1op1
couf << e11o\n
uaaea apxy expaua noapaaa e11o u npeuec1aa xypcopa ua uoa pe.
Onepa1opu
8 C++ uua 1pu rpynu onepa1opu: apu1ue1uuuo - noruuecxu, ynpaannaa|u u
onepa1opu aa ynpaaneuue ua uuauuuua1a naue1.
- apu1ue1uuuo-noruuecxu onepa1opu
hapuua1 ce o|e apu1ue1uuuo-noruuecxu apu1ue1uuuo-noruuecxu apu1ue1uuuo-noruuecxu apu1ue1uuuo-noruuecxu onepauu onepauu onepauu onepauu. 1e peanuaupa1 ocuoauu1e
apu1ue1uuuu u noruuecxu onepauu xa1o: cbupaue {+}, uaaaaue {-},
yuuoeuue {"}, eneuue {/}, noruuecxo h {&&, and}, noruuecxo hhh {||,
o} u p. 8 nporpaua1a Zad1.cpp bnxa uanonaaauu " u +.
- ynpaannaa|u onepa1opu
1oaa ca xouc1pyxuu, xou1o ynpaannaa1 uauucnu1enuun npoec. 1axuaa ca
ycnoauun onepa1op, onepa1opa aa uxn, aa beaycnoaeu npexo u p.
- onepa1opu1e aa ynpaaneuue ua uuauuuua1a naue1
1e noaaonnaa1 no apeue ua uannueuue ua nporpaua1a a be aaennua u
co1ae1uo ocaoboaaaua uuauuuua naue1.
hpenuua1enuu auau
hanonaaa1 ce < > { } { } u p. auau.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 12 o1 1
Paaennue ua yuu1e Paaennue ua yuu1e Paaennue ua yuu1e Paaennue ua yuu1e
8 C++ paaenu1enu1e ua yuu1e ca uu1epaan1, aep1uxanua1a u
xopuaou1anua1a 1abynauu u auax1 aa uoa pe.
Koueu1apu Koueu1apu Koueu1apu Koueu1apu
Koueu1apu1e ca 1exc1oae, xou1o ue ce obpabo1aa1 o1 xoununa1opa, a
cnya1 cauo xa1o noncueuun aa nporpauuc1u1e. 8 C++ uua aa uauuua aa
oauauaaaue ua xoueu1apu. Luuun1 uauuu e, 1exc11 a ce orpau c /" u "/.
hanonaaaxue ro aeue a Zad1.cpp. 1eau xoueu1apu ue uora1 a ba1 anarauu.
pyrun1 uauuu ca xoueu1apu1e, xou1o aanouaa1 c // u aaapmaa1 c xpan ua
1exy|un pe.
Koueu1apu1e ca onyc1uuu uaacnxe, xe1o e onyc1uu paaenu1en.
3abenexa: he ce npenopuaa uanonaaaue1o ua xoueu1apu o1 aua // a
peoae1e ua upex1uau1e ua xoununa1opa.
2.3. 8xo u uaxo 2.3. 8xo u uaxo 2.3. 8xo u uaxo 2.3. 8xo u uaxo
hporpaua Zad1.cpp uauupa nepuue1pa u nue1o cauo ua npaaornuux cc
c1pauu 2.3 u 3.7. hexa pemuu 1aau aaaua a ob|un cnyuau.
3aaua 2. 3aaua 2. 3aaua 2. 3aaua 2. a ce uanume nporpaua, xon1o aaea paauepu1e ua
npaaornuux u uauupa nepuue1pa u nue1o uy.
hporpaua1a Zad2.cpp pemaaa 1aau aaaua.
Pogam Zad2.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{// aaeaue ua eua1a c1paua
couf << "a= "
doub1e a
c1n >> a
// aaeaue ua pyra1a c1paua
couf << "b= "
doub1e b
c1n >> b
// uauupaue ua nepuue1pa
doub1e p
p = 2"{a+b}
// uauupaue ua nue1o
doub1e s
s = a"b
// uaaeaue ua nepuue1pa
couf << "p= " << p << "\n"
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 13 o1 1
// uaaeaue ua nue1o
couf << "s= " << s << "\n"
efun 0
}
Kora1o nporpaua1a be c1ap1upaua, apxy expaua |e ce nonau noce|aue1o
a=
xoe1o e noxaua aa aaeaue paauepu1e ua eua1a c1paua ua npaaornuuxa.
Kypcop1 c1ou cne auaxa =. Ouaxaa ce a be aaeeuo uucno {nno unu
peanuo}, cne xoe1o a be ua1ucua1 xnaaum1 N1.
Cneaa noxaua aa aaeaue ua c1ouuoc1 aa pyra1a c1paua ua
npaaornuuxa, cne xoe1o nporpaua1a |e uaaee peayn1a1a u |e aaapmu
uannueuue1o cu.
8aeaue1o ua c1ouuoc11a ua npoueunuaa1a a ce oc|ec1anaa c onepa1opa
aa axo
c1n >> a
Obex11 c1n e uue1o ua c1auap1uun axoeu no1ox, obuxuoaeuo xnaaua1ypa1a
ua xounk1pa. hannueuue1o uy aou o nayaa o aaeaue ua uucno u
ua1ucxaue ua xnaauma N1. hexa aa c1ouuoc1 ua a e aaeeuo 5.65,
cneaauo o1 N1. 8 byepa ua xnaaua1ypa1a ce aanucaa
c1n
Cne uannueuue1o ua
c1n >> a
npoueunuaa1a a ce capaaa c 5.65, a a byepa ua xnaaua1ypa1a oc1aaa
auax1 \n, 1.e.
c1n
Oh
a
5.65
8aeaue1o ua c1ouuoc11a ua npoueunuaa1a b ce oc|ec1anaa c onepa1opa
aa axo
c1n >> b
hannueuue1o uy aou o nayaa o aaeaue ua uucno u ua1ucxaue ua
xnaauma N1. hexa e aaeeuo .3, cneaauo o1 N1. 8 byepa ua
xnaaua1ypa1a uuaue:
c1n
5 . 6 5 \n
\n
\n 8 . 3 \n
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 14 o1 1
hannueuue1o ua onepa1opa
c1n >> b
npecxaua auaxa \n, capaaa .3 c npoueunuaa1a b, a a byepa ua
xnaaua1ypa1a o1uoao oc1aaa auax1 \n, 1.e.
c1n
Oh
a b
5.65 .3
pea onepa1opa aa axo uora1 a ce aaea1 c1ouuoc1u ua noaeue o1
eua npoueunuaa. 4ur. 6 cpa no-nnuo ueroao onucauue.
8xo1 o1 xnaaua1ypa1a e byepupau. 1oaa oauauaaa, ue acnxa peua o1
ua1ucua1u xnaaumu ce paarnea xa1o naxe1, xou1o ce obpabo1aa uax cne
xa1o ce ua1ucue xnaaum1 N1.
Onepa1op aa axo >> Onepa1op aa axo >> Onepa1op aa axo >> Onepa1op aa axo >>
Cuu1axcuc
c1n >> <npoueunuaa>
xe1o
- c1n e obex1 {npoueunuaa} o1 xnac {1un} 1sfeam, capaau c
xnaaua1ypa1a,
- <npoueunuaa> e ueu1uuxa1op, euuupau, xa1o npoueunuaa o1
onyc1uu 1un, npeu onepa1opa aa aaeaue. {1unoae1e 1nf, 1ong, doub1e
ca onyc1uuu}.
Ceuau1uxa
haanuua {aaea} o1 c1n {xnaaua1ypa1a} nopeua1a yua u n npexapnn a
apryueu1a-npueuuux <npoueunuaa>. Kouc1pyxun1a
c1n >> <npoueunuaa>
e uapaa o1 1un 1sfeam cc c1ouuoc1 neaun uy apryueu1, 1.e. peayn1a11 o1
uannueuue1o ua onepa1opa >> e c1n. 1oaa noaaonnaa unxonxo yuu a ba1
uaanuuauu upea aepura o1 onepa1opu >>.
Cneoaa1enuo, onyc1uu e cneuun1 no-ob| cuu1axcuc ua >>:
c1n >> <npoueunuaa> { >> <npoueunuaa>}
Onepa1op1 >> ce uannunaa o1nnao uancuo. 1axuaa onepa1opu ce uapuua1
nnao acoua1uauu. 1axa onepa1op1
c1n >> npoueunuaa
1
>> npoueunuaa
2
>> . >> npoueunuaa
n

e exauaaneu1eu ua peua1a o1 onepa1opu:


c1n >> npoueunuaa
1

\n
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 15 o1 1
c1n >> npoueunuaa
2

.
c1n >> npoueunuaa
n

Ocaeu 1oaa, axo onepaun1a aaeaue e aaapmuna ycnemuo, cc1onuue1o


ua c1n e fue, a npo1uaeu cnyuau cc1onuue1o ua c1n e a1se.
4ur. 6.
8 cnyuan o1 4ur. 6, uac1naa nayaa. Koununa1op1 ouaxaa a ba1
aaeeuu n c1ouuoc1u - aa npoueunuaa
1
,

npoueunuaa
2,
, ., npoueunuaa
n
,
co1ae1uo u be ua1ucua1 xnaaum1 N1. 1eau c1ouuoc1u 1pnbaa a ba1
aaeeuu no noxon| uauuu {ua euu pe, ua o1enuu peoae unu no unxonxo
auuu ua nocneoaa1enuu peoae, cneneuu unu paaeneuu c uu1epaanu,
1abynauu unu auaxa aa uoa pe}, xa1o c1ouuoc1
1
1pnbaa a be o1 1un,
cauec1uu c 1una ua npoueunuaa
1
{1 = 1, 2, ., n}.
hpuuep: a paarneaue nporpauuun parueu1:
doub1e a, b, c
c1n >> a >> b >> c
Onepa1op1 aa axo uaucxaa a ba1 aaeeuu 1pu peanuu uucna aa a, b
u c co1ae1uo. Axo ce aaea1
1.1 2.2 3.3 N1
npoueunuaa1a a |e ce cape c 1.1, b - c 2.2 u c - cc 3.3. C|un1
peayn1a1 |e ce nonyuu, axo ce aaee
1.1 2.2 N1
3.3 N1
unu
1.1 N1
2.2 3.3 N1
unu
1.1 N1
2.2 N1
3.7 N1
unu ae axo ce aaee
1.12.23.34.4 N1
8 nocneuun cnyuau, c1ouuoc11a 4.4 |e oc1aue ueobpabo1eua a byepa ua
xnaaua1ypa1a u |e obcnyu cneaa|o ue1eue, axo uua. 1oau uauuu ua
euc1aue caceu ue e npueunua. O|e no-nomo |e c1aue xora1o ce aaea1
auuu o1 uenoxon| 1un.
hpuuep: a paarneaue parueu1a:
1nf a
c1n >> a
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 16 o1 1
1ou euuupa enouucneua npoueunuaa a {a e npoueunuaa o1 1un 1nf}, cne
xoe1o uac1naa nayaa a ouaxaaue a be aaeeuo nno uucno. hexa cue
aaenu 1.25, cneaauo o1 N1. Cc1onuue1o ua byepa ua xnaaua1ypa1a e:
c1n
Onepa1op1
c1n >> a
capaaa a c 1, uo ue npecxaua oc1auana1a uuopuaun o1 byepa u 1n |e
obcnyu cneaa|o ue1eue, xoe1o aou o uenpecxaayeu peayn1a1. O|e no-
uenpun1ua e cu1yaun1a, xora1o auec1o nno uucno aa c1ouuoc1 ua a ce
aaee unxaxa uua, uanpuuep one, cneaau o1 N1. 8 1oau cnyuau,
uannueuue1o ua
c1n >> a
|e oaee o
c1n
u
Oh
a
-
1.e. c1ouuoc11a ua npoueunuaa1a a ue ce npoueun {oc1aaa ueonpeeneua}, a
byep1 ua xnaaua1ypa1a uanaa a cc1onuue a11. 3a caneuue cuc1eua1a
ue uaaea cob|euue aa rpemxa, xoe1o a yaeouu aa aauuxuanun npobneu.
3acera npenopuaaue aaeaue1o ua xopex1uu axouu auuu.
hpeyonnaaue1o ua ueoc1a1u1e, unkc1pupauu no-rope, |e paarneaue a
cneaa|u1e uac1u ua xuura1a.
8eue uanonaaaxue onepa1opa aa uaxo. 4ur. 7 onucaa ueroau1e cuu1axcuc
u ceuau1uxa.
2.4. C1pyx1ypa ua nporpaua1a ua C++ 2.4. C1pyx1ypa ua nporpaua1a ua C++ 2.4. C1pyx1ypa ua nporpaua1a ua C++ 2.4. C1pyx1ypa ua nporpaua1a ua C++
Kora1o nporpaua1a e uanxa, ec1ec1aeuo e enun1 u xo a be aanucau a
euu aun. Kora1o nporpauu1e ca no-roneuu unu xora1o ce pabo1u a
xonex1ua, cu1yaun1a e no-paanuuua. hanara ce a ce paaenu xo1 a
o1enuu uaxouu {souce} aunoae. hpuuuuu1e, nopau xou1o ce uanara
paaennue1o, ca cneuu1e. Koununupaue1o ua aun o1ueua apeue u e rnynaao
1 . 2 5 \n
o n e \n cc1onuue cc1onuue cc1onuue cc1onuue a11
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 17 o1 1
a ce uaxa xoununa1op1 a 1paucnupa o1uoao u o1uoao xo, xou1o ue e bun
npoueunu. 1pnbaa a ce xoununupa1 cauo aunoae1e, xou1o ca bunu
npoueunuu.
Onepa1op aa uaxo << Onepa1op aa uaxo << Onepa1op aa uaxo << Onepa1op aa uaxo <<
Cuu1axcuc
couf << <uapaa>
xe1o
- couf e obex1 {npoueunuaa} o1 xnac {1un} osfeam u npeaapu1enuo
capaau c expaua ua xounk1pa
- <uapaa> e uapaa o1 onyc1uu 1un. hpec1aaa1a aa uapaa nponaaa a
be 1aau o1 ua1eua1uxa1a. onyc1uuu 1unoae ca boo1, 1nf, shof, 1ong,
doub1e, 1oaf u p.
Ceuau1uxa
Onepa1op1 << uanpa|a {uaaea} xu {apxy} couf {expaua ua
xounk1pa} c1ouuoc11a ua <uapaa>. Kouc1pyxun1a
couf << <uapaa>
e uapaa o1 1un osfeam u uua c1ouuoc1 npaun uy apryueu1, 1.e.
peayn1a11 o1 uannueuue1o ua onepa1opa << a ropuun cnyuau e couf. 1oaa
noaaannaa upea aepura o1 onepa1opu << a ba1 uaaeeuu c1ouuoc1u1e ua
noaeue o1 euu <uapaa>, 1.e. onyc1uu e cneuun1 no-ob| cuu1axcuc:
couf << <uapaa> { << <uapaa>}
Onepa1op1 << ce uannunaa o1nnao uancuo {nnao acoua1uaeu e}. 1axa
onepa1op1
couf << uapaa
1
<< uapaa
2
<< . << uapaa
n
e exauaaneu1eu ua peua1a o1 onepa1opu:
couf << uapaa
1

couf << uapaa


2

.
couf << uapaa
n

4ur. 7.
pyra npuuuua e pabo1a1a a xonex1ua. 5u buno 1pyuo uuoro nporpauuc1u
a peax1upa1 euoapeueuuo euu aun. 3a1oaa xo1 ua nporpaua1a ce
paaenn 1axa, ue acexu nporpauuc1 a o1roaapn aa euu unu unxonxo
aunoae.
Axo nporpaua1a ce cc1ou o1 unxonxo auna, 1pnbaa a ce xae ua
xoununa1opa xax a xoununupa u uarpau nna1a nporpaua. 1oaa |e uanpaauu
a cneaa|u1e paaenu. Cera |e aeu uau-ob|a npec1aaa aa c1pyx1ypa1a ua
uaxouu1e aunoae. |e ru uapuuaue o|e uoynu.
haxouu1e aunoae ce oprauuaupa1 no cneuun uauuu:
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 1 o1 1
<uaxoeuaun> ::= <aarnaaeubnoxcxoueu1apu>
<aarnaauuaunoae>
<xouc1au1u>
<xnacoae>
<rnobanuunpoueunuau>
<yuxuu>
3arnaaeu bnox c xoueu1apu
8cexu uoyn aanouaa cc aarnaaeu bnox c xoueu1apu, aaa|u uuopuaun
aa en1a uy, uanonaaauun xoununa1op u onepauouua cpea, aa uue1o ua
nporpauuc1a u a1a1a ua caaaaue1o uy. 3arnaauun1 xoueu1ap uoe a
cpa aabenexu, capaauu c onucauun ua c1pyx1ypu o1 auuu, apryueu1u,
opua1 ua aunoae, npaauna, yroaopxu.
3arnaauu aunoae
8 1aau uac1 ua uoyna ca uabpoeuu acuuxu ueobxouuu aarnaauu aunoae.
hanpuuep
#1nc1ude <1osfeam.h>
#1nc1ude <cmafh.h>
3abennaaaue, ue aa paaenu1en e uanonaaau auax1 aa uoa pe, a ue .
Kouc1au1u
8 1aau uac1 ce onucaa1 xouc1au1u1e, ueobxouuu aa uoyna. 8eue uuaue
unxaxaa uuuuuanua npec1aaa aa 1nx. ho-nopobuo onucauue ua cuu1axcuca u
ceuau1uxa1a uu e aeua ua 4ur. . 3a a be nporpaua1a no-necua aa
ue1eue u uouuupaue, e noneauo a ce aaa1 cuuaonuuuu uueua ue cauo ua
npoueunuau1e, a u ua xouc1au1u1e. 1oaa c1aaa upea euuupaue1o ua
xouc1au1u.
3aaua 3 3aaua 3 3aaua 3 3aaua 3. a ce uanume nporpaua, xon1o aaea pauyca ua oxpuoc1 u
uauupa u uaaea nuua1a ua oxpuoc11a u nue1o ua xpra c aeuun
pauyc.
Lua nporpaua, xon1o pemaaa aaaua1a e cneua1a:
Pogam Zad3.cpp
#1nc1ude <1osfeam.h>
consf doub1e P = 3.14159265359
1nf ma1n{}
{ doub1e
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 19 o1 1
couf << =
c1n >>
doub1e p = 2 " P "
doub1e s = P " "
couf << p= << p << \n
couf << s= << s << \n
efun 0
}
8 1aau nporpaua e euuupaua peanua xouc1au1a c uue P u c1ouuoc1
3.14159265359, cne xoe1o e uanonaaauo uue1o P.
euuupaue ua xouc1au1u euuupaue ua xouc1au1u euuupaue ua xouc1au1u euuupaue ua xouc1au1u
Cuu1axcuc
consf <uueua1un> <uueuaxouc1au1a> = <uapaa>
xe1o
consf e aanaaeua yua {cxpa|euue o1 consfanf}
<uueua1un> e ueu1uuxa1op, oauauaaa| uue ua 1un
<uueuaxouc1au1a> e ueu1uuxa1op, obuxuoaeuo cc1on| ce o1 rnaauu
byxau, aa a ce paanuuaaa auayanuo o1 npoueunuau1e.
<uapaa> e uapaa o1 1un, cauec1uu c <uueua1un>.
Ceuau1uxa
Capaaa <uueuaxouc1au1a> cc c1ouuoc11a ua <uapaa>. hpaaeue1o ua
onu1 a be npoueunua c1ouuoc11a ua xouc1au1a1a npeuaauxaa rpemxa.
4ur. .
hpuuepu:
consf 1nf AN1 = 32767
consf doub1e = 2.5 " AN1
hpeuuc1aa ua exnapupaue1o ua xouc1au1u1e:
- hporpauu1e c1aaa1 no-ncuu u ue1nuau.
- hecuo {cauo ua euo unc1o} ce npoueun1.
- 8epon1uoc11a aa rpemxu, aauouu npu uuoroxpa1uo1o uanucaaue ua
c1ouuoc11a ua xouc1au1a1a, uauannaa.
3abenexa: 1u xa1o a nporpaua1a Zad3.cpp e uanonaaaua cauo eua
yuxun {ma1n}, exnapaun1a ua xouc1au1a1a P uoe a ce noc1aau aa
yuxun1a ma1n, npeu npao1o ueuuo uanonaaaue.
Knacoae
1aau uac1 cpa euuuuu1e ua xnacoae1e, uanonaaauu a uoyna.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 20 o1 1
8 eauxa C++ uua c1auap1eu uabop o1 1unoae auuu xa1o 1nf, doub1e,
1oaf, cha, sf1ng u p. 1oau uabop uoe a be paamupeu upea
euuupaue1o ua xnacoae.
euuupaue1o ua xnac aaea uoa 1un, xou1o uoe a be uu1erpupau a
eauxa. Knacoae1e ca a ocuoaa1a ua obex1uo-opue1upauo1o nporpauupaue, aa
xoe1o e npeuaauaueu eauxa C++.
euuupaue1o u uanonaaaue1o ua xnacoae |e be paarneauo no-xcuo.
nobanuu npoueunuau
Laux1 nopa rnobanuu npoueunuau. 1e ca npoueunuau, xou1o ce
euuupa1 uaau yuxuu1e u xou1o ca auuuu aa acuuxu yuxuu,
euuupauu cne 1nx. exnapupa1 ce xax1o ce euuupa1 pyru1e {noxanuu1e}
npoueunuau. hanonaaaue1o ua uuoro rnobanuu npoueunuau e nom c1un aa
nporpauupaue u ue ce npenopuaa. 8cnxa rnobanua npoueunuaa 1pnbaa a e
cnpoaoeua c xoueu1ap, obncunaa| npeuaauaueuue1o u.
4yuxuu
8cexu uoyn aanu1enuo cpa yuxun ma1n. 8auouo e a cpa u
pyru yuxuu. 1oraaa 1e ce uabponaa1 a 1aau uac1 ua uoyna. Axo
yuxuu1e ca nopeeuu 1axa, ue acnxa o1 1nx e euuupaua npeu a be
uaauxaua, 1oraaa ma1n 1pnbaa a be nocneua. 8 npo1uaeu cnyuau, a
uauano1o ua 1aau uac1 ua uoyna, 1pnbaa a ce exnapupa1 exnapupa1 exnapupa1 exnapupa1 acuuxu yuxuu.
3aauu 3aauu 3aauu 3aauu
3aaua 1. 3aaua 1. 3aaua 1. 3aaua 1. Kou o1 cneuu1e peuu o1 auau ca ueu1uuxa1opu, xou ue u
aa|o?
a} a b} x1 a} x
1
r} x } x1x2
e} s1n } s1n x a} cos{x} u} x-1 x} 2a
n} m1n 1 u} 8efa u} a1+a2 o} km n} s1nx
3aaua 2. 3aaua 2. 3aaua 2. 3aaua 2. hauepe1e cuu1ax1uuuu1e rpemxu a cneaa|a1a nporpaua:
1nc1ude <1osfeam>
1nf a1n{}
{ couf >> a, b =
c1n << a, b
couf << 1he poducf o << a << and << b << 1s:
<< a"b < \n
efun 0
}
3aaua 3. 3aaua 3. 3aaua 3. 3aaua 3. hanume1e nporpaua, xon1o paaueun c1ouuoc1u1e ua ae uucnoau
npoueunuau.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 21 o1 1
3aaua 4. 3aaua 4. 3aaua 4. 3aaua 4. hanume1e nporpaua, xon1o uauupa uuuuuanuo1o {uaxcuuanuo1o}
o1 ae enu uucna.
3aaua 5. 3aaua 5. 3aaua 5. 3aaua 5. hanume1e nporpaua, xon1o uanucaa c rnaauu byxau 1exc1a
e11o o1d.
xn1aaue: onnua1a byxaa uoe a ce npec1aau 1axa:
o o
o o
o o
ooooo
o o
o o
o o
u a ce peanuaupa no cneuun uauuu:
cha" 1ef = o o\no o\no o\nooooo\no o\no o\no o\n
xe1o cha" oauauaaa 1un uua.
Cxanapuu 1unoae auuu
Laux1 C++ e uaxnkuu1enuo uo|eu no o1uomeuue ua 1unoae1e auuu,
xou1o npu1eaaa. hau-ob|o, 1unoae1e uy uora1 a ba1 paaeneuu ua:
arpaeuu arpaeuu arpaeuu arpaeuu u abc1pax1uu abc1pax1uu abc1pax1uu abc1pax1uu.
8rpaeuu1e 1unoae ca npeaapu1enuo euuupauu u ce nopa1 o1
ueroao1o npo.
Abc1pax1uu1e 1unoae ce euuupa1 o1 nporpauuc1a. 3a en1a ce
onpeenn1 co1ae1uu xnacoae.
Lua uennua xnacuuxaun ua arpaeuu1e 1unoae auuu e aeua ua 4ur.
1.
8rpaeuu 1unoae auuu
Cxanapuu 1unoae Cc1aauu 1unoae
5ynea uacua
ucnoau 1unoae aex1op
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 22 o1 1
habpoeu
xxaaa1en
hceaouuu
4ur. 1.
Cxanapuu ca 1unoae1e auuu, xou1o ce cc1on1 o1 eua xounoueu1a
{uucno, auax u p.}.
Cc1aauu 1unoae ca oueau 1unoae auuu, xounoueu1u1e ua xou1o ca peuu
o1 eneueu1u.
1un1 yxaaa1en aaa cpec1aa aa uuauuuuo paanpeeneuue ua naue11a.
8 1aau rnaaa |e paarneaue cauo unxou cxanapuu 1unoae auuu.
8cexu 1un ce onpeenn c uuoec1ao o1 onyc1uuu c1ouuoc1u uuoec1ao o1 onyc1uuu c1ouuoc1u uuoec1ao o1 onyc1uuu c1ouuoc1u uuoec1ao o1 onyc1uuu c1ouuoc1u {uuoec1ao o1
c1ouuoc1u} u onepauu u arpaeuu yuxuu onepauu u arpaeuu yuxuu onepauu u arpaeuu yuxuu onepauu u arpaeuu yuxuu, xou1o uora1 a ce npunara1 ua
eneueu1u1e o1 uuoec1ao1o o1 c1ouuoc1u1e uy.
3.1. horuuecxu 1un 3.1. horuuecxu 1un 3.1. horuuecxu 1un 3.1. horuuecxu 1un
hapuua ce o|e bynea 1un a uec1 ua . 5yn, aurnuucxu norux, noc1aaun
ocuoau1e ua ua1eua1uuecxa1a noruxa.
1un1 e c1auap1eu, arpaeu a peanuaaun1a. 3a oauauaaaue1o uy ce
uanonaaa aanaaeua1a yua boo1 {cxpa|euue o1 boo1ean}.
Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u
Cc1ou ce o1 aa eneueu1a - c1ouuoc1u1e fue {uc1uua} u a1se {na}.
1eau c1ouuoc1u ce uapuua1 o|e byneau xouc1au1u byneau xouc1au1u byneau xouc1au1u byneau xouc1au1u.
<byneaaxouc1au1a> ::= fue | a1se.
hpoueunuaa aenuuuua, uuoec1ao1o o1 onyc1uuu1e c1ouuoc1u, ua xon1o
canaa c uuoec1ao1o o1 c1ouuoc1u ua 1una bynea, ce uapuua byneaa byneaa byneaa byneaa unu
noruuecxa npoueunuaa noruuecxa npoueunuaa noruuecxa npoueunuaa noruuecxa npoueunuaa unu npoueunuaa o1 1un bynea npoueunuaa o1 1un bynea npoueunuaa o1 1un bynea npoueunuaa o1 1un bynea. euuupa ce no
obuuauuun uauuu.
hpuuepu:
boo1 b1, b2
boo1 b3 = a1se
euuuun1a capaaa byneau1e npoueunuau c uuoec1ao1o o1 c1ouuoc1u ua
1una bynea unu c xouxpe1ua c1ouuoc1 o1 1oaa uuoec1ao xa1o o1enn no 1
bau1 onepa1uaua naue1 aa acnxa o1 1nx. Cpauue1o ua 1aau naue1 e
ueonpeeneuo unu e byneaa1a xouc1au1a, capaaua c euuupaua1a
npueunuaa, a cnyuau, ue 1n e uuuuanuaupaua.
Cne euuuun1a o1 npuuepa no-rope, uuaue:
Oh
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 23 o1 1
b1 b2 b3
- - a1se
1 bau1 1 bau1 1 bau1
Cpauue1o ua naue11a, uueuyaaua c b1 u b2 e ueonpeeneuo, a 1oaa ua
uueuyaaua1a c b3 e a1se. 8 c|uoc1, auec1o a1se a naue11a e aanucau
xo1 {a1pemuo1o npec1aanue} ua a1se - 0.
81pemuu1e npec1aanuun ua byneau1e xouc1au1u ca:
a1se 0
fue 1
Onepauu u arpaeuu yuxuu Onepauu u arpaeuu yuxuu Onepauu u arpaeuu yuxuu Onepauu u arpaeuu yuxuu
horuuecxu onepauu horuuecxu onepauu horuuecxu onepauu horuuecxu onepauu
Koukuxun {noruuecxo yuuoeuue}
1n e ayapryueu1ua {buuapua} onepaun. Oauauaaa ce c and unu && {aa
v1sua1 C++, 6.0} u ce euuupa no cneuun uauuu:
A 8 A and 8
a1se a1se a1se
a1se ue a1se
fue a1se a1se
fue fue fue
Onepaun1a ce noc1aan uey aa1a cu apryueu1a. 1axuaa onepauu ce
uapuua1 uuuxcuu uuuxcuu uuuxcuu uuuxcuu.
uakuxun {noruuecxo cbupaue}
1n e buuapua, uuuxcua onepaun. Oauauaaa ce c o unu || {aa v1sua1
C++, 6.0} u ce euuupa no cneuun uauuu:
A 8 A o 8
a1se a1se a1se
a1se fue fue
fue a1se fue
fue fue fue
horuuecxo o1puauue
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 24 o1 1
1n e euoapryueu1ua {yuapua} onepaun. Oauauaaa ce c nof unu ! {aa
v1sua1 C++, 6.0} u ce euuupa no cneuun uauuu:
A nof A
a1se fue
fue a1se
hoc1aan ce npe euuc1aeuun cu apryueu1. 1axuaa onepa1opu ce uapuua1
npeuxcuu npeuxcuu npeuxcuu npeuxcuu.
3abenexa: Moe a unua paaenu1en uey onepa1opa ! u xouc1au1u1e
fue u a1se, 1.e. aanucu1e !fue u !a1se ca onyc1uuu.
onnueuue: Cuucn1 ua onepa1opu1e and, o u nof e paamupeu upea
paamupnaaue cuucna ua byneau1e xouc1au1u. hpue1o e, ue fue e acnxa
c1ouuoc1, paanuuua o1 0 u ue a1se e c1ouuoc11a 0.
Onepauu aa cpaaueuue Onepauu aa cpaaueuue Onepauu aa cpaaueuue Onepauu aa cpaaueuue
ha byneau1e auuu uora1 a ce uaapmaa1 cneuu1e uuuxcuu onepauu
aa cpaaueuue:
== - aa paauo
!= - aa paanuuuo
> - aa no-ronnuo
>= - aa no-ronnuo unu paauo
< - aa no-uanxo
<= - aa no-uanxo unu paauo
Cpaaunaa1 ce xooae1e.
hpuuepu:
a1se < fue e fue
a1se > a1se e a1se
fue >= a1se e fue
8aeaue
he e aauouo aaeaue ua c1ouuoc1 ua byneaa npoueunuaa upea
onepa1opa >>, 1.e. onepa1op1
c1n >> b1
e ueonyc1uu, xe1o b1 e byneaa1a npoueunuaa, euuupaua no-rope.
haaeaue haaeaue haaeaue haaeaue
Oc|ec1anaa ce upea onepa1opa
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 25 o1 1
couf << <byneaaxouc1au1a>
unu no-ob|o
couf << <byneauapaa>
xe1o cuu1ax1uuua1a xa1eropun <byneauapaa> e onpeeneua no-ony.
haaea ce xo1 ua byneaa1a xouc1au1a unu xo1 ua byneaa1a
xouc1au1a, xon1o e c1ouuoc1 ua <byneauapaa>.
5yneau uapaau 5yneau uapaau 5yneau uapaau 5yneau uapaau
5yneau1e uapaau ca npaauna aa nonyuaaaue ua byneaa c1ouuoc1. euuupa1
ce pexypcuauo no cneuun uauuu:
5yneau1e xouc1au1u ca byneau uapaau.
5yneau1e npoueunuau ca byneau uapaau.
hpunaraue1o ua byneau1e onepa1opu nof {!}, and {&&}, o {||} ua
byneau uapaau e bynea uapaa.
hpunaraue1o ua onepauu1e aa cpaaueuue ==, !=, >, >=, <, <= xu
byneau uapaau e bynea uapaa.
hpuuepu: hexa uuaue euuuun1a
boo1 b, b1, b2
Cneuu1e uapaau ca byneau:
fue b b1 b2 !a1se !!b !b1 || b2
!!!b && !!!!!b2 b < !b2 a1se >= b b1 == b2 > b b != b1
1aau euuuun e uennua. |e o1beneuu cauo, ue cpaaueuue1o ua
apu1ue1uuuu uapaau upea uabpoeuu1e no-rope onepauu aa cpaaueuue, e bynea
uapaa. Ocaeu 1oaa, apu1ue1uueu uapaa, noc1aaeu ua unc1o, xe1o
cuu1axcuc1 uaucxaa bynea uapaa, uannunaa ponn1a ua bynea uapaa. 1oaa e
peayn1a1 o1 paamupnaaue1o cuucna ua byneau1e xouc1au1u fue u a1se,
upea npueuaue1o acnxa c1ouuoc1, paanuuua o1 0 a ce uu1epnpe1upa xa1o
fue u 0 a ce uu1epnpe1upa xa1o a1se.
3acera o1naraue paarneaue1o ua ceuau1uxa1a ua byneau1e uapaau. 1oaa
|e uanpaauu cne paarneaue ua apu1ue1uuuu1e uapaau.
3.2. ucneuu 1unoae 3.2. ucneuu 1unoae 3.2. ucneuu 1unoae 3.2. ucneuu 1unoae
3.2.1. enouucneuu 1unoae 3.2.1. enouucneuu 1unoae 3.2.1. enouucneuu 1unoae 3.2.1. enouucneuu 1unoae
|e paarneaue enouucneuun 1un 1nf.
1un1 e c1auap1eu, arpaeu a peanuaaun1a ua eauxa. 3a oauauaaaue1o
uy ce uanonaaa aanaaeua1a yua 1nf.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 26 o1 1
Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u
Muoec1ao1o o1 c1ouuoc1u ua 1una 1nf aaaucu o1 xapyepa u
peanuaaun1a u ue ce euuupa o1 AN5 {Ame1can Naf1ona1 5fandafs
nsf1fufe}. Cc1ou ce o1 enu1e uucna o1 unxaxa uu1epaan. 3a
peanuaaun1a v1sua1 C++ 6.0, 1oaa e uu1epaan1 |-21474364, 214743647].
enu1e uucna ce aanucaa1 xa1o a ua1eua1uxa1a, 1.e.
<nnouucno> ::= |+|-]<nnobeaauax>
<nnobeaauax> ::= <upa>|
<upa><nnobeaauax>
<upa> ::= 0| 1| . |9.
Obuxuoaeuo auax1 + ce nponycxa.
onnueuue: enu1e uucna uora1 a ca a ece1uuua, ocuuuua u
mec1uaece1uuua noauuouua cuc1eua. Ocuuuuu1e uucna aanouaa1 c 0 {uyna},
a mec1uaece1uuuu1e - c 0x {uyna, x}.
Lneueu1u1e o1 uuoec1ao1o o1 c1ouuoc1u ua 1una 1nf ce uapuua1
xouc1au1u o1 1un xouc1au1u o1 1un xouc1au1u o1 1un xouc1au1u o1 1un 1nf 1nf 1nf 1nf.
hpoueunuaa aenuuuua, uuoec1ao1o o1 onyc1uuu1e c1ouuoc1u, ua xon1o
canaa c uuoec1ao1o o1 c1ouuoc1u ua 1una 1nf, ce uapuua nna npoueunuaa uapuua nna npoueunuaa uapuua nna npoueunuaa uapuua nna npoueunuaa
unu npoueunuaa npoueunuaa npoueunuaa npoueunuaa o1 1un 1nf o1 1un 1nf o1 1un 1nf o1 1un 1nf.
euuupa ce no obuuauuun uauuu. euuuun1a capaaa npoueunuau1e o1
1un 1nf c uuoec1ao1o o1 c1ouuoc1u ua 1una 1nf unu c xouxpe1ua c1ouuoc1
o1 1oaa uuoec1ao xa1o o1enn no 4 bau1a {1 yua} onepa1uaua naue1 aa
acnxa o1 1nx. Axo npoueunuaa1a ue e buna uuuuanuaupaua, cpauue1o ua
capaua1a c uen naue1 e ueonpeeneuo, a a npo1uaeu cnyuau - cpa
yxaaaua1a npu uuuuanuaaun1a c1ouuoc1.
hpuuepu:
1nf 1
1nf = 56
Cne 1eau euuuuu, uuaue:
Oh
1
- 56
4 bau1a 4 bau1a
Onepauu u arpaeuu yuuu
Apu1ue1uuuu onepauu
xuapuu onepauu
3anucaa1 ce npe unu cne euuc1aeuun cu apryueu1.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 27 o1 1
+, - ca npeuxcuu onepauu. ho1apaaa1 unu npoueun1
auaxa ua apryueu1a cu.
hpuuepu: hexa
1nf 1 = 12, = -7
Cneuu1e oauaueuun cpa1 yuapua onepaun + unu -:
-1 + - +1 -567
5uuapuu onepauu
hua1 aa apryueu1a. Cneuu1e apu1ue1uuuu onepauu ca uuuxcuu:
+ - cbupaue
- - uaaaaue
" - yuuoeuue
/ - enouucneuo eneuue
x - oc1a1x o1 enouucneuo eneuue.
hpuuepu:
15 - 1235 = -1220 13 / 5 = 2
15 + 1235 = 1250 13 x 5 = 3
-15 " 123 = -145 23 x 3 = 2
3abenexa: onyc1uuo e uanonaaaue1o ua aa auaxa aa apu1ue1uuuu
onepauu, uo euuun1 1pnbaa a e yuapeu. hanpuuep, onyc1uuu ca 5-+4, 5+-
4, uua|u c1ouuoc1 1, a c|o 5"-4, paauo ua -20.
horuuecxu onepauu horuuecxu onepauu horuuecxu onepauu horuuecxu onepauu
horuuecxu1e onepauu xoukuxun, uakuxun u o1puauue uora1 a ce
npunara1 ua enouucneuu xouc1au1u. euuupa1 ce no c|un uauuu, xa1o
enu1e uucna, xou1o ca paanuuuu o1 0 ce uu1epnpe1upa1 fue, a 0 - xa1o
a1se.
hpuuepu:
123 and 0 e a1se
0 o 15 e fue
nof 67 e a1se
Onepauu aa cpaaueuue Onepauu aa cpaaueuue Onepauu aa cpaaueuue Onepauu aa cpaaueuue
ha enouucneuu xouc1au1u uora1 a ce uaapmaa1 cneuu1e uuuxcuu
onepauu aa cpaaueuue:
== - aa paauo != - aa paanuuuo
> - aa no-ronnuo >= - aa no-ronnuo unu paauo
< - aa no-uanxo <= - aa no-uanxo unu paauo.
hapeba1a ua enu1e uucna e xa1o a ua1eua1uxa1a.
hpuuepu:
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 2 o1 1
123 < 234 e fue
-123456 > 324 e a1se
23451 >= 0 e fue
8rpaeuu yuxuu 8rpaeuu yuxuu 8rpaeuu yuxuu 8rpaeuu yuxuu
8 eauxa C++ uua uabop o1 arpaeuu yuxuu. Obp|euue1o xu 1axuaa
yuxuu uua cneuun cuu1axcuc:
<uueuayuxun>{<uapaa>, <uapaa>, ., <uapaa>}
u ap|a c1ouuoc1 o1 1una ua yuxun1a.
1yx |e paarneaue cauo euoapryueu1ua1a enouucneua yuxun abs.
abs{x} - uauupa |x|, xe1o x e nn uapaa
{a uac1uoc1 nna xouc1au1a}.
hpuuepu:
abs{-157} = 157 abs{0} = 0 abs{23} = 23
3a uanonaaaue1o ua 1aau yuxun e ueobxouuo a uac11a ua aarnaauu1e
aunoae a ce axnkuu upex1uaa1a:
#1nc1ude <mafh.h>
5ubnuo1exa1a mafh.h cpa bora1 uabop o1 yuxuu. 8 unxou peanuaauu 1n
uua uue mafh unu cmafh.
8aeaue 8aeaue 8aeaue 8aeaue
Peanuaupa ce no c1auap1uun u paarneau aeue uauuu.
hpuuep: Axo
1nf 1,
onepa1op1
c1n >> 1 >>
aaea c1ouuoc1u ua enu1e npoueunuau 1 u . Ouaxaa ce aaeaue o1
c1auap1uun axoeu no1ox ua ae enu xouc1au1u o1 1un 1nf, paaeneuu c
uu1epaan, auau1e aa xopuaou1anua unu aep1uxanua 1abynaun unu auaxa aa
npeuuuaaaue ua uoa pe.
haaeaue
Peanuaupa ce upea onepa1opa
couf << <nnaxouc1au1a>
unu no-ob|o
couf << <nnuapaa>
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 29 o1 1
8 1exy|a1a noauun ua xypcopa ce uaaea xouc1au1a1a unu c1ouuoc11a ua
enun uapaa. hanonaaa ce uuuuuanuo1o xonuuec1ao noauuu, ueobxouuu aa
aanucaaue ua nno1o uucno.
hpuuep: hexa uuaue euuuun1a
1nf 1 = 1234, = 976
Onepa1op1
couf << 1 << << \n
uaaea apxy expaua c1ouuoc1u1e ua 1 u , uo cneneuu
1234976
1oau uaxo ue e nceu. hanara ce a ce uaapmu opua1upaue opua1upaue opua1upaue opua1upaue ua uaxoa.
1o ce oc|ec1anaa upea noxon|u uauunyna1opu uauunyna1opu uauunyna1opu uauunyna1opu.
Mauunyna1op Mauunyna1op Mauunyna1op Mauunyna1op sef sef sef sef
5ef e arpaeua yuxun.
Cuu1axcuc
sef{<nnuapaa>}
Ceuau1uxa
C1ouuoc11a ua <nnuapaa> aaaaa mupouuua1a ua none1o ua cneaa|un cneaa|un cneaa|un cneaa|un
uaxo.
hpuuep: Onepa1op1
couf << sef{10}
ue uaaea uu|o. 1ou uauunynupa cneaa|o1o uaaeaue xa1o yxaaaa, ue a
none c mupouuua 10 o1ncuo npupaaueua, |e be aanucaua cneaa|a1a
uaaeaua nna xouc1au1a.
3abenexa: 3abenexa: 3abenexa: 3abenexa: 1oau uauunyna1op aau cauo aa npao1o cne uero uaaeaue.
hpuuep: hexa
Oh
1
1234 976
Onepa1op1
couf << sef{10} << 1 << << \n
uaaea o1uoao c1ouuoc1u1e ua 1 u cneneuu, xa1o 1234 ce npemec1aa o1 6
uu1epaana, 1.e.
""""""1234976
xe1o uu1epaan1 e oauaueu cc auaxa ".
Onepa1op1
couf << sef{10} << 1 << sef{10} << << \n
uaaea
""""""1234""""""976
Mauunyna1opu Mauunyna1opu Mauunyna1opu Mauunyna1opu dec, ocf dec, ocf dec, ocf dec, ocf u u u u hex hex hex hex
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 30 o1 1
enu1e uucna ce uaaeaf a ece1uuua noauuouua cuc1eua. Axo ce
uanara uaxo1 uu a e a ocuuuua unu mec1uaece1uuua noauuouua cuc1eua,
ce uanonaaa1 uauunyna1opu1e ocf u hex co1ae1uo. 8cexu o1 1nx e a cuna,
oxa1o pyr uauunyna1op aa noauuouua cuc1eua ue e yxaaau aa cneaa|
uaao. 8p|aue1o xu ece1uuua noauuouua cuc1eua ce oc|ec1anaa upea
uauunyna1opa dec.
dec - uauunyna1op, aaaaa| acuuxu cneaa|u uaxou {oxa1o ue e yxaaau
pyr uauunyna1op, npoueun| noauuouua1a cuc1eua} ua enu uucna a ca a
ece1uuua noauuouua cuc1eua
ocf - uauunyna1op, aaaaa| acuuxu cneaa|u uaxou {oxa1o ue e yxaaau
pyr uauunyna1op, npoueun| noauuouua1a cuc1eua} ua enu uucna a ca a
ocuuuuua noauuouua cuc1eua
hex - uauunyna1op, aaaaa| acuuxu cneaa|u uaxou {oxa1o ue e yxaaau
pyr uauunyna1op, npoueun| noauuouua1a cuc1eua} ua enu uucna a ca a
mec1uaece1uuua noauuouua cuc1eua.
hpuuep: hexa uuaue
Oh
1
12 23
Cne uannueuue1o ua onepa1opu1e
couf << sef{10} << dec << 1 << sef{10} << << \n
couf << sef{10} << ocf << 1 << sef{10} << << \n
couf << sef{10} << hex << 1 << sef{10} << << \n
uuaue:
""""""""12""""""""23
""""""""14""""""""27
"""""""""c""""""""17
3abenexa: hpeu uanonaaaue ua uauunyna1opu1e e ueobxouuo a ce
axnkuu aarnaauun1 aun 1oman1p.h, 1.e. a uac11a aa aarnaauu aunoae a ce
aanume upex1uaa1a
#1nc1ude <1oman1p.h>
pyru enouucneuu 1unoae pyru enouucneuu 1unoae pyru enouucneuu 1unoae pyru enouucneuu 1unoae
pyru enu 1unoae ce nonyuaaa1 o1 1nf xa1o ce uanonaaa1 uouuxa1opu1e
shof, 1ong, s1gned u uns1gned. 1eau uouuxa1opu oonpeenn1 unxou
acnex1u ua 1una 1nf.
3a peanuaaun1a v1sua1 C++ 6.0 ca a cuna:
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 31 o1 1
1un uanaaou heobxouua naue1
shof 1nf -3276 o 32767 2 bau1a
uns1gned shof 1nf 0 o 65535 2 bau1a
1ong 1nf -21474364 o 214743647 4 bau1a
uns1gned 1ong1nf 0 o 4294967295 4 bau1a
uns1gned 1nf 0 o 4294967295 4 bau1a
3anaaeua1a yua 1nf npu 1eau 1unoae ce nopaabupa u uoe a be
nponycua1a. 1unoae1e shof 1nf {unu cauo shof} u 1ong 1nf {unu cauo
1ong} ca cxpa1eu aanuc ua s1gned shof 1nf u s1gned 1ong 1nf.
3.2. 3.2. 3.2. 3.2.2 22 2. Peanuu 1unoae . Peanuu 1unoae . Peanuu 1unoae . Peanuu 1unoae
|e paarneaue peanuun 1un doub1e.
1un1 e c1auap1eu, arpaeu aa acuuxu peanuaauu ua eauxa.
Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u
Muoec1ao1o o1 c1ouuoc1u ua 1una doub1e ce cc1ou o1 peanuu1e uucna
o1 -1.74"10
30
o 1.7"10
30
. 3anucaa1 ce aa aa opua1a - xa1o uucna c
uxcupaua u xa1o uucna c nnaaa|a aane1an {excnoueuuaneu opua1}.
<peanuouucno> ::= <nnouucno>.<nnouucnobeaauax>|
<nnouucno>L<nopnx> |
<nnouucno>.<nnouucnobeaauax><nopnx> |
<nopnx> ::= <nnouucno>
hpu excnoueuuanuun opua1 uoe a ce uanonaaa u uanxa1a na1uucxa
byxaa e.
hpuuepu: Cneuu1e uucna
123.3454 -10343.034 123L13 -1.23e-4
ca xopex1uo aanucauu peanuu uucna.
Cuucn1 ua excnoueuuanuun opua1 e peanuo uucno, nonyueuo cne
yuuoaaaue ua uucno1o npe {e} c 10 ua c1eneu uucno1o cne {e}.
hpuuepu: 12.5L4 e peanuo1o uucno 125000.0, a -1234.025e-3 e peanuo1o
uucno -1.234025.
Lneueu1u1e o1 uuoec1ao1o o1 c1ouuoc1u ua 1una doub1e ce uapuua1
peanuu xouc1au1u peanuu xouc1au1u peanuu xouc1au1u peanuu xouc1au1u unu no-1ouuo xouc1au1u o1 xouc1au1u o1 xouc1au1u o1 xouc1au1u o1 peanuun peanuun peanuun peanuun 1un doub1e 1un doub1e 1un doub1e 1un doub1e.
hpoueunuaa aenuuuua, uuoec1ao1o o1 onyc1uuu1e c1ouuoc1u, ua xon1o
canaa c uuoec1ao1o o1 c1ouuoc1u ua 1una doub1e, ce uapuua peanua peanua peanua peanua
npoueunuaa npoueunuaa npoueunuaa npoueunuaa unu npoueunuaa npoueunuaa npoueunuaa npoueunuaa o1 1un doub1e o1 1un doub1e o1 1un doub1e o1 1un doub1e.
euuupa ce no obuuauuun uauuu. euuuun1a capaaa peanuu1e
npoueunuau c uuoec1ao1o o1 c1ouuoc1u ua 1una doub1e unu c xouxpe1ua
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 32 o1 1
c1ouuoc1 o1 1oaa uuoec1ao, xa1o o1enn no bau1a onepa1uaua naue1 aa
acnxa o1 1nx. Axo npoueunuaa1a ue e buna uuuuanuaupaua, cpauue1o ua
capaua1a c uen naue1 e ueonpeeneuo, a a npo1uaeu cnyuau - cpa
yxaaaua1a npu uuuuanuaaun1a c1ouuoc1.
hpuuepu:
doub1e 1
doub1e = 5699.76
Cne 1aau euuuun, uuaue:
Oh
1
- 5699.76
bau1a bau1a
Onepauu u arpaeuu yuxuu
Apu1ue1uuuu onepauu
xuapuu onepauu
+, - hpeuxcuu ca. ho1apaaa1 unu npoueun1 auaxa ua
apryueu1a cu.
hpuuepu: hexa
doub1e 1 = 1.2, = -7.5
Cneuu1e xouc1pyxuu cpa1 yuapua onepaun + unu -:
-1 + - +1 -56.7
5uuapuu onepauu
hua1 aa apryueu1a. Cneuu1e apu1ue1uuuu1e onepa1opu ca uuuxcuu:
+ - cbupaue
- - uaaaaue
" - yuuoeuue
/ - eneuue {noue euuun1 apryueu1 e peaneu}
hpuuepu:
15.3 - 12.2 = 3.1 13.0 / 5 = 2.6
15 + 12.35 = 27.35 13 / 5.0 = 2.6
-1.5 " 12.3 = -1.45
horuuecxu onepauu horuuecxu onepauu horuuecxu onepauu horuuecxu onepauu
horuuecxu1e onepauu xoukuxun, uakuxun u o1puauue uora1 a ce
npunara1 ua peanuu xouc1au1u. euuupa1 ce no c|un uauuu, xa1o peanuu1e
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 33 o1 1
uucna, xou1o ca paanuuuu o1 0.0 ce uu1epnpe1upa1 xa1o fue, a 0.0 - xa1o
a1se.
hpuuepu:
123.6 and 0.0 e a1se
0.0 o 15.67 e fue
nof 67.7 e a1se
Onepauu aa cpaaueuue Onepauu aa cpaaueuue Onepauu aa cpaaueuue Onepauu aa cpaaueuue
ha peanuu auuu uora1 a ce uaapmaa1 cneuu1e uuuxcuu onepauu aa
cpaaueuue:
== - aa paauo != - aa paanuuuo
> - aa no-ronnuo >= - aa no-ronnuo unu paauo
< - aa no-uanxo <= - aa no-uanxo unu paauo.
hapeba1a ua peanuu1e uucna e xa1o a ua1eua1uxa1a.
hpuuepu:
123.56 < 234.09 e fue
-123456.9 > 324.009 e a1se
23451.6 >= 0 e fue
onnueuue: Cpaaueuue1o aa paauo ua ae peanuu uucna x u y ce
peanuaupa obuxuoaeuo upea penaun1a: |x - y| < , xe1o = 10
-14
aa 1un
doub1e. ho-obp uauuu e a ce uanonaaa penaun1a:
8rpaeuu yuxuu 8rpaeuu yuxuu 8rpaeuu yuxuu 8rpaeuu yuxuu
hpu nn unu peaneu apryueu1, cneuu1e yuxuu ap|a1 peaneu peayn1a1 o1
1un doub1e:
51n{x} - cuuyc, s1n x, x e a pauauu
cos{x} - xocuuyc, cos x, x e a pauauu
fan{x} - 1aureuc, fg x, x e a pauauu
a51n{x} - apxyccuuyc, acs1n x |-/2, /2], x |-1, 1]
acos{x} - apxycxocuuyc, accos x |0, ], x |-1, 1]
afan{x} - apxyc1aureuc, acfg x {-/2, /2}
exp{x} - excnoueu1a, e
x
1og{x} - ua1ypaneu norapu1u, 1n x, x > 0
1og10{x} - ece1uueu norapu1u, 1g x, x > 0
s1nh{x} - xunepbonuueu cuuyc, sh x
cosh{x} - xunepbonuueu xocuuyc, ch x
fanh{x} - xunepbonuueu 1aureuc, fh x
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 34 o1 1
ce11{x} - {|x]+1}, npeobpaayaauo a 1un doub1e
1oo{x} - |x], npeobpaayaauo a 1un doub1e
abs{x} - abconk1ua c1ouuoc1 ua x, |x|
sf{x} - xopeu xaapa1eu o1 x, x 0
po{x, n} - c1eneuyaaue, x
n
{x u n ca peanuu o1 1un doub1e}.
hpuuepu: ce11{12.345} = 13.0 ce11{-12.345} = -12.0
ce11{1234} = 1234.0 ce11{-1234} = -1234.0
1oo{12.345} = 12.0 1oo{-12.345} = -13.0
1oo{123} = 123.0 1oo{-123} = -123.0
abs{123} = 123.0 abs{-1234} = 1234.0
s1n{P/6} uauupa s1n{30
o
}, xe1o P = 3.141592
1eau yuxuu ce uauupa1 a bubnuo1exa1a mafh.h u aa a ba1 uanonaaauu
e ueobxouuo a uac11a ua aarnaauu1e aunoae a be axnkueua upex1uaa1a:
#1nc1ude <mafh.h>
3aaua 4. 3aaua 4. 3aaua 4. 3aaua 4. a ce uanume nporpaua, xon1o uauupa yuxun1a cxobxa o1
aeuo peanuo uucno.
Cneua1a nporpaua pemaaa aaaua1a:
#1nc1ude <1osfeam.h>
#1nc1ude <mafh.h>
1nf ma1n{}
{couf << x=
doub1e x
c1n >> x
1nf y
y = 1oo{x}
couf << y << \n
efun 0
}
Koununa1op1 uaaaa npeynpeeuue, ue ua nuuun ce uaapmaa
npeobpaayaaue npeobpaayaaue npeobpaayaaue npeobpaayaaue ua 1una doub1e a 1un 1nf u 1oaa uoe a oaee o aarybaaue
ua uuopuaun.
8aeaue 8aeaue 8aeaue 8aeaue
Peanuaupa ce no c1auap1uun uauuu.
hpuuep: Axo
doub1e x, y
onepa1op1
c1n >> x >> y
aaea c1ouuoc1u ua x u y.
3a paaenu1en ce uanonaaa1: uu1epaan1, auau1e aa aep1uxanua u
xopuaou1anua 1abynaun u auax1 aa npeuuuaaaue ua uoa pe. Axo aa unxon
peanua npoueunuaa e aaeeua nna xouc1au1a, uaapmaa ce xouaep1upaue a
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 35 o1 1
peaneu 1un, cne xoe1o nonyueuo1o peanuo uucno ce aanucaa a o1eneua1a aa
npoueunuaa1a naue1.
haaeaue
Peanuaupa ce upea onepa1opa
couf << <peanuaxouc1au1a>
unu no-ob|o
couf << <peaneuuapaa>
8 1exy|a1a noauun ua xypcopa ce uaaea peanua1a xouc1au1a unu
c1ouuoc11a ua peanuun uapaa. hanonaaa ce uuuuuanuo1o xonuuec1ao noauuu,
ueobxouuu aa aanucaaue ua peanuo1o uucno.
hpuuep: hexa uuaue euuuun1a
doub1e x = 12.34, y = 9.76
Onepa1op1
couf << x << y << \n
uaaea apxy expaua c1ouuoc1u1e ua x u y cneneuu
12.349.76
1oau uaxo ue e nceu. hanara ce a ce uaapmu opua1upaue ua uaxoa.
1o ce oc|ec1anaa upea noxon|u uauunyna1opu.
Mauunyna1op Mauunyna1op Mauunyna1op Mauunyna1op sef sef sef sef
5ef e yuxun.
Cuu1axcuc
sef{<nnuapaa>}
Ceuau1uxa
3aaaa mupouuua1a ua cneaa|o1o cneaa|o1o cneaa|o1o cneaa|o1o uaxouo none.
hpuuep: Onepa1op1
couf << sef{12}
ue uaaea uu|o. 1ou uauunynupa cneaa|o1o uaaeaue xa1o yxaaaa, ue a
none c mupouuua 12 o1ncuo npupaaueua, |e be aanucaua cneaa|a1a
uaaeaua peanua xouc1au1a.
1oau uauunyna1op aau cauo aa npao1o cne uero uaaeaue.
hpuuep: hexa
Oh
y
1.56 -2.36
Onepa1op1
couf << sef{10} << x << y << \n
uaaea o1uoao c1ouuoc1u1e ua x u y cneneuu, xa1o 1.56 ce npemec1aa o1 6
uu1epaana, 1.e.
""""""1.56-2.36
xe1o uu1epaan1 e oauaueu cc auaxa ".
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 36 o1 1
Onepa1op1
couf << sef{10} << x << sef{10} << y << \n
uaaea
""""""1.56"""""-2.36
hpu peanuu1e auuu ce uanara uanonaaaue1o u ua uauunyna1op aa aaaaaue
ua bpon ua upu1e cne ece1uuua1a 1ouxa.
Mauunyna1op Mauunyna1op Mauunyna1op Mauunyna1op sefpec1s1on sefpec1s1on sefpec1s1on sefpec1s1on
5efpec1s1on e yuxun.
Cuu1axcuc
sefpec1s1on{<nnuapaa>}
Ceuau1uxa
C1ouuoc11a ua apryueu1a ua 1aau yuxun aaaaa bpon ua upu1e,
uanonaaauu npu uaaeaue ua cneaa|u1e peanuu uucna, a a cue1auue cc
aarauuo1o obp|euue sef1os1ags{1os::1xed}, aaaaa bpon ua upu1e
cne ece1uuua1a 1ouxa ua uaaeauu1e peanuu uucna.
hpuuep 1: Onepa1op1
couf << sefpec1s1on{3}
ue uaaea uu|o. 1ou yxaaaa, ue cneaa|u1e peanuu xouc1au1u |e ce
uaaea1 c 3 auaue|u upu.
hexa a Oh uuaue:
Oh

21.5632
Onepa1op1
couf << sefpec1s1on{3} << sef{10} << x << \n
uaaea
""""""21.6
xa1o uaapmaa aaxprnnaaue.
A onepa1opa
couf << sefpec1s1on{2} << sef{10} << x << \n
uaaea
""""""""22
hpuuep 2: Onepa1op1
couf << sef1os1ags{1os::1xed} << sefpec1s1on{3}
ue uaaea uu|o. 1ou yxaaaa, ue cneaa|u1e peanuu xouc1au1u |e ce
uaaea1 c 1ouuo 3 upu cne ece1uuua1a 1ouxa.
hexa a Oh uuaue:
Oh

21.5632
Onepa1op1
couf << sef1os1ags{1os::1xed}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 37 o1 1
<< sefpec1s1on{3}
<< sef{10} << x << \n
uaaea
""""21.563
A onepa1op1
couf << sef1os1ags{1os::1xed}
<< sefpec1s1on{1}
<< sef{10} << x << \n
uaaea
""""""21.6
xa1o uaapmaa aaxprnnaaue.
3abenexa: 3a |ac1ue, uauunyna1opu1e sefpec1s1on{} u sef1os1ags {}
ca a cuna ue cauo aa npaa1a uaaeaua xouc1au1a, uo u aa acuuxu
cneaa|u, oxa1o c uoa sefpec1f1on{} ue ce npoueuu 1ouuoc11a u c
esef1os1ags{1os::1xed} ue ce o1ueuu sef1os1ags{1os::1xed}.
hpuuep: hannueuue1o ua nporpaua1a
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
1nf ma1n{}
{doub1e a = 209.5, b = 63.7565
couf << sefpec1s1on{3}
<< sef1os1ags{1os::1xed}
couf << sef{10} << a << "\n"
couf << sef{10} << b << "\n"
couf << esef1os1ags{1os::1xed}
couf << sef{20} << a << "\n"
couf << sef{20} << b << "\n"
efun 0
}
uaaea
"""209.500
""""63.757
"""""""""""""""""210
""""""""""""""""63.
onnueuue: 1ouuoc11a ua 1una doub1e e oxono 15 auaue|u upu. 3a a
ce ybeu1e a 1oaa, uannue1e cneua1a nporpaua:
#1nc1ude <1osfeam.h>
1nf ma1n{}
{ doub1e a = 5e14
doub1e b = a - 0.1
doub1e c = a - b
couf << c << \n
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 3 o1 1
efun 0
}
hecuo ce aua, ue c1ouuoc11a ua npoueunuaa1a c 1pnbaa a be 0.1, a
nporpaua1a uauupa aa 1axaaa 0.125. hpuuuua1a e a bpon ua auaue|u1e upu
ua b.
pyru peanuu 1unoae pyru peanuu 1unoae pyru peanuu 1unoae pyru peanuu 1unoae
8 eauxa C++ uua u pyr peaneu 1un, uapeueu 1oaf. Paanuuaaa ce o1 1una
doub1e no uuoec1ao1o o1 c1ouuoc1u1e cu u aaeuaua1a naue1.
Muoec1ao1o o1 c1ouuoc1u ua 1una 1oaf ce cc1ou o1 peanuu1e uucna o1
uanaaoua o1 -3.4"10
3
o 3.4"10
3
. 3a aanucaaue ua xouc1au1u1e o1 1oau
uanaaou ca ueobxouuu 4 bau1a Oh.
5pon1 ua auaue|u1e upu npu 1oau 1un e oxono 7. 3a a ce ybeu1e a
1oaa, uannue1e cneua1a nporpaua:
#1nc1ude <1osfeam.h>
1nf ma1n{}
{ 1oaf a = 5e6
1oaf b = a - 0.1
1oaf c = a - b
couf << c << \n
efun 0
}
hecuo ce aua, ue c1ouuoc11a ua c 1pnbaa a e 0.1, a cne uannueuue ua
ropua1a nporpaua ce nonyuaaa 0. Koununa1op1 npeynpeaaa, ue ua nuuun 4
c1aaa npeobpaayaaue o1 1un 1oaf a 1un doub1e.
Peanua xouc1au1a o1 uanaaoua ua 1un 1oaf, uo c noaeue o1 7 auaue|u
upu ce npueua o1 xoununa1opa aa peanuo uucno o1 1un doub1e u
npucaonaaue1o uy ua npoueunuaa o1 1un 1oaf uaaaa npeynpeeuue1o, ue
ce uaapmaa npeobpaayaaue o1 1un doub1e a 1un 1oaf, xoe1o uoe a oaee
o aaryba ua 1ouuoc1.
1ouuoc11a e npuuuua1a aapau, xon1o npenopuaaue uanonaaaue1o ua 1una
doub1e.
3.2.3. 3.2.3. 3.2.3. 3.2.3. Apu1ue1uuuu uapaau Apu1ue1uuuu uapaau Apu1ue1uuuu uapaau Apu1ue1uuuu uapaau
Apu1ue1uuuu1e uapaau ca npaauna aa nonyuaaaue ua uucnoau xouc1au1u.
hua aa aua apu1ue1uuuu uapaau: enu u peanuu.
<apu1ue1uueuuapaa> ::= <nnuapaa> | <peaneuuapaa>
enu apu1ue1uuuu uapaau enu apu1ue1uuuu uapaau enu apu1ue1uuuu uapaau enu apu1ue1uuuu uapaau
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 39 o1 1
enu1e apu1ue1uuuu uapaau ca npaauna aa nonyuaaaue ua xouc1au1u o1 1un
1nf unu paauoauuoc1u1e uy. euuupa1 ce pexypcuauo no cneuun uauuu:
enu1e xouc1au1u ca enu apu1ue1uuuu uapaau.
hpuuepu: 123 -2345 -32767
0 22233345 -7
ca enu apu1ue1uuuu uapaau.
enu1e npoueunuau ca enu apu1ue1uuuu uapaau.
hpuuepu: Axo uuaue euuuun1a:
1nf 1,
shof p, ,
1
ca enu apu1ue1uuuu uapaau o1 1un 1nf, a
p
ca enu apu1ue1uuuu uapaau o1 1un shof.
- hpunaraue1o ua yuapuu1e onepauu + u - xu enu apu1ue1uuuu uapaau e
nn apu1ue1uueu uapaa.
hpuuepu: -1 + -
ca enu apu1ue1uuuu uapaau o1 1un 1nf, a
+p -p + -
ca enu apu1ue1uuuu uapaau o1 1un shof.
- hpunaraue1o ua buuapuu1e apu1ue1uuuu onepauu +, -, ", / u x xu
enu apu1ue1uuuu uapaau, e nn apu1ue1uueu uapaa.
hpuuep: 1 x 10 + " 1 - p -1 + / 5
ca enu apu1ue1uuuu uapaau o1 1un 1nf,
- p / 12 - x - p + p -
ca enu apu1ue1uuuu uapaau o1 1un shof.
- enu yuxuu, npunoeuu ua enu apu1ue1uuuu uapaau, ca enu
apu1ue1uuuu uapaau.
hpuuepu: abs{1+} e nn apu1ue1uueu uapaa o1 1un 1nf, a abs{p-} e nn
apu1ue1uueu uapaa o1 1un shof.
Peanuu apu1ue1uuuu uapaau Peanuu apu1ue1uuuu uapaau Peanuu apu1ue1uuuu uapaau Peanuu apu1ue1uuuu uapaau
Peanuu1e apu1ue1uuuu uapaau ca npaauna aa nonyuaaaue ua xouc1au1a o1
1un doub1e unu 1oaf. euuupa1 ce pexypcuauo no cneuun uauuu:
Peanuu1e xouc1au1u ca peanuu apu1ue1uuuu uapaau.
hpuuepu: 1.23e-3 -2345e2 -3.2767 0.0
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 40 o1 1
222.33345 -.7009
ca peanuu apu1ue1uuuu uapaau.
3abenexa: Peanua xouc1au1a o1 uanaaoua ua 1un 1oaf, uo c noaeue
o1 7 auaue|u upu ce npueua o1 xoununa1opa aa peanuo uucno o1 1un
doub1e.
Peanuu1e npoueunuau ca peanuu apu1ue1uuuu uapaau.
hpuuepu: Axo uuaue euuuuu1e:
doub1e 1,
1oaf p, ,
1
ca peanuu apu1ue1uuuu uapaau o1 1un doub1e, a
p
ca peanuu apu1ue1uuuu uapaau o1 1un 1oaf.
- hpunaraue1o ua yuapuu1e onepauu + u - xu peanuu apu1ue1uuuu uapaau
e peaneu apu1ue1uueu uapaa.
hpuuepu: -1 + -
ca peanuu apu1ue1uuuu uapaau o1 1un doub1e, a
+p -p + -
ca peanuu apu1ue1uuuu uapaau o1 1un 1oaf.
- hpunaraue1o ua buuapuu1e apu1ue1uuuu onepauu +, -, " u / xu
apu1ue1uuuu uapaau, noue euu o1 xou1o e peaneu, e peaneu apu1ue1uueu
uapaa.
hpuuep: 1 x 10 + "1 - p -1 + /5
ca peanuu apu1ue1uuuu uapaau o1 1un doub1e, a
-p/12 - x - p + p -
ca peanuu apu1ue1uuuu uapaau o1 1un 1oaf.
- Peanuu yuxuu, npunoeuu ua peanuu unu enu apu1ue1uuuu uapaau, ca
peanuu apu1ue1uuuu uapaau.
hpuuepu: abs{1+} s1n{1-p} cos{p/-} 1oo{p}
ce11{-p+1} exp{p} 1og{-p"}
ca peanuu apu1ue1uuuu uapaau o1 1un doub1e.
Ceuau1uxa ua apu1ue1uuuu1e uapaau Ceuau1uxa ua apu1ue1uuuu1e uapaau Ceuau1uxa ua apu1ue1uuuu1e uapaau Ceuau1uxa ua apu1ue1uuuu1e uapaau
3a npecun1aue ua c1ouuoc1u1e ua apu1ue1uuuu1e uapaau ce uanonaaa1
cneuun1 npuopu1e1 ua onepauu1e u arpaeuu1e yuxuu:
1. 8rpaeuu yuxuu
2. euc1aun1a a cxobu1e
3. Onepauu a cneuun npuopu1e1
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 41 o1 1
- +, - {yuapuu} uau-aucox
- ", /, x
- +, - {buuapuu}
- <<, >> uau-uucx
3abenexa 1: Onepa1opu1e >> u << ca aa nobu1oau uauec1aauun uancuo u
uannao co1ae1uo. 1e ca npeeuuupauu aa axouo/uaxouu onepauu. 8
cnyuan uuaue npeau 1aau 1nxua yno1peba.
3abenexa 2: huuxcuu1e onepauu, xou1o ca paanonoeuu ua euu u c|
pe ca c euaxa npuopu1e1. 1eau onepa1opu ce uannunaa1 o1nnao uancuo.
xuapuu1e onepauu ce uannunaa1 o1ncuo uannao.
hpuuep: hexa uuaue euuuun1a
doub1e x = 23.56, y = -123.5
hannueuue1o ua onepa1opa
couf << s1n{x} + ce11{y} " x - cos{y}
|e ce uaapmu no cneuun uauuu: o1uauano |e ce npecue1ua1 c1ouuoc1u1e ua
s1n{x}, ce11{y} u cos{y}, cne 1oaa |e uannuu onepaun1a " ua
c1ouuoc11a ua ce11{y} u x, nonyueuo1o |e cbepe cc c1ouuoc11a ua s1n{x},
cne xoe1o o1 nonyueuo1o peanuo uucno |e ce uaaau npecue1ua1a1a aeue
c1ouuoc1 ua cos{y}. haxpan apxy expaua |e ce uaaee nonyueua1a peanua
xouc1au1a.
Apu1ue1uuuu1e uapaau uora1 a cpa1 onepauu o1 paanuuuu 1unoae. 3a
a ce npecue1ue c1ouuoc11a ua 1axa uapaa, aa1oua1uuuo ce uaapmaa
npeobpaayaaue ua 1unoae1e ua onepauu1e uy. 5ea aaryba ua 1ouuoc11a ce
oc|ec1anaa1 cneuu1e npeobpaayaauun:
1un hpeobpaayaa ce o 1un
boo1 acuuxu uucnoau 1unoae
shof 1nf
uns1gned shof uns1gned 1nf
1oaf doub1e
1.e.xouaep1upa ce o1 no-uanx 1un {a bau1oae} xu no-ronnu 1un.
3a a ce npecue1ue c1ouuoc11a ua apu1ue1uueu uapaa c onepauu o1
paanuuuu 1unoae, nocneoaa1enuo ce npunara1 npaauna1a no-ony, oxa1o ce
yeuaxan1 1unoae1e {axo e aauouo}.
Axo uua onepau o1 1un: pyru1e onepauu ce npeobpaayaa1 o:
doub1e doub1e
1oaf 1oaf
uns1gned 1nf uns1gned 1nf
1nf 1nf
uns1gned shof uns1gned shof
shof shof
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 42 o1 1
Ceuau1uxa ua byneau1e uapaau Ceuau1uxa ua byneau1e uapaau Ceuau1uxa ua byneau1e uapaau Ceuau1uxa ua byneau1e uapaau
5yneau1e uapaau ca npaauna aa nonyuaaaue ua byneaa c1ouuoc1. 3a
npecun1aue ua c1ouuoc1u1e uu ce uanonaaa cneuun1 npuopu1e1 ua onepauu1e
u arpaeuu1e yuxuu:
1. 8rpaeuu yuxuu
2. euc1aun1a a cxobu1e
3. Onepauu a cneuun npuopu1e1
- !, nof, +, - {yuapuu} uau-aucox
- ", /, x
- +, - {buuapuu}
>> << {axo/uaxo}
<, <=, >, >=
==, !=
&&
|| uau-uucx
3abenexa: huuxcuu1e onepauu, xou1o ca paanonoeuu ua euu u c| pe
ca c euaxa npuopu1e1. 1eau onepa1opu ce uannunaa1 o1nnao uancuo, 1.e.
nnaoacoua1uauu ca. xuapuu1e onepa1opu ce uannunaa1 o1ncuo uannao, 1.e.
ncuoacoua1uauu ca.
hpuuepu: a} hexa uuaue euuuuu1e:
doub1e x = 23.56, y = -123.5
boo1 b1, b2, b3
b1 = fue
b2 = !b1
b3 = b1||b2
hannueuue1o ua onepa1opa
couf << s1n{x} + ce11{y} " x > 1239
|e curuanuaupa rpemxa - uexopex1uu apryueu1u ua <<. 1oaa e 1axa, aapau
uapymeuun npuopu1e1. Onepa1op1 << e c no-aucox npuopu1e1 o1 1oau ua
onepa1opu1e aa cpaaueuue. hanara ce a1opun1 apryueu1 ua << a be
orpaeu a cxobu, 1.e.onepa1op1
couf << {s1n{x} + ce11{y} " x > 1239}
aeue pabo1u obpe.
b} hannueuue1o ua onepa1opa
couf << b1 && b2 || b3 << \n
c|o cob|aaa rpemxa - uexopex1uu apryueu1u ua <<. O1uoao e uapymeu
npuopu1e11 ua onepauu1e. hanara ce apryueu11 b1 && b2 || b3 ua << a
ce orpau a cxobu, 1.e.
couf << {b1 && b2 || b3} << \n
aeue pabo1u obpe.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 43 o1 1
3aauu apxy 1unoae1e bynea, nn u peaneu 3aauu apxy 1unoae1e bynea, nn u peaneu 3aauu apxy 1unoae1e bynea, nn u peaneu 3aauu apxy 1unoae1e bynea, nn u peaneu
3aaua 5. 3aaua 5. 3aaua 5. 3aaua 5. Kou o1 cneuu1e peuu o1 auau ca uucna a C++?
a} 061 b} -31 a} 1/5 r} +910.009
} v e} 0.{3} } s1n{0} a} 134+12
Pemeuue: a}, b}, r}.
3aaua 6. 3aaua 6. 3aaua 6. 3aaua 6. a ce aanuma1 ua C++ cneuu1e uucna:
a} 6! b} Lv a} -0,4{6} r} 13,2{3}
} 11/4 e} } 1,2 .10
-1
a} -23,{1} .10
2
8 pobua1a uac1 a ce yxaa1 o 4 upu.
Pemeuue:
a} 120 b} 74 a} -0.4667 r} 13.234
} 2.7500 e} 3.1416 } 0.1200 a} -2311.1111
3aaua 7. 3aaua 7. 3aaua 7. 3aaua 7. a ce aanuma1 ua eauxa C++ cneuu1e ua1eua1uuecxu opuynu:
a} a + b.c - a
2
b
3
c
4
Pemeuue:
a} a + b " c - a " a " b " b " b " c " c " c " c
b} {a " b} / c + c / {a " b}
a} {1 + x + x"x/2}"{1 + x"x"x/6 + x"x"x"x"x/120}
unu
{1 + x + po{x,2}}/{1 + po{x, 3}/6 + po{x, 5}/120}
r} sf{1 + sf{2 + sf{3 + sf{4}}}}
3aaua 3aaua 3aaua 3aaua . .. . Kaxao |e be uaaeeuo cne uannueuue1o ua cneua1a
nporpaua:
#1nc1ude <1osfeam.h>
#1nc1ude <mafh.h>
1nf ma1n{}
{ couf << "x="
doub1e x
c1n >>x
boo1 b
b = x < ce11{x}
couf << "x="
c1n >> x
b = b && {x < 1oo{x}}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 44 o1 1
couf << "b= " << b << "\n"
efun 0
}
axo xa1o axo ba1 aaaeuu uucna1a
a} 2.7 u 0. b} 2.7 u -0.a} -2.7 u -0..
Pemeuue: a} 1u xa1o byneaun1 uapaa 2.7 < ce11{2.7} uua c1ouuoc1 fue,
a fue && {0. < 1oo{0.}} - e a1se, |e be uaaeeuo 0 {a1se}.
3aaua 9 3aaua 9 3aaua 9 3aaua 9. Kaxa |e e peayn1a11 o1 uannueuue1o ua nporpaua1a
#1nc1ude <1osfeam.h>
1nf ma1n{}
{1nf a, b
c1n >> a >> b >> a >> b >> a
couf << a << " " << b << " "
<< a << " " << b << " "
<< a << "\n"
efun 0
}
axo xa1o axo ca aaaeuu uucna1a 1, 2, 3, 4 u 5?
Pemeuue: Cne obpabo1xa1a ua euuuun1a 1nf a, b aa npoueunuau1e a u
b ca o1eneuu no 4 bau1a Oh, 1.e.
Oh
a b
- -
a cne uannueuue1o ua onepa1opa aa ue1eue >>, a u b nonyuaaa1 o1uauano
c1ouuoc1u1e 1 u 2. Cne 1oaa c1ouuoc1u1e uu ce npoueun1 ua 3 u 4
co1ae1uo. hau-uaxpan a c1aaa 5, 1,e,
a b
5 4
1oraaa nporpaua1a uaaea
5 4 5 4 5
3aaua 10. 3aaua 10. 3aaua 10. 3aaua 10. a ce aanume bynea uapaa, xou1o uua c1ouuoc1 fue, axo
nocoueuo1o ycnoaue e a cuna, u c1ouuoc1 a1se, axo ycnoaue1o ue e a
cuna.
a} nno1o uucno a ce enu ua 5
b} 1ouxa1a x npuuaneu ua o1ceuxa1a |2, 6]
a} 1ouxa1a x ue npuuaneu ua o1ceuxa1a |2, 6]
r} 1ouxa1a x npuuaneu ua o1ceuxa1a |2, 6] unu ua o1ceuxa1a |-4, -2]
} noue euo o1 uucna1a a, b u c e o1pua1enuo
e} uucna1a a, b u c ca paauu nouey cu.
Pemeuue:
a} a x 5 == 0
b} x >= 2 && x <= 6
a} x < 2 || x > 6 unu !{ x >= 2 && x <= 6}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 45 o1 1
r} x >= 2 && x <= 6 || x >= -4 && x <= -2
e} a == b && a == c
3aaua 1 3aaua 1 3aaua 1 3aaua 11 11 1. .. . a ce uanume nporpaua, xon1o aaea xoopuua1u1e ua 1ouxa
o1 paauuua1a u uaaea 1, axo 1ouxa1a npuuaneu ua urypa1a no-ony u -
0, a npo1uaeu cnyuau.
y
2
-2 -1 0 1 2
x
-2
Pemeuue:
#1nc1ude <1osfeam.h>
#1nc1ude <mafh.h>
1nf ma1n{}
{couf << "x= "
doub1e x
c1n >> x
couf << "y= "
doub1e y
c1n >> y
boo1 b1 = x"x + y"y <= 4 && y >= 0
boo1 b2 = abs{x} <= 1 && y < 0 && y >= -2
couf << {b1 || b2} << "\n"
efun 0
}
3aauu 3aauu 3aauu 3aauu
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 46 o1 1
3 33 3aaua 1. aaua 1. aaua 1. aaua 1. a ce aanuma1 ua eauxa C++ cneuu1e ua1eua1uuecxu opuynu:
3aaua 2. 3aaua 2. 3aaua 2. 3aaua 2. Kou o1 cneuu1e peuu o1 cuuaonu ca npaaunuo aanucauu
uapaau ua eauxa C++:
a} 1 + |y| r} 1 + sf{s1n{{u+}/10}}
b} -abs{x} + s1n } -6 + xy
a} abs{x} + cos{abs{y - 1.7}} e} 1/-2 + 8efa.
3aaua 3. 3aaua 3. 3aaua 3. 3aaua 3. a ce aanuma1 a 1pauuouua {ua1eua1uuecxa} opua cneuu1e
uapaau, aanucauu a cuu1axcuca ua eauxa C++:
a} sf{a+b} - sf{a-b} a} x"y/{u+}-{u-}/y"{a+b}
b} a + b/{c+d}-{a+b}/c+d r} 1+exp{cos{{x+y}/2}}.
3aaua 4. 3aaua 4. 3aaua 4. 3aaua 4. a ce npecue1ue c1ouuoc11a ua uapaaa:
a} cos{0} + abs{1/{1/3-1}}
b} abs{a-10} + s1n{a-1}, aa a = 1
a} cos{-2+2"x} +sf{abs{x-5}}, aa x = 1
r} s1n{s1n{x"x-1}"s1n{x"x-1}} + cos{x"x"x-1}"abs{x-2},
aa x = 1
} s1n{s1n{x"x-1}}+cos{x"x"x-1}"cos{abs{x-2}-1}/y"a +
sf{abs{y}-x}, aa x = 1, y = -2, a = 2.
3aaua 5. 3aaua 5. 3aaua 5. 3aaua 5. 8 apu1ue1uuuun uapaa
a} a/b"c/d"e/"h
b} a+b/x-2"y
a} a+b/x-2"y
a ce noc1aan1 cxobu 1axa, ue nonyueuun1 uapaa a co1ae1c1ayaa ua
ua1eua1uuecxa1a opuyna:
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 47 o1 1
3aaua 6. 3aaua 6. 3aaua 6. 3aaua 6. a ce uanume uapaa ua eauxa C++, xou1o a uapaanaa:
a} nepuue1pa ua xaapa1 c nue, paauo ua a
b} nue1o ua paauoc1paueu 1purnuux c nepuue1p, paaeu ua p.
3aaua 7. 3aaua 7. 3aaua 7. 3aaua 7. a ce uanume nporpaua, xon1o npecun1a c1ouuoc11a ua 1,
xe1o
3aaua 3aaua 3aaua 3aaua . a ce npecue1ue c1ouuoc11a ua uapaaa:
a} po{x, 2} + po{y, 2} <= 4 npu x = 0.6, y = -1.2
b} p x 7 == p / 5 - 2 npu p = 15
a} 1oo{10"k+16.3}/2 == 0 npu k = 0.15
r} !{{k+325}x2 == 1} npu k = 2
} u" != 0 && > u npu u = 2, = 1
e} x || !y npu x = a1se, y = fue.
3aaua 9. 3aaua 9. 3aaua 9. 3aaua 9. a ce aanume bynea uapaa, xou1o a uua c1ouuoc1 uc1uua, axo
nocoueuo1o ycnoaue e anpuo u c1ouuoc1 - na, axo ycnoaue1o ue e anpuo:
a} nno1o uucno p ce enu ua 4 unu ua 7
b} ypaaueuue1o a.x
2
+ b.x + c = 0 {a 0} unua peanuu xopeuu
a} 1ouxa c xoopuua1u {a, b} neu aa a1pemuoc11a ua xpr c pauyc 5
u eu1p {0, 1}.
r} 1ouxa c xoopuua1u {a, b} neu uaau xpra c eu1p {c, d} u
pauyc
} 1ouxa npuuaneu ua uac11a o1 xpra c eu1p {0, 0} u pauyc 5 a
1pe1u xaapau1
e} 1ouxa npuuaneu ua aeuea c eu1p {0, 0} u pauycu 5 u 10
} x npuuaneu ua o1ceuxa1a |0, 1]
a} x = max{a, b, c}
u} x != max{a, b, c} {onepaun1a ! a ue ce uanonaaa}
x} noue eua o1 byneau1e npoueunuau x u y uua c1ouuoc1 fue
n} u ae1e byneau npoueunuau x u y uua1 c1ouuoc1 fue
u} uu1o euo o1 uucna1a a, b u c e nonou1enuo
u} upa1a 7 anuaa a aanuca ua nonou1enuo1o 1puupeuo uucno p
o} upu1e ua 1puupeuo1o uucno m ca paanuuuu
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 4 o1 1
n} noue ae o1 upu1e ua 1puupeuo1o uucno m ca paauu nouey cu.
Ocuoauu c1pyx1ypu aa ynpaaneuue ua uauucnu1enuun
npoec
4 44 4.1. nepa1op aa npucaonaaue .1. nepa1op aa npucaonaaue .1. nepa1op aa npucaonaaue .1. nepa1op aa npucaonaaue
1oaa e euu o1 uau-aauu1e onepa1opu ua eauxa. 8eue uuoroxpa1uo ro
uanonaaaxue, a c|o a rnaaa 2 onucaxue ueroau1e cuu1axcuc u ceuau1uxa. 8
1aau rnaaa |e ro paarneaue no-nopobuo. |e uanouuuu ueroau1e cuu1axcuc u
ceuau1uxa.
Cuu1axcuc
<npoueunuaa> = <uapaa>
- xe1o <npoueunuaa> e ueu1uuxa1op, euuupau aeue xa1o npoueunuaa,
- <uapaa> e uapaa o1 1un, cauec1uu c 1una ua <npoueunuaa>.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 49 o1 1
Ceuau1uxa
hauupa ce c1ouuoc11a ua <uapaa>. Axo 1n e o1 1un, paanuueu o1 1una ua
<npoueunuaa>, xouaep1upa ce axo e aauouo o uero u ce aanucaa a
uueuyaaua1a c <npoueunuaa> naue1.
Axo <npoueunuaa> e o1 1un <boo1>, <uapaa> uoe a be o1 1un boo1
unu o1 xou a e uucnoa 1un.
Axo <npoueunuaa> e o1 1un doub1e, acuuxu uucnoau 1unoae, a c|o
1un1 boo1, uora1 a ca 1unoae ua <uapaa>.
Axo <npoueunuaa> e o1 1un 1oaf, 1unoae1e 1oaf, shof, uns1ged
shof u boo1, uora1 a ca 1unoae ua <uapaa>. Axo <uapaa> e o1 1un 1nf,
uns1gned 1nf unu doub1e, npucaonaaue1o uoe a ce uaapmu cc aaryba ua
1ouuoc1. Koununa1op1 npeynpeaaa aa 1oaa.
Axo <npoueunuaa> e o1 1un 1nf, 1unoae1e 1nf, 1ong 1nf, shof 1nf u
boo1, uora1 a ca 1unoae ua <uapaa>. 8 1oau cnyuau axo <uapaa> e o1 1un
doub1e unu 1oaf, pobua1a uac1 ua c1ouuoc11a ua <uapaa> |e be o1pnaaua
u axo nonyueuo1o nno e uaau uuoec1ao1o o1 c1ouuoc1u ua 1una 1nf, |e ce
nonyuu cnyuaeu peayn1a1. Koununa1op1 uaaaa npeynpeeuue aa 1oaa.
Axo <npoueunuaa> e o1 1un shof 1nf, 1unoae1e shof 1nf u boo1,
uora1 a ca 1unoae ua <uapaa>. 8 npo1uaeu cnyuau ce uaapmaa1
npeobpaayaauun, xou1o aon1 o aaryba ua 1ouuoc1 unu ae o cnyuauuu
peayn1a1u. Muoro xoununa1opu ue npeynpeaaa1 aa 1oaa.
|e o1beneuu, ue a pauxu1e ua eua yuxun ue ca aauouu ae
euuuuu ua eua u c|a npoueunuaa, uo ua eua u c|a npoueunuaa uoe a
u ba1 npucaonaauu uuoroxpa1uo paanuuuu c1ouuoc1u.
hpuuep: he ca onyc1uuu
.
doub1e a = 1.5
.
doub1e a = a + 5.1
.
uo ca onyc1uuu npucaonaauun1a:
.
doub1e a = 1.5
.
a = a + 34.5
.
a = 0.5 + s1n{a}
.
8 eauxa C++ ca aaeeuu unxou cxpa1euu opuu ua onepa1opa aa
npucaonaaue. hanpuuep, aapau uec1o1o uanonaaaue ua onepa1opa:
a = a + 1
1ou cxpa1euo ce oauauaaa c
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 50 o1 1
a++
8aeeuo e c|o u cxpa|euue1o a-- ua onepa1opa a = a-1
8 c|uoc1 ++ u -- ca peanuaupauu xa1o noc1uxcuu yuapuu onepa1opu
yaenuuaaa|u co1ae1uo uauannaa|u apryueu1a cu c 1. hpuopu1e11 uu e euu
u c| c 1oau ua yuapuu1e onepa1opu +, - u !.
3abenexa: O1 onepa1opa ++, aa obaanue ua 1, uaa uue1o ua eauxa C++
- aapuau1 ua eauxa C, xu xou1o ca obaaeuu uuoro noobpeuun u uoau
uep1u.
onnueuue: Onepa1op1 aa npucaonaaue = e npe1oaapeu u c yuxun1a ua
ncuoacoua1uaua uuuxcua apu1ue1uuuo-noruuecxa onepaun c npuopu1e1 no-
uucx o1 1oau ua uakuxun1a ||. 1oaa noaaonnaa ua onepa1opa aa
npucaonaaue
= y
xe1o x e npoueunuaa, a y - uapaa, a ce rnea xa1o ua uapaa o1 1un -
1una ua x u c1ouuoc1 - c1ouuoc11a ua y, axo e o1 1una ua x unu c1ouuoc11a
ua y, uo npeobpaayaaua o 1una ua x.
hpuuep: hporpaua1a
#1nc1ude <1osfeam.h>
1nf ma1n{}
{1nf a
doub1e b
b = 3.2342
couf << {a = b} << "\n"
efun 0
}
e onyc1uua. Peayn11 o1 uannueuue1o u e 3, xa1o xoununa1op1 uaaaa
npeynpeeuue aa aaryba ua uuopuaun npu npeobpaayaaue1o o1 1un doub1e
a 1un 1nf. hapaa1 a = b e o1 1un 1nf u uua c1ouuoc1 3. Orpaaue1o uy a
cxobu e ueobxouuo aapau no-uucxun npuopu1e1 ua = o1 1oau ua <<.
onnueuue: onyc1uu e onepa1op1:
= y = 5
1u xa1o = e ncuoacoua1uaeu, o1uauano npoueunuaa1a y ce capaaa cc 5,
xoe1o e c1ouuoc11a ua uapaaa y = 5. Cne 1oaa x ce capaaa c 5, xoe1o e
c1ouuoc11a ua enun uapaa.
hnxou xoununa1opu uaaaa1 npeynpeeuue npu 1aau yno1peba ua
onepa1opa =. 3a1oaa ue npenopuaaue a ce uanonaaa = xa1o apu1ue1uueu
onepa1op.
3aauu apxy onepa1opa aa npucaonaaue 3aauu apxy onepa1opa aa npucaonaaue 3aauu apxy onepa1opa aa npucaonaaue 3aauu apxy onepa1opa aa npucaonaaue
3aaua 1 3aaua 1 3aaua 1 3aaua 12 22 2. hexa ca aeuu euuuuu1e
doub1e x, y,
1nf m, n, p
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 51 o1 1
Kou o1 cneuu1e peuu o1 cuuaonu ca onepa1opu aa npucaonaaue:
a} -x = y b} x = -y a} m + n = p
r} p = x + y } = x - y e} = m + n
} s1n{0} = 0 a} x n + s1n{} x} 4 = s1n{p + 5}?
8 cnyuau1e a}, a}, } u x} peuu1e ue ca onepa1opu aa npucaonaaue,
1u xa1o ua uapaa ce npucaonaa uapaa. 8 cnyuau r} peua1a o1 cuuaonu e
onepa1op aa npucaonaaue, uo 1u xa1o ua nna npoueunuaa ce npucaonaa
c1ouuoc11a ua peaneu uapaa, xoununa1op1 |e uanpaau npeynpeeuue aa
aaryba ua 1ouuoc1, a a cnyuau a} e nponycua1 cuuaon1 = o1 auaxa aa
npucaonaaue.
3aaua 1 3aaua 1 3aaua 1 3aaua 13 33 3. a ce uanume nporpaua, xon1o aaea c1ouuoc1u ua peanuu1e
npoueunuau a u b, cne xoe1o paaueun u uaaea c1ouuoc1u1e uu {hanpuuep,
axo a = 5.6, a b = -3.4, cne uannueuue1o ua nporpaua1a a a c1aaa -3.4
, a b a nonyuaaa c1ouuoc11a 5.6}.
hporpaua Zad13.cpp pemaaa aaaua1a.
Pogam Zad13.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{couf << "a= "
doub1e a
c1n >> a
couf << "b= "
doub1e b
c1n >> b
doub1e x
x = a
a = b
b = x
couf << "a= " << a << "\n"
couf << "b =" << b << "\n"
efun 0
}
8 1aau nporpaua ce uanonaaa pabo1ua npoueunuaa x, xon1o cxpaunaa
npaouauanua1a c1ouuoc1 ua npoueunuaa1a a.
3aaua 14 3aaua 14 3aaua 14 3aaua 14. a ce uanume nporpaua, xon1o aaea nonou1enuo 1puupeuo
uucno u uaaea ua o1enuu peoae upu1e ua c1o1uu1e, ua ece1uu1e u
ua euuuu1e ua uucno1o.
hporpaua Zad14.cpp pemaaa aaaua1a.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 52 o1 1
Pogam Zad14.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
1nf ma1n{}
{ couf << "a - fhee-d1g1f, 1nfege and pos1f1e? "
1nf a
c1n >> a
shof s, d, e
s = a / 100
d = a / 10 x 10
e = a x 10
couf << sef{10} << "sfof1c1: " << sef{5} << s << "\n"
couf << sef{10} << "desef1c1:" << sef{5} << d << "\n"
couf << sef{10} << "ed1n1c1: " << sef{5} << e << "\n"
efun 0
}
3aaua 1 3aaua 1 3aaua 1 3aaua 15 55 5. ha nna1a npoueunuaa b a ce npucaou npaa1a upa ua
pobua1a uac1 ua nonou1enuo1o peanuo uucno x {hanpuuep, axo x =
52.467, 1o b = 4}.
hporpaua Zad15.cpp pemaaa aaaua1a
Pogam Zad15.cpp
#1nc1ude<1osfeam.h>
#1nc1ude <mafh.h>
1nf ma1n{}
{ couf << "x>0? "
doub1e x
c1n >> x
1nf 1 = 1oo{x " 10}
1nf b = 1 x 10
couf << x << "\n"
couf << b << "\n"
efun 0
}
3aaua 16 3aaua 16 3aaua 16 3aaua 16. a ce uanume nporpaua, xon1o uaaea 1, axo a aanuca ua
nonou1enuo1o ue1upuupeuo uucno a, acuuxu upu ca paanuuuu u 0 - a
npo1uaeu cnyuau.
hporpaua Zad16.cpp pemaaa aaaua1a.
Pogam Zad20.cpp
#1nc1ude <1osfeam.h>
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 53 o1 1
1nf ma1n{}
{ couf << "a - ou-d1g1f, 1nfege and pos1f1e? "
1nf a
c1n >> a
shof h, s, d, e
h = a / 1000
s = a / 100 x 10
d = a / 10 x 10
e = a x 10
couf << {h != s && h != d && h != e &&
s != d && s != e && d != e} << "\n"
efun 0
}
4.2. hpaaeu onepa1op 4.2. hpaaeu onepa1op 4.2. hpaaeu onepa1op 4.2. hpaaeu onepa1op
1oaa e uau-npoc1un onepa1op ua C++. Onucauue1o uy e aeuo ua 4ur. 1.
Cuu1axcuc

Onepa1op1 ue cpa uuxaxau cuuaonu. 3aapmaa cc auaxa .


Ceuau1uxa
he uaapmaa uuxaxau euc1aun. hanonaaa ce xora1o cuu1axcuc1 ua
unxaxa onepa1op uaucxaa npucc1aue1o ua noue euu onepa1op, a noruxa1a
ua nporpaua1a ue uaucxaa 1axa.
4ur. 1.
3abenexa: hanumuu npaauu onepa1opu ue npeuaauxaa1 rpemxa npu
xoununaun. hanpuuep, peua1a o1 onepa1opu
a = 150
b = 50
c = a + b
ce cc1ou o1: onepa1opa aa npucaonaaue a = 150, 2 npaauu onepa1opa,
onepa1opa aa npucaonaaue b = 50, 3 npaauu onepa1opa, onepa1opa aa
npucaonaaue c = a + b u 1 npaaeu onepa1op u e uannuo onyc1uu nporpaueu
parueu1.
pyru npuuepu |e aeu no-xcuo.
4.3. 5nox 4.3. 5nox 4.3. 5nox 4.3. 5nox
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 54 o1 1
ec1o cuu1axcuc1 ua unxaxa onepa1op ua eauxa uaucxaa uanonaaaue1o ua
euu onepa1op, a noruxa1a ua aaaua1a - peua o1 onepa1opu. 8 1oau
cnyuau ce uanara oopunue1o ua bnox {4ur. 2.}.
Cuu1axcuc
{ <onepa1op
1
>
<onepa1op
2
>
. . .
<onepa1op
n
>
}
Ceuau1uxa
Obeuunaa unxonxo onepa1opa a euu, uapeueu bnox. Moe a be
noc1aaeu uaacnxe, xe1o no cuu1axcuc c1ou onepa1op.
euuuuu1e a bnoxa, ce o1uacn1 cauo aa uero, 1.e. ue uora1 a ce
uanonaaa1 uaau uero.
4ur. 2.
hpuuep: Onepa1op1
{couf << a=
doub1e a
c1n >> a
couf << b=
doub1e b
c1n >> b
doub1e c = {a+b}/2
couf << aeage{a, b} = << c << \n
}
e bnox. Onu11 aa uanonaaaue ua npoueunuau1e a, b u c cne bnoxa,
npeuaauxaa rpemxa.
hpenopxa: aouxa1a urypuu cxobxu, o1aapn|u u aa1aapn|u bnoxa a ce
noc1aan1 eua no pyra.
3abenexa: 3a paanuxa o1 pyru1e onepa1opu, bnox1 ue aaapmaa cc
auaxa .
4.4. xcnoauu onepa1opu 4.4. xcnoauu onepa1opu 4.4. xcnoauu onepa1opu 4.4. xcnoauu onepa1opu
pea 1eau onepa1opu ce peanuaupa1 paaxnounaa|u ce uauucnu1enuu
npoecu. Onepa1op, xou1o aaa aauouoc1 a ce uannuu {unu ue} euu unu
pyr onepa1op a aaaucuuoc1 o1 unxaxao ycnoaue, ce uapuua ycnoaeu ycnoaeu ycnoaeu ycnoaeu. |e
paarneaue cneuu1e ycnoauu onepa1opu: 1, 1/e1se u s1fch.
4.4.1. xcnoaeu onepa1op 1 4.4.1. xcnoaeu onepa1op 1 4.4.1. xcnoaeu onepa1op 1 4.4.1. xcnoaeu onepa1op 1
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 55 o1 1
pea 1oau ycnoaeu onepa1op ce peanuaupa paaxnounaa| ce uauucnu1eneu
npoec o1 au, unkc1pupau ua 4ur. 3.
ue ue ue ue
a a a a
4ur. 3.
Axo yxaaauo1o ycnoaue e a cuna, uannunaa1 ce onpeeneuu euc1aun, a
axo ue - 1eau euc1aun ce npecxaua1. h a aa1a cnyuan cne 1oaa ce
uannunaa1 ob|u euc1aun.
xcnoaue1o ce aaaaa upea unxaxa bynea uapaa, a euc1aun1a - upea
onepa1op. 4ur. 4 onucaa nopobuo cuu1axcuca u ceuau1uxa1a ua 1oau
onepa1op.
Cuu1axcuc
1 {<ycnoaue>} <onepa1op>
xe1o
- 1 {axo} e aanaaeua yua
- <ycnoaue> e bynea uapaa
- <onepa1op> e npouaaoneu onepa1op.
Ceuau1uxa
hpecun1a ce c1ouuoc11a ua byneaun uapaa, npec1aan| ycnoaue1o. Axo
peayn1a11 e fue, uannunaa ce <onepa1op>. 8 npo1uaeu cnyuau <onepa1op>
ue ce uannunaa, 1.e.
a1se
fue
1 {<ycnoaue>} <onepa1op>
.
4ur. 4.
ycnoaue ycnoaue ycnoaue ycnoaue
euc1aun euc1aun euc1aun euc1aun
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 56 o1 1
3abenexu:
1. 5yneaun1 uapaa, onpeenn| <ycnoaue>, 1pnbaa a be onpeeneu.
Orpaa ce a xprnu cxobxu.
2. Onepa1op1 cne ycnoaue1o e 1ouuo euu. Axo e ueobxouuo unxonxo
onepa1opa a ce uannun1, 1pnbaa a ce obeuun1 a bnox.
3aaua 17 3aaua 17 3aaua 17 3aaua 17. a ce uanume nporpaua, xon1o uauupa uau-uanxo1o o1 1pu
aeuu peanuu uucna.
|e peanuaupaue cneuu1e c1nxu:
a} 8aeaue ua c1ouuoc1u ua peanuu1e npoueunuau a, b u c.
b} huuuanuaupaue cc c1ouuoc11a ua a ua pabo1ua peanua npoueunuaa
m1n, xon1o |e urpae u ponn1a ua uaxoua npoueunuaa.
a} Cpaaunaaue ua b c m1n. Axo c1ouuoc11a ua b e no-uanxa o1 aanouueuun
a m1n 1exy| uuuuuyu, aanouun ce b a m1n. 8 npo1uaeu cnyuau, m1n ue ce
npoueun. 1axa m1n cpa m1n{a, b}.
r} Cpaaunaaue ua c c m1n. Axo c1ouuoc11a ua c e no-uanxa o1 aanouueuun
a m1n 1exy| uuuuuyu, c ce aanouun a m1n. 8 npo1uaeu cnyuau, m1n ue ce
npoueun. 1axa m1n cpa m1n{a, b, c}.
} haaeaue ua peayn1a1a - c1ouuoc11a ua m1n.
hporpaua Zad17.cpp peanuaupa 1oau anropu1u.
Pogam Zad17.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{couf << "a= "
doub1e a
c1n >> a
couf << "b= "
doub1e b
c1n >> b
couf << "c= "
doub1e c
c1n >> c
doub1e m1n = a
1 {b < m1n} m1n = b
1 {c < m1n} m1n = c
couf << "m1n{" << a << ", " << b << ", "
<< c << "}= " << m1n << "\n"
efun 0
}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 57 o1 1
Axo auec1o ouaxaauo peanuo uucno, npu aaeaue ua c1ouuoc1u aa
npoueunuau1e a, b u c, ce aaee npouaaoneu uua, ue npec1aannaa| uucno,
byep1 ua xnaaua1ypa1a, capaau cc c1n |e uanaue a cc1onuue a11, a
obex11 c1n |e uua c1ouuoc1 a1se. obpun1 c1un aa nporpauupaue uaucxaa a
1axa cnyuau nporpaua1a a npexcue uannueuue1o cu c noxon|o cob|euue
aa rpemxa. hporpaua1a o1 aaaua 1 peanuaupa 1oau c1un.
3aaua 1 3aaua 1 3aaua 1 3aaua 1. a ce uanume nporpaua, xon1o uauupa uau-uanxo1o o1 1pu
aeuu peanuu uucna. hporpaua1a a uaapmaa npoaepxa aa xopex1uoc1 ua
axouu1e auuu.
hporpaua Zad1.cpp pemaaa aaaua1a.
Pogam Zad1.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{couf << "a= "
doub1e a
c1n >> a
1 {!c1n}
{couf << "o, bad 1npuf \n"
efun 1
}
couf << "b= "
doub1e b
c1n >> b
1 {!c1n}
{couf << "o, bad 1npuf \n"
efun 1
}
couf << "c= "
doub1e c
c1n >> c
1 {!c1n}
{couf << "o, bad 1npuf \n"
efun 1
}
doub1e m1n = a
1 {b < m1n} m1n = b
1 {c < m1n} m1n = c
couf << "m1n{" << a << ", " << b << ", "
<< c << "}= " << m1n << "\n"
efun 0
}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 5 o1 1
|e uanouuuu, ue onepa1op1 efun npeuaauxaa npeyc1auoanaaue pabo1a1a
ua nporpaua1a, a c1ouuoc11a 1 - ue e aauuxuana rpemxa.
3aaua 19 3aaua 19 3aaua 19 3aaua 19. a ce cop1upa aa aaxon| pe peua o1 1pu peanuu uucna,
aanouueuu a npoueunuau1e a, b u c.
|e peanuaupaue cneuu1e c1nxu:
a} 8aeaue ua c1ouuoc1u aa a, b u c.
b} Cpaaunaaue ua c1ouuoc1u1e ua a u b. Axo e a cuna penaun1a b<a,
uaapmaa ce paaunua ua c1ouuoc1u1e ua a u b. 8 npo1uaeu cnyuau -
paaunua1a ue ce uaapmaa.
a} Cpaaunaaue ua c1ouuoc1u1e ua a u c. Axo e a cuna penaun1a c<a,
uaapmaa ce paaunua ua c1ouuoc1u1e ua a u c. 8 npo1uaeu cnyuau -
paaunua1a ue ce uaapmaa. Cne 1oaa euc1aue, npoueunuaa1a a cpa uau-
uanxa1a c1ouuoc1 ua peua1a.
r} Cpaaunaaue ua c1ouuoc1u1e ua b u c. Axo e a cuna penaun1a c<b,
uaapmaa ce paaunua ua c1ouuoc1u1e ua b u c. 8 npo1uaeu cnyuau -
paaunua1a ue ce uaapmaa.
e} haaeaue ua c1ouuoc1u1e ua a, b, u c.
hporpaua Zad19.cpp peanuaupa 1oaa onucauue.
Pogam Zad19.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
1nf ma1n{}
{ couf << "a= "
doub1e a
c1n >> a
1 {!c1n}
{couf << "o, bad 1npuf \n"
efun 1
}
couf << "b= "
doub1e b
c1n >> b
1 {!c1n}
{couf << "o, bad 1npuf \n"
efun 1
}
couf << "c= "
doub1e c
c1n >> c
1 {!c1n}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 59 o1 1
{couf << "o, bad 1npuf \n"
efun 1
}
1 {b < a} {doub1e x = a a = b b = x}
1 {c < a} {doub1e x = c c = a a = x}
1 {c < b} {doub1e x = c c = b b = x}
couf << sefpec1s1on{2} << sef1os1ags{1os :: 1xed}
couf << sef{10} << a << sef{10} << b << sef{10}
<< c << "\n"
efun 0
}
3abenexa: hpoueunuaa1a x e auuua {uoe a ce uanonaaa} cauo a
bnoxoae1e, xe1o e euuupaua.
4.4.2. Onepa1op 1/e1se 4.4.2. Onepa1op 1/e1se 4.4.2. Onepa1op 1/e1se 4.4.2. Onepa1op 1/e1se
Onepa1op1 ce uanonaaa aa uabop ua eua o1 ae aauouu an1epua1uau a
aaaucuuoc1 o1 c1ouuoc11a ua aeuo ycnoaue.
pea uero ce peanuaupa paaxnounaa| ce uauucnu1eneu npoec o1 au,
unkc1pupau ua 4ur. 5.
ue ue ue ue
a a a a
4ur. 5.
Axo yxaaauo1o ycnoaue e a cuna, ce uannunaa1 ce euu euc1aun, a axo
ue - pyru euc1aun. h a aa1a cnyuan cne 1oaa ce uannunaa1 ob|u
euc1aun.
xcnoaue1o ce aaaaa upea unxaxa bynea uapaa, a euc1aun 1 u euc1aun
2 - upea onepa1opu. 4ur. 6 onucaa nopobuo cuu1axcuca u ceuau1uxa1a ua
1oau onepa1op.
ycnoaue ycnoaue ycnoaue ycnoaue
euc1aun 1 euc1aun 1 euc1aun 1 euc1aun 1
euc1aun 2 euc1aun 2 euc1aun 2 euc1aun 2
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 60 o1 1
Cuu1axcuc
1 {<ycnoaue>} <onepa1op1> e1se <onepa1op2>
xe1o
- 1 {axo} u e1se {uuaue} ca aanaaeuu yuu
- <onepa1op1> u <onepa1op2> ca npouaaonuu onepa1opu
- <ycnoaue> e bynea uapaa.
Ceuau1uxa
hpecun1a ce c1ouuoc11a ua byneaun uapaa, npec1aan| ycnoaue1o. Axo
peayn1a11 e fue, uannunaa ce <onepa1op1>. 8 npo1uaeu cnyuau ce
uannunaa <onepa1op2>, 1.e.
a1se
fue
1 {<ycnoaue>} <onepa1op1> e1se <onepa1op2>
4ur. 6.
3abenexu:
1. 5yneaun1 uapaa, onpeenn| <ycnoaue>, 1pnbaa a be uannuo
onpeeneu. 3anu1enuo ce orpaa a xprnu cxobxu.
2. Onepa1op1 cne ycnoaue1o e 1ouuo euu. Axo e ueobxouuo unxonxo
onepa1opa a ce uannun1, 1pnbaa a ce obeuun1 a bnox.
3. Onepa1op1 cne e1se e 1ouuo euu. Axo e ueobxouuo unxonxo
onepa1opa a ce uannun1, 1pnbaa a ce obeuun1 a bnox.
3aaua 20 3aaua 20 3aaua 20 3aaua 20. hpoueunuaa1a y aaaucu o1 npoueunuaa1a x. 3aaucuuoc11a e
cneua1a:
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 61 o1 1
a ce uanume nporpaua, xon1o no aeuo x uauupa co1ae1ua1a c1ouuoc1 ua
y.
hporpaua Zad20.cpp pemaaa aaaua1a.
Pogam Zad20.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
#1nc1ude <mafh.h>
1nf ma1n{}
{ couf << "x= "
doub1e x
c1n >> x
1 {!c1n}
{couf << "o, bad 1npuf!!! \n"
efun 1
}
doub1e y
1 {x >= 1} y = 1og10{x} + 1.2
e1se y = x"x - 7"x + .2
couf << sefpec1s1on{3} << sef1os1ags{1os :: 1xed}
couf << sef{10} << x << sef{10} << y << "\n"
efun 0
}
Cne aaeaue1o ua c1ouuoc11a ua npoueunuaa1a x, nporpaua1a uaapmaa
npoaepxa aa aanuuoc1 ua aaeeua1a c1ouuoc1. hannueuue1o ua onepa1opa
1/e1se aou o npecun1aue ua c1ouuoc11a ua byneaun uapaa x >= 1. Axo 1n
e fue, ce uannunaa onepa1op1 aa npucaonaaue y = 1og10{x} + 1.2. 8
npo1uaeu cnyuau ce uannunaa onepa1op1 aa npucaonaaue y = x"x - 7"x +
.2, cne xoe1o ce uaaea peayn1a11.
8noeuu ycnoauu onepa1opu 8noeuu ycnoauu onepa1opu 8noeuu ycnoauu onepa1opu 8noeuu ycnoauu onepa1opu
8 ycnoauu1e onepa1opu:
1 {<ycnoaue>} <onepa1op>
1 {<ycnoaue>} <onepa1op1> e1se <onepa1op2>
<onepa1op>, <onepa1op1> u <onepa1op2> ca npouaaonuu onepa1opu, a 1. uucno
uora1 a ba1 ycnoauu onepa1opu. 8 1oau cnyuau uuaue anoeuu ycnoauu
onepa1opu.
hpu anaraue1o e aauouo a aauuxua1 aycuucnuu. Axo a euu ycnoaeu
onepa1op uua noaeue aanaaeuu yuu 1 o1xonxo1o e1se, aauuxaa anpoc1,
aa xou o1 onepa1opu1e 1 ce o1uacn co1ae1uo1o e1se. hanpuuep, uexa
paarneaue onepa1opa
1 {x >= 0} 1 { x >= 5} x = 1/x e1se x = -x
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 62 o1 1
8auouu ca cneuu1e ae paanuuuu 1nxyaauun ua 1oau onepa1op:
a} 1 onepa1op, 1nno1o ua xou1o e 1/e1se onepa1op, 1.e.
1 {x >= 0}
1 {x >= 5} x = 1/x e1se x = -x
hpu 1oaa 1nxyaauue, axo npeu uannueuue1o ua 1 onepa1opa x uua
c1ouuoc1 -5, cne uannueuue1o uy, c1ouuoc11a ua x oc1aaa uenpoueueua.
b} 1/e1se onepa1op, c 1 onepa1op cne <ycnoaue>, 1.e.
1 {x >= 0} 1 { x >= 5} x = 1/x
e1se x = -x
hpu 1oaa 1nxyaauue, axo npeu uannueuue1o ua 1/e1se onepa1opa x uua
c1ouuoc1 -5, cne uannueuue1o uy, c1ouuoc11a ua x c1aaa 5.
3anuc1 upea co1ae1uu nopaaunaauun, ue anune ua xoununa1opa. 8 eauxa
C++ uua npaauno, xoe1o onpeenn uauuua no xou1o ce uannunaa1 anoeuu
ycnoauu onepa1opu.
hpaauno: hpaauno: hpaauno: hpaauno: 8cnxo e1se ce cue1aaa a euu ycnoaeu onepa1op c uau-bnuaxo1o
npeu uero uecue1auo 1. 1exc11 ce rnea o1nnao uancuo.
Cnope 1oaa npaauno, xoununa1op1 ua C++ |e npueue npao1o 1nxyaauue
aa ropuu1e anoeuu ycnoauu onepa1opu.
hpenopxa: xcnoaeu onepa1op a ce anara a pyr ycnoaeu onepa1op cauo
cne e1se. Axo ce uanara a ce anou cne ycnoaue1o, anoeuun1 ycnoaeu
onepa1op a ce uanpaau bnox.
3aauu apxy onepa1opu1e 1 u 1/e1se 3aauu apxy onepa1opu1e 1 u 1/e1se 3aauu apxy onepa1opu1e 1 u 1/e1se 3aauu apxy onepa1opu1e 1 u 1/e1se
3aaua 21 3aaua 21 3aaua 21 3aaua 21. Axo npoueunuaa1a a uua c1ouuoc1 , onpeene1e xaxaa
c1ouuoc1 |e uua npoueunuaa1a b cne uannueuue1o ua onepa1opa
1 {a > 4} b = 5 e1se
1 {a < 4} b = -5 e1se
1 {a == } b = e1se b = 3
1u xa1o e a cuna ycnoaue1o a > 4, npoueunuaa1a b |e nonyuu c1ouuoc11a
5.
3aaua 22 3aaua 22 3aaua 22 3aaua 22. C1ouuoc11a ua y aaaucu o1 x. 3aaucuuoc11a e cneua1a:
a ce uanume nporpaua, xon1o no aeuo x, uauupa c1ouuoc11a ua y.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 63 o1 1
hporpaua Zad22.cpp pemaaa aaaua1a.
Pogam Zad22.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
1nf ma1n{}
{ couf << "x= "
doub1e x
c1n >> x
1 {!c1n}
{ couf << "o, 8ad 1npuf\n"
efun 1
}
doub1e y
1 {x <= 2} y = x e1se
1 {x <= 3} y = 2 e1se y = x-1
couf << sefpec1s1on{3} << sef1os1ags{1os :: 1xed}
couf << sef{10} << x << sef{10} << y << "\n"
efun 0
}
3abenexa: 8 nporpaua Zad22.cpp cne npao1o e1se e a cuna ycnoaue1o x
> 2. 3a1oaa ue e uyuo 1o a ce npoaepnaa.
3aaua 23 3aaua 23 3aaua 23 3aaua 23. a ce uanume nporpaua, xon1o aaea 1pu peanuu uucna a, b
u c u uaaea 0, axo ue c|ec1ayaa 1purnuux cc c1pauu a, b u c. Axo
1axa 1purnuux c|ec1ayaa, a uaaea 3, 2 unu 1 a aaaucuuoc1 o1 1oaa
xaxa e 1purnuux1 - paauoc1paueu, paauobepeu unu paauoc1paueu
co1ae1uo.
hporpaua Zad23.cpp pemaaa aaaua1a.
Pogam Zad23.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{ couf << "a= "
doub1e a
c1n >> a
1 {!c1n}
{couf << "o, bad 1npuf \n"
efun 1
}
couf << "b= "
doub1e b
c1n >> b
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 64 o1 1
1 {!c1n}
{couf << "o, bad 1npuf \n"
efun 1
}
couf << "c= "
doub1e c
c1n >> c
1 {!c1n}
{couf << "o, bad 1npuf \n"
efun 1
}
boo1 x = a <= 0 || b <= 0 || c <= 0 ||
a+b <= c || a+c <= b || b+c <= a
1 {x} couf << 0 << "\n" e1se
1 {a == b && b == c} couf << 3 << "\n" e1se
1 {a == b || a == c || b == c} couf << 2 << "\n" e1se
couf << 1 << "\n"
efun 0
}
5yneaa1a npoueunuaa x e nouo|ua. 1n uua c1ouuoc1 fue, axo a, b u c ue
ca c1pauu ua 1purnuux. honyueua e cne npunaraue o1puauue ua ycnoaue1o
a, b u c a ca c1pauu ua 1purnuux, 1.e. ua ycnoaue1o
a > 0 && b > 0 && c > 0 && a + b > c && a + c > b && b + c > a
xa1o ca uanonaaauu aaxouu1e ua e Moprau.
3axouu ua e Moprau: 3axouu ua e Moprau: 3axouu ua e Moprau: 3axouu ua e Moprau:
!!A e exauaaneu1uo ua A
!{A || 8} e exauaaneu1uo ua !A && !8
!{A && 8} e exauaaneu1uo ua !A || !8
3aaua 3aaua 3aaua 3aaua 24 24 24 24. a ce uanume nporpaua, xon1o ua nna1a npoueunuaa k
npucaonaa uouepa ua xaapau1a, a xou1o ce uauupa 1ouxa c xoopuua1u {x,
y}. 1ouxa1a ue neu ua xoopuua1uu1e ocu, 1.e. x.y 0.
hporpaua1a Zad24.cpp pemaaa aaaua1a.
Pogam Zad24.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{ couf << "x="
doub1e x
c1n >> x
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 65 o1 1
efun 1
}
couf << "y="
doub1e y
c1n >> y
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {x"y == 0}
{couf << "1he 1npuf 1s 1ncoecf! \n"
efun 1
}
1nf k
1 {x"y>0} {1 {x>0} k = 1 e1se k= 3}
e1se
1 {x>0} k = 4 e1se k = 2
couf << "1he po1nf 1s 1n: " << k << "\n"
efun 0
}
4.4.3. 4.4.3. 4.4.3. 4.4.3. Onepa1op s1fch Onepa1op s1fch Onepa1op s1fch Onepa1op s1fch
ec1o ce uanara a ce uabepe aa uannueuue euu uauey uuoec1ao o1
aapuau1u. hpuuep aa 1oaa aaa cneua1a aaaua.
3aaua 25. 3aaua 25. 3aaua 25. 3aaua 25. a ce uanume nporpaua, xon1o aaea upa, cne xoe1o n
uaaea c yuu.
3a pemaaaue1o ua aaaua1a 1pnbaa a ce peanuaupa cneua1a
ueeneueu1apua yuxun:
hocneuo1o uoe a c1aue upea cneua1a nporpaua:
#1nc1ude <1osfeam.h>
1nf ma1n{}
{couf << "1= "
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 66 o1 1
1nf 1
c1n >> 1
1 {!c1n}
{couf << "o, bad 1npuf!\n"
efun 1
}
1 {1 < 0 || 1 > 9}
{couf << "8ad 1npuf \n"
efun 1
}
e1se
1 {1 == 0} couf << "eo \n"
e1se 1 {1 == 1} couf << "one \n"
e1se 1 {1 == 2} couf << "fo \n"
e1se 1 {1 == 3} couf << "fhee \n"
e1se 1 {1 == 4} couf << "ou \n"
e1se 1 {1 == 5} couf << "1e \n"
e1se 1 {1 == 6} couf << "s1x \n"
e1se 1 {1 == 7} couf << "seen \n"
e1se 1 {1 == } couf << "e1ghf \n"
e1se 1 {1 == 9} couf << "n1ne \n"
efun 0
}
8 uen ca uanonaaauu anoeuu 1 u 1/e1se onepa1opu, ycnoaun1a ua xou1o
cpaaunaa1 npoueunuaa1a 1 c upu1e 0, 1, 2, ., 9.
hua no-yobua opua aa peanuaupaue ua 1oaa anaraue. hoc1ura ce upea
onepa1opa aa uabop ua aapuau1 s1fch.
hporpaua Zad25.cpp e pyro pemeuue ua aaaua1a.
Pogam Zad25.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{couf << "1= "
1nf 1
c1n >> 1
1 {!c1n}
{couf << "o, bad 1npuf!\n"
efun 1
}
1 {1 < 0 || 1 > 9}
{couf << "8ad 1npuf \n"
efun 1
}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 67 o1 1
e1se
s1fch {1}
{case 0 : couf << "eo \n" beak
case 1 : couf << "one \n" beak
case 2 : couf << "fo \n" beak
case 3 : couf << "fhee \n" beak
case 4 : couf << "ou \n" beak
case 5 : couf << "1e \n" beak
case 6 : couf << "s1x \n" beak
case 7 : couf << "seen \n" beak
case : couf << "e1ghf \n" beak
case 9 : couf << "n1ne \n" beak
}
efun 0
}
Onepa1op1 s1fch aanouaa cc aanaaeua1a yua s1fch {xnku}, cneaau
o1, orpaeu a xprnu cxobxu, nn uapaa. Mey urypuu1e cxobxu ca
uabpoeuu aapuau1u1e ua onepa1opa. Onucauue1o uu aanouaa cc aanaaeua1a
yua case {cnyuau, aapuau1}, cneaaua a cnyuan o1 upa, uapeueua e1uxe1,
aoe1ouue u peua o1 onepa1opu.
hannueuue ua nporpaua1a hannueuue ua nporpaua1a hannueuue ua nporpaua1a hannueuue ua nporpaua1a
Cne aaeaue1o ua c1ouuoc1 ua npoueunuaa1a 1 ce uaapmaa npoaepxa aa
xopex1uoc1 ua aaeeuo1o. hexa aaeeua1a c1ouuoc1 e 7. hannueuue1o ua
onepa1opa s1fch npuuuunaa a be npecue1ua1a c1ouuoc11a ua uapaaa 1 - a
cnyuan 7. Cne 1oaa nocneoaa1enuo cpaaunaa 1aau c1ouuoc1 cc
c1ouuoc1u1e ua e1uxe1u1e o uauupaue ua e1uxe1a 7 u uannunaa peua1a o1
onepa1opu cne uero. 8 peayn1a1 apxy expaua ce uaaea seen xypcyp1
ce npeuec1aa ua uoa pe u ce npexcaa uannueuue1o ua onepa1opa s1fch.
hocneuo1o e npuuuueuo o1 onepa1opa beak a xpan ua peua1a o1 onepa1opu
aa aapuau1a c e1uxe1 7.
Onepa1op1 s1fch peanuaupa uabop ua aapuau1 o1 uuoec1ao aapuau1u
{aauouoc1u}. Cuu1axcuc1 u ceuau1uxa1a uy ca aeuu ua 4ur. 7.
Cuu1axcuc Cuu1axcuc Cuu1axcuc Cuu1axcuc
s1fch {<uapaa>}
{ case <uapaa
1
> : <peuao1onepa1opu
1
>
case <uapaa
2
> : <peuao1onepa1opu
2
>
.
case <uapaa
n-1
> : <peuao1onepa1opu
n-1
>
|deau1f : <peuao1onepa1opu
n
>]
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 6 o1 1
}
xe1o
- s1fch {xnku}, case {cnyuau, uabop unu aapuau1} u deau1f {no
npeunuaaaue} ca aanaaeuu yuu ua eauxa
- <uapaa> e uapaa o1 onyc1uu 1un {1unoae1e boo1, 1nf u cha ca
onyc1uuu, peanuu1e 1unoae doub1e u 1oaf ue ca onyc1uuu}. |e ro
uapuuaue o|e s1fch-uapaa.
- <uapaa
1
>, <uapaa
2
>, ., <uapaa
n-1
> ca xouc1au1uu uapaau, aanu1enuo c
paanuuuu c1ouuoc1u.
- <peuao1onepa1opu
1
> {1 = 1, 2, ., n} ce euuupa no cneuun uauuu:
<peuao1onepa1opu> ::= <npaauo>|
<onepa1op>|
<onepa1op><peuao1onepa1opu>
Ceuau1uxa Ceuau1uxa Ceuau1uxa Ceuau1uxa
hauupa ce c1ouuoc11a ua s1fch-uapaaa. honyueua1a xouc1au1a ce
cpaaunaa nocneoaa1enuo cc c1ouuoc1u1e ua e1uxe1u1e <uapaa
1
>, <uapaa
2
>, .
hpu canaeuue, ce uannunaa1 onepa1opu1e ua co1ae1uun aapuau1 u
onepa1opu1e ua acuuxu aapuau1u, paanonoeuu cne uero, o cpe|aue ua
onepa1op beak. 8 npo1uaeu cnyuau, axo yuac1aa deau1f-aapuau1, ce
uannunaa peua1a o1 onepa1opu, xon1o uy co1ae1c1aa u a cnyuau, ue ue
yuac1aa 1axa - ue cneaa1 uuxaxau euc1aun o1 onepa1opa s1fch.
4ur. 7.
Mey urypuu1e cxobxu ca uabpoeuu aapuau1u1e ua onepa1opa. 8cexu
aapuau1 {bea eaeu1yanuo euu} aanouaa cc aanaaeua1a yua case, cneaaua
o1 uapaa {uapuua ce o|e case-uapaa unu e1uxe1}, xou1o ce npecun1a no
apeue ua xoununaun. 1axuaa uapaau ce uapuua1 xouc1au1uu xouc1au1uu xouc1au1uu xouc1au1uu. 1e ue aaaucn1
o1 axouu1e auuu. Cne xouc1au1uun uapaa ce noc1aan auax1 aoe1ouue,
cneaau o1 peua o1 onepa1opu {onepa1opu ua aapuau1a}, xon1o uoe a e
npaaua. Cpe aapuau1u1e uoe a uua euu {ue e aanu1eneu}, xou1o unua
case-uapaa u aanouaa cc aanaaeua1a yua deau1f. 1ou ce uannunaa a
cnyuau, ue uuxou o1 oc1auanu1e aapuau1u ue e bun uannueu.
C|ec1ayaa aauouoc1 nporpauuc11 a cob|u ua xoununa1opa, ue enae
a ce uannuu cauo peua1a o1 onepa1opu ua aapuau1a c e1uxe1, canaa|
cc c1ouuoc11a ua s1fch-uapaaa, a ue u acuuxu cneaa|u ro. 1oaa ce
peanuaupa upea uanonaaaue ua onepa1op beak a xpan ua peua1a o1
onepa1opu ua aapuau1a. 1oau onepa1op npeuaauxaa npexcaaue ua
uannueuue1o ua onepa1opa s1fch u npeaaaue ua ynpaaneuue1o ua npaun
onepa1op cne uero {4ur. .}.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 69 o1 1
Onepa1op1 beak npuuaneu xu rpyna1a ua 1. uap. onepa1opu aa onepa1opu aa onepa1opu aa onepa1opu aa
npexo npexo npexo npexo. 1eau onepa1opu npeaaa1 ynpaaneuue1o beaycnoauo a unxaxaa 1ouxa
ua nporpaua1a.
Cuu1axcuc Cuu1axcuc Cuu1axcuc Cuu1axcuc
beak
Ceuau1uxa
hpexpa1naa uannueue1o ua uau-a1pemuun cpa| ro onepa1op s1fch
unu onepa1op aa uxn. hannueuue1o ua nporpaua1a nponaaa o1
onepa1opa, cneaa| {cpa|} npexcua1un.
4ur. .
hporpauuc11 caua1enuo nponycxa onepa1opa beak, xora1o aa unxonxo
paanuuuu c1ouuoc1u o1 uuoec1ao1o o1 c1ouuoc1u, 1pnbaa a ce uaapma1
euaxau euc1aun.
3abenexa: Axo a onepa1opa s1fch ue e uanonaaau onepa1op1 beak, |e
be uannueua peua1a o1 onepa1opu ua aapuau1a, uuu1o case-uapaa
canaa cc c1ouuoc11a ua s1fch-uapaaa u c|o acuuxu cne uero.
hanonaaaue1o ua onepa1opa s1fch uua euo euuc1aeuo npeuuc1ao npe
onepa1opu1e 1 u 1/e1se - npaau peanuaaun1a no-ncua. Ocuoaeu ueroa
ueoc1a1x e, ue uoe a ce npunara npu uuoro cneuanuu obc1on1enc1aa,
npoua1uua|u o1 uanoeuu1e orpauuueuun ua 1una ua s1fch-uapaaa, a uueuuo,
1ou 1pnbaa a e nn, bynea unu cuuaoneu. Ocaeu 1oaa, uanonaaaue1o ua
onepa1opa beak, aa1pyunaa oxaaaaue1o ua aauu ua1eua1uuecxu caouc1aa
ua nporpauu1e, uanonaaa|u beak.
3aauu apxy onepa1opa s1fch 3aauu apxy onepa1opa s1fch 3aauu apxy onepa1opa s1fch 3aauu apxy onepa1opa s1fch
3aaua 26. 3aaua 26. 3aaua 26. 3aaua 26. a ce uanume nporpaua, xon1o no aaaeuo peanuo uucno x
uauupa c1ouuoc11a ua euu o1 cneuu1e uapaau:
y = x - 5
y = s1n{x}
y = cos{x}
y = exp{x}.
habop1 ua enauun uapaa a c1aaa no cneuun uauuu: npu aaeaue ua
upa1a 1 ce uabupa npaun1, ua 2 - a1opun1, ua 3 - 1pe1un1 u ua 4 -
ue1ap1un uapaa.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 70 o1 1
hporpaua Zad25.cpp pemaaa aaaua1a.
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
#1nc1ude <mafh.h>
1nf ma1n{}
{couf << "=================================\n"
couf << "| y = x-5 -> 1 |\n"
couf << "| y = s1n{x} -> 2 |\n "
couf << "| y = cos{x} -> 3 |\n"
couf << "| y = exp{x} -> 4 |\n"
couf << "=================================\n"
couf << " 1, 2, 3 o 4? \n"
1nf 1
c1n >> 1
1 {!c1n}
{couf << "o, 8ad 1npuf!!! \n"
efun 1
}
1 {1 == 1 || 1 == 2 || 1 == 3 || 1 == 4}
{couf << "x= "
doub1e x
c1n >> x
1 {!c1n}
{couf << "o, 8ad 1npuf!! \n"
efun 1
}
doub1e y
s1fch {1}
{case 1: y = x - 5 beak
case 2: y = s1n{x} beak
case 3: y = cos{x} beak
case 4: y = exp{x} beak
}
couf << "y= " << y << "\n"
}
e1se
{couf << "o, 8ad cho1se!!\n"
efun 1
}
efun 0
}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 71 o1 1
3aauu 3aauu 3aauu 3aauu
3aaua 1. 3aaua 1. 3aaua 1. 3aaua 1. anaa nu ce ycnoaeu onepa1op peua1a o1 cuuaonu:
a} 1 {x < y} x = 0 e1se y = 0
b} 1 {x > y} x = 0 e1se c1n >> y
a} 1 {x >= y} x = 0 y = 0 e1se couf <<
r} 1 {x < y} e1se = 5
} 1 {x < y < } fhen = + 1
e} 1 {x != y} = +1 x = x + y
3aaua 2. 3aaua 2. 3aaua 2. 3aaua 2. Koe ycnoaue e a cuna cne aanaaeua1a yua e1se ua ycnoauun
onepa1op:
a} 1 {a > 1 && a < 5} b = 5 e1se b = 10
b} 1 {a < 1 || a > 5} b = a e1se a = b
a} 1 {a = b || a = c || b = c} c = a + b e1se c = a - b
3aaua 3aaua 3aaua 3aaua 3 33 3. .. . a ce uauepn1 rpemxu1e a cneuu1e onepa1opu:
a} 1 {1 < x < 2} x = x + 1 y = 0
e1se x = 0 y = y + 1
b} 1 {1 < x} && {x < 2}
{x = x + 1
y = 0
}
e1se
{x = 0
y = y + 1
}
3aaua 3aaua 3aaua 3aaua 4 44 4. .. . a ce uanume nporpaua, xon1o no aeuo peanuo uucno x uauupa
c1ouuoc11a ua y, xe1o
3aaua 5. 3aaua 5. 3aaua 5. 3aaua 5. a ce uanume nporpaua, xon1o no aaaeuu c1ouuoc1u ua peanuu1e
npoueunuau a, b u c uauupa:
a} m1n{a+b+c, a.b.c} + 15.2
b} max{a
2
- b
3
+ c, a - 17.3 b, 3.1 a + 3.5 b - c} - 17.9.
3aaua 6. 3aaua 6. 3aaua 6. 3aaua 6. a ce uanume nporpaua, xon1o yaenuuaaa no-uanxo1o o1 ae aeuu
enu uepaauu uucna ne1 n1u, a no-ronnuo1o uucno uauannaa n1u.
3aaua 7. 3aaua 7. 3aaua 7. 3aaua 7. a ce uanume nporpaua, xon1o aaea ue1upu peanuu uucna u ru
uaaea aa aaxon| {uuaxon|} pe apxy expaua.
3aaua 3aaua 3aaua 3aaua . .. . aeuu ca 1pu uucna a, b u c. a ce uanume nporpaua, a peayn1a1
o1 uannueuue1o ua xon1o, axo e a cuna penaun1a a b c, uucna1a ce
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 72 o1 1
yaonaa1, a npo1uaeu cnyuau uucna1a ce aaueun1 c 1exuu1e abconk1uu
c1ouuoc1u.
3aaua 3aaua 3aaua 3aaua 9 99 9. .. . a ce uauepu c1ouuoc11a ua cne uannueuue1o ua onepa1opu1e
= 0
1 {x > 0} 1 {y > 0} = 1 e1se = 2
axo:
a} x = y = 1 b} x = 1, y = -1 a} x = -1, y = 1
3aaua 3aaua 3aaua 3aaua 10 10 10 10. .. . a ce aanume yxaaauo1o euc1aue upea euu ycnoaeu onepa1op:
b} d = max{a, b, c}
3aaua 1 3aaua 1 3aaua 1 3aaua 11 11 1. .. . a ce uanume ycnoaeu onepa1op, xou1o e exauaaneu1eu ua
onepa1opa aa npucaonaaue
x = a || b && c
xe1o acuuxu npoueunuau ca byneau u a xou1o ue ce uanonaaa1 noruuecxu
onepauu {hanpuuep, onepa1op1 x = nof a e exauaaneu1eu ua onepa1opa 1
{a} x = a1se e1se x = fue}.
3aaua 1 3aaua 1 3aaua 1 3aaua 12 22 2. . . . a ce uanume onepa1op aa npucaonaaue, exauaaneu1eu ua ycnoauun
onepa1op
1 {a} x = b e1se x = c
{acuuxu npoueunuau ca byneau}.
3aaua 13. 3aaua 13. 3aaua 13. 3aaua 13. a ce uanume nporpaua, xon1o no aaaeuo uucno a, uauupa
xopeua ua ypaaueuue1o {x} = 0, xe1o
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 73 o1 1
4.5. Onepa1opu aa uxn 4.5. Onepa1opu aa uxn 4.5. Onepa1opu aa uxn 4.5. Onepa1opu aa uxn
Onepa1opu1e aa uxn ce uanonaaa1 aa peanuaupaue ua uxnuuuu
uauucnu1enuu npoecu.
hauucnu1eneu npoec, npu xou1o onepa1op unu rpyna onepa1opu ce
uannunaa1 uuoroxpa1uo aa paanuuuu c1ouuoc1u ua 1exuu napaue1pu, ce
uapuua uxnuueu uxnuueu uxnuueu uxnuueu.
C|ec1ayaa1 aa aua uxnuuuu npoecu:
uuyx1uauu u
u1epa1uauu.
uxnuueu uauucnu1eneu npoec, npu xou1o bpon1 ua noa1opeuun1a e
uaaec1eu npeaapu1enuo, ce uapuua uuyx1uaeu uxnuueu npoec uuyx1uaeu uxnuueu npoec uuyx1uaeu uxnuueu npoec uuyx1uaeu uxnuueu npoec.
hpuuep: ho aeuu nno uucno n u peanuo uucno x, a ce uauepu cyua1a
Axo 5 uua uauanua c1ouuoc1 1, aa a ce uauepu cyua1a e ueobxouuo n
n1u a ce noa1opn1 cneuu1e euc1aun:
a} xouc1pyupaue ua cbupaeuo
b} obaanue ua cbupaeuo1o xu 5.
uxnuueu uauucnu1eneu npoec, npu xou1o bpon1 ua noa1opeuun1a ue ue ue ue e
uaaec1eu npeaapu1enuo, ce uapuua u1epa1uaeu uxnuueu npoec u1epa1uaeu uxnuueu npoec u1epa1uaeu uxnuueu npoec u1epa1uaeu uxnuueu npoec. hpu 1eau
uxnuuuu npoecu, bpon1 ua noa1opeuun1a aaaucu o1 unxaxao ycnoaue.
hpuuep: ho aeuu peanuu uucna x u > 0, a ce uauepu cyua1a
xe1o cyuupaue1o nponaaa o obaanue ua cbupaeuo, abconk1ua1a
c1ouuoc1 ua xoe1o e no-uanxa o1 .
Axo 5 uua uauanua c1ouuoc1 1, aa a ce uauepu cyua1a e ueobxouuo a
ce noa1opn1 cneuu1e euc1aun:
a} xouc1pyupaue ua cbupaeuo
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 74 o1 1
b} obaanue ua cbupaeuo1o xu 5
oxa1o abconk1ua1a c1ouuoc1 ua nocneuo1o obaaeuo xu cyua1a 5 cbupaeuo
c1aue no-uanxa o1 .
8 1oau cnyuau, bpon1 ua noa1opeuun1a aaaucu o1 c1ouuoc1u1e ua x u .
8 eauxa C++ uua 1pu onepa1opa aa uxn:
onepa1op o
pea uero uora1 a ba1 peanuaupauu npouaaonuu uxnuuuu npoecu, uo
ce uanonaaa rnaauo aa peanuaupaue ua uuyx1uauu uxnuuuu npoecu.
onepa1opu h11e u do/h11e
hanonaaa1 ce aa peanuaupaue ua npouaaonuu uxnuuuu npoecu -
uuyx1uauu u u1epa1uauu.
4.5.1. 4.5.1. 4.5.1. 4.5.1. Onepa1op o Onepa1op o Onepa1op o Onepa1op o
hanonaaa ce ocuoauo aa peanuaupaue ua uuyx1uauu uauucnu1enuu npoecu.
pea npuuep |e unkc1pupaue uanonaaaue1o uy.
3aaua 26. 3aaua 26. 3aaua 26. 3aaua 26. a ce uanume nporpaua, xon1o no aaaeuo ec1ec1aeuo uucno
n, uauupa ax1opuena uy.
1u xa1o n! = 1.2. . .{n-1}.n, cneua1a peua o1 onepa1opu ro
peanuaupa:
1nf acf = 1
acf = acf " 1
acf = acf " 2
.
acf = acf " {n-1}
acf = acf " n
8 uen onepa1opu1e aa npucaonaaue ca uanucauu no cneuun ob| mabnou:
acf = acf " 1
xe1o 1 e nna npoueunuaa, nonyuaaa|a nocneoaa1enuo c1ouuoc1u1e 1, 2,
., {n-1}, n.
Cneoaa1enuo, aa a ce uauepu n! 1pnbaa a ce peanuaupa noa1apnue
uannueuue1o ua onepa1opa acf = acf " 1, aa 1 = 1, 2, ., n. 1oaa uoe
a c1aue c nouo|1a ua onepa1opa o.
hporpaua Zad26.cpp pemaaa aaaua1a.
Pogam Zad26.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{couf << "n= "
1nf n
c1n >> n
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 75 o1 1
1 {!c1n}
{couf << "o, 8ad npuf! \n"
efun 1
}
1 {n <= 0}
{couf << "ncoecf npuf! \n"
efun 1
}
1nf acf = 1
o {1nf 1 = 1 1 o {1nf 1 = 1 1 o {1nf 1 = 1 1 o {1nf 1 = 1 1 <= n 1++} <= n 1++} <= n 1++} <= n 1++}
acf = acf " 1 acf = acf " 1 acf = acf " 1 acf = acf " 1
couf << n << "! = " << acf << "\n"
efun 0
}
Onepa1op1 o e a oebeneu mpu1. 1ou aanouaa cc aanaaeua1a yua o
{aa}. 8 xprnu cxobxu cne uen e peanuaaun1a ua xouc1pyxun1a 1 = 1, 2,
., n. 1n ce cc1ou o1 1pu uac1u: uuuuanuaaun {1nf 1 = 1}, ycnoaue {1
<= n} u xopexun {1++}, o1eneuu c . 3abenee1e, ue onepa1op1 1++ ue
aaapmaa c . Cne 1oau parueu1 e aanucau onepa1op1 acf = acf " 1,
onucaa| euc1aun1a, xou1o ce noa1apn1. hapuua ce 1nno ua uxna 1nno ua uxna 1nno ua uxna 1nno ua uxna.
hannueuue1o ua nporpaua1a aanouaa c aaeaue c1ouuoc1 ua
npoueunuaa1a n u npoaepxa aanuuoc11a ua aaeeuo1o. hexa n = 3. Cne
euuuun1a ua nna1a npoueunuaa acf, a Oh aa uen ca o1eneuu 4 bau1a,
uuuuanuaupauu c 1. hannueuue1o ua onepa1opa o npeuaauxaa aa nna1a
npoueunuaa 1 a ba1 aaeneuu 4 bau1a, xou1o a ce uuuuanuaupa1 c|o c
1. Cneaa npoaepxa ua ycnoaue1o 1<=n u 1u xa1o 1o e uc1uua {1<=3}, ce
uannunaa onepa1op1 acf = acf"1, cne xoe1o acf nonyuaaa c1ouuoc1 1.
hannueuue1o ua onepa1opa 1++ yaenuuaaa 1exy|a1a c1ouuoc1 ua 1 c 1 u
uoaa1a u c1ouuoc1 aeue e 2. O1uoao cneaa npoaepxa ua ycnoaue1o 1<=n u
1u xa1o 1o e uc1uua {2<=3}, ce uannunaa onepa1op1 acf = acf"1, cne
xoe1o acf nonyuaaa c1ouuoc1 2. hannueuue1o ua onepa1opa 1++ yaenuuaaa
1exy|a1a c1ouuoc1 ua 1 c 1 u uoaa1a u c1ouuoc1 aeue e 3. hax cneaa
npoaepxa ua ycnoaue1o 1<=n u 1u xa1o 1o o1uoao e uc1uua {3 <= 3}, ce
uannunaa onepa1op1 acf = acf"1, cne xoe1o acf nonyuaaa c1ouuoc1
2"3, 1.e. 6. hannueuue1o ua onepa1opa 1++ yaenuuaaa 1exy|a1a c1ouuoc1 ua
1 c 1 u uoaa1a u c1ouuoc1 aeue e 4. xcnoaue1o 1<=n e na u uannueuue1o
ua onepa1opa o aaapmaa.
8npexu, ue npoueunuaa1a 1 e euuupaua a onepa1opa o, 1n e auuua
{uoe a ce uanonaaa} cne uannueuue1o uy, xa1o c1ouuoc11a u e npaa1a,
aa xon1o c1ouuoc11a ua ycnoaue1o 1<=n ue e a cuna {a cnyuan 4}.
ha 4ur. 9 e aeuo e1aunuo onucauue ua onepa1opa o.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 76 o1 1
Cuu1axcuc
o {<uuuuanuaaun> <ycnoaue> <xopexun>}
<onepa1op>
xe1o
- o {aa} e aanaaeua yua.
- <uuuuanuaaun> e unu 1ouuo eua 1ouuo eua 1ouuo eua 1ouuo eua euuuun c uuuuanuaaun ua eua
unu noaeue npoueunuau, unu unxonxo onepa1opa aa npucaonaaue unu
aaeaue, o1eneuu cc , u ue aaapmaa|u c . o1eneuu cc , u ue aaapmaa|u c . o1eneuu cc , u ue aaapmaa|u c . o1eneuu cc , u ue aaapmaa|u c .
- <ycnoaue> e bynea uapaa.
- <xopexun> e euu unu unxonxo onepa1opa, ueaaapmaa|u c ueaaapmaa|u c ueaaapmaa|u c ueaaapmaa|u c . 8 cnyuau,
ue ca unxonxo, o1enn1 ce cc ,.
- <onepa1op> e 1ouuo euu npouaaoneu onepa1op. hapuua ce 1nno ua 1nno ua 1nno ua 1nno ua
uxna uxna uxna uxna.
Ceuau1uxa
hannueuue1o aanouaa c uannueuue ua uac11a <uuuuanuaaun>. Cne 1oaa
ce uauupa c1ouuoc11a ua <ycnoaue>. Axo a peayn1a1 ce e nonyuuno a1se,
uannueuue1o ua onepa1opa o aaapmaa, bea 1nno1o a ce e uannuuno uu1o
aeu. 8 npo1uaeu cnyuau nocneoaa1enuo ce noa1apn1 cneuu1e euc1aun:
- hannueuue ua 1nno1o ua uxna
- hannueuue ua onepa1opu1e o1 uac11a <xopexun>
- hpecun1aue c1ouuoc11a ua <ycnoaue>
oxa1o c1ouuoc11a ua <ycnoaue> e fue.
Cneua1a cxeua unkc1pupa uannueuue1o uy:
a1se
fue
o {<uuuuanuaaun> <ycnoaue> <xopexun>}
<onepa1op>
.
4ur. 9.
8auouo e uac1u1e <uuuuanuaun>, <ycnoaue> u <xopexun> noo1enuo
unu aaeuo, a ca npaauu. Paaenu1enu1e {} uey 1nx obaue 1pnbaa a
urypupa1. Axo uac11a <ycnoaue> e npaaua, nopaabupa ce fue.
3abenexu:
1. 1nno1o ua onepa1opa o e 1ouuo euu onepa1op. Axo noaeue onepa1opu
1pnbaa a ce uanonaaa1, ce oopun bnox.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 77 o1 1
2. ac11a <uuuuanuaaun> ce uannunaa cauo aeu - a uauano1o ua
uxna. 8auouo e a ce uauece npe onepa1opa o u oc1aue npaaua
{hpuuep 1}. 8 uen ue ca onyc1uuu peuu o1 onepa1opu u euuuun ua
npoueunuau, 1.e. ueonyc1uuu ca:
o {1nf 1, 1 = 4 .
unu
1nf 1
o {1 = 4, 1nf = 5 .
a c|o ae euuuuu, uanpuuep
o{1nf 1=3, doub1e a = 3.5 .
hapuua ce 1axa, 1u xa1o a uen obuxuoaeuo ce uuuuanuaupa1 eua unu
noaeue npoueunuau.
3. ac11a <xopexun> ce uapuua 1axa, 1u xa1o obuxuoaeuo upea uen ce
uouuupa1 c1ouuoc1u1e ua npoueunuau1e, uuuuanuaupauu a uac11a
<uuuuanuaaun>. 1n uoe a ce npeuec1u a 1nno1o ua onepa1opa o xa1o ce
oopuu bnox o1 aua {<onepa1op> <xopexun>} {hpuuep 2}.
4. Axo uac11a <ycnoaue> e npaaua, nopaabupa ce fue. 3a a ce uaberue
aauxnnue, o1 1nno1o ua uxna npu onpeeneuu ycnoaun 1pnbaa a ce uaneae
npuuyu1enuo, uanpuuep upea onepa1opa beak {hpuuep 3}. 1oaa obaue e nom
c1un ua nporpauupaue u uue ue ro npenopuaaue.
5. Cnec1aue paamupeua1a uu1epnpe1aun ua fue u a1se, uac11a
<ycnoaue> uoe a be u apu1ue1uueu uapaa. 1oaa c|o e nom c1un ua
nporpauupaue u ue ro npenopuaaue.
hpuuepu:
1. 1nf 1 = 1
o { 1<= n 1++}
acf = acf" 1
2. o {1nf 1 = 1 1<= n}
{acf = acf" 1
1++
}
3. o {1nf 1 = 1 1++}
1 {1 > n} beak
e1se acf = acf" 1
Obnac1 ua npoueunuau1e, euuupauu a aarnaaua1a uac1 ua o
ho obnac1 ua npoueunuaa ce paabupa unc1o1o a nporpaua1a, xe1o
npoueunuaa1a uoe a ce uanonaaa. Kaaaa ce o|e xe1o 1n e auuua.
Crnacuo c1auap1a AN5 Crnacuo c1auap1a AN5 Crnacuo c1auap1a AN5 Crnacuo c1auap1a AN5, obnac11a ua npoueunuaa, euuupaua a
aarnaaua1a uac1 ua uxna o aanouaa o1 euuuun1a u u nponaaa o
xpan ua uxna.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 7 o1 1
1oaa auauu, ue 1eau npoueunuau ue ue ue ue ca auuuu cne onepa1opa o, a
xou1o ca euuupauu, 1.e. parueu11
o {1nf 1 = 1 1 <= n 1++}
{.
}
o {1 = 1 1 <= m 1++}
{.
}
e ueonyc1uu - |e npeuaauxa cuu1ax1uuua rpemxa aapau ueeuuupaua
npoueunuaa 1 a aarnaaua1a uac1 ua a1opun onepa1op o.
ho 1u xa1o 1oaa e uoao pemeuue ua cneuanuc1u1e, nopa|u ho 1u xa1o 1oaa e uoao pemeuue ua cneuanuc1u1e, nopa|u ho 1u xa1o 1oaa e uoao pemeuue ua cneuanuc1u1e, nopa|u ho 1u xa1o 1oaa e uoao pemeuue ua cneuanuc1u1e, nopa|u
eauxa, noaeue1o peanuaauu a 1.uucno u peanuaaun1a ua v1sua1 C++ 6.0, eauxa, noaeue1o peanuaauu a 1.uucno u peanuaaun1a ua v1sua1 C++ 6.0, eauxa, noaeue1o peanuaauu a 1.uucno u peanuaaun1a ua v1sua1 C++ 6.0, eauxa, noaeue1o peanuaauu a 1.uucno u peanuaaun1a ua v1sua1 C++ 6.0,
uanonaaa1 c1apun aapuau1, cnope xou1o obnac11a ua npoueunuaa, euuupaua uanonaaa1 c1apun aapuau1, cnope xou1o obnac11a ua npoueunuaa, euuupaua uanonaaa1 c1apun aapuau1, cnope xou1o obnac11a ua npoueunuaa, euuupaua uanonaaa1 c1apun aapuau1, cnope xou1o obnac11a ua npoueunuaa, euuupaua
a aarnaaua1a uac1 ua uxna o aanouaa o1 euuuun1a u u nponaaa o a aarnaaua1a uac1 ua uxna o aanouaa o1 euuuun1a u u nponaaa o a aarnaaua1a uac1 ua uxna o aanouaa o1 euuuun1a u u nponaaa o a aarnaaua1a uac1 ua uxna o aanouaa o1 euuuun1a u u nponaaa o
xpan ua bnoxa, a xou1o ce uauupa onepa1opa o. 1axa, xpan ua bnoxa, a xou1o ce uauupa onepa1opa o. 1axa, xpan ua bnoxa, a xou1o ce uauupa onepa1opa o. 1axa, xpan ua bnoxa, a xou1o ce uauupa onepa1opa o. 1axa, aa peanuaaun1a ua
v1sua1 C++ 6.0, ropuun1 parueu1 e uannuo onyc1uu. A parueu11 ropuun1 parueu1 e uannuo onyc1uu. A parueu11 ropuun1 parueu1 e uannuo onyc1uu. A parueu11 ropuun1 parueu1 e uannuo onyc1uu. A parueu11
o {1nf 1 = 1 1 <= n 1++}
{.
}
o {1nf 1 = 1 1 <= m 1++}
{.
}
curuanuaupa noa1opua euuuun ua npoueunuaa1a 1. curuanuaupa noa1opua euuuun ua npoueunuaa1a 1. curuanuaupa noa1opua euuuun ua npoueunuaa1a 1. curuanuaupa noa1opua euuuun ua npoueunuaa1a 1.
3aauu apxy onepa1opa o
3aaua 27. 3aaua 27. 3aaua 27. 3aaua 27. 3a xaxao uoe a be uanonaaaua cneua1a nporpaua?
Pogam Zad27.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{couf << "n= "
1nf n
c1n >> n
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {n <= 0}
{couf << "ncoecf 1npuf! \n"
efun 1
}
1nf = 1
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 79 o1 1
o {1nf 1 = 1 1 <= n c1n >> 1}
= " 1
couf << << "\n"
efun 0
}
3abenee1e, ue 1aau nporpaua unkc1pupa uanonaaaue1o ua onepa1opa o
aa peanuaupaue ua u1epa1uauu uxnuuuu npoecu. 1oaa obaue ce cuu1a aa nom
c1un aa nporpauupaue.
hpenopxa: hanonaaau1e onepa1opa o cauo cauo cauo cauo aa peanuaupaue ua uuyx1uauu
uxnuuuu npoecu. Ocaeu 1oaa, axo o uua aua:
o{1 = sfaf 1 < {unu 1 <= } end 1 = 1 + 1ncemenf}
{ .
}
ue npoueunu1e ue npoueunu1e ue npoueunu1e ue npoueunu1e 1, sfaf, end u 1ncemenf a 1nno1o ua uxna. 1oaa e nom
c1un aa nporpauupaue. Axo uxnuuuun1 npoec, xou1o 1pnbaa a peanuaupa1e,
ue ce auec1aa a 1aau cxeua, ue uanonaaau1e onepa1opa o.
3aaua 2. 3aaua 2. 3aaua 2. 3aaua 2. a ce uanume nporpaua, xon1o no aaaeuu x - peanuo u n -
ec1ec1aeuo uucno, npecun1a cyua1a
hporpaua Zad2.cpp pemaaa aaaua1a.
Pogam Zad2.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{couf << "x= "
doub1e x
c1n >> x
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
couf << "n= "
shof n
c1n >> n
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {n <= 0}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 0 o1 1
{couf << "ncoecf 1npuf! \n"
efun 1
}
doub1e x1 = 1
doub1e s = 1
o {1nf 1 = 1 1 <= n 1++}
{x1 = x1 " x/1
s = s + x1
}
couf << "s= " << s << "\n"
efun 0
}
3aaua 2 3aaua 2 3aaua 2 3aaua 29 99 9. .. . hexa n u m ca aeuu ec1ec1aeuu uucna, n 1, m > 1. a ce
uanume nporpaua,xon1o onpeenn bpon ua eneueu1u1e o1 cepun1a uucna
xou1o ca xpa1uu ua m.
hporpaua Zad29.cpp pemaaa aaaua1a.
Pogam Zad29.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{couf << "n= "
1nf n
c1n >> n
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {n < 1}
{couf << "ncoecf 1npuf! \n"
efun 1
}
couf << "m= "
1nf m
c1n >> m
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {m <= 1}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 1 o1 1
{couf << "ncoecf 1npuf! \n"
efun 1
}
1nf b = 0
o {1nf 1 = 1 1 <= n 1++}
1 {{1"1"1 + 7"1"1 + n"n"n} x 7 == 0} b++
couf << "b= " << b << "\n"
efun 0
}
3aaua 30. 3aaua 30. 3aaua 30. 3aaua 30. aeuo e ec1ec1aeuo1o uucno n, n 1. a ce uanume
nporpaua, xon1o uauupa uau-ronnuo1o uucno o1 cepun1a uucna:
hporpaua Zad30.cpp pemaaa aaaua1a.
Pogam Zad30.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <mafh.h>
1nf ma1n{}
{couf << "n= "
1nf n
c1n >> n
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {n < 1}
{couf << "ncoecf 1npuf! \n"
efun 1
}
doub1e max = cos{n+1/n}
o {1nf 1 = 2 1 <= n 1++}
{doub1e p = 1"1"cos{n+1/n}
1 {p > max} max = p
}
couf << "max= " << max << "\n"
efun 0
}
3aaua 31. 3aaua 31. 3aaua 31. 3aaua 31. a ce uanume nporpaua, xon1o uaaea apxy expaua 1abnua1a
o1 c1ouuoc1u1e ua yuxuu1e s1n x u cos x a uu1epaana |0, 1].
hporpaua Zad31.cpp pemaaa aaaua1a.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 2 o1 1
Pogam Zad31.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
#1nc1ude <mafh.h>
1nf ma1n{}
{couf << sefpec1s1on{5} << sef1os1ags{1os :: 1xed}
o {doub1e x = 0 x <= 1 x = x + 0.1}
couf << sef{10} << x << sef{10} << s1n{x}
<< sef{10} << cos{x} << "\n"
efun 0
}
4. 4. 4. 4.5 55 5.2. Onepa1op .2. Onepa1op .2. Onepa1op .2. Onepa1op h11e h11e h11e h11e
pea 1oau onepa1op uoe a ce peanuaupa npouaaoneu uxnuueu npoec. C
npuuep |e unkc1pupaue uanonaaaue1o uy.
3aaua 32. 3aaua 32. 3aaua 32. 3aaua 32. a ce uanume nporpaua, xon1o no aeuu peanuu uucna x u
{ > 0}, npunueuo npecun1a cyua1a
Cyuupaue1o a nponu oxa1o abconk1ua1a c1ouuoc1 ua nocneuo1o obaaeuo
cbupaeuo c1aue no-uanxa o1 .
8 1aau aaaua bpon1 ua noa1opeuun1a npeaapu1enuo ue e uaaec1eu, a
aaaucu o1 ycnoaue1o |x1|< , xe1o c x1 e oauaueuo npouaaonuo
cbupaeuo. 3a pemaaaue1o u e ueobxouuo a ce npeuuue npea cneuu1e
c1nxu:
8aeaue ua c1ouuoc1u ua x u .
huuuanuaaun x1 = 1 s = 1.
oxa1o e a cuna ycnoaue1o |x1| , noa1apnue ua
{ xouc1pyupaue ua uoao cbupaeuo x1
s = s + x1
}
3a peanuaupaue1o ua 1eau euc1aun, |e uanonaaaue onepa1opa aa uxn
h11e.
hporpaua Zad32.cpp pemaaa aaaua1a.
Pogam Zad32.cpp
#1nc1ude <1osfeam.h>
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 3 o1 1
#1nc1ude <mafh.h>
1nf ma1n{}
{couf << "x= "
doub1e x
c1n >> x
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
couf << "eps= "
doub1e eps
c1n >> eps
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {eps <= 0}
{couf << "ncoecf 1npuf! \n"
efun 1
}
doub1e x1 = 1
doub1e s = 1
1nf 1 = 1
h11e {abs{x1} >= eps} h11e {abs{x1} >= eps} h11e {abs{x1} >= eps} h11e {abs{x1} >= eps}
{x1 = x1 " x / 1 {x1 = x1 " x / 1 {x1 = x1 " x / 1 {x1 = x1 " x / 1
s = s + x1 s = s + x1 s = s + x1 s = s + x1
1++ 1++ 1++ 1++
} }} }
couf << "s=" << s << "\n"
efun 0
}
Onepa1op1 h11e a uen e a oebeneu mpu1. 1ou aanouaa cc aanaaeua1a
yua h11e {oxa1o}, cne xon1o orpaeuo a xprnu cxobxu e ycnoaue1o
abs{x1} >= eps u aaapmaa c onepa1opa
{x1 = x1 " x / 1
s = s + x1
1++
}
npec1aannaa| 1nno1o ua uxna. 1oau onepa1op uoe a ce npoue1e no
cneuun uauuu: oxa1o e a cuna ycnoaue1o abs{x1} >= eps, noa1apnu oxa1o e a cuna ycnoaue1o abs{x1} >= eps, noa1apnu oxa1o e a cuna ycnoaue1o abs{x1} >= eps, noa1apnu oxa1o e a cuna ycnoaue1o abs{x1} >= eps, noa1apnu
cneuo1o . cneuo1o . cneuo1o . cneuo1o ..
|e npocneuu uannueuue1o ua nporpaua1a aa x = 1 u eps = 0.5.
Cne uannueuue1o ua onepa1opu1e aa aaeaue u euuuuu1e ua s, x1 u
1, cc1onuue1o ua naue11a e cneuo1o:
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 4 o1 1
x eps x1 s 1
1.00.5 1.01.01
hannueuue1o ua onepa1opa aa uxn aanouaa c npecun1aue c1ouuoc11a ua
byneaun uapaa abs{x1} >= eps u 1u xa1o 1n e fue, ce uannunaa 1nno1o
ua uxna, cne xoe1o uuaue:
x eps x1 s 1
1.00.5 1.02.02
5 e ua1pynano npau1e aa uneua ua cyua1a. O1uoao ce uauupa c1ouuoc11a ua
byneaun uapaa abs{x1} >= eps - nax fue u ce uannunaa 1nno1o ua uxna.
8 peayn1a1 ce nonyuaaa:
x eps x1 s 1
1.00.5 0.5 2.53
Cera aeue 5 e ua1pynano npau1e 1pu uneua ua cyua1a. C1ouuoc11a ua
byneaun uapaa nponaaa a be fue, aapau xoe1o cneaa nopeuo
uannueuue ua 1nno1o. huaue:
x eps x1 s 1
1.00.5 0.166667 2.66667 4
O1uoao ce uauupa c1ouuoc11a ua ycnoaue1o. 1n aeue e a1se, xoe1o
npuuuunaa aaapmaaue uannueuue1o ua uxna h11e.
Cneoaa1enuo, uannueuue1o ua onepa1opa aa uxn h11e nponaaa
oxa1o e uannueuo ycnoaue1o cne aanaaeua1a yua h11e u aaapmaa
aeuara xora1o aa 1exy|u1e c1ouuoc1u ua ueroau1e napaue1pu 1o ue e a
cuna.
3aaaaue1o ua no-ronnua 1ouuoc1 {no-uanxa c1ouuoc1 ua eps}, |e oaee
o npecun1aue ua cyua1a c no-ronnua 1ouuoc1.
ha 4ur. 10 e aeuo onucauue ua cuu1axcuca u ceuau1uxa1a ua onepa1opa.
Cuu1axcuc
h11e {<ycnoaue>} <onepa1op>
xe1o
- h11e {oxa1o} aanaaeua yua
- <ycnoaue> e bynea uapaa
- <onepa1op> e npouaaoneu onepa1op. 1ou onucaa euc1aun1a, xou1o ce
noa1apn1 u ce uapuua 1nno ua uxna 1nno ua uxna 1nno ua uxna 1nno ua uxna.
Ceuau1uxa
hpecun1a ce c1ouuoc11a ua <ycnoaue>. Axo 1n e a1se, uannueuue1o ua
onepa1opa h11e aaapmaa bea a ce e uannuuno 1nno1o uy uu1o aeu. 8
npo1uaeu cnyuau uannueuue1o ua <onepa1op> u npecun1aue1o ua c1ouuoc11a
ua <ycnoaue> ce noa1apn1 oxa1o <ycnoaue> e fue. 8 npaun uoueu1, xora1o
<ycnoaue> c1aue a1se, uannueuue1o ua h11e aaapmaa. hannueuue1o ua
h11e uoe rpauuuo a ce unkc1pupa no cneuun uauuu:
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 5 o1 1
a1se
fue
h11e {<ycnoaue>} <onepa1op>
.
4ur. 10.
3abenexu:
1. Axo e ueobxouuo a ce uannun1 uoroxpa1uo unxonxo onepa1opa, 1e
1pnbaa a ce oopun1 xa1o bnox.
2. Cnec1aue paamupeua1a uu1epnpe1aun ua fue u a1se, uac11a
<ycnoaue> uoe a be u apu1ue1uueu uapaa. 1oaa obaue e nom c1un ua
nporpauupaue u uue ue ro npenopuaaue.
3. 1u xa1o npao1o euc1aue, capaauo c uannueuue1o ua onepa1opa
h11e, e npoaepxa1a ua ycnoaue1o uy, onepa1op1 ce uapuua o|e onepa1op aa onepa1op aa onepa1op aa onepa1op aa
uxn c npe-ycnoaue uxn c npe-ycnoaue uxn c npe-ycnoaue uxn c npe-ycnoaue.
4. Onepa1op1
o {<uuuuanuaaun> <ycnoaue> <xopexun>}
<onepa1op>
e exauaaneu1eu ua
<uuuuanuaaun>
h11e {<ycnoaue>}
{<onepa1op>
<xopexun>
}
hpuuep aa 1oaa e aaaua 32.
3aauu apxy onepa1opa h11e 3aauu apxy onepa1opa h11e 3aauu apxy onepa1opa h11e 3aauu apxy onepa1opa h11e
3aaua 33. 3aaua 33. 3aaua 33. 3aaua 33. a ce uanume nporpaua, xon1o no aaaeuo ec1ec1aeuo uucno,
uauupa ax1opuena uy. 3a en1a a ce uanonaaa onepa1opa h11e.
hporpaua Zad33.cpp pemaaa aaaua1a.
Pogam Zad33.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{couf << "n= "
1nf n
c1n >> n
1 {!c1n}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 6 o1 1
{couf << "o, 8ad npuf! \n"
efun 1
}
1 {n <= 0}
{couf << "ncoecf npuf! \n"
efun 1
}
1nf acf = 1
1nf 1 = 1
h11e {1 <= n}
{acf = acf " 1
1++
}
couf << n << "! = " << acf << "\n"
efun 0
}
3aaua 34. 3aaua 34. 3aaua 34. 3aaua 34. a ce uanume nporpaua, xon1o aaea o1 xnaaua1ypa1a peua
o1 enu uucna u uauupa cpeuoapu1ue1uuuo1o uu. 8aeaue1o a nponaaa
o aaeaue ua 0.
hporpaua Zad34.cpp pemaaa aaaua1a.
Pogam Zad34.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{1nf counf = 0
doub1e aeage = 0
couf << "> "
1nf numbe
c1n >> numbe
h11e {numbe != 0}
{counf++
aeage = aeage + numbe
couf << "> "
c1n >> numbe
}
1 {counf != 0} aeage = aeage/counf
couf << "aeage= " << aeage << "\n"
efun 0
}
3abenee1e o1cc1aue1o ua npoaepxa aa aanuuoc1 ua axouu1e auuu.
Kax1o aeue e uaaec1uo, 1oaa e nom c1un aa nporpauupaue. Ocaeu 1oaa,
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 7 o1 1
uabop1 ua uucno1o 0 aa xpau ua axouu1e auuu, c|o ue auuaru e
noxon|. Zad35.cpp e noobpeuue ua ropuo1o pemeuue.
3aaua 35. 3aaua 35. 3aaua 35. 3aaua 35. a ce uanume nporpaua, xon1o aaea o1 xnaaua1ypa1a peua
o1 enu uucna u uauupa cpeuoapu1ue1uuuo1o uu. 8aeaue1o a nponu o
aaeaue ua yua, npu xon1o c1n nonaa a cc1onuue a11.
1u xa1o peua1a e uucnoaa, aa ueuu xpau uoe a cnyu xon1o u a e
yua, xon1o ue aanouaa cc upa.
hporpaua Zad35.cpp pemaaa aaaua1a.
Pogam Zad35.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{1nf counf = 0
1nf numbe
doub1e aeage = 0
couf << "> "
c1n >> numbe
h11e {c1n}
{counf++
aeage = aeage + numbe
couf << "> "
c1n >> numbe
}
1 {counf != 0} aeage = aeage/counf
couf << "aeage= " << aeage << "\n"
efun 0
}
1u xa1o c1n e c1ouuoc1 ua uapaaa c1n >> numbe, xou1o aa n1u e
uanonaaau a nporpaua1a, |e ro aaueuuu c uero. honyuaaaue nporpaua1a:
#1nc1ude <1osfeam.h>
1nf ma1n{}
{1nf counf = 0
1nf numbe
doub1e aeage = 0
couf << "> "
h11e {c1n >> numbe}
{counf++
aeage = aeage + numbe
couf << "> "
}
1 {counf != 0} aeage = aeage/counf
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. o1 1
couf << "aeage= " << aeage << "\n"
efun 0
}
3abenexa: xcnoaue1o c1n >> numbe ua onepa1opa h11e ue aaapmaa c .
8npoc: Kaxao |e e noaeeuue1o ua nporpauu Zad34.cpp u Zad35.cpp axo
ce npoueuu 1un1 ua aeage o1 doub1e ua 1nf?
3aaua 36. 3aaua 36. 3aaua 36. 3aaua 36. a ce uanume nporpaua, xon1o npecun1a npubnueuo cneua1a
beaxpauua cyua
aa npouaaonuo peanuo uucno x o1 uu1epaana |-1, 1]. Cyuupaue1o a nponu
oxa1o nocneuo1o obaaeuo cbupaeuo no uoyn c1aue no-uanxo o1 .
hporpaua Zad36.cpp pemaaa aaaua1a.
Pogam Zad36.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
#1nc1ude <mafh.h>
1nf ma1n{}
{couf << "x= "
doub1e x
c1n >> x
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {x < -1 || x > 1}
{couf << "ncoecf npuf! \n"
efun 1
}
couf << "eps= "
doub1e eps
c1n >> eps
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {eps <= 0}
{couf << "ncoecf 1npuf! \n"
efun 1
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 9 o1 1
}
doub1e x1 = x
doub1e s = x
1nf 1 = 2
h11e {abs{x1} >= eps}
{x1 = -x1 " x " x / {1"{1+1}}
s = s + x1
1 = 1 + 2
}
couf << sefpec1s1on{6} << sef1os1ags{1os :: 1xed}
couf << "s=" << sef{10} << s << "\n"
efun 0
}
hexa cera pemuu c|a1a aaaua, uo c pyro ycnoaue aa xpau.
3aaua 37. 3aaua 37. 3aaua 37. 3aaua 37. a ce uanume nporpaua, xon1o npecun1a npubnueuo cneua1a
beaxpauua cyua
aa npouaaonuo peanuo uucno x o1 uu1epaana |-1, 1]. Cyuupaue1o a nponu
oxa1o abconk1ua1a c1ouuoc1 ua paanuxa1a ua nocneuu1e ae obaaeuu
cbupaeuu c1aue no-uanxa o1 .
8 1oau cnyuau e ueobxouuo a ce xouc1pyupa1 u obaan1 npau1e ae
cbupaeuu u uax 1oraaa a ce npoaepu ycnoaue1o |x1 - x2| < . Axo 1o e a
cuna 1pnbaa a ce cob|u cyua1a, a a npo1uaeu cnyuau a ce nponu c
xouc1pyupaue1o u obaanue1o ua cneaa|o1o cbupaeuo.
hporpaua ad37.cpp pemaaa aaaua1a.
Pogam Zad37.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <mafh.h>
1nf ma1n{}
{couf << "x= "
doub1e x
c1n >> x
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 90 o1 1
1 {x < -1 || x > 1}
{couf << "ncoecf npuf! \n"
efun 1
}
couf << "eps= "
doub1e eps
c1n >> eps
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {eps <= 0}
{couf << "ncoecf 1npuf! \n"
efun 1
}
doub1e x1 = x
doub1e x2 = -x"x"x/6.0
doub1e s = x1 + x2
1nf 1 = 4
h11e {abs{x1-x2} >= eps}
{x1 = x2
x2 = -x1 " x " x / {1"{1+1}}
s = s + x2
1 = 1 + 2
}
couf << "s=" << s << "\n"
efun 0
}
1oaa pemeuue ue e uuoro obpo. 1u xa1o ycnoaue1o aa cnupaue cpa
ae nocneoaa1enuu cbupaeuu, npeu uanonaaaue1o ua onepa1opa h11e, 1e
1pnbaa a ba1 xouc1pyupauu, a cne 1oaa nopauu a 1nno1o ua uxna.
ho-obpo pemeuue uoe a ce nonyuu xa1o ce uanonaaa onepa1op1 do/h11e do/h11e do/h11e do/h11e -
onepa1op aa uxn c noc1-ycnoaue onepa1op aa uxn c noc1-ycnoaue onepa1op aa uxn c noc1-ycnoaue onepa1op aa uxn c noc1-ycnoaue.
4.5.3. Onepa1op do/h11e 4.5.3. Onepa1op do/h11e 4.5.3. Onepa1op do/h11e 4.5.3. Onepa1op do/h11e
hanonaaa ce aa peanuaupaue ua npouaaonuu uxnuuuu npoecu. |e ro
unkc1pupaue upea npuuep, cne xoe1o |e onumeu ueroau1e cuu1axcuc u
ceuau1uxa. 3a en1a |e uanonaaaue aaaua 37.
hporpaua Zad371.cpp peanuaupa 1aau aaaua, xa1o uanonaaa onepa1opa
do/h11e.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 91 o1 1
Pogam Zad371.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
#1nc1ude <mafh.h>
1nf ma1n{}
{couf << "x= "
doub1e x
c1n >> x
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {x < -1 || x > 1}
{couf << "ncoecf npuf! \n"
efun 1
}
couf << "eps= "
doub1e eps
c1n >> eps
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {eps <= 0}
{couf << "ncoecf 1npuf! \n"
efun 1
}
doub1e x1
doub1e x2 = x
doub1e s = x
1nf 1 = 2
do do do do
{x1 = x2 {x1 = x2 {x1 = x2 {x1 = x2
x2 = -x1 " x " x / {1"{1+1}} x2 = -x1 " x " x / {1"{1+1}} x2 = -x1 " x " x / {1"{1+1}} x2 = -x1 " x " x / {1"{1+1}}
s = s + x2 s = s + x2 s = s + x2 s = s + x2
1 = 1 + 2 1 = 1 + 2 1 = 1 + 2 1 = 1 + 2
} h11e {abs{x1-x2} >= eps} } h11e {abs{x1-x2} >= eps} } h11e {abs{x1-x2} >= eps} } h11e {abs{x1-x2} >= eps}
couf << sefpec1s1on{5} << sef1os1ags{1os :: 1xed}
couf << "s=" << sef{10} << s << "\n"
efun 0
}
Onepa1op1 do/h11e a uen e a oebeneu mpu1. 3anouaa cc aanaaeua1a
yua do {npaau, noa1apnu cneuo1o}, cneaa onepa1op {a cnyuan bnox},
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 92 o1 1
xou1o onpeenn euc1aun1a, xou1o ce noa1apn1 u aa1oaa ce uapuua 1nno ua 1nno ua 1nno ua 1nno ua
uxna uxna uxna uxna. 3anaaeua1a yua h11e {oxa1o} o1enn 1nno1o ua onepa1opa o1
byneaun uapaa abs{x1-x2} >= eps. hocneuun1 e orpaeu a xprnu cxobxu u
onpeenn ycnoaue1o aa aaapmaaue uannueuue1o ua uxna.
|e npocneuu uannueuue1o ua nporpaua1a aa x = 1 u eps = 0.5.
Cne uannueuue1o ua onepa1opu1e aa aaeaue u euuuuu1e ua s, x1,
x2 u 1, cc1onuue1o ua naue11a e cneuo1o:
x eps x1 x2 s 1
1.00.5 - 1.0 1.0 2
hannueuue1o ua onepa1opa aa uxn aanouaa c uannueuue ua 1nno1o ua
uxna - bnoxa
{x1 = x2
x2 = -x1 " x " x / {1"{1+1}}
s = s + x2
1 = 1 + 2
}
cne xoe1o ce nonyuaaa:
x eps x1 x2 s 1
1.00.5 1.0 -0.16667 0.3333 4
hpecun1a ce c1ouuoc11a ua byneaun uapaa abs{x1-x2} >= eps u 1u xa1o 1n
e fue, noa1opuo ce uannunaa1 onepa1opu1e o1 bnoxa, cc1aan| 1nno1o. 8
peayn1a1 uuaue:
x eps x1 x2 s 1
1.00.5 -0.16667 0.0033 0.4167 6
Cera aeue c1ouuoc11a ua byneaun uapaa, onpeenn| ycnoaue1o aa aaapmaaue,
uua c1ouuoc1 a1se. hannueuue1o ua onepa1opa aa uxn aaapmaa. C
uaaeaue1o ua c1ouuoc11a ua cyua1a s aaapmaa u uannueuue1o ua
nporpaua1a.
3abennaaaue, ue a 1aau nporpaua, uac1pouxa1a ua npoueunuau1e x1 u x2
c1aaa a 1nno1o ua uxna do/h11e, a ue uaau uero. 1oaa ce obycnaan o1
ax1a, ue 1nno1o ua 1oau au uxn noue aeu |e ce uannuu.
Onucauue1o ua cuu1axcuca u ceuau1uxa1a ua onepa1opa do/h11e e
unkc1pupauo ua 4ur. 11.
Cuu1axcuc
do
<onepa1op>
h11e {<ycnoaue>}
xe1o
- do {npaau, noa1apnu oxa1o .} u h11e {oxa1o} ca aanaaeuu yuu
ua eauxa.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 93 o1 1
- <onepa1op> e 1ouuo euu onepa1op. 1ou onucaa euc1aun1a, xou1o ce
noa1apn1 u ce uapuua 1nno ua uxna.
- <ycnoaue> e bynea uapaa. hapuua ce ycnoaue aa aaapmaaue ua
uxna. Orpaa ce a xprnu cxobxu.
Ceuau1uxa
hannunaa ce 1nno1o ua uxna, cne xoe1o ce npecun1a c1ouuoc11a ua
<ycnoaue>. Axo 1o e a1se, uannueuue1o ua onepa1opa do/h11e
aaapmaa. 8 npo1uaeu cnyuau ce noa1apn1 euc1aun1a: uannueuue ua
1nno1o u npecun1aue c1ouuoc11a ua <ycnoaue>, oxa1o c1ouuoc11a ua
<ycnoaue> e fue. 8euara, cne xa1o c1ouuoc11a uy c1aue a1se,
uannueuue1o ua onepa1opa aaapmaa.
4ur. 11.
3abenexu:
1. Mey aanaaeuu1e yuu do u h11e c1ou 1ouuo euu onepa1op. Axo
unxonxo euc1aun 1pnbaa a ce uaapma1, oopun ce bnox.
2. euuuuu1e a 1nno1o, ue ca auuuu a <ycnoaue>. hanpuuep, ue e ue e ue e ue e
onyc1uu onyc1uu onyc1uu onyc1uu parueu11:
doub1e x2 = x
doub1e s = x
1nf 1 = 2
do
{doub1e x1 = x2
x2 = -x1 " x " x / {1"{1+1}}
s = s + x2
1 = 1 + 2
} h11e {abs{x1-x2} >= eps}
Koununa1op1 |e cob|u, ue x1 ue e euuupau ua nuuun:
} h11e {abs{x1-x2} >= eps}
Cneoaa1enuo, acuuxu npoueunuau a <ycnoaue> 1pnbaa a ca euuupauu uaau
onepa1opa do/h11e.
3. Cnec1aue paamupeua1a uu1epnpe1aun ua fue u a1se, uac11a
<ycnoaue> uoe a e apu1ue1uueu uapaa. 1oaa e nom c1un aa nporpauupaue u
uue ue ro npenopuaaue.
4. Onepa1op1 do/h11e aaapmaa c .
3aauu apxy onepa1opa do/h11e 3aauu apxy onepa1opa do/h11e 3aauu apxy onepa1opa do/h11e 3aauu apxy onepa1opa do/h11e
3aaua 3. 3aaua 3. 3aaua 3. 3aaua 3. a ce uanume nporpaua, xon1o uauupa npouaaeeuue1o ua
enu1e uucna o1 m o n, xe1o m u n ca aeuu ec1ec1aeuu uucna u m n.
3a en1a a ce uanonaaa onepa1op1 do/h11e.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 94 o1 1
hporpaua Zad3.cpp pemaaa aaaua1a.
Pogam Zad3.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{couf << "m= "
1nf m
c1n >> m
1 {!c1n}
{couf << "o, 8ad npuf! \n"
efun 1
}
1 {m <= 0}
{couf << "ncoecf npuf! \n"
efun 1
}
couf << "n= "
1nf n
c1n >> n
1 {!c1n}
{couf << "o, 8ad npuf! \n"
efun 1
}
1 {n <= 0}
{couf << "ncoecf npuf! \n"
efun 1
}
1 {m > n}
{couf << "ncoecf npuf! \n"
efun 1
}
1nf pod = 1
1nf 1 = m
do
{pod = pod " 1
1++
} h11e {1 <= n}
couf << pod << "\n"
efun 0
}
1u xa1o e a cuna penaun1a m n, npouaaeeuue1o |e cpa noue euu
eneueu1 o1 peua1a o1 enu uucna {m, m+1, m+2, ., n}. 1oaa npaau
aauouo uanonaaaue1o ua onepa1opa do/h11e.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 95 o1 1
3aaua 39. 3aaua 39. 3aaua 39. 3aaua 39. a ce uanume nporpaua, a peayn1a1 o1 uannueuue1o ua xon1o
ce uancunaa, uua nu cpe uucna1a o1 cepun1a: 1
3
- 3.1 + n
3
, 1 = 1, 2, .,
n, uucno, xpa1uo ua 5. Axo uua, a ce uaaee fue, uuaue - a1se.
Pemeuue1o ua 1aau aaaua uaucxaa nocneoaa1enuo a ce xouc1pyupa1
eneueu1u1e o1 cepun1a uucna. 1oaa nponaaa o uauupaue ua npao1o
uucno, xpa1uo ua 5, unu o uauepnaaue ua peua1a bea uucno c 1oaa
caouc1ao a e uauepeuo.
hporpaua Zad391.cpp e euo pemeuue ua aaaua1a.
Pogam Zad391.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{couf << "n= "
1nf n
c1n >> n
1 {!c1n}
{couf << "o, 8ad npuf!!! \n"
efun 1
}
1 {n <= 0 }
{couf << "ncoecf npuf! \n"
efun 1
}
1nf 1 = 0
1nf a
do
{1++
a = 1"1"1 - 3"1 + n"n"n
} h11e {ax5 != 0 && 1 < n}
1 {ax5 == 0} couf << "fue\n"
e1se couf << "a1se\n"
efun 0
}
8auuxaa1 aa anpoca:
1} Axo ycnoaue1o ycnoaue {ax5 != 0 && 1 < n} c1aue na, 1u xa1o ce
uanuaa o1 uxna, npaaunuo nu cneaa|un1 onepa1op onpeenn peayn1a1a?
O1 aaxouu1e ua e Moprau cneaa, ue e uc1uua ax5 == 0 || 1 = n. Axo
ax5 == 0, 1u xa1o a e 1-1un1 eneueu1 ua cepun1a u 1 n, uauc1uua a
cepun1a c|ec1ayaa eneueu1 c ucxauo1o caouc1ao. Axo ax5 ue e 0, cneaa ue
1 = n |e e a cuna, 1.e. a e n - 1un1 eneueu1 u aa uero caouc1ao1o ue e a
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 96 o1 1
cuna. ho 1u xa1o ca cxauupauu acuuxu eneueu1u o1 cepun1a, uauc1uua a uen
ue c|ec1ayaa eneueu1 c 1pceuo1o caouc1ao.
2} |e ce c1urue nu o cc1onuue, npu xoe1o ropuo1o ycnoaue uauc1uua |e
e na?
xcnoaue1o {ax5 != 0 && 1 < n} |e e na, axo ax5 == 0 || 1 = n e a
cuna u ce oc1ura unu xora1o a cepun1a uua eneueu1 c 1pceuo1o caouc1ao,
unu e cxauupaua nna1a cepun u 1 yxaaaa nocneuun u eneueu1. Axo a
cepun1a unua eneueu1 c ucxauo1o caouc1ao, 1u xa1o 1 e uuuuanuaupauo c 0
u ce yaenuuaaa c 1 ua acnxa c1nxa o1 uannueuue1o ua nporpaua1a, a euu
uoueu1 |e c1aue anpuo ycnoaue1o 1 = n, 1.e. uxn1 |e aaapmu
uannueuue1o cu.
pyro pemeuue aaa nporpaua1a Zad392.cpp. 1o ue cpa parueu11,
aaea| c1ouuoc1 ua npoueunuaa1a n.
Pogam Zad392.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{ .
1nf 1 = 1
1nf a
do
{a = 1"1"1 - 3"1 + n"n"n
1++
} h11e {ax5 != 0 && 1 <= n}
1 {ax5 == 0} couf << "fue\n"
e1se couf << "a1se\n"
efun 0
}
homo1o npu 1oaa pemeuue, ue a 1nno1o ua uxna uua paauuuaaaue ua
eneueu1a o1 cepun1a, aanouueu a a, u nopeuun uy uouep.
3aaua 40. 3aaua 40. 3aaua 40. 3aaua 40. a ce uanume nporpaua, xon1o aaea ec1ec1aeuo uucno u
yc1auoanaa, anu upa1a 5 yuac1aa a aanuca ua uucno1o.
hporpaua Zad40.cpp pemaaa aaaua1a.
Pogam Zad40.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{couf << "n= "
1nf n
c1n >> n
1 {!c1n}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 97 o1 1
{couf << "o, 8ad npuf!!! \n"
efun 1
}
1 {n <= 0 }
{couf << "ncoecf npuf! \n"
efun 1
}
1nf d
do
{d = n x 10
n = n / 10
} h11e {d != 5n && n != 0}
1 {d == 5} couf << "fue\n"
e1se couf << "a1se\n"
efun 0
}
8 1nno1o ua uxna nocneoaa1enuo ce uauupa1 upa1a ua euuuu1e ua
uucno1o n u uucno1o bea upa1a ua euuuu1e cu. 1oaa nponaaa oxa1o
nopeua1a upa e paanuuua o1 5 u oc1auano1o uucno e paanuuuo o1 0.
3aaua 41. 3aaua 41. 3aaua 41. 3aaua 41. hexa a e ueo1pua1enuo peanuo uucno. a ce uanume nporpaua,
xon1o npubnueuo npecun1a xaapa1eu xopeu o1 a no ue1oa ua hk1ou.
xn1aaue: {ue1o ua hk1ou} euuupa ce peua o1 peanuu uucna x
0
, x
1
,
x
2
, x
3
, . no cneuun uauuu:
Cyuupaue1o a nponu oxa1o abconk1ua1a c1ouuoc1 ua paanuxa1a ua
nocneuu1e aa xouc1yupauu eneueu1a ua peua1a e no-uanxa o1 , >0 e
aeuo oc1a1uuo uanxo peanuo uucno.
hporpaua Zad41.cpp pemaaa aaaua1a.
Pogam Zad41.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
#1nc1ude <mafh.h>
1nf ma1n{}
{couf << "a= "
doub1e a
c1n >> a
1 {!c1n}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 9 o1 1
{couf << "8ad npuf! \n"
efun 1
}
1 {a < 0}
{couf << "ncoecf npuf! \n"
efun 1
}
couf << "eps= "
doub1e eps
c1n >> eps
1 {!c1n}
{couf << "8ad npuf! \n"
efun 1
}
1 {eps <= 0 || eps > 0.5}
{couf << "ncoecf npuf! \n"
efun 1
}
doub1e x0
doub1e x1 = 1
do
{x0 = x1
x1 = 0.5"{x0 + a / x0}
} h11e {abs {x1-x0} >= eps}
couf << sefpec1s1on{6} << sef1os1ags{1os :: 1xed}
couf << "sf{" << a << "}= " << sef{10} << x1 << "\n"
efun 0
}
4.5.4. 8noeuu onepa1opu aa uxn 4.5.4. 8noeuu onepa1opu aa uxn 4.5.4. 8noeuu onepa1opu aa uxn 4.5.4. 8noeuu onepa1opu aa uxn
1nno1o ua xou e e o1 onepa1opu1e aa uxn e npouaaoneu onepa1op.
8auouo e a e onepa1op aa uxn unu bnox, cpa| onepa1op aa uxn. 8
1eau cnyuau ce roaopu aa anoeuu onepa1opu aa uxn.
hpuuep: hporpauuun1 parueu1
o {1nf 1 = 1 1 <= 3 1++}
o {1nf = 1 <= 5 ++}
couf << { << 1 << , << << }\n
cpa anoeu onepa1op o u ce uannunaa no cneuun uauuu: hpoueunuaa1a
1 nonyuaaa nocneoaa1enuo enu1e c1ouuoc1u 1, 2 u 3. 3a acnxa o1 1eau
c1ouuoc1u, npoueunuaa1a nonyuaaa c1ouuoc1u1e 1, 2, 3, 4 u 5 u aa 1nx ce
uannunaa onepa1op1
couf << { << 1 << , << << }\n
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 99 o1 1
8 peayn1a1 ce xouc1pyupa1 u uaaea1 ua o1enuu peoae acuuxu aouxu o1
aua {1, }, xe1o 1 = 1, 2, 3 u = 1, 2, 3, 4, 5.
hpu anaraue1o ua uxnu, a c|o npu uanonaaaue1o ua bnoxoae, aauuxaa1
npobneuu, capaauu c auuuoc11a ua euuupauu1e npoueunuau.
Obnac1 ua npoueunuaa Obnac1 ua npoueunuaa Obnac1 ua npoueunuaa Obnac1 ua npoueunuaa
Ob|o1o npaauno aa euuupaue ua npoueunuaa e, euuuun1a u a e
aauouo uau-bnuaxo o unc1o1o xe1o npoueunuaa1a |e ce uanonaaa uau-
uanpe.
Obnac11a ua eua npoueunuaa aanouaa o1 ueuua1a euuuun u nponaaa
o xpan ua bnoxa, a xou1o npoueunuaa1a e euuupaua. ha 4ur. 12 aa
npoueunuau1e a, b u c ca onpeeneuu obnac1u1e uu.
1nf ma1n{}
{.
doub1e a
.
o { . }
{.
doub1e b obnac1 ua a
.
o { . } obnac1 ua b
{ .
1nf c
. obnac1 ua c
}
}
efun 0
}
4ur. 12
hpoueunuaa, euuupaua a unxaxa bnox, ce uapuua noxanua npoueunuaa aa noxanua npoueunuaa aa noxanua npoueunuaa aa noxanua npoueunuaa aa
bnoxa bnoxa bnoxa bnoxa.
hpoueunuaa, euuupaua uaau aeu bnox, uo 1axa, ue obnac11a u
axnkuaa bnoxa, ce uapuua uenoxanua npoueunuaa aa 1oau bnox uenoxanua npoueunuaa aa 1oau bnox uenoxanua npoueunuaa aa 1oau bnox uenoxanua npoueunuaa aa 1oau bnox.
8cnxa npoueunuaa e auuua - uoe a ce uanonaaa a obnac11a cu. 1axa b
u c ue uora1 a ce uanonaaa1 uaacnxe a 1nno1o ua ma1n, a cauo c
oauaueuu1e obnac1u.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 100 o1 1
8auuxaa anpoc1: Moe nu npoueunuau c euaxau uueua a ba1
euuupauu a paanuuuu bnoxoae ua nporpaua?
Axo obnac1u1e ua npoueunuau1e ue ce npunoxpuaa1, oueauuo unua
npobneu. Axo obaue 1e ca anoeuu eua a pyra, nax e aauouo, uo e
peanuaupauo cneuo1o npaauno: noxanua1a npoueunuaa cxpuaa uenoxanua1a a noxanua1a npoueunuaa cxpuaa uenoxanua1a a noxanua1a npoueunuaa cxpuaa uenoxanua1a a noxanua1a npoueunuaa cxpuaa uenoxanua1a a
obnac11a cu. obnac11a cu. obnac11a cu. obnac11a cu.
hpuuep:
1nf ma1n{}
{.
doub1e 1
.
o { . }
{. obnac1 ua
1nf 1 doub1e 1
. obnac1 ua 1nf 1
}
.
}
Cnope npaauno1o, a 1nno1o ua onepa1opa o e auuua nna1a npoueunuaa 1
{noxanua aa 1nno1o}, a ue uenoxanua1a doub1e 1.
Axo 1oaa aou o xounux1 c enauun1a au, npeuueuyaau1e uanpuuep
noxanua1a aa 1nno1o ua o npoueunuaa 1nf 1.
3aauu apxy anoeuu onepa1opu 3aauu apxy anoeuu onepa1opu 3aauu apxy anoeuu onepa1opu 3aauu apxy anoeuu onepa1opu aa uxn aa uxn aa uxn aa uxn
3aaua 42. 3aaua 42. 3aaua 42. 3aaua 42. a ce uanume nporpaua, xon1o uauupa acuuxu pemeuun ua
eoau1oao1o ypaaueuue a1.x1 + a2.x2 + a3.x3 + a4.x4 = a, xe1o a1, a2,
a3, a4 u a ca aeuu enu uucna, a ueuaaec1uu1e x1, x2, x3 u x4 npueua1
c1ouuoc1u o1 uu1epaana |p, ] / p u ca aeuu enu uucna, p< /.
hporpaua Zad42.cpp pemaaa aaaua1a.
Pogam Zad42.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
1nf ma1n{}
{couf << "a1= "
1nf a1
c1n >> a1
1 {!c1n}
{couf << "o, 8ad npuf!\n"
efun 1
}
couf << "a2= "
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 101 o1 1
1nf a2
c1n >> a2
1 {!c1n}
{couf << "o, 8ad npuf!\n"
efun 1
}
couf << "a3= "
1nf a3
c1n >> a3
1 {!c1n}
{couf << "o, 8ad npuf! \n"
efun 1
}
couf << "a4= "
1nf a4
c1n >> a4
1 {!c1n}
{couf << "o, 8ad npuf!\n"
efun 1
}
couf << "a= "
1nf a
c1n >> a
1 {!c1n}
{couf << "o, 8ad npuf!\n"
efun 1
}
couf << "p= "
1nf p
c1n >> p
1 {!c1n}
{couf << "o, 8ad npuf!\n"
efun 1
}
couf << "= "
1nf
c1n >>
1 {!c1n}
{couf << "o, 8ad npuf!\n"
efun 1
}
1 {p>=}
{couf << "o!\n"
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 102 o1 1
efun 1
}
o {1nf x1 = p x1<= x1++}
o {1nf x2 = p x2 <= x2++}
o {1nf x3 = p x3 <= x3++}
o {1nf x4 = p x4 <= x4++}
1 {a1"x1 + a2"x2 + a3"x3 + a4"x4 == a}
couf << sef{5} << x1 << sef{5} << x2
<< sef{5} << x3 << sef{5} << x4 << "\n"
efun 0
}
3aaua 43. 3aaua 43. 3aaua 43. 3aaua 43. a ce uanume nporpaua, xon1o npoaepnaa anu c|ec1ayaa
pemeuue ua eoau1oao1o ypaaueuue a1.x1 + a2.x2 + a3.x3 + a4.x4 = a a
uu1epaana |p, ], xe1o a1, a2, a3, a4, a, p u ca aeuu enu uucna,
p<.
hporpaua Zad43.cpp pemaaa aaaua1a. |e nponycueu euuuuu1e ua
npoueunuau1e a1, a2, a3, a4, a, p u . 1e ca auanoruuuu ua 1eau o1 aaaua
42. xcnoaue1o p < npaau noxon| onepa1opa do/h11e.
Pogam Zad43.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{.
1 {p>=}
{couf << "o!!\n"
efun 1
}
1nf x1 = p
boo1 b
do
{1nf x2 = p
do
{1nf x3 = p
do
{1nf x4 = p
do
{b = a1"x1 + a2"x2 + a3"x3 + a4"x4 == a
x4++
} h11e {!b && x4 <= }
x3++
} h11e {!b && x3 <= }
x2++
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 103 o1 1
} h11e {!b && x2 <= }
x1++
} h11e {!b && x1 <= }
1 {b} couf << "yes\n"
e1se couf << "no\n"
efun 0
}
3aauu 3aauu 3aauu 3aauu
3aaua 1. 3aaua 1. 3aaua 1. 3aaua 1. a ce uanume nporpaua, xon1o no aeuo peanuo uucno x uauupa
c1ouuoc11a ua y:
a} y = { ...{{{ x + 2} x + 3} x + 4} x +... + 10} x + 11
b} y= { ...{{{11x + 10}x + 9}x + }x + ... + 2}x +1.
3aaua 2. 3aaua 2. 3aaua 2. 3aaua 2. a ce uanume nporpaua, xon1o uauupa cyua1a o1 xyboae1e ua
acuuxu enu uucna, uauupa|u ce a uu1epaana {x + 1nx, x
2
+ 2x +
e
x
}, xe1o x > 1.
3aaua 3. 3aaua 3. 3aaua 3. 3aaua 3. aeuo e ec1ec1aeuo1o uucno n {n 1}. a ce uanume
nporpaua, xon1o uauupa bpon ua 1eau eneueu1u o1 cepun1a uucna 1
3
-
7.1.n + n
3
, 1 = 1, 2, ..., n, xou1o ca xpa1uu ua 3 unu ua 7.
3aaua 3aaua 3aaua 3aaua 4 44 4. .. . a ce uanume nporpaua, xon1o no aeuo peanuo uucno x,
uauupa c1ouuoc11a ua cyua1a
a} y = s1nx + s1nx
2
+ s1nx
3
+ ... + s1nx
n

b} y = s1nx + s1n
2
x + s1n
3
x + ... + s1n
n
x
a} y = s1nx + s1ns1nx + s1ns1ns1nx + ... + s1ns1n ...s1nx
n n1u
3aaua 3aaua 3aaua 3aaua 5 55 5. .. . a ce uanume nporpaua, xon1o uauupa
3aaua 3aaua 3aaua 3aaua 6 66 6. .. . a ce uanume nporpaua, xon1o no aeuo ec1ec1aeuo uucno n {
n >= 1 } uauupa c1ouuoc11a ua :
a} = {2n}!! = 2.4.6. ... .2n
b} = {2n-1}!! = 1.3.5. ... .{2n-1}
a} = n!!.
3aaua 3aaua 3aaua 3aaua 7 77 7. .. . aeuo e ec1ec1aeuo1o uucno n {n 1}. a ce uanume
nporpaua, xon1o npecun1a cyua1a:
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 104 o1 1
{a ue ce uanonaaa1 yuxuu1e exp u 1og}.
3aaua 3aaua 3aaua 3aaua . a ce uanume nporpaua, xon1o uaaea a uapac1aa| pe acuuxu
1puupeuu ec1ec1aeuu uucna, xou1o ue cpa1 euaxau upu {/ u x a ue
ce uanonaaa1}.
3aaua 3aaua 3aaua 3aaua 9 99 9. .. . a ce uanume nporpaua, xon1o uauupa u uaaea bpon ua
1ouxu1e c enu xoopuua1u, nonaa|u a xpra c pauyc { > 0} u eu1p -
xoopuua1uo1o uauano.
3aaua 1 3aaua 1 3aaua 1 3aaua 10 00 0. .. . a ce uanume nporpaua, xon1o uaaea 1abnua1a ua uc1uuuoc1 aa
byneaa1a yuxun = {a and b} o nof {b o c} a cneuun au
a b c
------------------------------------
fue fue fue fue
fue fue a1se fue
. . .
a1se a1se a1se fue
3aaua 1 3aaua 1 3aaua 1 3aaua 11 11 1. .. . a ce uanume nporpaua, xon1o uaaea apxy expaua cneua1a
1abnua:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
3aaua 12. 3aaua 12. 3aaua 12. 3aaua 12. aeuo e ec1ec1aeuo uucno n {n 1}. a ce uanume nporpaua,
xon1o uauupa u uaaea npau1e n eneueu1a o1 cepun1a uucna
{a ue ce uanonaaa1 yuxuu1e exp u 1og}.
3aaua 1 3aaua 1 3aaua 1 3aaua 13 33 3. .. . Luo ec1ec1aeuo uucno e capmeuo, axo e paauo ua cyua1a o1
caou1e enu1enu {bea cauo1o uucno}. hanpuuep, 6 e capmeuo, aa|o1o 6 =
1+2+3. a ce uanume nporpaua, xon1o uauupa acuuxu capmeuu uucna
ueuauuuaaa|u aeuo ec1ec1aeuo uucno n.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 105 o1 1
3aaua 3aaua 3aaua 3aaua 14 14 14 14. .. . a ce uanume nporpaua, xon1o uauupa acuuxu 1puupeuu uucna
o1 uu1epaana |m, n], ua xou1o xa1o ce aapacxa upa1a ua ece1uu1e,
uauannaa1 nno uucno n1u {m u n ca aeuu ec1ec1aeuu uucna, m < n}.
3aaua 15. 3aaua 15. 3aaua 15. 3aaua 15. a ce uanume nporpaua, xon1o uauupa acuuxu ue1upuupeuu
uucna o1 uu1epaana |m, n], ua xou1o xa1o ce aapacxa upa1a ua
c1o1uu1e, ce enn1 ua 11 {m u n ca aeuu ec1ec1aeuu uucna, m < n}.
3aaua 3aaua 3aaua 3aaua 16 16 16 16. .. . a ce uanume nporpaua, xon1o uauupa acuuxu ue1upuupeuu
uucna o1 uu1epaana |m, n], a aanuca ua xou1o yuac1aa upa1a 5 {m u n ca
aeuu ec1ec1aeuu uucna, m < n}.
3aaua 17. 3aaua 17. 3aaua 17. 3aaua 17. a ce uanume nporpaua, xon1o uauupa acuuxu ue1upuupeuu
uucna o1 uu1epaana |m, n], upu1e ua xou1o obpaayaa1 uauannaa|a peua
{m u n ca aeuu ec1ec1aeuu uucna, m < n}.
3aaua 3aaua 3aaua 3aaua 1 1 1 1. .. . a ce uanume nporpaua, xon1o uauupa acuuxu ne1upeuu uucna
o1 uu1epaana |m, n], upu1e ua xou1o ca paanuuuu {m u n ca aeuu
ec1ec1aeuu uucna, m < n}.
3aaua 19. 3aaua 19. 3aaua 19. 3aaua 19. aeuo e ec1ec1aeuo uucno n {n > 1}. a ce uanume nporpaua,
xon1o uauupa acuuxu npoc1u uucna o1 uu1epaana |2, n].
3aaua 20. 3aaua 20. 3aaua 20. 3aaua 20. a ce uanume nporpaua, xon1o uauupa acuuxu npoc1u enu1enu
ua aeuo ec1ec1aeuo uucno n.
3aaua 21. 3aaua 21. 3aaua 21. 3aaua 21. a ce uanume nporpaua, xon1o no aeuu peanuu uucna x, a u
,>0, npubnueuo npecun1a cyua1a.

Cbupaue1o a nponu oxa1o be obaaeuo cbupaeuo, abconk1ua1a
c1ouuoc1 ua xoe1o e no-uanxa o1 { > 0 e aeuo peanuo oc1a1uuo uanxo
uucno}.
3aaua 22. 3aaua 22. 3aaua 22. 3aaua 22. a ce uanume nporpaua, xon1o uauupa bpon ua upu1e a
ece1uuuun aanuc ua aeuo ec1ec1aeuo uucno.
3aaua 23. 3aaua 23. 3aaua 23. 3aaua 23. a ce uanume nporpaua, xon1o npoaepnaa anu aeuo
ec1ec1aeuo uucno e |ac1nuao, 1.e. euo u c|o e npu ue1eue o1nnao uancuo
u o1ncuo uannao.
3aaua 24. 3aaua 24. 3aaua 24. 3aaua 24. a ce uanume nporpaua, xon1o npoaepnaa anu cyua1a o1
upu1e ua aeuo ec1ec1aeuo uucno e xpa1ua ua 3.
3aaua 25. 3aaua 25. 3aaua 25. 3aaua 25. a ce uanume nporpaua, xon1o uauupa acuuxu ec1ec1aeuu uucna,
ueuauuuaaa|u aeuo ec1ec1aeuo uucno n, xou1o npu npeuec1aaue ua npaa1a
uu upa uau-o1aa, ce yaenuuaaa1 k n1u {k e aeuo ec1ec1aeuo uucno, k
> 1}.
3aaua 2 3aaua 2 3aaua 2 3aaua 26 66 6. .. . a ce uanume nporpaua, xon1o uauupa acuuxu ec1ec1aeuu uucna o1
uu1epaana |m, n], ua xou1o xa1o ce aapacxa k - 1a1a upa {o1nnao
uancuo}, uauannaa1 nno uucno n1u {m, n u k ca aeuu ec1ec1aeuu uucna,
m < n}.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 106 o1 1
3aaua 2 3aaua 2 3aaua 2 3aaua 27 77 7. .. . a ce uanume nporpaua, xon1o uauupa acuuxu ec1ec1aeuu uucna o1
uu1epaana |m, n], ua xou1o xa1o ce aapacxa k - 1a1a upa {uancuo
uannao}, uauannaa1 nno uucno n1u {m, n u k ca aeuu ec1ec1aeuu uucna,
m < n}.
3aaua 2. 3aaua 2. 3aaua 2. 3aaua 2. 3a aeuo ec1ec1aeuo uucno a ce npoaepu anu upu1e uy,
rneauu o1nnao uancuo, obpaayaa1 uouo1ouuo pac1n|a peua.
3aaua 29. 3aaua 29. 3aaua 29. 3aaua 29. 3a aeuo ec1ec1aeuo uucno a ce npoaepu anu upu1e uy ca
paanuuuu.
3aaua 30. 3aaua 30. 3aaua 30. 3aaua 30. a ce uauepn1 acuuxu npoc1u enu1enu ua aeuo ec1ec1aeuo
uucno.
3aaua 31. 3aaua 31. 3aaua 31. 3aaua 31. ucna1a ua 4ubouauu ce euuupa1 no cneuun uauuu:
a ce uanume nporpaua, xon1o uauupa cyua1a ua uucna1a ua 4ubouauu o1
uu1epaana |a, b] {a u b ca aeuu ec1ec1aeuu uucna}.
3aaua 32. 3aaua 32. 3aaua 32. 3aaua 32. 3a ec1ec1aeuu1e uucna n u m onepaun1a ++ ce onpeenn no
cneuun uauuu: n oo m = n + m + nxm. a ce uanume nporpaua, xon1o uauupa
acuuxu aouxu {n, m} o1 ec1ec1aeuu uucna, aa xou1o e a cuna
n oo m = m oo n {m u n ca ec1ec1aeuu uucna o1 uu1epaana |a, b]}.
3aaua 3 3aaua 3 3aaua 3 3aaua 33 33 3. .. . 3a ec1ec1aeuu1e uucna n u m onepaun1a ++ ce onpeenn no
cneuun uauuu: n oo m = n + m + nxm. a ce uanume nporpaua, xon1o
npoaepnaa anu c|ec1ayaa aouxA {n, m} o1 ec1ec1aeuu uucna, aa xon1o e a
cuna penaun1a n oo m = m oo n {m u n ca ec1ec1aeuu uucna o1 uu1epaana
|a, b]}.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 107 o1 1
Cc1aauu 1unoae auuu.
1un uacua
1. 1. 1. 1. C1pyx1ypa o1 auuu uacua C1pyx1ypa o1 auuu uacua C1pyx1ypa o1 auuu uacua C1pyx1ypa o1 auuu uacua
ho c1pyx1ypa o1 auuu ce paabupa oprauuaupaua uuopuaun, xon1o uoe oprauuaupaua uuopuaun, xon1o uoe oprauuaupaua uuopuaun, xon1o uoe oprauuaupaua uuopuaun, xon1o uoe
a be onucaua, caaeua u obpabo1eua c nouo|1a ua nporpaua a be onucaua, caaeua u obpabo1eua c nouo|1a ua nporpaua a be onucaua, caaeua u obpabo1eua c nouo|1a ua nporpaua a be onucaua, caaeua u obpabo1eua c nouo|1a ua nporpaua.
3a a ce onpeenu eua c1pyx1ypa o1 auuu e ueobxouuo a ce uanpaau:
- noruuecxo onucauue ua c1pyx1ypa1a noruuecxo onucauue ua c1pyx1ypa1a noruuecxo onucauue ua c1pyx1ypa1a noruuecxo onucauue ua c1pyx1ypa1a, xoe1o n onucaa ua baaa1a ua
exounoauun1a u ua no-npoc1u c1pyx1ypu, a c|o ua exounoauun ua
onepauu1e ua c1pyx1ypa1a ua no-npoc1u onepauu.
- uauuecxo npec1aanue ua c1pyx1ypa1a uauuecxo npec1aanue ua c1pyx1ypa1a uauuecxo npec1aanue ua c1pyx1ypa1a uauuecxo npec1aanue ua c1pyx1ypa1a, xoe1o aaa ue1ou aa
npec1aanue ua c1pyx1ypa1a a naue11a ua xounk1pa.
8 npexouu1e rnaau paarneaxue c1pyx1ypu1e uucna u cuuaonu. 3a acnxa
o1 1nx a eauxa C++ ca aeuu co1ae1uu 1unoae auuu, xou1o ru peanuaupa1.
1u xa1o eneueu1u1e ua 1eau c1pyx1ypu ce cc1on1 o1 eua xounoueu1a, 1e
ce uapuua1 npoc1u npoc1u npoc1u npoc1u, unu cxanapuu cxanapuu cxanapuu cxanapuu.
C1pyx1ypu o1 auuu, xounoueu1u1e ua xou1o ca peuu o1 eneueu1u, ce
uapuua1 cc1aauu cc1aauu cc1aauu cc1aauu.
C1pyx1ypu o1 auuu, aa xou1o onepauu1e axnkuaaue u uaxnkuaaue ua
eneueu1 ue ca onyc1uuu, ce uapuua1 c1a1uuuu c1a1uuuu c1a1uuuu c1a1uuuu, a npo1uaeu cnyuau -
uuauuuuu uuauuuuu uuauuuuu uuauuuuu.
8 1aau rnaaa |e paarneaue c1pyx1ypa1a o1 auuu uacua u cpec1aa1a,
xou1o n peanuaupa1.
horuuecxo onucauue
Macua1 e xpauua peua o1 uxcupau bpou eneueu1u o1 euu u c| 1un.
Ku acexu eneueu1 o1 peua1a e aauoeu npnx oc1n, xou1o ce
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 10 o1 1
oc|ec1anaa upea uuexc. Onepauu1e axnkuaaue u uaxnkuaaue ua eneueu1
a/o1 uacuaa ca ueonyc1uuu, 1.e. uacua1 e c1a1uuua c1pyx1ypa o1 auuu.
4uauuecxo npec1aanue
Lneueu1u1e ua uacuaa ce aanucaa1 nocneoaa1enuo a naue11a ua
xounk1pa, xa1o aa acexu eneueu1 ua peua1a ce o1enn onpeeneuo
xonuuec1ao naue1.
8 eauxa C++ c1pyx1ypa1a uacua ce peanuaupa upea 1una uacua.
2. 2. 2. 2. 1un uacua 1un uacua 1un uacua 1un uacua
8 C++ c1pyx1ypa1a o1 auuu uacua e peanuaupaua uanxo orpauuueuo.
Paarnea ce xa1o xpauua peua o1 eneueu1u o1 euu u c| 1un c npnx
oc1n o acexu eneueu1, oc|ec1anaa| upea uuexc c enu c1ouuoc1u,
aanouaa|u o1 0 u uapac1aa|u c 1 o yxaaaua ropua rpauua.
3aaaaue ua uacua 3aaaaue ua uacua 3aaaaue ua uacua 3aaaaue ua uacua
1un1 uacua ce onpeenn upea aaaaaue ua 1una u bpon ua eneueu1u1e ua
peua1a, onpeenn|a uacua. hexa 1 e uue unu euuuun ua npouaaoneu 1un,
paanuueu o1 nceaouuu, o1d u yuxuouaneu. 3a 1una 1 u xouc1au1uun uapaa
o1 uu1erpaneu unu uabpoeu 1un c nonou1enua c1ouuoc1 s1e, 1|s1e] e 1un
uacua o1 s1e eneueu1a o1 1un 1. Lneueu1u1e ce uuexcupa1 o1 0 o s1e-1.
1 ce uapuua baaoa 1un baaoa 1un baaoa 1un baaoa 1un aa 1una uacua, a s1e - ropua rpauua.
hpuuepu:
1nf|5] e uacua o1 5 eneueu1a o1 1un 1nf, uuexcupauu o1 0 o 4
doub1e|10] e uacua o1 10 eneueu1a o1 1un doub1e, uuexcupauu o1 0 o
9
boo1|4] e uacua o1 4 eneueu1a o1 1un boo1, uuexcupauu o1 0 o 3.
Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u
Muoec1ao1o o1 c1ouuoc1u ua 1una 1|s1e] ce cc1ou o1 acuuxu peuu o1
no s1e eneueu1a, xou1o ca npouaaonuu xouc1au1u o1 1un 1. oc1n1 o
eneueu1u1e ua peuu1e e npnx u ce oc|ec1anaa c nouo|1a ua uuexc, xa1o
oc1n1 o npaun eneueu1 ce oc|ec1anaa c uuexc cc c1ouuoc1 0, o
nocneuun - c uuexc cc c1ouuoc1 s1e-1, a o acexu o1 oc1auanu1e
eneueu1u - c uuexc cc c1ouuoc1 c 1 no-ronnua o1 1aau ua uuexca ua
npeumuun eneueu1.
hpuuepu:
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 109 o1 1
1. Muoec1ao1o o1 c1ouuoc1u ua 1una 1nf|5] ce cc1ou o1 acuuxu peuu
o1 no 5 enu uucna. oc1n1 o eneueu1u1e ua peuu1e ce oc|ec1anaa c
uuexc cc c1ouuoc1u 0, 1, 2, 3 u 4.
1nf|5]
0 1 2 3 4
2. Muoec1ao1o o1 c1ouuoc1u ua 1una doub1e|10] ce cc1ou o1 acuuxu
peuu o1 no 10 peanuu uucna. oc1n1 o eneueu1u1e ua peuu1e ce
oc|ec1anaa c uuexc cc c1ouuoc1u 0, 1, 2, 3 u 1.u. 9.
doub1e|10]
0 1 9
Lneueu1u1e o1 uuoec1ao1o o1 c1ouuoc1u ua aeu 1un uacua ca
xouc1au1u1e xouc1au1u1e xouc1au1u1e xouc1au1u1e ua 1oau 1un uacua.
hpuuepu:
1. Cneuu1e peuu {1,2,3,4,5}, {-3, 0, 1, 2, 0}, {12, -14, , 23,
1000} ca xouc1au1u o1 1un 1nf|5].
2. Peuu1e {1.5, -2.3, 3.4, 4.9, 5.0, -11.6, -123, 13.7, -32.12,
0.9}, {-13, 0.5, 11.9, 21.9, 0.03, 1e2, -134.9, 0.09, 12.3, 15.6} ca
xouc1au1u o1 1un doub1e|10].
hpoueunuaa aenuuuua, uuoec1ao1o o1 onyc1uuu1e c1ouuoc1u ua xon1o
canaa c uuoec1ao1o o1 c1ouuoc1u ua aeu 1un uacua, ce uapuua
npoueunuaa o1 aeuun 1un uacua. hounxora |e n uapuuaue cauo uacua.
4ur. 1 onpeenn euuuun1a ua npoueunuaa o1 1un uacua. 1yx
ob|onpue1un1 aanuc e uapymeu. hpoueunuaa1a ce aanucaa uey uue1o ua 1una
u paauepuoc11a.
<euuuunuanpoueunuaao11unuacua> ::=
1 <npoueunuaa>|s1e] |
1 <npoueunuaa>|s1e] = {<peuao1xouc1au1uuuapaau>}
xe1o
{nno, nno, nno, nno, nno} {nno, nno, nno, nno, nno} {nno, nno, nno, nno, nno} {nno, nno, nno, nno, nno}
{peanuo, peanuo, ., peanuo} {peanuo, peanuo, ., peanuo} {peanuo, peanuo, ., peanuo} {peanuo, peanuo, ., peanuo}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 110 o1 1
1 e uue unu euuuun ua npouaaoneu 1un, paanuueu o1 nceaouuu, o1d,
yuxuouaneu
<npoueunuaa> ::= <ueu1uuxa1op>
s1e e xouc1au1eu uapaa o1 uu1erpaneu unu uabpoeu 1un cc nonou1enua
c1ouuoc1
<peuao1xouc1au1uuuapaau> ::= <xouc1au1euuapaa>|
<xouc1au1euuapaa>, <peuao1xouc1au1uuuapaau>
xa1o xouc1au1uu1e uapaau ca o1 1un 1 unu o1 1un, cauec1uu c uero.
4ur. 1.
hpuuepu:
1nf a|5]
doub1e c|10]
boo1 b|3]
enum {AL5, 1} x|20]
doub1e p|4] = {1.25, 2.5, 9.25, 4.12}
81opun1 cnyuau o1 euuuun1a o1 4ur. 1 ce uapuua euuuun ua uacua c euuuun ua uacua c euuuun ua uacua c euuuun ua uacua c
uuuuanuaaun uuuuanuaaun uuuuanuaaun uuuuanuaaun. hpu uen e aauouo s1e a ce nponycue. 1oraaa aa c1ouuoc1
ua s1e ce nopaabupa bpon1 ua xouc1au1uu1e uapaau, uabpoeuu npu
uuuuanuaaun1a. Axo s1e e yxaaauo u uabpoeuu1e xouc1au1uu uapaau a
uuuuanuaaun1a ca no-uanxo o1 s1e, oc1auanu1e ce uuuuanuaupa1 c 0.
hpuuepu:
1. euuuun1a
1nf |5] = {1, 2, 3}
e exauaaneu1ua ua
1nf |] = {1, 2, 3, 0, 0}
2. euuuun1a
doub1e |] = {0, 1, 2, 3}
e exauaaneu1ua ua
doub1e |4] = {0, 1, 2, 3}
3abenexa: 3abenexa: 3abenexa: 3abenexa: he ca aauouu xouc1pyxuu o1 aua:
1nf |5]
= {0, 1, 2, 3, 4}
a c|o
1nf |]
u
doub1e |4] = {0.5, 1.2, 2.4, 1.2, 3.4}
4parueu1u1e
<npoueunuaa>|s1e] u
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 111 o1 1
<npoueunuaa>|s1e] = {<peuao1xouc1au1uuuapaau>}
o1 euuuun1a o1 4ur. 1. uora1 a ce noa1apn1. 3a paaenu1en ce uanonaaa
auax1 aane1an.
hpuuep: euuuun1a
doub1e m1|20], m2|35], poben|30]
e exauaaneu1ua ua euuuuu1e
doub1e m1|20]
doub1e m2|35]
doub1e poben|30]
huuuanuaaun1a e euu uauuu aa capaaaue ua npoueunuaa o1 1un uacua c
xouxpe1ua xouc1au1a o1 uuoec1ao1o o1 c1ouuoc1u ua 1oau 1un uacua. pyr
uauuu npeoc1aan1 1.uap. uuexcupauu npoueunuau. C acnxa npoueunuaa o1
1un uacua e capaau uabop o1 uuexcupauu npoueunuau. 4ur. 2. unkc1pupa
1exuun cuu1axcuc.
<uuexcupauanpoueunuaa> ::=
<npoueunuaao11unuacua>|<uuexc>]
xe1o
<uuexc> e uapaa o1 uu1erpaneu unu uabpoeu 1un.
8cnxa uuexcupaua npoueunuaa e o1 baaoaun 1un.
4ur. 2.
hpuuepu:
1. C npoueunuaa1a a o1 npuuepa no-rope ca capaauu uuexcupauu1e
npoueunuau a|0], a|1], a|2], a|3] u a|4], xou1o ca o1 1un 1nf.
2. C npoueunuaa1a b ca capaauu uuexcupauu1e npoueunuau b|0], b|1],.,
b|9], xou1o ca o1 1un doub1e.
3. C npoueunuaa1a x ca capaauu uuexcupauu1e npoueunuau x|0], x|1],.,
x|19], xou1o ca o1 1un enum {AL5, 1}.
euuuun1a ua npoueunuaa o1 1un uacua ue cauo capaaa npoueunuaa1a c
uuoec1ao1o o1 c1ouuoc1u ua yxaaauun 1un, uo u o1enn onpeeneuo
xonuuec1ao naue1 {obuxuoaeuo 48}, a xon1o aanucaa apeca a naue11a ua
npaa1a uuexcupaua npoueunuaa ua uacuaa. Oc1auanu1e uuexcupauu
npoueunuau ce paanonara1 nocneoaa1enuo cne npaa1a. 3a acnxa
uuexcupaua npoueunuaa ce o1enn no 1onxoaa naue1, xonxo1o baaoaun1 1un
uaucxaa.
hpuuep:
Oh
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 112 o1 1
a a|0] a|1] . a|4] b b|0] b|1] . b|9]
.
apec - - - apec - - -
ua a|0] ua b|0]
48 48 48 . 48 48 8 8 . 8
3a xpa1xoc1, auec1o apec ua a|0] |e aanucaaue c1penxa o1 a xu a|0].
Cpauue1o ua o1eneua1a aa uuexcupauu1e npoueunuau naue1 e
ueonpeeneuo ocaeu axo ue e aaaeua euuuun c uuuuanuaaun. 1oraaa a
xne1xu1e ce aanucaa1 uuuuanuaupa|u1e c1ouuoc1u.
hpuuep: Paanpeeneuue1o ua naue11a aa npoueunuau1e p u , euuupauu a
npuuepu1e no-rope, e cneuo1o:
Oh Oh Oh Oh
p p|0] p|1] p|2] p|3]
1.25 2.5 9.25 4.12
|0] |1] |2] |3] |4]
1 2 3 0 0
Onepauu u arpaeuu yuxuu
he ca aauouu onepauu ua uacuau xa1o nno, uo acuuxu onepauu u
arpaeuu yuxuu, xou1o baaoaun1 1un onycxa, ca aauouu aa
uuexcupauu1e npoueunuau, capaauu c uacuaa.
hpuuep: heonyc1uuu ca:
1nf a|5], b|5]
c1n >> a >> b
a = b
a c|o a == b unu a != b.
Onepa1op1
couf << a
uaaea apeca ua a|0].
3aauu apxy 1un uacua
3aaua 4. 3aaua 4. 3aaua 4. 3aaua 4. a ce uanume nporpaua, xon1o aaea nocneoaa1enuo n
uucna, cne xoe1o ru uaaea a obpa1eu pe.
hporpaua Zad4.cpp pemaaa aaaua1a.
Pogam Zad4.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 113 o1 1
{doub1e x|100]
couf << "n= "
1nf n
c1n >> n
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {n < 0 || n > 100}
{couf << "ncoecf 1npuf! \n"
efun 1
}
o {1nf 1 = 0 1 <= n-1 1++}
{couf << "x|" << 1 << "]= "
c1n >> x|1]
1 {!c1n}
{couf << "o, 8ad npuf! \n"
efun 1
}
}
o {1 = n-1 1 >= 0 1--}
couf << x|1] << "\n"
efun 0
}
hannueuue ua nporpaua Zad4.cpp
euuuun1a doub1e x|100] aou o o1ennue ua 008 Oh, xou1o ce
uueuyaa1 nocneoaa1enuo c x|0], x|1], ., x|99] u ca c ueonpeeneuo
cpauue. Ocaeu 1oaa ce o1enn1 48 Oh aa npoueunuaa1a x, a xou1o
aanucaa apec1 ua uuexcupaua1a npoueunuaa x|0]. Cneaa|un1 nporpaueu
parueu1 aaea c1ouuoc1 ua n {bpon ua eneueu1u1e ua uacuaa, xou1o |e
ba1 uanonaaauu}. Onepa1op1
o {1nf 1 = 0 1 <= n-1 1++}
{couf << "x|" << 1 << "]= "
c1n >> x|1]
1 {!c1n}
{couf << "o, 8ad npuf! \n"
efun 1
}
}
aaea c1ouuoc1u ua enu1e npoueunuau x|0], x|1], ., x|n-1]. 8cnxa
aaeeua c1ouuoc1 e npemec1aaua o1 noce|aue. Onepa1op1
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 114 o1 1
o {1 = n-1 1 >= 0 1--}
couf << x|1] << "\n"
uaaea a obpa1eu pe xounoueu1u1e ua uacuaa x.
3abenexa: 4parueu1u1e:
. u .
couf << "n= " 1nf n = 10
1nf n 1nf x|10]
c1n >> n
1nf x|n]
.
ca ueonyc1uuu, 1u xa1o n ue e xouc1au1eu uapaa. 4parueu11
.
consf 1nf n = 10
doub1e x|n]
e onyc1uu.
3. hnxou npunoeuun ua c1pyx1ypa1a o1 auuu uacua 3. hnxou npunoeuun ua c1pyx1ypa1a o1 auuu uacua 3. hnxou npunoeuun ua c1pyx1ypa1a o1 auuu uacua 3. hnxou npunoeuun ua c1pyx1ypa1a o1 auuu uacua
1pceue ua eneueu1 a peua
hexa ca aeuu peua o1 eneueu1u a
0
, a
1
, ., a
n-1
, eneueu1 x u penaun
. Mora1 a ce opuynupa1 ae ocuoauu aaauu, capaauu c 1pceue ua
eneueu1 a peua1a, xou1o a e a penaun c eneueu1a x.
a} a ce uauepn1 acuuxu eneueu1u acuuxu eneueu1u acuuxu eneueu1u acuuxu eneueu1u ua peua1a, xou1o ca a penaun c
eneueu1a x.
b} a ce yc1auoau, c|ec1ayaa c|ec1ayaa c|ec1ayaa c|ec1ayaa nu eneueu1 nu eneueu1 nu eneueu1 nu eneueu1 o1 peua1a, xou1o e a
penaun c eneueu1a x.
C|ec1ayaa1 peua ue1ou, xou1o pemaaa1 eua1a, pyra1a unu u ae1e
aaauu. |e paarneaue ue1oa ua nocneoaa1enuo1o 1pceue nocneoaa1enuo1o 1pceue nocneoaa1enuo1o 1pceue nocneoaa1enuo1o 1pceue, upea xou1o
uara1 a ce pema1 u ae1e aaauu. Me1o1 ce cc1ou a cneuo1o:
nocneoaa1enuo ce obxoa1 eneueu1u1e ua peua1a u aa acexu eneueu1 ce
npoaepnaa anu e a penaun c eneueu1a x. hpu npaa1a aaaua npoec1
nponaaa o uauepnaaue ua peua1a, a npu a1opa1a - o uauupaue ua
npaun eneueu1 a
k
{k = 0, 1, ., n-1}, xou1o e a penaun c x, unu o
uauepnaaue ua peua1a bea a e uauepeu eneueu1 c 1pceuo1o caouc1ao.
Cneaa|u1e ue1upu aaauu unkc1pupa1 1oau ue1o.
3aaua 49. 3aaua 49. 3aaua 49. 3aaua 49. aeuu ca peua1a o1 enu uucna a
0
, a
1
, ., a
n-1
{n 1} u
nno1o uucno x. a ce uanume nporpaua, xon1o uauupa xonxo n1u x ce
cpa a peua1a.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 115 o1 1
8 cnyuan penaun1a e onepaun1a ==. hanara ce acexu eneueu1 ua
peua1a a be cpaaueu c x, 1.e. uuaue aaaua o1 npaun au. 1n onucaa
uuyx1uaeu uxnuueu npoec.
hporpaua Zad49.cpp pemaaa aaaua1a.
Pogam Zad49.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{1nf a|20]
couf << "n= "
1nf n
c1n >> n
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {n < 1 || n > 20}
{couf << "ncoecf 1npuf! \n"
efun 1
}
1nf 1
o {1 = 0 1 <= n-1 1++}
{couf << "a|" << 1 << "]= "
c1n >> a|1]
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
}
1nf x
couf << "x= "
c1n >> x
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1nf b = 0
o {1 = 0 1 <= n-1 1++}
1 {a|1] == x} b++
couf << "numbe = " << b << "\n"
efun 0
}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 116 o1 1
3aaua 50. 3aaua 50. 3aaua 50. 3aaua 50. aeuu ca peua1a o1 enu uucna a
0
, a
1
, ., a
n-1
{n 1} u
nno1o uucno x. a ce uanume nporpaua, xon1o npoaepnaa anu x ce cpa
a peua1a.
8 1oau cnyuau ce uaucxaa npu npao1o cpe|aue ua eneueu1 o1 peua1a,
xou1o e paaeu ua x, a ce npeyc1auoau pabo1a1a c noxon|o cob|euue.
5pon1 ua cpaaueuun1a ua x c eneueu1u1e o1 peua1a e orpauuueu o1rope o1
n, uo ue e uaaec1eu.
hporpaua Zad50.cpp pemaaa aaaua1a. 4parueu11, peanuaupa| axoa e
c|un xa1o a Zad49.cpp u aa1oaa e nponycua1.
Pogam Zad50.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{1nf a|20]
.
1 = 0
h11e {a|1] != x && 1 < n-1}
1++
1 {a|1] == x} couf << "yes \n"
e1se couf << "no \n"
efun 0
}
Obxoaue1o ua peua1a c1aaa upea npounua ua c1ouuoc1u1e ua uuexca 1
- aanouaa1 o1 0 u ua acnxa c1nxa o1 uannueuue1o ua 1nno1o ua uxna ce
yaenuuaaa1 c 1. Maxcuuanua1a uu c1ouuoc1 e n-1. hpu uanuaaue1o o1 uxna
|e e a cuna o1puauue1o ua ycnoaue1o {a|1] != x && 1 < n-1}, 1.e. {a|1]
== x || 1 == n-1}. Axo e a cuna a|1] == x, 1u xa1o cue ocurypunu a|1] a
e eneueu1 ua peua1a, o1roaop1 yes e xopex1eu. 8 npo1uaeu cnyuau e a
cuna 1 == n-1, 1.e. cxauupau e u nocneuun1 eneueu1 ua peua1a u aa uero
ue e anpuo a|1] == x. 1oaa e peanuaupauo upea o1roaopa no o1
an1epua1uaa1a ua ycnoauun onepa1op.
4parueu11
1 = -1
do
1++
h11e {a|1] != x && 1 < n-1}
1 {a|1] == x} couf << "yes \n"
e1se couf << "no \n"
peanuaupa 1pceue1o upea uanonaaaue ua onepa1opa do/h11e.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 117 o1 1
3aaua 3aaua 3aaua 3aaua 51 51 51 51. .. . a ce uanume nporpaua, xon1o yc1auoanaa, anu peua1a o1
enu uucna a
0
, a
1
, ..., a
n-1
e uouo1ouuo uauannaa|a.
a} 3a pemaaaue1o ua aaaua1a e ueobxouuo a ce yc1auoau, anu aa
acnxo 1 {0 1 n-2} e a cuna penaun1a a|1] >= a|1+1]. 1oaa uoe a ce
peanuaupa xa1o ce npoaepu anu bpon1 ua enu1e uucna 1 {01n-2}, aa
xou1o e a cuna penaun1a a|1] a|1+1], e paaeu ua n-1.
hporpaua1a Zad511.cpp peanuaupa 1oau uauuu aa npoaepxa anu peua e
uouo1ouuo uauannaa|a. 4parueu1u1e, peanuaupa|u aaeaue1o ua n u uacuaa
a, ca uaaec1uu aeue u aa1oaa ca nponycua1u.
Pogam Zad511.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{1nf a|100]
// euuupaue u aaeaue ua c1ouuoc1 ua n
.
// aaeaue ua uacuaa a
.
1nf b = 0
o {1 = 0 1 <= n-2 1++}
1 {a|1] >= a|1+1]} b++
1 {b == n-1} couf << "yes \n"
e1se couf << "no \n"
efun 0
}
b} 3aaua1a uoe a ce caee o 1pceue ua 1 {1 = 0, 1,..., n-2}, 1axa
ue a1 < a1+1, 1.e. o aaaua aa c|ec1ayaaue.
hporpaua Zad512.cpp peanuaupa 1oau uauuu aa npoaepxa anu peua e
uouo1ouuo uauannaa|a. 4parueu1u1e, peanuaupa|u aaeaue1o ua n u uacuaa
a o1uoao ca nponycua1u.
Pogam Zad512.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{1nf a|100]
//aaeaue ua paauepuoc11a n u uacuaa a
.
1 = 0
h11e {a|1] >= a|1+1] && 1 < n-2} 1++
1 {a|1] >= a|1+1]} couf << "yes \n"
e1se couf << "no \n"
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 11 o1 1
efun 0
}
Pemeuue b} e no-eex1uauo, 1u xa1o npu npao1o cpe|aue ua a|1], 1axa
ue penaun1a a|1] < a|1+1] e a cuna, uannueuue1o ua uxna aaapmaa.
Pemeuue a} peanuaupa nocneoaa1enuo 1pceue e nnuo uauepnaaue, a pemeuue
b} - aaaua aa c|ec1ayaaue ua eneueu1 a peua, xou1o e a onpeeneua
penaun c pyr eneueu1 {a cnyuan cceuun uy}.
3aaua 3aaua 3aaua 3aaua 52 52 52 52. .. . a ce uanume nporpaua, xon1o yc1auoanaa, anu peua1a o1
enu uucna a
0
, a
1
, ..., a
n-1
ce cc1ou o1 paanuuuu eneueu1u.
a} 3a pemaaaue1o ua aaaua1a e ueobxouuo a ce yc1auoau, anu aa
acnxa aouxa {1, }: 0 1 n-2 u 1+1 n-1 e a cuna penaun1a a|1]
!= a|]. 1oaa uoe a ce noc1urue xa1o ce npoaepu anu bpon1 ua aouxu1e
{1, }: 0 1 n-2 u 1+1 n-1, aa xou1o e a cuna penaun1a a|1] !=
a|], e paaeu ua n"{n-1}/2.
hporpaua Zad521.cpp peanuaupa ropua1a opuynupoaxa ua aaaua1a -
1pceue c nnuo uauepnaaue. 4parueu1u1e, peanuaupa|u aaeaue1o ua n u
uacuaa a o1uoao ca nponycua1u.
Pogam Zad521.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{1nf a|100]
//aaeaue ua paauepuoc11a n u uacuaa a
.
1nf b = 0
o {1 = 0 1 <= n-2 1++}
o {1nf = 1+1 <= n-1 ++}
1 {a|1] != a|]} b++
1 {b == n"{n-1}/2} couf << "yes \n"
e1se couf << "no \n"
efun 0
}
b} 3aaua1a uoe a ce caee o npoaepxa aa c|ec1ayaaue ua aouxa
uuexcu {1, }: 0 1 n-2 u 1+1 n-1, aa xou1o ue e a cuna
penaun1a a|1] != a|]. hporpaua Zad522.cpp pemaaa aaaua1a.
Pogam Zad522.cpp
#1nc1ude <1osfeam.h>
1nf ma1n{}
{1nf a|100]
// aaeaue c1ouuoc1u ua paauepuoc11a n u uacuaa a
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 119 o1 1
.
1 = -1
1nf
do
{1++
= 1+1
h11e {a|1] != a|] && < n-1} ++
} h11e {a|1] != a|] && 1 < n-2}
1 {a|1] != a|1+1]} couf << "yes \n"
e1se couf << "no \n"
efun 0
}
Pemeuue b} e no-eex1uauo, 1u xa1o npu npao1o cpe|aue ua a|1] u a|],
1axa ue penaun1a a|1] == a|] e a cuna, uannueuue1o ua onepa1opu1e aa
uxn aaapmaa. 1o peanuaupa aaaua aa c|ec1ayaaue ua ue1oa aa 1pceue.
Cop1upaue ua peua
C|ec1ayaa1 uuoro ue1ou aa cop1upaue ua peuu o1 eneueu1u. 8 1aau
rnaaa |e paarneaue ue1oa ua npnxa1a cenexun ue1oa ua npnxa1a cenexun ue1oa ua npnxa1a cenexun ue1oa ua npnxa1a cenexun u upea uero |e peanuaupaue
aaxon|a cop1upoaxa ua peua.
Me1o ua npnxa1a cenexun
Paarnea ce peua1a a
0
, a
1
, ., a
n-1
u ce uaapmaa1 cneuu1e euc1aun:
hauupa ce k, 1axa ue a
k
= m1n{a
0
, a
1
, ., a
n-1
}.
Paaueun1 ce c1ouuoc1u1e ua a
k
u a
0
.
1axa ua npao unc1o a peua1a ce yc1auoanaa uau-uanxun1 u eneueu1.
Paarnea ce peua1a a
1
, a
2
, ., a
n-1
u ce uaapmaa1 euc1aun1a:
hauupa ce k, 1axa ue a
k
= m1n{a
1
, a
2
, ., a
n-1
}.
Paaueun1 ce c1ouuoc1u1e ua a
k
u a
1
.
1axa ua a1opo unc1o a peua1a ce yc1auoanaa cneaa|un1 no roneuuua
eneueu1 ua peua1a u 1.u.
Paarnea ce peua1a a
n-2
, a
n-1
u ce uaapmaa1 euc1aun1a:
hauupa ce k, 1axa ue a
k
= m1n{a
n-2
, a
n-1
}.
Paaueun1 ce c1ouuoc1u1e ua a
k
u a
n-2
.
honyueua1a peua e cop1upaua aa aaxon| pe.
3aaua 53. 3aaua 53. 3aaua 53. 3aaua 53. a ce cop1upa aa aaxon| pe no ue1oa ua npnxa1a
cenexun uucnoaa1a peua a
0
, a
1
, ., a
n-1
{n 1}.
hporpaua Zad53.cpp pemaaa aaaua1a. 4parueu11 aa aaeaue c1ouuoc1u
ua paauepuoc11a n u uacuaa a o1uoao e nponycua1.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 120 o1 1
Pogam Zad53.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
1nf ma1n{}
{1nf a|100]
...
1nf 1
o {1 = 0 1 <= n-2 1++}
{1nf m1n = a|1]
1nf k = 1
o {1nf = 1+1 <= n-1 ++}
1 {a|] < m1n}
{m1n = a|]
k =
}
1nf x = a|1] a|1] = a|k] a|k] = x
}
o {1 = 0 1 <= n-1 1++}
couf << sef{10} << a|1]
couf << \n
efun 0
}
Cnuaaue ua peuu
Cnuaaue1o e au cop1upaue. hexa ca aeuu cop1upauu1e aa aaxon| pe
peuu:
a
0
, a
1
, ., a
n-1
b
0
, b
1
, ., b
n-1
a ce cnen1 peuu1e oauauaaa a ce xouc1pyupa uoaa, cop1upaua aa
aaxon| pe peua, cc1aaeua o1 eneueu1u1e ua aeuu1e peuu.
Oc|ec1anaa ce no cneuun uauuu:
- hoc1aan1 ce yxaaa1enu xu npau1e eneueu1u ua peuu1e {a
1
} u
{b

}.
- oxa1o uua eneueu1u u a ae1e peuu, ce cpaaunaa1 eneueu1u1e,
coueuu o1 yxaaa1enu1e. ho-uanxun1 eneueu1 ce aanucaa a uoaa1a peua,
cne xoe1o ce npecxaua.
- Cne uauepnaaue ua eneueu1u1e ua eua1a o1 aeuu1e peuu,
eneueu1u1e ua pyra1a o1 yxaaa1enn {axnkuu1enuo} ce npexapnn1 a uoaa1a
peua.
3aaua 5 3aaua 5 3aaua 5 3aaua 54 44 4. .. . aeuu ca cop1upauu1e aa aaxon| pe peuu:
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 121 o1 1
a
0
, a
1
, ., a
n-1
b
0
, b
1
, ., b
m-1
{n {n {n {n 1, m 1}. 1, m 1}. 1, m 1}. 1, m 1}. a ce uanume nporpaua, xon1o cnuaa ae1e peuu a a ce uanume nporpaua, xon1o cnuaa ae1e peuu a a ce uanume nporpaua, xon1o cnuaa ae1e peuu a a ce uanume nporpaua, xon1o cnuaa ae1e peuu a
peua1a peua1a peua1a peua1a
c
0
, c
1
, ., c
k-1
.
hporpaua Zad54.cpp pemaaa aaaua1a.
Pogam Zad54.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
1nf ma1n{}
{1nf a|20]
couf << "n= "
1nf n
c1n >> n
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {n < 1 || n > 20}
{couf << "ncoecf 1npuf! \n"
efun 1
}
1nf 1
o {1 = 0 1 <= n-1 1++}
{couf << "a|" << 1 << "]= "
c1n >> a|1]
}
1nf b|10]
couf << "m= "
1nf m
c1n >> m
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {m < 1 || m > 10}
{couf << "ncoecf 1npuf! \n"
efun 1
}
o {1 = 0 1 <= m-1 1++}
{couf << "b|" << 1 << "]= "
c1n >> b|1]
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 122 o1 1
}
1nf p1 = 0, p2 = 0
1nf c|30]
1nf p3 = -1
h11e {p1 <= n-1 && p2 <= m-1}
1 {a|p1] <= b|p2]}
{p3++
c|p3] = a|p1]
p1++
}
e1se
{p3++
c|p3] = b|p2]
p2++
}
1 {p1 > n-1}
o {1 = p2 1 <= m-1 1++}
{p3++
c|p3] = b|1]
}
e1se
o {1 = p1 1 <= n-1 1++}
{p3++
c|p3] = a|1]
} // uaaeaue ua peua1a
o {1=0 1<=p3 1++}
couf << sef{10} << c|1]
couf << \n
efun 0
}
Paarneauu1e ocera uacuau ce uapuua1 euouepuu euouepuu euouepuu euouepuu. 1e peanuaupa1 xpauuu
peuu o1 eneueu1u o1 cxanapeu 1un. 8auouo e obaue 1un1 ua eneueu1u1e
a e uacua. 8 1oau cnyuau ce roaopu aa uuorouepuu uacuau.
4. 4. 4. 4. Muorouepuu uacuau Muorouepuu uacuau Muorouepuu uacuau Muorouepuu uacuau
Macua, baaoaun1 1un ua xou1o e euouepeu uacua, ce uapuua ayuepeu ayuepeu ayuepeu ayuepeu.
Macua, baaoaun1 1un ua xou1o e ayuepeu uacua, ce uapuua 1puuepeu 1puuepeu 1puuepeu 1puuepeu u 1.u.
ha npax1uxa ce uanonaaa1 uacuau c paauepuoc1 uau-uuoro 3.
3aaaaue ua uuorouepuu uacuau 3aaaaue ua uuorouepuu uacuau 3aaaaue ua uuorouepuu uacuau 3aaaaue ua uuorouepuu uacuau
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 123 o1 1
hexa 1 e uue unu euuuun ua npouaaoneu 1un, paanuueu o1 nceaouuu,
o1d u yuxuouaneu, s1e
1
, s1e
2
, ., s1e
n
{n>1 e aeuo nno uucno} ca
xouc1au1uu uapaau o1 uu1erpaneu unu uabpoeu 1un c nonou1enuu c1ouuoc1u.
1|s1e
1
]|s1e
2
] . |s1e
n
] e 1un n-uepeu uacua o1 1un 1. 1 ce uapuua baaoa
1un aa 1una uacua.
hpuuepu:
1nf |5]|3] e ayuepeu uacua o1 1un 1nf
doub1e |4]|5]|3] e 1puuepeu uacua o1 1un doub1e
Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u
Muoec1ao1o o1 c1ouuoc1u ua 1una 1|s1e
1
]|s1e
2
] . |s1e
n
] ce cc1ou o1
acuuxu peuu o1 no s1e
1
eneueu1a, xou1o ca npouaaonuu xouc1au1u o1 1un
1|s1e
2
] . |s1e
n
]. oc1n1 o eneueu1u1e ua peuu1e e npnx u ce
oc|ec1anaa c nouo|1a ua uuexc, xa1o oc1n1 o npaun eneueu1 ce
oc|ec1anaa c uuexc cc c1ouuoc1 0, o nocneuun - c uuexc cc c1ouuoc1
s1e
1
-1, a o acexu o1 oc1auanu1e eneueu1u - c uuexc cc c1ouuoc1 c 1
no-ronnua o1 1aau ua uuexca ua npeumuun eneueu1. Lneueu1u1e o1
uuoec1ao1o o1 c1ouuoc1u ua aeu 1un uuorouepeu uacua ca xouc1au1u1e xouc1au1u1e xouc1au1u1e xouc1au1u1e ua
1oau 1un uacua.
hpuuepu:
1. Muoec1ao1o o1 c1ouuoc1u ua 1una 1nf|5]|3] ce cc1ou o1 acuuxu
peuu o1 no 5 eneueu1a, xou1o ca euouepuu uacuau o1 1un 1nf|3].
oc1n1 o eneueu1u1e ua peuu1e ce oc|ec1anaa c uuexc cc c1ouuoc1u
0, 1, 2, 3 u 4.
0 12 0 1 2 01 2
1nf|5]|3]
0 1 4
2. Muoec1ao1o o1 c1ouuoc1u ua 1una doub1e|4]|5]|3] ce cc1ou o1
acuuxu peuu o1 no 4 xouc1au1u o1 1un doub1e|5]|3]. oc1n1 o
eneueu1u1e ua peuu1e ce oc|ec1anaa c uuexc cc c1ouuoc1u 0, 1, 2 u 3.
doub1e|4]|5]|3]
{{nn{{{ {{nn{{{ {{nn{{{ {{nn{{{{1nf, {1nf, {1nf, {1nf,1nf,1nf}, 1nf,1nf}, 1nf,1nf}, 1nf,1nf}, {1nf {1nf {1nf {1nf,1nf,1nf ,1nf,1nf ,1nf,1nf ,1nf,1nf} }} } ., ., ., ., {1nf,1nf,1nf}} {1nf,1nf,1nf}} {1nf,1nf,1nf}} {1nf,1nf,1nf}}
{xouc10, xouc11, xouc12, xouc13} {xouc10, xouc11, xouc12, xouc13} {xouc10, xouc11, xouc12, xouc13} {xouc10, xouc11, xouc12, xouc13}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 124 o1 1
0 1 2 3
xe1o c xouc1
1
{1 = 0, 1, 2, 3} e oauaueua npouaaonua xouc1au1a o1 1un
doub1e|5]|3].
hpoueunuaa aenuuuua, uuoec1ao1o o1 onyc1uuu1e c1ouuoc1u ua xon1o
canaa c uuoec1ao1o o1 c1ouuoc1u ua aeu 1un uacua, ce uapuua
npoueunuaa o1 aeuun 1un uacua unu cauo uacua. 4ur. 3 aaa obob|euue ua
cuu1axcuca ua euuuun1a ua npoueunuaa o1 1un uacua.
<euuuunuanpoueunuaao11unuuorouepeuuacua> ::=
1 <npoueunuaa>|s1e
1
]|s1e
2
] . |s1e
n
] |
1 <npoueunuaa>|s1e
1
]|s1e
2
].|s1e
n
]
= {<peuao1xouc1au1uo11un 11>}|
1 <npoueunuaa>|s1e
1
]|s1e
2
].|s1e
n
]
= {<peuao1xouc1au1uo11un 1>}
xe1o
1 e uue unu euuuun ua npouaaoneu 1un, paanuueu o1 nceaouuu, o1d u
yuxuouaneu
11 e uue ua 1una 1|s1e
2
].|s1e
n
]
s1e
1
, s1e
2
, .s1e
n
ca xouc1au1uu uapaau o1 uu1erpaneu unu uabpoeu 1un
cc nonou1enuu c1ouuoc1u
<npoueunuaa> ::= <ueu1uuxa1op>
<peuao1xouc1au1uo11un 11> ::= <xouc1au1ao11un 11>|
<xouc1au1ao11un 11>, <peuao1xouc1au1uo11un 11>
a <peuao1xouc1au1uo11un 1> ce onpeenn no auanoruueu uauuu.
4ur. 3.
hpuuepu:
1nf x|10]|20]
doub1e y|20]|10]|5]
1nf |3]|2] = {{1, 3},
{5, 7},
{2, 9}}
1nf f|2]|3]|2] = {{{1, 3}, {5, 7}, {6, 9}},
{{7, }, {1, }, {-1, -4}}
4parueu1u1e
<npoueunuaa>|s1e
1
]|s1e
2
] . |s1e
n
],
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 125 o1 1
<npoueunuaa>|s1e
1
]|s1e
2
].|s1e
n
] ={<peuao1xouc1au1uo11un 11>}
<npoueunuaa>|s1e
1
]|s1e
2
].|s1e
n
] ={<peuao1xouc1au1uo11un 1>}
o1 euuuun1a o1 4ur. 3, uora1 a ce noa1apn1. 3a paaenu1en ce uanonaaa
cuuaon1 aane1an.
hpuuepu:
1nf a|3]|4], b|2]|3]|2] = {{{1, 2}, {3, 4}, {5, 6}},
{{7, }, {9, 0}, {1, 2}}}
doub1e c|2]|3] = {1, 2, 3, 4, 5, 6}, d|3]|4]|5]|6]
hpu euuuun1a c uuuuanuaaun, o1 4ur. 3., e aauouo s1e
1
a ce
nponycue. 1oraaa aa c1ouuoc1 ua s1e
1
ce nopaabupa bpon1 ua peuu1e o1
xouc1au1u ua uau-aumuo uuao, uabpoeuu npu uuuuanuaaun1a.
hpuuep: euuuun1a
1nf s|]|2]|3] = {{{1,2,3}, {4, 5, 6}},
{{7, , 9}, {10, 11, 12}},
{{13, 14, 15}, {16, 17, 1}}}
e exauaaneu1ua ua
1nf s|3]|2]|3] = {{{1,2,3}, {4, 5, 6}},
{{7, , 9}, {10, 11, 12}},
{{13, 14, 15}, {16, 17, 1}}}
Axo uabpoeuu1e xouc1au1uu uapaau a uuuuanuaaun1a ua uuao 1 ca no-uanxo
o1 s1e
1
, oc1auanu1e ce uuuuanuaupa1 c uyneau c1ouuoc1u.
hpuuepu: euuuun1a
1nf 1|5]|6] = {{1, 2}, {5}, {3, 4, 5},
{2, 3, 4, 5}, {2, 0, 4}}
e exauaaneu1ua ua
1nf 1|5]|6] = { {1, 2, 0, 0, 0, 0},
{5, 0, 0, 0, 0, 0},
{3, 4, 5, 0, 0, 0},
{2, 3, 4, 5, 0, 0},
{2, 0, 4, 0, 0, 0}}
8noeuu1e urypuu cxobxu ue ca aanu1enuu. Cneuo1o uuuuanuaupaue
1nf ma|4]|3] = {0, 1, 2, 3, 4, 5, 6, 7, , 9, 10, 11}
e exauaaneu1uo ua
1nf ma|4]|3] = {{0, 1, 2}, {3, 4, 5}, {6, 7, }, {9, 10, 11}}
uo e no-uencuo.
Cneaa|a1a euuuun
1nf ma|4]|3] = {{0}, {1}, {2}, {3}}
e exauaaneu1ua ua
1nf ma|4]|3] = {{0, 0, 0 }, {1, 0, 0}, {2, 0, 0}, {3, 0, 0}}
u e paanuuua o1
1nf ma|4]|3] = {0, 1, 2, 3}
xon1o nx e exauaaneu1ua ua
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 126 o1 1
1nf ma|4]|3] = {{0, 1, 2}, {3, 0, 0}, {0, 0, 0}, {0, 0, 0}}
huuuanuaaun1a e euu uauuu aa capaaaue ua npoueunuaa o1 1un uacua c
xouxpe1ua xouc1au1a o1 uuoec1ao1o o1 c1ouuoc1u ua 1oau 1un uacua. pyr
uauuu npeoc1aan1 1.uap. uuexcupauu npoueunuau. C acnxa npoueunuaa o1
1un uacua e capaau uabop o1 uuexcupauu npoueunuau. 4ur. 4. obob|aaa
1exuun cuu1axcuc.
<uuexcupauanpoueunuaa> ::=
<npoueunuaao11unuacua>|<uuexc
1
>]|<uuexc
2
>]|<uuexc
n
>]
xe1o
<uuexc
1
> e uapaa o1 uu1erpaneu unu uabpoeu 1un.
8cnxa uuexcupaua npoueunuaa e o1 baaoaun 1un.
4ur. 4.
hpuuepu:
1. C npoueunuaa1a x, euuupaua no-rope, ca capaauu uuexcupauu1e
npoueunuau
x|0]|0], x|0]|1], ., x|0]|19],
x|1]|0], x|1]|1], ., x|1]|19],
.
x|9]|0], x|9]|1], ., x|9]|19],
xou1o ca o1 1un 1nf.
2. C npoueunuaa1a y ca capaauu cneuu1e peanuu uuexcupauu
npoueunuau:
y|1]|0]|0], y|1]|0]|1], ., y|1]|0]|4],
y|1]|1]|0], y|1]|1]|1], ., y|1]|1]|4],
.
y|1]|9]|0], y|1]|9]|1], ., y|1]|9]|4],
aa 1 = 0, 1, ., 19.
euuuun1a ua npoueunuaa o1 1un uuorouepeu uacua ue cauo capaaa
npoueunuaa1a c uuoec1ao1o o1 c1ouuoc1u ua yxaaauun 1un, uo u o1enn 48
naue1, a xon1o aanucaa apeca ua npaa1a uuexcupaua npoueunuaa ua
uacuaa. Oc1auanu1e uuexcupauu npoueunuau ce paanonara1 nocneoaa1enuo
cne npaa1a no no-bpao1o uapac1aaue ua no-aneuuu1e cu uuexcu. 3a
acnxa uuexcupaua npoueunuaa ce o1enn 1onxoaa naue1, xonxo1o baaoaun1
1un uaucxaa. Cneaa|un1 npuuep unkc1pupa no-nopobuo npec1aanue1o.
hpuuep:
Oh
x
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 127 o1 1
x|0] x|0]|0] x|0]|1] . x|0]|19]
- - -
x|1] x|1]|0] x|1]|1] . x|1]|19] .
- - -
x|9] x|9]|0] x|9]|1] . x|9]|19]
- - -
xa1o aa acnxa uuexcupaua npoueunuaa ca o1eneuu 48 Oh, xou1o ca c
ueonpeeneuo cpauue, 1u xa1o x ue e euuupaua c uuuuanuaaun.
Ocaeu 1oaa, upea uuexcupauu1e npoueunuau x|0], x|1], ..., x|9] uora1 a
ce uauepn1 apecu1e ua x|0]|0], x|1]|0], ..., x|9]|0] co1ae1uo, 1.e.
couf << x|0] << x|1] << ... << x|9]
|e uaaee apecu1e ua x|0]|0], x|1]|0], ... u x|9]|0].
3abenexa: 3abenexa: 3abenexa: 3abenexa: ayuepuu1e uacuau paanonara1 a Oh uuexcupauu1e cu
npoueunuau no no-bpao1o uapac1aaue ua a1opun uuexc. 1oaa uauuecxo
npec1aanue ce uapuua npec1aanue no peoae npec1aanue no peoae npec1aanue no peoae npec1aanue no peoae. 1eau uacuau uora1 a ba1
uanonaaauu aa peanuaaun u pabo1a c ua1puu u p. npaaornuu 1abnuu.
8auo onnueuue: 8auo onnueuue: 8auo onnueuue: 8auo onnueuue: hpu pabo1a c uacuau 1pnbaa a ce uua npeau, ue
noaeue1o peanuaauu ue npoaepnaa1 anu c1ouuoc1u1e ua uuexcu1e ca a
pauxu1e ua rpauuu1e, aaaeuu npu 1exuu1e euuuuu. 1aau ocobeuoc1 xpue
onacuoc1 o1 onycxaue ua 1pyuoo1xpuaaeuu rpemxu.
ec1o onycxaua rpemxa: ec1o onycxaua rpemxa: ec1o onycxaua rpemxa: ec1o onycxaua rpemxa: 8 hacxan, Aa u p. npoeypuu eauu,
uuexcu1e ua uuexcupauu1e npoueunuau ce orpaa1 cauo a eua aouxa
xaapa1uu cxobxu u ce o1enn1 cc aane1au. ho uaaux, npu nporpauupaue ua
C++, uec1o ce uanonaaa c|o1o oauaueuue. 1oaa e uenpaaunuo, uo aa
caneuue ue auuaru e cnpoaoeuo cc cob|euue aa rpemxa, 1u xa1o a
eauxa C++ c|ec1ayaa1 1.uap. comma-uapaau. hanonaaaxue ru aeue a
aarnaauu1e uac1u ua onepa1opa aa uxn o. Comma-uapaau1e ca uapaau,
o1eneuu cc aane1au. C1ouuoc11a ua uau-ecuun uapaa e c1ouuoc11a ua
comma-uapaaa. Onepaun1a aa nocneoaa1enuo uannueuue aane1an e
nnaoacoua1uaua. 1axa 1+3, , 21-15 e comma-uapaa cc c1ouuoc1 6, a |1,
2] e comma-uapaa cc c1ouuoc1 |2]. 8 C++ ma|1,2] oauauaaa apeca ua
uuexcupaua1a npoueunuaa ma|2]|0] {uuexc1 |0] ce obaan aa1oua1uuuo}.
3aauu apxy uuorouepuu uacuau
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 12 o1 1
3aaua 5 3aaua 5 3aaua 5 3aaua 55 55 5. .. . a ce uanume nporpaua, xon1o aaea eneueu1u1e ua
npaaornua ua1pua a|nxu] u uauupa u uaaea ua1pua1a, nonyueua o1
aeua1a xa1o acexu o1 ueuuu1e eneueu1u e yaenuueu c 1.
hporpaua Zad55.cpp pemaaa aaaua1a.
Pogam Zad55.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
1nf ma1n{}
{1nf a|10]|20]
// aaeaue ua bpon ua peoae1e ua ua1pua1a
couf << "n= "
1nf n
c1n >> n
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {n < 1 || n > 10}
{couf << "ncoecf 1npuf! \n"
efun 1
}
// aaeaue ua bpon ua c1nboae1e ua ua1pua1a
couf << "m= "
1nf m
c1n >> m
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {m < 1 || m > 20}
{couf << "ncoecf 1npuf! \n"
efun 1
}
// aaeaue ua ua1pua1a no peoae
1nf 1,
o {1 = 0 1 <= n-1 1++}
o { = 0 <= m-1 ++}
{couf << "a|" << 1 << ", " << << "]= "
c1n >> a|1]|]
1 {!c1n}
{couf << "o, 8ad npuf! \n"
efun 1
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 129 o1 1
}
}
// xouc1pyupaue ua uoaa ua1pua b
1nf b|10]|20]
o {1 = 0 1 <= n-1 1++}
o { = 0 <= m-1 ++}
b|1]|] = a|1]|] + 1
// uaaeaue ua ua1pua1a b no peoae
o {1 = 0 1 <= n-1 1++}
{o { = 0 <= m-1 ++}
couf << sef{6} << b|1]|]
couf << \n
}
efun 0
}
3abenexa: 3abenexa: 3abenexa: 3abenexa: 3a peanuaupaue ua onepauu1e uaaeaue u xouc1pyupaue ce
uaapmu obxoaue ua eneueu1u1e ua ayuepeu uacua no peoae.
3aaua 56. 3aaua 56. 3aaua 56. 3aaua 56. a ce uanume nporpaua, xon1o uauupa u uaaea cyua1a o1
eneueu1u1e ua acexu c1nb ua xaapa1ua1a ua1pua a|nxn].
hporpaua Zad56.cpp pemaaa aaaua1a. 8 uen aaeaue1o ua ua1pua1a u
ueuua1a paauepuoc1 ca nponycua1u, 1u xa1o ca auanoruuuu ua 1eau o1
Zad55.cpp.
Pogam Zad56.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
1nf ma1n{}
{1nf a|10]|10]
1nf n
.
1nf 1,
o { = 0 <= n-1 ++}
{1nf s = 0
o {1 = 0 1 <= n-1 1++}
s += a|1]|] // s = s + a|]|]
couf << sef{10} << << sef{10} << s << "\n"
}
efun 0
}
Peanuaupauo e obxoaue ua uacuaa no c1nboae {npaun1 uuexc ce uaueun
no-bpao}.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 130 o1 1
3aaua 57. 3aaua 57. 3aaua 57. 3aaua 57. a ce uanume nporpaueu parueu1, xou1o uauupa uouepa1a ua
peoae1e ua enouucneua1a xaapa1ua ua1pua a|nxn], a xou1o uua eneueu1,
paaeu ua nno1o uucno x.
.
o {1 = 0 1 <= n-1 1++}
{ = -1
do
++
h11e {a|1]|] != x && < n-1}
1 {a|1]|] == x} couf << sef{5} << 1 << \n
}
.
4parueu11 peanuaupa nocneoaa1enuo obxoaue ua acuuxu peoae ua
ua1pua1a u aa acexu pe npoaepnaa anu c|ec1ayaa eneueu1, paaeu ua
aeuun eneueu1 x.
3aaua 5 3aaua 5 3aaua 5 3aaua 5 . .. . a ce uanume nporpaueu parueu1, xou1o obxoa xaa1pa1ua1a
ua1pua a|nxn] no uarouanu, aanouaauxu o1 eneueu1a a
00
, xax1o e noxaaauo
no-ony:
a
00
a
01
a
02
. a
0,n-1
a
10
a
11
a
12
. a
1,n-1
.
a
n-1,0
a
n-1,1
a
n-1,2
. a
n-1,n-1
.
1nf k
o {k = 0 k <= n-1 k++}
{o {1 = k 1 >= 0 1--}
couf << "{" << 1 << ", "<< k-1 << "} "
couf << \n
}
o {k = n k <= 2"n-2 k++}
{o {1 = n-1 1 >= k-n+1 1--}
couf << "{" << 1 << ", "<< k-1 << "} "
couf << \n
}
.
3aaua 59. 3aaua 59. 3aaua 59. 3aaua 59. a ce uanume nporpaueu parueu1, xou1o obxoa xaa1pa1ua1a
ua1pua a|nxn] no uarouanu, aanouaauxu o1 eneueu1a a
n-1,0
, xax1o e
noxaaauo no-ony:
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 131 o1 1
a
00
a
01
a
02
. a
0,n-1
a
10
a
11
a
12
. a
1,n-1
.
a
n-2,0
a
n-2,1
a
n-2,2
. a
n-2,n-1
a
n-1,0
a
n-1,1
a
n-1,2
. a
n-1,n-1
.
1nf k
o {k = n-1 k >= 0 k--}
{o {1 = k 1 <= n-1 1++}
couf << "{" << 1 << ", "<< 1-k << "} "
couf << \n
}
o {k = -1 k >= 1-n k--}
{o {1 = 0 1 <= n+k-1 1++}
couf << "{" << 1 << ", "<< 1-k << "} "
couf << \n
}
.
3aaua 3aaua 3aaua 3aaua 60 60 60 60. .. . a ce uanume nporpaua, xon1o:
a} aaea no peoae eneueu1u1e ua xaapa1ua1a peanua ua1pua A c
paauepuoc1 n x n
b} o1 ua1pua1a A xouc1pyupa peua1a 8: b
0
, b
2
,..., b
m-1
, xe1o m =
n.n, npu xoe1o npau1e n eneueu1a ua 8 canaa1 c eneueu1u1e ua npaun
c1nb ua A, a1opu1e n eneueu1a ua 8 canaa1 c eneueu1u1e ua a1opun c1nb
ua A u 1.u., nocneuu1e n eneueu1a ua 8 canaa1 c eneueu1u1e ua
nocneuun c1nb ua A
a} cop1upa aa aaxon| pe eneueu1u1e ua peua1a 8
r} obpaayaa uoaa xaapa1ua ua1pua A c paauepuoc1 n x n, xa1o
eneueu1u1e o1 npaun pe ua A canaa1 c npau1e n eneueu1a ua 8,
eneueu1u1e o1 a1opun pe ua A canaa1 c a1opu1e n eneueu1a ua 8 u 1.u.
eneueu1u1e o1 n - 1un pe ua A canaa1 c nocneuu1e n eneueu1a ua 8
} uaaea no peoae uoaa1a ua1pua A.
hporpaua Zad60.cpp pemaaa aaaua1a.
Pogam Zad60.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
1nf ma1n{}
{1nf a|10]|10]
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 132 o1 1
couf << "n= "
1nf n
c1n >> n
1 {!c1n}
{couf << "o, 8ad 1npuf! \n"
efun 1
}
1 {n < 1 || n > 10}
{couf << "ncoecf 1npuf! \n"
efun 1
}
// aaeaue ua uacuaa a
1nf 1,
o {1 = 0 1 <= n-1 1++}
o { = 0 <= n-1 ++}
{couf << "a|" << 1<< "]|" << << "]= "
c1n >> a|1]|]
}
// uaaeaue ua eneueu1u1e ua a no peoae
o {1 = 0 1 <= n-1 1++}
{o { = 0 <= n-1 ++}
couf << sef{5} << a|1]|]
couf << "\n"
}
// paaauaaue ua ua1pua1a a no c1nboae
1nf b|100]
1nf m = -1
o { = 0 <= n-1 ++}
o {1 = 0 1 <= n-1 1++}
{m++
b|m] = a|1]|]
}
m++ // m e bpon ua eneueu1u1e ua peua1a b
// uaaeaue ua peua1a b
o {1 = 0 1 <= m-1 1++}
couf << sef{5} << b|1]
couf << \n
// cop1upaue ua b no ue1oa ua npnxa1a cenexun
o {1 = 0 1 <= m-2 1++}
{1nf k = 1
1nf m1n = b|1]
o { = 1+1 <= m-1 ++}
1 {b|] < m1n}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 133 o1 1
{m1n = b|]
k =
}
1nf x = b|1] b|1] = b|k] b|k] = x
}
// uaaeaue ua cop1upaua1a b
o {1 = 0 1 <= m-1 1++}
couf << sef{5} << b|1]
couf << \n
// xouc1pyupaue ua uoaa1a ua1pua a
m = -1
o {1 = 0 1 <= n-1 1++}
o { = 0 <= n-1 ++}
{m++
a|1]|] = b|m]
}
// uaaeaue ua ua1pua1a a
o {1 = 0 1 <= n-1 1++}
{o { = 0 <= n-1 ++}
couf << sef{10} << a|1]|]
couf << \n
}
efun 0
}
5. Cuuaonuu uuaoae 5. Cuuaonuu uuaoae 5. Cuuaonuu uuaoae 5. Cuuaonuu uuaoae
C1pyx1ypa o1 auuu uua C1pyx1ypa o1 auuu uua C1pyx1ypa o1 auuu uua C1pyx1ypa o1 auuu uua
horuuecxo onucauue horuuecxo onucauue horuuecxo onucauue horuuecxo onucauue
Peua o1 xpaeu bpou cuuaonu, aarpaeuu a xaauuxu, ce uapuua cuuaoneu cuuaoneu cuuaoneu cuuaoneu
uua uua uua uua unu cauo uua uua uua uua.
5pon1 ua cuuaonu1e a peua1a ce uapuua nuua nuua nuua nuua ua uuaa.
hpuuepu: xy e cuuaoneu uua c nuua 3,
1h1s 1s a sf1ng. e cuuaoneu uua c nuua 17, a
e cuuaoneu uua c nuua 0. hapuua ce npaaeu uua npaaeu uua npaaeu uua npaaeu uua.
hua, xou1o ce cpa a aeu uua ce uapuua ueroa nouua nouua nouua nouua.
hpuuep: hua1 1s s e nouua ua uuaa 1h1s 1s a sf1ng., a uua1
1s a s1ng ue e ueroa nouua.
Kouxa1euaun ua aa uuaa Kouxa1euaun ua aa uuaa Kouxa1euaun ua aa uuaa Kouxa1euaun ua aa uuaa e uua, nonyueu xa1o a xpan ua npaun uua ce
aanume a1opun1. hapuua ce o|e cnenaaue cnenaaue cnenaaue cnenaaue ua uuaoae.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 134 o1 1
hpuuep: Kouxa1euaun1a ua uuaoae1e a+b u =b+a e uua1 a+b=b+a, a
xouxa1euaun1a ua =b+a c a+b e uua1 =b+aa+b. 3abennaaaue, ue pe1
ua apryueu1u1e e o1 auaueuue.
aa cuuaonuu uuaa ce cpaaunaa1 aa cuuaonuu uuaa ce cpaaunaa1 aa cuuaonuu uuaa ce cpaaunaa1 aa cuuaonuu uuaa ce cpaaunaa1 no cneuun uauuu: Cpaaunaa ce acexu
cuuaon o1 npaun uua cc cuuaona o1 co1ae1ua1a noauun ua a1opun uua.
Cpaaueuue1o nponaaa o uauupaue ua aa paanuuuu cuuaona unu o xpan ua
noue euu o1 cuuaonuu1e uuaoae. Axo xo1 ua cuuaon o1 npaun uua e no-
uanx o1 xoa ua co1ae1uun cuuaon o1 a1opun uua, unu npaun1 uua e
uauepneu, npueua ce, ue npaun1 uua e no-uanx o1 a1opun. Axo nx e no-
ronnu unu a1opun1 uua e uauepneu - npueua ce, ue npaun1 uua e no-ronnu
o1 a1opun. Axo a npoeca ua cpaaueuue u aa1a uuaa euoapeueuuo ca
uauepneuu, 1e ca paaauu. 1oaa cpaaueuue ce uapuua nexcuxorpacxo nexcuxorpacxo nexcuxorpacxo nexcuxorpacxo.
hpuuepu: abbc e paaeu ua abbc
abbc e no-uanx o1 abbcaaa
abbc e no-ronnu o1 aa
abbcc e no-ronnu o1 abbc.
4uauuecxo npec1aanue 4uauuecxo npec1aanue 4uauuecxo npec1aanue 4uauuecxo npec1aanue
8 Oh uuaoae1e ce npec1aan1 nocneoaa1enuo.
Cuuaonuu uuaoae a eauxa C++ Cuuaonuu uuaoae a eauxa C++ Cuuaonuu uuaoae a eauxa C++ Cuuaonuu uuaoae a eauxa C++
C|ec1ayaa1 aa uauuua aa paarneaue ua uuaoae1e a eauxa C++:
xa1o uacuau o1 cuuaonu u
xa1o yxaaa1enu xu 1un cha.
3a |ac1ue, 1e ca ceuau1uuuo exauaaneu1uu.
8 1aau uac1 |e paarneaue cuuaonuu1e uuaoae xa1o uacuau o1 cuuaonu.
euuuun1a
cha sf1|100]
onpeenn npoueunuaa1a sf1 aa uacua o1 100 cuuaona, a
cha sf2|5] = {`a, `b, `c}
euuupa uacuaa o1 cuuaonu sf2 u ro uuuuanuaupa. 1u xa1o npu
uuuuanuaaun1a ca yxaaauu no-uanxo o1 5 cuuaona, oc1auanu1e ce onnaa1
c uyneaun cuuaon, xou1o ce oauauaaa cc cuuaona \0, a nounxora u cauo c
0. 1axa nocneua1a euuuun e exauaaneu1ua ua euuuu1e:
cha sf2|5] = `a, `b, `c, `\0, `\0}
cha sf2|5] = `a, `b, `c, 0, 0}
8cuuxu euc1aun, xou1o onucaxue, aa pabo1a c euouepuu uacuau, ca
aanuuu u aa uacuau o1 cuuaonu c uaxnkueuue ua uaaeaue1o. Onepa1op1
couf << sf2
unua a uaaee apeca ua sf2 {xax1o beme npu uacuau1e o1 pyr 1un}, a
1exc1a
abc
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 135 o1 1
hua obaue eua ocobeuoc1. Axo uuuuanuaaun1a ua npoueunuaa1a sf2 e
nnua u ue aaapmaa cc cuuaona \0, 1.e. uua aua
cha sf2|5] = {`a, `b, `c, `d, `e}
onepa1op1
couf << sf2
uaaea 1exc1a
abcde<ueonpeeneuo>

huauxu npe au acuuxo 1oaa, buxue uornu a uanumeu noxon|u nporpauuu
parueu1u, xou1o aaea1, uaaea1, xonupa1, cpaaunaa1, uaanuua1 uac1u,
xouxa1euupa1 uuaoae. 1u xa1o onepauu1e ce uaapmaa1 ua uuexcupauu1e
npoueunuau, uanara ce a ce nopa enouucneua npoueunuaa, cpa|a
nuua1a ua uuaa.
8 eauxa ca aeuu cpec1aa, peanuaupa|u uuaa xa1o cxanapua c1pyx1ypa.
3a en1a uua1 ce paarnea xa1o peua o1 cuuaonu, aaapmaa|a c uyneaun
cuuaon \0, uapeueu o|e auax aa xpau ua uua auax aa xpau ua uua auax aa xpau ua uua auax aa xpau ua uua. 1aau oprauuaaun uua
npeuuc1ao1o, ue ue e ueobxouuo c acexu uua a ce naau a npoueunuaa
nuua1a uy, 1u xa1o auax1 aa xpau ua uua noaaonnaa a ce onpeenu
xpan1 uy.
hpuuepu: euuuuu1e
cha m|5] = {`a, `b, `b, `a, `\0}
cha n|10] = {`x, `y, `, `1, `2, `+, `\0}
capaaa1 npoueunua1e o1 1un uacua o1 cuuaonu m u n c uuaoae1e abba u
xy12+ co1ae1uo. 3uax1 aa xpau ua uua `\0 ue ce axnkuaa nauo a uuaa.
1oau uauuu aa uuuuanuaaun ue e uuoro yobeu. Cneuu1e euuuuu ca
exauaaneu1uu ua ropuu1e.
cha m|5] = abba
cha n|10] = xy12+
3abennaaaue, ue axo uua cpa| n cuuaona 1pnbaa a ce cape c uacua o1
cuuaonu, uuuuuanua1a nuua ua uacuaa 1pnbaa a be n+1, aa a ce
nobepa1 n-1e cuuaona nnkc cuuaon1 \0.
3aaaaue ua uuaoae 3aaaaue ua uuaoae 3aaaaue ua uuaoae 3aaaaue ua uuaoae
1un1 cha|s1e], xe1o s1e e xouc1au1eu uapaa o1 uu1erpaneu unu
uabpoeu 1un, uoe a be uanonaaau aa aaaaaue ua 1un uua c uaxcuuanua
nuua s1e-1.
hpuuep:
cha|5] uoe a ce uanonaaa aa aaaaaue ua 1un uua c uaxcuuanua
nuua 4.
Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 136 o1 1
Muoec1ao1o o1 c1ouuoc1u ua 1una uua, aaaeu upea cha|s1e], ce
cc1ou o1 acuuxu uuaoae c nuua 0, 1, 2, ..., s1e-1
hpuuepu:
1. Muoec1ao1o o1 c1ouuoc1u ua 1una uua, aaaeu upea cha|5] ce
cc1ou o1 acuuxu uuaoae c nuua 0, 1, 2, 3 u 4.
uuoec1ao o1 c1ouuoc1u
ua 1un uua, aaaeu upea cha|5]
2. Muoec1ao1o o1 c1ouuoc1u ua 1una cha|10] ce cc1ou o1 acuuxu
uuaoae c nuua 0, 1, 2, ..., 9.
uuoec1ao o1 c1ouuoc1u
ua 1un uua, aaaeu upea cha|10]
Lneueu1u1e o1 uuoec1ao1o o1 c1ouuoc1u ua aeu 1un uua ca ueroau1e
xouc1au1u xouc1au1u xouc1au1u xouc1au1u. hanpuuep, a+b=c-a"e e xouc1au1a o1 1un cha|10].
hpoueunuaa aenuuuua, uuoec1ao1o o1 onyc1uuu1e c1ouuoc1u ua xon1o
canaa c uuoec1ao1o o1 c1ouuoc1u ua aeu 1un uua, ce uapuua npoueunuaa
o1 1oau 1un uua. hounxora |e n uapuuaue cauo uua.
4ur. 5 onpeenn euuuun1a ua npoueunuaa o1 1un uua.
<euuuunuanpoueunuaao11unuua> ::=
cha <npoueunuaa>|s1e] |
cha <npoueunuaa>|s1e] = <peuao1cuuaonu>
cha <npoueunuaa>|s1e] = {<peuao1xouc1au1uuuapaau>}|
xe1o
<npoueunuaa> ::= <ueu1uuxa1op>
s1e e xouc1au1eu uapaa o1 uu1erpaneu unu uabpoeu 1un cc nonou1enua
c1ouuoc1
<peuao1xouc1au1uuuapaau> ::= <xouc1au1euuapaa>|
<xouc1au1euuapaa>, <peuao1xouc1au1uuuapaau>
xa1o xouc1au1uu1e uapaau ca o1 1un cha.
<peuao1cuuaonu> ::= <npaauo>| <cuuaon> |
a k1m +} a k1m +} a k1m +} a k1m +}
1234 1234 1234 1234 sa abba 1k sa abba 1k sa abba 1k sa abba 1k
1 asd xcbnmop \n 1 asd xcbnmop \n 1 asd xcbnmop \n 1 asd xcbnmop \n
a+b-c"k^ a+b-c"k^ a+b-c"k^ a+b-c"k^ a+b=? 123+23= a+b=? 123+23= a+b=? 123+23= a+b=? 123+23=
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 137 o1 1
<cuuaon><peuao1cuuaonu>
c uaxcuuanua nuua s1e-1.
4ur. 5.
hpuuepu:
cha s1|5]
cha s2|10] = x+y
cha s3|] = {`1, `2, `3, `\0}
Axo peua1a o1 xouc1au1uu uapaau cpa no-uanxo o1 s1e uapaaa,
uoe a ue aaapmaa cc auaxa aa xpau ua uua. Cuc1eua1a aa1oua1uuuo ro
obaan. A axo cpa 1ouuo s1e xouc1au1uu uapaaa, aanu1enuo 1pnbaa
a aaapmaa cc auaxa aa xpau ua uua \0, unu cauo 0.
hpu euuuun ua uua c uuuuanuaaun e aauouo s1e a ce nponycue.
1oraaa uuuuanuaaun1a 1pnbaa a cpa cuuaona `\0 u aa c1ouuoc1 ua
s1e ce nopaabupa bpon1 ua xouc1au1uu1e uapaau, uabpoeuu npu
uuuuanuaaun1a, axnkuu1enuo `\0. Axo s1e e yxaaauo u uabpoeuu1e
xouc1au1uu uapaau a uuuuanuaaun1a ca no-uanxo o1 s1e, oc1auanu1e ce
uuuuanuaupa1 c `\0.
hpuuepu:
euuuun1a
cha |5] = {`a, `b}
e exauaaneu1ua ua
cha |5] = {`a, `b, `\0, `\0, `\0}
u ua
cha |5] = ab
a
cha |] = {`a, `b, `\0} unu
cha |] = ab
ca exauaaneu1uu ua
cha |3] = {`a, `b, `\0} unu
cha |3] = ab
3abenexa: 3abenexa: 3abenexa: 3abenexa: he ca aauouu xouc1pyxuu o1 aua:
cha |5]
= {`a, `, `s} unu
cha |5]
= as
1.e. ua npoueunuaa o1 1un uua ue uoe a be npucaonaaua xouc1au1a o1 ua npoueunuaa o1 1un uua ue uoe a be npucaonaaua xouc1au1a o1 ua npoueunuaa o1 1un uua ue uoe a be npucaonaaua xouc1au1a o1 ua npoueunuaa o1 1un uua ue uoe a be npucaonaaua xouc1au1a o1
1un uua. 1un uua. 1un uua. 1un uua.
heonyc1uuu ca c|o euuuuu o1 aua:
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 13 o1 1
cha |4] = {`a, `s, `d, `, `g, `h} unu
cha |]
huuuanuaaun1a e euu uauuu aa capaaaue ua npoueunuaa o1 1un uua c
xouxpe1ua xouc1au1a o1 uuoec1ao1o o1 c1ouuoc1u ua 1oau 1un uua. pyr
uauuu npeoc1aan1 uuexcupauu1e npoueunuau.
hpuuepu:
|0] = `a |1] = `s |2] = `d
euuuun1a ua npoueunuaa o1 1un uua ue cauo capaaa npoueunuaa1a c
uuoec1ao1o o1 c1ouuoc1u ua yxaaauun 1un, uo u o1enn onpeeneuo
xonuuec1ao naue1 {obuxuoaeuo 48}, a xon1o aanucaa apeca ua npaa1a
uuexcupaua npoueunuaa, capaaua c npoueunuaa1a o1 1un uua. Oc1auanu1e
uuexcupauu npoueunuau ce paanonara1 nocneoaa1enuo cne npaa1a. 3a
acnxa uuexcupaua npoueunuaa ce o1enn no 18 Oh. Cpauue1o ua
o1eneua1a aa uuexcupauu1e npoueunuau naue1 e ueonpeeneuo ocaeu axo ue
e aaaeua euuuun c uuuuanuaaun. 1oraaa a xne1xu1e ce aanucaa1
uuuuanuaupa|u1e c1ouuoc1u, onnueuu cc auaxa aa xpau ua uua.
hpuuep: Cne euuuun1a
cha s|4]
cha |10] = abba
paanpeeneuue1o ua naue11a uua aua:
Oh
s s|0] s|1] s|2] s|3]
- - - -
|0] |1] |2] |3] |4] |5] ...|9] .
97 99 97 0 0 0
Onepauu u arpaeuu yuxuu
8aeaue ua c1ouuoc1 8aeaue ua c1ouuoc1 8aeaue ua c1ouuoc1 8aeaue ua c1ouuoc1
Peanuaupa ce no c1auap1uun uauuu - upea onepa1opa c1n.
hpuuep:
cha s|5], f|3]
c1n >> s >> f
hac1naa nayaa a ouaxaaue a ce aaea1 aa uuaa c nuua ue no- ue no- ue no- ue no-
ronnua ronnua ronnua ronnua o1 4 a npaun u ue no-ronnua o1 2 aa a1opun cnyuau. 8oe|u1e
uu1epaanu, 1abynauu u npeuuuaaaue ua uoa pe ce npeuebperaa1. 3a
paaenu1en ua uuaoae1e ce uanonaaa1 uu1epaan1, 1abynauu1e u auaxa aa
npeuuuaaaue ua uoa pe. 3uax1 aa xpau ua uua aa1oua1uuuo ce obaan a
xpan ua acnxa o1 aaeeuu1e auaxoau xoubuuauu. hpu aaeaue ua uuaoae1e
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 139 o1 1
ue ce uaapmaa npoaepxa aa oc1uraue ua yxaaaua1a ropua rpauua. 1oaa
uoe a oaee o 1pyuoo1xpuaaeuu rpemxu.
haaeaue haaeaue haaeaue haaeaue ua uua ua uua ua uua ua uua
Peanuaupa ce c|o no c1auapuun uauuu.
hpuuep:
Onepa1op1
couf << s
uaaea uuaa, xou1o e c1ouuoc1 ua s. he e uyuo a ce rpuuu aa nuua1a
uy. 3uax1 aa xpau ua uua ueu1uuupa xpan ua uy.
nuua ua uua nuua ua uua nuua ua uua nuua ua uua
hauupa ce upea yuxun1a sf1en.
Cuu1axcuc
sf1en{<sf>}
xe1o
<sf> e npouaaoneu uua.
Ceuau1uxa
hauupa nuua1a ua <sf>.
hpuuep:
sf1en{abc} uauupa 3, sf1en{} uauupa 0.
3a uanonaaaue ua 1aau yuxun e ueobxouuo a ce axnkuu aarnaauun1
aun sf1ng.h.
Kouxa1euaun ua uuaoae Kouxa1euaun ua uuaoae Kouxa1euaun ua uuaoae Kouxa1euaun ua uuaoae
Peanuaupa ce upea yuxun1a sfcaf.
Cuu1axcuc
sfcaf{<asf>, <sf>}
xe1o
<asf> e npoueunuaa o1 1un uua, a
<sf> e uua {xouc1au1a, npoueunuaa unu no-ob|o uapaa}.
Ceuau1uxa
Kouxa1euupa uuaa, xou1o e c1ouuoc1 ua <asf> c uuaa <sf>.
Peayn1a11 o1 xouxa1euaun1a ce ap|a o1 yuxun1a, a c|o ce cpa a
npoueunuaa1a <asf>. 3a uanonaaaue ua 1aau yuxun e ueobxouuo a ce
axnkuu aarnaauun1 aun sf1ng.h.
hpuuep:
#1nc1ude <1osfeam.h>
#1nc1ude <sf1ng.h>
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 140 o1 1
1nf ma1n{}
{cha a|10]
couf << "a= "
c1n >> a // aaeaue ua c1ouuoc1 ua a
cha b|4]
couf << "b= "
c1n >> b // aaeaue ua c1ouuoc1 ua b
sfcaf{a, b} // xouxa1euupaue ua a u b, peayn1a11 e a a
couf << a << `\n // uaaeaue ua a
couf << sf1en{sfcaf{a, b}} << \n //noa1opua xouxa1euaun
efun 0
}
3abenexa: 4yuxun1a sfcaf uoe a ce uanonaaa u xa1o onepa1op, u
xa1o uapaa.
Cpaaunaaue ua uuaoae Cpaaunaaue ua uuaoae Cpaaunaaue ua uuaoae Cpaaunaaue ua uuaoae
Peanuaupa ce upea yuxun1a sfcmp.
Cuu1axcuc
sfcmp{<sf1>, <sf2>}
xe1o
<sf1> u <sf2> ca uuaoae {xouc1au1u, npoueunuau unu no-ob|o uapaau}.
Ceuau1uxa
huaoae1e <sf1> u <sf2> ce cpaaunaa1 nexcuxorpacxu. 4yuxun1a sfcmp
e enouucneua. Peayn1a11 o1 obp|euue xu uen e nno uucno c o1pua1enua
c1ouuoc1 {-1 aa peanuaaun1a v1sua1 C++ 6.0}, axo <sf1> e no-uanx o1
<sf2>, 0 - axo <sf1> e paaeu ua <sf2> u c nonou1enua c1ouuoc1 {1 aa
peanuaaun1a v1sua1 C++ 6.0}, axo <sf1> e no-ronnu o1 <sf2>.
3a uanonaaaue ua sfcmp e ueobxouuo a ce axnkuu aarnaauun1 aun
sf1ng.h.
hpuuepu:
1. cha a|10] = efy, b|15] = efy
1 {!sfcmp{a, b}} couf << yes \n e1se couf << no \n
uaaea yes, 1u xa1o sfcpm{a, b} ap|a 0 {uuaoae1e ca paauu},
!sfcmp{a, b} e 1 {fue}.
2. cha a|10] = e, b|15] = efy
1 {sfcmp{a, b}} couf << yes \n e1se couf << no \n
uaaea yes, 1u xa1o sfcpm{a, b} ap|a -1 {a e no-uanx o1 b}.
3. cha a|10] = efy, b|15] = e
1 {sfcmp{a, b}} couf << yes \n e1se couf << no \n
uaaea yes, 1u xa1o sfcpm{a, b} ap|a 1 {a e no-ronnu o1 b}.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 141 o1 1
Konupaue ua uua Konupaue ua uua Konupaue ua uua Konupaue ua uua
Peanuaupa ce upea yuxun1a sfcpy.
Cuu1axcuc
sfcpy{<asf>, <sf>}
xe1o
<asf> e npoueunuaa o1 1un uua, a
<sf> e uua {xouc1au1a, npoueunuaa unu no-ob|o uapaa}.
Ceuau1uxa
Konupa <sf1> a <asf>. Axo <sf1> e no-nr o1 onyc1uua1a aa
<a1sf> nuua, ca aauouu 1pyuoo1xpuaaeuu rpemxu. Peayn1a11 o1
xonupaue1o ce ap|a o1 yuxun1a, a c|o ce cpa a <asf>.
3a uanonaaaue ua 1aau yuxun e ueobxouuo a ce axnkuu aarnaauun1
aun sf1ng.h.
hpuuep: hporpauuun1 parueu1
cha a|10]
sfcpy{a, "1234567"}
couf << a << "\n"
uaaea
1234567
1pceue ua uua a pyr uua 1pceue ua uua a pyr uua 1pceue ua uua a pyr uua 1pceue ua uua a pyr uua
Peanuaupa ce upea yuxun1a sfsf.
Cuu1axcuc
sfsf{<sf1>, <sf2>}
xe1o
<sf1> u <sf2> ca npouaaonuu uuaoae {xouc1au1u, npoueunuau unu no-
ob|o uapaau}.
Ceuau1uxa
1pcu <sf2> a <sf1>. Axo <sf2> ce cpa a <sf1>, sfsf ap|a
nouuaa ua <sf1> aanouaa| o1 npao1o cpe|aue ua <sf2> o xpan ua
<sf1>. Axo <sf2> ue ce cpa a <sf1>, sfsf ap|a uynea yxaaa1en.
hocneuo1o oauauaaa, ue a noauun ua ycnoaue, yuxuouanuo1o obp|euue |e
uua c1ouuoc1 a1se, uo npu onu1 aa uaaeaue, |e npeuaauxaa rpemxa.
3a uanonaaaue ua 1aau yuxun e ueobxouuo a ce axnkuu aarnaauun1
aun sf1ng.h.
hpuuepu: hporpauuun1 parueu1
cha sf1|15] = "asemadaemada", sf2|10]= "ema"
couf << sfsf{sf1, sf2} << "\n"
uaaea
emadaemada
a
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 142 o1 1
cha sf1|15] = "asemadaemada", sf2|10]= "ema"
couf << sfsf{sf2, sf1} << "\n"
npeuaauxaa cob|euue aa rpemxa no apeue ua uannueuue.
hpeobpaayaaue ua uua a nno uucno hpeobpaayaaue ua uua a nno uucno hpeobpaayaaue ua uua a nno uucno hpeobpaayaaue ua uua a nno uucno
Peanuaupa ce upea yuxun1a afo1.
Cuu1axcuc
afo1{<sf>}
xe1o <sf> e npouaaoneu uua {xouc1au1a, npoueunuaa unu no-ob|o uapaa o1
1un uua}.
Ceuau1uxa
hpeobpaayaa cuuaonuun uua a uucno o1 1un 1nf. 8oe|u1e uu1epaanu,
1abynauu u auaxa aa npeuuuaaaue ua uoa pe ce npeuebperaa1. Cuuaonuun1
uua ce cxauupa o npaun cuuaon paanuueu o1 upa. Axo uua1 aanouaa cc
cuuaon paanuueu o1 upa u auax, yuxun1a ap|a 0.
3a uanonaaaue ua 1aau yuxun e ueobxouuo a ce axnkuu aarnaauun1 aun
sfd11b.h.
hpuuepu:
hporpauuun1 parueu1
cha s|15] = "-123a45"
couf << afo1{s} << "\n"
uaaea -123, a
cha s|15] = "b123a45"
couf << afo1{s} << "\n"
uaaea 0.
hpeobpaayaaue ua uua a peanuo uucno hpeobpaayaaue ua uua a peanuo uucno hpeobpaayaaue ua uua a peanuo uucno hpeobpaayaaue ua uua a peanuo uucno
Peanuaupa ce upea yuxun1a afo.
Cuu1axcuc
afo{<sf>}
xe1o <sf> e npouaaoneu uua {xouc1au1a, npoueunuaa unu no-ob|o uapaa o1
1un uua}.
Ceuau1uxa
hpeobpaayaa cuuaonuun uua a uucno o1 1un doub1e. 8oe|u1e uu1epaanu,
1abynauu u auaxa aa npeuuuaaaue ua uoa pe ce npeuebperaa1. Cuuaonuun1
uua ce cxauupa o npaun cuuaon paanuueu o1 upa. Axo uua1 aanouaa cc
cuuaon paanuueu o1 upa, auax unu 1ouxa, yuxun1a ap|a 0.
3a uanonaaaue ua 1aau yuxun e ueobxouuo a ce axnkuu aarnaauun1
aun sfd11b.h.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 143 o1 1
hpuuepu:
hporpauuun1 parueu1
cha s|15] = "-123.35a45"
couf << afo{sf} << "\n"
uaaea -123.35, a
cha sf|15] = ".123.34c35a45"
couf << afo{sf} << "\n"
uaaea 0.123.
onnueuue: onnueuue: onnueuue: onnueuue:
Kouxa1euaun ua n cuuaona Kouxa1euaun ua n cuuaona Kouxa1euaun ua n cuuaona Kouxa1euaun ua n cuuaona o1 uua c pyr uua o1 uua c pyr uua o1 uua c pyr uua o1 uua c pyr uua
Peanuaupa ce upea yuxun1a sfncaf.
Cuu1axcuc
sfncaf{<asf>, <sf>, n}
xe1o
<asf> e npoueunuaa o1 1un uua,
<sf> e uua {xouc1au1a, npoueunuaa unu no-ob|o uapaa}, a
n e nn uapaa c ueo1pua1enua c1ouuoc1.
Ceuau1uxa
Konupa npau1e n cuuaona o1 <sf> a xpan ua uuaa, xou1o e c1ouuoc1 ua
<asf>. Konupaue1o aaapmaa xora1o ca npexapneuu n cuuaona, unu e
oc1urua1 xpan1 ua <sf>. Peayn1a11 e a npoueunuaa1a <asf>. 3a
uanonaaaue ua 1aau yuxun e ueobxouuo a ce axnkuu aarnaauun1 aun
sf1ng.h.
hpuuep: Peayn1a11 o1 uannueuue1o ua parueu1a:
chaf a|10] = aaaaa
sfncaf{a, efyefy, 5}
couf << a
e
aaaaaef
a ua
sfncaf{a, efyefy, -5}
couf << a
npeuaauxaa cob|euue aa rpemxa.
Konupaue ua n cuuaona a cuuaoneu uua Konupaue ua n cuuaona a cuuaoneu uua Konupaue ua n cuuaona a cuuaoneu uua Konupaue ua n cuuaona a cuuaoneu uua
Peanuaupa ce upea yuxun1a sfncpy.
Cuu1axcuc
sfncpy{<asf>, <sf>, n}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 144 o1 1
xe1o
<asf> e npoueunuaa o1 1un uua,
<sf> e uua {xouc1au1a, npoueunuaa unu no-ob|o uapaa}, a
n e nn uapaa c ueo1pua1enua c1ouuoc1.
Ceuau1uxa
Konupa npau1e n cuuaona ua <sf1> a <asf>. Axo <sf> uua no-uanxo
o1 n cuuaona, `\0 ce xonupa o 1oraaa oxa1o ue ce aanuma1 n cuuaona.
hapaue1p1 <asf> 1pnbaa a e o1 aua cha|n] u cpa peayn1a1uun
uua. 3a uanonaaaue ua 1aau yuxun e ueobxouuo a ce axnkuu aarnaauun1
aun sf1ng.h.
hpuuepu: 1. hporpauuun1 parueu1
cha a|10]
sfncpy{a, "1234567", }
couf << a << "\n"
uaaea
1234567
hannunaa ce no cneuun uauuu: 1u xa1o nuua1a ua uuaa 1234567 e no-
uanxa o1 , onnaa ce c euu auax `\0 u ce capaaa c npoueunuaa1a a.
2. hporpauuun1 parueu1
cha a|10]
sfncpy{a, "12345679", 5}
couf << a << "\n"
uaaea
12345<ueonpeeneuo>
hannunaa ce no cneuun uauuu: 1u xa1o nuua1a ua uuaa 12345679 e
no-ronnua o1 5, uua1 12345 ce capaaa c npoueunuaa1a a, uo ue c1aaa
onnaaue c `\0, xoe1o nuuu no peayn1a1a.
Cpaaunaaue ua Cpaaunaaue ua Cpaaunaaue ua Cpaaunaaue ua n cuuaona ua n cuuaona ua n cuuaona ua n cuuaona ua uuaoae uuaoae uuaoae uuaoae
Peanuaupa ce upea yuxun1a sfncmp.
Cuu1axcuc
sfncmp{<sf1>, <sf2>, n}
xe1o
<sf1> u <sf2> ca uuaoae {xouc1au1u, npoueunuau unu no-ob|o uapaau},
a
n e nn uapaa c ueo1pua1enua c1ouuoc1.
Ceuau1uxa
Cpaaunaa npau1e n cuuaona ua <sf1> cc cuuaonu1e o1 co1ae1ua1a
noauun ua <sf2>. Cpaaueuue1o nponaaa o uauupaue ua aa paanuuuu
cuuaona unu o xpan ua euu o1 cuuaonuu1e uuaoae.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 145 o1 1
Peayn1a11 o1 yuxun1a sfncmp e nno uucno c o1pua1enua c1ouuoc1,
axo <sf1> e no-uanx o1 <sf2>, 0 - axo <sf1> e paaeu ua <sf2> u c
nonou1enua c1ouuoc1, axo <sf1> e no-ronnu o1 <sf2>.
3a uanonaaaue ua sfncmp e ueobxouuo a ce axnkuu aarnaauun1 aun
sf1ng.h.
hpuuepu:
1. cha a|10] = e, b|15] = efy
1 {!sfncmp{a, b, 3}} couf << yes \n
e1se couf << no \n
uaaea yes, 1u xa1o sfncpm{a, b} ap|a 0 {uuaoae1e ca paauu},
!sfncmp{a, b} e 1 {fue}.
2. cha a|10] = e, b|15] = efy
1 {sfncmp{a, b, 5}} couf << yes \n
e1se couf << no \n
uaaea yes, 1u xa1o sfncpm{a, b} ap|a -1 {a e no-uanx o1 b}.
3. cha a|10] = efy, b|15] = e
1 {sfncmp{a, b, 5}} couf << yes \n
e1se couf << no \n
uaaea yes, 1u xa1o sfncpm{a, b} ap|a 1 {a e no-ronnu o1 b}.
1pceue ua cuuaon a uua 1pceue ua cuuaon a uua 1pceue ua cuuaon a uua 1pceue ua cuuaon a uua
Peanuaupa ce upea yuxun1a sfch, cpa|a ce a sf1ng.h.
Cuu1axcuc
sfch{<sf>, <exp>}
xe1o
<sf> e npouaaoneu uua, a
<exp> e uapaa o1 uu1erpaneu unu uabpoeu 1un c nonou1enua c1ouuoc1,
oauauaaa|a A5C xo ua cuuaon.
Ceuau1uxa
1pcu npao1o cpe|aue ua cuuaona, uuu1o A5C xo e paaeu ua
c1ouuoc11a ua <exp>. Axo cuuaon1 ce cpe|a, yuxun1a ap|a nouuaa ua
<sf> aanouaa| o1 npao1o cpe|aue ua cuuaona u nponaaa| o xpan uy.
Axo cuuaon1 ue ce cpe|a - ap|a uynea yxaaa1en. uynea yxaaa1en.
hocneuo1o oauauaaa, ue a noauun ua ycnoaue, yuxuounnuo1o obp|euue |e
uua c1ouuoc1 a1se, uo npu onu1 aa uaaeaue, |e npeuaauxa rpemxa.
hpuuepu: Onepa1op1
couf << sfch{efy, `e}
uaaea
efy
Onepa1op1
couf << sfch{efy, `p}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 146 o1 1
uaaea cob|euue aa rpemxa, a
1 {sfch{efy, `p}} couf << yes \n e1se couf << no \n
uaaea no, 1u xa1o `p ue ce cpe|a a uuaa efy.
1pceue ua npaa1a paanuxa 1pceue ua npaa1a paanuxa 1pceue ua npaa1a paanuxa 1pceue ua npaa1a paanuxa
Peanuaupa ce upea yuxun1a sfspn.
Cuu1axcuc
sfspn{<sf1>, <sf2>}
xe1o
<sf1> u <sf2> ca npouaaonuu uuaoae {xouc1au1u, npoueunuau unu no-
ob|o uapaau}.
Ceuau1uxa
hpoaepnaa o xon noauun <sf1> u <sf2> canaa1. 8p|a nuua1a ua
npeuxca o npaun paanuueu cuuaon. 3a uanonaaaue ua 1aau yuxun e
ueobxouuo a ce axnkuu aarnaauun1 aun sf1ng.h.
hpuuep: hporpauuun1 parueu1
cha a|10]= "asdnd", b|15] = "asdsddh"
couf << sfspn{a, b} << "\n"
uaaea 3 1u xa1o npaun1 cuuaon, no xou1o ce paanuuaaa1 a u b e a
noauun 4.
3aauu 3aauu 3aauu 3aauu
3aaua 1. 3aaua 1. 3aaua 1. 3aaua 1. a ce uanume nporpaua, xon1o uauupa cxanapuo1o npouaaeeuue
ua peanuu1e aex1opu a = {a
0
, a
1
, ..., a
n-1
} u b = {b
0
, b
1
,..., b
n-1
}, {1 n
50}.
3aaua 2. 3aaua 2. 3aaua 2. 3aaua 2. a ce uanume nporpaua, xon1o aaea n cuuaona u uauupa u
uaaea uuuuuanuun {uaxcuuanuun} o1 1nx.
3aaua 3aaua 3aaua 3aaua 3 33 3. .. . a ce uanume nporpaua, xon1o:
a} aaea peua1a o1 n enu uucna a
0
, a
1
, ..., a
n-1
,
b} uauupa u uaaea cyua1a ua 1eau eneueu1u ua peua1a, xou1o ce
nanaa1 yaoeuu ueue1uu uucna.
3aaua 3aaua 3aaua 3aaua 4 44 4. .. . a ce uanume nporpaua, xon1o uauupa u uaaea cyua1a o1
nonou1enuu1e u bpon ua o1pua1enuu1e eneueu1u ua peua1a o1 peanuu
uucna a
0
, a
1
, ..., a
n-1
{1 n 30}.
3aaua 3aaua 3aaua 3aaua 5 55 5. .. . a ce uanume nporpaua, xon1o uauucnnaa peunpouuo1o uucno
ua npouaaeeuue1o ua 1eau eneueu1u ua peua1a a
0
, a
1
, ..., a
n-1
{1 n
50}, aa xou1o e a cuna penaun1a 2 < a1 < 1!.
3aaua 3aaua 3aaua 3aaua 6 66 6. .. . a ce uanume nporpaua, xon1o uancunaa, uua nu a peua1a o1
enu uucna a
0
, a
1
, ..., a
n-1
{1 n 100} aa nocneoaa1enuu uyneau
eneueu1a.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 147 o1 1
3aaua 3aaua 3aaua 3aaua 7 77 7. .. . aeuu ca cop1upauu1e aa aaxon| pe uucnoau peuu a
0
,
a
1
, ..., a
k-1
u b
0
, b
1
, ..., b
k-1
{1 k 40}. a ce uanume nporpaua, xon1o
uauupa bpon ua paaeuc1aa1a o1 aua a
1
= b

{1 = 0, ..., k-1, = 0, ...,


k-1}.
3aaua . 3aaua . 3aaua . 3aaua . aeuu ca ae peuu o1 uucna. a ce uanume nporpaua, xon1o
onpeenn xonxo n1u npaa1a peua ce cpa aa a1opa1a.
3aaua 9. 3aaua 9. 3aaua 9. 3aaua 9. 8cnxa peua o1 paauu uucna a euouepeu cop1upau uacua, ce
uapuua nno|axa. a ce uanume nporpaua, xon1o uauupa uauano1o u nuua1a
ua uau-nra1a nno|axa a aeu cop1upau aa aaxon| pe euouepeu
uacua.
3aaua 10. 3aaua 10. 3aaua 10. 3aaua 10. a ce uanume nporpaua, xon1o no aeua uucnoaa peua a
0
,
a
1
, ..., a
n-1
{1 n 20} uauupa nuua1a ua uaxcuuanua1a u ueuauannaa|a
nopeua a
11
, a
12
, ..., a
1x
{a
11
<= a
12
<= ... <= a
1x
, 11 < 12 < ... < 1x}.
3aaua 11. 3aaua 11. 3aaua 11. 3aaua 11. aeua e peua1a o1 cuuaonu s
0
, s
1
, ..., s
n-1
{1 n 15}.
a ce uanume nporpaua, xon1o uaaea o1uauano acuuxu cuuaonu, xou1o
uaobpaanaa1 upu, cne 1oaa acuuxu cuuaonu, xou1o uaobpaanaa1 uanxu
na1uucxu byxau u uaxpan acuuxu oc1auanu cuuaonu o1 peua1a, aanaaaauxu
pea uu a peua1a.
3aaua 12. 3aaua 12. 3aaua 12. 3aaua 12. aeuu ca ae enu uucna, npec1aaeuu c uacuau o1 cuuaonu.
a ce uanume nporpaua, xon1o yc1auoanaa anu npao1o o1 ae1e uucna e no-
ronnuo o1 a1opo1o.
3aaua 1 3aaua 1 3aaua 1 3aaua 13 33 3. .. . a ce uanume nporpaua, xon1o onpeenn anu peua1a o1
cuuaonu s
0
, s
1
, ..., s
n-1
{1 n 45} e cuue1puuua, 1.e. ue1eua o1nnao
uancuo u o1ncuo uannao e eua u c|a.
3aaua 1 3aaua 1 3aaua 1 3aaua 14 44 4. .. . aeua e peua1a o1 ec1ec1aeuu uucna a
0
, a
1
, ..., a
n-1
{1
n 30}. a ce uanume nporpaua, xon1o yc1auoanaa uua nu cpe eneueu1u1e
ua peua1a ue no-uanxo o1 aa eneueu1a, xou1o ca c1eneuu ua 2.
3aaua 1 3aaua 1 3aaua 1 3aaua 15 55 5. .. . aeuu ca nonuuouu1e Pn{x} u m{x}. a ce uanume nporpaua,
xon1o uauupa:
a} cyua1a uu
b} npouaaeeuue1o uu.
3aaua 3aaua 3aaua 3aaua 16 16 16 16. .. . 3a aex1opu1e a = {a
0
, a
1
, ..., a
n-1
} u b = {b
0
, b
1
, ..., b
n-1
}
{1 n 20}, a ce onpeenu anu ca nuueuuo aaaucuuu.
3aaua 17. 3aaua 17. 3aaua 17. 3aaua 17. aeua e xaapa1ua enouucneua ua1pua A c paauepuoc1 nxn,
eneueu1u1e ua xon1o ca ec1ec1aeuu uucna. a ce uanume nporpaua, xon1o
uauupa:
a} cyua1a o1 eneueu1u1e no rnaauun uarouan, xou1o ca npoc1u uucna
b} npouaaeeuue1o o1 eneueu1u1e ua rnaauun uarouan, a aanuca ua
upu1e ua xou1o ce cpe|a upa1a 5
a} uouepa ua npaun ueo1pua1eneu eneueu1 apxy rnaauun uarouan.
3aaua 3aaua 3aaua 3aaua 1 1 1 1. .. . aeua e xaapa1ua1a peanua ua1pua A c paauepuoc1 nxn. a
ce uanume nporpaua, xon1o uauupa:
a} cyua1a o1 eneueu1u1e apxy a1opuuuun rnaaeu uarouan
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 14 o1 1
b} npouaaeeuue1o o1 eneueu1u1e no {ua} a1opuuuun rnaaeu uarouan.
3aaua 3aaua 3aaua 3aaua 19 19 19 19. .. . aeua e peanua npaaornua ua1pua A c paauepuoc1 nxm. a
ce uanume nporpaua, xon1o ua1puaa k-1u pe {c1nb} ua A. ha1puaaue1o
oauauaaa a ce npeuec1n1 peoae1e {c1nboae1e} c euu uarope {uannao} u
uauannaaue bpon ua peoae1e {c1nboae1e} c euu.
3aaua 20. 3aaua 20. 3aaua 20. 3aaua 20. 8pxy paauuua ca aeuu n 1ouxu upea ua1pua1a
1axa, ue {x
0,1
, x
1,1
} ca xoopuua1u1e ua 1-1a1a 1ouxa. 1ouxu1e no aouxu ca
ceuueuu c o1ceuxu. a ce uanume nporpaua, xon1o uauupa nuua1a ua
uau-nra1a o1ceuxa.
3aaua 21. 3aaua 21. 3aaua 21. 3aaua 21. aeua e ua1pua1a o1 enu uucna
a ce uanume nporpaua, xon1o uauupa cyua1a ua 1eau eneueu1u a
1,1
, {0 1
n-1}, aa xou1o a
0,1
uua1 c1ouuoc11a ua uau-ronnuo1o cpe eneueu1u1e o1
npaun pe ua ua1pua1a.
3aaua 2 3aaua 2 3aaua 2 3aaua 22 22 2. .. . aeuo e uuoec1ao1o o1 aouxu
= {<x
0
, y
0
>, <x
1
, y
1
>, ..., <x
n-1
, y
n-1
>},
xa1o x
1
u y
1
{0 1 n-1} ca enu uucna. a ce uanume nporpaua, xon1o
npoaepnaa anu uuoec1ao1o euuupa yuxun.
xn1aaue: Muoec1ao1o euuupa yuxun, axo o1 x
1
= x

cneaa y
1
=
y

.
3aaua 23. 3aaua 23. 3aaua 23. 3aaua 23. a ce uanuma1 nporpauu, xon1o xouc1pyupa1 ua1puu1e:
3aaua 3aaua 3aaua 3aaua 24 24 24 24. .. . aeua e enouucneua1a xaapa1ua ua1pua A o1 n-1u pe. a
ce uanume nporpaua, xon1o uauupa uaxcuuanuo1o o1 npoc1u1e uucna ua A.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 149 o1 1
3aaua 3aaua 3aaua 3aaua 25 25 25 25. .. . Kaaaaue, ue aa c1nba ua eua ua1pua cu npunuua1, axo
canaa1 uuoec1aa1a o1 uucna1a, cc1aan|u c1nboae1e. a ce uanume
nporpaua, xon1o uauupa uouepa1a ua acuuxu c1nboae ua ua1pua1a Anxm,
xou1o cu npunuua1.
3aaua 26. 3aaua 26. 3aaua 26. 3aaua 26. Ma1pua1a A uua cenoaa 1ouxa a a|1, ], axo a|1, ] e
uuuuuaneu eneueu1 a 1-n pe u uaxcuuaneu eneueu1 a -n c1nb ua A. a
ce uanume nporpaua, xon1o uauupa acuuxu cenoau 1ouxu ua aeua ua1pua
A.
3aaua 3aaua 3aaua 3aaua 27 27 27 27. .. . Ma1pua1a A uua cenoaa 1ouxa a a|1, ], axo a|1, ] e
uuuuuaneu eneueu1 a 1-n pe u uaxcuuaneu eneueu1 a -n c1nb ua A. a ce
uanume nporpaua, xon1o yc1auoanaa anu c|ec1ayaa cenoaa 1ouxa a aeua
ua1pua A.
3aaua 3aaua 3aaua 3aaua 2 2 2 2. .. . aeua e xaapa1ua ua1pua A o1 n-1u pe. a ce uanume
nporpaua, xon1o yc1auoanaa anu c|ec1ayaa k {0 k n-1}, 1axa ue k-n
c1nb ua A a canaa c k-n u pe.
3aaua 3aaua 3aaua 3aaua 29 29 29 29. .. . aeua e peanua1a xaapa1ua ua1pua Anxn. a ce uanume
nporpaua, xon1o uauupa:
a} max { m1n {a1}} a} m1n{ max {a1}}
01n-1 0n-1 01n-1 0n-1
b} max{ m1n {a1}} r} m1n{ max {a1}}
0n-1 01n-1 0n-1 01n-1
3aaua 30. 3aaua 30. 3aaua 30. 3aaua 30. aeua e xaapa1ua1a ua1pua Anxn {2 n 10}. a ce
uanume nporpaua, xon1o onpeenn nanaa nu ce A op1ouopuupaua, 1.e. 1axaaa,
ue cxanapuo1o npouaaeeuue ua acexu aa paanuuuu pea ua A e paauo ua 0,
a cxanapuo1o npouaaeeuue ua acexu pe ua cebe cu e paauo ua 1?
3aaua 3 3aaua 3 3aaua 3 3aaua 31 11 1. .. . a ce uanume nporpaua, xon1o onpeenn nanaa nu ce
xaapa1ua1a ua1pua Anxn uaruuecxu xaapa1, 1.e. 1axaaa, ue cyua1a o1
eneueu1u1e o1 acuuxu peoae u c1nboae e euaxaa.
3aaua 3aaua 3aaua 3aaua 32 32 32 32. .. . aeua e cuc1eua o1 nuueuuu ypaaueuun o1 n-1u pe. a ce
uanume nporpaua, xon1o n pemaaa.
3aaua 3aaua 3aaua 3aaua 33 33 33 33. .. . C 1pouxa1a {1, , } ce npec1aan eneueu1a o1 1-n pe u
-n c1nb ua ua1pua. ae ua1puu c paauepuoc1 nxn ca npec1aaeuu xa1o
peuu o1 1pouxu. 1pouxu1e ca nopeeuu no peoae. Axo 1pouxa1a {1, , }
o1cc1aa, npueua ce, ue = 0. a ce uanume nporpaua, xon1o cbupa
ua1puu1e u npec1aan peayn1a1a xa1o peua o1 1pouxu.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 150 o1 1
1unoae yxaaa1en u nceaouuu 1unoae yxaaa1en u nceaouuu 1unoae yxaaa1en u nceaouuu 1unoae yxaaa1en u nceaouuu
1. 1. 1. 1. 1un yxaaa1en 1un yxaaa1en 1un yxaaa1en 1un yxaaa1en
hpoueunuaa, 1oaa e unc1o aa cxpaueuue ua auuu, xoe1o uoe a cpa
paanuuuu c1ouuoc1u. heu1uuupa ce c aeuo o1 no1pebu1enn uue
{ueu1uuxa1op}. hua cu u 1un. euuupa ce xa1o ce yxaaaa1 aanu1enuo
1un1 u uue1o u. 1un1 onpeenn bpon ua bau1oae1e, a xou1o |e ce
cxpaunaa npoueunuaa1a, a c|o u uuoec1ao1o o1 onepauu1e, xou1o uora1
a ce uannunaa1 ua uen. Ocaeu 1oaa, c npoueunuaa1a e capaaua u
c1ouuoc1 - ueonpeeneua unu xouc1au1a o1 1una, o1 xou1o e 1n. hapuua ce
o|e a1ue a1ue a1ue a1ue. Mnc1o1o a naue11a, a xoe1o e aanucaua a1ue ce uapuua apec uapuua apec uapuua apec uapuua apec
ua npoueunuaa1a ua npoueunuaa1a ua npoueunuaa1a ua npoueunuaa1a unu 1a1ue 1a1ue 1a1ue 1a1ue. ho-1ouuo apec1 e apeca ua npaun bau1 o1
uuoec1ao1o bau1oae, o1eneuu aa npoueunuaa1a.
hpuuep: 4parueu11
1nf 1 = 1024
euuupa npoueunuaa c uue 1 u 1un 1nf. C1ouuoc11a u {a1ue} e 1024. 1
uueuyaa unc1o o1 naue11a {1a1ue} c paauepu 4 bau1a, xa1o 1a1ue e apeca
ua npaun bau1.
hauupaue1o ua apeca ua euuupaua npoueunuaa c1aaa upea yuapuun
npeuxceu ncuoacoua1uaeu onepa1op & {aunepcau}. hpuopu1e11 uy e c|un
xa1o ua yuapuu1e onepa1opu +, -, !, ++, -- u p. 4ur. 1 onucaa onepa1opa.
Cuu1axcuc
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 151 o1 1
&<npoueunuaa>
xe1o <npoueunuaa> e aeue euuupaua npoueunuaa.
Ceuau1uxa
hauupa apeca ua <npoueunuaa>.
4ur. 1.
hpuuep: &1 e apeca ua npoueunuaa1a 1 u uoe a ce uaaee upea
onepa1opa couf << &1
Onepa1op1 & ue uoe a ce npunara apxy xouc1au1u u uapaau, 1.e. &100
u &{1+5} ca ueonyc1uuu obp|euun. he e aauouo c|o npunaraue1o uy u
apxy npoueunuau o1 1un uacua, 1u xa1o 1e uua1 u cuucna ua xouc1au1uu
yxaaa1enu.
Apecu1e uora1 a ce npucaonaa1 ua cneuaneu 1un npoueunuau, uapeueuu
npoueunuau o1 1un yxaaa1en unu cauo yxaaa1enu.
3aaaaue ua 1un yxaaa1en 3aaaaue ua 1un yxaaa1en 3aaaaue ua 1un yxaaa1en 3aaaaue ua 1un yxaaa1en
hexa 1 e uue unu euuuun ua 1un. 3a 1una 1, 1" e 1un, uapeueu
yxaaa1en xu 1. 1 ce uapuua yxaaaau 1un yxaaaau 1un yxaaaau 1un yxaaaau 1un unu 1un ua yxaaa1enn 1un ua yxaaa1enn 1un ua yxaaa1enn 1un ua yxaaa1enn.
hpuuepu:
1nf" e 1un yxaaa1en xu 1nf
enum {a, b, c}" e 1un yxaaa1en xu enum {a, b, c}.
Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u
Cc1ou ce o1 apecu1e ua auuu1e o1 1un 1, euuupauu a nporpaua1a,
npeu uanonaaaue1o ua 1". 1e ca xouc1au1u1e ua 1una 1". Ocaeu 1nx
c|ec1ayaa cneuanua xouc1au1a c uue NLL, uapeueua uynea yxaaa1en uynea yxaaa1en uynea yxaaa1en uynea yxaaa1en. 1n
uoe a be capaaaua c acexu yxaaa1en ueaaaucuuo o1 ueroaun 1un. 1aau
xouc1au1a ce uu1epnpe1upa xa1o couu xu uuxe, a a noauun ua npeuxa1
e a1se.
hpoueunuaa aenuuuua, uuoec1ao1o o1 onyc1uuu1e c1ouuoc1u, ua xon1o
canaa c uuoec1ao1o o1 c1ouuoc1u ua 1una 1", ce uapuua npoueunuaa o1
1un 1" unu npoueunuaa o1 1un yxaaa1en xu 1un 1. euuupa ce no
c1auap1uun uauuu. 4ur. 2 noxaaaa cuu1axcuca ua euuuun ua npoueunuaa
o1 1un yxaaa1en.
euuuun ua npoueunuaa o1 1un yxaaa1en euuuun ua npoueunuaa o1 1un yxaaa1en euuuun ua npoueunuaa o1 1un yxaaa1en euuuun ua npoueunuaa o1 1un yxaaa1en
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 152 o1 1
1" <npoueunuaa> |= <c1ouuoc1>] |
1 "<npoueunuaa> |= <c1ouuoc1>]
xe1o
1 e uue unu euuuun ua 1un
<npoueunuaa> ::= <ueu1uuxa1op>
<c1ouuoc1> e mec1uaece1uuuo nno uucno, npec1aannaa|o apec ua auua
o1 1un 1 unu NLL.
4ur. 2.
1 onpeenn 1una ua auuu1e, xou1o yxaaa1enn1 apecupa, a c|o u uauuua ua
uu1epnpe1aun1a uu.
8auouo e parueu1u1e
<npoueunuaa> |=<c1ouuoc1>] u
"<npoueunuaa>|=<c1ouuoc1>]
a ce noa1apn1. 3a paaenu1en ce uanonaaa aane1an1a. 8 npaun cnyuau
obaue uua ocobeuoc1. euuuun1a
1" a, b
e exauaaneu1ua ua
1" a
1 b
1.e. cauo npoueunuaa1a a e yxaaa1en.
hpuuepu: euuuun1a
1nf "p1nf1, "p1nf2
aaaaa aa yxaaa1enn xu 1un 1nf, a
1nf "p1nf1, p1nf2
- yxaaa1en p1nf1 xu 1nf u npoueunuaa p1nf2 o1 1un 1nf.
euuuun1a ua npoueunuaa o1 1un yxaaa1en npeuaauxaa a Oh a ce
o1enn1 48, a xou1o ce aanucaa unxaxa apec o1 uuoec1ao1o o1 c1ouuoc1u
ua co1ae1uun 1un, axo euuuun1a e c uuuuanuaaun u ueonpeeneuo unu
NLL, axo euuuun1a ue e c uuuuanuaaun. {3a peanuaaun1a v1sua1 C++
6.0 e ueonpeeneuo}. 1oau apec e c1ouuoc11a c1ouuoc11a c1ouuoc11a c1ouuoc11a ua npoueunuaa1a o1 1un
yxaaa1en, a aanucauo1o ua 1oau apec e cpauue1o cpauue1o cpauue1o cpauue1o u.
hpuuep: euuuuu1e
1nf 1 = 12
1nf" p = &1 // p e uuuuanuaupauo c apeca ua 1
doub1e " = NLL // e uuuuanuaupauo c uyneaun yxaa1en
doub1e x = 1.56
doub1e " = &x // e uuuuanuaupauo c apeca ua x
npeuaauxaa1 cneuo1o paanpeeneuue ua naue11a
Oh
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 153 o1 1
1 p x
12 0x00000000 1.56
Cae1: Cae1: Cae1: Cae1: 8cexu yxaaa1en, xou1o ue couu xu xouxpe1eu apec, e obpe a
ce cape c xouc1au1a1a NLL. Axo no ueauuuauue ce onu1a1e a uanonaaa1e
uynea yxaaa1en, nporpaua1a au uoe a uaapmu uapymeuue npu oc1n u a
bnoxupa, uo 1oaa e no-obpe, o1xonxo1o yxaaa1enn1 a couu xu xou auau
xe.
Onepauu u arpaeuu yuxuu Onepauu u arpaeuu yuxuu Onepauu u arpaeuu yuxuu Onepauu u arpaeuu yuxuu
haanuuaue ua cpauue1o ua yxaaa1en haanuuaue ua cpauue1o ua yxaaa1en haanuuaue ua cpauue1o ua yxaaa1en haanuuaue ua cpauue1o ua yxaaa1en
Oc|ec1anaa ce upea npeuxcuun, ncuoacoua1uaeu yuapeu onepa1op "
{4ur. 3}.
Cuu1axcuc
"<npoueunuaao11unyxaaa1en>
Ceuau1uxa
haanuua c1ouuoc11a ua apeca, aanucau a <npoueunuaao11un
yxaaa1en>, 1.e. cpauue1o ua <npoueunuaao11un yxaaa1en>.
4ur. 3.
Ka1o uanonaaaue euuuuu1e o1 npuuepa no-rope, uuaue:
"p e 12 // 12 e cpauue1o ua p
" e 1.56 // 1.56 e cpauue1o ua
Ocaeu, ue uauupa cpauue1o ua npoueunuaa o1 1un yxaaa1en,
obp|euue1o
"<npoueunuaao11unyxaaa1en>
e auua o1 1un 1 {npoueunuaa unu xouc1au1a}. 8cuuxu onepauu, onyc1uuu
aa 1una 1, ca onyc1uuu u aa uen.
Ka1o uanonaaaue euuuuu1e o1 npuuepa no-rope, "p u " ca nna u
peanua npoueunuau, co1ae1uo. Cne uannueuue ua onepa1opu1e aa
npucaonaaue
"p = 20
" = 2.1
c1ouuoc11a ua 1 ce npoueun ua 20, a 1aau ua - ua 2.1.
Apu1ue1uuuu u noruuecxu onepauu Apu1ue1uuuu u noruuecxu onepauu Apu1ue1uuuu u noruuecxu onepauu Apu1ue1uuuu u noruuecxu onepauu
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 154 o1 1
hpoueunuau1e o1 1un yxaaa1en uora1 a yuac1aa1 xa1o onepauu a
cneuu1e apu1ue1uuuu u noruuecxu onepauu +, -, ++, --, ==, !=, >, >=, <
u <=. hannueuue1o ua apu1ue1uuuu onepauu apxy yxaaa1enu e capaauo c
unxou ocobeuoc1u, aapau xoe1o apu1ue1uxa1a c yxaaa1enu ce uapuua o|e
apecua apu1ue1uxa. Ocobeuoc1a ce uapaanaa a 1. uap. ua|abupaue. |e ro
uancuuu upea npuuep.
a paarneaue parueu1a
1nf "p
doub1e "
...
p = p + 1
= + 1
Onepa1op1 p = p + 1 capaaa p ue cc c1ouuoc11a ua p, yaenuueua c 1, a
c p + 1"4, xe1o 4 e bpon ua bau1oae1e, ueobxouuu aa aanucaaue ua
auua o1 1un 1nf {p e yxaaa1en xu 1nf}. Auanoruuuo, = + 1 yaenuuaaa
c1ouuoc11a ua ue c 1, a c , 1u xa1o e yxaaa1en xu doub1e { bau1a
ca ueobxouuu aa aanucaaue ua auua o1 1oau 1un}.
Ob|o1o npaauno e cneuo1o: Axo p e yxaaa1en o1 1un 1", p+1 e cxpa1eu
aanuc ua p + 1"s1eo{1}, xe1o s1eo{1} e yuxun, xon1o uauupa bpon
ua bau1oae1e, ueobxouuu aa aanucaaue ua auua o1 1un 1.
8aeaue 8aeaue 8aeaue 8aeaue
he e aauouo aaeaue ua auuu o1 1un yxaaa1en upea onepa1opa c1n.
Capaaaue1o ua yxaaa1en cc c1ouuoc1 c1aaa upea uuuuanuaaun unu
onepa1opa aa npucaonaaue.
haaeaue haaeaue haaeaue haaeaue
Oc|ec1anaa ce no c1auap1uun uauuu - upea onepa1opa couf.
onnueuue onnueuue onnueuue onnueuue
1un1, xou1o ce aaaaa a euuuun1a ua npoueunuaa o1 1un yxaaa1en, e
uuopuaun aa xoununa1opa o1uocuo uauuua, no xou1o a ce uu1epnpe1upa
cpauue1o ua yxaaa1enn. 8 xou1exc1a ua ropuun npuuep "p ca ue1upu
bau1a, xou1o |e ce uu1epnpe1upa1 xa1o nno uucno o1 1un 1nf. Auanoruuuo,
" ca oceu bau1a, xou1o |e ce uu1epnpe1upa1 xa1o peanuo uucno o1 1un
doub1e.
Cneaa|a1a nporpaua unkc1pupa euuupaue1o u onepauu1e aa pabo1a c
yxaaa1enu.
#1nc1ude <1osfeam.h>
1nf ma1n{}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 155 o1 1
{1nf n = 10 // euuupa u uuuuanuaupa nna npoueunuaa
1nf" pn = &n // euuupa u uuuuanuaupa yxaaa1en pn xu n
// noxaaaa, ue yxaaa1enn1 couu xu n
couf << "n= " << n << " "pn= " << "pn << \n
// noxaaaa, ue apec1 ua n e paaeu ua c1ouuoc11a ua pn
couf << "&n= "<< &n << " pn= " << pn << \n
// uauupaue ua c1ouuoc11a ua n upea pn
1nf m = "pn// == 10
// npounua ua c1ouuoc11a ua n upea pn
"pn = 20
// uaaeaue ua c1ouuoc11a ua n
couf << "n= " << n << \n // n == 20
efun 0
}
8 unxou cnyuau e aaua c1ouuoc11a ua npoueunuaa1a o1 1un yxaaa1en
{apec1}, a ue ueuuo1o cpauue. 1oraaa 1n ce euuupa xa1o yxaaa1en
xu 1un o1d. 1oau 1un yxaaa1enu ca npeaueuu c en eua u c|a
npoueunuaa - yxaaa1en a uoe a paanuuuu uoueu1u a couu xu auuu o1
paanuueu 1un. 8 1oau cnyuau, npu onu1 a ce uanonaaa cpauue1o ua
npoueunuaa1a o1 1un yxaaa1en, |e ce npeuaauxa rpemxa. Cpauue1o ua
npoueunuaa - yxaaa1en xu 1un o1d uoe a ce uaaneue cauo cne
npuaeaue ua 1una ua yxaaa1enn {o1d"} o 1una ua cpauue1o. 1oaa
uoe a ce oc|ec1au upea onepa1opu1e aa npeobpaayaaue ua 1unoae.
hpuuep:
1nf a = 100
o1d" p // euuupa yxaaa1en xu o1d
p = &a // uuuuanuaupa p
couf << "p // rpemxa
couf << "{{1nf"} p} // npeobpaayaa p a yxaaa1en xu 1nf
// u 1oraaa uaanuua cpauue1o uy.
8 C++ e aauouo a ce euuupa1 yxaaa1enu, xou1o ca xouc1au1u, a c|o
u yxaaa1enu, xou1o coua1 xu xouc1au1u. h a aa1a cnyuan ce uanonaaa
aanaaeua1a yua consf, xon1o ce noc1aan npe co1ae1uu1e eneueu1u o1
euuuuu1e ua yxaaa1enu1e. C1ouuoc11a ua eneueu1a, euuupau xa1o consf
{yxaaa1enn unu obex1a, xu xou1o couu} ue uoe a be npoueunua.
hpuuep:
1nf 1, = 5
1nf "p1 // p1 e yxaaa1en xu 1nf
1nf " consf b = &1 // b e xouc1au1eu - yxaaa1en xu 1nf
consf 1nf "c = & // c e yxaaa1en xu nna xouc1au1a.
b = & // rpemxa, b e xouc1au1eu yxaaa1en
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 156 o1 1
"c = 15 // rpemxa, "c e xouc1au1a
2. xxaaa1enu u uacuau 2. xxaaa1enu u uacuau 2. xxaaa1enu u uacuau 2. xxaaa1enu u uacuau
8 C++ uua uu1epecua u noneaua apaxa uey yxaaa1enu1e u uacuau1e. 1n
ce cc1ou a 1oaa, ue uueua1a ua uacuau1e ca yxaaa1enu xu 1exuu1e npau
eneueu1u. 1oaa noaaonnaa yxaaa1enu1e a ce paarnea1 xa1o an1epua1uaeu
uauuu aa obxoaue ua eneueu1u1e ua aeu uacua.
xxaaa1enu u euouepuu uacuau
hexa a e uacua, euuupau no cneuun uauuu:
1nf a|100]
1u xa1o a e yxaaa1en xu a|0], "a e c1ouuoc11a ua a|0], 1.e. "a u a|0]
ca aa paanuuuu aanuca ua c1ouuoc11a ua npaun eneueu1 ua uacuaa. 1u
xa1o eneueu1u1e ua uacuaa ca paanonoeuu nocneoaa1enuo a naue11a, a + 1
e apeca ua a|1], a + 2 e apeca ua a|2] u 1.u. a + n-1 e apeca ua a|n-
1]. 1oraaa "{a+1} e pyr aanuc ua a|1] {1 = 0, 1, ..., n-1}.
hua obaue eua ocobeuoc1. hueua1a ua uacuau1e ca xouc1au1uu yxaaa1enu.
3apau 1oaa, unxou o1 apu1ue1uuuu1e onepauu, npunouuu ua yxaaa1enu, ue
uora1 a ce npunoa1 ua uacuau. 1axuaa ca ++, -- u npucaonaaue1o ua
c1ouuoc1.
Cneaa|a1a nporpaua noxaaaa aa uauuua aa uaaeaue ua eneueu1u1e ua
uacua.
#1nc1ude <1osfeam.h>
1nf ma1n{}
{1nf a|] = {1, 2, 3, 4, 5, 6}
o {1nf 1 = 0 1 <= 5 1++}
couf << a|1] << \n
o {1 = 0 1 <= 5 1++}
couf << "{a+1} << \n
efun 0
}
4parueu11
o {1 = 0 1 <= 5 1++}
{couf << "a << \n
a++
}
cob|aaa aa rpemxa aapau onepa1opa a++ {a e xouc1au1eu yxaaa1en u ue
uoe a be npoueunu}. Moe a ce nonpaau xa1o ce uanonaaa nouo|ua
npoueunuaa o1 1un yxaaa1en xu 1nf, uuuuanuaupaua c uacuaa a, 1.e.
1nf" p = a
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 157 o1 1
o {1 = 0 1 <= 5 1++}
{couf << "p << \n
p++
}
hanonaaaue1o ua yxaaa1enu e no-bpa uauuu aa oc1n o eneueu1u1e ua
uacuaa u aapau 1oaa ce npenouu1a. huexcupauu1e npoueunuau npaan1 xoa
no-nceu u paabupaeu. 8 npoeca ua xoununaun acuuxu xouc1pyxuu o1 aua
a|1] ce npeobpaayaa1 a "{a+1}, 1.e. onepa1op1 aa uuexcupaue |...] ce
obpabo1aa o1 xoununa1opa upea apecua apu1ue1uxa. honeauo e a o1beneuu,
ue onepa1op1 |] e nnaoacoua1uaeu u c no-aucox npuopu1e1 o1 yuapuu1e
onepa1opu {a uac1uoc1 o1 onepa1opa aa uaanuuaue ua cpauue "}.
xxaaa1enu u ayuepuu uacuau
hue1o ua ayuepeu uacua e xouc1au1eu yxaaa1en xu npaun eneueu1 ua
euouepeu uacua o1 xouc1au1uu yxaaa1enu. |e uancuuu c npuuep xaaauo1o.
hexa a e ayuepeu uacua, euuupau no cneuun uauuu:
1nf a|10]|20]
hpoueunuaa1a a e xouc1au1eu yxaaa1en xu npaun eneueu1 ua euouepuun
uacua a|0], a|1], ..., a|9], xa1o acnxo a|1] e xouc1au1eu yxaaa1en xu
a|1]|0] {1 = 0,1, ..., 9}, 1.e.
a
a|0] a|0]|0] a|0]|1] . a|0]|19]
a|1] a|1]|0] a|1]|1] . a|1]|19] .
a|9] a|9]|0] a|9]|1] . a|9]|19]
1oraaa
""a == a|0]|0]
a|0] == "a a|1] == a|0]+1 ... a|9] == a|0]+9,
1.e.
a|1] == a|0] + 1 == "a + 1
Ka1o uanonaaaue, ue onepa1op1 aa uuexcupaue e nnaoacoua1uaeu,
nonyuaaaue:
a|1]|] == {"a + 1} |] == "{{"a + 1} + }.
3aaua 3aaua 3aaua 3aaua 67. 67. 67. 67. a ce uanume nporpaua, xon1o aaea no peoae npaaornua
ua1pua Anxk o1 peanuu uucna u uaaea ua1pua1a, obpaayaaua o1 peoae1e
ua A o1 a ue1ua noauun, xa1o acexu eneueu1 e yaenuueu c 1, cne xoe1o
uaaea ua1pua1a, obpaayaaua o1 peoae1e o1 ueue1ua noauun, xa1o acexu
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 15 o1 1
eneueu1 e yaenuueu c 2 u uaxpan, axo n e ue1uo, uaaea cyua1a ua
ua1puu1e o1 peoae1e o1 ue1uu1e u ueue1uu1e noauuu ua A.
hporpaua Zad67.cpp pemaaa aaaua1a.
Pogam Zad67.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
1nf ma1n{}
{1nf a|20]|100]
1nf" p|20]
1nf" |20]
couf << "n, k = "
1nf n, k
c1n >> n >> k
1 {!c1n}
{couf << "o! \n"
efun 0
}
1nf 1,
o {1 = 0 1 <= n-1 1++}
o { = 0 <= k-1 ++}
{couf << "a|" << 1 << "]|" << << "]= "
c1n >> "{"{a+1}+}
}
o {1 = 0 1 <= n-1 1++}
{o{ = 0 <= k-1 ++}
couf << sef{10} << "{"{a+1}+}
couf << \n
}
couf << "\n\n 1sf ne aay\n"
1nf m = -1
o {1 = 0 1 <= n-1 1 = 1+2}
{m++
"{p+m} = "{a+1}
}
o {1 = 0 1 <= m 1++}
{o{ = 0 <= k-1 ++}
couf << sef{10} << "{"{p+1}+}+1
couf << \n
}
1nf 1 = -1
o {1 = 1 1 <= n-1 1 = 1+2}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 159 o1 1
{1++
|1] = a|1]
}
couf << "\n\n second ne aay \n"
o {1 = 0 1 <= 1 1++}
{o{ = 0 <= k-1 ++}
couf << sef{10} << "{"{+1}+}+2
couf << \n
}
couf << "\n\n fh1d ne aay \n"
1 {nx2 == 0}
o {1 = 0 1 <= m 1++}
{o { = 0 <= k-1 ++}
couf << sef{10} << "{"{p+1}+} + "{"{+1}+}
couf << \n
}
efun 0
}
3. xxaaa1enu u uuaoae 3. xxaaa1enu u uuaoae 3. xxaaa1enu u uuaoae 3. xxaaa1enu u uuaoae
huaoae1e ca uacuau o1 cuuaonu. hue1o ua npoueunuaa o1 1un uua e
xouc1au1eu yxaaa1en, xax1o u uue1o ua acexu pyr uacua. 1axa acuuxo,
xoe1o xaaaxue aa apaxa1a uey uacua u yxaaa1en e a cuna u aa uua -
yxaaa1en.
Cneaa|un1 npuuep unkc1pupa obxoaue ua uua upea uanonaaaue ua
yxaaa1en xu cha. Obxoaue1o nponaaa o oc1uraue ua auaxa aa xpau
ua uua.
#1nc1ude <1osfeam.h>
1nf ma1n{}
{cha sf|] = "C++Language" // sf e xouc1au1eu yxaaa1en
cha" psf = sf
h11e {"psf}
{couf << "psf << \n
psf++
}// psf aeue ue e capaau c uuaa C++Language.
efun 0
}
1u xa1o uua1 e aaaeu upea uacuaa o1 cuuaonu sf, sf e xouc1au1eu
yxaaa1en u ue uoe a be npoueunua c1ouuoc11a uy. 3a1oaa ce uanara
uanonaaaue1o ua nouo|ua1a npoueunuaa psf.
Axo uua1 e aaaeu upea yxaaa1en xu cha, xax1o e a cneaa|a1a
nporpaua, ue ce uanara uanonaaaue1o ua 1axaaa.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 160 o1 1
#1nc1ude <1osfeam.h>
1nf ma1n{}
{cha" sf = "C++Language" // sf e npoueunuaa
h11e {"sf}
{couf << "sf << \n
sf++
}
efun 0
}
hpuuepu1e noxaaaa1, ue aaaaaue1o ua uua xa1o yxaaa1en xu cha uua
npeuuc1ao npe aaaaaue1o xa1o uacua o1 cuuaonu. |e o1beneuu obaue, ue
euuuun1a
cha" sf = "C++Language"
ue uoe a be aaueueua c
cha" sf
c1n >> sf
cneaauu c aaeaue ua uuaa C++Language, oxa1o euuuun1a
cha sf|20]
noaaonnaa aaeaue1o uy upea c1n, 1.e.
c1n >> sf
hua o|e eua ocobeuoc1 npu euuupaue1o ua uua xa1o yxaaa1en xu cha aa
peanuaaun1a v1sua1 C++ 6.0. |e n unkc1pupaue c npuuep.
hexa euuupaue npoueunuaa o1 1un uua no cneuun uauuu:
cha s|] = abba
Onepa1op1
"s = `A
e exauaaneu1eu ua s|0] = `A u |e aaueuu npao1o cpe|aue ua cuuaona `a a
s c `A. 1axa
couf << s
uaaea uuaa
Abba
a paarneaue co1ae1ua1a euuuun1a ua s upea yxaaa1en xu cha
cha" s = abba
Onepa1op1
"s = `A
bu 1pnbaano a aaueuu npao1o cpe|aue ua cuuaona `a a s c `A, 1u xa1o
s cpa apeca ua npao1o `a. 1yx obaue peanuaaun1a ua v1sua1 C++
cob|aaa aa rpemxa - uapymeuue ua oc1na. hocneuo1o uoe a ce uaberue
xa1o onun1a ua xoununa1opa /Z ce aaueuu c /Z1. 1oaa ce peanuaupa xa1o a
ueuk1o Poecf ce uabepe 5eff1ngs, cne 1oaa C/C++, xe1o Cafegoy
1pnbaa a uua onun enea1. haxpan, a Poecf pf1ons ce npoueuu /Z ua
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 161 o1 1
/Z1. Onun1a /Z1 ce rpuu aa npobneuu1e npu uapymaaaue ua oc1na, euo
ueyobc1ao, xoe1o 1pnbaa a ce uua npeau.
4. 4. 4. 4. 1un nceaouuu 1un nceaouuu 1un nceaouuu 1un nceaouuu
pea nceaouuuu1e ce aaaaa1 an1epua1uauu uueua ua obex1u a ob|un
cuucn ua yua1a {npoueunuau, xouc1au1u u p.}. 8 1aau uac1 |e ru
paarneaue uanxo orpauuueuo {nceaouuuu cauo aa npoueunuau}.
3aaaaue ua 1un nceaouuu 3aaaaue ua 1un nceaouuu 3aaaaue ua 1un nceaouuu 3aaaaue ua 1un nceaouuu
hexa 1 e uue ua 1un. 1un1 1& e 1un nceaouuu ua 1. 1 ce uapuua baaoa baaoa baaoa baaoa
1un 1un 1un 1un ua 1una nceaouuu.
Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u Muoec1ao o1 c1ouuoc1u
Cc1ou ce o1 acuuxu uueua ua euuupauu aeue npoueunuau o1 1un 1.
hpuuep: hexa nporpaua1a cpa cneuu1e euuuuu
1nf a, b = 5
...
1nf x, y = 9, =
...
Muoec1ao1o o1 c1ouuoc1u ua 1una 1nf& cpa uueua1a a, b, x, y, .
hpoueunuaa aenuuuua, uuoec1ao1o o1 onyc1uuu1e c1ouuoc1u ua xon1o
canaa c uuoec1ao1o o1 c1ouuoc1u ua aeu 1un nceaouuu, ce uapuua
npoueunuaa o1 1oau 1un nceaouuu. 4ur. 4 unkc1pupa euuuun1a.
<euuuunuanpoueunuaao11unnceaouuu> ::=
1& <a> = <de1nedao1> |
1 &<a> = <de1nedao1>
xe1o
1 e uue 1un, a
<de1nedao1> e uue ua aeue euuupaua npoueunuaa o1 1un 1.
hapuua ce uuuuanuaa1op.
4ur. 4.
8auouo e parueu1u1e
<a> = <de1nedao1> u
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 162 o1 1
&<a> = <de1nedao1>
a ce noa1apn1 uuoroxpa1uo. 3a paaenu1en ce uanonaaa cuuaon1 aane1an.
hua obaue eua ocobeuoc1. euuuun1a
1& a = b, c = d
e exauaaneu1ua ua
1& a = b
1 c = d
hpuuep: euuuuu1e
1nf a = 5
1nf& syna = a
doub1e = 1.5
doub1e &syn1 = , &syn2 =
1nf& syn3 = a, syn4 = a
onpeenn1 syna u syn3 aa nceaouuuu ua a, syn1 u syn2 aa nceaouuuu ua
u syn4 aa npoueunuaa o1 1un 1nf.
euuuuu1e aanu1enuo ca c uuuuanuaaun euuuuu1e aanu1enuo ca c uuuuanuaaun euuuuu1e aanu1enuo ca c uuuuanuaaun euuuuu1e aanu1enuo ca c uuuuanuaaun - npoueunuaa - npoueunuaa - npoueunuaa - npoueunuaa o1 c|un 1un o1 c|un 1un o1 c|un 1un o1 c|un 1un
xa1o ua baaoaun 1un ua 1una nceaouuu. xa1o ua baaoaun 1un ua 1una nceaouuu. xa1o ua baaoaun 1un ua 1una nceaouuu. xa1o ua baaoaun 1un ua 1una nceaouuu. Ocaeu 1oaa, cne uuuuanuaaun1a,
npoueunuaa1a nceaouuu ue uoe a ce npoueun xa1o u ce npucaonaa uoaa
npoueunuaa unu upea noa1opua euuuun. 3a1oaa 1n e uau-xouc1au1ua1a
npoueunuaa, xon1o uoe a c|ec1ayaa.
hpuuep:
...
1nf a = 5
1nf &syn = a // syn e nceaouuu ua a
1nf b = 10
1nf& syn = b // eo, noa1opua euuuun
...
Onepauu u arpaeuu yuxuu Onepauu u arpaeuu yuxuu Onepauu u arpaeuu yuxuu Onepauu u arpaeuu yuxuu
euuuun1a ua npoueunuaa o1 1un nceaouuu capaaa npoueunuaa1a-
nceaouuu c uuuuanuaa1opa u acuuxu onepauu u arpaeuu yuxuu, xou1o
uora1 a ce npunara1 ua uuuuanuaa1opa, uora1 a ce npunara1 u ua
nceaouuua u u obpa1uo.
hpuuepu:
1. 1nf 11 = 0
1nf& = 11
++
1nf" pp = &
Peayn1a11 o1 uannueuue1o ua npau1e aa onepa1opa e cneuun:
11,
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 163 o1 1
... 0 ...
Onepa1op1 ++ ue npoueun apeca ua , a c1ouuoc11a ua 11 u 1n o1 0
c1aaa 1. 8 cnyuan ++ e exauaaneu1eu ua 11++. Apec1 ua e apeca ua
11. hauupa ce upea &. pea euuuun1a
1nf" pp = &
pp e onpeeneua xa1o yxaaa1en xu 1nf, uuuuanuaupaua c apeca ua .
2. 1nf a = 5
1nf &syn = a
couf << syn << " " << a << \n
1nf b = 10
syn = b
couf << b << " " << a << << syn << \n
uaaea
5 5
10 1010
Onepa1op1 syn = b e exauaaneu1eu ua a = b.
3. 1nf 1 = 1
1nf& = 1 // u 1 ca capaauu c euo u c|o nno uucno
couf << // uaaea 1
1nf x = // x uua c1ouuoc1 1
= 2 // exauaaneu1uo e ua 1 = 2
onnueuue: 8auouo e 1un1 ua uuuuanuaa1opa a e paanuueu o1 1oau
ua nceaouuua. 8 1oau cnyuau ce caaaa uoaa, uapeueua apeueuua apeueuua apeueuua apeueuua,
npoueunuaa o1 1una ua nceaouuua, xon1o ce uuuuanuaupa cc aaaeua1a o1
uuuuanuaa1opa c1ouuoc1, npeobpaayaaua o 1una ua nceaouuua.
hanpuuep, cne euuuun1a
doub1e x = 12.56
1nf& synx = x
uuaue
x synx
12.56 ... 12
8 48
Cera x u nceaouuu1 u synx ca paanuuuu npoueunuau u npounua1a ua x unua
a anune ua synx u obpa1uo.
Kouc1au1uu nceaouuuu
8 C++ e aauouo a ce euuupa1 nceaouuuu, xou1o ca xouc1au1u. 3a
en1a ce uanonaaa aanaaeua1a yua consf, xon1o ce noc1aan npe
euuuun1a ua npoueunuaa1a o1 1un nceaouuu. ho 1axa uauuu nceaouuu1
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 164 o1 1
ue uoe a npoueun c1ouuoc11a cu, uo axo e nceaouuu ua npoueunuaa,
npounua1a ua c1ouuoc11a uy uoe a c1aue upea npounua ua npoueunuaa1a.
hpuuep: 4parueu11
1nf 1 = 125
consf 1nf& syn1 = 1
couf << 1 << " " << syn1 << \n
syn1 = 25
couf << 1 << " " << syn1 << \n
|e cob|u aa rpemxa {syn1 e xouc1au1a u ue uoe a e nnaa c1paua ua
onepa1op aa npucaonaaue}, uo parueu11
1nf 1 = 125
consf 1nf& syn1 = 1
couf << 1 << " " << syn1 << \n
1 = 1 + 25
couf << 1 << " " << syn1 << \n
|e uaaee
125 125
150 150
hocneuo1o noxaaaa, ue xouc1au1eu nceaouuu ua npoueunuaa aa|u1aaa
npounua1a ua c1ouuoc11a ua npoueunuaa1a upea nceaouuua.
4yuxuu 4yuxuu 4yuxuu 4yuxuu
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 165 o1 1
obaanue1o ua uoau onepa1opu u yuxuu a npunoeuun1a, peanuaupauu ua
eauxa C++, ce oc|ec1anaa upea yuxuu1e. 1e ca ocuoauu c1pyx1ypuu
euuuu, o1 xou1o ce uarpaa1 nporpauu1e ua eauxa. 8cnxa yuxun ce
cc1ou o1 uuoec1ao o1 onepa1opu, oopueuu noxon|o aa a ce uanonaaa1
xa1o obob|euo euc1aue unu onepaun. Cne xa1o eua yuxun be
euuupaua, 1n uoe a be uannunaaua uuoroxpa1uo aa paanuuuu axouu
auuu.
hporpauu1e ua eauxa C++ ce cc1on1 o1 eua unu noaeue yuxuu. Cpe
1nx aanu1enuo 1pnbaa a uua 1ouuo eua c uue ma1n u uapeueua rnaaua rnaaua rnaaua rnaaua
yuxun yuxun yuxun yuxun. 1n e npaa1a yuxun, xon1o ce uannunaa npu c1ap1upaue ua
nporpaua1a. naaua1a yuxun o1 caon c1paua uoe a ce obp|a xu pyru
yuxuu. hopuanuo1o uannueuue ua nporpaua1a aaapmaa c uannueuue1o ua
rnaaua1a yuxun {8auouo e uannueuue1o a aaapmu npuuyu1enuo c
uannueuue1o ua yuxun, paanuuua o1 rnaaua1a}.
hanonaaaue1o ua yuxuu uua cneuu1e npeuuc1aa:
- hporpauu1e c1aaa1 ncuu u necuu aa 1ec1aaue u uouuupaue.
- habnraa ce uuoroxpa1uo1o noa1apnue ua euu u c|u nporpauuu
parueu1u. 1e ce euuupa1 euoxpa1uo xa1o yuxuu, cne xoe1o uora1 a
ba1 uannunaauu npouaaoneu bpou n1u.
- hoc1ura ce uxououun ua naue1, 1u xa1o xo1 ua yuxun1a ce
cxpaunaa cauo ua euo unc1o a naue11a, ueaaaucuuo o1 bpon ua ueuuu1e
uannueuun.
|e paarneaue uau-ob|o paanpeeneuue1o ua onepa1uaua1a naue1 aa
uannuuua nporpaua ua C++. pea unxonxo npuuepuu nporpauu |e noxaeu
euuupaue1o, obp|euue1o u uannueuue1o ua yuxuu, cne xoe1o |e
uanpaauu co1ae1uu1e obob|euun.
1. 1. 1. 1. Paanpeeneuue ua Oh aa uannuuua nporpaua Paanpeeneuue ua Oh aa uannuuua nporpaua Paanpeeneuue ua Oh aa uannuuua nporpaua Paanpeeneuue ua Oh aa uannuuua nporpaua
Paanpeeneuue1o ua Oh aaaucu o1 uauucnu1enua1a cuc1eua, o1 1una ua
onepauouua1a cuc1eua, a c|o o1 uoena naue1. hau-ob|o ce cc1ou o1:
nporpaueu xo, obnac1 ua c1a1uuuu1e auuu, obnac1 ua uuauuuuu1e auuu u
nporpaueu c1ex {4ur. 1}.
xpaeu apec ua Oh
yxaaa1en ua c1exa
{aannaaue a nocoxa
xu uanxu1e apecu}
O
hporpau
eu c1ex O OO Obnac1 ua uuauuuuu1e bnac1 ua uuauuuuu1e bnac1 ua uuauuuuu1e bnac1 ua uuauuuuu1e
auuu auuu auuu auuu
O OO Obnac1 ua c1a1uuuu1e bnac1 ua c1a1uuuu1e bnac1 ua c1a1uuuu1e bnac1 ua c1a1uuuu1e
auuu auuu auuu auuu
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 166 o1 1
uauaneu apec ua Oh
4ur. 1.
hporpaueu xo
8 1aau uac1 e aanucau uannuuuun1 xo ua acuuxu yuxuu, uarpaa|u
no1pebu1encxa1a nporpaua.
Obnac1 ua c1a1uuuu1e auuu Obnac1 ua c1a1uuuu1e auuu Obnac1 ua c1a1uuuu1e auuu Obnac1 ua c1a1uuuu1e auuu
8 uen ca aanucauu rnobanuu1e obex1u ua nporpaua1a.
Obnac1 ua uuauuuuu1e auuu Obnac1 ua uuauuuuu1e auuu Obnac1 ua uuauuuuu1e auuu Obnac1 ua uuauuuuu1e auuu
3a peanuaupaue ua uuauuuuu c1pyx1ypu o1 auuu {cnucu, pae1a,
rpau, ...} ce uanonaaa1 cpec1aa aa uuauuuuo paanpeeneuue ua naue11a.
pea 1nx ce aaenn u ocaoboaaa naue1 a npoeca ua uannueuue ua
nporpaua1a, a ue npeu 1oaa {npu xoununupaue1o u}. 1aau naue1 e o1
obnac11a ua uuauuuuu1e auuu.
hporpaueu c1ex hporpaueu c1ex hporpaueu c1ex hporpaueu c1ex
1oau au naue1 cxpaunaa auuu1e ua yuxuu1e ua nporpaua1a. C1ex1 e
uuauuuua c1pyx1ypa, oprauuaupaua no npaauno1o nocneeu annan - npa
uannan. 1ou e peua o1 eneueu1u c npnx oc1n o eneueu1u1e o1 euuun
cu xpau, uapeueu apx apx apx apx. oc1n1 ce peanuaupa upea yxaaa1en. Onepaun1a
axnkuaaue ce oc|ec1anaa cauo npe eneueu1a o1 apxa, a onepaun1a
uaxnkuaaue - cauo aa eneueu1a o1 apxa.
Lneueu1u1e ua nporpauuun c1ex ca bnoxoae o1 naue1, cxpaunaa|u
auuu, euuupauu a unxaxaa yuxun. hapuua1 ce c1exoau pauxu c1exoau pauxu c1exoau pauxu c1exoau pauxu.
2. hpuuepu aa nporpauu, xou1o euuupa1 u uanonaaa1 yuxuu 2. hpuuepu aa nporpauu, xou1o euuupa1 u uanonaaa1 yuxuu 2. hpuuepu aa nporpauu, xou1o euuupa1 u uanonaaa1 yuxuu 2. hpuuepu aa nporpauu, xou1o euuupa1 u uanonaaa1 yuxuu
3aaua 6. 3aaua 6. 3aaua 6. 3aaua 6. a ce uanume nporpaua, xon1o aaea c1ouuoc1u ua
ec1ec1aeuu1e uucna a, b, c u d u uauupa u uaaea uau-roneuun1 ob|
enu1en ua uucna1a a u b, cne 1oaa ua c u d u uaxpan ua a, b, c u d.
hporpaueu xo hporpaueu xo hporpaueu xo hporpaueu xo
Oh aa
pabo1a c
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 167 o1 1
hporpaua Zad6.cpp pemaaa aaaua1a. 1n ce cc1ou o1 ae yuxuu: gcd u
ma1n. 4yuxun1a gcd{x, y} uauupa uau-roneuun ob| enu1en ua ec1ec1aeuu1e
uucna x u y. 1u xa1o ma1n ce obp|a xu {uaauxaa} gcd, yuxun1a gcd
1pnbaa a be uaaec1ua npeu yuxun1a ma1n. hau-necuun1 uauuu a ce
noc1urue 1oaa e aa auna, cpa| nporpaua1a, npao a ce noc1aau
euuuun1a ua gcd, a cne 1oaa 1aau ua ma1n. |e be noxaaau
an1epua1uaeu uauuu no-xcuo.
Onucauue1o ua yuxun1a gcd npunuua ua 1oaa ua yuxun1a ma1n. Cc1ou
ce o1 aarnaaue
1nf gcd{1nf x, 1nf y}
u 1nno
{h11e {x != y}
1 {x >= y} x = x-y e1se y = y-x
efun x
}
3arnaaue1o onpeenn, ue gcd e uue ua ayapryueu1ua enouucneua yuxun
c enu apryueu1u, 1.e.
gcd: 1nf x 1nf 1nf
hue1o e npouaaoneu ueu1uuxa1op. 8 cnyuan e uanpaaeu uueuouuuecxu uabop.
3anaaeua1a yua 1nf npe uue1o ua yuxun1a e 1una u {no-1ouuo e 1una ua
peayn1a1a ua yuxun1a}. 8 xprnu ckobxu u o1eneuu cc aane1an ca
onucauu napaue1pu1e x u y ua gcd. 1e ca paanuuuu ueu1uuxa1opu.
hpemec1aa1 ce o1 1unoae1e cu. hapuua1 ce opuanuu napaue1pu aa opuanuu napaue1pu aa opuanuu napaue1pu aa opuanuu napaue1pu aa
yuxun1a yuxun1a yuxun1a yuxun1a.
1nno1o ua yuxun1a e bnox, peanuaupa| anropu1ua ua Laxnu aa
uauupaue ua uau-roneuun ob| enu1en ua ec1ec1aeuu1e uucna x u y. 3aapmaa
c onepa1opa
efun x
upea xou1o ce npexpa1naa uannueuue1o ua yuxun1a xa1o c1ouuoc11a ua
uapaaa cne efun ce ap|a xa1o c1ouuoc1 ua gcd a unc1o1o, a cnyuan a
ma1n, a xoe1o e uanpaaeuo obp|euue1o xu uen.
Pogam Zad6.cpp
#1nc1ude <1osfeam.h>
1nf gcd{1nf x, 1nf y}
{h11e {x != y}
1 {x >= y} x = x-y e1se y = y-x
efun x
}
1nf ma1n{}
{couf << "a, b, c, d= "
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 16 o1 1
1nf a, b, c, d
c1n >> a >> b >> c >> d
1 {!c1n || a < 1 || b < 1 || c < 1 || d < 1}
{couf << "o \n"
efun 1
}
1nf = gcd{a, b}
couf << "gcd{" << a << ", " << b << "}= " << << "\n"
1nf s = gcd{c, d}
couf << "gcd{" << c << ", " << d << "}= " << s << "\n"
couf << "gcd{" << a << ", " << b << ", " << c << ", "
<< d << "}= " << gcd{, s} << "\n"
efun 0
}
hannueuue ua nporpaua Zad6.cpp
euuuuu1e ua yuxuu1e ma1n u gcd ce aanucaa1 a obnac11a ua naue11a,
onpeeneua aa nporpauuun xo. hannueuue1o ua nporpaua1a aanouaa c
uannueuue ua yuxun1a ma1n. 4parueu11
couf << "a, b, c, d= "
1nf a, b, c, d
c1n >> a >> b >> c >> d
1 {!c1n || a < 1 || b < 1 || c < 1 || d < 1}
{couf << "o \n"
efun 1
}
euuupa u aaea c1ouuoc1u ua enu1e npoueunuau a, b, c u d xa1o
ocurypnaa a ca ec1ec1aeuu uucna. hexa aa a, b, c u d ca aaeeuu 14, 21,
42 u 7 co1ae1uo. 8 1aau nocneoaa1enuoc1 1e ce aanucaa1 a uo1o ua
nporpauuun c1ex {4ur. 2.}. 1axa ua uo1o ua c1exa ce oopun bnox o1
naue1 aa ma1n c oc1a1uuo roneuu paauepu, xou1o ocaeu npoueunuau1e o1
ma1n cpa u unxou a1pemuu auuu. 1oau bnox ce uapuua c1exoaa pauxa c1exoaa pauxa c1exoaa pauxa c1exoaa pauxa
ua ua ua ua ma1n ma1n ma1n ma1n.
Onepa1op1
1nf = gcd{a, b}
euuupa nna1a npoueunuaa xa1o a c1exoaa1a pauxa ua ma1n, aeuara cne
npoueunuaa1a d o1enn 48, a xou1o |e aanume peayn1a11 o1 obp|euue1o
gcd{a, b} xu yuxun1a gcd. hpoueunuau1e a u b ce uapuua1 ax1uuecxu ax1uuecxu ax1uuecxu ax1uuecxu
napaue1pu aa 1oaa obp|euue napaue1pu aa 1oaa obp|euue napaue1pu aa 1oaa obp|euue napaue1pu aa 1oaa obp|euue. 3abennaaaue, ue 1un1 uu e c|un xa1o ua
co1ae1uu1e uu opuanuu napaue1pu x u y.
a a 0x00664
14
21
42
7
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 169 o1 1
b 0x00660
c 0x0066C
d 0x0066 c1exoaa pauxa
ua ma1n
0x00664
yxaaa1en ua c1exa
ma1n ...0x0040100
gcd 0x0040100A nporpaueu xo
4ur. 2.
Obp|euue xu gcd{a, b}
8 nporpauuun c1ex ce reuepupa uoa bnox naue1 - c1exoaa pauxa aa
yuxun1a gcd. 8 uero ce aanucaa1 opuanuu1e u noxanuu1e napaue1pu ua
gcd, a c|o u unxou a1pemuu auuu xa1o efun-apeca u apeca ua
c1exoaa1a pauxa ua ma1n.
Obp|euue1o ce oc|ec1anaa ua aa e1ana:
a} Capaaaue ua opuanuu1e c ax1uuecxu1e napaue1pu
8 c1exoaa1a pauxa ua gcd, ce o1enn1 no 4 bau1a aa opuanuu1e
napaue1pu x u y a obpa1eu pe ua pea, a xou1o ca aanucauu a aarnaaue1o.
8 1aau naue1 ce o1xonupaa1 c1ouuoc1u1e o1xonupaa1 c1ouuoc1u1e o1xonupaa1 c1ouuoc1u1e o1xonupaa1 c1ouuoc1u1e ua co1ae1uu1e uu ax1uuecxu
napaue1pu. O1enn1 ce c|o 48 aa 1. uap. efun-apec, apeca ua unc1o1o
a ma1n, xe1o |e ce apue peayn1a11, a c|o ce o1enn naue1, a xon1o ce
aanucaa apec1 ua npeumua1a c1exoaa pauxa, 1.e.
naue1 aa gcd {-ao obp|euue xu uero}
y 0x006690
x 0x0066C
0x0066
efun-apec
apec ua npeumua1a
c1exoaa pauxa
21
14
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 170 o1 1
yxaaa1en ua c1exa
b} hannueuue ua 1nno1o ua gcd
1u xa1o e a cuna y > x, c1ouuoc11a ua y ce npoueun ua 7, 1.e.
naue1 a c1exa aa gcd
y 0x006690
x 0x0066C
0x0066
efun-apec
apec ua npeumua1a
c1exoaa pauxa
yxaaa1en ua c1exa
Cera nx e a cuna x > y, xoe1o aou o npounua c1ouuoc11a uy ua 7, 1.e.
naue1 a c1exa aa gcd
y 0x006690
x 0x0066C
0x0066
efun-apec
apec ua npeumua1a
c1exoaa pauxa
yxaaa1en ua c1exa
Onepa1op1 aa uxn aaapmaa uannueuue1o cu. hannueuue1o ua onepa1opa
efun x
npeyc1auoanaa uannueuue1o ua gcd xa1o ap|a a ma1n a unc1o1o ua
npexcaaue1o {efun-apeca} c1ouuoc11a 7 ua obp|euue1o gcd{a, b}.
O1eneua1a aa gcd c1exoaa pauxa ce ocaoboaaa. xxaaa1enn1 ua c1exa couu
xpan ua c1exoaa1a pauxa ua ma1n. hannueuue1o ua nporpaua1a nponaaa c
uuuuanuaaun1a ua . Peayn1a11 o1 obp|euue1o gcd{14, 21} ce aanucaa a
o1eneua1a aa naue1.
Onepa1op1
7
14
7
7
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 171 o1 1
couf << "gcd{" << a << ", " << b << "}= " << << "\n"
uaaea nonyueuun peayn1a1.
hannueuue1o ua oc1auanu1e obp|euun xu gcd ce peanuaupa no c|un
uauuu. hpu obp|euue1o xu acnxo o1 1nx a c1exa ce caaaa c1exoaa pauxa
ua gcd, a cne aaapmaaue ua obp|euue1o, pauxa1a ce ocaoboaaa. hpu
oc1uraue o onepa1opa efun 0 o1 ma1n, ce ocaoboaaa u c1exoaa1a
pauxa ua ma1n.
4yuxun1a gcd peanuaupa uau-npoc1o1o u uuc1o euuupaue u uanonaaaue
ua yuxuu - nonyuaaa axouu1e cu c1ouuoc1u euuc1aeuo upea opuanuu1e cu
napaue1pu u ap|a peayn1a1a cu upea onepa1opa efun. 3abennaaaue, ue
obp|euue1o gcd{a, b} pabo1u c xonun ua c1ouuoc1u1e ua a u b, aanouueuu a
x u y, a ue cc cauu1e a u b. 8 npoeca ua uannueuue ua 1nno1o ua gcd,
c1ouuoc1u1e ua x u y ce npoueun1, uo 1oaa ue oxaaaa anunuue ua
c1ouuoc1u1e ua ax1uuecxu1e napaue1pu a u b.
1axoaa capaaaue ua opuanuu1e c ax1uuecxu1e napaue1pu ce uapuua
capaaaue no c1ouuoc1 capaaaue no c1ouuoc1 capaaaue no c1ouuoc1 capaaaue no c1ouuoc1 unu o|e npeaaaue ua napaue1pu1e no c1ouuoc1 npeaaaue ua napaue1pu1e no c1ouuoc1 npeaaaue ua napaue1pu1e no c1ouuoc1 npeaaaue ua napaue1pu1e no c1ouuoc1. hpu
uero ax1uuecxu1e napaue1pu uara1 a ba1 ue cauo npoueunuau, uo u
uapaau o1 1unoae, cauec1uuu c 1unoae1e ua co1ae1uu1e opuanuu
napaue1pu. Obp|euue1o gcd{gcd{a, b}, gcd{c, d}} e xopex1uo u uauupa uau-
roneuun ob| enu1en ua a, b, c u d.
8 peua cnyuau ce uanara yuxun1a a nonyuu axoa cu upea unxou o1
opuanuu1e cu napaue1pu u a apue peayn1a1 ue no obuuauuun uauuu - upea
onepa1opa efun, a upea c|u1e unu pyru napaue1pu. 3aaua 69 aaa
npuuep aa 1oaa.
3aaua 69. 3aaua 69. 3aaua 69. 3aaua 69. a ce uanume nporpaua, xon1o aaea c1ouuoc1u ua peanuu1e
uucna a, b, c u d, cne xoe1o paaueun c1ouuoc1u1e ua a u b u ua c u d
co1ae1uo.
Axo euuupaue yuxun sap1{doub1e" x, doub1e" y}, xon1o paaueun
c1ouuoc1u1e ua peanuu1e uucna xu xou1o coua1 yxaaa1enu1e x u y,
obp|euue1o sap1{&a, &b} |e paaueuu c1ouuoc1u1e ua a u b, a obp|euue1o
sap1{&c, &d} |e paaueuu c1ouuoc1u1e ua c u d. hporpaua Zad69.cpp pemaaa
aaaua1a. 1n ce cc1ou o1 yuxuu1e: sap1 u ma1n. 10u xa1o ma1n ce
obp|a xu {uaauxaa} sap1, yuxun1a sap1 1pnbaa a be uaaec1ua npeu
yuxun1a ma1n. 3a1oaa aa auna, cpa| nporpaua1a, npao ce noc1aan
sap1, a cne 1oaa ma1n.
Pogam Zad69.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 172 o1 1
o1d sap1{doub1e" x, doub1e" y}
{doub1e ok = "x
"x = "y
"y = ok
efun
}
01nf ma1n{}
{couf << "a, b, c, d= "
doub1e a, b, c, d
c1n >> a >> b >> c >> d
couf << sefpec1s1on{2} << sef1os1ags{1os :: 1xed}
couf << sef{10} << a << sef{10} << b
<< sef{10} << c << sef{10} << d << `\n
sap1{&a, &b}
sap1{&c, &d}
couf << sef{10} << a << sef{10} << b
<< sef{10} << c << sef{10} << d << `\n
efun 0
}
4yuxun1a sap1 uua noobua c1pyx1ypa xa1o ua gcd. ho u aarnaaue1o, u
1nno1o u ca no-paanuuuu. 1un1 ua sap1 e yxaaau upea aanaaeua1a yua
o1d. 1oaa oauauaaa, ue yuxun1a ue ap|a c1ouuoc1 upea onepa1opa
efun. 3a1oaa a 1nno1o ua sap1 e nponycua1 uapaa1 cne efun.
4opuanuu1e napaue1pu x u y ca yxaaa1enu xu doub1e, a a 1nno1o ce pabo1u
cc cpauun1a ua yxaaa1enu1e.
3abennaaaue c|o, ue obp|euun1a xu sap1 a ma1n
sap1{&a, &b}
sap1{&c, &d}
ue yuac1aa1 xa1o apryueu1u ua onepauu, a ca onepa1opu.
hannueuue ua nporpaua Zad69.cpp
euuuuu1e ua yuxuu1e ma1n u sap1 ce aanucaa1 a obnac11a ua
naue11a, onpeeneua aa nporpauuun xo. hannueuue1o ua nporpaua1a aanouaa
c uannueuue ua yuxun1a ma1n. 4parueu11
couf << "a, b, c, d= "
doub1e a, b, c, d
c1n >> a >> b >> c >> d
couf << sefpec1s1on{2} << sef1os1ags{1os :: 1xed}
couf << sef{10} << a << sef{10} << b
<< sef{10} << c << sef{10} << d << `\n
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 173 o1 1
euuupa u aaea c1ouuoc1u aa peanuu1e npoueunuau a, b, c u d u ru
uaaea apxy expaua cnope euuupauo1o opua1upaue. hexa aa c1ouuoc1u
ua a, b, c u d ca aaeeuu 1.5, 2.75, 3.25 u .2 co1ae1uo {4ur. 3}.
a a 0x00660
b 0x0066
c 0x00660 c1exoaa pauxa
ua ma1n
d 0x0066
yxaaa1en ua c1exa
ma1n ...0x00401046
sap1 0x00401019 nporpaueu xo
4ur. 3.
Obp|euue1o
sap1{&a, &b}
ce uannunaa ua aa e1ana no cneuun uauuu:
a} Capaaaue ua opuanuu1e c ax1uuecxu1e napaue1pu
8 c1exa ce xouc1pyupa uoaa pauxa - pauxa1a ua sap1. 1enn1 ce no 4
bau1a aa opuanuu1e napaue1pu x u y, a xon1o naue1 ce aanucaa1 apecu1e aanucaa1 apecu1e aanucaa1 apecu1e aanucaa1 apecu1e
ua co1ae1uu1e uu ax1uuecxu napaue1pu, o|e 48, a xou1o ce aanucaa
apec1 ua sap1{c, d}, o1 xe1o 1pnbaa a ce nponu uannueuue1o ua
ma1n {efun-apeca}, a c|o u naue1, a xon1o ce aanucaa apec1 ua
npeumua1a c1exoaa pauxa {a cnyuan ua ma1n}.
y 0x00663
1.5
2.75
3.25
.2

85 85 85 85
u 5 u 5 u 5 u 5
0x0066
0x00660
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 174 o1 1
x 0x006634

efun- c1exoaa pauxa
apec {apec o1 ma1n} ua sap1
apec ua
npeumua c1exoaa pauxa
yxaaa1en ua c1exa
b} hannueuue ua 1nno1o ua sap1
hannunaa ce xa1o bnox. 3a peanua1a npoueunuaa ok ce o1enn1 bau1a
a c1exoaa1a pauxa ua sap1, a xou1o ce aanucaa cpauue1o ua x, a
cnyuan 1.5, 1.e.
y 0x00663
x 0x006634
efun- 0x0066.. c1exoaa pauxa
apec apec o1 ma1n ua sap1
apec ua npeumua1a
c1exoaa pauxa
ok 0x006624
yxaaa1en ua c1exa
nepa1op1
"x = "y
npoueun cpauue1o ua x c 1oaa ua y, a onepa1op1
"y = ok
npoueun cpauue1o ua y xa1o ro capaaa cc c1ouuoc11a ua ok, 1.e.
c1exoaa pauxa ua ma1n
a a 0x00660
b 0x0066
c 0x00660
d 0x0066
0x0066
0x00660
1.5
2.75
2.75
3.25
.2

2.75
1.5
3.25
.2

Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 175 o1 1
Onepa1op1 efun npexcaa pabo1a ua ua sap1 u npeaaa ynpaaneuue1o a
1ouxa1a ua uaauxaaue1o uy a rnaaua1a yuxun {efun-apeca}. C1exoaa1a
pauxa, o1eneua aa sap1 ce ocaoboaaa. xxaaa1enn1 ua c1exa couu
c1exoaa1a pauxa ua ma1n. 8 peayn1a1 c1ouuoc1u1e ua npoueunuau1e a u b ca
paaueueuu.
Obp|euue1o sap1{c, d} ce uannunaa no auanoruueu uauuu. 3a uen ce
reuepupa uoaa c1exoaa pauxa {ua c|u1e apecu}, xon1o ce ocaoboaaa
xora1o uannueuue1o ua sap1 aaapmu.
4yuxun1a sap1 nonyuaaa axouu1e cu c1ouuoc1u upea opuanuu1e cu
napaue1pu u ap|a peayn1a1a cu upea 1nx. 3abennaaaue, ue obp|euue1o
sap1{&a, &b} pabo1u ue c xonun ua c1ouuoc1u1e ua a u b, a c apecu1e uu.
8 npoeca ua uannueuue ua 1nno1o ce npoueun1 c1ouuoc1u1e ua ax1uuecxu1e
napaue1pu a u b npu npao1o obp|euue xu uen u ua c u d - npu a1opo1o.
1axoaa capaaaue ua opuanuu1e c ax1uuecxu1e napaue1pu ce uapuua
capaaaue ua napaue1pu1e no yxaaa1en capaaaue ua napaue1pu1e no yxaaa1en capaaaue ua napaue1pu1e no yxaaa1en capaaaue ua napaue1pu1e no yxaaa1en unu o|e npeaaaue ua napaue1pu1e no npeaaaue ua napaue1pu1e no npeaaaue ua napaue1pu1e no npeaaaue ua napaue1pu1e no
yxaaa1en yxaaa1en yxaaa1en yxaaa1en unu capaaaue no apec capaaaue no apec capaaaue no apec capaaaue no apec. hpu 1oau au npeaaaue ua napaue1pu1e,
ax1uuecxu1e napaue1pu aanu1enuo ca npoueunuau unu apecu ua
npoueunuau.
Ocaeu 1eau aa uauuua ua npeaaaue ua napaue1pu, a eauxa C++ uua o|e
euu - npeaaaue ua napaue1pu no nceaouuu npeaaaue ua napaue1pu no nceaouuu npeaaaue ua napaue1pu no nceaouuu npeaaaue ua napaue1pu no nceaouuu. 1ou e cpaauu1enuo no-yobeu
o1 npeaaaue1o no yxaaa1en u ce npenouu1a o1 nporpauuc1u1e.
|e ro unkc1pupaue upea c|a1a aaaua. hporpaua Zad691.cpp peanuaupa
yuxun sap1, a xon1o npeaaaue1o ua napaue1pu1e e no nceaouuu.
Pogam Zad691.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
o1d sap1{doub1e& x, doub1e& y}
{doub1e ok = x
x = y
y = ok
efun
}
1nf ma1n{}
{couf << "a, b, c, d= "
doub1e a, b, c, d
c1n >> a >> b >> c >> d
couf << sefpec1s1on{2} << sef1os1ags{1os :: 1xed}
couf << sef{10} << a << sef{10} << b
<< sef{10} << c << sef{10} << d << `\n
sap1{a, b}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 176 o1 1
sap1{c, d}
couf << sef{10} << a << sef{10} << b
<< sef{10} << c << sef{10} << d << `\n
efun 0
}
|e npocneuu uannueuue1o u ua 1aau uouuxaun.
hannueuue1o ua nporpaua1a aanouaa c uannueuue ua yuxun1a ma1n.
4parueu11
couf << "a, b, c, d= "
doub1e a, b, c, d
c1n >> a >> b >> c >> d
couf << sefpec1s1on{2} << sef1os1ags{1os :: 1xed}
couf << sef{10} << a << sef{10} << b
<< sef{10} << c << sef{10} << d << `\n
euuupa u aaea c1ouuoc1u aa peanuu1e npoueunuau a, b, c u d u ru
uaaea apxy expaua cnope euuupauo1o opua1upaue. hexa aa c1ouuoc1u
ua a, b, c u d o1uoao ca aaeeuu 1.5, 2.75, 3.25 u .2 co1ae1uo. Cne
obpabo1xa1a uy a c1exa ce xouc1pyupa c1exoaa1a pauxa ua ma1n.
naue1 ua ma1n
x a a 0x00660
y b 0x0066
c 0x00660
d 0x0066
Obp|euue1o
sap1{a, b}
ce uannunaa ua aa e1ana no cneuun uauuu:
a} Capaaaue ua opuanuu1e c ax1uuecxu1e napaue1pu
3a en1a ce reuepupa uoaa c1exoaa pauxa - pauxa1a ua sap1. xxaaa1enn1
ua c1exa couu 1aau pauxa. 1u xa1o opuanuu1e napaue1pu x u y ca
nceaouuuu ua npoueunuau1e a u b, aa 1nx naue1 a c1exoaa1a pauxa ua sap1
ue ce o1enn. hapaue1p1 x npenu1a u ce aaxauaa aa ax1uuecxun
napaue1p a u auanoruuuo y npenu1a u ce aaxauaa aa ax1uuecxun
napaue1p b o1 c1exoaa1a pauxa ua ma1n. 1axa acuuxu euc1aun c x u y a
sap1 ce uannunaa1 c ax1uuecxu1e napaue1pu a u b o1 ma1n co1ae1uo.
b} hannueuue ua 1nno1o ua sap1
1.5
2.75
3.25
.2

Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 177 o1 1
hannunaa ce xa1o bnox. 8 pauxa1a ua sap1, aa peanua1a npoueunuaa
ok ce o1enn1 bau1a, a xou1o ce aanucaa c1ouuoc11a ua x, a cnyuan
1.5, 1.e.
c1exoaa pauxa ua sap1
efun-
apec {apec o1 ma1n} c1exoaa pauxa
ua sap1
apec ua nocneua1a
c1exoaa pauxa
ok 0x006624
yxaaa1en ua c1exa
nepa1op1
x = y
npucaonaa ua a c1ouuoc11a ua b, a onepa1op1
y = ok
npoueun c1ouuoc11a ua npoueunuaa1a b xa1o u npucaonaa c1ouuoc11a ua ok,
1.e.
x a a 0x00660
y b 0x0066
c 0x00660
d 0x0066
Onepa1op1 efun npexcaa pabo1a ua ua sap1 u npeaaa ynpaaneuue1o ua
efun-apeca o1 rnaaua1a yuxun. C1exoaa1a pauxa ua sap1 ce
ocaoboaaa. xxaaa1enn1 ua c1exa couu c1exoaa1a pauxa ua ma1n. 8
peayn1a1, c1ouuoc1u1e ua npoueunuau1e a u b ca paaueueuu. hpoueunuau1e a
u b ca ocaoboeuu o1 x u y. Cneaa uannueuue ua obp|euue1o
sap1{c, d}
xoe1o ce peanuaupa no c|un uauuu {ae ua c|u1e apecu a c1exa}.
3abennaaaue, ue ax1uuecxu1e napaue1pu, co1ae1c1aa|u ua opuanuu
napaue1pu-nceaouuuu ca npoueunuau.
1aau peanuaaun ua sap1 e no-ncua o1 co1ae1ua1a c yxaaa1enu. 1nno1o
u peanuaupa paaunua ua c1ouuoc1u1e ua ae peanuu npoueunuau bea a ce
uanara uanonaaaue1o ua apecu.
1.5
2.75
1.5
3.25
.2

Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 17 o1 1
hexa a 1nno1o ua ma1n ua Zad691.cpp npeu onepa1opa efun axnkuuu
parueu1a:
1nf m, n
c1n >> m >> n
sap1{m, n}
couf << sef{10} << m << sef{10} << n << "\n"
hnxou peanuaauu {1sua1 C++ 6.0} |e curuanuaupa1 rpemxa ua 1pe1a1a nuuun
- ueaauouoc1 aa npeobpaayaaue ua napaue1p o1 1nf a doub1e &, pyru
obaue |e uua1 uopuanuo noaeeuue, uo unua a paaueun1 c1ouuoc1u1e ua m u
n. hocneuo1o e 1axa, 1u xa1o npu ueco1ae1c1aue ua 1una ua nceaouuua c
1una ua uuuuanuaa1opa, a c1exoaa1a pauxa ua sap1, ce caaaa1
apeueuuu npoueunuau x u y, a xou1o ce aanouun1 xouaep1upauu1e c1ouuoc1u
ua uuuuanuaa1opu1e. haapmaa ce paaunua1a, uo cauo a c1exoaa1a pauxa ua
sap1.
hpu npeaaaue ua napaue1pu1e no yxaaa1en unu no nceaouuu,
ax1uuecxu1e napaue1pu ca npoueunuau, aa paanuxa o1 npeaaaue1o ua
napaue1pu no c1ouuoc1, xora1o ax1uuecxu1e napaue1pu uora1 a ca uapaau a
ob|un cnyuau.
8auouo e unxou napaue1pu a ce noaaa1 no c1ouuoc1, pyru no
nceaouuu unu yxaaa1en, a c|o yuxun1a a ap|a peayn1a1 u upea
onepa1opa efun. hpuuepu |e ba1 aeuu a cneaa|u1e uac1u ua
uanoeuue1o. |e ba1 obceuu c|o npeuuc1aa1a u ueoc1a1u1e ua acexu
o1 uauuuu1e aa npeaaaue ua napaue1pu1e.
Axo yuxun ue ap|a peayn1a1 upea efun {1un1 u e o1d}, ce uapuua
o|e npoeypa npoeypa npoeypa npoeypa.
Paarneauu1e nporpauu ce cc1onxa o1 ae yuxuu. ho-cepuoauu1e
npunoeuun cpa1 noaeue yuxuu. hopeba1a uu uoe a aanouaa c ma1n,
cne xon1o a npouaaoneu pe a ce euuupa1 oc1auanu1e yuxuu. 8 1oau
cnyuau, euuuun1a ua ma1n 1pnbaa a ce npemec1aa o1 exnapauu1e ua
oc1auanu1e yuxuu. exnapaun1a ua eua yuxun ce cc1ou o1 aarnaaue1o
u, cneaauo o1 . hueua1a ua opuanuu1e napaue1pu uora1 a ce nponycua1.
hanpuuep, nporpaua1a o1 Zad691.cpp uoe a ce aanume aa aua:
Pogam Zad691.cpp
#1nc1ude <1osfeam.h>
#1nc1ude <1oman1p.h>
o1d sap1{doub1e&, doub1e&} // exnapaun ua sap1
1nf ma1n{}
{couf << "a, b, c, d= "
doub1e a, b, c, d
c1n >> a >> b >> c >> d
couf << sefpec1s1on{2} << sef1os1ags{1os :: 1xed}
couf << sef{10} << a << sef{10} << b
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 179 o1 1
<< sef{10} << c << sef{10} << d << `\n
sap1{a, b}
sap1{c, d}
couf << sef{10} << a << sef{10} << b
<< sef{10} << c << sef{10} << d << `\n
efun 0
}
o1d sap1{doub1e& x, doub1e& y} // euuuun ua sap1
{doub1e ok = x
x = y
y = ok
efun
}
3. euuupaue ua yuxuu 3. euuupaue ua yuxuu 3. euuupaue ua yuxuu 3. euuupaue ua yuxuu
Cuu1axcuc ua euuuun1a
euuuun1a ua yuxun ce cc1ou o1 ae uac1u: aarnaaue {npo1o1un} u
1nno. Cuu1axcuc1 u e noxaaau ua 4ur. 4.
|<uouuxa1op>]|<1unuayuxun1a>]<uueuayuxun>
{<opuanuunapaue1pu>}
{<1nno>
}
xe1o
<uouuxa1op>::= 1n11ne|sfaf1c| ...
<1unuapeayn1a1a> ::= <uueua1un> | <euuuunua1un>
<uueuayuxun> ::= <ueu1uuxa1op>
<opuanuunapaue1pu> :: <npaauo> | o1d |
<napaue1p> {, <napaue1p>}
<napaue1p> ::= <1un>| & |
opc
" |consf]
opc
]
opc
<uueuanapaue1p>
<1un> ::= <uueua1un>
<uueuanapaue1p> ::= <ueu1uuxa1op>
<1nno> ::= <peuao1onepa1opuueuuuuu>
4ur. 4.
Mouuxa1opu1e ca cneuuxa1opu, xou1o aaaaa1 npenopxa aa
xoununa1opa {1n11ne}, xnaca naue1 {exfen unu sfaf1c} u p. |e aeu
npuuepu a cneaa|u1e paarneauun. Axo e nponycua1, nopaabupa ce exfen.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 10 o1 1
1un1 ua yuxun1a e npouaaoneu bea uacua u yuxuouaneu, uo ce
onycxa a e yxaaa1en xu 1axuaa obex1u. Axo e nponycua1, nopaabupa ce
1nf.
hue1o ua yuxun1a e npouaaoneu ueu1uuxa1op. onycxa ce
ueeuoauauuoc1.
Cnucx1 o1 opuanuu napaue1pu {uapuua ce o|e curua1ypa curua1ypa curua1ypa curua1ypa} uoe a e
npaaeu unu o1d. hanpuuep, cneua1a yuxun uaaea 1exc1:
o1d p1nffexf{o1d}
{couf << 1h1s 1s fexf!!!\n
couf << .....
efun
}
8 cnyuau, ue e uenpaaeu, uueua1a ua napaue1pu1e 1pnbaa a ca paanuuuu. 1e
aaeuo c uue1o onpeenn1 euoauauuo yuxun1a. 4opuanuu1e napaue1pu ca:
napaue1pu - c1ouuoc1u, napaue1pu - yxaaa1enu u napaue1pu - nceaouuuu.
hue1o ua napaue1pa ce npemec1aa o1 1un.
hpuuepu:
1nf a, 1nf consf& b, doub1e& x, 1nf consf " y, consf 1nf" a
3acera unua a uanonaaaue napaue1pu, cneuuupauu cc consf.
1nno1o ua yuxun1a e peua o1 euuuuu u onepa1opu. 1n onucaa
anropu1ua, peanuaupa| yuxun1a. Moe a cpa euu unu noaeue
onepa1opa efun.
Onepa1op1 efun {4ur. 5} ap|a peayn1a1a ua yuxun1a a unc1o1o ua
uaauxaaue1o.
Cuu1axcuc
efun |<uapaa>]
xe1o
efun e aanaaeua yua
<uapaa> e npouaaoneu uapaa o1 1un <1unuayuxun1a> unu cauec1uu c
uero. Axo 1un1 ua yuxun1a e o1d, <uapaa> ce nponycxa.
Ceuau1uxa
hpecun1a ce c1ouuoc11a ua <uapaa>, xouaep1upa ce o 1una ua yuxun1a
{axo e aauouo} u ap|auxu nonyueua1a c1ouuoc1 a unc1o1o ua uaauxaaue1o
ua yuxun1a, npexpa1naa uannueuue1o u.
4ur. 5.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 11 o1 1
3abenexa: Axo yuxun1a ue e o1 1un o1d, 1n aanu1enuo 1pnbaa a
apue c1ouuoc1. 1oaa oauauaaa, ue onepa1op1 efun 1pnbaa a ce uauupa
aa acuuxu xnouoae ua 1nno1o. 8 npo1uaeu cnyuau, noaeue1o xoununa1opu |e
uaaea1 cob|euue unu npeynpeeuue aa rpemxa. 8auouo e obaue
yuxun1a a apue cnyuauua c1ouuoc1, xoe1o e nomo. ho-obpe e yuxun1a
a apue unxaxaa beaobuua c1ouuoc1, o1xonxo1o cnyuauua.
4yuxuu1e uora1 a ce euuupa1 a npouaaonuo unc1o ua nporpaua1a, uo
ue u a pyru yuxuu. hpeu a ce uaauxa eua yuxun, 1n 1pnbaa a e
noaua1a ua xoununa1opa. 1oaa c1aaa, xa1o euuuun1a ua yuxun1a ce
noc1aau npe ma1n unu xora1o yuxun1a ce euuupa ua npouaaonuo unc1o a
uac11a aa euuupaue ua yuxuu, a npeu euuuuu1e ua yuxuu1e ce
noc1aau cauo ueuua1a exnapaun.
<exnapaunuayuxun> ::=
|<uouuxa1op>]|<1unuapeayn1a1a>]<uueuayuxun>
{|<opuanuunapaue1pu>]}
8auouo e uueua1a ua napaue1pu1e aa <opuanuunapaue1pu> a ce
nponycua1.
Ceuau1uxa ua euuuun1a
Onucauue1o ua yuxun aaaaa napaue1pu1e, xou1o uocn1 axoa u uaxoa,
1una ua peayn1a1a, a c|o u anropu1ua, aa peanuaupaue ua euc1aue1o,
xoe1o yuxun1a euuupa. hapaue1pu1e-c1ouuoc1u uau-uec1o aaaaa1 axoa
ua yuxun1a. hapaue1pu1e-yxaaa1enu u nceaouuuu ca axouo-uaxouu1e
napaue1pu aa uen. Anropu1u1 ce onucaa a 1nno1o ua yuxun1a.
hannueuue1o ua yuxun1a aaapmaa npu oc1uraue ua xpan ua 1nno1o unu
cne uannueuue ua onepa1op efun |<uapaa>].
4. Obp|euue xu yuxun 4. Obp|euue xu yuxun 4. Obp|euue xu yuxun 4. Obp|euue xu yuxun
Cuu1axcuc
<obp|euuexuyuxun> ::=
<uueuayuxun>{} |
<uueuayuxun>{o1d} |
<uueuayuxun>{<ax1uuecxunapaue1pu>}
xe1o <ax1uuecxunapaue1pu> ca 1onxoaa ua bpou, xonxo1o ca opuanuu1e
napaue1pu. Ocaeu no bpou, opuanuu1e u ax1uuecxu1e napaue1pu 1pnbpa a
cu co1ae1c1aa1 no 1un, no au u no cuucn.
Co1ae1c1aue1o no 1un oauauaaa, ue 1un1 ua 1-1un ax1uuecxu napaue1p
1pnbaa a canaa {a e cauec1uu} c 1una ua 1-1un opuaneu napaue1p.
Co1ae1c1aue1o no au ce cc1ou a cneuo1o: axo opuanuun1 napaue1p e
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 12 o1 1
napaue1p-yxaaa1en, co1ae1uun1 uy ax1uuecxu napaue1p aanu1enuo e
npoueunuaa unu apec ua npoueunuaa, axo e napaue1p-nceaouuu,
co1ae1uun1 uy ax1uuecxu napaue1p aanu1enuo e npoueunuaa {aa
peanuaaun1a v1sua1 C++, 6.0 o1 c|un 1un} u axo e napaue1p-c1ouuoc1 -
co1ae1uun1 uy ax1uuecxu napaue1p e uapaa.
Ceuau1uxa
Obp|euue1o xu yuxun e yuapua onepaun c uau-aucox npuopu1e1 u c
onepau - uue1o ua yuxun1a. hocneuo1o nx e yxaaa1en cc c1ouuoc1
apeca ua unc1o1o a naue11a xe1o e aanucau nporpauuun1 xo ua
yuxun1a. Axo yuxun1a onpeenn npoeypa, obp|euue1o xu uen ce
oopun xa1o onepa1op {aaapmaa c }. Onu11 aa uanonaaaue1o u xa1o uapaa
npeuaauxaa rpemxa. Axo yuxun1a ap|a peayn1a1 xax1o upea efun, 1axa
u upea unxou o1 opuanuu1e cu napaue1pu, obp|euue1o xu uen uoe a ce
paarnea u xa1o onepa1op, u xa1o uapaa. h axo yuxun1a ap|a peayn1a1
euuc1aeuo upea onepa1opa efun, obp|euue1o xu uen uua euuc1aeuo
cuucna ua uapaa. hanonaaaue1o uy xa1o onepa1op ue aou o rpemxa, uo ue
npeuaauxaa auuu peayn1a1.
Obp|euue1o xu yuxun npeuaauxaa reuepupaue ua uoaa c1exoaa pauxa u
ce oc|ec1anaa ua cneuu1e aa e1ana:
1. Capaaaue ua opuanuu1e c ax1uuecxu1e napaue1pu
3a en1a npaun1 opuaneu napaue1p ce capaaa c npaun ax1uuecxu,
a1opun1 opuaneu napaue1p ce capaaa c a1opun ax1uuecxu u 1.u.
nocneuun1 opuaneu napaue1p ce capaaa c nocneuun ax1uuecxu
napaue1p. Capaaaue1o ce peanuaupa no paanuuuu uauuuu a aaaucuuoc1 o1
aua ua opuanuun napaue1p.
a} opuaneu napaue1p - c1ouuoc1
8 1oau cnyuau ce uauupa c1ouuoc11a ua co1ae1uun uy ax1uuecxu
napaue1p. 8 c1exoaa1a pauxa ua yuxun1a aa opuanuun napaue1p ce
o1enn 1onxoaa naue1, xonxo1o 1un1 uy uaucxaa u a uen ce o1xonupaa
c1ouuoc11a ua ax1uuecxun napaue1p.
b} opuaneu napaue1p - yxaaa1en
8 1oau cnyuau a c1exoaa1a pauxa ua yuxun1a aa opuanuun napaue1p ce
o1enn1 48, a xou1o ce aanucaa c1ouuoc11a ua ax1uuecxun napaue1p, xon1o
e apec ua npoueunuaa. euc1aun1a, onucauu a 1nno1o ce uannunaa1 cc
cpauue1o ua opuanuun napaue1p - yxaaa1en. ho 1axa uauuu e aauoua
npounua ua c1ouuoc11a ua npoueunuaa1a, uuu1o apea e npeaeu xa1o
ax1uuecxu napaue1p.
a} opuaneu napaue1p - nceaouuu
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 13 o1 1
4opuanuun1 napaue1p-nceaouuu ce capaaa c apeca ua ax1uuecxun. 3a
uero a c1exoaa1a pauxa ua yuxun1a naue1 ue ce o1enn. 1ou npoc1o
npenu1a u ce aaxauaa aa ax1uuecxun cu napaue1p. euc1aun1a c uero
ce uaapmaa1 ua ax1uuecxun napaue1p.
2. hannueuue ua 1nno1o ua yuxun1a
Auanoruuuo e ua uannueuue1o ua bnox.
hpu acnxo obp|euue xu yuxun a nporpauuun c1ex ce axnkuaa uoa
bnox o1 auuu. 8 uero ce cxpaunaa1 opuanuu1e napaue1pu ua yuxun1a,
ueuuu1e noxanuu npoueunuau, a c|o u unxou a1pemuu auuu xa1o efun-
apeca u p. 1oau bnox ce uapuua c1exoaa pauxa ua yuxun1a c1exoaa pauxa ua yuxun1a c1exoaa pauxa ua yuxun1a c1exoaa pauxa ua yuxun1a.
8 uo1o ua c1exa e c1exoaa1a pauxa ua ma1n. ha apxa ua c1exa e
c1exoaa1a pauxa ua yuxun1a, xon1o ce obpabo1aa a uoueu1a. ho uen e
c1exoaa1a pauxa ua yuxun1a, uaauxana yuxun1a, obpabo1aa|a ce a
uoueu1a. Axo uannueuue1o ua eua yuxun aaapmaa, ueuua1a c1exoaa pauxa
ce o1c1paunaa o1 c1exa.
8u1 ua c1exoaa1a pauxa aaaucu o1 peanuaaun1a. C 1ouuoc1 o uapeba,
1n uua aua:
Obnac1 ua ueu1uuxa1opu1e a nporpaua1a ua C++
heu1uuxa1opu1e oauauaaa1 uueua ua xouc1au1u, npoueunuau, opuanuu
napaue1pu, yuxuu, xnacoae. hau-ob|o xaaauo, uua 1pu aua obnac1u ua
ueu1uuxa1opu1e: rnobanua, noxanua u obnac1 aa xnac. Obnac1u1e ce
aaaaa1 uenauo - upea noauun1a ua ueu1uuxa1opa a nporpaua1a u nauo -
upea exnapaun. O1uoao paarneaue1o |e e uennuo, aapau nponycxaue1o
ua xnacoae1e u nauo1o aaaaaue ua obnac1.
nobanuu ueu1uuxa1opu
euuupauu1e npe acuuxu yuxuu xouc1au1u u npoueunuau uora1 a ce
uanonaaa1 aa acuuxu yuxuu ua uoyna, ocaeu axo ue e euuupau noxaneu
4opuanuu napaue1pu 4opuanuu napaue1pu 4opuanuu napaue1pu 4opuanuu napaue1pu
Apec aa ap|aue Apec aa ap|aue Apec aa ap|aue Apec aa ap|aue
Apec ua npexoua Apec ua npexoua Apec ua npexoua Apec ua npexoua
pauxa ua c1exa pauxa ua c1exa pauxa ua c1exa pauxa ua c1exa
hoxanuu napaue1pu hoxanuu napaue1pu hoxanuu napaue1pu hoxanuu napaue1pu
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 14 o1 1
ueu1uuxa1op cc c|o1o uue a unxon yuxun ua uoyna. hapuua1 ce
rnobanuu ueu1uuxa1opu rnobanuu ueu1uuxa1opu rnobanuu ueu1uuxa1opu rnobanuu ueu1uuxa1opu, a obnac11a uu - rnobanua rnobanua rnobanua rnobanua.
hoxanuu ueu1uuxa1opu
hoaeue1o xouc1au1u u npoueunuau uua1 noxanua obnac1. 1e ca euuupauu
a1pe aa yuxuu1e u ue ca oc1nuu aa xoa a pyru1e yuxuu ua uoyna.
Obnac11a uu ce onpeenn cnope ob|o1o npaauno - aanouaa o1 unc1o1o ua
euuupaue1o u aaapmaa a xpan ua onepa1opa {bnoxa}, a xou1o
ueu1uuxa1op1 e euuupau. 4opuanuu1e napaue1pu ua yuxuu1e c|o uua1
noxanua auuuoc1. Obnac11a uu e 1nno1o ua yuxun1a.
8 paanuuuu1e obnac1u uora1 a ce uanonaaa1 euaxau ueu1uuxa1opu.
Axo obnac11a ua euu ueu1uuxa1op ce cpa a obnac11a ua pyr,
nocneuun1 ce uapuua uenoxaneu aa npaouauanuun. 8 1oau cnyuau e a cuna
npaauno1o: hoxanuun1 ueu1uuxa1op cxpuaa uenoxanuun a obnac11a cu.
Obnac11a ua yuxun aanouaa o1 ueuuo1o euuupaue u nponaaa o xpan
ua uoyna, a xou1o yuxun1a e euuupaua. Axo euuuuu1e ua yuxuu1e
ca npemec1aauu o1 1nxuu1e exnapauu, pe1 ua euuupaue ua yuxuu1e a
uoyna ue e o1 auaueuue - yuxuu1e ca auuuu a enun uoyn. hpenopuaa
ce c|o euuupaue1o ua aarnaaeu aun c npo1o1unu1e {exnapauu1e} ua
yuxuu1e.
5. Macuau1e xa1o opuanuu napaue1pu 5. Macuau1e xa1o opuanuu napaue1pu 5. Macuau1e xa1o opuanuu napaue1pu 5. Macuau1e xa1o opuanuu napaue1pu
euouepuu uacuau euouepuu uacuau euouepuu uacuau euouepuu uacuau
C|ec1ayaa1 paanuuuu uauuuu aa aaaaaue ua opuanuu napaue1pu o1 1un
euouepeu uacua.
a} 1pauuoueu
euuuun1a
1 a|]
xe1o 1 e cxanapeu 1un, aaaaa napaue1p a o1 1un euouepeu uacua c
baaoa 1un 1. Moe a ce yxae ropua rpauua ua uacuaa, uo xoununa1op1 n
npeuebperaa.
hpuuepu:
1nf a|] - a e napaue1p o1 1un uacua o1 enu uucna,
1nf a|10] - exauaaneu1ua e ua 1nf a|],
doub1e b|] - b e napaue1p o1 1un uacua o1 peanuu uucna,
cha c|] - c e napaue1p o1 1un uacua o1 cuuaonu.
b} upea yxaaa1en
euuuun1a
1" p
xe1o 1 e cxanapeu 1un, aaaaa napaue1p p o1 1un yxaaa1en xu 1un 1. O1
apaxa1a uey uacua u yxaaa1en cneaa, ue 1aau euuuun uoe a ce
uanonaaa u aa euuupaue ua opuaneu napaue1p o1 1un uacua.
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 15 o1 1
hpuuepu: Cneuu1e euuuuu ua opuanuu napaue1pu ca exauaaneu1uu ua
1eau o1 npuuepa no-rope:
1nf" a - a e napaue1p o1 1un yxaaa1en xu 1nf
doub1e" b - b e napaue1p o1 1un yxaaa1en xu doub1e.
cha" c - c e napaue1p o1 1un yxaaa1en xu cha.
h a aa1a cnyuan ax1uuecxun1 napaue1p ce yxaaaa c uue1o ua euouepeu
uacua o1 c|un 1un. heobxouuo e c|o ua yuxun1a a ce noae xa1o
napaue1p u paauep1 ua uacuaa.
3aaua 3aaua 3aaua 3aaua 70 70 70 70. .. . a ce uanuma1 yuxuu, xou1o aaea1 u uaaea1 eneueu1u1e
ua euouepeu uacua o1 enu uucna. Ka1o ce uanonaaa1 1eau yuxuu a ce
uanume nporpaua, xon1o aaea peua o1 ec1ec1aeuu uucna, cne xoe1o n
uaaea, a c|o uaaea uau-roneuun ob| enu1en ua eneueu1u1e ua
peua1a.
hporpaua Zad70.cpp pemaaa aaaua1a.
Pogam Zad70.cpp
#1nc1ude <1osfeam.h>
1nf gcd{1nf, 1nf}
o1d eada{1nf, 1nf|]}
o1d 1fea{1nf, 1nf|]}
1nf ma1n{}
{couf << "n= "
1nf n
c1n >> n
1nf a|20]
eada{n, a}
1fea{n, a}
1nf x = a|0]
o {1nf 1 = 1 1 <= n-1 1++}
x = gcd{x, a|1]}
couf << "gcd = " << x << \n
efun 0
}
1nf gcd{1nf a, 1nf b}
{h11e {a != b}
1 {a >= b} a = a-b e1se b = b-a
efun a
}
o1d eada{1nf m, 1nf a|]}
// m e paauepuoc11a ua uacuaa
// a e euouepeu uacua
{o {1nf 1 = 0 1 <= m-1 1++}
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 16 o1 1
{couf << "a|" << 1 << "]= "
c1n >> a|1]
}
}
o1d 1fea{1nf m, 1nf a|]}
// m e paauepuoc11a ua uacuaa
// a e euouepeu uacua
{o {1nf 1 = 0 1 <= m-1 1++}
couf << "a|" << 1 << "]= " << a|1] << `\n
}
hannueuue ua nporpaua1a hannueuue ua nporpaua1a hannueuue ua nporpaua1a hannueuue ua nporpaua1a
4parueu11
couf << "n= "
1nf n
c1n >> n
1nf a|20]
euuupa u aaea c1ouuoc1 ua n, a c|o euuupa npoueunuaa a o1 1un
uacua. hexa aa n e aaeeuo 5. 8 peayn1a1 e caaeua c1exoaa1a pauxa ua
ma1n. Oh o 1oau uoueu1 uua aua:
n 0x00664
a|19] 0x00660
a|1] 0x0066C
a|17] 0x0066 c1exoaa pauxa
... ua ma1n
a|2] 0x0066AC
a|1] 0x0066A
a|0] 0x0066A4
yxaaa1en ua c1exa
ma1n ...0x00401023
gcd 0x0040101 nporpaueu xo
eada 0x00401019
1fea 0x00401014
5

5 u 5 u 5 u 5 u
85 85 85 85
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 17 o1 1
Obp|euue1o
eada{n, a}
ce peanuaupa xa1o ce capaaa1 opuanuu1e c ax1uuecxu1e napaue1pu u ce
uannuu 1nno1o. 3a en1a ce opuupa uoaa c1exoaa pauxa - 1aau ua eada,
a xon1o aa opuanuun napaue1p a ce o1enn1 48, a xon1o naue1 ce
o1xonupaa c1ouuoc11a ua ax1uuecxun napaue1p a {apec1 ua a|0]}, aa m
ce o1enn1 c|o 48, a xou1o ce o1xonupaa 5 - c1ouuoc11a ua ax1uuecxun
napaue1p n. 1nno1o ua yuxun1a ce uannunaa xa1o bnox. Onepa1op1 aa
uxn
o {1nf 1 = 0 1 <= m-1 1++}
{couf << "a|" << 1 << "]= "
c1n >> a|1]
}
e exauaaneu1eu ua
o {1nf 1 = 0 1 <= m-1 1++}
{couf << "a|" << 1 << "]= "
c1n >> "{a + 1}
}
u ce uannunaa no cneuun uauuu: 3a nna1a npoueunuaa 1 ce o1enn1 48 a
c1exoaa1a pauxa ua eada. 1 nocneoaa1enuo npueua c1ouuoc1u1e 0, 1,
..., 4 u aa acnxa c1ouuoc1 ce uannunaa bnox1
{couf << "a|" << 1 << "]= "
c1n >> "{a + 1}
}
Onepa1op1
c1n >> "{a + 1}
aaea c1ouuoc1 ua uuexcupaua1a npoueunuaa a|1], 1u xa1o a + 1 e
apeca ua 1-1un eneueu1 ua a, a "{a+1} e ueroaa1a c1ouuoc1. 1axa aa
yuxun1a ce pabo1u c opuanuun napaue1p a, a a euc1au1enuoc1
euc1aun1a ce uannunaa1 c ax1uuecxun napaue1p - euouepuun uacua a.
4yuxun1a eada pabo1u c uacuaa a, a ue c ueroao xonue.
n 0x00664
a|19] 0x00660
... c1exoaa pauxa
5

0x0066A4
Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua Ocuoauu eneueu1u o1 nporpauupaue1o ua C++ C++ C++ C++
{ by 51AN } { by 51AN } { by 51AN } { by 51AN }
c1p. 1 o1 1
a|0] 0x0066A4 ua ma1n
a
m c1exoaa pauxa
ua eada
efun - apec
1
yxaaa1en ua c1exa
Cne oc1uraue ua xpan ua yuxun1a uannueuue1o u aaapmaa u ce
ocaoboaaa c1exoaa1a u pauxa. 8 peayn1a1, npau1e 5 eneueu1a ua uacuaa a
nonyuaaa1 1exy|u c1ouuoc1u. Onepa1op1
1fea{n, a}
ce uannunaa no auanoruueu uauuu. O1uoao ce pabo1u c ax1uuecxun
napaue1p - uacuaa a, a ue c ueroao xonue. 8 1oau cnyuau, eneueu1u1e
a|0], a|1], ..., a|n-1] ua a cauo ce cxauupa1 u uaaea1. he ce uaapmaa1
npoueuu ua 1nx. 3a a ru aa|u1uu o1 uenpaaouepeu oc1n, e obpe
opuanuun1 napaue1p a a euuupaue xa1o yxaaa1en xu nna xouc1au1a,
1.e. xa1o consf 1nf a|]. 1oraaa acexu onu1 a ce npoueun a|1] {1 = 0,
1, ..., n-1} a 1fea |e npeuaauxa rpemxa.
4parueu11
1nf x = a|0]
o {1nf 1 = 1 1 <= n-1 1++}
x = gcd{x, a|1]}
uauupa uau-roneuun ob| enu1en ua eneueu1u1e ua peua1a.
8 aarnaaun1a ua nocneuu1e ae npoeypu ropuu1e rpauuu ua uuexcu1e
uora1 nauo a ce yxaa1. hanpuuep
o1d 1fea{1nf m, 1nf a|20]}
u
o1d eada{1nf m, 1nf a|20]}
ca aanuuu aarnaaun, uo xoununa1op1 ue ce uyae o1 ropua1a rpauua.
1pnbaa1 uy cauo cxobxu1e |], aa a paanoauae napaue1p o1 1un uacua. Moe
c|o a ce uanonaaa a1opo1o npec1aanue ua opuaneu napaue1p o1 1un
uacua, 1.e.
o1d 1fea{1nf m, 1nf" a}
u
o1d eada{1nf m, 1nf" a}
1eau npec1aanuun ua opuanuu1e napaue1pu ca uannuo exauaneu1uu.
3abenexu: 3abenexu: 3abenexu: 3abenexu:

Das könnte Ihnen auch gefallen