• Keine Ergebnisse gefunden

N/A
N/A
Protected

Academic year: 2022

Aktie ""

Copied!
306
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

! "

$#&%'

(*),+- (.)/+1032

415674

+8 )/+ 9;: :

<>=@?BADCFEGIH'?JLKM?BNPORQBHFSUTWVYX@Z\[^]M_3`bac[d]Y]

e

Of?hgQiEQhOIjkOIQBEhOl?mVn]Y]M_poFqsr

e tvu

HF?BAxwzy|{

}F~€/7‚„ƒ…

†

ˆ‡ˆ‰~€ ŠŒ‹Ž,

†

~d'‘“’•”n–

†

7

—™˜›šœŸžc ¢¡/¡¤£'¡¤¥¦œ¨§©œŸªd«­¬¦®Dž°¯±¥™¡©²$«ž¦®³¬7¡¤¯•´Ÿ®Dµ³¬¦¶€¥™®Yªd¡¤¬¦®Dž›·›¥¦œ¨¬Ž¬¦®Dª¸ /¹º¤¡»«¼µ™šœŸ²„½‰œŸ®Dž™®Dª¾«¼ª€¿U¬¦š€®M«¼¶¬¦š€¡¤¥Àž

(2)
(3)

Contents

Contents 3

1 Introduction 9

! ! ! ! ! """"""""""""""" $#

%&('*)+,-./ ! ! ! ! ! ! """"""""""""""" (0

1 243)5! ! ! ! ! ! ! ! ! """"""""""""""" (0

1 6789 : ! ! ! ! ! ! ! ! """"""""""""""" (0

1<; 6789,=)>?! ! ! ! ! ! ! ! """"""""""""""" (@

1BA CDE:)+FGHFI)J! ! ! ! ! ! """"""""""""""" $K

1L0 M4 NO)PNQ ! ! ! ! ! ! ! ! """"""""""""""" $K

1<R ST:)/ F&! ! ! ! ! ! ! ! ! """"""""""""""" $U

2 Foundations 21

1 V*WFG)X6ZY Y[/ ! ! ! ! ! ! """""""""""""""

1 \H)O]-93F^_/)`F+ ! ! ! ! """"""""""""""" ;

1 67)F7/3a Nb,=)c ! ! ! ! """"""""""""""" /A

1<; de9`> ,39 3`:)fbF"! ! ! ! ! ! """"""""""""""" 0

1BA gh!__PN,9`>)^i ! ! ! ! ! """"""""""""""" R

1L0 jk ,Fh/3a>lm>`>)F ! ! ! ! ! """"""""""""""" @

1<R gn1E>FX/3aPN,`>)9/ )op! ! ! ! """"""""""""""" @

1L@ qr)^>/ F ! ! ! ! ! ! ! ! """"""""""""""" @

1<K jkONs9 F ! ! ! ! ! ! ! ! """"""""""""""" @

1<U de39>)W9>^F&/3a9/>F ! ! ! ! """"""""""""""" K

1$#tCDs9uv`>)Fp ! ! ! ! ! ! ! ! """"""""""""""" K

1w2x]19^F^F^Fy ! ! ! ! ! ! ! """"""""""""""" U

1 zq{f// ,FZ/3^f// ,F ! ! ! ! ! """"""""""""""" ;#

1$;tCDE:)F|! ! ! ! ! ! ! ! """"""""""""""" ;#

1A}\))>)F ! ! ! ! ! ! ! """"""""""""""" ;;

1(0zgh"WFI)Zc^>fHFG)3 ! ! ! """"""""""""""" ;b0

1$R~ST:)/ F&! ! ! ! ! ! ! ! ! """"""""""""""" ;b@

1(@~ b/ F ! ! ! ! ! ! ! ! ! """"""""""""""" ;U

1$K~2x]H>`FGF ! ! ! ! ! ! ! ! """"""""""""""" Ab#

1$Ut679/ F ! ! ! ! ! ! ! """"""""""""""" A

(4)

1 de)>F ! ! ! ! ! ! ! ! ! ! """"""""""""""" Ab;

11 VXF^F^`N)fH)o_/3>`3`!P E>)^Fz""""""""""""" AA

11 2x]19^F^F^a)GF ! ! ! ! ! ! """"""""""""""" AbR

11<; 2 f// ,9)9+:]19^F^F^F_ ! ! ! ! """"""""""""""" AbR

11BA V&)>)^`XE>)Fh)T)vE ) """"""""""""""" A@

11L0 jk ,T/ ! ! ! ! ! ! ! """"""""""""""" 0H

11<R gh")oE",F^3 ) ! ! ! ! """"""""""""""" 0

11L@ ]=3:]HFGF^FX/3a`>fb>FGF*! """"""""""""""" 0;

11<K k9^_>FG)O) ! ! ! ! """"""""""""""" 0/A

11<U de)/ E)vEF ! ! ! ! ! ! ! """"""""""""""" 0R

11$#~ST:)/ F&! ! ! ! ! ! ! ! ! """"""""""""""" 0@

11  b/ F ! ! ! ! ! ! ! ! ! """"""""""""""" R=

11 z2x]H>`FGF ! ! ! ! ! ! ! ! """"""""""""""" R

11$;t679/ F ! ! ! ! ! ! ! """"""""""""""" R;

1B; k $/FD ! ! ! ! ! ! ! ! ! ! """"""""""""""" Rb0

1B;H k1 $PN,`>)F ! ! ! ! ! """"""""""""""" Rb0

1B;H gh")oE sm1 ! ! ! ! ! ! """"""""""""""" Rb@

1B;H<; \19G)&``,)h>f// ,9) ! ! ! ! """"""""""""""" @#

1B;HBA ST:)/ F&! ! ! ! ! ! ! ! ! """"""""""""""" @#

1B;HL0  b/ F ! ! ! ! ! ! ! ! ! """"""""""""""" @

1B;H<R 2x]H>`FGF ! ! ! ! ! ! ! ! """"""""""""""" @

1B;HL@ 679/ F ! ! ! ! ! ! ! """"""""""""""" @/A

1A 6 )^^ EFG))>)F ! ! ! ! ! ! ! """"""""""""""" @R

1A= \1 `>)^4P/3aPe F^ FG)O))F7! """"""""""""""" @R

1A= d )>)^4PNZFG)O))F.! ! ! ! """"""""""""""" @@

1A=<; k 1`HFZ/3aF^`>Ey! ! ! ! ! ! """"""""""""""" K=

1A=BA d )>)^ '& DFG)O))F ! ! ! """"""""""""""" KR

1A=L0 d )>)^43 FG))>)F?! ! ! ! """"""""""""""" KK

1A=<R /,8FG))>)F?! ! ! ! ! ! """"""""""""""" KU

1A=L@ 2,9f/ `"P )>O)FG))>)F!! """"""""""""""" U#

1A=<K 671FG+)I) )>)^ FI))>)F """"""""""""" U;

1A=<U ST:)/ F&! ! ! ! ! ! ! ! ! """"""""""""""" UA

1A=$#t b/ F ! ! ! ! ! ! ! ! ! """"""""""""""" UK

1A=w2x]H>`FGF ! ! ! ! ! ! ! ! """"""""""""""" UU

1A= ~679/ F ! ! ! ! ! ! ! """"""""""""""" $#;

1<0 b) E)Z,+sE:F ! ! ! ! ! ! """"""""""""""" $#A

1<01 gh")oEF bO)&9339,=s9 ! ! ! """"""""""""""" $#b0

1<01 ]=3:]HFGF^F 9`fb>^F^F 9/3)F """"""""" $#b@

1<01<; 2x]1 `)h`fb>F^F ! ! ! ! ! """"""""""""""" $#K

1<01BA jk ,T/ ! ! ! ! ! ! ! """"""""""""""" $#U

1<01L0 b)9.E)71,.sE>hFGHFI)F! ! """"""""""""""" $#

1<01<R gh d 24242yFI)/393-@0/A ! ! ! ! """"""""""""""" (0

(5)

1<01<K ST:)/ F&! ! ! ! ! ! ! ! ! """"""""""""""" #

1<01<U  b/ F ! ! ! ! ! ! ! ! ! """""""""""""""

1<01$#~2x]H>`FGF ! ! ! ! ! ! ! ! """"""""""""""" ;

1<01 679/ F ! ! ! ! ! ! ! """"""""""""""" 0

1BR V&GHFZ/3E)>F ! ! ! ! ! ! ! """"""""""""""" @

1BRH V&^_)o1EF ! ! ! ! ! ! ! """"""""""""""" @

1BRH de9)N/

^$1FT! ! ! ! ! ! """"""""""""""" U

1BRH<; &/3J/``FGF&)+ )FJ! ! ! """"""""""""""" U

1BRHBA V&^HF& )ZFG P 3FG`>s9Q ! ! """"""""""""""" $;#

1BRHL0 d )>)^(fb>D.`)/> ! ! ! """"""""""""""" $;=

1BRH<R M )^>Z)oEFX93PN,9`>)^9/ )ot! ! """"""""""""""" $;

1BRHL@ V&^ ) em):Z`>fb>FGp! ! ! """"""""""""""" $;b0

1BRH<K M )^>XO)>)` ! ! ! ! ! """"""""""""""" $;R

1BRH<U SD19/`D^/ `$)! ! ! """"""""""""""" $;U

1BRH$#zV&^HFZP `9/`:)>F ! ! ! ! ! """"""""""""""" Ab;

1BRH ,9 )3F^9/ ^$1F ! ! ! ! """"""""""""""" A@

1BRH k>b3 ^HFZ/3E)>^F*! ! ! """"""""""""""" (0@

1BRH$;~ST:)/ F&! ! ! ! ! ! ! ! ! """"""""""""""" (0U

1BRHA} b/ F ! ! ! ! ! ! ! ! ! """"""""""""""" $R=

1BRH(0z2x]H>`FGF ! ! ! ! ! ! ! ! """"""""""""""" $R

1BRH$Rt679/ F ! ! ! ! ! ! ! """"""""""""""" $Rb0

3 Functions 169

;H V*WFG)X6ZY Y PN,9`:) ! ! ! ! ! ! ! """"""""""""""" (@#

;H M /3mFG)`3)F ! ! ! ! """"""""""""""" (@H

;H ,`>)a3>W99)F ! ! ! ! ! """"""""""""""" (@;

;H<; ,`>)a`$/ F ! ! ! ! ! ! ! """"""""""""""" (@/A

;HBA gh")oE fb3-! ! ! ! ! ! ! """"""""""""""" (@/A

;HL0 ,`>)9FZ/3aF^`>Ec! ! ! ! ! """"""""""""""" (@0

;H<R M `3,=/ {/ ! ! ! """"""""""""""" (@K

;HL@ V&^HF&/FhPN,9`>)^a^,9>)F ! ! """"""""""""""" $K#

;H<K 13, N

)c ! ! ! ! ! ! """"""""""""""" $K

;H<U &F^+ s^_PN,`>)9Fh ! ! ! ! """"""""""""""" $KK

;H$#~ST:)/ F&! ! ! ! ! ! ! ! ! """"""""""""""" $U#

;H  b/ F ! ! ! ! ! ! ! ! ! """"""""""""""" $U

;H z2x]H>`FGF ! ! ! ! ! ! ! ! """"""""""""""" $U;

;H$;t679/ F ! ! ! ! ! ! ! """"""""""""""" $UK

;H h`,=F^ ! ! ! ! ! ! ! ! ! ! """"""""""""""" #

;H1 Vw'h^ ,= ! ! ! ! ! ! ! """"""""""""""" #

;H1 gh!`/ EFG)` ! ! ! ! ! ! ! """"""""""""""" #;

;H1<; /F^`T/`>)`_! ! ! ! ! ! ! """"""""""""""" #A

;H1BA Z`,=FGfb>FG,9FZ)>)z ! ! ! """"""""""""""" #R

(6)

;H1<R \1^) ! ! ! ! ! ! ! ! """"""""""""""" #U

;H1L@ qr3_b>hFGHFI)F ! ! ! ! """"""""""""""" H$R

;H1<K ST:)/ F&! ! ! ! ! ! ! ! ! """""""""""""""

;H1<U  b/ F ! ! ! ! ! ! ! ! ! """"""""""""""" ;

;H1$#~2x]H>`FGF ! ! ! ! ! ! ! ! """"""""""""""" ;

;H1 679/ F ! ! ! ! ! ! ! """"""""""""""" K

4 Compound Types 231

A= \)^^,9`:)F XM N/aCD 3-ST)_ ! ! ! ! ! """"""""""""""" ;

A= \)^,`>)X3>W9)9F> ! ! ! ! ! """"""""""""""" ;b0

A= \)^,`>)F&/3aF^`E&! ! ! ! ! ! """"""""""""""" ;R

A=<; +sm>X``F^FJ ! ! ! ! ! ! """"""""""""""" ;R

A=BA de9)N/

)_93/F^F^9>)p ! ! """"""""""""""" ;b@

A=L0 &F^> e3>W99>3-E>)^F ! ! ! ! """"""""""""""" ;U

A=<R ST:)/ F&! ! ! ! ! ! ! ! ! """"""""""""""" /A

A=L@  b/ F ! ! ! ! ! ! ! ! ! """"""""""""""" /A

A=<K 2x]H>`FGF ! ! ! ! ! ! ! ! """"""""""""""" /Ab;

A=<U 679/ F ! ! ! ! ! ! ! """"""""""""""" /A0

A= gnETjkON/)FT! ! ! ! ! ! ! ! ! """"""""""""""" /AbK

A=1 ZPN>^`!)o1E>F ! ! ! ! ! ! """"""""""""""" /AbK

A=1 6h/ {s_f/ ,9"/3a`$ ms1PN>^`c! """"""""""""""" /AbU

A=1<; Z>),= s1f/ ,9"/3 ^>),=s >PN>` """""""""""""" 0#

A=1BA !,F^> 3>W93-E>O)F! ! ! """"""""""""""" 0H

A=1L0 67FG) )o1EF ! ! ! ! ! ! ! """"""""""""""" 00

A=1<R 9)Z:]=/`>) Fh`FG)) 5 ! ! ! """"""""""""""" 0@

A=1L@ 67FG) PN>^`F ! ! ! ! ! ! """"""""""""""" 0K

A=1<K 67FG) )o1EF&/F7>),=)oEF ! ! """"""""""""""" 0U

A=1<U a)^ ,F^ `FG) ! ! ! ! ! """"""""""""""" R#

A=1$#t b/ F ! ! ! ! ! ! ! ! ! """"""""""""""" R=

A=1w2x]H>`FGF ! ! ! ! ! ! ! ! """"""""""""""" R=

A=1 ~679/ F ! ! ! ! ! ! ! """"""""""""""" RA

A=B; 6 N/F^FGFT! ! ! ! ! ! ! ! ! ! ! """"""""""""""" RR

A=B;H 24`$9F^, NO)! ! ! ! ! ! ! """"""""""""""" RR

A=B;H M4,=s9 ` /3f/)J ! ! ! ! ! """"""""""""""" RU

A=B;H<; +sm>&PN,`>)9F ! ! ! ! ! """"""""""""""" @#

A=B;HBA 67FG)^^,9`:)F ! ! ! ! ! ! ! """"""""""""""" @

A=B;HL0 ST>P /, )h`FG)^,`>)Z ! ! ! ! ! """"""""""""""" @;

A=B;H<R &F^> e3>W99>3-`fb>^F^F_! ! ! ! """"""""""""""" @/A

A=B;HL@ +sm>&m>)^F ! ! ! ! ! """"""""""""""" @0

A=B;H<K ZFG)>3a)vEF ! ! ! ! ! ! ! """"""""""""""" @@

A=B;H<U 67 NF^FZ3>W9)9F ! ! ! ! ! ! """"""""""""""" @K

A=B;H$# &/3c1,+sm>Fh! ! ! ! ! ! """"""""""""""" @U

(7)

A=B;H ~ b/ F ! ! ! ! ! ! ! ! ! """"""""""""""" KR

A=B;H$;~2x]H>`FGF ! ! ! ! ! ! ! ! """"""""""""""" Kb@

A=B;HA}679/ F ! ! ! ! ! ! ! """"""""""""""" KU

A C++ Operators 291

Index 294

(8)
(9)

Chapter 1

Introduction

(10)

1.1 Why learn programming?

! " $#&%'()*+,)-#./0*)12,)3+465798:;<=

>3<:<)?1"@'A+657/'A+012<./-#B/C D)E5CF&G;<//HI)J

#KILM://N:/' O'KLM7/:!-P!57Q.QB657RL=<:6ST/!01"'I

#USWV$%F&XNY9657B1"! Z1[+012=-#\5CF&]N&9657^/:!1['I

_`!a8M57<L@bcVd./-RefLYL=:g0h=10012<.ji/k&ldmCn/o

p 5&10.A.Q/!01qr,sgLt U1[M.Iuv5C+jw/']LM7<:ELM://N:/' 1[./-E)xuv5&Vy1[z10.1['E{

L=:g2MST:|Vh}EM ~V

,9FG

/']LM7<:?LM:</N:/'E./-?;!CE+ €.Q@

'Z)

657<'

9>|E9 9 PN 8uIs )F^39$1F ).F^,)o19`$ `>)/9F.-F^>`>)

`$/ 3

/'KLMC<:^.<‚Q10 " €.

d )F& FG)>3 )>^+)X9`> ,39„ƒ

:/)

4… s$/<

r

_Ru`<:L=1"M

g79>F^ ^ )^9 9/F_P

!LYLt Z12,+012}LM:</N:/'j.

X/F8)^ O) 9fb sE 'Z)^)^ s

`>G)/_E9 X†e_) sE(fbT`$/F^F O)`>F^P)h`GE)C‡ )+sm ,F^>3s1_)>7E>

†ePNZ:]8 =.F/ F7>>F^))fbg‡

gh

'KLMC<:W.<‚Q1[ [ ~.

F^`>))n/ FG! FI)k)^F bRˆ

pŠ‰|‹

cŽR]"4g7F^

)9/F P LM:</N:/'^'j1"7N U7N*NY<. n /, F ,F^3|) FG)^^,9`:) +/

`89,=)>$ ZF^ " N9,9/

Vh

`$/'Z)X)D/F )^ O) 'X F^,=s FG

1,) _sE ,F^3as1)>^F Zsb,=FG P

V `>8 ,=):/ F FI)_P FG)^,`>)^F_)^ sE /,=)_)^`$/ `F^F^>3 s1

`89,=)>$ g7+`>8 ,=):T)F^ P4FDFG),=93d / )^9 ) ` `>FDP ) /-

de )^9F F^F^ k-/ PN.)`>8 ,=): F. b_-` 1sE `E_PN FG8'X

`$/)D` >fb> '&)afb>^a )>3 F 1 F 8>F^F^fb F^, )F&`$/-sE s)/9>3 )=,

.FG)> es eFG)> FG)G,`>){

FG)DE9 "F^89 _,F^ F uI,FG)X b!)>,F^ ` 1sE HFhV F/ F&>>F^)

)fb rPN":]=/89 E3F O99 `$)a/FT/FT)1 FDPN"FT'7 m.g7 P /`:)")9)Tb,

h$/3 )Fn >)Fk,F4sE :fbh)9)4b,8E)>)N sE> ")!)^9Z`$)>^+PmE9 7'X

/ FG 3a)^ '&^)D/F

gh>^TX_/ ^$/F^F PN 'Z) 9^/F \1Z89 (b> )n 8PN7) FG

s /` Z`,=F^!) , ) =s9,)Z, )_O) )>"FZ 3>E:Z/F^asE3 )Z)^ O)

'7Z9 N ) :]19 N/8:]1)$ g79&,9F^)nFn)^ O)k('h/39$1F b,`/9)nsEX F^>,9Fn>

>)k/ Z"F^:,FnFG`)FG) b'X),)n)n $FG) F^ s /F^`Z/9&F H Fx2xfb_8 >F^F

F^>^,FX`)^:]H)F m'7 `$/ `>93 ) $^ / 1sE`/,F^.)X`$ sOsE,=)

. )hP PN, /3aF)^F^P /`>)^{

de )^98)o'7)>)^ `>),=^ x`>8 ,=):F 9fb8>fb ,=)

3 )8'h F^`>9`>_/3

>9 3|g sE_``>:) k'7_'X ,93>G )F 'X)|5:]8 P

_)_O)`FM‘4,9^s Os 3M’) ]HE`:)Z_O) ) sEX>)38WFI)7_`9>`>)'X)

`89,=)>F/“ 39>3 _/ _O)_)`>N/F!FG)^ ,F^ m>/3|m` 7y 39/ s /F^F

uv5C+

(11)

`FGF^ )D'Z)n39('X /`>)^, 11,.sE>F /3+)^XE>PN `/ `, N)^Fr'&) ) s 9/3r

g79F!9E3 ) FG- ,` ?'Z)_1PNF PN 9:'t)^F s9,=) ) 1`>F^F P

)1[7N )^9>F^X)F>ng7Fk`F^F7P) ,9F )..Ofb:Z_8`>9`:>)T:]=/89 F

h`,)::]8 F 1 3>7)+F^T`:^)/ )^)>^9F H7).39F^`(fb>Z)^ O)7F^XFG)O))

F P/ F^yg7a`89,=)>+9/F )^^3,9FG /``> >)^35)F `F^F s1 ) H9 Ofb:8)

,=)!'7 mT b,? -) 8_O)_)`>N/M’BF7)> /3-)3 mb, FG) W93 >

>)G)>FZ/3-/ 13FZP FG)^/ FGH.sE F 1s9,)ZFG)h b> ,9.sE>^Fh >h)9/ )^{

gh>^ Fa)9`a)^ O)_9` | ,FG)^)F )^9-FG),9)h/3y)FF8)-F^$O` PN

) ‰ <:g.Q/=XLM:!1"'I!. Tde|$RAA 9)=^` a/3 _)_O)`N a^ >F^

FG)s9 F^3)"PN O'&+`> N/-

Mersenne’s Conjecture.

p 57|=h'A;/<:g. S|657GSQ:!'

2 n − 1

:<?LM:!1['A

=h'A;</:g.aSQ:

n = 2, 3, 5, 7, 13, 17, 19, 31, 67, 127, 257

- ;!C SQ:zI657<:z=C'j{

;/<:

n < 257



>F^>9`^>FGE33 '&) _/ P7) $/3a_)^9>_)`/F"O) )9) ) F^

Fk`>buv`:),=XsE`$Z'X39> HO'&{ Z_)

n = 7

b,_`$/fb>^P8)n'X 7b,$/3)F /3a?$RAA H)"`>buv`:),="'h/FZ/ ^$/3=fb>W93,)

n = 19

d ) ) +)9/ 1,3^3 b$F ,)^ n)8:]1).:]Hm9>) >FG9Q’BF. FG)!`, 3

sE fb>W93{zde* :)^)>_) k>, X9,=s9 F^3 (@@ &qr>99^3 2 ,9 > (fb3 )^ O)

2 31 − 1 = 2147483647

F -_1,.sE>$ k,=) $Kb@R k/)> ,93=>3|b$F N):

>FG9 EFG),9,F^ a`>fb3 $f1 s9 (' 243,93 q{,`$/F"(fb3 )9)

2 67 − 1 = 147573952589676412927

F Xk1,+sm>† q{,9`/FxF^O'7>3 Fx /F^F^+PN4 N , sE>^Fx/ F^Z'X. fb>)3.) p

u`<:W S ˆ 1

,

g‡:xq{,`$/F<’F 1P=3F ) '7 ")

'h b,'7, 38 ]HE`:) )k3F

:]H9s ) T9^ZP`>) P

2 67 − 1

† )&FG)n3`:)k'h P (fH )^ O)X+1,+sm>&FZ)&g‡ Hs9,=)&)&,F^FX+` >fb:D3`>)&,)hfb)3

s1-qr,`$/FD )^9!F/!b$O$Tgh P /`:)FO)-P

2 67 − 1

>_/3-, HO'& PN /)>

0.bF

de $U#; H Z FG 67 "'h/FZF^`9>39, >3 )^8fb + `>)^,^") )^9!VX>`/ a)^9

_)`$/ {\1`>)o ='XF^T)) T'hFLCTa) 9`>)F^)Pxqr Z,+sE:F<’n6 T'7)h)

) s9 N/`1smb3E/3 'X),=)XF^$18F^ '73m WFG)D'&^) 3O'&?8`$ `, N))

s)/

2 67 − 1

s_>E$O)3a+, )9 `)+'X))o'7=k%&TW99/ 9/3)!,9.sE>

147573952589676412927

)hs /`1sEb^3r ghZ'Z)h3O'&/)>†e ,` ^Z)>>FG)+‡ `$/ `>,9 )+PN

)T9^13,`>)&Pr)o'7 1,.sE>F>

761838257287 x 193707721 ---

761838257287 6856544315583

2285514771861

5332867801009

(12)

5332867801009 5332867801009

1523676514574 761838257287 --- 147573952589676412927

67 X9/38Ofb>3)9)

2 67 − 1 = 761838257287 193707721

/_ 1")hF^, ) P{qr,`$/F sE >f/s9 ")_>fb:^1sE3=

2 67 − 1

FX) "1,+sm>T%& >`fb3 FG)93(fO)F PNh)F7/``89 F^)k/3 NO)>Z/3)^)>38)9)7"9/3'7 b3W993 )F^ P/`>)^F

>fb>G-\1,39$ PNh)" NFG)7)="bF

g 139 b, `/-FG)G)T `89,=)>&/ :s9+/J-b,=D`89,=)>P† +E9, NZ

F

Maple

‡ 9)o1m"

ifactor(2^67-1);

/3'&)_ F^Fh)9/a.F^`>93-:)Z) ,=)^9,)

(761838257287)(193707721)

g FG,9_O

Z1,3=3?b$OF / rs /)&_)_)`N/a>39>3 )=.b$FT)

`,= 'X) aFG,9 ) )9). ,` F^F s N/) E9 ?† '7__) )/ 1 sE,=) b,h‡

`, 3 >) F^F )9/ F^`3 )139 ,F^ `89,=)> /3 ) )!/- g79F

F^>F83FG),=^s9 O) WFG)FG) /3y)^9 1 sm,) ) `>,F )PDF8 PNa67

3>fb)3 )-)9^s b,|_?>fb5PN> F^^^ PN+-E‘4, FG9, 3M’)<“4O)> x)

FG)G 9/F7)="8E^)/) F^F^FhFG)^

Tool skills.

q{F^F^+hF )9)46 ’Fx`$/ `, NO)Fr'7:7:]H)^^ !398`, ) fb.) )1 F

"9/3A† E> HE` H/3s s9 8fb>^ 13 >)/ {O)>)`g‡:xTfb) ) F Vh

9fb3† ) `89,=)>D93 8`89,=)>X/ >s./ `/ 3

Maple

‡ r6 ’BF&`$/ `, NO)F

$/FI ^,)^? F^,=_)9) 67 _'7, 3 PN hF^^G PN /b9,F^ )F^9:'

) Fn .)">13,`ZF^Z,93=>3 b$ 38`$/ `>,9 ){ ZF^PN, >'y) Fn $/38)"9:'

EF^FGs9 )F 93+`9/ F> CT+)79 9/3)F

+ " uv.

b,.) 39Tn)9/+b, `, 3

3 sEPN^“ )^9")>X9/3-)&/ FG SQ://!. b,-) 38 P b,a'h)h) b> ,=-'X)

)!3>fb> 9)F> 9)^>fb>&b, 3 99('h/39HFhb,- ,FG)X/` 1,^!/3-_/)/)& $/FI)

F^Ds /F^` H('X >39TP `>8 ,=):Fh/3a9 `$O)/F

Problem skills.

q{F^F^ )v'7+F7)9) ) {F H F7/ D'7, 3 )h9fb" m3 6 D) P`>)

2 67 − 1

D6 / FG 'h/FD813-_)_O)`N_'& H>' 8 )XP )G- `, 3 ,F^!) Ffb!`/ `, N)^Fxg79FZF7)T$/F^ 'XG9 +9>33a)=Tb$F>

2 fb>?O'h3 1F E`89,=)>FD93 9 `)/FD )T>fb:^1)= /`>)^

2 67 − 1

F_$/FGsE`$,9FG )FF F^_/ X,+sE:sy)1397’FFI)/393F k,=)P/`:) N^ 1,.sE>F]†

2 1000

F!`>9FG3>3 N^+)39$C“x `>,9 P b$F x)!)TsE

2 2000

‡

(13)

P4P /`>)9 1,.sE>F&FX).FG)X)&s9 PNT'&9` FG)Xm9 +,9FI)

/`>)^, E_)9)

`)8F^ ,=) '& >fb: sEPN,93{ g79$/FG5F )9)+_/

`>^)FGHFI)Fk)9) D,F^W† ) P{F^`>,^D):>) s / H+‡ X9,= s /F^3_)

/`>)^`$/ {8EFGF^s9 )o P P /`>)^ NO!,9.sE>^F g7>PN )"'7^FG)XF^`>98PNZ)

>)o'7 b3+'7 3.'7,9 3+sE )^ O)4)^9 Is /3 ,=HF 3F^`(fb> WFG)4O'5)^"P /`:)4 N ,9.sE>^F

`) b

gh>^ O _/)>Xs9 Fh)9) .FDPTPp8F^ ,=) /FX)>a'7>^

`89,=)>"39$1F 679_s /`?) >F^ '78FI) `$/) `9`>)>

)8 ]HE)F

n

PND'X`-) 1,.sE>

2 n − 1

FD 1,+sm>$&? 39M’)D>fb H('['X>)^9:D)>

T=W9) 8_/F^,` >FG9 F deP{b,9 N/_)._ bT `)^s9,=)_> =b,

F^, 3+9) s ,=+XP /FI)>4`89,=)> '&) ) N)>FG)xfb>F^ P

Maple

bs9,) FI),3._O){ 2xfb

).`$/F^+P4s9 >FXPNT'X` `>8 ,=):FD`$/ $/ -`)Gs9,=) ) †e"/`>),9/ W93h‡

)+F^ ,=)mb,?)o19`/ ->3?)9fb8_3> ,3>FG)/399Pn)^9.s9 p 3>

) 19(' 57u

)-,F^8)`89,=)>$deP7b, 'h/) )-sE` / > +FG`)FG)

b, +,FG) ` 1, /3 _/)/ _PN,3 H('X >39 sE,=)T) s9 >FXb,?'X sE

3$/ 9 '&){ g79F P /`>)7'h/F )^,T1,3=3b$Fh/ =93 )7F FG)^ )G,, `89,=)>F 9fb

)Zb:)& 3) F^ fb )^>FG)^+s9 F s_)F^ fb>F

Programming Skills.

q{F^F^.)= F 9 )^ O) 6 33.)x fbk)^DF^ ('h/39HF /s9 >

FGE>`W9` HO'& 3.`$/ sE+)^,^9>3?)s9 > FGE>`W9` `89,=)>DF g79)T'h$

).FG))^+P4)+^) ``>!>FG9+FX9/F /3=f//`3 ,) P$.d )T),=3 ,=)

)9) >FG9 9/3?_/3 Wfb+FG) b>F

n = 67

/3

n = 257

:F^’BF" FG)T3 9)

$35)?1,.sE>F<“Z5)a)>9/3>FG9-9/3 GPN^)^) ?)a ]HE)F

n = 61, 89

/3

107

VXF PX\1>).sE> ##K n'7 HO'JAbR >F^>F 4)^9 N^FG) PZ'X`59/F /

:]1E)"P

n = 43, 112, 609

—

k,=)!3M’) sE >fb )9)T)F".'h/F PN,93?'&) l e)^9

F^ Pr/F

M ^s F 1``>,^ )"39/ PNTP /:&& F^`)FG)Z^"P)>a)Z/FG_)

F^ fb >fb 'X) `>8 ,=): /3 FI)/393 F^P)o'h8)!9/3{_de 3>!)^-)^)` )

b,-3

.<‚Q1[ [ ~.

PN&)",=) `$/ `>,9 )F /3

LM:<&;! <' .<‚Q1[ [ ~.

)^8,93>^FG)/3-/3

:]1)^/`>)D)^9.FGE`>)^F Px) s9 J)9)T`$/ -` / rsE F^ fb3 s1 8`>8 ,=):$ k,=)

)"3=b,-3 LM:<N:/'j'^1[7N ./‚Q10 " €. ) /`>),9/ 3 )

The art of computer programming.

g `` ,3+)F F^`:) >) ,9F sE+9FI) !PN"_/

E9 †e` ,938) /,=)FTPk)FTsE1 Y‡ E)+`F^F P4'&)9^/FT9/F"FG

fb>^ 9 e,)^ )ON/ /FGm`>)F./F"'7 e8? fb8>)3 )v'7P7)^9> sEPN^ .PN,9 /3

F)^F^P /`>)^{ ?!`, 3/33a_)_O)`$/ sE$,)o /3a+sE1FI)$kde9 'h &/)>

>fb>G /F^FG9)D/> PN F&)& $/FG)Z. )^) Xs )Z b /-^)^FG)$

gh8 /3=fb1`) P )F fH:' /F ST9/ 3 2hD,=){a%&8F!)

/,=) Ph1,)/ b/3 F^ FG>F PHF^>fb.sE HF >))^ 3

p 57R:gf S Ž

'KLMC<:

_:</N:/'^'j1"7N

\)^)D'X)+j4 ,kd $URK )=7P )hF^>fb fb ,F 9,=s F^3

www.mersenne.org

(14)

s1!O'!xSX/P)F PHjn ,94d j|``, NO)kF^9`> ##b0 /3 )k9 N93 ^ $/FGk39) PHj4 ,

j F #=(0^† )&FG9, 3 sE /333a)9) X1,=)-'h/F7sE- $U;K /3a-Fh'7>s /

http:

//www-cs-faculty.stanford.edu/~knuth/taocp.html

48) /FG) 89 ` ) )^F )TEF^F^s9 )9)hj4 ,FkjTdn/3jTdId '& m)hsE 'Z)^)^a/H!‡:

qr:) X1,=)-9fbT) W99/ {F>^K† 1,) Pc) sm+P jn ,9Xd ‡

p 57LM:</<.<.K SfLM:<qL7:!1[7NPLM:</N:/'j. ST:]^)1"N1[2+ /']LM7<:P10.X!.qL=<1q+ " ~V

+60:/J<01[F&<-`WM ZV ;<C.Q^1[W ;< /'j1q+ [ ZV )A.Q<1q<M01 ,+ [ ZVI:<<{

u:/)1"7N-;<7j+ ~.QH;<7.T„1[? ;<@ J!.<657<012,sgL7<:!12< '^ !5 Z10‚

'KL=./1"7NBL=Q!0:!V :B'jC./12T

(15)

1.2 How to run a program

# _`:!1[.x657<V<C.<A.1['KLt ZV <L=/) 657/1[: /Vh!. )

./2:<)Guv57<|u`W.qL7‚dc3657/'(1[M:/<!5

ƒ

\<F&<:

)1 )3./*//)1"I'A+‚T1[7N3657.T\1q)1q6.Rh)J<:g.<2)G657/1[:

u U7NtNYQ

‰ :g‚ p u1[=- p 57K# =Q/<M6. X;!:/QY) i/kmCndl!o

p 5&10..Q/!01q ,sgLt U1[M.9uv5C+10:<,+ [ ZVB'I,M. [u:!10cLM:</N:/'g- )]57u

V$x<Y;g Dz657j'KLMC<:3j:!h 1[2:z65&1[./-uR)J!.Q<:!1 ;<B657K1"7N:<)1q<M6.

1"=F& ~Fd)1[ 6579LM:<Q/!.<.\657

3) - 657

`89 : -657

`89,=)>

106.Q! S/-v)

657 E>O)"FIHFG)>  Ž ']LM7<:!-v/']LM10 D<:B)E<L7<:/+01[7N3./Vd./<'(NY!657<:

ST:!' 657

9 N)^PN

uv5&12!5Vh:<Ku:!1001[7NKLM:</N:'E.T

1.2.1 Editor

?^)"TtF4)kFG 3lm>^)nPt'Z)9 T >)^)^>$4CD9&`8EF^F4T):]H) )9)nF

E†eEPN, J‡h/PN,9 rF^ ,`.P4`9`>)>F> ZF^,9/ 9)>. `>>^)/ `>fb)F

('F^,` 8D)^:]H)nF FG)^,`>)^,^31/3+)h9,=^EF^7P9)h) ]H)nFx) )G/FGE^)4PN_O){

O)Z9/F sE>aF/3 F^+P&9 Fk)^+sE)^ >)G)>F7/39^/Fk,=)7'X'&)^

/ )^9:&Fn/)>k/FGE>`>)k)9)49/F4)"sEh) b )!/``,) xV/z Fn) sE

I$3 8s- `>8 ,=): / )9)&)X+,FG)XsE f// NOs )8)^9!`89,)^>X-> `>)^^9`

PN-_de )8PN,=),= '78) sm8s9 +)a/ 39`>)).) ) )8`89,=)>

s9,=) O'h3 1F )Z` 'h Fn) ,F^X b>sEb3/3F^89 )oE&)k{xVX

)1[:

F

/ `$)_/ )9)Z/ ('XF b,) 3FI $ 13P 1/3a `:)^`$/ 8FG)^TF^,`

)o1E>3 e ) ]H)$ g7Z,F^ZP 3)^FnF4) FG)^^`>)3 )" Pm`>,^F^x) FG

FG) =:]=FG)"^_/)` :]=`:9)^F :fb >)^)^>Fn&`>8EF^3 ,9FG!3)^FnF^,`_/Fzƒ

:)

1.2.2 Compiler

a 1a9^/ $f// s9 ) ) `89,)^> >`>)^`+PN F",F^,9/ 9)!,r

g79

'J!5&1[] U7N*NY

`89,=)> `/,3>FG)93 3`>)^ F fb>G)fb&/31,)^

3lm:)ZPJ9),=/ E N9,9/>F

?)+)^9T/F a_/`D N/,9/TFZ+fHNs9 T )>9)^fb =F^`T)9)7'7, 3

,-) s9^$ ) 9^/ ) -1,.sE>PT9^)fb FG)^,`>)^F8)9))

`89,=)> `/|,3>FG)93{?ghF F b) 9 b,+P3 ) `(fb>+PN 3> s

) .9:Z'&9` ,F^`> F7) (fb 3>h) >)Z)^ b,=Z9 N`

(fb> _` N9,9/>FTf/^ `F^3>s9 asE>)o'7> 39 lm>>)"`89,)^>F+g7 O)

F x 3> )^ ,F^ /i'&)^) PN+FGE`>W9``89,)^> V a3lm>^).`

(16)

// Program: power8.C

// Raise a number to the power eight.

#include <iostream>

int main() { // input

std::cout << "Compute a^8 for a =? ";

int a;

std::cin >> a;

// computation int b = a * a;

b = b * b;

// Output b * b, i.e., a^8 std::cout << a << "^8 = "

<< b * b << "\n";

return 0;

}

Sourcecode Executable

MZ ÿÿ@ U‰å]é×È

U‰åƒì ƒä𸠉Eô‹Eôè'Ë è‚×ÇD 0C Ç $ÀeC è.ë Eü‰D$ Ç $ eC èKàD$ 0 Ç $ÀeC è ë Eø‰D$ Ç $ eC è$à ÇD$ <0 Ç $ÀeC èàê ‰Â‹Eü‰D$ ‰ $è ÇD$ H0C ‰ $è¿ê ‰Â‹Eø‰D$ ‰ $èn ÇD$ N0C ‰ $è ê ‰Â‹EøEü‰D$ ‰ $èJ ÇD$ S0C ‰ $èzê ÇD$ óB ‰ $èZúà U‰åƒì } ÿÿ u ƒ} u Ç $ `C èÑ } ÿÿ u ƒ}

u Ç $ `C èF ÉÃU‰åƒì ÇD$ ÿÿ Ç $ è¨ÿÿÿÉÃU‰åƒì ÇD$ ÿÿ Ç $ ÿÿÉà U‰åSƒì ‹] ‹M Ç ˚JC ‹@ôŠ p9C ˆ h ‹ R S Rè Ö Æƒ ƒÄ ‹]ü‰ì]à ´& ¼' U‰åSƒì ‹] ‹M Ç ˚JC ‹ @ôŠ p9C ˆ h ‹ P S RèÏÕ Æƒ ƒÄ ‹]ü‰ì]à ´& ¼' U‰åƒì ‹U Ç ˚JC RèûY ƒÄ ‰ì]à t& U‰åƒì ‹U Ç ˚JC RèÛY ƒÄ ‰ì]à t& U‰åSƒì ‹] Ç

˚JC SèºY ƒÄ ‰] ‹]ü‰ì]éyX ´&

U‰å‹E ƒÀ ]à t& U‰åWVSƒì<ŠM ˆMÇÇEàp @ ÇEäP C Eô‰EèÇEì @ ‰eð Uȃì RèWÉ ƒÄ }Ç •Â âÿ ‰UÀÿMÀ eÀ }Ç „

Compiler

Figure 1:

/']LM10 D<:30:/M./ D+!.K657z.Qh:<//Q)JB1[MA,s$//72Y;g D\LM:</N:/'A

_/` /, P &kghF+9^1`FGF 7`$/ >3

L=:g01[7N

7`$ysmfb>^ `>,9.sE>^F^ P&)

_/`_ N/,9/F+PXV 93 tFG,s9FG)/)/ 3l >)$5VX F^ nEG) `/ sE

3"'X )a.3>)/ 3!19('X 3"P )^9TE`>,9 N)^F P ) fb fb3a`89,=)>F> k,=)Z)^9F

)o1EZP H('X >397F4) >/ '7^)^'X ) /` 1, /Fn)4F4)^3 )"Zfb>^ FGE>`W9`

`89,=)>$ VXF F^5/F )F `>8 ,=): F >9 N/`>3 s /)>. 4_/uI! O^)F PhF^,`

`89,=)> eFGE`>W9` 1O'& 3DsE`D'7^) >F^F&93 9$fb ) sm :s , )7P FG`>)`{

g a3,`8)F",93FGs9 )9 )"P `89,=)>F!/3 /F /3 )-/ O'

,F) 'Z) 9^/F8 FGF_)fb N/,9/ `†e :fb D‡+ N9,9/>F

9fbXsE_3>fb m3{ng7F^T^DFG)/393

>3 N/,9/Fn)^ O) PNQ 13_PE`8F^

sE>)o'7>9)^,/ /, F /3_/`h N/,9/xde33)^9&,9FGXPm)&'73 G`8

F^ F{uv,FG)W >3 sE`/,F^Z)>^&^7)o'7"` `>)Tb/ F CT )Zh 93'7 '7, 3 b

).'&)D9^/F + /, X)9)7FZ/F7` F^T)+ O),=/ E N/,9/T/F7EF^FGs9 4CD)

)>"9/3 E'7+9$fb.) _ b )+`>8 ,=):FT,93>FI)/3?) /8 /, ./F

'7 [“)F )F _F7s1f1,F^ 8+,` $F^>hPE)D/ N/,9/XF7` F^X)+_/`99

N/,9/

O)n3F ) $/ I)T_ b )7`89,=)>Fx,3>FG)93.) /Z N/,9/

de8)&>931/+/~9/Fn) sE&)^/F^ N)>3 )!_/`7 N/,9/xg7&1`>F^FkPm)^9F

)^9FG N)FX`$/ 3

/']LM10 U+012

ZO' b,-'X {s s9 /F I> Fh) sE>W)DP

)F '&9 X9^/! /, X``>) -de^39:h)^ 3.)T)G/F^ N)^_d4FI) m9fbD)

H(' / 9)F^T`89,=)> eFGE`>W9`X3>)/ F 13M’)7do Z)$ deP{b, '7, 3_9$fbX)^.)G/F^ N)^

)Z/~b,=FG P g79b> F ‘4,h) F^,=EF^38)^")^9FG N)h)4b,^F^ P 4deFG)$3

>)Z /c3+)hPNZb,{k\1,9`- /QF7^PN>^>3a) F&

/']LM10 D<:

“9 )h)G/F^ N)^F7

fb- /. N/,9/ 9) .Qh:<//Q)J r)_ / _/`99

N/,9/ ) ,sJ/<C2Y;g 7\1 ,= PND/ ,FG)^){

de FG,9_O^ g7 s9 sm>W)PK† 9 e >fb U‡./9 N9,9/>F8F8)9)8)^9:

! #" %$&'() *'( +(#, - .* 0/ 1* 2 $3$&4 #"5 46

7 8( %9#"5 .+( *0,2 (7 %:$&'(8;<>=?"@ .6# A$& %*CB>#EDF2 ./ %*.BGH.I2/@7 %( 9 *

(17)

s9FG)^/`>).Pi)`$O Os )>F"PhFGE`>W9``89,)^>F Mx/F"'&)G) -9 e >fb

N/,9/D`$ sED,/ 139F7Pr`89,=)>F H/FZ 9+/Fh `89 : PNZ)^9T N9,9/&F

f Ns9 D)^9T ^)`, N7`89,=)>$

1.2.3 Computer

dePkb, ^ ) )>^FG)3??'&^)_`89 >^F E)"F")"`F^F^^?)^a,93>^FG)/3 ?39

)/ kO'Qa`89,)^>!'7 1F k,=) )>F^ s F^` ` F!sE3 )3F^ P

FG)k`89,)^>F )9) :<

8E^)) ) ,3>FG)93{4g79>F^X`9 F4PN})^9

F&B<C{

'A= :<!5&1[/!0h:<

/3 )> 8E^)/) F^` / FG) / N9,9/>F

T)/ 3_) )^9Tfb Z,_/ `)`:),=

VX!`89,=)> '&)!fb Z,_/ O`9)`>),=n9/Fx

:/)J' J/!.<.9'I/'I:!V

† ZV

.F^89 _/ ^J‡ /3 //M0:/+ fLM:</<.<./1[7N„h=10 †o67M .F^89 1`>F^F^,‡

g79h_/.G FG)>F4)7/ ) sE7, s9,=) F^T39)X)9) )h/ 1,^F

/FD=9,=) E/3 39) )9)D)^9 / 13,`F /FD,=)^9,=)$ g79 `F^FG"FX) Is

Pk) `89,)^> T)":]=`>,)^F!).9^/ {$/)9)") `$^F!,=) ) F^ ,`8P

FG)^^,9`:)F 9^F^`>sE3s)^9T/c_/`99D /,

Main memory.

‘4,_`$/) 8PE)D`89,=)><’BFk_^ /F7! 9 ^O' P FG'&)`F

$/`5Ph) sE )^9: +l SD,=-9^/ :]H`,=)4FG'X)^` F+^ 9E3{

V )_/5) n)a^ `)) )a`,=^)EF^)^F P / ZFG'X)`9>F  3>W99>F )

LM:</N:/' .<2+ g79T/JFG)O)"`>8 >) 839:)>F '& O)Z9E>9Fh:]H) 6 9`>>

),9/ '7/ F^ `F^3>+,F^>+=9,=)+/3 / ,=)^9,)+F. G).Ph)/ FI))

>fb ), )8`^>FGE3 GFG'X)`9>F -)TsE )8,F^>!’F s9/ )3

E>

\1`h13>+`89,=)>F47`$O Os hP 9 9DFG>fb>/ 9FG'&)`F†e; F^$Y‡x)n)^97F

) `F^>`,=)fb FG'&)`FT./`>`3 ,=E3 )^

'I<'A:!V /< [ ~.

g7 EF^)9F

PD/ hFI'X)`F |)`> 73>W99) M<M P&)`> 0“75 s9FG)^/`>)+)>F 4)

FG'&)`F `$/ >3

;!106.

$/` P )^9>i`$ s9 P FG)a8P )8,+sE:F

{0, 1}

de

)FhF^F^ 9b,-`$/-)>^:)&)!`>))XPx+^_`> FX+s99G_1,+sm>Z'&)PN

:]=/89 =; .39)F ?!/ F^ F_)9)h'7"9fb

32

s9)h_/`99 HX

32

{ ;!10./Vd./<'

2n` ^+` mF , 1, 83)W938s1_ )F

Y)Y):<!./.

‘n,_`$) Pr)^9T393=>F^F

F^89 /Fh)^9TEF^ )P ) ^`> {) FG)7Px E^`> F

g + 1 _,=s9)7f// ,F =h)9 s9)^F7'&) FGE`>W9`"G8` 1) ` E9/F7).sE

J/!.<.Q,)

)=,)F&393=>F^Fngh _Px sE)ZQ'&)a; W9>F7)9)Zb,`$/)> m)

(fbT)^ ^8` {1,.sE>"(@1

gh )^>

:/)J' J/!.<.

^PN>F )a 9HFG`$/ E>^)o?P )8`89,=)>!’F"G

))) ) bF8) ``F^F?`> \†) GOfb) )F s )F +‡+F )-F/ PN/ h` F/“X

^)`, N m)"3F

3>E3 ) 393=>F^F"P4).` e" b,?) )>FTP

)Z^sE)n )4sE`F4` n)^ O)n93~/``>F^F `$9)4sEZ) bPN /)>3r

d ) Fk9) 9>`F^FO^) 3F^`,F^F )^9Z HF^`$/ /Fks1 'X`/3 /``>F^F7Fk/

>3t“)

(18)

.3 O) )ca^39:Z) /``>F^F&)h `) b

Processor.

‘4,-`$/a) P )!`>8 ,=):!’BF71`>F^F^T/F&+sE$] )9)&FXs9 )8 b/3/3

) :]H`,=)8) _` + N/,9/ 9FI)^,`>)F P7 / 3>g789^1`FGF^

9/F+F^_^ `> F.P&)^F ('Xk`/ 3 FG)>F /3|)+`$|)^/F^PN:839)-P )

`89,=)>!’FZ_ >^)8)^Fh>FG)>^F 93af1` fb>F1hg7"FG)>&`)>)FDO / F^

^)"Pk) /pFG))/ FG) 8E^)/) 9) 1`>F^F^!`$/ E>^PN _W=]=3 F^:) P

F^89 E:)F†e bn/33Z F^,=s)^/`>)^ZFG)> `)>)F ‡ 3`>)^ `^FIE399h)

)&_` N9b,97FG)G,`>)Fxg7F4Fn'&9:h)^9ZPN,9`:)9/ )o P )Z'X

`FkPQ)D3{n2xfbfb>^`89 `$)38/3,F^>PN,9 m/Fk`$sEX9,=) ):)>

P +FG89 DF^>)ZP _/`D N/,9/TFG)^,`>)^F

VcF^ _FG)^,`>)^ /`>)F+ b_ _)_)^`$/ PN,`>)fb )_`,=^)

FG)O) f/ 35FG)^^,9`:)|>9:)F >' /35'7 3>W935:]H) / FG)O)yg79F

89 >F")9) / FG 1,` P&FG)^^,9`:)F 4/35 ^)`>,9 )'& 8/ 9/F+

'7 3>W93 sE> f1 =3>E3+)"9)N/ 99^/cFG))^

1.2.4 Operating system

_9fb FG|)9). 3>.)-'Z)_a/ 93 ,|) xb, WFG)+9fb_)^ FG)^)+/

3) /)o1E7.) / O) `$ 1) `89 : )D)^9FG N)k)^9 / )^D_/`99

N/,9/ /3 W99/ ) =)&`>8 ,=):n)":]=>`,=)X)$ de_/ =)F GFG)^)^ G`/ T/3

I) b,?^ )^9+`89,=)>!’F

<L=<:/+01"7NO.Vd.</'

†oC"\Y‡ 8 F^ s /F^`.)^ O)

b, _ )!:fb E>`>fb )!F 9^/-.M 9, N"E>O)_FGHFG)^F!O@ƒ 1")Ju.

=1Us

‹ 1"=Js /3

‰ Jje8

=D:]8 H'X>)>Zb, FG)^)Z)!3)^Zsa` ` 1 -F^ `9&'&9:)>&b,

)o1E `_93 PN )^9F"F^:'X> {) m>)9FG1FG) _ bF!FG,^ )9) ) 3)^

/ F+ b/335) ) _/|^ 4/3|)^ O) )9^1`FGF^8FG)^)F :]=`>,)^?)$

\1 E'X b, FG)8b,= '&^)^) / )E>)aFG1FG) 1`)F FI `

PNZ)& )"93 3F /3-/F^FG1`NO)Fh)7'X)_)TW "9/Xb,-9fb (fH39>3r

V `>8 ,=):x'X),=) E>)TFGHFI)~F bh `n'&),=) )^F /3 FG) `89,=)>^F

b,`/s9,=_`X'&)! 9FI)/ >3m>)9 FIHFG)>-nd )7F 8E^))4) ,3>FG)/3

),b)^ O)4)^9hE>)TFGHFI)}F4)n:]H)G`$s9 !)3+)")h`89,=)> rb,8`$/ ) b

b,= I3('XFhMk6 /3FG) E)h,93>Xqr1,H]E

1.2.5 Platform

g79 `89,=)> )F m>)9 FGHFI) 935)^9 `89 > ^ )>)^9: PN:^3y) /F+)

Lt U+SQ:!'

.'&` b, Ok'&^)7b, 9^/F gh 3)^ F 9) ^)xPH)k9 NO)PN

F^` )h31FZ)Z 9,`T) sm9$f1hP )T9^/-

de/839/ H'7 3)>ZF !38PN4b, ) H(')^979 N)PN^ 'X b,Oh'Z)9

/F7a+ >fb E/ /, h`$/ r)9)7) /aF7) 3 b)T)

(19)

F^

"P .>^8`> Hex)T1,+sm>hPrs9)F )9)h`$ sE _/9, N)3 )>)>$ng79F F

FG) 8; )F^T39HF Hs9,=)7PNhF^X`89,=)>F ) F7RA /3PNhfb:^)fbZ`89,=)>^F

†e bT)^9:O!,F^3F^_O^)h`$3F FJ‡ 9)Z`/sE" ,` >F^Fh)^ -; 1

9> b,* ,F^ _ 1 _/`99 >)3yPN$O),=FP") 9^/

N/,9/ )PN eFGE`W `hsE9fHh)ksET)DF^, ) a >fb> m9^/

N/,9/F 9fb&F^,` ('e >fb PN$)^,^Fn)"P/` )) )^97)^9FG N)+) <12/M _/`99

N/,9/

‘4,Zb/ {F^, 3a 'hHF7sE )^ '&^)

Lt D+ST:!'E{ 1[)J2L=/)J<M

`13 F^9`>!)>^'&F^ =)

_8sEDfb>^3 `, ) )+>)7b,=h/ ) ,/)>7`89,=)> H:fbaPEb,a9fb

"`>8 >4PNk)9)k`89,=)>$xg7Fk8 F )9)k`>^)8PN$)^,^F F^, 38sE&$fb39>3 >fb

),)h)7F^ /3=f)/>,9F7)+,F^")J-.FGE`>W9`T9 NO)PN-

1.2.6 Details

j4 Z,_/M’BF43$!Pr!` ^+PN )X/ ) )D3 O)"F^>F s1f1,F

P )39$C’BF8E)PDfH>' 7s9,))^9- >FG)`89,=)>F b X=/3E,F^Q’BFE; 33M’)

'7 )9)&'hb de-){; 9PND:]=/89 H)"^_PNX) 9^/c'h/FX. ,`-)E

3`,=9 3aP^J) =9,)Z/3 ,)G ,=)Z3>fH`> 9/3Pc)!_/>^b

VX )>>FG)&PN),=kP)nfb h,_/ `)>`>),=4Fr)^ O) ) / O'&F{F^ Pe13PH9

/F> ghF^!TE9, NZ/ )"3F^9:FZP `89,)^> fH^,9FGF PNX:]=/89

ghfb Z,_/ `)`>)^,^'&)|)F )v'7 >fb F PX>^@†e_ >^ /3

1`>F^F^a^FG):F ‡Fa/*3$

3 13 X/3 '7 89 `) '7 H ,93>a)^9F

13 m)^^,9,=)7)"`>,^F^

gh / )o 1 1F&"`89 `$O)3{13> `89,=)>^FX/ FG89$fb J!57 m `$

sE 99 )^+)T_/_G s9,=)Z/ ('X +,` P/FI)>&/``FGFh)+^ ` FR†e) )

`hPE 7 NsE)Z/38:]HmF^fb&3FGh‡: ghZ3$DFn)9)nP ,) 3339)

FG)^3a)^9 `$/`")^ FGE>3a,=a)T9^/-

9 -`$/` F`>G)/ 5 113 ) 7)_ bF )- PN-P ?> ^

38`>,9 ) b,_`$/_ >n )XP/`>) )^ O) /``>F^F ) ) 39)"Fn39:E3)kP

'X>^Z)>8XFG)^3{ de_P/`>) ) >)n)&PN, m>PN_/`7sE>W)n)9) `$` `/lm>

) /: 9/F )T_ bkF^,= )9)x39)DO7/``>F^F^3 +

J!57!{,/57<:/<M

'hbxSD

)F ('7>fb> 1,FxFG `89,)^> FIE`W9`HO'& 37sE,=) )^9 `/`9 1O'& 3 '7

'7>!9/ 8)^^1 )fb3asa,F^ 9 e >fb {/9 /, F7q{,9`1 ='7

`$/ P) 9^ )FTF^F^,+/3 †eFG,9`>`F^F^PN, J‡X ) ,)^_)`"`$/` _/9/>)

sE9 lm:3{4gh>ZFn/ F^"T)^9>>)`/ =13 =PNkF^ `$ 3

J!57!{,&;g Z1[F1q7.

/ )F

8'&9` _ )z:]1 `) 3F ) 19(' )^9Z O/>):FkPm)X`/`9/nVX )F

'X` ^88`>) ,93> )^9F!13 ^E†e `>>^)/ F^F^g‡! `) PN./ ``>^>)

`$/`!FG

de ^$/ e PN9 `)F r'7_/ F^ s9F^>^fb)89 )9) )39) )^ sm89^

`FGF^3y_) NO) W) )^ )^9`89,=)>!’F._/ ^b CDE:) FGHFI)F.`$/

/,=)_)^`$/ 3$/ '&)a)F&sa `$/ :]1)38) _/->^_)8) 93 3F m

%&('7>fb> ) ./u!LYLM1[7N )^ O)X) bFX9 N`!'X 93 3F 39) )8sm./``FGF^3 O!)^9F

(20)

`$/` ,F8de?)^9F"F^),9)E) F P) ,F^ F^F")^ )8/,=)_)^` `9/F^F

(fH33as) E:) FGHFG)^F /3a)!/>7FX` 3)^8`!,= 'X)

1[&LMC47LMCR <12<M /F

2 fb>+'&9>.'7k:]H)>93.)kfb Z,_/ O`9)`>),=n)X` ,3kFG>fb>/ = $b:F P=

^ E)>+^ `89,=)>^FX)9) 39M’)DW9) {FI)")Os m)>+

L7:/+ " ! 9'KLMC<:g.

'X )T)9/-"`F^FG$ ?) 8`>)&/F7PNDF^,` `89,=)>ZFZ+)/F

) 3lm>^)7PQ"PN7)Dfb Z>,9_9_O`9)`>),=/ng +) b PN, m/3

f//) P{)D / F^ /F 9fbT)^+sET3`8mF^3__/1,9/ ).3>E3)

^)F m$/` Px'X` F&)-, s1- Px) 1`>F^F^F>Dde _ `$/F^F m)F&FD)TO)

/ {.FG)^/)^PN^'h3)/F 93 FGE`>N/

3 N/,9/F 9fb")+sE ,9FG3{

V `>)hF^,``FGF^PN, / )>9)fbZ) / 9`89,)^>F ^ >)o'7 1F P FG e`F^FG

`89,=)>F> ‘4,`$->fb `$/ E)FZ.`89,)^>XO`9)`>),=/ 9/ 1)>! *M0h'

/']LM7<:g.

)9)hXs /F^>3`89 >) 3l >) HF^`$/ ` Fk)9/)Dfb h,

_/_`)>`>),= Z/ 1,9/),Q`89,=)>F `/9) smXs , ) b>) 1s9,=)h/Fh!):)`$/

13 1,9/)^,9 `89,=)>^F+ ]=FG) k/3|/ )^9F! / /3= sE 39:fb E3 )^9F

F^9 3 EP `89,=))^{

(21)

Chapter 2

Foundations

(22)

2.1 A first C++ program

p 57E;/+./1q3 hST:G657z'A=1~LM7 U+012 SK:<+ Z100VA10.z6573'=1€LM7{

U+012 SRuR:)+.TR#US\V$ ,/M0:< 657\'I=1"7N SPu`:/)+.-fVh

/M0:< 657PL=<Lt Kuv57j'jC.<C.QK657Bu`:/)+.T

_v5&10 Z1€L3 >W12<‚Q- ˆ u Eb9h10 U)I =1[F&/:g.Q p 5C+

>GQ!./ % + [ 9LC:g

p

uRE>3V.

‹

+<:?i/k&lm o

p 5&10.K.Q/!01q|LM:<!.Q<M6.j

:g.<c/']Lt ! Ž`K LM:</N:/' )?1[M0:/Q) !.G657

FG1)`>)`$ ) F^_)`/ <:!'E.X/!.<.T:!VAjh)J<:g.<2)O+ " 106.L7:g6.T

%&> F ,=+WFG)_6hY Y - d )8/F 1F PN 1,.sE>

a

/F 9,=) /3 ,=)^9,)^F )^F

) EO'7:

a 8

deP7b,59fb >fb> F^> 6ZY Y /isE>PN k:fb|)F.F^^)+

)X -F^`$G rFG` )T`)/FT )DP4FG)^9 HFG1+sE FD/3 '7^39FD)9) O

)DPN,3 9),= N/,9/XCT ) )>D9/3 )F&FX13 9:'XF Z/FDF^^)TFD)DF

)F7/J/ ^$/3=_`)/FZ__8EG)/) PN$),=FZP ) 6ZY Y N/,9/nCT` '7

9fbD9Z)=,_)^9> )FkFG`>)1)^9Fn/ † /3_>fb)> 1s9>n/F ‡

'7M’)h _F^`$^/H

// Program : power8 . C

Á

// Raise a number to the eighth power .

# include < iostream >

Ã

int main ()

{

// input

std :: cout < < " Compute a ^8 for a =? " ;

Â

int a ;

std :: cin > > a ;

Á

// c o m p u t a t i o n

int b = a * a ; // b = a ^2

Ã

b = b * b ; // b = a ^4

// output b * b , i . e . , a ^8

std :: cout < < a < < " ^8 = " < < b * b < < " .\ n " ;

return 0;

Á©Â

}

Program 1:

LM:<N. YL=u`<:Tm$

Ž

(23)

deP b,-`89 D)F7/cab,=X`>8 ,=):&93 )a,a)!:]H`,=)s9 TW9 T9^

3,`3 s1 ) `89 > Eb, W993 )^9 PN ('X + ) FG)939^3 ,=)^9,)_gn19`$

) FG)/393a,=)^9,=)hFh)^)` 3 ) F^D'&39('*b,=&`89,)^>7F^`>>{

Compute a ^8 for a =?

‘4, `$/ ('~): /?)>> rB= r,9FG) b>1sEbO3{ VXP)^>">F^F^

) ,)G ,=)hb,=XFG`>a^$/3F&FZPN O'&F

Compute a ^8 for a =? 2 2 ^ 8 = 2 5 6 .

kPNT3F^`,F^FG!)X/

power8.C

_3>) b >) ,F (fb>7) ` ,`H b g7

FkFG)^)^ 'X))o'7.F^ N/FG9>F

//

/'^'I<M6.

“H)>_31`,) )X/QFG,9`)9)

)Z`$/a/F^ _sE",93>^FG)13 sa†e1,_/h‡n$39:$ q{"A `)F&/

1"! Z*)J!{ )1[:<!01[F&

“

)F7`$/F^ )h3`$O)F )9)7)T9^/Q,F^Fh)"=9,=)/,=)^9,=) sG

iostream

kg7

'A1"XS/C<012

'X`.F ) $^) P>fb:^6hY Y/ FI 9Fx FxR #Hxg7FxPN,9`:)

F `$ 3 s1?)m>)9FGHFG)^ 'X )89^/iF FI)^)>3t“n) 3F 'X)^

:/!0C:!

.<2+<'A<M _$UH g7 f// ,

0

FT>),=3 ) ) E>)^FIHFG)> r'&9` s1 ` fb)aF^ F )9)h) c)^>9)>3FG,9`>`F^F^PN, b

gh"_/PN,9`>)^Fh3fH39>3)+)^^" ^)^F FG) FhK )^9 =9,=)Z,+sE:

F.$/3{ q{ U ,=)^9,)^F F^F^/) ),F^> )^ O)+)^ F > 'X` 13|P&9,=).)

/ :]Hm`>)FXde 8$#8

F:!1qY;g D

a

FX3`> N3-)9)X/`>)FX/FD 9 N/`> 3>&)FI) ) 9,=) 1,.sE>$ gh b>1'73

int

93`)FT)9)

a

F )^>$ de W99/

)Tf^Ns9

a

>`fbF&)F f ,"Pc) = ,=)$

gh ? F $; (08)8/`>)^, 4`>8 ,=)O)-) bF 9 N/` de 9A >'zf/NOs

b

F 3` 3 'X` /`>)^F./F. 9 N/`>9 39:!) FG)^ )8F^, ) P7)^9`>8 ,=)O){gh f/Ns9

b

Fk9)N/ 3 )^!)&13,`>)

a * a

4q{ (0"`>8 ,=)>Fn)&39,`>)

b * b

)9)

F

a 4

93FG)F7)F7F^, )Z/b

b

gh )3 ^)Za F!(@ $K.Of13F7)"/J,=)^9,=)$ M O^)&P )&FZ) `89,

))^ P ) 39,`>)

b * b

=)9)hF

a 8

2.1.1 Syntax and semantics.

dea3>h)+,93>^FG)/3)T/

power8.C

3>)/ =/3aD8m^)/) b)+'Z)

/F"b,^F^ P7 N)^> xb, >3 ) H(' )8, F.``3-)-'X` /F O

'&^)^){ ghFGn, F PN )

./V+M2Qs

Pr6ZY Y.‘4,"PN,G)> 3 )^H(' 9(' )&)>^:)

9^/ † I'X9)h31>FZ)T9^/J39 +‡ /3)^9FZFh3>)>^3s )^9

.Q<'M012!.

P

6hY"Y k2xfb /t)9)kFn'7> PN^38/`>`3!)!)^9X6ZY YwFIH)O]_.sE 1"=Fd+ Z1q)

P F^_)`/ XE)P!f1>'! V

F+ ~1 )

/ F9 )9)aF FG1)`>)`$

)

F^_)`/ `^`:)$

d )!’BFZ) F/ 'X) O),=/ r N/,9/ _ ) FZb,-'X9)&F^)^`FT s9,)Z)

)>^>))yP F^>)` †e O^)`, NO 'X>)>)_ bF_F^>9FG?) / D‡ ,9F

``>)ZP $/=

9>-./cF7f// 3)"`89 > __,=)^9,)ha>^ZF^F^/ /3 )^9F7'&

.VM2Qsj<:!:<:g.

(24)

, F>V~/)9) F"F^_/)`$ -f 3 _ `89 'X ),)">^^F s9,=)!'7O

) ('73 ) _ b /?/F^F^,8)FTsm,) )^F sE> f1!“ )./

/C D)

, W

PNa ]/89 -P") F^>_/)`$/ D>^^ 1,FG) 9/F 5`>9FG 1,`F* G)`, N

9 N)PN^--CD )> 9 NO)PNF r)89^/i_?sm9$fbFI)^/ x.`:/F^{ 2xfb|

)+F/ 9 N)PN E)")D'7 F^>)^F s9,=)"P / 4) )> )F ? F )9)T)

/?’FmsE9fH F C)J

,) 6 $ kFG9, 3!fb3!'&^) /FE)9) :]=s9)

,39:W 3 sE9fH$

gh FG1)(].P 6hY YF FIE`W93.PN_ +&_)_O)`$/ / N/,9/ g7 3F^`>^)

PE)TF^_/)`FnF F^F FI)^`>)<“H) O)> F^>+s9 F )^9X)^:]H)7Pr N' 1/3F F^,` ) F^,=l >F

P F^F^Fh/3aEF^FGs9 TF^)>^>))Fngh" 8`N N'wPZ6ZY Y `(fb>9 sE)

FG1)O]/3aFG_/)^`F HFh)"do\=Cd 2n6 FG)/393 AbKK .P $UUKH

9 DF^,`- PN_/ FIE`W9`$O)_F73FGEFOs c†e)>^'&F^ O' F^, 3 `89 >

H(' 'X>)^9: b,=T/ )^:]H) FT/`:),9/ a_6ZY Yt/ E93 'X9)T)TFDF^,=EF^3

) 3 ‡ 7)8F)FG,9)s9 PN_ $ 6hY"Y g7^,9,=) )^9F sE1 '7a:]H9 N5)

>f) FGH)/`>)`$/ /3 F^_)`/ X)>F_ O),=/ T N/,9/ /3 s :]=/89 =

)aF baPX$/39s9 )o 4'7'& P)>) FG)^`:) 39FG),F^ sE>)o'7 FG1)`>)`$ &/3

F^_)`/ m)>F 4FG ):Fh!FI)7 O),=/ _)^3,9`>3a/Fh9fH sm)aFG1)/`:)`$/

/3aF^>_/)`$/ E/FIE`>)F 93)h39:E3F&) `)^:]H)h'X`aFGE`>)ZF7 :f/)$

Unspecified and implementation defined behavior.

\1>)F >fb>?f 3-/F&sm9$fb 3lm:)^ 8_3lm:) 9 NO)PNF<“b)F F XPE)D&,9 /FGm`>)F P 6ZY Y )9)k'7’B3

PN>k)!FG'7>>,93>n)Z,= &PN^),9)> '7&`$t’) 7)hF^F^,&`>8 >) FG`

)h1`>`$/F^9/ 8E9Fh,a I/ { PN =

gh>^ )v'7 H3F&P )PN e39:E3)7sE9fH$ g7!`>&!Fh`$/ 3 1[']Lt <{

'I/M2+012)J ,)

sE9fH$

9>9:fb>a)?6ZY Y FI)/393 `/ F_F^ /FGE>`>)P") N9,9/ G89 >)O)

3>W93 b,`$:]HE>`>) b,=k9 N)^PN~)^!`)/83`,)O).)9)kPN, FIE`W9F4)

/FGm`>)$ g7h)o19`/ =:]8 PNkFG,9`8/ 89 ))"3>W99>38/FGm`>)nFx)h,+sE:

PEs9)Fn)^ O) _ b&,= !G `> F^ \1`>)^ 1<;H de_`$F^DPE89 ))+3>W93

/FGm`>)Fk/3 F^, )^ sE> f1 )D6hY"Y*FG)939^38/38)7 )PN )>)^9: `89 >)^

3>)>^X) /`>)^, msE9fH$

gh F^F`> H93*F`$/ 3 hM.qL=//1

) ;/!5CF1q: `> P F^?,FGE>`W93

/FGm`>)+Ph)^9 /, %&>b,|`/ ^ -'7> 3>W93 /3 ,9FG,

.'A+ [

F^>)+P

EF^FGs9 TFGE`W `)F 1s9,=)7) 9 NO)PNQF7)Z^ 1,>3 ) `)a PN, {FGE`>W9`$)P

)./FGm`>)$TV )o19`$ :]8 !PN F^,`?/ ,FGE`W >3?/FIE`>)TFX)^9 :f/ , O)-3> P

E>/39F7'X):]19^F^F^F^ \1`>) 1

de '&^)D/F /,9FGm`W93FGE`>)^Fn`$9)n/ 'h1F4sEhfb33bs ,=)4,F^,9/ FG

`$^"F^,=>F&)9)h ,FGE`W >3X:fb-,93>W93sE9fHhF^, )^F

2.1.2 Comments and layout

(25)

// Program : power8 . C

// Raise a number to the eighth power .

Vy`)xFG)G)Fx'X).)o'7"FG N/F^F

//

/3 `>),F ,9) H)738P9)h 6 )F

38)Z(fH39"/PN,`>)9/ )o H$/ )9)h)"/Q'7, 3a3 :]/`:) _)!F

'X ),)h)-7-FX /J'X),=)Z`)^Fhs /3 )^9> 3

'&)^

/F PNn)&`89 :x)!)^9FG N) )t)":]=>`,=)s9 F bs9,=)k'7X F^"'Z) )tPN

)>hE9 X†e` ,93.,=F^ fbF ‡ ) /393P 1`G`>)&&:]1)3)-

),=) `)F {)8 N)G)> )/F 1F!sE`+fb>^ )^3,F"'X )^9 9^/ F )

`89 >)^ )^f1N/ e g ,FG).,F 2 fb b, '& 4) sE_s9 ) ,3>FG)93 b,=+O'& 9^

/Fh/P)^>X.`,=9 TP '7 1F ='X)^9,=)7`>)F g7>"F79

.<2)Y:/)

'h$P 'Z)9

`)F bs9,) '7D'& PN O' F^X` eF^F^X,3 9>F4CTTP{)QF )9)7>fb:^

/K :fb PZ).F.fb:^|FG89 , F^, 3 FG)^).'X)^ ^ F.PZ`>)F

)9) >) )X9^/?’BF49/X93F8'& O) ) 3F4de ,= `/F^ 1)^9TOsEOfbX)o'7 9>F

PN, _F^, `

VX)> b> PN$),= P. $/39s9 9^/ Fa)F Nb,)<“ `F^3>a)?fb:F^ P

power8.C

FG9('X M / 1w? 9fb-(fb3`)^F h/3 / G,9`>F^FG Nb,=)h )F7 b FG /`F 9 Ts HF =s9 N/ _ 9>F /3a3))F

# include < iostream >

Á

int main (){ std :: cout < <" Compute a ^8 for a =? " ;

int a ; std :: cin > >a ; int b = a * a ; b = b * b ; std :: cout < <

a < < " ^8 = " <<b *b < < " .\ n " ; return 0;}

Program 2:

LM:</N. YL=u`<:Tm /)J<M.Q,)Y

Ž

gh+`89 >&FT`89 >)> a)Tsm,)D)^9>F^ `9/F Es9,=)"m>F^ $/3)

/t'X W93_)^9F `39>9FG3fb:F^ 1,)&398`, ) )^ ,93>FI)/3{ng7X9,GEF^DPr

13 Nb,)XFX)fHFG,

) 9^/ FG)G,`>),= g79FDPNT:]/89 !$/FZ)9)T `$/

s9 1`1F P{)^9X/ F^, 3sEDF^> )3_s1s9 N/ F )9) D XP{F^,=`>`13

F^, 3sE&>FGEF^s9 XPN7 X)= # )J<M2+012 = b

power8.C

9/F )ksm>)o'7_) /.Ph`,= s`F 4F+/)>.3FGE>9F^s9 >39).Ph13 $b,=) 4/ ),9 b,

'X m N):hsm!s9 D) PN, `)T)F

gn19`/ x` NsEO)fb8F^P)o'h^_uv`>)^F+9fb Nb,).,3 F _ H9F^,=)^ O)

>fb>G1sE3y)-uI>`>)`$/ /F^ |$/3 :fb>^1sm13=y F^Q’BF`13 V )_) >fb TPT)

F^89 9^/F 3F^`,F^FG35 )F sE1 kF^,`5PN_/ ,3 F )+9>`F^FO^7“7'7

F^89 /39:&)"FG)/393,3 9>F )^ O)k9fbZ(fb)!'7 +'7 9/`>)`> 1938)^ O)

TsE9+,F^3-/ FG)h)>hsE1 _ 6hY YzFZ'7

2.1.3 Include directives

2xfb>^ ,9FGPN, /c`)/F7"Z

include

)1":</<01[F&!.

F^,` /F

# include < iostream >

(26)

&F^,9/ x)F^aO9m$ ).) fb>^ sE9 PZ)^9/-

#include

3^`>)fb>F ^ 33 FG` E 6ZY Y{_/-8EG)/)&PN$),=>F"O.9)T ^)TP4).`. N/,9/"de

FG)/3n)> 89 >)3 ) FG `$/ 3 ./2)Y:/) Z1q;!::!V 'X`|F. ^) P&>fb:^

6hY"Y 89 >))^{ V

Z1q;!::!V

F+ `$/ ,)+,F^3|) ,=5`:^)/|PN,9`>)^9/ )o

/3 )^.(fH39T) )^.)^9T,F^>Z F^,```>)hPN-4deP /`>) =)DFG)/3 O3 s9^8`>9FGFG)F7P

F^>fb:/ r sF !P '&`F7)"9,=)/,=)^9,=)7 sGb

V s^ F^)Fh)F PN,`>)9/ )v ) )T,9FG>&)TPNcPr9ThF^>fb:/ 57Y)J<:g.

24/` F^,`?$39:T`)FXPN_))9)DF&9>33 sa) `89 >Xde 3>D)_,F^

`:^)/ PN$O),=P s9^ 9/F )-9`> ,39+)`^>FGE3-9/3> )a)

/ s1 $/F PZ/

#include

3^`>)fb/ de

power8.C

x'7'h/) ) ,F^=9,=)./3 ,=)^9,=)4'&`R†e_1sE7F^,=^F^ J‡ )4 ^)4P )h`& /, xg79h`^^FGE3

$/3>ZP ) FG)/393 s^_Fh`/ 3

iostream

V '7 3F^9>3 6hY"Yy s^D9,=)F )FrPN,9`>)^9/ )oT)X 'I!.qLCJ/ g7k9/FG /`>

P{)DFG)/393_ sO^8Fk`$/ >3

std

4gh=_3> )^ ``F^FZ!PN$O),=TP )D sG '7 9fb )

t+ ~1S/V

)F 9/4'X)^ ) 9/FG /` bn

std::cin

† )F F )^9kPN$),= )9)

/ O'&Fr,F{)&/3 =9,=) P^ ) b>1sEbO3h‡:xg79F `9/F^* F{)Dfb3

'IP! D+./57!.

'X`?3l >)"PN),=F!/``3)/ a>) ) F^/ 9/ V )T) F.)^ m:]19 `)

1,9/ W9`$) `>$F^FD) $/39s9 )o P4 /FD )DFX>39) O)XP

'X` sO^-8fb> PN$O),=.`FDV 9/!)^ O)TFX) 1,9/ W >3 FX`$/ 3 C t+ ~1 )

/3a,F^,9/ `^>FGE3FZ) +PN$O),="3>W93aa,=Z('X 9^/-

2.1.4 The main function

2xfb>^ 6hY"Y*9^/}+,FG) 9fbT

main

PN,9`:){ ghDF^^)^FG) t$39F /F PN ('XF>

int main () { return 0; }

g79FZ/ 31FD)=7g79

main

PN,9`:)-FX`/ 3 s1a) m>)9 FGHFI) '&9>

b, )^ D)) ,) /?“&s9,=)'&yF) SC!01q X/3'X9)F

return 0;

F^,=EF^3*)|$/ ,9FI)a b?|_)_O)`$/ ZPN,9`:)D)

main

PN,`>)*`/ fb

,)Ffb) )_,=E :]H`,=) P")-/ Z/3 )^9 `89,=))^F 'X )

)X`,= s/`>F H 39Fk!PN,`>)f// ,&)9)kF fbs /`?†ek>),=3h‡4) )^9&E>)^

FG1FG)-xde+,= `$/F^ '7h9fb '&^)^)+

main

PN,`>).)^ O)x31Fx) :]1E`>)4/+,)F

† )FhFh3`$)>3 s1 )">89)o_s/`b>)F

()

sE3

main

‡h/3'XF^ >),=af// ,"Fh)^9 )>

0

g79hP/`>)n)9) )Z:),= f// ,Z+,FG) sEZ/8)>nF439`$)3.s1+)7'73

int

sEPN^

main

n-`fb>)

return 0

)^ Fh) E>O) FG1FG) )^ O)&)! 9/F

,-F^,``>F^F^PN, A†e&)^ O)Z'7"39M’)&`$O!'X>)^9:&)Z9/F ‡ 'X " )>&f// ,! ]H9 ` )

F^9/ FhP ,=

dea FG)^^`>)7_)_O)`$/ F^>9FG =)

main

PN,`>) P

power8.C

Fh,=)^)^> 8sm= gh

'X TPN,`>)9/ )oP )T9^/J`FhPJ)^9

W!

P )"PN,`>)rng79FZ>l `>)&F

)$/3 _1,.sE>"P )+FG)/393?= ,=)!/3?'&^).)F )?E('7>!)^ ) FI)/393

,=)^9,=)$kg7"P `>)&)9)ZPN,`>)Fh`$/a9fb!>l `>)F&F^>)FX6ZY Y ^)ZP _ S/h!012+

LM:</N:/'j'^1[7N U7N*N&!.

(27)

2.1.5 Values and effects

g794f ,k/3 :lm`>) P=7PN,9`>)^ 43>)>^3"s")k6ZY Y F^_/)`F >> HO'&

)aFG1)`>)`$ Z, FPX'Z)9 PN,9`:)F831F)8)^ &,F_/1) OsE,=) f// ,F/3

>l `>)Fkde)F7F^F^ 9f// ,"/3a>lm>`>)D^ 9,= F^>_/)`$/ ):F

=.:]/89 '79fb8)

‚Qu

)9)! 6ZY Yx)`9/`:)>

0

F )>^:)3 /F )

)>

0

† / ),9 )FkFn) 38`>,9 )n)!,9>F^F ‡:4d ) Fk/ F^"8E^)/) ) ,3>FG)/38)9) f// ,!93>lm`:)X3>E3a )"``>^>)"/cFG)) 'X` ) PN,9`:)aF7`$ 3{

2.1.6 Types and functionality

g797'73

int

F )^9Z9/ PE 6ZY Y )o1E4g7Fx)vE&F4,F^>3F^`7)h

power8.C

3$/ F '&) )>F> de _)_)`F ):F._13 3 s1 )8

( , +, )

g7F

/ :s9/`8FG)G,`>),=39:W F ))^>F. )>F Ph) f// ,/ † )_F^>) ‡ k/3

?)^>FTPk) PN,`>)9/ )o|† /33) /3 +, )9 `)h‡:"de 6hY"Y )>^F!`$/ sE

13 3+s )^97)o1E

int

nq{bZG_O)_)`/ )vE !6hY Y*)o1mZ9/Fn 'A 1 Fd+ Z :/7NY

/3

SC!01q+ ~1[0V

39:W 'X9)!'7 `$/ 3'X)^ )$8 '7+PN> )^ )o1E

'7T'X 39+F^+s1 )F79/ Z)D)9)7) 9/DFZ.FIH)/`>)`/ r/FGE`:)ZPr) )oE ='X

f// , /!/3aPN,`>) )o^"P FG_/)^`$/ m9)^,^

67fb) 6hY Yy`)/F Z,9.sE> P S/h)Y'I<M2+ J0VgL=!. †eF^>)FE`$/ 3!s9, )

)vEF ‡ PNh)o19`$/ m `$)9F>xghT)o1E

int

F7TP )- g7"_/uv 3l >`D) )G_)_)`$/ )vE

( , +, )

F7)9)

int

F& W99)Df/ ,9T/ b

2.1.7 Literals

V )^>/ >F^>)FnD`FG)/)xf/ ,9 P9F^ )o1m = :]/89 + D$UTP9)

power8.C

0

Fn )>/ =P9)o1E

int

b>>F^)^")7f/ ,9

0

=k/`PN,939/)/ 1)oE ).F.F^: O) 3>W99>3|O'c)F. )>/ F! 1 b k93 'X9) )^9>.f/ ,9>F O Vc )^>/

`$/_sEDF^>a/F )^9TFG1)`>)`$ `,)^>^ ^)7Pr!f// , ) _ b>F )Xf/ ,9 If1F^s9 )

/-

2.1.8 Variables

g79

int a ;

F&

)J! D:+012

P

Fd:!1qY;g D

Vwf^Ns9 T>F^>)FD+)&`>F^F `>9FI)/)Zf ,!P

F^ )vEZgh!f/s9 !9/F&

'I

0VgL=

E

Fd+ ~*

m93 /

Y)Y):/!.<.

† )v9`$/ _a)

`89,=)>!’F _/ >^7“xb,|`/ )^9 Ph)_/33=FGF F^8 /F )^9EFG) P7)

f/Ns9 )8_/ ^Y‡:_gh 9,=^EFG8P )/33=F^F F ) H('}'&9: )-FG)^

/3a _,=a) f// ,4g7"$F^aPNZ`$/ 9.F^,`-/))v

Fd:!1qY;!

F7)9)h)F f// ,

`$/ sE ` 9/3 s 13P1)^9 ^ `)) )!)8`>^FGm93-393=>F^Fag7

(28)

9>y'7 PN>8)^ f/Ns9 n'7'& 73 F^?s5)F 9/ g7a3` N)

int a;

)J !.

fONs9 D'X))^9"PN ('X `9/`:)>FI)`F

9/ )oE f// , 393=>F^F

a int

,3>W93 `9FGas1 `89 > C"\

‘4,8) '73>4'X+)F4Fk`/ 3

)J =1[012

P

a

>fb>_)^9,8)k31>Fk)k3>W9 ) f// , P

a

k,)"`$ 4)^ O)")FTf// , 3>E>93F )^9+/FG))^ /3 )9) ) 3>W9) PN, ?FGE`>W9F 57u )8f ,F s)/3+ 1 ?).,=5)

a

’F+/33^F^F?\HH )9)nDf^Ns9

5C+.

Df/ ,97F )>>PNZFG>'X9) 8>`F^ s9,=) '7’B =FG)`.) ) $uv,9FI)k b

_)_O)`N9F )/ OsE,=)

S/h!012 Fd+ Z

'&)^9:_/`>),9/ /)Xf/ ,9Ds)3

s1a>f ,9) ) PN,`>) '&)-``>^>)+,)F7 >fb FG)> PN,=^)>D'X)

,=DF^ 9F^F P

a

9/F&f// ,

2

PND:]=/89 ='7 / F^8F)^ O)

a

F

2

=Zg7F&FZ)!'h )9) />F ,F^,9/ )/ sE,=) f/NOs F /3 ) f// ,F>a 8'X n:) ) H('

`9/F^F PNX/F^F^99+/3a`9/.f/ ,9>FZP f/s9 F7-\1>`>) 1$;H

2.1.9 Identifiers and names

g79 9/.P / f/NOs ++,FG)TsE /

1q)J<M01 <:

/``3) )+PN ('X_3>W9)

/3a)h+,FG)7sE"3l >)&P^ `:^)/ :<!.Q/:!F&) 9/F7 b

int

Definition 1

R

identifier

10. =V .T *</ S@!5C:/J<<:g./'KL7.Q) S|657} !6/:g.

a



z

)

A

Q

Z

-P657 k )1"N1[6.

0



9

-W)O657Gh)J<:g.Q/:/Ii

_

od p 57 :g./]!5C:J!<:

5C+.]A;<? D!6<:

Vp6hY"Y / _$ / F^ `)/ )> 9/F PN ]/89 _)

t+ ~1 )

9/>F

std::cin

/3

std::cout

g7_6hY"YQFGH)O] FGE`W >F"'X9) 9/+F r'X .)6hY"Y F^_)`>F7)^ F7,Fh'&9)7) >FGE`>)^fb!9/DPN:FZ) a.fb`) ]H)$

2.1.10 Objects

VXs9uv`>) F ^)kPm)&`89,=)><’BFk_ G )9)kF ,F^3s1 )Z/~) FG)^

f/ ,9/+V& s uv`:)"9/F!/ 393=>F^F 8)o1m /3?_f// ,+Pk)FT)o1E†e3>):3 s1 )

^8`)>)&)Z)^9 s9uI>`>)!’BFh/33=FGF ‡:

) )^9F43>W9) Tf/NOs `$/ sE7`F^39:3/FnD9/3+s uv`>) s9,=) '7Z_./ F^

9fb+,9/3 s9uI>`>)F"VX ),a'7.`$/M’)TF^('~/ :]/89 !PN! ,9/3 s uv`:)!O)

)F E) H'7 `$/-^,9T)9)h, 3s9uv`>)FZ 8E^)/)$

de P /`>) 9P b,a'h/)&) 'Z) )>FI) /F =)XF&s9F^ ,=) _9>`F^FO^a) '7

'X )s9uv`>)F7)9)& 9)Z9/3s1f^Ns9 Fng79FZ`$sE F^-s1_)"PN ('X F^89

),) ]HE>^) F^,=EF^X)9) b,9$fbX'Z)^)^"/})^ O) FG)>FZ"F^ 1,` P

)>Fh) sE"$/3-P +W9 B† PNX:]=/89 =)8F^G)&) /P)>^'hO3F ‡: Z(' b,- aO)

b,=k}/3`,)k)X,9.sE>nP f/NOs F4)^ O) )n`)/F4\H )^9Fk1,.sE>nF ;=

k,=)& )F^";=Df^Ns9 F Hb,`$/aFG)^"+D)9/a;= )^>F4deP b,=h/QFhP

/-9/`>)`/ x,F^ {) `$/ `>^) -FG)^ F^ 1,` Pk; _):F Es9,)D)^9>?)>.+,9FI)

(29)

2.1.11 Expressions

de )n/

power8.C

O)=k`9`>)>xFG 1,`F FG)/3 ,=) sm`$/,F^4)>! 1 P/ /3-^!` ^FGEF^s9 PN&)^9"PN,9`:)9/ )oP )"/ )F^! )!`9/`>)^>

F^ ,`F

a * a

a 9+A /3

b * b

F (0 93 $KH

VX ]HF^FG>>F^)^FX `89,=))fb f1+)^9:Z ]HF^FGF ^ `>F^

/ ]HF^FG F )>!

LM:!1"'A:!V,s!LM:<!.<./1q

PN!:]/89 +_ ):/ x! 9/ {") F

'KL=./1[?,sgLM:<<.<./12

ZV `8EFG)T:]H>F^F^ F&s)3as1-`>+s9+:]HFGF^F

)=,`>G)/E:)F s 9,=)^) T / Pm ^)FGF

()

O,93_:]HFGF^{

ghD:]1F^F^

a * a

F / :!1065&'A!012 :]1F^F^ 1fb f1 =h'I<:!1q f/s9 F

—

/3

) +, )9 `$)E>)^ uv,FG) b '7 HO't)"P _O)_)`>F.VX``3)a,=

sE(fb&3>W9)

a * a

F `8EF^)^h ]HF^FGs9, )nPt)^9Z , )^9 `$)^ E>)

/3)T)o'7 _G8:]19^F^F^F

a

/3

a

VX``^399-) )sE(fb_39:W )^ / ]HF^FG|F+-FG1)/`:)`$/ k))v xs9,=)+).9/F

F^_)`/ E/FGm`>)FZ/F7'7 /:]HFGF^a9/Fh )vE 9 f ,"Pr)F )vE /3EF^F^s9

/y>l `>)$*g7a)o1E-F W]H3 s ,=)8)^9 f/ ,9a/3y)^9-:lm`>)_ _):N/

'X )

:]19^F^F^|>)F

<Fd+ Z*+,)

k$/a)9).)_`89,=)) ) >FG)F F.`$^^3|,=)$

2xf/ , O) / ]HF^FG_Fk)&FI) P ,)7`>)f1)o "_'& Z 6hY"Y*9^/~F

:]H`,=)3M“m) >f// ,9)a`89,=)F&)!f// , Px) :]1F^F^?/3 `$GFX,=)D)FX>l `>)

†eP /Y‡:

gn1m /3af ,!P _O^_:]H>F^F^ ^ 3>)>9>3s1 )FZ39:W )>/ =Xs

)o1Ea/35f/ ,9 PX)a))o sm35)F 39:W 9// M ^_^ :]19^F^F^F89fba

>l `>)$hgnE f/ ,9!/3a>l `>)DP +`8EF^)^D:]HFGF^ "39:)>3s1 )!fb fb3

E>)=3>E3+a) f// ,F&/3a>lm>`>)FXP )^9 fb fb3aF^,=s ]HF^FGF M ,)G)

)F^F

()

,3/ ]HF^FG1 3F :]1F^F^'&)8)DF/Z)vE 1f// ,D93

>l `>)$

ghT:]19^F^F^

a * a

=PNh:]/89 1F P{)o1E

int

93)7,9 ]HE`:)3 =)F f// ,DF

).F 1,9^ P4).f// ,+P

a

g7 ]HF^FG 9/FT >l `>)$+g7+ ]HF^FG

b = b * b

s9, )nP})

+.<.1"N='A<M9<L=<:/+:

/3)&)o'7 :]H>F^F^F

b

/3

b * b

19/Fk)^9&F/

)o1E!/3af , /F

b * b

9s9,=)X)&9/FX/ 393)^9/ m>l `>) )X/F^F^9Fh)!F ,9 P

b

s /`

)

b

"F )9)&/-:]1F^F^aF

/Fd+ ~t+)

)>h)9/

,s$<7,)

sE>`$/,F^ _/_:]H>F

F^Fh3 )&9fb >l `>) 9F^ )9)7)&PN,`>)9/ )o8FZ/F^F^`N)^3'X))^9 f ," b

2xfbPNh:]19^F^F^F '&)_>lm>`>) =F^&sm1 HF ,F^D)X): ./1q)J3 W/! ).89 F^

&)^ O)

)&8E^)/)x)!F4)&f// , g79D6ZY Y >))^F4` 9+FIEF^s9 &PNk>lm>`>)F7h)

.<2+<'A<M6.

) '&9` '7":)&sE O'!

7'h/)x)^ >_ )9) ) M ZV

'h.P /`>`F^F^9!/ ]HF^FGM’BFxf ,hF )^">f// ,9)^

) 93 )Fh/ F^+`$^^Fh,)Z)F7>l `>)$‘4,`$/)Z>)Z)^9Tf// , '&),=) )":lm`>)

87 QQ .#* *I : 5 (7 +( , 9297 (P 2 2/( .. B#,

$ - B>J

Q M -272* / 2A 27 (, 7" $&(9 " -BK2"O +( * '(97 N* %$. N

b

7O7 >'( A07 8/22 82

b

J

Referenzen

ÄHNLICHE DOKUMENTE

Mader ist als Hausarzt aus Leidenschaft, akademischer Hoch- schullehrer und Wissenschaftsjournalist prädestiniert, das komplexe Fachwissen der Allgemeinmedizin in einem

[r]

[r]

• ¼ôáí õðÜñ÷åé óýíäåóç ìå åîùôåñéêü åîïðëéóìü âßíôåï Áí ç ðñïâïëÞ áðåíåñãïðïéçèåß áêüìá êáé üôáí ôï &#34;ÓÞìá âßíôåï&#34; åßíáé ñõèìéóìÝíï óå

[r]

~ääÉ= kÉìÄ~ìíÉå= å~ÅÜ= ÇÉã= åÉìÉå= jáåÉêÖáÉëí~åÇ~êÇ= ÖÉÄ~ìí= ïΩêÇÉåI= ëç= êÉëìäíáÉêíÉ= ÜáÉê~ìë= ÑΩê= ÇÉå wÉáíê~ìã= OMMPÓOMNM= Éáå= eÉáòï®êãÉòìë~íòÄÉÇ~êÑ=

†ç}%è é ê{zDÓ‚&#34;| z;ë2{[ê†è † ìíªz:…|†%è î“ê z;è †-ï&#34;x{[{i{¼ðªzñ}%è¬{G謆ˆò|%è i‚eŠ1ðªz:~“ê…&lt;zë}{iƒ&amp;z{ƒ&amp;ó w

v úù[ôCòVw&gt;évü^íLì–ðNéªìýêíEô ê&gt;ôCñ–ðNéªíEî-ìÄêëùEôCòñÄéòNóx é-øìÄø ï˜ø ïRë-ë-ù&gt;ô®÷@ì ïRíEìÄôCø.