ࡱ> z&  !"#$%'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghiklmnopqrstuvwxy{|}~RdO), Pictures$PowerPoint Document(j!SummaryInformation(2 V/CiVVVސCCCCCCiCV}}98ZbKGDH cmPPJCmp0712Hs~UIDATx^] {8&5M҄"=4mm3, lW~ SMQmDjf9@Ftꦁ>c72mkITR5ba<#p_!n+P+0}潘>P~x+}g5rN?LZD\cw S)e0+SݏP߽}^jkwܗW#H~GZ(?? 3?h򾏢7o>`:޿sz?0#(]Զ艁 `*߼~_Dg(^&KƷp_}|/ޜMJWn,CՃ6AP&C7 zi}PNG  IHDRO$#gAMAܲ pHYs   IDATxw\SWMLaɐ(("E@uj[Um]jk>gou "  2a'@ ־'p'7w()-1 ]ǐvv+H i' v+H i' v+H `I︸%Ǥ݋^#tkȪ;{Vl\qHHMN#iY%FҭͭR FܘcTX,kߥr*o >*[]$-H{9 y?s^wu$7Sd\e; GN7D;_]ڱ PړV6VwgVPTLf)BEn܉)M[''GG[=eFA2;GÒػ+}0ˊ+ eiQ -=*J{SgP~%-(j݈Vor:w?q˲?~z.,Oc٪utK|Vw,cʉ$#Ne v.u"7vQD-QI:Нq>84 u5+ Wc (LL0:2٭`- 3&_-<:D!$^²}4 Vݏ tf4JfΓM1i x20OH/#%ɸɥ^piӇ#%xcgOW PW4'9Ύ &.vxf}~OpW` MgW `+i)]tiRV- iX1ף.j͔+'\vdUAJ"`lkP`]g &;Xh<|}t1c\n*ϑt뇛v6pYOSc2S;z)-:@ɂIEFmn'}eAޛѴԘ&ܬ&((k40Z ?RP{?  ]VstkӵUMԤ_zad]ȦYZ`vѫfm7˨:u]`ro:V0mT$&޷3SeFd,l;'$O6X:X!$O1g;AH 9'O}I{ϢiQ #iqd7"G޳t,o"H i,ïE -7 *b w3H%WVyͨ7߭^/}.Y?Uhzϴ4j_l8KzbZbSڪWN}Lٻ;rhzsn1_m iĭq%Q;tXEPKBCڹ˙덝}M#M%2tPT2jkT埥_o`ͶĞxch8RG _s)p%.2">'S5-󽱷v(RTzpe/*ӀQN[,-FN6ZK3>Zc˞Bu*ίhrE_ixJ n:?)FZnָV_tW6jѿ?+7aVû1alU&<1O pWwrzu0-tTweKvhmJm3D>Xq0ՁE@scچPkwtxV iT,Ll!޸~-j+wP29m) Uv1u{<_ ʹ3&8htz U@BQ]i0gSwZ:`,g|?Ec1$RC.-49/r/wL¼ؓ'<:T3(2Vq ِXQT{.7%k?zzWsv f(Z^\Sh.C?e9wt]e^J,i2l+D.i_=i5kN.r:W} yڊ6Mh7xζSWܬ d&ŧ:H#i,}Le%SIU^RQI?@aЬ2:JGu-וϫkKE4.nnsp Rdΰ5cӳ*<+55SR -ӹmԨi `$]ǥ[JC-|xHmvSAr xy?53Zn.鏫G|TOqLl=4_"i0Zۉ-Z"о Z*\7  M\ qY"{XoÌfd4T-UіW vmn?5Xpj(Ӿ'܉ Me;ß*O=J 5C p\ΎR1pt5x!zI{W?q6<\cK'wGomuഭm;_AQ<;lX!m$EBu7mmÿZrs׺u@D_A޳5o]H{ kzI{"ӱ9 V#i'H{q™ooV?!i79<Y&?/_X.hJmɦ/CK?7)Vk @k坸Luᦪxi~NgmV%\I)7sh8\V;f-mKNhZ#uCi^FBCv6j+$ޡ̇se>HZpPg&Vz-U+~O4^1DoCUa=4r^E׊wlT7w]ӌu<ݪPt0X~ND0DV*3T'pe[x\?vK:D v,e@m 諒rTjE~Mis̟8\JH{3Joˠ`:ɱeW9lLfXxO`(OqM,Q!ĘB.a2ns÷gom6|/UfCh(Tyz 4+jG֦cҡ lǚ}v6jDW#6Hy޼1xڒB2H%i:50`h4K~^2~jζSō(lT&nQ뇉zyGݗҍ(pyEQ{ԯ:M0x?<X,uq\vdPzGAHmIF"93TfUiB7 *s\A&TqORAU CIUZ]sbfL|>PbQUUW4ɨ*R ?J=nb$ #$ƾ\o檿x ^(?fQ3tfZTNpylmwMg E"^ TWRiZY7-Rԟi!J P"(`ƮwPcx>vϛsٞU1I*dv5"q|[~5fԉPIs.io:~xn`[Ta= |:U#+(p.Ѽt3:~ǮmI'.ע:>|>0 zڙ㷗:N6nq˥v|ՙ[ 1&J{;w6Zޔպ[7".?_lv(Ia2&6aaS axLxDF;ٰ &6PNQۓ]{Sx òw0M4BCBV(xy=(}X<ٵi7(I '-,Q1wу\^~#M& b4\^ތNbXXD"@ ?bd|;p.NmI'WfYfo_聁[ 1&:vBNWP J;!\Ai'+(pvBNWP J;!\Ai'+(pvBNWP J;!\Ai'+(pL]~~i'zu8* k[w-z4Gqޝwz&'>EWcpk!::'+(pvBNWP J;!\Ai'+(pvBNWP J;!\Ai'+(pvBNWP J;!\Ai'+]1#=uC1e+m-hjmF.SҜǞɲl3V$Mb`HT*Bgp0ٴ+.[k k;7/tǵo/m J/iyWdhq0~ط)ŏЃ3ka~M;b?7w+M˷WqxonJ{@b">qdytґZedZ-Lc5MHP~{A[}:V'K޵^ØȫCfزwwyr?H:x4ٮM՘tf0zӹ .ׯΙ>6}O/iiK[v<kJOUQ|7eŪ#nVӋjjJ7 @AĝկnG >Jr&\_%{SٜKܼ@y;Lq3[7}9duyqJc-1+H,E,  . mu13ok!#釃eloj =qk0/CcqMx_la](: sgJ`5Ld^ee9i3Ғ(2sò{Eޡ}gFiigPUYW]i\H`u0f{d&sׄpKjgj\=>/ .Enu[VOh@Z@r2J:1GU#?.+Q(5*LL߭,;x|&XqU<W-Njˣ2ci҉mU\-'qa읾 ms!P}<(#dZaQF?:⯌gVKs+^SZXTnfime!Yjaec)[vvBB/RZlJ.W@de#,L<C@\fJcO.+YƜ7rN=]l*32 cO,_yeӡ!cJ#n']Z8`YhJRj#җՔSœOYbrY[Բ8tv_3JԏBj_ ޲᥌صgR{QՍ|ԲCn'{:  ձ{Z0npuaj=ZT$[8p՜gicWSB}Zwnx޿\@|JVӂ_/xu_[c^.~sC012zh t*̴ O'/T*!4NW i{^`O# YeQaq;2eO\2O*h v'X5l ۀ潣XWv?}_{ZB,x K;%ts(MK59zjgIF|܌<ӯsUԊ7.'\b}zzH aݎ=5-Ko 0Xޡkи>NI񸥢gOxjO.8i`I`c{If2wwp ̹Ӈu_w^vR/@CjVP]k̤\~suDH7IΜyjۡw bRo;ͳ}ǜMJit +l^Ɤ90|>(VS  -J >'BL@3bRTMJ ꧋Wq[lP;)0xwHܽE@#K\+lܓ L,1&6a<[zŻΨUvS*3Nt2@Y}92UKuJ`3hǯT}t/c>(So9V؈vGC2]ȗ.ƔQ#vݬ1V)"1w`O-)TX tP 0w )-,amuIa),!ڒB;'G3Rwr,5/ʽ]$"mnоWlU¼wW3(37ȅUXF8 IDAT~Jzg.ӵO5[*L[Kz6s0fRJªkn $.|A_5AugwkbuH:{v~8zCk]Qg'qbTXJ'jc*YH}\|)!FFHpkHR14wiyAJhBH(p']]^]|fL&S$ק-ifoz}&ľ;j"Z)\V(EM@Oi>{SMuZzp=“?cb?(Y])`c2\yG)n-۪&%1& tuLe=|^1.qN*aNY |\{;q.=Ou2Yz|t̙~/RŋIJͷ6`҄R3>[+O?>P4!$P_t;PtN)-p̘]TwFbjWKʼbǐa]mj*\[{YLZf|& r>_g@Sg$L "d'*-`Q8kغbE7E!%a*CT My?zms>rrIY{:r;փYF7Z h-"*D^cPU:6 @]ƽ;iT/+ϩC?w;iN t{{Ǧ# ևè6)V:fQ36f~ )n3p77;U՜tۼcO($jdwsO[kSa%K˨ڍ>zfzojk|Ì(XTv# vCv @ky+'/5ސ7Swׯ< ؔϊВxpCmo+mo~-$ RSTpy6'A!U fYZ9}VИʼne1ܛ9,&Z%WDu5KJ1d/yttɬx Cp[M IQ8sSD4?^|EuXhKKl..t^zδ3-?}/ؘ{\66欶"j*@tڋe~a/gMџ};e.+f+2|o|P̯2Y-i]{#}Oe4LWJqNb$wEsewU5/={>v1gl_1&)vh5LS1_qyL51f7PcsXqdzSY}C 2CK~mUrK>^) hd -^w1+q*Ov Wqb-Py=Ig|ly^ U|`Ά–ztLQ/YX&K1Ӑd' Jwk h{P׵ _oُߴ3:Li]c5]Y, 3N>6CU Ei Ow4)&6NP׉ʾ˕P#,ݤs3uq1%L{3NŬ»[a,M\_[^7,}0/2XC`)OSEH@7.LG+12:0&rS,HJVhi%cֶI<%8M-Yږ:8b0ofqWBK Iٽ Qqؓ"쵘!l{@jDrkͤkY}}oB_e ۤğT$b*ncPLx<ӆ˟Eyvyz$lioܴU|7~յ=O5Uo+ -^3w:|qeQ {N+Enb:'Flxa=P~:nbʒ a^(@M| xz#cy7y[K^)şqӆ?Jaҙ}jU\gcU_|\}Via?s8G%"Cd/g@uv39&*JJ_lĸ&wfo6mN?<,X7tД6xX@ENGat}3702Cf $ɿxO5r e%ܘO`^~鄴W%_UE⌀aa;'jQҕ2]ѝfVA|5qw08х*O`B_e @]QJh@KY%wŨZy._ e> Eǃ*5;{pЮ-|d#U: #+<̭hԷQ2&c#m|j~z~4@ # YCN<&rZqx_lU:#}oMq?5W>/c[?O4rLm<>V92._Nd)^^>AasM<-Z8ѡ@p wdRE4#n9~ՠ@~/+;+z;yEn-/ҏZ_IjZ=)G>`T܏c @F>\kj,e])i>tѴ2vL?ezW9瑴wO2JOo{ iBW:xKJ|+#{Y- 1#3O=)>%jCPsO/* |wEۻ'Y#Ӏ# 4VSRX+*">`ȩj1eP Ϡe xc+K] 9efy;O!u({,kn\\uLU$q6Qqlą],0"wec`ܞlZGF{k[n_cy3] | o^\%#g>J[j}e1_n=Q /ikP_H/~ OOBXqߓ͎lF[1#~rb;7o \Ht>-ٜʛ!7TOL1e=O0޾v ۽Zi?n4τs*n8$ݏ@;s0$ x먃UѪuԪuj^LAA!$28?umM5Ùy}|)jr]E&?0 $O+Nϋ#heԱ50a}mZ劉Gy.OF|2Z{Xl[B82Dɢ+̮!;N _**]8ҥOP!Tj%̰9MTԢaP ,(v;6dz|8M W>-Z̀aiQʦꢊFnN<46t\=ecC xF$* +̻{Ysz,1n%y*"cR7u={6@D}6}RԠ}Jma 02mycof|o3:΂d$0nAU T#^  cj4@ x y7.Cv!k$66m;]5Hy!kT 4Iz6nrBaӯ.l5 mk:b^oO*AҮ&owyMy;$Sܞ/&Ŧ5"CKz]Xrq-"rr6r@Zj) WoU T>…gLޮt͛D Jգ@O]w$%.mrIؾ## 4 pQ'dIHۻz{C0yblB˝ES>> ͹WI),}Ɔp@'oK=Szqu)yʐ55l{cq~JFmXT@9QPci''B1AL_kɽ|JN'rt)ʺb*n^O} 5i P]Y 7f`!cP-Oٻ]YvdՋSdz=jzPO5 ʌ]S݂wݺGW+gW)kR-haPV'7 ZJL-{|? 53}-l<\ӷr:qes(;vgZVKϫT|Ꝅ١c/sWI=s|qK -Y|XXW85"p䶔]3WsSFÚ~K>Akن0}?JuZ#lew3|&)qԁKL\*e9D]Mhztu{Q2c䢨ŒGqLQbO5J|xxx+-6̌92AX|XiJgp1 r֧߀W /Y 6&,k.uc9wNٻu1K74/ZF&?ÏeWHo+rzƘWE70.Oi!*kA^YVL//x?Z Wb[|Y Ol ڒq`0e_jCv5VfvMҶېWѷqN:Uv߸b̓D0ڕa̳A7ߨ4FE F7K@J/.DOsUİ|!vҪxxȫ\AhO꽋Sfu&5_{5#ؐVCxˇ{?;-}#xkihaXׄ~ )!laq']}Jn|n,bZ=_Y OS"9}kJzG/{vdԐSִPW&TXU0SSlK׽{%mm9ʃ.!GvY.+f/7gx|QT>|6-,:n\ȩM@{]-LoSIav(4gܪjjH̀Tgob;ykx8@cRq1ȂW&>-ulA@HY:#HC3ԩP74`>z6 >hkis]P M_74?ևii15fY~_НuuB O$/^z gޮ;:Xka;ȉb@YmtU%'5ӛoB1XH.tXZM7eNwԆ(%1bp#Tgk/(x)n֗K9F͊Ĩud}}3 6LY١;rjIDAT'ޗnKr/Hvkɉ)=歘>,┟"3S, tt9'b{;ˁ,oD͇a9 N?ѺKfߢP9?ŨM#^ ;*vcI.ꋘ`.f[Z1(e(Z~q8Ql%}mo^d4eD`͟c>ڋsp@Ļ{nٸQ-P| mu`:p]{7k hY"v3hfX\\\-u66׀ ^9Ssaj)eb7 PV6:X~dkdd {ppu2#>ţ{\{NkeI f{ػٙʚ0uH kFm urǀ$amM:5ЦܢFʠW!kL.~ݚV-+'wGsI(CQ,atL rr68V= o Z2v#iWH!iq!GrǛ5I=U8Fr F"2 cj5jEjרKG'MAN 4I;Ah v$)H BS i'MAN 4GYk,PwIENDB`nCPPVsPNG  IHDRz=PLTEi}C/V}}i}CCV/CVV/Vii/V}iii}/i޷ˤːi}}/CC/Vi///CVVi//}}}}/V}ސw T p&c?~NdJ.%Żr K,Y46^z6}:eq+?sOZOW:sq_A>!v#4L0>*p%d\йhhu'`V 4@06.r>Z98>B; r Ggz++)[`<j?D|zz3*5CG 4.P,8,۠jBkc,"9`0  !z`~QuN0+|%.,V-h p_}'#:m ,>#92:/贷9^gL\ITi,`u;qiHC.X(ʏ7.py&b-nSjN!wRRrQQHCۭ'];هj)}C$ *ٓM3H4"a>pa moŠxK&DH/a{q $VgӼZjkg3I6kf=cb/A9UD9>/pkYJ>[PQ4gԄ*UpWR8r,wu?Ӓq2+Y-ϙPe ;-^8/e~nY%}(kp*Nw @Y[Vɽpp_8ܲJP.X<| ( pK#@ρ܀Rr b D [ :7`HI? >޿y_%oE/yiB/ydIy^-OH#E\ y@7`&Bsޡ×{jSK|FnG[0[BN9N،x?rGWpuO4 oyh^.kIP oTb/D 77$FZ$hȗs[w$_I?/o.LEH@BXtHy-/Oefp //+}l.Y+'5,/H~nu! XM6WD0#~EPpa]A _KqK$hsBY?ע} hJ!F L~ڜa XbPCcWTž0 xl'xi_TLvQpop7XKRoR*7F\~/i-Y>p'oy94YB ;Q>p<hKx+y4p,b)=*Jj kRۼě>K =ߛW80=/nT Qwj??_}L@7~-`ix-Y^W_ ɷ)b~e3<0L(!^xW1_JUeط?1m E VpWpQ u:_=[8p!V_%]Zt9&{8wOh<bo(y-aмp2'pC=!M`f  1K{]-W/? 㨌!n0S% C,  z^11m#γ#`%z- W ~xKC,=zœVST#[~L5 fc bm&[ Sc6ž*g.uؚ fiaLi*T՗U1qİ'LŖxcZ2:i$!>4 =zsqY]ɪ͙CNqYQ83-1~6 3j'p O`:%KXp 16Ɓ Sl ?e l^8WDPc$lyo#=9|ƻu-^QqSa4"qr*71126!<LȌ}l~'2s1`Vsu$a ^dž8w/ƍ]vyHK$LK#*'Ip x9vWK g晬"hVA_uz,㇡wfM ~5ʌ2d;ab>Jqus_Q n^lQlYX?txw7`jMeL Iu _<=p^8B@ PpW`Z(}z V@ L En%q |2 @n) (%pK)@tn@)9[JpJɁR-]j6Ae@FyeK:G;ΕzrVT3LhNZfOwA&3w,%)Fug.3_* wЙ e<\rc'R7j'r\;>Jb#R9}><Q~U>? Ǔzkz{S]mTtUG42;i=h-4L0:!?vMDTtEkc C^FjVJ b -ZA)>fnKU8`Pջ10T8|=;5>5=*~=\=^/'xUj]i U|t2;i=Fjyj5ЬIH/`jm $]cv둹UTh(v ǠҊ:*2l t %p!Bî>Z3f({ ާ4̰0ˉ6~R~mRt1=,wN& MDzJ.z5"Mn-joU&r?/G X+W9eZꌇSRE,^W r}p7oִ_v]pEyj\Yי1R).JGbpz<ãSNS@2/N 8ܞ!v9܄oGvZƁ4o'eΒ܍s.OX ODu~pq]6BH-GJ IZ*iN!9GvqOG6ɁօՅ}  }6D< \y\>q`.p#j\UܚLn-wb'o8j*p{ ɧK aZ2Jo$9嘆Hgx.PKlx`Hs`-B (}gSt _86 q wc on{ckCś@&p7P&9I7Ɓ܍6TInq wc on{cxj/qo)́Rr b D [ :7`-@n).9pώKʁtkp/.at*g8@Ϡ?4;%^&g;#vOzIZ:-Ssz<>K@ѝO^]\19?GfM?[:Gͧ{i6q/(~v#"]aj딪M0ŜMnnwt8;v,iɶ+78(ҧ42+Տj7ٷ|u#K!?0H|Lna􅋆0U4֕Rmߢa/\8z}7 a~EWW1Z)o"Ydv aS(N@ڟX{lq'WR(4:>>9nMERgDMI4޻/!\ܽ=EvT8}6Dg5 sKɍ6&iOIN@9]#b>(}rlJ2Uu3Ht 6ĨsR@s8@o{Ѕ #AƆ +tZ[?&YHO9Xp݀dPy~spjVgMt?gqwW2a˲i-яƠO IX;SJFR^ƀb(O!Ag72,ڳƪ5t,F `u6'bI7:mq<|HR}]C&0?t9YǢRvMvBuhBr ZX,59?=0CF0ZFb@[siq~Qޞ,䋕 ( ONc P@q_ ;Q(ŒKVdRЊAQ,E tV8JW +]'[4fX@=Q\L7 䍍>Xuzfwnn"t^鱙bhkޏSDvr,*nm 7_ic*1nNcN+d5`\bB1뚳=/tGpqr;v S "/>hvĘ3wgcc3/ _ IsYA(э2+%]KQL(Nl+h@@s4i-\p!S$A7ֱ=֠ |˗ -i+Nl5-m^pې?>iq-ڑGL45}Sfi=TwlnPƥyƴ I>_ɒj;j(7p-K}};[nXp7*zYd 6+ݨp>~n{|>L(ϯ2=~ `j0ӳ I<)9ps !}Tρg |pzn6&)2 HzWԹ-7)/@n~Y}>K؁xwD»GѩDC4-޺!@n>~iuA8XTFZt,sO]A+0-(j~I!D_qzOm]9g0% p5ʁ:-L0aԞ5gsqg_ x=.Jjr?$BM0)}#4VbKq8O(yE-|3 \w% p7T,DZ0*7q/@ʢb$T]ӯ%LlV&E ]U0y-^bevܙ`U zYp S%v~$#w% ĶP9āܕ =5pZ8B@SK pWb[(}j W@Jl O-J]mSs %_+-zjǁ,P [ :7`-@n) (%pK)@tj kLw%Ju9Q@ ( :51ܓrz5;bwF'gHwJ[/e}nrTV.˅AM5ըnoAW6}؄uvt L~:DڄhYwVmתP[mzY:bZ.[˿LZ"͙)Kdە'J%}ڑ^jTCd]8,jahUPeT+N<vKUhxYջT@ZWzJ_twrRz8ßOnE``X6h]iE^_k0BA"j(PW뀪:ZX۴T-zFkU~#UgB/(۩p3ZQGMNԨK|/`H]e~+#h^͈g5t+L56&iOIv4c@m&(ah>iZRpիfc(j)n!_}UtW bU.V< ]qhB>76dk= i3oEߌ:Y꒤6P: *z۬(nԭXݕL٠,&ըԐML%b(IziR@,@?PfoK `-p“U&h 5C(VNd#N5HE[mVKY4Y䍗E7Q?Qwn-|Ps W,pu uS)<nCp.鋀+ O\4zjڲem*FEzۚY+ ( OڱaZ(^8ݰb>*̸T"{Vl Xr.0W'[sh\\h/X{Q>P3jCFAځ[\m&:iuul{9Uj}dW"mY+FުC[j2>' zdv9`QMQڴF Ym`"ڇ SXC`]sFptGk~tM6O!/*hvĘb٘،KCBAeJUsXARSҵ2l@h/b. ;G%3T: v"O#T+}p7vq1dV@s_j>^5yq-ڑGL45մy[ГX\1:X>SP<(3bPѷ},^i̦ ߷g Us =K؁xwD»)(jKD= ARNmulh*\Ѯm4:N vZ6Z؀TYsK7 q6Ƣ6ע ".Z0 Ҁ hQh;Ĵqm*7Ql0 CߨZFR18)1G8@SAwwm@y(/aۚ[ƞo~y֪r+; 5ƕُh/v12;og|E"^pMT> j>wѷ!6j2r`;m\f#d Ł4y󡼖)N/dH7٬²Hi{V6 Hr`!py+C~S]89w@ϼ >p8b{y?ׯk G#}ΐ6āEb\bL^*Lj #Tz77#C8׼!C3Xs([*ȁu_< O#R0.#Gͥf~ rbIfm7Y`B |(ΟNb9#q M;,TLμ9s p_<v;#@HVȻ3QBp 7Bޝ@Έ"y pwF<íwg83@nn;ÁܝE $pp+zR@8 (%pK)@tn@)9[JpJɁR-0PJRlt"مepo/F{_wNK)f)[e+~yum:n/w3Ρ5y>I#*{>NN_<tzU3Vl#%i\g [h?ӀF.U_/>7"Da)'䃃~4r&7yÿHãw0x܇@5)B{g{Ю9 A!t|őZ}&5:unv Dz:2)ŏяb>~<._}@ʾ~yF3>;c݌xD;nMt<>Gg{WQn)~I49Gw6:>GW\*qTZ^ H|؏S*jݜп(%}kL7w߽=쓚 a4O p|'&ЉilBpGCsf cg@ )^! +Vq6FU 紁N[Ҵ)]]P>=pcpH{F"pV&qT̜4+ӛ!t1@ۇ#Rt&jG$edxn s yb9<bM.e,:e?qVE{vP0I (<3@MIXWDObR73a fݻR 2#X^6s&c|a6x8FF kN eG+]PҸtMCl.rVtʙI:]Mw]gSHصv\=~__`qM\4޹JA:`N'g\3-%) 0YMX{F="J?km v,kz@u7MN[S3z?Gv9OaYѥ<Ǐ/_{;c`_~_xS\}MevȜ\zB+G%Ns<ܮvRI;͉q|l7/'Kd;+qoq_ pg*5d\ϑuJd|:vA#k^^"d~ (Bt0%]ج[%pWkL j9u ;KcBg]_,hp]>&2ŵ݆BR^ JqLc2,6<9Yy 8{=JW+qsx{Y\>l/AB$pMüŒ6$%2ŕ]UTgVU~yjx>Cs w}O]'@0=4>pa 8LMρyjx>Cs w}O]'@0=4>pa 8VB (p'@18`PJRl܀Rr b D [ :7`-,s͵#IYl=i4,:1ˊV̩epOF'%̵u-Z[7K)N,BZZRIX%p+:VV-&ȼ^ :u3F'T~> pWj.^Qމ9w*ӸQݑ;qOp? p?ݟ#?pNӌ NWknTٮTu'T8.%SvjF"ڍFtTk=4qN UY賄Yp2Tjj#$O"ȧZ3=,?KѸϚcSN;ҞWڍںNEJcЭ#ұvqӊ:샖tQҋAEm:QgElukg *.b)k"8(5J?uAe#7|jS{2y@Qy%fz-p<<~pXaUBm+Di1sPlcD!Aьb)VǽNT tb ,0Bvz.uJ WI<!cA>hpsKps9ej3NOg/yI89@!FZ -9FzT'6C2:1=+S ]nֺ)Am;}Z:.^< _>>~^"P//o7hOX^>^$JGr=OzD>ch\QE׽/'8u\='E,p})}LhO=\d/M:nn84{~ q4(eפSqpCR@)*+"»Bd o&1^E㽃Sp,BN0Y/-T]wIp9r\9OTVWQxU)IlEWW^tӏ9I:EhamF7B|rYn@)~hrޏQ?&P" J>y5'MO$pE`)yz ώ-y Qq#u諧qY^ \ Ա~ B 5w3 ihV/8죅! :;3Z3#qWpmiUk@wN"GL p}c(BīW.^kil*1ܤyԶW7 \~4R 1 מf<R8ذ RPMU w6)Ю=wFse`{M_>/(X qȳq` ;L~ 6 p'6..U IdcF|C`^E7ڮt>3 1GQ&x&a$KeЕ5D M:!3(a;vu Ӻ]\Z_i/X>~Kpy p/iZ~mB &QPKso4{ˮƠXQqy;B"@6(]kNOu1͔#&2<$q* < cu-p?.@.GG/|-NЈ'Lnp 3dB{;\M 4%of1 JxVF^D0>& c9fp-Ց?OxoeW9i")2 1<(_;.ړ4Ht՟p"E-D̓inOWW\LҢYqBz֕/ ةMk":IP I`'KJpJ9AE`hԸb$ 2skl 앂MH9W6'G`3O`8Nk >!p%>@JOfbp 7-@n) (%pK)@tn@)9[JhӨ?1uVRj/QV3XǞzcI_wˌGOL]V@KVŰAcOL-=#ے[LW8kjK+$)IVmu{~;.=]* wЙrM\V*χGχHpѯg)Ѹdv@}zFԭ4HR }$?2Z.&40;5:T>SUQń5Q [ʲr*ъ"fxbK(U[vRR Nw;J?fg}Z)g@PY/`iT?,3Zl[G+_TкS^v'P|"/{d̟zz@P=BJ +Aͦ^9.\{@*j;Uk5.sSݝA'jW`ԁjU;Qћ}ZVlՎ3m/Japm?`PiE(Az.HKA@~tRWf~"D`%(pwa|"ɾk52iڥ\P#oc"\AU5|t<B[IhOPmHͰF ( XL"j3E D} wO$YѭBnxLkvIpĈTzsZbB:Z^@&&J R )5) EM ͟:ޚ]Y&3$p?S%~TصKS׻veI` ~AC* \AQhu0 lhDąc7t׭A> pYy(9)=ܟit_w9P`p5f3;Z5gQ1AۊNb2r$ˉdbq ]) A'W%JͰF 蘭X? \0r6nz4:{׀[jT޵jfԄ,xNڝ60uȪ՛^ھ~r6Ҵt'I% */p]?Kk*P0Za{{Pъer(gUL*j 4pLFfdmС /4h\Rrmj7a9C `SVy0;WEՓBp oi6޴R }j(t |@cMh,;%E \ŻHU&A %-BZFռ%0{kA\6ԼAnq wU޺eq }XVɪT[n˅#wUV:eq _U*ﳇ2nL#C afiޓyVuo)gvX[n= 7;O8AC jU &nK0l/18́˜y`w)mxӀFp=>AUM$DFZZ6xm B'vRtAKࠡpDc@˂/{6!cxgbs89>da8D7t}7mY$m6"͠]&?8 \=Tc׀`ފ# \(ac9iaG0',RW75µa4FB'Vaq` 6Wp;t& ދ`dgGZkz|4xбd~hNmkf ͟g?A_q8CK8h7ؗCklLn@pp[(.1SH \?"Y;ʉ9^%ˡD\@0JBx&\Զ<ҋ5~ރ>k%̇2OHd2f<`K ˟-h/AhƵq`0 @u@ 3`ba渖܌ v# QsVa)[j֯)ԐY5?#_?v9[8[s" ud@n&6G5wr7 ,@n^Q ; !my٭Յ&hLy[ p 7/+1Ύӈ?>3WƋܯ_{o<< ^F?`k {{3Mע%j) 9rrW[2C_yEJv ITdG|Po3%+.cno+JVj c3Njev} &k*w|e+&.-']<?D xLc%K^"2ܯ$ɊBW0THgK@&O?ŏ"֕M~\  k7>c/0Q{?/G{{# {?.m?F?Ī}oѵ _hR^?8%_) [Y4QIfS` ^o(G|r)ɹԕ?Co{_}#*]иz+smˆS&k*\bc^@+%]~տ,V1g)p,31=qXqC JHL V#| !1t R|vE.FP9ZɊ>iL7էE{?0|sSC^af ᐚfH2?RjR@,@?1}lvf(iT] S0%:صؼL{A;Q_タ"8(aфvXF7\\#5 \<nRz YK{a45g31omeo<6m4߿x |}] ]Da鎂v0 Ĥn`IR3j̭|%/0 {;fXpx,S ;{w vpt7-vi$- {+MX~g_;wʺ s= 6) c*`Nq oX] )<a!uMl+kш$X/d3?@ٌ\7,:]~E* mr4|_&l-2%v/F%^3 8I{7\. LtxzEGPsw*{k.ٷܭΛ'}cXo8鞬K__oUi}meo-'p6W22R 0#vye;1{,Ʊ~4S4ikEy<0಩OQpgucX"r~w(,4T nˡ9[8KC@6(4T nˡ9[8KC@6(4T nˡ9[8KC*rq 7B]@H"Б2 pwE\ŮyW8+t@n.v̻]D#ps+d,nVs~fkQa{wiY][ 3M"ɺh9ՓE̍2F,԰ѲfjtTkJs.yii:,y%kcC83Y3ZڬRX$Q.gz&4 jTZQwAzi]^ˀ;X:۽$enJ%%Jd27lۏ8Y 5.^ΔH$uuԆۮvj>pc; yHIq)ʬƕJ30paZZmqiˆi: Ij`ֻ]5r؟6˅v-|Zjy7QoUPiJCoN_:l;] ۢy@%$T7=(+~p^7-I| -mķ z` ;6VI,؁O{Hjp{_p4@f>-G/{.S Q$΀:J o% "o6ב~RT%lYh!eDMǐR ĭ LJq pZ ʍWr$'Y;n6^OWʟ (OSO/ ׽&:NԎ4:ՁK^nF^0F(E.Ih u4:1VE-|--MWc-plzj@1}ؗ,"dn6H͘Y 5R[6ltt&RAL, ngUm:qb.AuhtO%\"$AS(@4l|HQJRӭBD )xPF>py K5DͱA6X =JUHdVvB+dC|1+K ;]o  Bd\Ә_6Bz4PKfRh1_+/w,0rdqF:5^Lt}52۱qpș A7ѷ$sUCmbY ^n+\t(ܨި!tGX@g7"TAJrW0YzWmRtJi4>T$e1ee0$9M$od]C$p ED{<2;ݚ(R1 OȰΠ]%u:F^j=ҟi&DqsQw]ujhFJ &J],[^e|CAK/I(kŸnшWv닒OIbt8ꔻ k9@ ;fk+5\nKz-얃c"8ѸoEop# @ʊm-7pcmR piAŤ6f]#&t6Aiͩe,ڎ|O.&M{bc&7cz dYK[X(5Ӷ2[ihD.my0` f`C>WîF EE+NF'Lީb*oh4n#@]?O4rŐ5Y\G)'j\B*L4nVA vk¢Gtjhv->pȶVi]koQqsM``ʣ5dh1 l,",( 1g4)o)j_EXkKa b6zd&ӘŨiЕ3n!ӏ-`k%ۘnl=O4a+b]ִ!tTlb}L+f͢ݶ2hJ[Q&iVD<H9Qㆅxܚ!X?2Wf>Q DsM5hTlœFTh\{K濸9LM랺69u'k.@⌍\ ࢠ#.^e]Y:). %+[쓑ou-p[.K>)jc~[6k/S;&"Nk1_#,0ƳENfc` 1St9bpP`ߊ2 \C*p}gE-@j5IlO>sn>),^z7y˒O-ɻ+,V SlKY-|Z'5)j%<MژKq=&BL/i#SD >q-fLe2Ke놨I{Mڊn59`-I>Y-}HȚ)dpiZ\3daNZsHg=Y>ENgQ<0.JZL\$2]4 )u _7GŦzu"uNn#&9BZZ|xurs|.퐽-_(sVS=-sвTDx_p0ÜBY}]z qX*p|^fVJKb1^G,8&&Pft彅tҀi"!0Nw 6abp$Y֧sk+z\RMVΉgOq~]sP`:a,2dK5Q~ .c^Ӏyuٶ}/0 i\ 7 VOwL[nP`}ߩRM/@Q+>U}of5|z9!QRD}e*> ~kS.Ao:}v V݅FJ \oQ%2F\-C$T'ehvW܀> MQR'(9 riFk-2@6%@8b|-ELMFUP0i~Z&klaJ)W=Ǒ>V|/{~hV~G0<{1:!CGLy{4h'πJL"x)xA #a;'SmHpj"[+tN0cXHVݕ@ <9,a 2%jbKps z C$OX7s* Kضzga2‚ !TE"RCՖZ;(z^|1p`]6JekADx|/fYf%!짼=gwl0x@=q{6A #AK޲&6Ab lIvn@8>8P-Wa8SBaF+a>]YXL1@}P1{ˆ_Xۦ^`BEHI W%@-:Jv4,v2p'&tza,iJF ,!3l\Xa|qGE."`?s>c8c R#qC;_=1Wn/s:b<_׉1t l4.uSt` ? M q|*GS+ {`/VCb(v5a\XHXb \j"&3 f.WԈxNjnk5 "ѼN^ `??iw[!z<%1S׏)35% |c JL"dJjqXHzSgzVNZ7 \0O# nc<)o٠wnG<49^X"O]p߽c,.Sr0Bwk- =\m@ђZx- @-&RWRW',b5$P,fExĶk{^, MGX4'Q2^}΀7e qbT؂Xg:&v1)of"wOԄ1=^lBaya)HyBo[ 2]+ ~`qV"(^3S^gR!%` zڸID)1)ZMt8_LT᱁vY(3ѳK1K.˧.DII|LJ)7S-zsD7.t'[T6!/0Ð夭c,vUYg]L9y4oͱgKKw2i^˙'R'*˧ ]ͪ9*GGGg~,]?,ș\yh8{A{*p@$%D!.0>iH0\a9CI>l,\.[J!iiisS$<=,+''W4bژƝt;8PG),Ve>`pS7㩩2Ma HR[|= }\T\(ŽKBr\Hc{Щ^n @}FTH zڕHSaDђh =!R03 c 4}΁^Έ$DDG(/( y?]Ξ5QoٓLL=3  6L>"U>?$1n$MNȇ'׽XY pO~Io %9AHHq1%!~׿uH(;M`'!և?0%\ ><Y9[@1lT9%AOd n$501g)04> 8oNS0@#NG;f!s zp < = z.U YMHr ;5O 2hÑdtp@5u}wxՎ#:\8\ϨׯkbC\Lh9Saj&ü_߈iaGJۭK8 6q4I~/8;7q!s>=/7 )k8-pb"*̡ Q`\ͻe ,rw #Ww΁ΐu:i,la ^pl)U&-bsQEOZ7 k\bVTitxxlG7$~i . Ƶߎ$D^>}Rs+tG-dv LbpQ,hqOh/Q`\ <_)q~Vz{vER[Qd="^;=kRHt攩8^fSp9`ہ0jFJ/0QQJɮ`dX~"l\kC<2^řsa7G;M"1DT JҴK~\,ƥI=Ҹ{?`PH'ږAvWJsE3$Fi0F: m.[SYд 0nC=pi˭{~}|J$7r9G`{BX;'P+j;j5 GQ)Ώ`rO_h\fdsaM' " ćGn"*C iĹ6XRO~s0e5 $}q J;@g@`t1"LB@FKF򎙐 !8=AGWxwDt|{xPϣT3wX~~3[v]pa 6E>*>㌽ {j?C↼xs]osca+2?R`\gN"PcO_\<g4&0SgH&Br`ΌS'j^6gMPk.yvFoH1seM(Nlo}͊liM+~#H*\s}9'v~ޔɍBJ`kU}, ?LUE$KִYkJ7ׇ}s{&{r:/c6ǦD ?fWk$U8THÇW oo3.pnO2BȔ2g')+ԋUozhE{_RҦRen᡹b8f;ߩ bj)U)Z"PPayS9/8 zM͉ _Z[SMp]v!ܵ&qEB>qm]`wIuQy,gy,DgXS!l؋w 1- Ik(IF"8F,L(FTyFĴ䒃 =hp}o$|Ry8rwNuy~|CDQ9`|ٚ3L @&)>btdlpq SS4*AOHƁ}J{=$C_SYˈ p/Rpu']4}c0Å0Їmh)qeN {ǜaX, cOF|qLkb u1/6F@AZ;-$nS_Cqa\H܈T941@}LuɼӗL:5,ax/Գ%N|i'!Myp;ì,'ө9-"8 .bJ=@wIחhmCX#kR $w2h"l1}uㆼ,9ۧw!e,=) ؞ Lk*(#Hp u\s0 .(S5g=%{G';Ĭ+p!NHC@g[x1$^EH2;6kc:8n'|xL=辪&3&C|4Y:L24zC|9$ Bt9:a틞f f붇.R5q5nP,n^>W&<94č+cI\)dbWl*G.D>@ f&_L:%n6&-K \*:?zqVMhyCX`F;Xk5pn.R C2p.2y}р ׅ0Xݡ &`a{/ǍƅbXS}֟vEd3N cVrˁN -K^ rhk R?|sw}e#w<@O^rt1p (n%69}xw6*CtH9(@+h6'֌s;T/cJ[ 0lnݺe9d&4b#;_qt ٞ w3u|f]1|0wȬo\Fz~p p=>D.ȩ{.oxL I|-b`ߊC0 %bC .Fuv| O='DHU&7Di]H#{h8B"q`88ܳq \yy{<> 9sC1 IkM7UZmttӳ^Rc2oL_1fB ⺽Ei2ÝrP>@WөiGBm(%!w[nϮ^׍ %қKRfSjt3Dn8{(Lxe=`:+nop瑜;o i駼YtJʙg42摼v7Z;9fQiʟvTxF ],nyYxow'|} 3{p Ȁ+ 'dah)80s]#n|G4>K=<̝ --4?:q͸wDӔ {ʁ [`&'0 NgAlQ ZQ !4B]Ŝ.Ҹ;@[4(F(x [`p&=83~xoE) F)4*҃ w787 T )*EqOF[9YGsɦt\w2N]|+vkb-VIA΄=oPxtu;9%ЎM 2wU,i配)cNv+dMG7n$]DDG&R\h___PPT2001D<4X?- 2003 WL Truppel ZCS 12: Intro. Computer Science II " Lecture 2O =rCS 10 Review (Elementary C++)Wagner Truppel Lecturer, Dept. of Computer Science & Engineering UC Riverside wagner@cs.ucr.edu http://www.cs.ucr.edu/~wagner http://www.cs.ucr.edu/cs12O  O`a~Announcements IEmail with missing information Make your msgs easy for me to deal with and you shall get a prompt reply Make your msgs hard for me to deal with and you may not even get a reply Email using non-UCR address Will not be replied to beginning SundayhZZZ(Z ,)C?4Announcements IISwitching lecture sections Possible, but unlikely Only in extreme situations Talk with your student advisor first Not guaranteed Switching lab sections Possible, but unlikely Only until the end of 2nd week Send me email with complete info Not guaranteedTffffNBAnnouncements IIIfNo office hours today ! Sorry& You must add yourself to the class mailing list if you haven t done so No more class announcements like these See the class web page for directions*gMgM>3Today s TopicsProcedural Programming Top-down approach Bottom-up approach Review of basic C++ Elementary data types Variables, operators Assignment op, automatic conversion Flow of control Functions main() Call by value Call by reference OverloadingtZ%ZZiZ3Z%i3  K@Procedural Programming(Split your problem into simpler parts then solve each part separately Recognize common parts and solve them only once Top-down approach Bottom-up approachZv% Top-down approachUExample: How to do well in CS 12 Must do well in the lecture part Must attend the lectures Must do the lecture readings ahead of time Must reserve some time to study on my own Must do well in the lab part Must attend the labs Must do the lab readings ahead of time Must reserve some time to practice (on my own) how to write and compile codev!Z!ZnZZZ!!n  A5 To_do_well_in(course) Must_do_well_in(lecture) Must_do_well_in(lab) Must_do_well_in(component) Must_attend(component) Must_do_readings_ahead_of_time() Must_reserve_time_to_study(component) Must_reserve_time_to_study(comp) If (comp is lecture) Reserve_time_to_study() Else // (comp is lab) Reserve_time_to_practice() Pseudo-code: code that is closer to a human language than to a programming language, but just as precise as a programming languageZ/ZZ_Z!ZZZZZZ/_!     w9/Top-down approach(Break the problem down from the top into smaller and smaller parts More intuitive than bottom-up approach (more on this later) Functions are the natural tools to use (as opposed to objects).C7Bottom-up approach(,Figure out the smaller parts first, then put them together Less intuitive than top-down approach b/c it s not always easy to figure out what you need Objects are the natural tools to use (as opposed to functions) We ll get back to B-up when we cover Object Oriented Programming6 CD8Bottom-up approach(Example: drawing program You ll probably need triangles, squares, circles, etc, even if you re not sure how they will all fit together in the end All of those things are shapes Every shape has a position and needs to be drawn Base class shape x_pos, y_pos draw()fZZ$E9Bottom-up approach(class triangle is a shape a, b, c // sides functions specific to a triangle class square is a shape len // length of side functions specific to a square class circle is a shape r // radius functions specific to a circleZ3ZZ6ZZ+Z#        euF:UML( H<Objects and Classes(Just like you can define an int variable int x, n, radius; You now can also define a more complicated variable, an object of a given class: Triangle t = Triangle(3, 4, 5); Square sq = Square(10); Circle c = Circle(7); The cool thing is that because these objects are also Shape objects, they all know how to draw themselves b/c you defined a draw() function in the Shape class: t.draw(); // draws the triangle t sq.draw(); // draws the square sq c.draw(); // draws the circle c)Z nZQZU nZZl nZ 8 6X            , I=Bottom-up approach(Figure out the smaller parts (classes) first Then put them together have the objects created from those classes  interact with each other by calling each other s functions B-up approach does not require OOP but OOP is the natural way to express B-up ideasHFZj uZUZFjUEJ> jGimme a break, will ya ? Let s be back in 5 min, ok?:6 nZA $MAReview of basic C++(Elementary data types Variables, operators Assignment op, automatic conversion Flow of control Functions main() Call by value Call by reference Overloading.iZ3Zi3OCElementary data types ( All of these have an unsigned counterpart, as in unsigned int For details on the difference between signed and unsigned numbers, read handout 1XZ J $:RPD Variables (fAre  containers for values Must be declared before they can be used Are type-specific: an int variable is not the same as a float variable, for example Values are stored in memory cells, occupying a machine dependent amount of bytes. Ex: typically, an int takes 4 bytes Exs: int n = 3; float radius = 0.54;Z  uZ[{P[QE Operators (Let you manipulate your variables Arithmetic operators things like +, -, *, /, ++, -- Exs: (a + 3)*(b++) n++ use n, then increment n by 1 ++n increment n by 1, then use n Watch out for integer division ! 3 / 6 evaluates to ZERO 3.0 / 6.0 evaluates to 0.57ZZ3Z7  #,W?rRF Operators (Logical operators things like ==, !=, >, <, <=, >=, &&, || Evaluate to a bool (true or false) 3 > 5 evaluates to false 3 != 5 evaluates to true x == 5 result depends on the value of x && is the AND operator (3 > 5) && (3 != 5) results in false || is the OR operator (3 > 5) || (3 != 5) results in true Don t confuse == with = (assignment op)ZZ%ZZ$Z(Z       J SG Operators (8Assignment operator int z = 5; declares z, sets its value to 5 and then returns that value Thus, for example, (z = 7) == 2 returns false Don t confuse == with = If (z = 3) { /* do something */ } is valid (z = 3) returns 3 which is interpreted as true only zero is interpreted as falseZZQ Z  +   ,+THAutomatic conversion(fIf necessary, shorts are converted to ints, ints to longs, longs to floats, and floats to doubles Ex: char c =  Z ; 3.6 * (c + 5); c is converted to an int, added to 5, the result is converted to a float and then multiplied by 3.6. The result is a float. This is an example of bad code (for at least two reasons) ! Any non-zero numerical result appearing in a boolean expression is converted to true; 0 and 0.0 are converted to false 2fZZyZ     P&hCUIFlow of control(Things like if, while, do, for If (boolean expression) { /* do something */ } If (boolean expression) { /* do something */ } else { /* do something different */ } while (boolean expression) { /* do something */ }l8Z nZZA nZZ nZ >$*U%VJFlow of control(do { /* something */ } while (boolean expression) for (init; condition; modifier) { /* do something */ } for (int i = 0; i < MAX; i++) { /* do something */ } Watch out for ; and , inside the ()8Z2 nZ Z nZZ nZ$Z  PLRWKL-values and R-values(=Suppose we have int x = 3; x == 5; // does this make sense ? P>Z $)XLL-values and R-values(VSuppose we have int x = 3; x == 5; // does this make sense ? Yes x = 5; // and this ? rWZ $BYML-values and R-values(vSuppose we have int x = 3; x == 5; // does this make sense ? Yes x = 5; // and this ? Yes 8 == x; // how about this ? wZ $bZNL-values and R-values(Suppose we have int x = 3; x == 5; // does this make sense ? Yes x = 5; // and this ? Yes 8 == x; // how about this ? Yes 8 = x; // and this ? Z ${[OL-values and R-values(Suppose we have int x = 3; x == 5; // does this make sense ? Yes x = 5; // and this ? Yes 8 == x; // how about this ? Yes 8 = x; // and this ? No ! Why not ?Z \PL-values and R-values( Suppose we have int x = 3; x == 5; // does this make sense ? Yes x = 5; // and this ? Yes 8 == x; // how about this ? Yes 8 = x; // and this ? No ! Why not ? Because 8 is a literal value You can t assign values to a literal value Literal values are not L-values - you cannot have them on the left side of an assignment Values that can be on the left side are called L-values, those which can be on the right side are called R-values. The distinction is important when you consider functions and their return values.Z E# T^Q Functions ( main() Every program must have one It s the entry point of execution of your program Must return an integer int main() Should return 0 if no problems are encountered Should return an error code if problems are encountered ZZNX$ln_R Functions (Examples: void f(int param_1, char param_2) void drawMonster(int monster_id, int x, int y) void moveMonster(int mnstr_id, float dx, float dy) int max(int a, int b) { if (a > b) return a; else return b; } int z = max(r, s);Z nZ  uZ  Z uZ  Z nZZ      (      /`S Functions (Call by value The value of the parameter is copied and the copy is passed to the function void f(int x, float v) Call by reference The address in memory of the parameter is passed to the function Lets you change the value of what s being passed to the function, from inside the function void f(int& x, float& v) & means  address of <ZdZZZ   ,a%aTCalls by value/reference(Important example: void swap(int x, int y) { int temp = x; x = y; y = temp; } Does not work! Inside the function body, x and y are local variables whose initial values are the values of the parameters.ZEZ|ZD!A~ bUCalls by value/reference(Important example: void swap(int& x, int& y) { int temp = x; x = y; y = temp; } Now it does work! Inside the function body, x and y are not local variables; they are the real thing When the function exits (returns), x and y have their values exchanged We ll see in detail how call by reference is accomplished when we study activation frames next weekBZFZZ /!M5 ~ cVFunction overloading(It s ok to define many functions with the same name, as long as they have different signatures: Ex: void swap(int& x, int& y) void swap(char& x, char& y) void swap(float& x, float& y) void swap(double& x, double& y) This gets boring (and is error-prone and duplicates code)& Is there a way to define a single swap function that applies to every type ? PdZyZZT    ,oeXFunction overloading(It s ok to define many functions with the same name, as long as they have different signatures: Ex: void swap(int& x, int& y) void swap(char& x, char& y) void swap(float& x, float& y) void swap(double& x, double& y) This gets boring (and is error-prone and duplicates code)& Is there a way to define a single swap function that applies to every type ? Yes ! That s done with Templates.PdZyZZT    ,oB6Reminder (fIf you have not read them yet, make sure to read handouts 1 and 2: intro_comp_org.pdf stack_frames.pdf For next lecture read chapter 5 of Savitch s book Have a great weekend !pC' nJC +PC " /PsxHH@Rg(HH(dh   ` www3ff` 3fff` ___>?" dF@,?n<d@uA @ " d`  n?" dd@   @@``PR   @ ` `P0p>> - 2003 WL Truppel ZCS 12: Intro. Computer Science II " Lecture 2 X( = 2  N?"! :    N0gֳgֳ ?"P  T Click to edit Master title style! !<  Hpgֳgֳ ?"  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  Ngֳgֳ ?"`p  Z*    Ngֳgֳ ?"`   \*     NPgֳgֳ ?"`@  \*   N  6n޽h? ? www3ff $Blank Presentation1  - 2003 WL Truppel ZCS 12: Intro. Computer Science II " Lecture 2 +#  ( |  B  N1?"442  NP?"! :    Ngֳgֳ ?"` D T Click to edit Master title style! !  Hgֳgֳ ?"P  D W#Click to edit Master subtitle style$ $  Ngֳgֳ ?"`p D Z*    Ngֳgֳ ?"`  D \*     N)gֳgֳ ?"`@ D \*   N  6n޽h? ?  www3ffc$ `<f(  < < 0@; "P   ה R*   < 0`< "   ה T*  r < c $ ?"  ה$ < 0 = " @ ה RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S < 6 "`P  ה R*   < 6` "`  ה T*  H < 0޽h ? ̙338 D( @ $  D D 00ǽ "P   ה > CS 10 Review   D 0Ƚ "   ה T*   D 6ɽ "`P  ה > CS 10 Review   D 6ʽ "`  ה T*  H D 0޽h ? ̙33  @ L(  P   c $h "0P D   c $h "P  D B  s *޽h ? 3ff   p@(    S `"P  D   S  " D B  s *޽h ? 33̙ff    L( 00//     c $"P  D    c $" D B   s *޽h ? 33̙ff  ? PL(  P P c $"P  D  P c $" D B P s *޽h ? 33̙ff  ? L( 00//   c $"P  D   c $ "` D B  s *޽h ? 33̙ff  N HL( | H H c $"P  D  H c $`" D B H s *޽h ? 33̙ff  > TL( 00// T T c $"P  D  T c $" D B T s *޽h ? 33̙ff  K ( (  Go   c $ 2"P0 D B  s *޽h ? 33̙ff  > L( 00//   c $1"P  D   c $@6" D B  s *޽h ? 33̙ff  K  L( www3     c $3"P  D    c $`:" D B   s *޽h ? 33̙ff  K $L( 00// $ $ c $"P  D  $ c $" D B $ s *޽h ? 33̙ff  K (L( 00// ( ( c $0"P  D  ( c $"  D B ( s *޽h ? 33̙ff  K TL ,( 00// , , c $"P  D $ , C Afig1.pdf 000E8876Earth B9B583FF: 0B , s *޽h ? 33̙ff  K 04L( 00// 4 4 c $4"P  D  4 c $ "0 D B 4 s *޽h ? 33̙ff  K @<L( &: < < c $"P  D  < c $" D B < s *޽h ? 33̙ff  K ( P@(  @ @ c $"0  D B @ s *޽h ? 33̙ff  N `LL(   L L c $"P  D  L c $`" D B L s *޽h ? 33̙ff~  N-FTable 2002 Pearson Education, Inc. ZCS 12: Intro. Computer Science II " Lecture 2 RJp T(  po T T c $ "P  D  @) T `^$D @PH___PPT2001$ T C pAXC:\WINDOWS\Desktop\savitch_colclough\09.gif)  T  A$d ?Pink tissue paper"@p[ PDisplay 1.2 page 9" 2 T <?  :    T  `gֳgֳn ?"@  D B T s *޽h ? 33̙ff  O XL( 00// X X c $2"P  D  X c $`1" D B X s *޽h ? 33̙ff  P \L(  h \ \ c $p"P  D  \ c $P" D B \ s *޽h ? 33̙ff  Q `L(   ` ` c $"P  D  ` c $0" D B ` s *޽h ? 33̙ff  R d\d(  d d c $"P  D  d c $0" D  d <pin :  B d s *޽h ? 33̙ff  S d\l( X3\ l l c $"P  D  l c $P" D  l <in :  B l s *޽h ? 33̙ff  T d\p( 00// p p c $"P  D  p c $"  D  p <in :  B p s *޽h ? 33̙ff  U d\t(  t t c $"P  D  t c $ " @ D  t < in :  B t s *޽h ? 33̙ff  V d\x(  x x c $"P  D  x c $" @ D  x <in :  B x s *޽h ? 33̙ff  W d\|(  | | c $"P  D  | c $0&" @ D  | <1in :  B | s *޽h ? 33̙ff  X d\(    c $1"P  D   c $1" @ D   <1in :  B  s *޽h ? 33̙ff  Y d\ (    c $1"P  D   c $@1" @ D   <1in :  B  s *޽h ? 33̙ff  Z d\0(    c $1"P  D   c $1" @ D   <@1in :  B  s *޽h ? 33̙ff  [ d\0(    c $b"P  D   c $`d" D   < hin :  B  s *޽h ? 33̙ff  \ d\@( 00//   c $1"P  D   c $1" D   <1in :  B  s *޽h ? 33̙ff  ^ d\P( -   c $`1"P  D   c $" D   <in :  B  s *޽h ? 33̙ff  _ d\`( 00//   c $ "P  D   c $@"P D   <in :  B  s *޽h ? 33̙ff  ` d\p( 00//   c $"P  D   c $ " D   <in :  B  s *޽h ? 33̙ff  a d\( |   c $ "P  D   c $@ " D   <in :  B  s *޽h ? 33̙ff  b d\( 00//   c $ "P  D   c $" D   <in :  B  s *޽h ? 33̙ff  c d\( 00//   c $ "P  D   c $@ " D   < in :  B  s *޽h ? 33̙ff  C L( 00//   c $ "P  D   c $" D B  s *޽h ? 33̙ff tlPH(  HR H 3 <   4r H # < @  4  H H 0޽h ? ̙33cxp^RЀ3ÿ lHbP  @AL G@;b `B&V DA`tH@лjM:`T(xL ^`pDe 6 fDocumentSummaryInformation8Current User.     Oh+'02 px  'GeneraleneeneWagner Truppelo33nMicrosoft PowerPointrP@R OM@@S@@S@l G1PICT1 HH HH  nnnnnnnnnnnnnnnn uNhTpxngkg uNhTpxngkgn \2"-Vnnh8$0Qknm4G6m"LnnM%n6bn FX' 1̧;0'};n28 FX' 1̧;0'};n28nCCnO Bn nn;Tn&hn'aXH;i mS>n^6H;i mB^/ nn{ FT'9qKY,(2}qKY,+C{ FT'9qKY,(2}qKY,+CnJ=ninmT5 \n nn>Rn$ln'a9 [n1 &bnZ<^61 &bc>Q;nGI F> b S} 912ܙGI F> b S} 912n^nnh K Hnn?Gn nnIIn n a*nW f;9E gn>$e^6;9E gnN _na8< F <i&bV^8MX}^8MW/a8< F <i&bV^8MX}^8MW/n*=Fj :; `n nngH-n&a*nn9%[(Z!mnf&n^6[(Z!mn;i%n p '}IF 1 b3 (]} (> p '}IF 1 b3 (]} (>n j06nnN LnnFbn a*nnlN8Tn(Rn^6n8Tnn^nC8nn!?h"@i; 0BZnmdnignldnmenmen+~Y[< -Qmnn(~z|>=fnn|~ pygguNhz sygguNhz?9fn4Ge,V,Mnm^n\2"-VnG5n~ "}7g ' "}7g '@GmnZ\`K6nj,n LLnngSgngSgnn\\nB~,Q4c}DZͶDZݯPҮ=4U1Q4c}DZͶDZݯPҮ=4UA%]n#n`+n^6nnVLcnngUgXNijPWmnVLcnnjUd_KbnT"\nm[K[niUeO^XXnngUcnni Yn\nnRRnRRn%nL~L@}N ; 73N B -H4x.^Z} L@}N ; 73N B -H4x.^Z}CGn8n`!T@V^6m"LnQ7nm"Ln]Zl4nnW('dn;VnnS6ndnmmQQmQQmmn8ln6~E:};N\,;0^m-))޻4&~~~~J:};N\,;0^m-))޻4&~~~~D1hn`En`:^6H;i mQ"l(9i nH;i m]iJ:_(g`/VlnnWX`Q@nnCCn6666nE]nN~$M:}qKY,{9qKY,pyhf"|>wXYwwXYw*M:}qKY,{9qKY,pyhf"|>wXYwwXYwE(anMRn`!V:X^61 &bQ>n5Xn n1 &b]0n]4g-nnQ, nnW5nnm `8nJ=ninP3&&3PP3&&3PnQKnH~ c}=ygaB}s GIc}=ygaB}s GIF$ZnPQn`+n^6;9EgQCn7^n n;9Eg]7n`4g,nL*V nnWn_n *=FnnXYnXYnH`n~u1} (= (yB82K?p '}y u1} (= (yB82K?p '}yH#%Tn2n`186n8TnQCn7^n nn8Tn]7n`4nd bnW>nDnj06n4 mn~y355  y355I%&Xn4nmenmenmdmnnfmnlhnmdn8nX~ s  s K(*\ne\nB 2n\fnR~  K)-anGRnZ7GlnRGn%~ &L+3hnn%~5 >N.Emnnnnnnnn~z  V?Vnnnnnnnn nnnnn|~XBCgnnnnnnnnnnn@~?LYDNnnnn"~ZF`nn%~ 0[HMlnn"~]L^nns~ ^NPknnnnnnnn~u^O]nnnnnnnnnnnnnnn߁~ `RSlnnnnnnnnnnnnnnnnnnnnnnn~q}aT`nnnnnnnnnnnnnnnnH~bVlnnnn"~wcYcnn%~#e\]mnn"~f^fnnC~.f_amnnnn|~hbjnnnnnnnnnn~9Miehnnnnnnnnnnnnnnnnnn~jglnnnnnnnnnnnnnnnnn4~arkiknnn$~ "lkmnn~mnn ~7MoqnnM~psnnnnnnnj~tqurnnnnnnnnnnz~6rwvnnnnnnnnnnnm~  syqnn nnnnnnnnn"~i{t{unn$~1u}|nn"~ āwӀsnn"~k ~xӂynn"~!:yӄnn"~ˁ!ҁz҇snn"~{"{҈{nn"~0"L|Ҋnn#~#}ьqnnn#~#~юznnn#~X$pёnnn#~$4ѓonn ~́%ՁЕunn4~%Зnnn~M&hИnnnnnnnnnnnnn~ &3 Кonnnnnnnnnn nnnnnnnnn~'Ϝvnnnnnnnnnnnnnn4~'Ϟnnn(~Yʀ'sϟnn~ (CϢn~(Σsn~)Υna~y)Φnnnnnnnnnʁ~G *f Ψnnnnnnnnnnnnnnn nnnnnnnn~ *= Ωnnnnnnnnnnnnnn nnnnnnnnnnnnń~*ͫtnnnnnnnnnnnnnnnnnnnnn7~+ͭnnn(~+ͮnn~W+tͯn~,,Qͱn~,1Ͳon~؄,߄̴xn~-̴n~-̶n~b-~̷n~?.b̸n~.D̹n~.˺pn~ԅ.܅˻znv~/˼nnnnnnnnnnnǁ~/˽nnnnnnnnnnnnnnnnnnnnn~| / ˾nnnnnnnnnnnnnn nnnnnnnnnnnnnn~_/}˿nnnnnnnnnnnnnnnnnn+~B0fnn(~'0Pnn~0=n~0on~0wn~͆0׆~n~1Ćn~1n~1n~1n~s1n~c1n~S1tn~F2kn~<2cn~32[nԁ~)2222222Snnnnnnnnnnnnnn~ 222222222L n nnnnnnnnnnnnnnnnnnnnnnnnn~22222Dnnnnnnnnnnnnn@~222?nnn~ 2=ņn~ 2:Ɔn~27Ɇn~25Ɇn~2ˆn ՜.+,D՜.+,t0    'On-screen Showcn-sE\'r -Times New RomanArial WingdingsTahomaZapf DingbatsBlank PresentationCS 10 Review (Elementary C++)Announcements IAnnouncements IIAnnouncements IIITodays TopicsProcedural ProgrammingTop-down approachPowerPoint PresentationTop-down approachBottom-up approachBottom-up approachBottom-up approachUMLObjects and ClassesBottom-up approachPowerPoint PresentationReview of basic C++Elementary data types Variables Operators Operators OperatorsAutomatic conversionFlow of controlFlow of controlL-values and R-valuesL-values and R-valuesL-values and R-valuesL-values and R-valuesL-values and R-valuesL-values and R-values Functions Functions FunctionsCalls by value/referenceCalls by value/referenceFunction overloadingFunction overloading Reminder  Fonts UsedDesign Template Slide Titles' 8@ _PID_HLINKS'AHmailto:Wagner@cs.ucr.eduhttp://www.cs.ucr.edu/~wagnerhttp://www.cs.ucr.edu/cs12&_CTWagner Truppel