Вы находитесь на странице: 1из 2365

##################>### #############

###b###########d###########S###T###U###V###W###X###Y###Z###[###\###]###^###c###

`!
########a#5
s>###########@######## ## #######x
RMk#Q#=LmX#.#TpdH0S\##}@>$#Y)###7#]t/pop'2+#L*D#y#
`'@#j#"XlIdY=l NhE@##m2dc#*B##{N###$\RdUO3 5KI
.CZ#k~W(#m# z_W#

P|ey#+r#oo#9|
wN+.Nh.#U*sVZ`#R.#kg#{ +<b#gi#wv$~#>LZ]8
#XT#
(LA#G#HK_>#|m57vB#kOc7i-Mg 6##.C?
UgW/H#w##T#,###W#
Lx?s|gNerw#c##wpAN#M$#>g?!@=#

##:##E#-##t[#################kS##,#

###x#[E#kf#wG#2^X#o#+e#eQ#`#^#].#D ##
$

#/Q#/#FCLLx#>#5_wzgYT>_
7=R:#^PRz#Dy):=j{R#IH)5b@]{<|k?8n0####T
`tyW8v?h#1H
gb#

gfG{ #5=k
k~{+V|6f0 0|
|
|
||
"#
#{RJ#I#Sst[:NU^k#
n_#V
#178atLlg*Z9a9>##4~y/=>s#u3#A#^n#
n##W#PK:^g4
jO<|AG ou#V-y#}#x+x;#*p#C:Z#/#Zog.##i6#I#m]#=#z3^g#zz:v*vS`#8^9
i###zV#,g|#Zx|##p#{|
*
=_g=Oc#<#_#"5U#/o*
*^|
cww# #A_ #_#^a|
y5wS\k#7#sa}##{k=K### JhD0 Ec#j|
X\av[ ~}9(dw^###+7}r#c#!<#|####m`;d
##K#OCn.eO?
R#{9#6!/1#~osCxa{cpYknjo1.'A}##sXQ] K^"W#\
\{,C^KS5O #7P#<###QN
{Iu-#`n ~##(j|
ZmU]}#n^#9#}#_:7@_mqg#iw07#\
lx'cyP!#p?#}?i#9y~wl#A<yci#
#^#[]>wV9Ym###t}U#6C~v
;\#] K"#m
%h#k#/Y!/_BK,^#gJ{gHr##Gwg`~C.]
?
#pK/}"#wPH.RuM:F#7mK/ /5#KD#]uv+R9#}

iA#=,#2Rtt\sO}x>s}4S#s|##Elh##5+-tpr
O8Zf`zj#.r:sR9N#'#[eh#q^#$v?Uwkz>

MsX
}A #yv |C{
/'Oo##Y#;p
#r) _ 9#r)]w??##'
# >S#o}3yZ:
#UoF7sf8s>Q#}uoP#g*kf%WK

Vro#s55
yP!N#aUoW
#
#
#no# |zKo
%.A6#V9*Ku|TNX9'usNMlU@G##~R#Ze#sB%;|
Jw
mKX?SS #/\D{6 Z!##O
/!z##\
W{#Kz_!%)#{I#:o#U#<k#gm
\uf\nkW_[##mfN Nyeq

l#tUsR}x>s}4Ya####u<"d\!#[-_xz#71]#^
#~N#V}n2##s>WET
[~ty8#l#m3O)OC;T#6?y~ X#JmS?
swkz>
^e Cn_q_6 #77#!./!\?
r/ O#YOv(n?
R{;Rkk?# O.}#||
~A.ruO}h7#btxqdm,9y3}Gbby##yEY\#mkf%7G

%#9|1cyP!
f#}*
:3.w'"/c#i56QF:##oC8shbm#mn#1t#{X{+T|#T
O)#M
}Im#/T!/_B=,^#M/C`#8[## 5!.
C^KS\</##>>;
2W#u?Gmq#k #Z?
#o~W#un#xvln?;}hb#roel##p= cn>sC#iU?5><u#6
###3nocrs7<M~mgl#}Vo(#&
l#G?}#2owW}##T{7\Rl5N=R

#Omz#7+K{
#
#%|A ##Y%w
wo##YO#;#YC#
3sl# Zs;{Km#06qE2mjc#rIgk#s#2"
|

# km# Y*V.g#/ao#Yb#s##?%Ko.17p,#|
4k3k #\8E#<Yb56#@i
i]fq $jj ##s-}g#%
IG#Xsp;#b{MLAe}`#F#=}"`!
####m]#C,############## ########### ###i####xcdd``#c##!0
L0####4Y=F (#.$#2KA?H#####
6Xn###T###.(#X'#M`##Ay#`!####5x/P*?#############
"##@###04########x k#A#n&&iScIAv#GV
(D h H#q^'E##rP#?
@P##"A#Ex*l7O#Mf?~7o3C@#P*
#4W#4*G#oD8=#E|#GTv##n#cv}#`3F<M#Fs
#x#A/*2ai&&#c,_1O#s%xXQy.c5
d#L*A.=# >vN.|2sb#m#[ z
]w`.#[##*$?r_5e#{#S:n>e c
0v#chG#+8#3#q#+#vdP#dK>I#u#y.>RWm3;X##_h#
#\4}_0& Oar=#aAZOM

?7$#aLb|I$# #`,"4 6%##m f"XcFH(0


>U{zU#TN#$idgED?Q#%C7>#0y#k
#"j#

z##%+]w#pp+K@H=###aW##K?###G&`!
#####\#d)#L###########@###@####1#########x /CQ#~a#x

M##fB44+# 6#*H,#P`0#I#4yo~{/#?1L#(4##m{
un#,HcXFT-!##e##.p%#o=A#Hd&Gy:
pS4#]kK:#6S9
#

#dcvfDOf3a9##T&eH8?#I%d'#B2#z#g=/g#Y;##aG]R0#|
V##>U3Ric9S#s~=LLt#CrQ~f#vAT>K%f=1v\z7sfj#qfMRr_{##H)=mP<
#Y"_dO.kBe#q:{"#cGm5
(;=wF9P!W.#J|>LA+

`C
P#

#/`!#(###

j^1#

##############@############xcdd``fb``ba##V
d##,F1J@Yp1#&##B@##?#6## ## ####~3#@0&dT#20\@#L
5##3#B2sS#R#s##v,\~##

qI####}`
r####w##3##
[#l#T

r:\$#$RQ#*#leb##pU UI@1H#?Hb#m

g"y##p]b@##S#

$0###izH;_H" VH/=@#X
#rOpenR~###N\[D###f@:W#]!\B5&#]O+f1Da"p
_yk#)###")A#ID#$##AO#fkpj7/# ###s###1A#.h#
#@(##F&&\#i{#:###@'

##*b`!####9k9#`n's ###########`###@###

########xcdd``#`b``ba##V d##,F1J@Yp1#&###! KA?H###


#

zjx#|#K2B*#R##. #ros#v
~
Ay

#!

;|.?#
#_[8&####}`
r:\$#$RQ#jh`d##v10L|
af@#yp#,WYC##}##M`jTE#|Z
dWpenR~##ZN

##`_VVAM>W#\p kL#`Vb#nA#0A|
##)#/c#S##+HXE>;##

\##e#! 0y{9I)$5a#d##E.# XD#g`##,>`!


#s######bhxC#############`###`###

#P##A####xcdd``vdd``ba##V d##,F1J@Yp1####! KA?H###Z#


#

,,@=P5<

%#!#

#l#7S9`wM`#SL

#!
~
Ay

;|.?#
#_{dF3#U#}`Uh#jXy#."##H
3H#I$#]M#H#I$#U#f#]FH"6j"v
$e$RN#`*"l,"r"{1#huqA##(##;##WLLJU%

8`#Pd#k#\D##/`#P###7fE`!#.###[o;_#
#t###############`###`\##P######xcdd``>
##@#c112BYLGcb<L
,#X,56~#) m

#@# k
#700#17T#obIFHeA*##$#@o#]####@Hfnj_jBP~nb#
%###J

@\@Q#d##p7L`1##f#:#Cd#`uFpu r#q##

`##+KRs##@#D##s#a####

3X?#G`!####X7)?k qr#6#####################
#u####x 1K#1#_#sgC##(h#(jZ#NT#Z,7&#'q!
A#D$##(x&y}p/@#]##
S#W;K#%$###D#$,G#+h#I#u#8S

@R9&#~oz#MWAM+DT##^-{#r #{Amws?#RE%V#EF*30&""y)!
**#}KUnBT#7!;LfkRHiA"#r##9#v#agYS,!
r#;Kk8/A"#S#i$5#yL4vl#FSu cNw}#JgVk@^O#T4E
jm|C-ES
%/~`!#
####s!##p=##############@############xcdd```b``ba##V
d##,F1J@Yp1#&###B@##?#6## ## #@=P5<

%#!#

#l#7S9`wM##Lb#r<#K>##b#n####}`#?\#

##3H$#I#$Xy#.r#]#NHv
H##H$
I:^t5>0 >T#M###@#O0_a#v

$#dFn1DtvD:a&#]#'u\A"ZHa(KnN##9a#w&+ss##psYRP]T#2"<jpk#nC#s##*#*0tR|i#8%<(K
_lXY##y##1#pAs4#8C/##lF&&\
#:###@#a#t1##["`!#i###"#y2z;u]^#####################
#7####xcdd``gd``ba##V d##,F1J@Yp1###B@##?#
6## ##

#l@=P5<

%#!#

###@o#]#.#:S $37X/\!(?71a#Xk4o##P.P1g

F\

#/"#SD##Eme
VF####`wkTE0D4"#,`#445#XI`##V####1<`U###E##G!
#``#I)$5#S##E.# XD###320e#hr`!#i###lXyN#_
2I+^########### ##########
#7####xcdd``gd``ba##V d##,F1J@Yp1##6#f! KA?
H#####@#l@=P5<

%#!#

###@o#]#.#:S $37X/\!(?71a#Xk0o##2]b####@:+
+W@E#0G<`M@

##`wkTE\@"p#Bhj#0'y*#k##E`5###E####E##G!#``#
I)$5a#

@#

]#@0#,!gd`###$g`!####9#+Bw8UV/lM##############@###^
########xcdd`` ##@#c112BYLGcb<L#,#8,56~#) m

#@# k7#'p00f#aM,#,He`d#=##k#%@g
d#++#&1X #+#|-v#L##3###L&L #/"7A"#p#-6He
H#;L#
r####w#l##>d ##n#K#.###D##c#hU#<aC####@.

Ma`0b%L#n[Y#5_#F&o*m21YM~Z9#=#(/kp#V#@E2\#e

#a.p:X#_##NLLJU%

7@v1#u(2tA4#R'

>c###!o#`!#Z###1

##<_###########@#########@#(####x k#A#tv_k
#HTEc#"s#QPs#i*D+AA<y '"#<7x#(
#gftdG#M#H<K{Z###.SS4bgf##9#9y ih3VJt#Q#zXng~>#g~kSl#Y#Urd;
(+#JYI#2
#e#{#^za. _#r#|d''U 2rPs2@j=D###!
T]SHH]#`##RbLL7a##RS#R#T3Ba&84##
5Z;VR#T

b
c1Caz#0C@#/#O%*|b!o
b 9. j[oN#!*WrMwWwd#!
#*_b#2TPp.\#p>v|;JJ#Rl:]C8M/s^#'pW;Io##J#`!
#h###
;#B7C^########### ##########
#6####xcdd``gd``ba##V d##,F1J@Yp1##6#f! KA?
H#####@#l@=P5<

%#!#

###@o#]#.#:S $37X/\!(?71a#Xky##P.P1g

F\

#+"#}D#FEme VF###v#5*"#L #M#f645#<`#BS#MM#4##ps


f##y:#,b

#
?#8 #^###F&&\##O#:## #`#a#XC|

##Ff#n#J###

I0c##:bl[PNG
#
###IHDR######n#####"Q####sRGB#####IDATx^ N#K#@#### R>#D?
###6@"#
#h#)#
2'+a'#fj GwM.G`wN GG^.i##+c4 #\;##,V.s##+#i9##r4
#s#pnb987`r^A7#fk#'tS>T# ]#'wG
l62?o5#}G #?IS##.#G$^__onn #U:}
l@#G_5_Qq,%noo###Dj?L##}&q#9+i&2
,##m#qfnHC<m#hKC#Y9^\\4l^jvf#:y#mCn\Nfr`#&q#a3y
#rf{z*Pg'}#s rEE)#!I'.G##Q##d
y2.Sb0#qL+Q)T
NleT`W-`hqP\##V#u#T#y0 W
D 98 v,$[#G#"-U?

>>FK
N#jq(c/y

!6X`#}dC(S#I6 +(#[s[#tcYQK
8r:'p{{8##_"xh:yxx7\SRRH##>#KuE#AAu#F !#
0s#$*##2u#d#^"`#M##T#:kIh0#~yy$q8A#/
(#\####"uCmSxU##+#f!Qn5o
%iF#B#*#,r4ti@^5O9/#[W#|
#{4#EJw]dLTT[&gFW#<_`;l,rh\_#%azES#o#9o

Q*pR`#NK}3#tfvqSe%%cA

#gn r

#
#{r7#eCE&{qObx#&#
-U#
) 0h#e#y{'nyaofpr#3U*yih^5#wr#\=26S#j9#z8<GtT8Od,#D
#>/#[0#8#Lul0d%0<b/G#35/M#<[#Ct||9#sfo#|
(_lp"hL05##'w OYS<81s1#T:Pmgs% S'e#e;skc
~SP<[#+s&,18>(##PmFu3
X4f G#
#(

S$<?K#7##q#UgN0e#<"sW59mW#XykSp#yV ##Xi+b?
g^e#eY#R6HG
z####z(u*trM:9H_#/1CI_YY_br&MQQ9[####+
#b# #r#:\B[#P\_gK#r#w_r
An9@#r}Y.!###S~Dg#y#F##
mQAXVC#D%?W WlIDsWNgh oH ##
D#JK*^#I#AA#/&Sv~>um]IN
AM#<#U3wo *p2###
XP#OF?A/G{x##aGi8vSz_#n2}?VA|O ##rmMC#

$Ow#####9AiFw]K`ieX%L9HEnX##TY+'EG
jZ9An-:j#H3#E#####IENDB`#n####S*]n PNG
#
###IHDR###############sRGB#####GIDATx^]Ol#o+6##b 1#CZCqeua#!
h#n##L`CY##1##]n\@### "#T7Rb#BCLjV#w7;
,;s>{>>D#####mD####### #"@
h7# #/#"@#BE#jn"@#_#D#@?Ot~#F@#h'+W"^#Z<m###?
z#4###E#_Q###o# y#
C8xUh#k#ZD###/9(E##k#ZD###/9(E##k#ZD###/9
c`# ~#T##W[## ~~X?_Z:#
"d# _!/ #at
v##5t#>>ve #|v#+e#W#[^k`"tAO>.
#<5:#~W##W,#S>#}#'iK#BoAok@<lOE#y#I
#W##U.-Nm##=QO`#\#####vF~T!
ICEn#DHd`dOD`I8:###,--#-[7|#?
YkkDunZ##=}0C##3^I&>W_#{p11qd#5+#

###"Xx2RW#
k#G#
Ukk!+#KPt1\5Pz4}5
L+\8^#^#@'#/Ma##
r#HndWscD1F#g#8p@##OV~x122###>#
1g6##S##Y|.J!#'##>nwh#/###j#Wb6(PFq###>

mBc6S#,f###?Px#n#-%D;9-f#}(R.;

'9~T#xI#0N#73gA ##{NYzn#X}
Y###_#;V#0#_IE>b/#>Wdm8J@dnfj#{Ei#FhD{#;"#_|E%|

^ # l7##3v#>>ZY`eED@#9#E$^m
~ gmZw.
/4#F#mtLAW##~)#4Gg&K[@ G#WG#ZYd
\>3<
d$#y^n}p:E#J1Ro# ####+WM{,TtIe_~e#Ow#74QL[
<#{#ni@#:E|$#0E``(4tx!|
x'##5+"#}Z(#Q#:Y/uH}S(AX#~}`#3##MH##1^3+F
#,A
"@#Dg*#vqT#*#e9-#IZo##!6#,/Vb]
]#;G##E &Q]#_NG###,qDA1##]2k2:=+z7#c#k#&##<
pLjC#MkbqP|)#ww-5 @!0###u5.:y$nvXmf#
@*#RUq#
#U'#SM Ac###/;8VG#Z-Ea 52AY"#/`z
G$|q ,{#v`#T,#7nT(3#pd1uPl@m#Y###C
7`t>P#QqNQ
_ s#( 2# RV5W
P:X###Z#;dMSh_QKLu,L:lml+}&g]z++sV#dQEl!P#3w:_-
u9.
k#5~_#9v&v##&#V/
/q
V#e!M 01Mm
g+Ma&LU#)Wna}qS`'#A_Q#/l#_a@m

V{y#2YI
F##T"TM#1IQ`'IT2#i#&8WiD# YH#ZR7!
"0k#Y&R#P`#XG*z#&qqNTcY#_2(9qM^+>D6#re!
tj}+S

[d:+#`M[+l\\
8tx&0,`p(it#J#Kn22
s{W:9Tw3sG5W##p_V#sA_#TEavykqEC
)4Z#]S9/#X#J&##1#PZn#$e#q.S

vor{=q:gzV#yh*#RJ;Ta{B8t74#gIw_@&#~##J[=(=sw#Q3N8q#R#l##Z###<#&;w
]
*p&YjtE5]
]
/#94Z_555 >#hq:x s%#;;#=I#Z#@a" qcCYjO!
#Vme#y#IJ{lX%5\
#rysA.v##j4_Ha#g#fBg#PSbm
rWz^##V'##jn2Oqq_tJcyEqv,#
SZ#e#"#L_333b#c#HSnA

\'7#/#RhWP.Mc#gP#j:q_vh#`NaeDlfPht.4}ImS#*X3#
Yhsh#_#SS]g#W8]#~HaR##p<r#b#\MP
{#zaG8#_M##toj?s sQh@Xs
/##W#5!099y)#2O6s#;U$^c4-RV#j#_?
sG"#<IVm#HIV'f%#s;~q!*#v###ge#,b%X#q#n6Lyy+i#38#z^#aa0vn E#J=9#Rb
`
T ]`l_<#]9_S*#
# ##
##
#
glp#V;QO'#;#&SW "
###T#v###bZUMv#7oV1G#}/1U0#,G1jz##B(?4h'S#%#
'y#|aiK;ed#O$=lV#&Ibej9{7#xUk>=

v<4Ip#i##k X:9#^F>~pE\ uk
qam9t.,,X|
pp#{Qr6##\.l&uA1j%#Gt#k#T>_
%D#>9@#CU09hL#T#Mi?#D#'#D#T#
#P#x3 }"PJ#*_

J T##9&#%CZ#d T#jW##!P9b#I#))'.
{bQ#f"IQ<8m0#+_![ #Bwk#o##\GG5k#!Q##jToh~Jb+q8
_Gc*1h:
J4(##v
G Pq^^..#PQb#&#Q##[nQ###kX##q#?
##qS]b#Z-q]7*"(##g/#Tp7"6/M*[,~=##o6{cxj_x
P_~V0pqO#{WT41#S4DI#JS##<3oF8#iJW1#L>.-""}#\3g
#&##;hZ\_

rHR`~f#n##xRB#o&yf*>"'_uCk5=:##jO m{##<u!~8#ua
<##Iwk%]
#N<w}#_E6HKV6# ^[##C#u3|
A#"E#_hIW#xJcG1O#3|G
,#e_##);Q##\
Z1=Q$6#3/iU8s##VG@#b#Gj]X7=s#]YP{
333#D/\t?8a?
/=iD'olO<1#8Rk##fJD%ZlQv
##gA^]#~+$#.YY#c=#:K#{F#'N######/?#sI_-}#
#VG#ZC"#n:
${J#DJ#tc]a#F"cp:#fl Z`W_}aW_["y#jJ!
#ZJ#t6h#_A7#'#F

*N#Yq]-##6:u)##+5c#m<#9#~#SFFFDm#
y##
&&&zS#
(q&#p##?bg##y_)##sa
#U##/!k#5(_b #dX~j #F ?#W!a}#BSO=Un\##
###aY>#OWSr##`P&e$#,##b9WeRI#"@#@
K#vSNf":PjQ#-=%#&#_B;vcg)~#E#?#X#=>#3oP?
l_gL#8##5c<E:#%`e>##C###6m#e`^""#}#{1|
7cm
ent#B{/:$
##7=[#U`#V5

#O
"mO\],#;!UW|LyO> Ha9xv+#!Dx\#{r#%GT S8@e
XG#;#j(lh#d-(x`#V_m#
#U@U#%/#%)
"N#^<VXg-Nt^J
#hiyJ8_'##7#-..#(v%bXi>L<0XVydO
x+Kfj,6o"CQSMsaS#e_#h#

.###f=>&#P##gu0CbO
#Z`#W1KS[#AOCo

cY
I_}w# ysu*j#9O#M#U#ZWGW#@x5=:#>0'" #X~#?
Y;Jj#G
*
T-K#)C*vNDt&_UwZG.6W6vTQj_#;#cEc4:\%0
#qp66s~Er#fi+#K)#L#u#,#F)XH##@%##EEgRY|
[eG8#j#K#i#gXc06o]#
##eU$ J#G*MSV\b##?
t;fK]#f;(P/c##Gq#lj*ZRs='~Q'+4Zr(idlG##e8h#nGMx)
'[n#?###w4QE%#5#C0#
;k#IX###3n^Zj#\AnZ\=#c[n3##I#P#I_G+B9(#9yDyPjs[l##<##
#3r#DW189##l[_sND]#Mo/0#_#@,\##}#_|

aO#M0#2e##b*#=*RK,U?
#fsh#MV ##W#MKVeA#qX`#p#Fj###V]#VO/#{Om#r!##GK7,-F9###kP
q'Q#\#_#)#p##E1#/c####!WgD###@2
######j##0Fe

!
###"##_=###"`#
####IEND
B`#############################################
###################################################################################
###################################################################################
###################################################################################
###################################################################################
##O#####(###################
#####################
#

####
#####L#############################################################E#q#u#a#t#
i#o#n# ######E#q#u#a#t#i#o#n#.#D#S#M#T#4#0##*###M#a#t#h#T#y#p#e# #5#.#0#
#E#q#u#a#t#i#o#n###########################################################D#
o#c#u#m#e#n#t# ######W#o#r#d#.#D#o#c#u#m#e#n#t#.#8#0##.###M#i#c#r#o#s#o#f#t#
#W#o#r#d#
#D#o#c#u#m#e#n#t###########################################################E#
q#u#a#t#i#o#n#
######E#q#u#a#t#i#o#n#.#C#O#E#E#2#0##2###C#o#r#e#l#E#q#u#a#t#i#o#n# #1#2#
#E#q#u#a#t#i#o#n###########################################################E#
q#u#a#t#i#o#n#
######E#q#u#a#t#i#o#n#.#C#O#E#E#2#0##2###C#o#r#e#l#E#q#u#a#t#i#o#n# #1#2#
#E#q#u#a#t#i#o#n###########################################################E#
q#u#a#t#i#o#n#
######E#q#u#a#t#i#o#n#.#C#O#E#E#2#0##2###C#o#r#e#l#E#q#u#a#t#i#o#n# #1#2#
#E#q#u#a#t#i#o#n###########################################################E#
q#u#a#t#i#o#n#
######E#q#u#a#t#i#o#n#.#C#O#E#E#2#0##2###C#o#r#e#l#E#q#u#a#t#i#o#n# #1#2#
#E#q#u#a#t#i#o#n###########################################################E#
q#u#a#t#i#o#n#
######E#q#u#a#t#i#o#n#.#C#O#E#E#2#0##2###C#o#r#e#l#E#q#u#a#t#i#o#n# #1#2#
#E#q#u#a#t#i#o#n#############################################
#############E#q#u#a#t#i#o#n#
######E#q#u#a#t#i#o#n#.#C#O#E#E#2#0##2###C#o#r#e#l#E#q#u#a#t#i#o#n# #1#2#
#E#q#u#a#t#i#o#n##################################### #######
#############E#q#u#a#t#i#o#n#
######E#q#u#a#t#i#o#n#.#C#O#E#E#2#0##2###C#o#r#e#l#E#q#u#a#t#i#o#n# #1#2#
#E#q#u#a#t#i#o#n#####################################
#####################E#q#u#a#t#i#o#n#
######E#q#u#a#t#i#o#n#.#C#O#E#E#2#0##2###C#o#r#e#l#E#q#u#a#t#i#o#n# #1#2#
#E#q#u#a#t#i#o#n#############################################

#############E#q#u#a#t#i#o#n#
######E#q#u#a#t#i#o#n#.#C#O#E#E#2#0##2###C#o#r#e#l#E#q#u#a#t#i#o#n# #1#2#
#E#q#u#a#t#i#o#n#####################################

####################E#q#u#a#t#i#o#n#
######E#q#u#a#t#i#o#n#.#C#O#E#E#2#0##2###C#o#r#e#l#E#q#u#a#t#i#o#n# #1#2#
#E#q#u#a#t#i#o#n#####################################
#####################E#q#u#a#t#i#o#n#
######E#q#u#a#t#i#o#n#.#C#O#E#E#2#0##2###C#o#r#e#l#E#q#u#a#t#i#o#n# #1#2#
#E#q#u#a#t#i#o#n###########################################################E#
q#u#a#t#i#o#n#
######E#q#u#a#t#i#o#n#.#C#O#E#E#2#0##2###C#o#r#e#l#E#q#u#a#t#i#o#n# #1#2#
#E#q#u#a#t#i#o#n###########################################################E#
q#u#a#t#i#o#n#
######E#q#u#a#t#i#o#n#.#C#O#E#E#2#0##2###C#o#r#e#l#E#q#u#a#t#i#o#n# #1#2#
#E#q#u#a#t#i#o#n###########################################################E#
q#u#a#t#i#o#n#
######E#q#u#a#t#i#o#n#.#C#O#E#E#2#0##2###C#o#r#e#l#E#q#u#a#t#i#o#n# #1#2#
#E#q#u#a#t#i#o#n###########################################################E#
q#u#a#t#i#o#n#
######E#q#u#a#t#i#o#n#.#C#O#E#E#2#0##2###C#o#r#e#l#E#q#u#a#t#i#o#n# #1#2#
#E#q#u#a#t#i#o#n###########################################################E#
q#u#a#t#i#o#n#
######E#q#u#a#t#i#o#n#.#C#O#E#E#2#0##2###C#o#r#e#l#E#q#u#a#t#i#o#n# #1#2#
#E#q#u#a#t#i#o#n###########################################################E#
q#u#a#t#i#o#n# ######E#q#u#a#t#i#o#n#.#D#S#M#T#4#0##*###M#a#t#h#T#y#p#e# #5#.#0#
#E#q#u#a#t#i#o#n####.###/##

###0#############`######D###T#i#m#e#s# #N#e#w# #R#o#m#a#n###p##p##`/###2

0################D###e0}#f## #N#e#w# #R#o#m#a#n###p##p##`/###2

0############ ##D###A#r#i#a#l###N#e#w# #R#o#m#a#n###p##p##`/###2

0#############0##D###C#a#l#i#b#r#i###w# #R#o#m#a#n###p##p##`/###2

0############"@##D###S#y#m#b#o#l#####w# #R#o#m#a#n###p##p##`/###2

0#############P##D###W#i#n#g#d#i#n#g#s###R#o#m#a#n###p##p##`/###2

0#############`##D###C#o#u#r#i#e#r# #N#e#w###m#a#n###p##p##`/###2

0############1p##D###M#o#n#o#t#y#p#e# #S#o#r#t#s#####p##p##`/###2

0####################@#############0#.################
#########
###@##n#####?###"
##d######d#########@############################# #
#########@#@#########`#`###################P######H######
###`##Y#######B###0#######x##########
########## #######,##############K###############
############################################################### #######!
#######"###############$#######
%###K###&###U###'###&###(#######)#######*#######+#######,##############.#######/#######1#######2#######3#######4#######5#######6#######7#######8###
####9#######:#######;#######<#######=#######>#######?
#######@#######A#######B#######C#######D#######E#######F#######G#######H#######I###
####J#######K#######L#######M#######N#######O#######P#######Q#######R#######S######
#T#######U#######V#######W#######X#######Y#######Z#######[#######\#######]#######^#
######_#######`#######a#######b#######c#######d#######e#######f#######g#######h####
###i#######j#######k#######l#######m#######n#######o#######p#######q#######r#######
s#######t#######u#######v#######w#######y#######z#######{#######|
#######}#######~###########################################################
#########################################################################
###########
#########################################################################
########################################################################
#########################################################################
########################################################################
#########################################################################
#########################################################################
#####################################################"##################
#########################################################################
#########################################################################
########################################################################
################################################################################
##################
#######
###############

#######
###################################################################################
################################

###################################!#######"###############$#######
%#######&#######'#######(#######)#######*#######+#######.#######/#######0#######1##
#####2#######3#######4#######5#######6#######7#######8#######9#######:#######;#####
##<#######=#######>#######?
#######@#######A#######B#######C#######D#######E#######F#######G#######H#######I###
####J#######L#######M#######N#######O#######P#######Q#######R#######S#######T######
#U#######V#######W#######X#########################################################
######################################

###############
#######
###############################################################/######2##$######
##a#5
s #################"##$#####:##E#- ####
##############2##$#####m]#C,###################2##$#####5x/P*?
#################2##$#####\#d)#L################2##$#####

j^1#

#0##############2##$#####9k9#`n's###############2##$########bhxC##
#{##############2##$#####[o;_#
#t#6###############2##$#####X7)?
k qr#########U#######2##$######s!
##p=#################2##$#####"#y2z;u]#q###############2##$#####lXyN#
_
2I+#q####### ######2##$#####9#+Bw8UV/lM########!######2##$#####1

##<_#b##############2##$#####

;#B7C#p####### &######b##$#####

I0c##:bl[#R#######'######b##$#####S*]n
########/########0##########################################@#####
###################8#########################################################
####################2###;2N#;########<######4###d###d###d###d###<##

0<#############################g################4###d###d###d###d#######`###
#2

0########T#######p##########p###p##########@#######<######4###!###d###!
###d###<###

0p##</################################

##################C######)##########_#_#_#P#P#T#1#2#### #####
%###################_#_#_#P#P#T#1#0################D###e0}#f## #N#e#w#
#R#o#m#a#n###p##p##8####2

0###############D###T#i#m#e#s# #N#e#w# #R#o#m#a#n###p##p##8####2

0####################p##p#####2##########_#_#_#P#P#T#9########/##

###0##########?##

#############O##

##########
#############################R##########################S######################
####e##########################f##########################g#####################
#####h##########################i##########################j####################
######k############## ###########l##############!
###########m##############"###########n########################################
$#########################
%#########################&###########o##############'###########p#############
#(###########q##############)###########r##############*###########s############
##+###########t##############,###########u#########################v##############.#########################/###########w##############
0###########x##############1###########z##############2########################
#3###########f##############4###########{##############5###########|
##############6###########}##############7###########~##############8###########
##############9#########################:#########################;##########
###############<#########################=#########################>#########
################?
#########################@#########################A#########################
B#########################C#########################D########################
#E#########################F#########################G#######################
##H#########################I#########################J######################
###K#########################L#########################M#####################
####N#########################O#########################P####################
#####Q#########################R#########################S####################
#####T#########################U#########################V###################
######W#########################X#########################Y##################
#######Z#########################[#########################\#################
########]#########################^#########################_################
#########`#########################a#########################b###############
##########c#########################d#########################e##############
###########f#########################g#########################h#############
############i#########################j#########################k############
#############l#########################m#########################n###########
##############o###########}##############p###########~##############q###########
##############r##########################s#########################t##########
###############u##########################v##########################w#########
#################x#########################y#########################z########
#################{#########################|
#########################}#########################~#########################
###########################################################################
#############################################################################
#############
##################################################
###########################################################################
##########################################################################
###########################################################################
##########################################################################
##########################################################################
##########################################################################
##########################################################################
######
###########################################################################
##########################################################################
#!
##################################################"#########################
##########################################################################
###########################################################################
##########################################################################
##########################################################################
####$######################################################################

##########################################################################
##########################################################################
##########################################################################
##########################################################################
##########################################################################
##########################################################################
###########################################################################
###########
%##########################################################################
##########################################################################
##########################################################################
##########################################################################
##########################################################################
##########################################################################
##########################################################################
##########################################################################
##########################################################################
##########################################################################
###################################

###########################################################################
##########################################################################
##########################################################################
##########################################################################
##########################################################################
##########################################################################
##########################################################################
###########################################################################
#############################################################################
#############################################################################
###########################################################################
#########################
###################################################

##########################
################################################################################
#######################################
##########################
################################################################################
################################################################################
############################ ##########################!
##########################"#####################################################
$##########################%##########################&##############
###########'##############!
###########(##############"###########)##########################*##############
$###########+##############%###########,##############&#########################'###########.##############(##########################)###########
/##############*###########0##############+###########1##############,##########
#2#########################3##############.###########4##############/###########5##############
0###########?
##############1###########@##############2##########################3###########
6##############4###########7##############5###########8##############6##########
#9##############7###########:##############8###########;##############9#########
##<##############:###########=##############;###########>##############<########
###A##############=###########B##############>#########################?
##########################@###########E##############A###########C##############
B##########################C###########I##############D###########K#############
#E###########P##############F###########J##############G###########L############
##H##########################I##########################J#######################
###K##########################L##########################M######################
####N##########################O##########################P#####################
#####Q##########################R##########################S#####################
#####T##########################U##########################V####################
########(#
##PK##########!#V###########[Content_Types].xml
##(##############################################################################
###################################################################################
###################################################################################
###################################################################################
###################################################################################
###################################################################################
#####################|N0#H+#8 #(#8VEBp3iVwbl

V##Ll##y ##9!u{yL

I#uF^k2#z ##ceN`0[mb`

\!#s,#H##9#}~T#U6UPl;{-dx/#ftCR}ov|
i@T#;\/E_#####PK##########!#

K###&#######_rels/.rels
##(##############################################################################
###################################################################################
###################################################################################
###################################################################################
###################################################################################
###################################################################################
#####################
0##nS=H^D#ti#Uc#a)hB#Ur#dk#)#Dd
#gID#r*dS("QlT3Q4b'#9I#]e3\0Q#.#D=vtr5##aI+D
#V0;f[e!#/#####PK##########!#a4####z#######tableStyles.xmlZo0#!RT
U#6iC/ c+LS'B##^ #w;wc=I#!hs!
Q#y:R ###+Lw757#_RU`z##u0v+

!m5]cEQn#y.#g#[eYSUSO&*,X:##5X##lD?O& 1k#D?
c)##BI

b@ z5#F_f#pE#_&)A==#|ot+,a9*x1###V a
#'/%<s&@@#8#`#o!#\ F##d"#'|!L<F##(#Z?i##d?
"#;J#^\#<Y####S@(}-##
<C#gl##dq#dGKDJ*$?'
^X6ib>'.X#mg##:#=$;=,
,J-pV4#={##e
+Yza&GO#}j&#`m+#wn#*P
#t4l}(%
##p(D2)#z~+e#<^(S0!z##U$^
k"A'#
#Q,vNbnK6(fZ/T+YQ#Z_(qqk
HTuZ#+#b_1i
(#jZ9##nekb^xe,mWH/JZgW,[-k]ht\#mn##
C62?fN
;jCU)XZ(8#X#4Ue[W#mL##DQ

2GS4#$#|h-Y#F#t#Fg#]##^yZ#?
##<V##LuE##{#*#v6D go\j/#3?#####PK##-#########!
#V#########################[Content_Types].xmlPK##-#########!#

K###&#################0###_rels/.relsPK##-#########!#a4#
###z#####################tableStyles.xmlPK##############
#######j################
##############

0`## ###############
#33###`## #####################`##
########ff3###33#####3#f#`## ########333#######MMM##`##
#############f#######`## ###############f#######`##
#############3########>#####?###"
##d######d#########@#################,##########|#####?###"
##d######d########@################# ########### # ##########"
#@########### #`################## ##n#####?###"
##d######d#########@################

########### # #########@#@#########`#`###############@##n#####?###"
##d######d#########@############################## #
#########@#@#########`#`###############P##R########
###############
########
######@########
######`########
###########`##

######

###############p##>###############################################################
####>###################################################################

######################$#####W######(##### ######################
#####$#############B#
#####$###
####\###################################################?
##############L#i#n#e# #7#####"###########PK##########!
#Z#f##########[Content_Types].xmlMO
#&#2WR=#cJ`F#0iK#`###
#v#Lw

#9uSq##:w`G

^#i
#K#I)#c/#
$oVj#T#MRc#|}042#C#M
P~##*ka/8^DkHbL8e
i"K\#XN\6rco4y@#_;o#####PK##########!
#1_a##########_rels/.relsj0

qC#No^K#
[ILcX&m0XFo;#>0x#M#e`|X}

I`N4aG2$R##KIZ#)4(M9`c#tB{Am:f@`3n#|O#, r
jxR0#T

,0@##}WBL#5v######PK##########!
#7,##########drs/shapexml.xmlUN#1#W;XV##*!E#
#0zn##SU#zg[tl'r@#$O#f3i2n3
'##]t9s#0#mPf|)#?;}
ft:u r#]SK$_al#>U[$zvUB~JGlX#ll`
K{#BEY
%{[#

o`-#04%D#KhYSNHx\Gx##o#[m#*c-2t1#u#d#

#
g.I~A#J#BPm(pX8(."#M#
#z
cy# =

a
|tT1Z#n##;W^jf)r#Y5#])!=(lbCc#E#(#RK#/C1S%##HH

Pf\x#L;?K-# [#WcU#U`q#
=##9Mh8#xxAP)ZB#/4H##y2#GTh#Sr0#hh

##t|'
@#sj1#>MigM,j#wP#q3{4k#a
=b&eH%1##ZfR"%j!#^dosjJ##0ZM %
##?#a|
)
#kL#/)
)++ 4}\q!3Oo@##T
%#svc*@jEy#4m;:##l~~~{i#QD' 8.#*M#'z"!
q#####PK##########!#$##########drs/downrev.xmlDOJ0###

sI#w#86gM9)IL_.#/?qq#`@#^[##|} bB8z&##p<nh?sKK(!

##T`R#)coapg### u9QWth4#P:#u>k
G

zy~#hI?
.-;XbL##G_!A######PK##-#########!
#Z#f########################[Content_Types].xmlPK##-#########!
#1_a####################/###_rels/.relsPK##-#########!
#7,####################*###drs/shapexml.xmlPK##-#########!
#$#######################drs/downrev.xmlPK#############|
###################H#####
#####$###

####0################ h############# ###?########


###############
#33###################/###PK##########!
#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!#####
##!
###drs/slideLayouts/slideLayout1.xmln0

###>]Iu[o###[I )^#%9n#(&%3}yuh8u+A|##j#O?
hCEEy+<82#\-~#!
#`g,P;P}J&`o#U R7##&Q4##ZM]mo0###Z&?BiX!
lMm8#5S#,#2/W"6#d--##ch$#%WAYAB

B#3#o{#-##,.i# y#z##h#n#V;;a#PZN'qOY9S
|D'+#9#^ziySoKh[>S1f4\Ex#u],KR4i#E5-h<P4+h#C#LL.#Y:#3+##(@+p###\sF#z!31-aUm-)bliDb
cLT#T_o>`#i#!#oQ'=3

]~t#]'Y<#O|##3Pv#8&h"0;#C[=`K
.#fmm@3##xV2i#@xd#^=##Ht##AD'N_#$J "#g#1IrqeD'f/Y:#+

b<1##

b<#q6#QG#1
#9#4 K|7#+WTw&1#.I## 2######PK###########!#M########################[Content_Types].xmlPK##-#########!
#p8###8#################.###_rels/.relsPK##-#########!#####
##!
#################drs/slideLayouts/slideLayout1.xmlPK#############P#####
######PK##########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!########!
###drs/slideLayouts/slideLayout1.xmlU]o0#}`
#Ji#T#[#4#p#f
wmTt#sO=xrm#iZ)(#UY
>
n Xd0
;zD#Vwl^#A#i#6s2+h=W#$ida?#Yvx^#*
t`#Umbi##iBaJnZ#2-.tu(d
nj':dC#ze#<TF/vaH]z.fA##K0#$&Vl MXb g; V##7.#?
#,#3 #
S9Q#e#z
%RaX#h#DWGiJt#*_#G&<#sL?#psy#[Pn
#SV#M`QLD#nE;|` +uK##AXE#@0?` 8`#`8n6#5!
N#(kGu`H###)}.d#(A#fw]!!#dhd!#J#b8##Kl#l#.#US#X;/Fk-v$#{V
j =4R|W#=O%p#-##'##|:F#W#06v#zY##G##a~lCJxOh,B #_#####PK###########!#M########################[Content_Types].xmlPK##-#########!
#p8###8#################.###_rels/.relsPK##-#########!########!
#################drs/slideLayouts/slideLayout1.xmlPK##################0######PK#
#########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!##:R###i
##!
###drs/slideLayouts/slideLayout1.xmln0#'#$###*#A#8Du#v3#1
q>#s###m##.Y#r;^Wo#1Ji&}tR#9W#CNZz
R\MKj2M##8


G#2%
`
k K.m#\P#PKhJs##w%W##Y@a+
#
f#;[HZ3!Q+9QZhw^hRd##
O
f}8mI4mt9)d##mp|g
k6q/glYu#<8\
VMD#
+8#Q5#+f N

=-

cFIz(o<thi!#I#K`#&$I##``j(#HRG^PscBQiJ 7M[#W#
*#T#Q[##k#A#-tpo~=Cpqt($
'#]"A#\.}K 8|2A#
#5q#f##1HpH.##}2\#HN#(O9+BPJ@#jeqp0#t#@#OQ#ZrkT
?0L 8~#j)/d#s

(3

kxGU0p###eRlPa#f#xCvDF]#B<opE$B##BHa#8##@x#18x##
)#tyMNBF#@]^# R<p#EAYxah{mnrc#%$#U/#^p`j>#4(40= }E#####PK##-#########!
#M########################[Content_Types].xmlPK##-#########!
#p8###8#################.###_rels/.relsPK##-#########!##:R###i
##!
#################drs/slideLayouts/slideLayout1.xmlPK##################@######PK#
#########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!##DR###W###!
###drs/slideLayouts/slideLayout1.xmlW]o0#}`
PilK??uL-Ma~NGKG
I#s||=^g *]#>

N('"+0]###fa:8#}t&S+#O###)##12CMrZb},$m.T
0S#K#N?,qCfj3_#_#y*)75

#_MajqM2K

gq{#@#*##N,C#00{#h,##IxuTNqSM#*2

C#s#`#prtS#Z

##lia#N R#(ow`Im#:##EAkY{3 +

(ZyUC1L#Q#.O~#<#5aT#D;rO~w#A#w#(J#x
#f#(J865CD!25/"[Z=;#q%N###NI4`V#GwS#P}f4f#yDF
##]cmBW[Jkq;J
V#`g#XK]/hh0`###A{#Wl#@
%@\####?t#+^;wVYV
#xJ#<;&## ]###h###lo###
##z#`###}##
#f"`XU_#M8Wz#az5_#?D

1ZQ##P]#~![##Zb#6wmA>j'#}ACyF
m>#7fl]x#%#}C#
#C#SXV.C:##pK!
_#G#####PK##-#########!#M########################[Content_Types].xmlPK###########!#p8###8#################.###_rels/.relsPK##-#########!##DR###W###!
#################drs/slideLayouts/slideLayout1.xmlPK##################P######PK#
#########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!########!
###drs/slideLayouts/slideLayout1.xmlY[s6#~L#7O`gJM2#o
bwm##{##C#"OJo
*D=o
} u*~_# }OiVg#5[#
i#Ufl+## J
n^O9z/#^#U>2^*{a?U}_v/V"6$L*/#.l
hhIz E,7
#q#XrtQf^*0#UdDMwT#^
y
n
"C###F_kbw1d%#o3!i[M,#b'i
t=#,=##^#:w.#2P#[oEUy#?}^zvd37gCT#gnR<#^QLH####h|
#q#Nx####q/hJt+=%O5%l}:##$z|@J/R

#_nR

6#l@H#d~e#Xy#M"ig4l(4#='Q:{`##=#Q7?
h~<#e###\#*#C@M A4#"~# rX#h2#? <V#{4#mkv.

t
TQw #J_S?#]TZD##-qTp03 N,#_"eA4
E;#0#ei#-q8&#.E.K;#L]J \v##ei{Z#E.K;i##2"qj#
>#nt##P##"t;<#;ZC## reU(#N##&\,(b(&!
G#kx0#;#M##4#"~jwp/f##N{n#`#
%:#`LX;##Y##5Y##uY##Y##O#iFQGqu 3k^czj7/Bv
gsEg(;###N_N##N##Y|#SP#|
f#Z+#m:#ta<`.Ng&`#By##iN#E###3u#K
#N#OM4x] db;7:
Z; :#G}u<]A

9## yK|
NJ5k#x#5.###C`####PK##-#########!
#M########################[Content_Types].xmlPK##-#########!
#p8###8#################.###_rels/.relsPK##-#########!########!
#################drs/slideLayouts/slideLayout1.xmlPK#############
#####`###O###PK##########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!#w####J###!
###drs/slideLayouts/slideLayout1.xmlTr0#w=&2msqbO|
V4
4J

44
4
9 #Hz.SX+z>i jYG%
(e;]f^k#2>W6K#/*6Vj:;####nTN&Z!}$##
xiI#H~d#aNzSZQV#g#Z *6#",xwR/;[###cu##@

##,.5#y#~# ;#\S,!#/)T.<)#2yB&Mq##~N#(AU9(azVCBF<{

{y#@o+#?~x#=##=;1rK]#HogkO#iu#3fB: 4Tn9wR U#2h#{#


%####Lyad,

###0_R_=h#\)
4C#XZ<34L5#(#HH!gGJ-8yH8f:fH>RW #
9r#`7m$ [Wq#6^ c#######PK##-#########!
#M########################[Content_Types].xmlPK##-#########!
#p8###8#################.###_rels/.relsPK##-#########!#w####J###!
#################drs/slideLayouts/slideLayout1.xmlPK#############p#####p###u###PK#
#########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!#aB###p###!
###drs/slideLayouts/slideLayout1.xmlRN0####&x^Vjq#vCl###k=#x\uFVahb6LYs{,D
%hgU{#X,#zw<l u>#"Z##3 H[##0X>#F#'#Fx4A!Rn|9n#U
R=`?9K4l X.#C]b

`;Tjl~7o#YS#Qx0#
O *4#2z#&#+ S]d#_T#\Y?
`#RXT#S#_o[##9*O#3_1#####PK##-#########!
#M########################[Content_Types].xmlPK##-#########!
#p8###8#################.###_rels/.relsPK##-#########!#aB###p###!
#################drs/slideLayouts/slideLayout1.xmlPK#####################,###PK#
#########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!#E###X###!
###drs/slideLayouts/slideLayout1.xmlW 8#_iMd$f:#5#8

##C}=68#i i#}/8T(#z#V&"
y #J2\l#,
#OA<i#RteZWh#T##+m'dA5^(##>
yr%!SUWUC*#ht_%}`~=baay))i(5#\gdE+j##3~/u } I###Z}-#D1x#/<#`~!
Dc$i#$x#dA#)b^5#}oN3#j#w"H)`11/#W#i
Uk>Z8>u#=1f-`##<C#4h#Gi\I3Q J/<#wJ#!6D"UoEz0#gZ&@^op##45?#-vYx#&lxy##1 #rj >Q^qFA @/W<O#
#KsM>P$
rhfL
v#KJj2.;#&9~"yh#8MX&x
%_K<E#+a4LMK} dQ#s#]d#+}Nb&#
#r5#j`y####`']##;95y#.a##%##;u#`##%l#@Qt#cK##

#4#V4&-m_Qk2%#x#&pv[?W#O#u#
#M\Pw;u###n#hTQp@?#

+g? ##EoxN7x_CRPygey4#>ji~i-;0

0#z|~8C o~#<0H#In`#^w#lb#H
Qe
#4S =5#<pV#k[2K#npf#

1#F#####PK##-#########!#M########################[Content_Types].xmlPK###########!#p8###8#################.###_rels/.relsPK##-#########!#E###X###!
#################drs/slideLayouts/slideLayout1.xmlPK#############M########:###PK#
#########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!#+####x###!
###drs/slideLayouts/slideLayout1.xmlXr6#}L##Swk,gbI##G#)##
#9#H.@T/2
.#w#g,}~+fFI-$/8bqpUh9#F#~
X:##N4Z;WN:#+2]QJmy$#\uN3#EfB^m. F*
J[
FZmhL,##38zB%L##p[#
#/#HzrnhnnX T:A0[fp9R!
>5=@F~###6;&W#b##p
tpS)Bl,###\3~P?|TrZ9zD<v[?#
de##07p#KjXI#9uHPf|R#yO?##-W##k.+|
#(##pS1#8zS+,i###D#M#8#>#lU##Wo#(=)#>d=<Ll+L2>sag(s

Cs#:s&rH#^

Gc*TU3W\u#p)p#c`#.~x3#ZUL-#?dQg:x3tgP#8##

d#"<T0B+v#^###$jOu##Zz*###~#F1#y#b###%###c
#"J##kK<D#8j#tr#(#p\#"!#;#p0P##VC._@###&#/j#bqZ~4#
#}#VF\kh0
Z#IE)0l[pl#6jX<#wD(->\
X
t}Rfr^m##X
X*/~_###|
+ j$8s 8HeN#m##@m`"T
#Z#JA4{*{
f]e8;#.(Rn#qL.>fJ"#[,E###}6ddWYt#a5##Dh##}O#H##
{@p<#AA#6+m\4oYay###jeU#4$F**J5#D#r_'Sfs#`rS=qDr|
#
g+: #4.# 9ni##dDE/o#hdH:a&#$w#l]A [xW###O4|
#Cm]V

%~ RGR3/ #O hThZ F######PK##-#########!


#M########################[Content_Types].xmlPK##-#########!
#p8###8#################.###_rels/.relsPK##-#########!#+####x###!
#################drs/slideLayouts/slideLayout1.xmlPK#############[###########PK#
#########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!#2#V######!
###drs/slideLayouts/slideLayout1.xmlUMO#1#W
|M6!#
RiG
^
m^##P3o7c_[I:njJ#Jb#qJ#WG8###wbo`=A

*{S#co#k#m},j##E9#L#}'_Vo=\#b#]#hf#4cCKo

V#g;\###&
Z\X
/9AO

$Ya,-!Au,nn#ZB~#
O*1#A^vv##BSm#B#EwbY"##l?Tr\N#e*#hXg(?

#j#!##f#i&Ub|#+Q~#OF$#eh/#_s O,x
#t7##-JDL_u 7##t~7GcP>H|
`#H##'#Nbo]J^[p[#EyDG#z##~B
G!lNo##kR#p"#29HE#1M##!hq z##'d#*!
Xm#_";u####4#6Il##4#tw\##[#e###w
>x$d#&`H
W<#.#5

8#|A#####PK##-#########!
#M########################[Content_Types].xmlPK##-#########!
#p8###8#################.###_rels/.relsPK##-#########!#2#V######!
#################drs/slideLayouts/slideLayout1.xmlPK#########################PK#
#########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!##-#######!
###drs/slideLayouts/slideLayout1.xmlUR0#w#$##
B oe#{%$
0ti/8[j#rck%gtx:KZ>dJu
K#J#rK#?\
# ##EYV#\Z##4##$k7}z]3EK#A

#~[&4#M#n#&dm5vU#$#oZ\#9R#$###Ck#x##fp#d{kR/Lo#GPhtaUb####iP ;d3(?1
,~eXV}=##o'O2#s#1#{D*l#dmB}tE&A25*#
l
%bh)e@uGd_#|49*#gl<##8lul
\5
e#P@{g###m>r#/=6#<W
am##!P #`#~.<y\\6Zp9vkQg#e7###)FH_##H.###N"Q?
~^vo#+%J,%#$}#=##}#a4>s(!#L#_O|n&#;#^`## p

#a%g
#A[.z#g##j#,NVonqUGxZ#=a0
#&Lo#1 x#\O#o_?##1m>
####PK##-#########!#M########################[Content_Types].xmlPK###########!#p8###8#################.###_rels/.relsPK##-#########!##-#######!
#################drs/slideLayouts/slideLayout1.xmlPK#######################:###<?
xml version="1.0" encoding="UTF-8" standalone="yes"?>
<a:clrMap xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" bg1="lt1"
tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3"
accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink"
folHlink="folHlink"/>#######PK##########!
#############[Content_Types].xmlj0#Er(Iw},##-j4
wP#t##b{U##TU^hd})*1P#'
^W#0)T9<#l##$yi}##;#~@(Hu*#D z/0

$#X3aZ#,D0#j~3b~#i>##3\`?/#[#G\!-Rk.s.#.a ?##
###PK##########!####6#######_rels/.relsj0


}Q #%v/ C/}#(h"##O#
#= ##C?hv=

%#[xp{_P<1#H0##ORBd#JE4b$q_##6L#R7`00
O ,E#n7Li
b/Se######PK##########!
#ky###########theme/theme/themeManager.xml

M
#@}w7c(Eb#C#A
7
# KY,#e.|,#H#,l#x##IsQ}#
+!,^$j=GW)E+&
#8#####PK##########!##v ##<3######theme/theme/theme1.xmlZKo## x
,d###{n-cBR~/SC#-###KW#)6f2#l##_Uu7_~y##
L3?Fvm]?
Zo.f/l+E 8=#J#G #^'##n}#'2e"m:pSqapi### D#|

O ?|g2C##'3ptN#{{&,]-&Aj]`dg#zy
5Aft=#A^;jUc#8>v5

Du]&
}
6l)#fF_YH55 3#WD~PL;L#~tY7i#2#C&P##8wxMtx#
3#M r?D.##CYou#"A#%#
o # QXO2HG#` F#?,#Y#K?
#m _g,#|wNz,xhj#+tT;V#7D#e*

2zYI#<iP#$WH*#g":vUw##
6##V#^@]b`
VWmU<5ha]4t##T,A=@#[##Up4fMILyF$wFm6#;ltSoZi!
}h#<\#c%JeX9p

28#~o[HF##0he["X#pTN07##}%[&p
%#$iOE)G#FR
#@yE#f#=VM+KeczHwVxt"X#'W<### #
Y
#;*+#M#'t%#$+rvb#|W#ds,Ea?(e7D|"#u##TX###
%R#F#;-##k##+0x#_yR#(R)#v0kX#FQfB^brmypu&:

0 U5#+*rx"*

|G#BU0#4F#Y[G
[# #lA##+ #SX5;}39X.1:(#g#??uM}
{##ZX;#3*<,
sIu*g"VJ%d$e#[c#*(U#ZjXv#Z

#.
-

=Zn#,# 9K5##Xu#sY!=KC #pa7"#68,uqrMKxDj?


T>P N#C#MI#+OY17w#qO'x##O
4ry<#lA#C"H#j1e.`#JhGE <)q%#{q##"JZ#>}-?
IO#':"##9dg\
C
u4O#".n#i#n#z#i#} =\ALL#v

"}97v#7B
@##
9aPN K#vXC"1H=4w#Wb~M#N8g#9#2FpC[#<#/
6DgN?]aY&m#7og 9##Tw#0~#/e9PT#S#
kY
Q<^@(.O(#_"Mb#jp|#Hu# #DQLU#+av####?w##6#Odau
#Tr
0T:fU

##DS
#+{9>S~9>#h$YeDzI%#s^Y"R
vRc(>###w#Z$b#8E~##Q:>p\#bg##UOA5=]C3==7=}W#L#

%2]bAl#-z-.@##/#>xqX:##bB#hs][h]
#)#i[^##o<#mg F7#Z#qc#]6##,e08#:

"# V1#NK^#@Z#^0d#t#u6##;U##exg
F#N#%|&\Du #F##{(F##ZhvC#8

##:#:EdnN#C#N#p#)*_n)#:#JDY:#B#j>#:'tU#:C#V$#.M_
Cg#JJ!nAago,*/g#i'GC_M&zeH
`ICb3#lABg:!
O#:Viuv~EIC:[Ph:D]a#
#Zl`;##>+#e/o##lX7Vx######PK##########!#
#######'###theme/theme/_rels/themeManager.xml.relsM
0#w#oo#&#56?$Q
,#.ai#c21h##:qm@R#N;d`o7#gK(M&$R(.1r#'JT8V"AHu}
#|$b#{##P8#g/##]QAs #(#L#[#####PK##-#########!
###########################[Content_Types].xmlPK##-#########!
#
###6#################+###_rels/.relsPK##-#########!
#ky#########################theme/theme/themeManager.xmlPK##-#########!##v
##<3###################theme/theme/theme1.xmlPK##-#########!#
#######'#############{

##theme/theme/_rels/themeManager.xml.relsPK##########]###v############PK##########!
#(b##########[Content_Types].xmln0

E##Ak#P#

}l}

###m###$_#t#I$svs#^ KkH$Q
#-#G$oo1# 5
#J##

#\Qg0?0o#mR##o?Y8#J#m#i|#TX+N#3t#r@9>?#4

Mf#rAs##o_p*#?yj#&
Xg3#####PK##########!#*###8#######_rels/.rels
0#D#nz###Xm#lo##0of5OIw
#AN{c v=m 838yG
6U}
#
S#h#Lq`L)#d=\@.;3, #;#$e#
#
): v#q}j:z##'k
(f,##XA6\m>#####PK##########!#Y###%##!
###drs/slideMasters/slideMaster1.xmlZn0####kK~H6,#ILA##LJ(J$/K
n)#R/zIdKQ$ukSL:st|(#f#U
i9cC#]^#W,####6#^#~w'#`q#hy VcgD|#
B`"#s3#V##>#Zc!uz#y#8c0####0F# #F$0#
z <N|^#w
Ht#89<BZ#^#F#?S8&H#a6=#3 "T#:UW#n

Tu##.d###

Vv==?E#z`@qG%!G4J#

#%#e##_U(#3q##'^#pb#;Y|?####cz!Yc#B;c{t#$p##8?|
_?>voE7j4## W44J#6F^,i#
#{ECK#ZY#B#nct3#`+9m]#gk#l5]zLT?#m#|;#eXV
s#/#'5Xa#

&Kn+#xl#nF##Om
G
vw_#oTd _AM>]Nz
IcE&U
L#i#*La#8###x%z.qazVg#Se#KA#J9+8#,#,_Y
Fi\,}E]0hYFV'# ##j_2 .c R,|3jC#!++N
Zk#ePg&&e[NG$#4JS8

#as%SKI;L#jsp3 Y:x###Ps']6|
q4#k#3r @P;O_&
,>#> /#.#T.K4##l6|
ShgkP+nY#iifv6fJ3-.######PK##-#########!
#(b########################[Content_Types].xmlPK##-#########!
#*###8#################*###_rels/.relsPK##-#########!#Y###%##!
#################drs/slideMasters/slideMaster1.xmlPK#############,##### ##

####-!|1X-####1################

##############

0`## ##############33#####`##
#############S#f#3##f##`## ###############33#g#`##
################f####`## ########www######3#PP###`##
#######ZX###db#mo######`## #######\####3##y`####`##
########3f##3f####f###`## ########3f###3#FK#f###`##
###hk]##www####f##`## ###ff##>>\##`Y{#ff###`##
###R>&##- ###{p#_/##
######>#####?###"
##d######d#########@#################,##########|#####?###"
##d######d########@################# ########### # ##########"
#@########### #`################## ##n#####?###"
##d######d#########@################

########### # #########@#@#########`#`###############@##n#####?###"
##d######d#########@############################## #
#########@#@#########`#`###############P##R########
###############
########
######@########
######`########
###########`##

######

###############p##>###############################################################
####>###################################################################

#N'#####F'#############(#####&#####(##### ######################
#####(##############
#####(###
####N########w#####################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}#####################w###X################# ###Click to
edit Master title style#######!############!#########
######2#####
#####(###
####H########w################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################w####################R###Click to
edit Master text stylesSecond levelThird levelFourth levelFifth level#######!#####
#####

##########

############S######### ######
####
#####(###
####H########w################?##############R#e#c#t#a#n#g#l#e#
#4#####"######PK##########!#Z#f##########[Content_Types].xmlMO
#&#2WR=#cJ`F#0iK#`###
#v#Lw

#9uSq##:w`G

^#i
#K#I)#c/#
$oVj#T#MRc#|}042#C#M
P~##*ka/8^DkHbL8e
i"K\#XN\6rco4y@#_;o#####PK##########!
#1_a##########_rels/.relsj0

qC#No^K#
[ILcX&m0XFo;#>0x#M#e`|X}

I`N4aG2$R##KIZ#)4(M9`c#tB{Am:f@`3n#|O#, r
jxR0#T

,0@##}WBL#5v######PK##########!#[9,###Y

######drs/shapexml.xmlV
V6#
#;##VV
V
#m`v#X;#oW(#gJPi##m #!gfTl+yI##73N2Z|'#u#/##nT<#5.e)#SI{

J'
##

nzR#_Uz=f#~=HW7pE
v#d#^<*:Y+3##
Mj#B#L#b&Z#[k6#`I##+R*2###*#6XX#i
L
G#B-/#1Y~#9t.:$FrYEWW=TH@ 88-u4#;[$#*S#
4]#PJ_z|#Nee(c>h/NIB###T02##-D
#o'&
%CM#Z"@?D9X#p?o5Pa#u:P1#T`^7F#N #MxagJW
*b,X[ap<#K#`Ksq!$tZE#2{#Q#O4L$@JP&8x?
x#'(##&N#}bG#XUut#s
#vJ9##0IN(###x#9#AE#>hK1#Dyc:####ZN~*
%#kDf##q?W.W7.j?w#qq#&#(Mb###)FJi#p|
hGF'jO#Nod<nw?#hrQ-iU# @# #}X#*)?70,2 kp#@
8iN$HZ##8U#S
#5&C#}.#Cx*R>~%H8$ohTkC$dWS]#kjZ91J#&

3W#g
f#(<8h@t&v###d@
@
cc@2
Jq_#pItF#0#####PK##########!#
(##########drs/downrev.xmlDAK@#F#2b7RmBQ
^l# M#=#ox#o#l'CX,#A\9rm##"1)#)vs5YcK:b-C
#BP5d1\OqbLxIry-B==5T}#S#_x]q
(us=#@D#s#!#Z|
Z0ou!W#Sn 7?#####PK##-#########!
#Z#f########################[Content_Types].xmlPK##-#########!
#1_a####################/###_rels/.relsPK##-#########!#[9,###Y

################*###drs/shapexml.xmlPK##-#########!#
(#######################drs/downrev.xmlPK#########################^#
#`######################w###h#####################*################
#########C#####################################
########### #######
####
#####(###
####H#########w################?##############R#e#c#t#a#n#g#l#e#
#5#####"<###6###PK##########!#Z#f##########[Content_Types].xmlMO
#&#2WR=#cJ`F#0iK#`###
#v#Lw

#9uSq##:w`G

^#i
#K#I)#c/#
$oVj#T#MRc#|}042#C#M
P~##*ka/8^DkHbL8e
i"K\#XN\6rco4y@#_;o#####PK##########!
#1_a##########_rels/.relsj0

qC#No^K#
[ILcX&m0XFo;#>0x#M#e`|X}

I`N4aG2$R##KIZ#)4(M9`c#tB{Am:f@`3n#|O#, r
jxR0#T

,0@##}WBL#5v######PK##########!#.###+
######drs/shapexml.xmlUn#7##?####K8:-# kj CNI^#UQ#
s#EQDB#^9^*6_8:5Y#vy y3 K__zjM#n
{aj#[
}V:HT#w+Qj~Pza3Pd2#qE2E#OJ#3!@]
[/dVl
a @6yc#Rd>#o7Tx,VV.2 #p##s#X.G?bu ?

E#]nK8&###}h0# yap5#!x0 c%###JuNf<#{JA /##


#S/
#*qLUzG);#RE#*M2<,$#@A5##r5`(
c#m0#Zr~?#1>,#,|G7QA\BpY4<VD>SNz!,w[xP,
Q
Ot0P# 1:.$>IV'#z####N###E8?
~/~iq/RA}L #I\E#
bAn# ##AT%,\#` e_

#='8#X#P##+|bo: 7#

W##v#Ghb>#"A"bPUNg#A|
z#^#V#M]5w.wAfqx6#/dUj###n2?
###.u#P~#|##@-&#I #$
f#,

#~Jm#I[#X>,#TI#| [cr
8D/21#_#x-~#K\#053bP#L8#1MgqS
t'AH5~O#5L#####PK##########!#(]##########drs/downrev.xmlDOK#1#G!
]Z##rmv#<qx#H>45\##
+

D#[a##3Nq#+$#2PeR&a:J-tJ#$(5##N#5v}[e}U
f2Sr=R~}#"R#6#U&-i1D#R`M######PK##-#########!
#Z#f########################[Content_Types].xmlPK##-#########!
#1_a####################/###_rels/.relsPK##-#########!#.###+
################*###drs/shapexml.xmlPK##-#########!#
(]####################$###drs/downrev.xmlPK#############+############^#####
#################
#w###F#############################
###########C########################
######
####
#####(###
####H#########w################?##############R#e#c#t#a#n#g#l#e#
#6#####"######PK##########!#Z#f##########[Content_Types].xmlMO
#&#2WR=#cJ`F#0iK#`###
#v#Lw

#9uSq##:w`G

^#i
#K#I)#c/#
$oVj#T#MRc#|}042#C#M
P~##*ka/8^DkHbL8e
i"K\#XN\6rco4y@#_;o#####PK##########!
#1_a##########_rels/.relsj0

qC#No^K#
[ILcX&m0XFo;#>0x#M#e`|X}

I`N4aG2$R##KIZ#)4(M9`c#tB{Am:f@`3n#|O#, r
jxR0#T

,0@##}WBL#5v######PK##########!###"###h

######drs/shapexml.xmlVn6##;##^+":##3-Q#TIqR#z*C/
{3m7#(##P#7
Rl#+NyE33&/:##:#h{/xYO]pXiuZV0+tk+^x8Tw
%J#,%),,+sr|L#JfFIn###27 k#&6@;o,r9_<
#np#F#KfFNM##R]##mGx#f);Vw ##D
#maC3";(#'#sv#y0###cHL

pB#Q2#B1#o98*FRnQ
'l.6#RB#rTP3.c`,XJJG#*LARE#
*#0/
$#P#"63#T##(##7#uL
q4B# #X ;;
#:{x3U-\/#)#{aq<Z,?Q7S(#@H#e!\#WxE#A#NP

#['##o#>#Y]l}!R}l-(D#b##Qp#p{\)Jy(#
e/u###

]#@Q[> #
io%##an#_E3})(1Wg
^z$] ^L#iA]5^o#WQ@#K\Wq#k#X*}Q&d8fg#33a~##
[(Z6UYo##^)n
F)?
#u}BSUZx6)#nw[ =Y#[i[ \##U$N8nuU>
J6#{#kLA2##]##U4# p,#~
%w33@u{CfZ9t#b=#4s\KE##BYO#:##O#H/#4l?3
N#JxH>9#####PK##########!#?Z##########drs/downrev.xmlDOK#1#G!
k6-U###e #L$nwC#7#o#m'#ur@#\kx{}X##`4L#`9=Ycn ####I!G
M}.e(##'NrbLxLrRrZhP##5xo##%w>?#w "#?
##UO&V2#Q=N5#H^C
L
#####PK##-#########!
#Z#f########################[Content_Types].xmlPK##-#########!
#1_a####################/###_rels/.relsPK##-#########!###"###h

################*###drs/shapexml.xmlPK##-#########!#?
Z####################z###drs/downrev.xmlPK#########################^#
#`######################w###\#####################*################
###########C###################################
######"###B#
#####(###
####\###################################################?
##############L#i#n#e# #7#####"###########PK##########!
#Z#f##########[Content_Types].xmlMO
#&#2WR=#cJ`F#0iK#`###
#v#Lw

#9uSq##:w`G

^#i
#K#I)#c/#
$oVj#T#MRc#|}042#C#M
P~##*ka/8^DkHbL8e
i"K\#XN\6rco4y@#_;o#####PK##########!
#1_a##########_rels/.relsj0

qC#No^K#
[ILcX&m0XFo;#>0x#M#e`|X}

I`N4aG2$R##KIZ#)4(M9`c#tB{Am:f@`3n#|O#, r
jxR0#T

,0@##}WBL#5v######PK##########!
##F#F(##########drs/shapexml.xmlUKn0####n#l#J#up##v#0(K55#H##gJ[t
HqEP#{$#9o#<]#\c##$
8lsf#`#JFZ~qY9
%he3amE&##Hk6#8z4viQB{I#9#i91>#7ayBX#)g###()o79u:#
#####XQw``39fP]_##m!a_#[#'#`NM/(NS
Dd#w<6#c}NPBXk#|Ri p?(."#u]
_#(WjC{
=<a}$Q,#Y#dG*O<\#<hW^+"#{A#0
2
&v:&6#IS)#Qo#b?l|
N6@L$z#_#_

PdD\8S#LY7u#%###`^>Z###)# G|=:Sb\-aWfG#e#
%*###6#BAw#("(##jti#4]Lnl)v{!
Y+l#hS86#nRCU####.})#

k@#.u7o##5*:/#QOCB#A!_Iz;#T~/?
GOwfmbN}T@#
}?
^#@K5@#g#)##_~Y;#Ym,Yd`$Qa]-a#=n

[G#&q#####PK##########!#)?P##########drs/downrev.xmlDO]K0#}###".!
P26#_]#$ko####{#l#:8V0d KW
>?

6s#!"kl#3#XF#KK
yG>V"pQA#cK#,k#wpbLWR{SmM
E
j*UptTmQ
']J]##/s4A#^?#H^A#&######PK##-#########!
#Z#f########################[Content_Types].xmlPK##-#########!
#1_a####################/###_rels/.relsPK##-#########!
##F#F(####################*###drs/shapexml.xmlPK##-#########!#)?
P#######################drs/downrev.xmlPK###############################
#H#####
#####(###

####0################ h############# ###?########


##############33########8######0##########_#_#_#P#P#T#1#0########
##.####V#`#r####################PK##########!
#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!##!X######!
###drs/slideLayouts/slideLayout1.xmln0#Wwo
#EI*mpCi##'A5#6yMH]BI|0>4tL#
#j]#O?/hCEEy+"82#\/~B# !#`g,P;P}J&U5pa#`7<'4lh#>n6ua8b#XR4#TL#f^9J
0 @#, r+"h###A}b

DK\)q#+$ #|####mOa# #9,#D#v0t0Z#-w?#


`#Ij*/
#r#RoE#BX+z#x#N(K
OV~'1|O"q4$.Y #:QM&.j9|
k#

#ZpmU#4##~[NcxZC43
#1#^/U!wT#G#r#0G2QQ<Z GBtiz?(vFm{qi#
ip&v,#
l#c#5-^w#Cx#8vN-*~{I# #]

=vm#7#xV<YK'#H##QG##<)=#O#8
"##9;NFxbvF#
Xc#@DXg#Wgt###b#Ls
#3&#>|&###
#C#2#_#####PK##-#########!
#M########################[Content_Types].xmlPK##-#########!
#p8###8#################.###_rels/.relsPK##-#########!##!X######!
#################drs/slideLayouts/slideLayout1.xmlPK#############<#####
######PK##########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!#;VO######!
###drs/slideLayouts/slideLayout1.xmln0#E###l(
vM7y###rlHU;$#I]F{8Z#}Pr##a2#\\|,D0#58#~=a-v##iPW1(pi##H~[H#Id4\

)vQ#YNHJ0S@29uIu>,#^|
NJKf##a#k")#1w+9Yzdy
0z(

o#%(#_P#

qZ6])
JG&A2*#~$#&
#rv&###J90cg# <'yW|Ldc1#baW+dy#J#*#3#*#J##
####@VEP D,#C $D'h#<|AI3SC!7#dMlA`e"&$5@?
##`#t$6###w#3J

Sf#g,
=A}|&}Rtg:W^mIrvo#>zLd>
###E#r#H;B_Bc#####PK##-#########!
#M########################[Content_Types].xmlPK##-#########!
#p8###8#################.###_rels/.relsPK##-#########!#;VO######!
#################drs/slideLayouts/slideLayout1.xmlPK##################0###f###PK#
#########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!##xS3####
##!
###drs/slideLayouts/slideLayout1.xmln0#Wwr C *T>q

DuvY CJ#07!wB46/8nI-,q2~3

u\g\Z**{10M8X;W#kYp{[VR4 #wiV?`##S\#D\.s!
###w

#Ze#kv#R<##4#\E##.fRqF#)INo~jVMWzL
34Ay#b8tZ#OKSLxl8@v
%c#[~>#+HwZ#`o##'nNI#E9T#Kj.#'_'6-b&|
fu##G+o}N[GH#u}:zp0
%%IKF8LHK#]nv#Q9D: nv
uy"xZa#\;#`#6###\lr#l"%#DqGo^f=(aM#T.^+r~qa>^
Htmx
#N#*<ed'*qz#{S\
b
#N###t8W5D<
#
#a4L CvIC,j (y#

T#M#}E#"Y#c#'#C>.Ec#A#^#E#Kyc#A#^#IDb9HCDi#0#R#W####
`##U@4#$d4#Hr#$J######r"<B&*{>ZH~.Y#o#e~y}+#
A##1 ?#####PK##-#########!
#M########################[Content_Types].xmlPK##-#########!
#p8###8#################.###_rels/.relsPK##-#########!##xS3####
##!
#################drs/slideLayouts/slideLayout1.xmlPK##################@###J###PK#
#########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!##u####q##!
###drs/slideLayouts/slideLayout1.xmlWr0#w>1###
<B>@EF<@ GE#!
#&]#Y>:bJR

i+ L$20]#
#)Rad:#}2(ckC#
2#CdTL\#<0U###;V/,h.fg}sDI#~
l>lb#4n[
E=#
3`#)O#&f/0qt9SY~rZN[q[M#S

E#s#0

*F##C ###b#
L^g n#6 ~lA~#X#.k
r
e#i#Ke
e _ Vl
4[#WtzxN,&u#n\Yr#4#9~ ?68"#3"#h#IX#rCa#
#c#tB#l1vB

k
?#lL8MX&y
#:UA5P>#H###rmdYtvzuZv
#}#]t9u]#=##dk
mW64NkM###l#`[u#####z#]X##|##z##5j
&$`X'f+.
%##=e#)b|#zWe#\
#+LQ]{*oe)_Z4y##
i`zQp"##[|ll5#6W_1~wg w5qJ|##?F#####PK###########!#M########################[Content_Types].xmlPK##-#########!
#p8###8#################.###_rels/.relsPK##-#########!##u####q##!
#################drs/slideLayouts/slideLayout1.xmlPK#############k#####P######PK#
#########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!##a%q###@###!
###drs/slideLayouts/slideLayout1.xmlX #0#{#8#Rf_&3S##a7##\T
%U##/F#y6B#
S 2>/>#{4\<SRL( #_/2#N##Y|
%#aSFy^#B97Stb_;:nwy*jn^Vi$~W:#X#-2n2I#m
-J&]#W
.^o#Xo`4b&y##3#\,#Z#
#
#<n5Kc$#zA# #`0,qL<
t>!Dm'#$mbkXd'l<]F####`Rwa=:wY&#{e#>K#?}^qd3#
BT#>x8| 1`o*KI#f]#)&)#</#4x[<#S#q#!}C#f
#uRLgY#}aF1#}##B##TVB\s0#Cx3
xsc3#De1X##xz]a/5$#u%#
?#|&#vg##7###KD"22
##jUf9#T#qo_#A##X#hY#4#WXHv###mX9+RUA
![#8#U#jl#*# `-rU#(>Zh#Zl#EF;#)eEZR
R4|
tW8###HQ)LI#z$d#pG
VwU%cVbX0~`Beh##|
(#D1zN:Y##NLJ%:#`D${##}#ru#:bn:#`]6b#####XWKX##-#
P|I$##D#|m\DJ,##](Sz7/TgNQIZ##
lO.Co]iwF#_/j?#
?k4Mrk##n##
N WG|^mz5o#{K#FN^-eMAn#k
w:_sP5B#Oc#5Uw0#\~'^<m{khf4UM53###{######PK###########!#M########################[Content_Types].xmlPK##-#########!
#p8###8#################.###_rels/.relsPK##-#########!##a%q###@###!
#################drs/slideLayouts/slideLayout1.xmlPK##################`#######PK#
#########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!#R#######!
###drs/slideLayouts/slideLayout1.xmlSn0##?#'s(
R8m/Il#l%" rJ%%
%mC.|,g;z1R/WRn#_##,r(6^ESI0
J#yU#Q7At#-\x#E#7swZ##V#tj5:$#cir%Ydpg(EkYz}0qP"IV#CNxAu"#e1#h

E&0#N6#1lL#'
5
;X|{#],#p#/&U\r&#/&(pOQX:I~#9Fe###>,#n\=&xAP&F#.###H}}
pQ5~##-{A._##vqfJ##|
B^&#4#/S##0#u [9nB#?
#####PK##-#########!#M########################[Content_Types].xmlPK###########!#p8###8#################.###_rels/.relsPK##-#########!#R#######!
#################drs/slideLayouts/slideLayout1.xmlPK#############0#####p###u###PK#
#########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!#aB###p###!
###drs/slideLayouts/slideLayout1.xmlRN0####&x^Vjq#vCl###k=#x\uFVahb6LYs{,D
%hgU{#X,#zw<l u>#"Z##3 H[##0X>#F#'#Fx4A!Rn|9n#U
R=`?9K4l X.#C]b

`;Tjl~7o#YS#Qx0#
O *4#2z#&#+ S]d#_T#\Y?
`#RXT#S#_o[##9*O#3_1#####PK##-#########!
#M########################[Content_Types].xmlPK##-#########!
#p8###8#################.###_rels/.relsPK##-#########!#aB###p###!
#################drs/slideLayouts/slideLayout1.xmlPK#####################!
###PK##########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!#U#####!
###drs/slideLayouts/slideLayout1.xmlW8#O}b#vSmj#;# 0##
%#81b6#}{C*bo#a"i.##7sTr);{2xzGI#p*#/
G*XAd#vR#Tz#~#wGx<##4#^_/w<aeT0k#8rl#R
4vw$},9x##D##+)4#\gdEKcTF1fbIA #EP5#
y_##nF
*4FDa!qGs&#&I<&3$p#=r/#"e

;\sFW5bLUDHi Kl
#m<#1u"1f-#`#^Lx#GLd|
#45s#_2=nQd#+G4##P#G#8eTXx0
6m'<r##"Lc##l#7_#bWQ7>7%aigZi#d#

L#TQcTx3|m#Ae0"x]#)#,2
5b8} G(Q
u#H[iST_M#6h]#6#`'m##;95v#.a##%##;u#`##%l8!
$`8 2=Jh##.p%R=#d#n#q#G0#?1y};1[uIu
`
Qaf&#Z8FAF##&#5rVifW

_ ywdz np#1rcni{#
m6[=)3##J4r3z#_zdwO[ No#gt(/z#s##/#0%|
f#;#>C68!#{M#P;M#D
_#\}

>p[##Mf#

1T#l/#####PK##-#########!
#M########################[Content_Types].xmlPK##-#########!
#p8###8#################.###_rels/.relsPK##-#########!#U#####!
#################drs/slideLayouts/slideLayout1.xmlPK#############B########u###PK#
#########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!#5B######!
###drs/slideLayouts/slideLayout1.xmlX]o6#}#@uh#;Fm#=##kH\'~R
%e`yq$s
ZF
4Wy*R+#raer

#.2;W.##Ek]
L;AjW`#r0#
(7Y'WTP#1Br}^#<#4##=
1b#0#G7<)^``'2}ml5B:n
M6~amX#T#a"W#3<

-o_ "G"#Gz0iGo&a=h6 N"e


#6ls'#O^#KW:yLiI %w#|
&r;
vGco}L"#9x#sYT&tAFLo a#\{>RHwq5#|! G<
cqyR`#_"!wlk<?#}#/##`TBA%#V
#y#f"##!nq2Bw~##)T#7e<#{-S#bH!B4
###.7#x8M58,g##=h###1:#o_#/;7a.
du#U#%w+)#2$/nJ(8v7{^
o#+BrO>5
[#.YMsA#;g~#P;-=!C
##'#y###Q{.##{###H#xh#S8T'@B
##=2@B ##=###g#g#
%#[@B}$bH(##8.L
xw;k#X=Ag|?q#on#
Zzo#L+##pP#}##uS9Ier:q)# 0-:#E
4 a"0Zw#z~#c#fw4/]y:=~+S;I#ku#u*BvU#5 De[-#B#M?
R?
EA#/v,##ak
#.s:]#S\P~j4#GWXIqZ~#2&*JU##=#
&6._
J:j#g##}6p8_&F$]##?$+H$jee##pL'#+Z{i
7z3p>#D+(#

{B#?E/#@#.#h^##$#{#_y{^aAMW7#<D!GnFtg?
N#
SikB##n#####PK##-#########!
#M########################[Content_Types].xmlPK##-#########!
#p8###8#################.###_rels/.relsPK##-#########!#5B######!
#################drs/slideLayouts/slideLayout1.xmlPK########################PK#
#########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!#@#i######!
###drs/slideLayouts/slideLayout1.xmlUMo#!#W@GUU+6,l
#&JJ# c
#\m;z
fO8FF
?
O>q#"5rw2w#W#>E#

#j6FWWU#(Z'w#7U#;]]}:R##^+!XI##"#raDs9/#`-gX93P#K0C##V*j ##c%Hl#K#L
[} /<SMB#Px5l

fDzlB5Ta)Gvi##(^VE{V_XW#P#F##QY#S###~'#,qNe
%#1;h#
i#+n?f7/RC\Y#M51@~M9yX8
#xq6J<hlTd#,#~##D$gYo#?q2##Hw!/G!
_#[h#A(#C$#g+4AvD9Ft#ER
:EO^?#HE#^h0#I#Q#K),Z^#sF_#~Y#=Xkc{p#Ww#4
2}#5A
/&
c|f#####PK##-#########!
#M########################[Content_Types].xmlPK##-#########!
#p8###8#################.###_rels/.relsPK##-#########!#@#i######!
#################drs/slideLayouts/slideLayout1.xmlPK########################PK#
#########!#M##########[Content_Types].xml|N0

EHC-ja#j;##+#,##Kq:=ig#,?YD&oD#z#CwOgkcg$./#XQ{js#Ht# AFP#0#s#k#fx(8?
#.C({R#(##Mb7{IF#{_##R'dK#0#FF#jr'"&###@_'#####PK##########!
#p8###8#######_rels/.rels
0#D#nz# x#%6 (q#L Q(NAU io#o##'t#GHL

m^W#1##6#
AJ#M#8a22~`Or[;##,l#@}YMG#Bh]p#{J
Loc!"#r#####PK##########!#########!
###drs/slideLayouts/slideLayout1.xmlUMo#1#W
|O#6@
Z#THdxm6[#k"#V=f#{r#j\)_0b)~^]1R#
%##&';q#0-#W",XMLZ85/Yi/.Ez&\tW5I#A

#A&4#M#f#&x#v##b ;>r(#vx##($5,#SN@##ch.Y2y#|3z#&x?
6#xZ##Y`##KB"vm##N1Op"#$h\oz:aK'##2##u}9y*
C#^W=#N$T_+#5q^#\m#)=AQ~3Ej|U#^}p<#a#
H~V3# o)f##auK#,##J####
%

Z##V;7#N_S#b#3(P#c

##AoL#b#d*) 2%xf{#}7-#RTr_!

B#$#)
c#=5#,O
;o~
#D#
=#:##G
#:*8#k##>#~Uq#*Jgss$:gXx#'3#@S#*##{#4 1f1};
####PK##-#########!#M########################[Content_Types].xmlPK###########!#p8###8#################.###_rels/.relsPK##-#########!#########!
#################drs/slideLayouts/slideLayout1.xmlPK#######################:###<?
xml version="1.0" encoding="UTF-8" standalone="yes"?>
<a:clrMap xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" bg1="lt1"
tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3"
accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink"
folHlink="folHlink"/>####Z###PK##########!
#############[Content_Types].xmlj0#Er(Iw},##-j4
wP#t##b{U##TU^hd})*1P#'
^W#0)T9<#l##$yi}##;#~@(Hu*#D z/0

$#X3aZ#,D0#j~3b~#i>##3\`?/#[#G\!-Rk.s.#.a ?##
###PK##########!####6#######_rels/.relsj0


}Q #%v/ C/}#(h"##O#
#= ##C?hv=

%#[xp{_P<1#H0##ORBd#JE4b$q_##6L#R7`00
O ,E#n7Li
b/Se######PK##########!
#ky###########theme/theme/themeManager.xml

M
#@}w7c(Eb#C#A
7
# KY,#e.|,#H#,l#x##IsQ}#
+!,^$j=GW)E+&
#8#####PK##########!#a###7######theme/theme/theme1.xml[KF#/
#,5#=l,rV ,#'###)Ar##bH#K#R{7mQW+Z N?
tjuy

}~ 5xj ]>#!
g4{{(,p#YQZ#moey[*%g0G8.#d_|F3S7&1*#]Vt|
/{FPvC|#####y#~#?Ba#h{DrK=@fim)!
###t#qI*C(;b+##z36

#>Zl#}?

##X_#NNQ:#o&#BQf]Qi#x#6hD<O?~Gom#~yNA#E###d|
#|[CuYlR##s#. $]g)>;(Vw-ckc#P#y
"AmzC>####
!|"##L^>o2J D4SF`&@B0|
.Y]kYoP4#rz##l3#62x#sF##]l>}lSntz#\2D9p,>8J{
}rtm#W#b#\#`ZV o(Oz3>>X##MYAn1#(+o9 #@=7Ha{

#G v{#;m7#{| Mv+D#t6
%#g##/TP8[V####QdJN\U@~],##bK|WA##o2#b6P##
Attfmwb@new#}Dor#e###|1k{pu#MX#
t'f#za#CD#+#
fX#IA/D$+#<yBZpTdT3F#L4bVl9\8p0(
c5#_S}~#U="2######H:###jYuZz2d#1Q)R 88%]'U
=(

mF#&[042#]A@p/#] uX #nu#*;j;sC
b##c#Y8#W{6V:#p##fG#|#O`#>Bn
tf-!H##H
%Wj.~vIi##4}fVCo
q#f]#'banNn"###$ #D###tC
6JrmT#Fx##g4LDAbM~
#
##8l]
anQ#-#8pS=hl?XQ#WxF#[rm(RMg=#p2D
#F#[*#lq#4}f
|k##R n'#6#}#MOz ?Q%'JX1 &M#h3l#
6#+EirKU
#)}##z/#7#.$G`#tZ#)an#0S#iA###w #J#lG "$#A
<J ####KF=##H+aC6%@#%@#%@#t4`#|+n ,#'##S.M#6.
Aa].#W&2#Hn,Mb#dJ##;rKC##)#&#lZ{#6a4#lAd##lp.b#lPK
m

#<{L&zV#q%rT#4x
eT~#lP7B zti,F`O#]#E83m#; {-^6 "Hs##E(e#aK#as
M#gTNgac$pxM>aocX6|R n\Enb36##7|2x#|6!#<#hVD.|
y(q
W4 "Q0#p#e1 6#~q6#n\)8`!,0/9&###q
n;#&P#m#8#MoAKZA}#7O(#0##]9X<vM###K###pNj~N#
!?+n"@M(^o<q,y7Q#
"HS
!`C^VQ#####PK##########!#
#######'###theme/theme/_rels/themeManager.xml.relsM
0#w#oo#&#56?$Q
,#.ai#c21h##:qm@R#N;d`o7#gK(M&$R(.1r#'JT8V"AHu}
#|$b#{##P8#g/##]QAs #(#L#[#####PK##-#########!
###########################[Content_Types].xmlPK##-#########!
#
###6#################+###_rels/.relsPK##-#########!
#ky#########################theme/theme/themeManager.xmlPK##-#########!
#a###7###################theme/theme/theme1.xmlPK##-#########!#
#######'################theme/theme/_rels/themeManager.xml.relsPK##########]###

############PK##########!#(b##########[Content_Types].xmln0

E##Ak#P#

}l}

###m###$_#t#I$svs#^ KkH$Q
#-#G$oo1# 5
#J##

#\Qg0?0o#mR##o?Y8#J#m#i|#TX+N#3t#r@9>?#4

Mf#rAs##o_p*#?yj#&
Xg3#####PK##########!#*###8#######_rels/.rels
0#D#nz###Xm#lo##0of5OIw
#AN{c v=m 838yG
6U}
#
S#h#Lq`L)#d=\@.;3, #;#$e#
#
): v#q}j:z##'k
(f,##XA6\m>#####PK##########!#QOHn###$##!
###drs/slideMasters/slideMaster1.xml n0##}#k?$#$E

A<#-S##(:;
(:w [>J#}#)##u>jXlR'wn&<
""U##yQ/`}#]##d$####.##w^h-qs&F$#`I#h D*#o@Bb`
x #|
r`:eRiC#0#~7

##N(#d#Z##
sK##%;m Oi#8y##"#C~#5##f}x! M
%wH|}u
#+CN<3z{#a#F#x#\EZE?0A8T!G#7##D!
F1#n#/KTE#

x.Q#)eL#x)2# Q1w_> #q 1##:#//sro*#YK#u`=`

%`V~\#f]/X?.k p
XnH!'P^6p"TAy6#'IkO6MU#U?ITup
p
m6 In3C
7 ]#:#[1#S%iF##
z ###_#z,
zq*[#|U#_ #bZ
IV(#3x9Yb-#3D
hb&ug]a9u[~x+,~:W&YI#7ZU4-d~k=)P?|
VhWMWE

gY"*u[6F#+3#_,sYSidu{#pP##iG,+tXZTo+#4
q#y##-q+##'"#p
IS84q#a3Oarma9xdNH#
^<BI#ll#H~{#X/d"v>I##7\

hIwd-
n
l#ZBUjHKFql#M:ls)w:#####PK##-#########!
#(b########################[Content_Types].xmlPK##-#########!
#*###8#################*###_rels/.relsPK##-#########!#QOHn###$##!
#################drs/slideMasters/slideMaster1.xmlPK#############)#####
######D#e#f#a#u#l#t# #D#e#s#i#g#n###################################

0##

######################,###########(##### ######################
#####,###############
#####,###
####@########?################?##############T#i#t#l#e#
#3##########>###################################
#################C###Book: Fortran 95-2003 for Scientists and Engineers, by S. J
Chapman#######D#######
###D#######(##################?##########3#####
#####,###
####F########'################?##############S#u#b#t#i#t#l#e#
#4##########
`# ################################
#################3### Transparencies prepared by Anthony T.
Chronopoulos#######4#######
###4##############'#######

####################

##############H#####
#####,###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#####P##"################Z###############################

0##

#####################0#####J######(##### ######################
#####0##############
#####0###
####@#########################?##############T#i#t#l#e# #5##########
##2###############################Z#####################
CHAPTER 1###############
#################
######################
#####0###
####\###############################?#####&########T#e#x#t#
#P#l#a#c#e#h#o#l#d#e#r# #6##########'###
###############################l#####################
CS1073###############
##############(####
#############################H#####
#####0###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#######"###############################################

0##

#m######e##############4###########(##### ######################
#####4###############
#####4###
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7#################
#####4###
####H########,################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
####################The ComputerIn summary, the major components of the computer
are:CPUMain MemorySecondary MemoryInput Devices (e.g. keyboard, tapes etc)Output
Devices (e.g. display, monitor, tapes etc).### ##############Z#

##################
###############H#####
#####4###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"###############################################

0##

#L######D##############8###########(##### ######################
#####8###############
#####8###
####H########

'################?##############R#e#c#t#a#n#g#l#e# #2###########
#`#}###############################x#################6###Chapter 1 Intro.
to Computers and the Fortran Language#######7#########7############
###7#################
#####8###
####H########x*################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################X###T#h#e# #C#P#U# ##T#h#e# #C#e#n#t#r#a#l#
#P#r#o#c#e#s#s#i#n#g# #U#n#i#t# #i#s# #"#h#e#a#r#t## #(#o#r# #b#e#t#t#e#r# ##
b#r#a#i#n## )# #o#f# #a# #c#o#m#p#u#t#e#r#.# ##T#h#e# #C#P#U# #c#o#n#s#i#s#t#s#
#o#f# # #t#h#r#e#e# #m#a#i#n# #p#a#r#t#s#:##T#h#e# #C#o#n#t#r#o#l# #U#n#i#t# #-#
#c#o#o#r#d#i#n#a#t#e#s# #a#c#t#i#v#i#t#i#e#s# #o#f# #t#h#e# #c#o#m#p#u#t#e#r#
#T#h#e# #A#r#i#t#h#m#e#t#i#c# #L#o#g#i#c# #U#n#i#t# #(#A#L#U#)# #-#
#p#e#r#f#o#r#m#s# #t#h#e# #c#a#l#c#u#l#a#t#i#o#n#s##R#e#g#i#s#t#e#r#s# # #-#
#s#t#o#r#e# #a# #s#m#a#l#l# #a#m#o#u#n#t# #o#f# #d#a#t#a# #a#n#d#
#i#n#s#t#r#u#c#t#i#o#n#s#####f##############Z#####################&#########################################.###
####################
###-############H#####
#####8###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"################q###############################

0##

#####################<#####a######(##### ######################
#####<###############
#####<###
####H########r################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7#################
#####<###
####H#########v################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
q#####################Main Memory (RAM) It is larger than the Registers and
smaller than the hard drive.It temporarily stores the program currently being run
by the computer and also the data required by the programs.RAM is volatile, i.e.
when power is interrupted, then what was stored in RAM is lost.###(#############
####################
##########
################H#####
#####<###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"################y###############################

0##

#####################@#####i######(##### ######################
#####@###############
#####@###
####H########P################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7##################
#####@###
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################y####################Secondary MemoryIt is a permanent (non-volatile) storage.The hard drive is the
best example, but also USB, CDs, tapes, etc. The size of hard drives is larger than
that of RAM. However, accessing data stored on a hard drive (or other secondary
memory) takes much longer (5-10 times) than from RAM.
#######.###############################
###.############H#####
#####@###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"###############################################

0##

#:######2##############D###########(##### ######################
#####D###############
#####D###
####H########t################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7############v#####
#####D###
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################V###Computer LanguagesEach computer has its own machine
language (Assembly) used to execute very basic operations. Operations are: load
and store (data, to and from memory), and add, subtract, multiply, or divide. The
problem with a machine language is that it is very difficult to program and use,
and also it can be unique for a
computer.###V###W###########Z#################################################
###########\##########
###W############H#####
#####D###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"################*###############################

0##

######################H############(##### ######################
#####H###############
#####H###
####H########@################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7#################
#####H###
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
*#################x###Thus, computer scientists design high-level languagethat
are easy to program and use. The programs must be converted to a machine-language
(by compilers and linkers) for the computer to run them. Examples are Fortran, C,
C++, Java etc. The benefit of a high-level language (e.g. Fortran) is that a
program and can be compiled on any machine that has a Fortran
compiler.######y###########!####################\#########
###############################[####################.####################.#####
#######
###y############H#####
#####H###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"################@###############################

0##

######################L#####0######(##### ######################
#####L###############
#####L###
####H########D################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7#################
#####L###
####H########<################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
@####################Data Representation in a ComputerData is represented by
millions of switches, each of which can be either ON (1) or OFF (0). 0 and 1 are
the two binary digits (bits).We use a combination of 0's and 1's to represent the
other numbers (and characters as well).The smallest common combination of bits (0's
and 1's) is called a byte. A byte is a group of 8 bits. A word is a group of 2, 4,
or 8 bytes. Our PCs have 4-byte words. ###d##############!
#######################################################################=#####
#######
###############H#####
#####L###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"###############################################

0##

########## ###########P###########(##### ######################


#####P###############
#####P###
####H########L################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7############4#####
#####P###
####H#########8################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################,###The Binary Number SystemThe number system used by humans is
the decimal system. The decimal system is a base=10 system.There are 10 digits (09). Each digit in a number represents a power of 10.The number 221 is: 2 * 10^2+ 2
* 10^1 + 1 * 10^0(where 10^i is 10 raised to exponent i =0,1,2,..).
###>#############Z#############Z##########R##########################
###-############H#####
#####P###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"###############################################

0##

########
###0###########T###########(#####
######################
#####T###############
#####T###
####H##########8################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################8###############
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7############M#####
#####T###
####H########l#8################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################8###############
#################I###Similarly, converting a number from binary (base 2) to
decimal (base 10).The number 101:1 * 2^2+ 0 * 2^1 + 1 * 2^0 = 4 +0+ 1 = 5If n bits
are available, then those bits can represent 2^n possible values.e.g. One byte (n=8
bits) can represent 256 possible values. Two bytes (n=16 bits) can represent
65,536 possible
values.###:###J###########Z#################5##########################
###J############H#####
#####T###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"################{###############################

0##

##########@###########X#####k######(##### ######################
#####X###############
#####X###
####H########08################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7##################
#####X###
####H########28################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################8###############
{#################9###Which of the following ranges would best describe the
possible values of a byte?(1) 0 ,.., 255 (2) 1 ,.., 256 (3) -127 ,.., 128(4)
-128 ,.., 127 . The answer is (4). The reason is that the computer must store
both positive and negative integers. The following example illustrates how this can
be achieved. #######:###########:##########
###:############H#####
#####X###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"################KC##############################

0##

#bB#####ZB##P######G###J\#####A#####(##### ######################
#####\######### ###

#####\###
####L########@B8#####################?##############T#e#x#t# #B#o#x#
#2##########2# #c#R####################6###Chapter 1 Intro. to Computers and
the Fortran Language#######7#######
###7#####G##################6###################
######

##############[#####
#####\###
####N########tP8#####################?##############R#e#c#t#a#n#g#l#e#
#3############Y#X####################_###Example from the car
odometer/milometer. (Note: content not in Book will not be used in Exams)
###8###`#######
###)####################3###########################`#########
######

####################
#####\###
####T########R8##########################?
##############R#e#c#t#a#n#g#l#e# #4########### #
####################!###Milometer readings during travel.### ###"#######
###!##########################"######### ######

##############>=#####}##### ###################
#####\######C##(######################G#r#o#u#p# #5###3#"
########################Y###Y#########PK##########!
#^##########[Content_Types].xmlAN0#EH##] tA##*##j2<&i#E,ZQ#y*@2:k}*#da< us}Um##YdCJAk6#N#8A#f#=UYi)!"#^@t#+

S6oQ9J##B#LVM\s#U#ysn#J7U#|
Il2#\PU&<##.#~[m'E;#Vx#####PK##########!#8!
##########_rels/.relsj0


}q # N/k#c#[F232zQ
LZ%R6zP ##T](#
#
##[ j,#ZfLV:*f"N.]m@=

#7Lu##P[i?##T;GI4Ew=}3b9`5YCk#9#o~#e?
zr#####PK##########!#e###V######drs/e2oDoc.xml]n##8
p.288L#4]tM#2(:!*#tqE ?IIq'4|Y2E}|
<UY6k~`Pa:~## 3\LhkoOw\D#t
Llbdo/#'"7T(:#:TL(.{Fp/btAu^$#e/-#?\]
#Aud[{#+}K~2^V7/9]sGj##*}{>}#O6H'oI#E~y##R#R]Yul#Cqs<:`AHwo5###/$o
>u~w`/&RP'f(## G>,6;8<oAdoR{koV$~#+##Lh4
4^|yttmL\KF

L#5:#y%gF4!c#"###
f ^!-xWu#u?#L@XP#4#/f*t"U#=#
8]IzFGDGujT862P/?;I=f#79F#IIWb73##]p{$N
'&EL#,t'#~#}s6St'+u|IP}wDs'2# #V!Yb_~DHe#Q
EKFIe<
7 {YHM \KD#{2tA, >#4#sL&p
)#_#
? /KUwih#`n#!l###AG1-sv
f*#NCRz:p6#>o~E]$S#4?bzRuh^J=
#NALi
%SVFT
RF8 \LJ ;M,q<N
#>N/#=X"F$5##.5#,WqER r:TgpKm? #vv,#R5eVgDs{Zl#?
#=O#J>"#=P.Z#PrY#J#%a-,K^$Pr X5A|#[5vB.I^hgdKB\
~v&P#(#A. ]#d#g#b#]#$t###W*T2i

~D#$P#( |##D zyk#%@I$PuK#/cS#~X&2 4#F@S4d


eT"}5gmu%#pTr##OR!x1,#bz#;a@mD##)|
E\="/Y@##F/|4_$#lMp###%##&4 VtL#:#nK#tI#;.0j^

+|4_1IKB.
]u#$t|#7#(
#J#%/d9X\A###v7
#J#%A#Z 8:[v.#Kl!wt:
R#r#w#|-%0#SK!2`y#

##e

;"eo

H7^D"W##/%#c'##x/k)#'LIAO@#=w (T^b5#C.{a#fOLj\%*!
W#b5#k$(9#ss
#J#%tU#P#( #J#Z6P#9. ]}$P#(
#J#5KB

#/"U7:$YP@I$P#( #L#Q#II4#R
toK#y, #ND"MiU%H[#
$B.
]jv?B9b#@I$P#(
#J#%#e!6[D&rx7##>-4
Y*L1nLuflcPSc#To"Z+x/l#!_%=#WBg##u

##srgv0_)$-j #iG^s +8>!8l##;

C~7]#-#v3#*)#
# ####v #;f#/#mdl

N#g<U
#t#$7

xHnAhp#9###p#9#:#P#(

#J#%@Iy#XdXT

#J#%@I$P#(9_#6f##*##|
H####GeN#v]@:_rP,j'#6N#(i7b<>g]##Z#
%#\_####@ID@U8IuY@7?PS$SpM#@L=WuY
@t#y1Si~I##%_#~I%}#Q^Jvjm#J"#TK>q#####['\
rAFB|1######;#,#[Ao(###rO##<#Amp{

# ="%'p#n&X YHyY0tzW.#v#S6l$R}T_#::P#( #J#


%@I$#>6#!##1O#b# d2#ILf#.
]#$tI%KB.
]#ILRmPI#XW#B

%K[)#B

g#mT]"#
(###,@
##
}##6

#tM###UKn0#

DI.Ut=(5E
$>DWE;tE#@w##G{Z'oF#J# -%84HU#% +P

iR#3!epL_HCn@&t#.z<=;~#ku`##<

N
"X5J#m[P##^P"9[#@AGHo*;$dzI]'eSm#i#J^|
#bqZ#a.9#&Ln ###zc#

y@P#W.C#]B ON< h#suZ@#,2#))v#Zl##HjC#e#"CJ##)/!


vgn#wK#\oP#P|

kt8
5#qb7hgVUB:*G'J,pQbu#X#%Y##(,J#
#
#6Br@#XW>#P':j^
x_!%g.=zW#wg\[(JZX=F-fP<t<#_?#
#z4
#kb #J1#cD1##!
y`BMd#F#O##$4####ZwVWAK<r|9+#
#tz~<v{y{#
_;# r[#hk.G=O#####PK##########!
##M##########drs/downrev.xmlDAk@###"bXz~fI06d B|
6iDO-+"#5
#o###kl,#l#f>D}K# 2TPyfR"nf[]mg#
Rw#p8RiPaK[~7
fWGiA]4_S+xO8######PK##-#########!
#^########################[Content_Types].xmlPK##-#########!#8!
####################,###_rels/.relsPK##-#########!#e
###V################+###drs/e2oDoc.xmlPK##-#########!
##M#######################drs/downrev.xmlPK#############################
#########
#####\###
##s##*##########g8############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#=##########drs/downrev.xmlDMK#1#E!<]#i #t$1
7t. s9h
S;#Y#\v]us#,&t#w$`##K#nK&,C\,QJi(9"q#r|r

=###n_#]^P8FQY##o`~T#q}5>>#K45:G#M;h(#/4[#_#####PK###########!#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#=########################drs/downrev.xmlPK#############
###################F########d#####################(a)##############
################################# ############################
#####\###
##s##*#########Hq8############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
############F###############
c#####################0##############(###################################
############################
#####\###
##s##*#########@{8############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
############################
c#####################0##############(###################################
############################
#### \###
##s##*#########,8############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
####################y########
c#####################0##############(###################################
############################
####
\###
##s##*##########
8############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
############y###############
c#####################0##############(###################################
############################
#####\###
##s##*#########8############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ###################E
#######
c#####################0##############(###################################
############################
####

\###
##s##*#########8############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ############E
##############
c#####################0##############(###################################
############################
####\###
##s##*#########D8############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ####################
#######
c#####################0##############(###################################
############################
#####\###
##s##*#########08############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# #############
######x########
c#####################0##############(###################################
############################
#####\###
##s##*#########48############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#"##########drs/downrev.xmlDMK#1#E!<]
HaP#E:UI0#c#o\b5Z##N#FR^
###:;#0QbGCz!.(@4V8#u>XL9

[./(#hi#Lm0#;_5B\_O#~z#I< #M%?
#####PK##-#########!#########################[Content_Types].xmlPK###########!#Z,[#########################_rels/.relsPK##-#########!
#"########################drs/downrev.xmlPK#############
############x###############y#####################initial milometer
reading############## #################################
############################
#####\###
##s##*#########8############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#sx

##########drs/downrev.xmlDN0#EH#k*#]T*P#DHmSX#IbGd6{.#

F##p?T#q,#Vv##`0 l#tb###t19`l#
#}s#Y#M##QS##;]_MQ#f^)*#

%HC>
^d^#HrI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#sx

########################drs/downrev.xmlPK#############
##################F####
####c#####################(b)############## #################################
############################
#####\###
##s##*#########8############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
############F##########
####c#####################0##############(###################################
############################
#####\###
##s##*#########8############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
#######################
####c#####################0##############(###################################
############################
#####\###
##s##*#########8############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
###################y####
####c#####################0##############(###################################
############################
#####\###
##s##*#########L8############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
############y##########
####c#####################0##############(###################################
############################
#####\###
##s##*##########<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ##################E
###
####c#####################0##############(###################################
############################
#####\###
##s##*#########T#<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ############E
#########
####c#####################0##############(###################################
############################
#####\###
##s##*##########<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ###################
###
####c#####################0##############(###################################
############################
#####\###
##s##*##########<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#^#a##########drs/downrev.xmlDMK@#Eax####Q#^3/|
13wBj4#(D Y#l Gu}#,&#$`##KvC&,Cl,Q#/9@#y\0r

=##n4#-7l^#@wc#_]UWf^)###%#?_yBJ#{A
Dt######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#^#a########################drs/downrev.xmlPK#############
#############
#####x####
####c#####################2##############(###################################
############################
#####\###
##s##*#########X#<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#z#i##########drs/downrev.xmlDN0#EH5HC##B
U# 5-$1#M=V##3[

F##8T#Y##BD+Q;K#F
#
0dWtb###t19`l##}S#
#
Y*#:iQo] 3#)-?#Bo"
|#/#!#$}y%W#"%&K#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#z#i########################drs/downrev.xmlPK#############
############x##########
####o#####################after two miles##############
################################# ############################
#####\###
##s##*#########)<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!###########drs/downrev.xmlDMK#1#EBCx#w6.DE
:#i]t#1$.ty}YoGkB
X.
`Z/####I4 "l75_MYX#Pr#[E##r`1#z.#^2#*{nQp#>
?L3\#~T#q;#%#I##+W) t/Wr1Q^i######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#########################drs/downrev.xmlPK############# ################
##F###w#####c#####################(c)##############
################################# ############################
#####\###
##s##*#########5<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ############F####
#####w#####
c#####################0##############(###################################
############################
#####\###
##s##*#########6<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ################
######w#####
c#####################0##############(###################################
############################
#####\###
##s##*##########H<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# #################
##y###w#####
c#####################0##############(###################################
############################
#####\###
##s##*##########R<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ############y####
#####w#####
c#####################0##############(###################################
############################
#####\###
##s##*#########[<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ################
##E
##w#####
c#####################0##############(###################################
############################
#### \###
##s##*#########e<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ############E
###
#####w#####
c#####################0##############(###################################
############################
####!\###
##s##*#########|o<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ################
#####w#####
c#####################0##############(###################################
############################
####"\###
##s##*#########x<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#R##########drs/downrev.xmlDN0#EH5HC#<B
!E# 5#4$#8M=V#sG6@!#
###k#DL#gR0SlGI#%*#R#K)c;#q:###C/uc;
+Eq#####4P8#oh1~T+uy1=>H4<ZA6}0z1Q8]i######PK##
-#########!#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#R########################drs/downrev.xmlPK#############
################
##x###w#####
c#####################1##############(###################################
############################
#####\###
##s##*##########<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#k!
##########drs/downrev.xmlDMK@#Eax;;"BPCA#uk
%#:#afl
E >6D>(g#<2`dk'm#|###`!%###ooVK7##!
G#]}y;2#f'y1ErqHp<AeB=uT#?#KWSz#eb Ru
,#p)#) 4+#/4Y#_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#k!
########################drs/downrev.xmlPK############# ############x####
#####w#####x#####################after reversing one mile##############
################################# ############################
####$\###
##s##*#########@<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#L9###########drs/downrev.xmlDMK@#Eax;;RN#A##h#dp>4M}.ty}YoG
@>(g#<2`dk'm#|}##K`!%###nno
Kw###!G#]}y;2#f'y1ErFyAeB=tTV'#){#edNQ)##i?z#I:x%##"%&K######PK###########!#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#L9#########################drs/downrev.xmlPK#############
###############w###F###1####c#####################(d)##############
################################# ############################
####%\###
##s##*#########<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
############F###w######1####
c#####################0##############(###################################
############################
####&\###
##s##*#########<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
###############w#######1####
c#####################0##############(###################################
############################
####'\###
##s##*#########<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
################w###y###1####
c#####################0##############(###################################
############################
####(\###
##s##*#########$<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
############y###w######1####
c#####################0##############(###################################
############################
####)\###
##s##*##########<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ###############w###E
##1####
c#####################0##############(###################################
############################
####*\###
##s##*#########t<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ############E
##w######1####
c#####################0##############(###################################
############################
####+\###
##s##*#########`<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ###############w####
##1####
c#####################0##############(###################################
############################
####,\###
##s##*#########X<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# #############
##w###x###1####
c#####################0##############(###################################
############################
####-\###
##s##*#########$<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#f###########drs/downrev.xmlDAK0#!Mhw#E-lf M&
%7Ao=vrV#)DY#AzmWQ
YL
f\^;:6##D#CJc)el#r##~$]c#xpg(Cya##j#Sn9vUuZq#"0
gVM;#(/4[#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#f#########################drs/downrev.xmlPK##########################x###w##
####1####}#####################after reversing one more mile##############
################################# ############################
####.\###
##s##*#########8<############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
############drs/downrev.xmlDMK@#Eax;;"BP4Ewdp>&C#uy}Y#
|P
xdN*
.#fBD+Q;K#F
#
Z,0dtb###t19`l##}S#
#
Y*#: 3#v#](#3-?#B
s`z}-/#) 4+#_.4Y#_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
##########################drs/downrev.xmlPK#############
###############1##F########c#####################(e)##############
################################# ############################
####/\###
##s##*#########<#>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
############F###1##########
c#####################9##############(###################################
############################
####0\###
##s##*##########>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
###############1###########
c#####################9##############(###################################
############################
####1\###
##s##*###########>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
################1##y########
c#####################9##############(###################################
############################
####2\###
##s##*##########>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
############y###1##########
c#####################9##############(###################################
############################
####3\###
##s##*#########\!>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
###############1##E
#######
c#####################9##############(###################################
############################
####4\###
##s##*#########(+>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
############E
##1##########
c#####################9##############(###################################
############################
####5\###
##s##*##########4>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
###############1##########
c#####################9##############(###################################
############################
####6\###
##s##*#########=>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
###############1##x########
c#####################9##############(###################################
############################
####7\###
##s##*#########G>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#f###########drs/downrev.xmlDAK0#!Mhw#E-lf M&
%7Ao=vrV#)DY#AzmWQ
YL
f\^;:6##D#CJc)el#r##~$]c#xpg(Cya##j#Sn9vUuZq#"0
gVM;#(/4[#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#f#########################drs/downrev.xmlPK##########################x###1
##########}#####################after reversing one more mile##############
################################# #######################7###B#
####8\###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK##########################F######
#F#########7###B#
####9\###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK################################
##########7###B#
####:\###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK#################################
###########7###B#
####;\###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK##########################y######
#y#########7###B#
####<\###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK################################
##########7###B#
####=\###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK##########################E
######E
########7###B#
####>\###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK################################
##########7###B#
####?\###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK###########################
###############7###B#
####@\###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK##########################x######
#x#########7###B#
####A\###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK##########################F#####
#x#########7###B#
####B\###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK##########################F####
##x####
#####7###B#
####C\###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK##########################F###w##
#x###w######7###B#
####D\###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK##########################F###1
##x###1#####7###B#
####E\###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK##########################F######
#x##########7###B#
####F\###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK##########################F#####
#x##############
####G\###
####V########W>##########################?
##############R#e#c#t#a#n#g#l#e# #7#7##########6####6###
P#############################
################
################

##############H#####
####J\###

####0################ h############# ###?########


###############
#33############y##########_#_#_#P#P#T#1#0####Y######
+##########D=#####' ################################=###@#B#####
######+######"################u##############################

0##

#u#####u##`######Q###T`#####(u#####(##### ######################
#####`######### ###

#####`###
####L#########>#####################?##############T#e#x#t# #B#o#x#
#2##########L# #c#l####################6###Chapter 1 Intro. to Computers and
the Fortran Language#######7#######
###7#####G##################6###################
######

##############"#####
#####`###
####T#########>##########################?
##############R#e#c#t#a#n#g#l#e# #3##########_#P#%#[###
#################4###e.g. Storage of 8-digit integers, in base=10
system:###$###5#######
###4############################5######### ######

##############q##########

#### #########

####
#####`######C##(######################G#r#o#u#p#
#4###3#"p############@############0###0###0###/###0###PK##########!
#^##########[Content_Types].xmlAN0#EH##] tA##*##j2<&i#E,ZQ#y*@2:k}*#da< us}Um##YdCJAk6#N#8A#f#=UYi)!"#^@t#+

S6oQ9J##B#LVM\s#U#ysn#J7U#|
Il2#\PU&<##.#~[m'E;#Vx#####PK##########!#8!
##########_rels/.relsj0


}q # N/k#c#[F232zQ
LZ%R6zP ##T](#
#
##[ j,#ZfLV:*f"N.]m@=

#7Lu##P[i?##T;GI4Ew=}3b9`5YCk#9#o~#e?
zr#####PK##########!#8}#########drs/e2oDoc.xml]n#}?#O98p-r|
A"JAHKEGPpH

GSQ#~Sy#/#3+@,x##k^|(\<Nuo=4<:
#
j/e

# F$ C0 Sk<DJM",}5\j+,.QVv"b####i#aO[#=?1^#14~,v#c
,/S:C#Q#,]7N

Y =b
bLrB#Q
b
b

=jA:oe:
8#G#V 3 Ny.#ZXL|
dXIJUOW1qX'#_{wwFzAwgh7wt5 .#^}?
v;E#<#4tKc,[Jvh/#0O]#NyA+uHo4/
5!
#|/HW=#dl##7g{j2#=EfA7O;x2##]/=z#n
]/ nn
ed?_u<{ e<#^t#d%y##O##_D#qJy6K$#uogly{B#n~!
KH/6hn;l#tK
QF,#*vV'W{#uz#+U\u&OU#BKjEa##Q$#[==2T={H#tQ
{+yi"e"c7T\3 b#~_??#Y##
_#G?
v~
##Se5LSv6!
t0MM##}^DH#riTBD^W~NCvg###Fb8;l}`
#dd\#[frZ
#DihC~R?_%2$ )n"V
'[bTw#m#Q77+
}F+Y=#F6#iv]#i~X0n~adm&?
Z##d4 k+#|#GF#Pc{dS4 _#@I$$7##J#%#:NlpX#(
#J~`##'##J#%:!0/
_#$% {qdb#_#$|I#E\#q]##J#
%@##q#
#+#!?f##W0`\#q+A$##]K#Y*nR#!w/#a#O#w

#L#.stu _O #p:k#p{Y
x\###/@
=?
xT #zQ#o8#T#P#[C #X#kdeSSkv

(
#J>#4a#
##a\@I$P#
Ok##Nz!_#q##P6
#FM#_#$|I^Z#cK".$<[9!+|I

P*P
Zg<x>^T#w/muZQ#*2lM6qE#8*A6#dQ {##@s$:rw#=
T1r\|ZL$+ #_@*C{$RenMFQ0#~#h#9E(/ #
^h#6f##}#A4H#2###rk3#6#RY#@G@I,d
%K(YB#PR#Tgf##J#%@I$P#(c0pCf#(Y5#
{Q %,q#
##@I$7W1nJ#@I$P#(Gf##2y@Id8|#%xB##AB@I$Z##(
t#%7L#Qka`6=#z####y##3i#k2#Np#Wqm# AH6#r#+L8<r#3}-iQY#
v 3# rJ#F #NIGv##7G######u<bLk!
>{szFi]e#G#qs#Pp#P#(z^`C##PI#( #J#%@I$PrE1KRYK".B#
#PG%K/
_#$|I%?W#_#$|4,((|v#_# PPjfW#=#S%/ix
pIg G#8@$u,
%l=7D@3D>N9M`{ _A6Dj0yd/##"pZ[Q"#S,^W#:(&^H^
|
Vc{_#e6Wp#^EAMzr2#bKHd###>=/Fn##(IX#a|/HW
=y=e
%O3z^DJ/xI#f$R#v\7&s9#A#aeGuu###@I#X##Kj##
%#l`###$|I%#=2G<7T>#5#4O#_@

dZ#"x#[+2-K/ _r###%###@#
P#_r##J

n##] U A|
7JA##W#+B5#^05#+#W0#B#9#P# z_ =#!
#THo#``6=zL/z}P#A#=j5##h.krYWKO`#*.'U\t.M
ReM%##(=h4:ppioQo#AEB7G:6sbMzD#}d#?#+^
"CR#`#% kDA&
2Q)a%&O#$P2<r#!7q-#JT#p?xM#tC^J#fvG#+#W0&w#j?

=MM###(
=R###Xn0

#J#%I1#%# K".I##sy#L_A#v"k/%#-

#A h#####A#$#vm*M>ba?bdZ#a##8@dJ$
%Q&EO"%y@##KG+\L#Ge@#%)"W GG#TSK3P]:#%#

#deXM?=:Eb#De[1d##Onp##ghF $s"#6~O#
y.yY}uk##% A##q$`v#P (~lo(J#[T
o[d1#\4Ks*##nMHjhq##<#d

#wXxqbSb65 u#^2M.5YV%HJjnb#%##ZPy##o~#uX
#+#<kMX#kI# R#)#S#Z5T#paeHu#P-s:
{##$Zq#;nwj#X#`

#L#"qc%K 1\RN##"^]E^#FF{md

PYz7pE 2#!OK2]1r,{6+#>cdgID}|We#[:YR#
%E_KbRkIobb#?shhLc#
/0k6<t9\T#BS#U###xGM#####PK##########!

#m###########drs/downrev.xmlDj#1##}p
j#E
B#7g$l}F(ro7e###qnu
u
u
# ###<7#LC(EOQA#
KyE#:#5#lK[Di0IZB^*#g &;7l|[#]]#_U+#G#\/
#####PK##-#########!#^########################[Content_Types].xmlPK###########!#8!####################,###_rels/.relsPK##-#########!
#8}###################+###drs/e2oDoc.xmlPK##-#########!
#m#####################A###drs/downrev.xmlPK#############7############# ##

########
#####`###
##s##*##########>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#=##########drs/downrev.xmlDMK#1#E!<]#i #t$1
7t. s9h
S;#Y#\v]us#,&t#w$`##K#nK&,C\,QJi(9"q#r|r

=###n_#]^P8FQY##o`~T#q}5>>#K45:G#M;h(#/4[#_#####PK###########!#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#=########################drs/downrev.xmlPK#############
############
##############d#####################(a)##############
################################# ############################
#####`###
##s##*#########>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#q##########drs/downrev.xmlDMK@#Eax;;#i#!#A#uk%#/fmw.
s9h4;RY###Ie{#_#J"W#,;-#

D#CJ<##3s`1\#<e|^## ya@O

#?#

uU]=yQT#q{3<#K4s<R@6}Pr1Q8_i######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#q########################drs/downrev.xmlPK#############
##########################
c#####################5##############(###################################
############################
#####`###
##s##*#########>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
##################e########
c#####################0##############(###################################
############################
#####`###
##s##*#########>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
############e##############
c#####################0##############(###################################
############################
#### `###
##s##*#########>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
##################>########
c#####################0##############(###################################
############################
####
`###
##s##*#########>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ############>######
#######
c#####################0##############(###################################
############################
#####`###
##s##*#########>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ############
##############
c#####################0##############(###################################
############################
####

`###
##s##*#########>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ###################

#######
c#####################0##############(###################################
############################
####`###
##s##*#########D>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ############

############
c#####################0##############(###################################
############################
#####`###
##s##*#########0>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#9############drs/downrev.xmlDMK0#M#u
E-#oc3m${#;</f7[Mv,rCF:V^@#"B$,#`==`kg
@
Cc!
Dh##Vn$N]xHpk:Eia###j#+co%+
#Mg#d##$$iZ#"
%&K#_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#9##########################drs/downrev.xmlPK#############
############
#############v#####################represents -50 000 000##############
################################# ############################
#####`###
##s##*#########4>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#sx

##########drs/downrev.xmlDN0#EH#k*#]T*P#DHmSX#IbGd6{.#

F##p?T#q,#Vv##`0 l#tb###t19`l#
#}s#Y#M##QS##;]_MQ#f^)*#

%HC>
^d^#HrI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#sx

########################drs/downrev.xmlPK#############
############ ##############c#####################(b)##############
################################# ############################
#####`###
##s##*#########L#A############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#q##########drs/downrev.xmlDMK@#Eax;;#i#!#A#uk%#/fmw.
s9h4;RY###Ie{#_#J"W#,;-#

D#CJ<##3s`1\#<e|^## ya@O

#?#

uU]=yQT#q{3<#K4s<R@6}Pr1Q8_i######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#q########################drs/downrev.xmlPK#############
##########################
c#####################5##############(###################################
############################
#####`###
##s##*#########(>############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
##################e########
c#####################0##############(###################################
############################
#####`###
##s##*###########A############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
############e##############
c#####################0##############(###################################
############################
#####`###
##s##*#########X#A############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
##################>########
c#####################0##############(###################################
############################
#####`###
##s##*##########A############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ############>######
#######
c#####################0##############(###################################
############################
#####`###
##s##*#########,A############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ############
##############
c#####################0##############(###################################
############################
#####`###
##s##*#########4A############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ###################

#######
c#####################0##############(###################################
############################
#####`###
##s##*#########>A############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#R##########drs/downrev.xmlDN0#EH5HC#<B
!E# 5#4$#8M=V#sG6@!#
###k#DL#gR0SlGI#%*#R#K)c;#q:###C/uc;
+Eq#####4P8#oh1~T+uy1=>H4<ZA6}0z1Q8]i######PK##
-#########!#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#R########################drs/downrev.xmlPK#############
############

############
c#####################1##############(###################################
############################
#####`###
##s##*#########HA############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#'Z##########drs/downrev.xmlDMK@#Eax;;"BPP#3

3c{.ty}YmFBT
#N*#x#bB+Q;K#&YhwthR2##

)#d0'#)s#FyQr#==

~5?F~)zUuugZ~

,##I
&#aL#Nl-#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#'Z########################drs/downrev.xmlPK#############
############
#############v#####################represents -49 999 999##############
################################# ############################
#####`###
##s##*#########PSA############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!###########drs/downrev.xmlDMK#1#EBCx#w6.DE
:#i]t#1$.ty}YoGkB
X.
`Z/####I4 "l75_MYX#Pr#[E##r`1#z.#^2#*{nQp#>
?L3\#~T#q;#%#I##+W) t/Wr1Q^i######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#########################drs/downrev.xmlPK############# ############
##############c#####################(c)##############
################################# ############################
#####`###
##s##*#########\A############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
##########################
c#####################9##############(###################################
############################
#####`###
##s##*#########fA############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
##################e########
c#####################9##############(###################################
############################
#####`###
##s##*#########pA############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
############e##############
c#####################9##############(###################################
############################
#####`###
##s##*#########yA############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
##################>########
c#####################9##############(###################################
############################
#####`###
##s##*#########5
A############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
############>###### #######
c#####################9##############(###################################
############################
#####`###
##s##*#########A############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
############
##############
c#####################9##############(###################################
############################
#### `###
##s##*##########A############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
###################

#######
c#####################9##############(###################################
############################
####!`###
##s##*#########lA############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
############

############
c#####################9##############(###################################
############################
####"`###
##s##*#########

A############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#{R##########drs/downrev.xmlDMK@#!n m#!AF=xf'~
MK#;</z;Y#(D "\v
# ##HL#5##YXy,@#
R` S

P# nX]Z#p Jz3
*~TKy}5=C4Xsq.Og%!
tO>h#Nd,Al#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#{R########################drs/downrev.xmlPK#############
############
#############m####################represents -1##############
################################# ############################
#####`###
##s##*#########A############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#L9###########drs/downrev.xmlDMK@#Eax;;RN#A##h#dp>4M}.ty}YoG
@>(g#<2`dk'm#|}##K`!%###nno
Kw###!G#]}y;2#f'y1ErFyAeB=tTV'#){#edNQ)##i?z#I:x%##"%&K######PK###########!#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#L9#########################drs/downrev.xmlPK#############
############ #########*
####c#####################(d)############## #################################
############################
####$`###
##s##*##########A############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
#####################*
####c#####################0##############(###################################
############################
####%`###
##s##*#########A############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
##################e###*
####c#####################0##############(###################################
############################
####&`###
##s##*#########A############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
############e#########*
####c#####################0##############(###################################
############################
####'`###
##s##*#########tA############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK#############
##################>###*
####c#####################0##############(###################################
############################
####(`###
##s##*#########`A############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ############>######
##*
####c#####################0##############(###################################
############################
####)`###
##s##*#########pA############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ############
#########*
####c#####################0##############(###################################
############################
####*`###
##s##*#########<#B############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ###################

##*
####c#####################0##############(###################################
############################
####+`###
##s##*##########B############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ############

#######*
####c#####################0##############(###################################
############################
####,`###
##s##*###########B############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#s=M##########drs/downrev.xmlDMK@#Eax;;#iB#AV3

03w]w#r#hv ##g#0v#v#Xh%jgID#V##mE:v,AlQ@#s#

#u`Lw\z<&|e# i=5##?##ed R#X1^#j##$mJV#"


%&K#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#s=M########################drs/downrev.xmlPK#############
####################*
####l#################

###represents 0############# ###############################


############################
####-`###
##s##*#########T#B############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
############drs/downrev.xmlDMK@#Eax;;"BP4Ewdp>&C#uy}Y#
|P
xdN*
.#fBD+Q;K#F
#
Z,0dtb###t19`l##}S#
#
Y*#: 3#v#](#3-?#B
s`z}-/#) 4+#_.4Y#_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
##########################drs/downrev.xmlPK#############
############ ###*
#####Y#####c#####################(e)##############
################################# ############################
####.`###
##s##*######### B############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ###############*
#####Y#####
c#####################0##############(###################################
############################
####/`###
##s##*#########$*B############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ###############*
##e###Y#####
c#####################0##############(###################################
############################
####0`###
##s##*#########,B############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ############e###*
#####Y#####
c#####################0##############(###################################
############################
####1`###
##s##*#########T=B############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ###############*
##>###Y#####
c#####################0##############(###################################
############################
####2`###
##s##*#########FB############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ############>###*
##
##Y#####
c#####################0##############(###################################
############################
####3`###
##s##*#########PB############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ############
##*
######Y#####
c#####################0##############(###################################
############################
####4`###
##s##*##########ZB############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#H#
##########drs/downrev.xmlDJ#1#E#Jp
h;A#2"N#JHL_o.o\j3Y#v#X#A:=r:###F##a>>ZakR/2c
|)el####sb1R#g5rY##ya@O#_Ul9=yUuueHR'5DS
s #A+&
#F(#.4[\#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#H#
########################drs/downrev.xmlPK############# ################*
##

##Y#####
c#####################0##############(###################################
############################
####5`###
##s##*##########dB############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#R##########drs/downrev.xmlDN0#EH5HC#<B
!E# 5#4$#8M=V#sG6@!#
###k#DL#gR0SlGI#%*#R#K)c;#q:###C/uc;
+Eq#####4P8#oh1~T+uy1=>H4<ZA6}0z1Q8]i######PK##
-#########!#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#R########################drs/downrev.xmlPK#############
############

##*
####Y#####
c#####################1##############(###################################
############################
####6`###
##s##*#########mB############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
###########drs/downrev.xmlDN0#EH5HC#@U##
%EwxX#n=V#sG6D>(g#2`d#'#| '`!%###VKw##!
G#}Cyhz2#fn y1EqFy=p##zF1}[wE#7v
,##y#M
H&tJV#"%&K_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#########################drs/downrev.xmlPK#############
##############*
#####Y#####m####################represents +1##############
################################# ############################
####7`###
##s##*#########\B############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#J4##########drs/downrev.xmlDMK@#Eax;;#"FA#K
%#/f6#]8NF##p(Tv#Q#
D,
)vsyRI###K#0Kc7xplz#

#eS#
#
Eq*#F#n~nW_Y/j!#DS^
##

#
z#I4A=D|######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#J4########################drs/downrev.xmlPK##########################
###Y######

####c#####################(f)############## #################################
############################
####8`###
##s##*#########B############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#
K##########drs/downrev.xmlDMK@#Eax;;i#NXB5#T#dp>&vy}YmF
|P
2`d#'#|#%#J#l
7+,;=##@#}Cyhz2#fn
y1EqFE=r##z#]O}mYYTo*!'`x}^y^^3U
H&nJ1DK2M#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#
K########################drs/downrev.xmlPK#############
###############Y######

####c#####################4##############(###################################
############################
####9`###
##s##*#########B############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
###############Y###e###

####c#####################9##############(###################################
############################
####:`###
##s##*##########B############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
############e###Y######

####c#####################9##############(###################################
############################
####;`###
##s##*#########`B############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
###############Y###>###

####c#####################9##############(###################################
############################
####<`###
##s##*#########LB############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
############>###Y### ##

####c#####################9##############(###################################
############################
####=`###
##s##*#########\B############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
############
##Y#######

####c#####################9##############(###################################
############################
####>`###
##s##*#########B############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
################Y###

##

####c#####################9##############(###################################
############################
####?`###
##s##*#########B############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#!
D############drs/downrev.xmlDj0#EB7!E#N#
)5E0_Ess9`4;#Y##

#Ie[#b

,D#$`##s.vO*,AlQ@#cs#

q`L\z$|ei^;O##?z#eb
Ra##i[zdJ#y#^=HzI######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#!
D##########################drs/downrev.xmlPK#############
############

##Y#####

####c#####################9##############(###################################
############################
####@`###
##s##*#########<B############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!##
##########drs/downrev.xmlD]K@#E e

-M-"#5#h)I#awm
#

H>(g#2`dk'm#|}#wBD+Q;K#F
Ln
Kw;:Ve
bC##Pwd0\O6u#c)M,
{#M##Q[###]MQ#K3/#BN#HC>X#.#*#$eJ0DK2M7#####PK##
-#########!#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!##
########################drs/downrev.xmlPK#############
##############Y######

####v#####################represents +49 999 999##############


################################# #######################7###B#
####A`###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK###############################
####

#####7###B#
####B`###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK###############################
####

#####7###B#
####C`###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK##########################e#####
#e###

#####7###B#
####D`###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK###############################
####

#####7###B#
####E`###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK##########################>#####
#>###

#####7###B#
####F`###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK##########################
#####
##

#####7###B#
####G`###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK################################
#####

#####7###B#
####H`###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK##########################

#####

##

#####7###B#
####I`###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK##########################
#######

#####7###B#
####J`###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK###############################
#########7###B#
####K`###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK###############################
#########7###B#
####L`###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK###############################
#########7###B#
####M`###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK#############################*
####*
#####7###B#
####N`###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK#############################Y##
###Y######7###B#
####O`###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK###############################
#########7###B#
####P`###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK#############################

####

##########
####Q`###
####V########B##########################?
##############R#e#c#t#a#n#g#l#e# #8#7##########u####u###
P#############################
################
################

##############H#####
####T`###

####0################ h############# ###?########


###############
#33#####"############################################
##

0##

########p######"###%d#####&#####(#####
#####d######### ###

######################

#####d###
####L#########D#####################?##############T#e#x#t# #B#o#x#
#2##########L# #c#l####################6###Chapter 1 Intro. to Computers and
the Fortran Language#######7#######
###7#####G##################6###################
######

###################
#####d###
####T#########!D##########################?
##############R#e#c#t#a#n#g#l#e# #3##########u####u###
P#############################
################
################

##############H#####f####
##########F##
####
#####d######C##(######################G#r#o#u#p# #4###3#"

#######*###

##

##############################PK##########!
#^##########[Content_Types].xmlAN0#EH##] tA##*##j2<&i#E,ZQ#y*@2:k}*#da< us}Um##YdCJAk6#N#8A#f#=UYi)!"#^@t#+

S6oQ9J##B#LVM\s#U#ysn#J7U#|
Il2#\PU&<##.#~[m'E;#Vx#####PK##########!#8!
##########_rels/.relsj0


}q # N/k#c#[F232zQ
LZ%R6zP ##T](#
#
##[ j,#ZfLV:*f"N.]m@=

#7Lu##P[i?##T;GI4Ew=}3b9`5YCk#9#o~#e?
zr#####PK##########!#NRxh###F|
######drs/e2oDoc.xml]n6##;#<X88#Q#&{pSgZ~##(:q#=#E =[tH#dQD
M#r8/#)* W\#>#p#0O?jG# %OoxA |
qTge@#>M;z#$<cH#zyea#Dh#3Jz#
s$\}m##W}M~#HZMrO3w NVO#LOf`##T#FNN1uYn4Hg'
L}zx###b;l[XO
O
O
[#VlS#@#F9##YgM}`Nwaca&# p'
O >m6ZwV~~k7W5$`#0:##b#

Y^vUxc+=_#fhn#wme#:cSp ## Ne#aL$>}#hSJs
]}#
%{w###&#&c

\V#!y`#E##C#4 #;W%</;#jG#Yxr*h2

o#3###'###

h/?#,0q<;j}#RIm#30a#8c'

1'>Mw:##`3#Rd&[dm,R#0#"#JEfN#s&BZU:K[#G4##69 t#
,##8zG,#-Fi#ro@eLR&HX
5
#$L#|
}I 5 . (bNTD~S#I1I##
.O":L#Nc2H##(#
BSJ.>`){|B####BGFPf#yh9uL,# *dl h
##^tQ47 X##ImWUo@6#:$#e#4XC#%'iX*6### YBTW5G
#KK/tb#u

;?#

L#
8.#g4*k

tjgSwQwb=#&g?9C=Wr~#)B###e$#-n#5<,W##|F##(#(#
.##dUx##"##g-gz##G<*%t-~#7[#FD#Y#a#a#a#7QwDEYMgn3=#37##jBpv>)
$333g"Dl<#]<##5 g~&i
.{#vA<<#a#a#a#Cp`#3q?
sWp>#Z\Z#]#j#"#\fA#Q#i&L;{#i&L3q######tg#Ei_|
00003L>,>6Z##o#Z#P#P###y&7x<#a#a#arg|3ug###Wn0

#A h##V##A#$#ve9"K$M>ba?Cb)#

\#R$e~TJ+~x#N##SP=vfR#3CV]##I4DZ##J@i7A#Ix4#QR#
%R9vF#AAT4 #I#X.h6\rPGK'Bxb#_njsi5
gQ8sv#P[^#g\#2(JZX=F5#+X###{/
[#8D#&bNGIx]h#b##t#9#jmRZPTR TZZ2>#0WX#M[
##e gX
,#;ku#`p!`tGG
Te#x.q|B#!$#j#_.r#_ty,2{Ef}'e3
#Re;bv{J,.1
d
n2=2Ky#Ee##yd[\#^BRR*b,&9:b\0UYJ+w###HO#'PYX>Bh
mfE>IyGW>i;v=y*dCo#FE

##W#1 ##8+cY?#4#Z#pm\@O#####PK##########!
#\##########drs/downrev.xmlDOk0##?76#R#a
GlKiA;
[+5t +6@| X9&#a>{}bj\#f!#1}
#TJ#&5#CM.Mm

#$Xrl(eA]w##o:#kzob#"P#(#>I##/ gw#####PK##-#########!
#^########################[Content_Types].xmlPK##-#########!#8!
####################,###_rels/.relsPK##-#########!#NRxh###F|
################+###drs/e2oDoc.xmlPK##-#########!#\####################
##drs/downrev.xmlPK###########################F
########
#####d###
##s##*#########+D############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#x###########drs/downrev.xmlDMk@#E#)uR#EBb#wK28#af.
s9`4;#Y#/

#Ie[#]<##"ZY#0Rnt#s#[ 6(9#uG#dS8o0[.=^#h>WnP
aO###z}hi#ax[#43mO3_^Q#) 4#+#_/4Y#_#####PK###########!#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#x#########################drs/downrev.xmlPK#############
##################F########################!###e.g. Storage of (4-bit)
integers:#######"###### ######"#################"#########
############################
#####d###
##s##*#########T6D############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#L3N##########drs/downrev.xmlDMK@#!nA4v[# Hc-6f'~
MK#;</b5Z#(D Y##+:
###HD#V####5wYXy(MO##R`S

P# n]ZquOOk%|}z*#zTIy}5>=B4Noy}.OW%!
/wj).4YX#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#L3N########################drs/downrev.xmlPK#############
##########################d#####################1000##############
################################# ############################
#####d###
##s##*#########8D############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#m###########drs/downrev.xmlD]K@#E#2BVDcE,##ilA$Y #}ss9`
4;#Y#7

#Ie[##Xh%jgIH#V###UlY.><##

S M]XoxLp,AeB==wTTF]Wc|WSJ!&W#HC
# _yFH#
^-H|
I######PK##-#########!#########################[Content_Types].xmlPK###########!#Z,[#########################_rels/.relsPK##-#########!
#m#########################drs/downrev.xmlPK#############
##################F#######b#####################-8##############
################################# ############################
#####d###
##s##*#########ID############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#t9##########drs/downrev.xmlD]K@#E e#_n,(#-U#jJB6f'~
MK##|
lO>(g#\N3`dk'm#|##7BD+Q;K#F
\LNKw#We
bC##Pwd0L]O6u#c!M,#M##Q]##o#
([3+#B#;`|~}+') 4Wr!?^i######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#t9########################drs/downrev.xmlPK###############################
#########d#####################1001##############
################################# ############################
#### d###
##s##*#########RD############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
##`##########drs/downrev.xmlDMK0#!

MAnv#Ez66#L&17A
5bO!N#\
###
^k#1!k4IB#5V#xG6"C8V`LWRn$q<qz#,#
uC[##'##z#j#.n#[6O#5Jw #l#
##da

aL#l-An~#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
##`########################drs/downrev.xmlPK###############################
#F#######b#####################-7##############
################################# ############################
####
d###
##s##*#########\D############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
##Y\##########drs/downrev.xmlDMK@#a#[m#!X"mN>p?&z|#g###
N,#Aw
#Ddt# w`# #snK[ . c#r)c 5#8>X#C+uc[#Yv'-.t8SGOk#M5`,#v^T*u}5>>`#mm|.OVL;z).4Y\#####PK###########!#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
##Y\########################drs/downrev.xmlPK#############
##########################d#####################1110##############
################################# ############################
#####d###
##s##*#########tfD############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#
v##########drs/downrev.xmlDN0#EH5HC##U#jJ#MIbGd6{.#3_#F#
#8T#+#Vv##`c.nT%9
bsC 0q=5#)K#7Ol*#:5##]
(g3-?#B
#`x}^u_^P#R@2iWr!\i######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#
v########################drs/downrev.xmlPK#############
##################F#######b#####################-2##############
################################# ############################
####

d###
##s##*#########<pD############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
############drs/downrev.xmlDj0#EBw,JF
%>Li#M
%,;YGkB

`Z/#|#`1h###EXXJt[:4g#b#TJCyl#Y3?]c

xpk(E6
4
4
4
># z]S-#,./Z#M
&#bL#Nl-#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
##########################drs/downrev.xmlPK#############
##########################d#####################1111##############
################################# ############################
####d###
##s##*#########yD############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#W##########drs/downrev.xmlDMK@#a#[h #F=x#dq?&
#=#L=dWp(@o6WV]\H^##
` >=Yahp/2##

c)ej#r#a$.Dc xpg(C#=

~7?N63-gCRg-#-M##dqF01%fK_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#W########################drs/downrev.xmlPK#############
##################F#######b#####################-1##############
################################# ############################
#####d###
##s##*##########D############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#X##########drs/downrev.xmlD]K0##C8w.uh]6D("cxw
6|$n7B/#g#a#
Q{'
zV##z]/###:
;#0QlGCz!.(@4V8#u>XL9

[./(#YQX#wLm0_]UW#v^j##%#Fw "#dn=#M
%/#####PK##-#########!#########################[Content_Types].xmlPK###########!#Z,[#########################_rels/.relsPK##-#########!
#X########################drs/downrev.xmlPK#############
##########################d#####################0000##############
################################# ############################
#####d###
##s##*#########lD############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#'E##########drs/downrev.xmlDMK@#Eax;;i#"#AK
%#03IC#8\F=#0e6N* #w#BD+Q;K#&
^]_-1`b###1#9`lZ#}C##Yv*#z#hS[## ,#
# |WT
q{3>?#4K}<b}.O7) SbOd,#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#'E########################drs/downrev.xmlPK#############
##################F#######a#####################0##############
################################# ############################
#####d###
##s##*#########XD############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#3###########drs/downrev.xmlDMK@#Eax;;#i)BP vK%#03I
.
s9l4#U#l #Xh%jgIB#v *v,AlQ@#s#

#u`Lw\z<'|e# i^zj~#8~j#>EY<u#f?
#4>NcW^PoR@2i_+y#_.4Y######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#3#########################drs/downrev.xmlPK#############
##########################d#####################0001##############
################################# ############################
#####d###
##s##*#########D############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#{;##########drs/downrev.xmlD[K@##2ovcAm#!
AF[mN.;6wC}<s65@!)^d ^UQ\N##a>?[at# b
:!2#Y#?K]EN1R####
[iwi:
_`n ##eqokOR###g
T#Q/ZA2i-Fp$d r#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#{;########################drs/downrev.xmlPK###############################
#F#######b#####################+1##############
################################# ############################
#####d###
##s##*#########D############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#NL##########drs/downrev.xmlDMK@#Eax;;#"B#A#uk
%#/f4#]}q.gf##p(mT#Y Vv##aZc)ilR2##

)#d0.'#)s#FeQ<p#=

4Fn,7E#7#DS<z<vR@6^cPr1Q8_i######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#NL########################drs/downrev.xmlPK###############################
####
####d#####################0010##############
################################# ############################
#####d###
##s##*#########D############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#O/Kk##########drs/downrev.xmlDMK0#E!<]:#d##Z#0k#GMbY\z;YF
Q{'zQ##z]/###:;#0Sl#I=##K#R#Jcb\\:#,#CeC[Eqj###n~We0]UWwvY?kW#Mg #I
&#aL#l-o#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#O/Kk########################drs/downrev.xmlPK#############
##################F##
####b#####################+2##############
################################# ############################
#####d###
##s##*#########D############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#t############drs/downrev.xmlDMK@#Eax;;I#"P4#wK2t>&vy}YF
|
P
g#0v#
Xh%jgID#V## uXP><4=#

37M]XxJp<#AeB##?#KS#O[V W#*!#`x}a]3]
H&fJn1DK2M######PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#t##########################drs/downrev.xmlPK#############
###############
#####
####d#####################0111############## #################################
############################
#####d###
##s##*#########4D############################"######PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!#
##########drs/downrev.xmlDMK@#Eax;;i#RcE
#
d|MC#>,VD>(g#L'#0###Xh%jgIH#V#
NUlY .><##

#M]XoxNp,AeB=;#pjojx0UQ)#,#?
y##L+#_.4Y#_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!#
########################drs/downrev.xmlPK#############
###############
##F##
####b#####################+7############## #################################
#######################7###B#
#####d###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK###############################
####
#####7###B#
#####d###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK###############################
#F########7###B#
#####d###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK###############################
#F########7###B#
#####d###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK###############################
#F########7###B#
#####d###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK###############################
#F########7###B#
#####d###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK###############################
#F########7###B#
#####d###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK###############################
#F########7###B#
#####d###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK###############################
#F########7###B#
#####d###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK#############################
##F##
#####7###B#
#####d###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK###############################
####
#####7###B#
#### d###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK##########################F
#####F##
#####7###B#
####!d###
##c##$###################1##############"######@####PK##########!
###########[Content_Types].xml|N0

HC+jS8 @####:Q# ??\o#<7p]V# O#(I#'##6E=##,


){4>#I)q###7UuD)}nL"M###&g0eSA)2';2
WY#u7{zq#Frj9K#*(]mOl#####PK##########!#Z,
[###########_rels/.relslj0

#``t_P[>,dgzj?
I'f#P#b-\/#0Z]#nL#np#__3.iJV#K#QBirL,V/7##4
`ANa#r+m#;E/<sBS1w>#'3U#A#v#83/#####PK##########!
#gv###########drs/downrev.xmlDAo0

#"Om#B@v, n1i#Bv|~fwL1<
Pu-;##T#dJ
##6\:;%#N%#hrKS 4
=x#=fi#"p#k-#{zkYP#<>

SP#^Y#qy=V2DI1_#####PK##-#########!
#########################[Content_Types].xmlPK##-#########!#Z,
[#########################_rels/.relsPK##-#########!
#gv#########################drs/downrev.xmlPK#############################
##F##
##########
####"d###
####P########D#####################?##############R#e#c#t#a#n#g#l#e#
#3#7###########

#W#z########################When using the binary system, the effect is that


if the first binary digit (or bit) is a one then the number is negative,
while if it is zero the number is positive.###,##########
###Q####################U######################### ######

##############H#####
####%d###

####0################ h############# ###?########


###############
#33#####"############################################
###

0##

#B######:##############h###########(##### ######################
#####h###############
#####h###
####H########$+K################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################K###############
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7############~#####
#####h###
####H########T0K################?##############R#e#c#t#a#n#g#l#e#
#3###########
#`######`############K####<######4##########_#_#_#P#P#T#9###############
#############################################X###T#w#o# #o#t#h#e#r#
#n#u#m#b#e#r# #s#y#s#t#e#m#s# #t#h#a#t# #a#r#e# #a#l#s#o# #u#s#e#f#u#l# #a#r#e#
#o#c#t#a#l# #(#b#a#s#e# #8#)# #a#n#d# #h#e#x#a#d#e#c#i#m#a#l# #(#b#a#s#e# #1#6#)#.#
#T#a#b#l#e# #1#-#1# #s#h#o#w#s# #t#h#e# #c#o#n#v#e#r#s#i#o#n# #b#e#t#w#e#e#n#
#t#h#e#s#e# #s#y#s#t#e#m#s# #f#o#r# #t#h#e# #d#e#c#i#m#a#l#s#:# #0#,#1#,# #&
,#1#5##############################
###############H#####
#####h###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"################6###############################

0##

#####################l#####&######(##### ######################
#####l###############
#####l###
####H########XNK################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################K###############
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7#################
#####l###
####H########dWK################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################K###############
6####################Types of DataThree common types of data are stored in a
computer's memory: character, integer, realEach type has unique characteristics and
takes up a different amount of memory.###T######################?#######
##########################################P##########
###############H#####
#####l###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"################*###############################

0##

#####################p############(##### ######################
#####p###############
#####p###
####H########PdK################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################K###############
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7#################
#####p###
####H########@bK################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################K###############
*####################Character DataA typical system for representing character
data may include the following:Letters: A through Z and a through zDigits (0, 1, 2,
3, 4, 5, 6, 7, 8, 9)Miscellaneous symbols, e.g. (", ', ?, ., <, >, =, %, &)
#####################################
###############H#####
#####p###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"################E###############################

0##

#####################t#####5######(##### ######################
#####t###############
#####t###
####H########yK################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################K###############
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7#################
#####t###
####H########|}K################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################K###############
E####################In the past, it has been common to use just one byte of
memory to represent a maximum of 256 characters (ASCII). To represent characters
found in many languages, one can use use 2 bytes of memory which allows 65,536
possible characters (Unicode). ######################################
###############H#####
#####t###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"###############################################

0##

#####################x#####v######(##### ######################
#####x###############
#####x###
####H########K################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################K###############
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7############"#####
#####x###
####H########K################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################K###############
#################.###Integer DataInteger data ( e.g. -1, -355, 0, 1993) are
represented exactly on computers. However, only a finite number can be stored. Most
machines will use 4 bytes of memory to represent integers. Smallest n-bit
integer: -2^(n-1)Largest n-bit integer: 2^(n-1) - 1e.g. n=32 for 4-byte
numbers.###*###/###########

###############################
###/############H#####
#####x###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"################~###############################

0##

#####################|#####n######(##### ######################
#####|###############
#####|###
####H#########M################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################M###############
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7##################
#####|###
####H#########&M################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################M###############
~#################*###With 4 bytes of memory we can represent numbers in the
approx. range [-2.15*billion, 2.15*billion].Outside this range we get arithmetic
overflow.Integer data limitations: (1) No fractional parts.(2) It is not possible
to represent very large positive integers or very small negative integers.
###&###+#####################################
###+############H#####
#####|###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"################X###############################

0##

##########################H######(##### ######################
####################
########
####H########5M################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################M###############
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7#################
########
####H########BM################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################M###############
X####################Real DataThe real data type stores numbers in a format
similar to scientific notation.For example, the speed of light in a vacuum is about
299,800,000 meters per second. The number in scientific notation would be 2.998 *
10^8 (m/s) meters per second.##################
##################
###########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"###############################################

0##

#I######A#########################(##### ######################
####################
########
####H########JM################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################M###############
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7#################
########
####H########OM################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################M###############
#################o###A format similar to scientific notation will be used to
represent real numbers in FORTRAN.Real numbers occupy 4 bytes of memory. These 4
bytes will be divided as follows: 3 byte for the fraction (or mantissa) 1 byte
exponentThe mantissa will be a number between -1 and 1.The exponent will contain
the power of 2 required to scale the number to its actual
value.###L###p###########Z##################################
#######
##################
###p############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"################

##############################

0##

#################

################(#####
######################
####################
#########
####N########gM#####################?##############R#e#c#t#a#n#g#l#e#
#7#############T######################l###Integer numbers are stored in the
computer as they are (e.g. 1321 ). The real numbers are converted. Consider any
non-zero real number as a fraction lying between 0.1 and 1.0, called the mantissa,
which is multiplied or divided by 10 a certain number of times, where this number
is called the exponent. e.g. 17877.0 (in fraction, base=10 form): 0.17877x10^5
###`###l#######
#################################c####################:#########################
###########m######### ######

##############!###

#########
####H########iM################?##############T#e#x#t# #B#o#x#
#1#1##########J# #S#m####################1###
Summary: Numbers represented
on the computers###(###2#######
#################.####################1################### ######

###################
#########
####V########M##########################?
##############R#e#c#t#a#n#g#l#e# #1#5#################
P#############################
################
################

###################
#########
####V########$M##########################?
##############R#e#c#t#a#n#g#l#e# #1#7########## d##

##h######################### ###########
######################################## ######

##############-######z##### ##########p###
####
############C##,######################G#r#o#u#p#
#2#0#1#####"##################
####~####
#########
##c##:####A###############?#####?###########O#b#j#e#c#t#
#1#4##########2###############

#################v###B#
#### ###
####F################################?##############L#i#n#e#
#1#2##########

###q############v###B#
####
###
####F################################?##############L#i#n#e#
#1#3#############&##################
#########
####P########M#####################?##############R#e#c#t#a#n#g#l#e#
#1#6##########:###m###p###M #####################

###

exponent###4###

#######
###########################################################

######

####################
####

####
####P########M#####################?##############R#e#c#t#a#n#g#l#e#
#1#8####################
#####################
###mantissa###4###
#######
##################################################
#########
######

###################
#########
####P#########M#####################?##############R#e#c#t#a#n#g#l#e#
#1#9###########

#)########################The same technique as was used for integers to


distinguish positive and
negative numbers will be used for both the mantissa
and the exponent.###,##########
###p#################### ######################### ######

##############H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####h# ###"###############################################

0##

#&#################################(##### ######################
####################
########
####H########HM################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################M###############
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7############b#####
########
####H########(M################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################M###############
#################`###Precision and RangePrecision refers to the number of
significant digits that can be preserved in a number (on a computer).Based on the
number of bits (or bytes) in the mantissa,3 byte mantissa gives about 7 significant
digits (between 1.0 and -1.0) e.g. 12345678.4 is stored as 12345678.0. The
difference (i.e. 0.4) is called the round-off error.
###8###a######################;#################################
###a############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"################9###############################

0##

########## ################)######(##### ######################


####################
########
####H########PM################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################M###############
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7#################
########
####H#########M################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################M###############
9####################Range is the difference between the largest and smallest
numbers that can be represented.The number of bits in the exponent e.g. 1-byte
exponent (with the 3-byte mantissa) allows a range of approximately 10^-38 to 10^38
(i.e. [10^-38 , 10^38] )############################
###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"###############################################

0##

##########0######################(##### ######################
####################
########
####H#########Y################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################M###############
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7############7#####
########
####H########<#Y################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################Y###############
#################Y###Evolution of Fortran:Fortran I: Fig. 1-5Fortran 77: Fig. 16Fortran 90/2003: Fig 1-7#######Z###########Z##########
###Z############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"###############################################

0##

############@######################(##### ######################
####################
########
####H#########Y################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################Y###############
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7############X#####
########
####H#########Y################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################Y###############
#################f###Recommended Problems (not to be handed in) Page 12 , Quiz 1
(answers are on the back):
1(a),2(a),6,7###(###Y#####################+########<##########
###g############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"################^###############################

0##

##########P################N######(##### ######################
###################
########
####@#########Y################?##############T#i#t#l#e# #5##########
##2################Y###_#####################
CHAPTER
2###############
#################
################'#####
########
####\########)Y#####################?#####&########T#e#x#t#
#P#l#a#c#e#h#o#l#d#e#r# #6##########'###
################Y########################
CS1073###$###$#######
#######################(####
###$#########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#######"###############################################

0##

#m######e###`######################(##### ######################
###################
########
####H########5Y################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################Y###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
########
####H########4:Y################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################Y###7#################3###2.2 The
Fortran Character Set (Table 2-1)The following are valid in a Fortran 90/95
program:alpha-numeric: a-z, A-Z, 0-9, and _ (the underscore);arithmetic symbols:
+, -, *, /, **miscellaneous symbols: e.g.
,
comma
.
decimal point
<
less than etc######4###########P###########
%##########5###################)#########
####################################################-#########

############################### #################################
###4########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################################################

0##

#o######g###p######################(##### ######################
###################
########
####H########bY################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################Y###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
########
####H#########gY################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################Y###9####################2.3
Structure of a FORTRAN StatementA program consists of a series of statements
designed to accomplish the goal to be accomplished.There are two basic types of
statements:Executable statements describe the actions taken by the program
(additions, subtractions, multiplications, divisions).Non-executable statements
provide information necessary for proper operation of the program.
###z################################### ####################
##########^####################b####################E############
###########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################o###############################

0##

##########################_######(##### ######################
###################
########
####H########DjY################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################Y###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%############)#####
########
####H########Y################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################Y####################?###Rules on
Fortran statements:Each line may be up to 132 characters long.A statement too long
to fit in a single line may be continued on the next line by ending the current
line with an & (ampersand). e. g. output = input1 + input2
! sum the inputs
output = input1 &
! Also, sum the inputs
+ input2
#######@###############################
###@########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

#Y######Q#########################(##### ######################
###################
########
####H########tY################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################Y###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
########
####H########,Y################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################Y########################The above
two statements are equivalent.Commenting your code is very important. To comment
in FORTRAN, one uses the exclamation point (!).All comments after the ! are ignored
by the compiler###&##############)#######
##################
###########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

#$################################(##### ######################
###################
########
####H########Y################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################Y###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%############~#####
########
####H########\Y################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################Y#######################One can
use labels in some statements.A label can be any number between 1 and 99999.
Statement labels are less common in modern
FORTRAN.###&###############################y##########
###########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################3###############################

0##

#################################(##### ######################
###################
########
####H########Y################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################Y###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
########
####H########Y################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################Y###]####################2.4
Structure of a FORTRAN ProgramA FORTRAN program can be divided into three sections:
Declarations - This section consists of a group of non-executable statements at the
start of the program.Execution - This section consists of one or more statements
describing the actions to be performed by the program.Termination - This section
consists of a statement (or statements) telling the computer to stop/end running
the program.###r##############P#"##########7#########

#####################]######### ##########j####################o############
###########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

#1######)#########################(##### ######################
###################
########
####H#########Y################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################Y###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
########
####H########<#l################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################Y#######################The program
(in Fig. 2-1) reads two numbers as input, multiplies them, and prints out the
result PROGRAM my_first_program ! Purpose: !
To illustrate some of the basic
features of a Fortran program.!! Declare the variables used in this program.INTEGER
:: i, j, k
! All variables are integers! Get two values to store in
variables i and jWRITE (*,*) 'Enter the numbers to multiply: 'READ (*,*) i, j
##################Z#############
###########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

#################################(##### ######################
###################
########
####H########`#l################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################l###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%############o#####
########
####H#########l################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################l#######################! Multiply
the numbers togetherk = i * j ! Write out the result.WRITE (*,*) 'Result = ', k !
Finish up.STOPEND PROGRAM my_first_program############################
###########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

#0######(#########################(##### ######################
###################
########
####H########d*l################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################l###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
########
####H########0.l################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################l#######################Discussion
of Program AboveThe first statement of this program begins with the word PROGRAM.
This is a non-executable statement that specifies the name of the program to the
FORTRAN compiler.The name may be up to 31 characters long and be any combination of
alphabetic characters, digits, and the underscore.The first character must be a
letter.The PROGRAM statement must be the first line of the
program.###$##############P########################
###########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

################################(##### ######################
###################
########
####H########Bl################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################l###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%############O#####
########
####H########tNl################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################l####################a###The
Declaration SectionThis section begins with a comment stating that variable
declarations are to follow.The declaration begins with the data type (INTEGER)
followed by two colons and then the variable name.A comment follows the variable
name. Every variable must be commented as to its purpose in the program.These
statements are non-executable.###"###b######################J############
###b########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

########
##########################(#####
######################
###################
########
####H########]l################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################l###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%############k#####
########
####H########`dl################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################l####################}###The
Execution SectionThe first statement in this section is the WRITE statement that
tells the user to enter the input.The second statement will read the input and
assign the values to the corresponding variables.The third statement multiplies the
two variables and the product is assigned to a third variable. The last executable
statement prints the product to the
screen.###"###~######################h############
###~########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################
###############################

0##

#j######b##########################(##### ######################
###################
########
####H#########~l################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################l###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
########
####H########4l################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################l###4####################The
Termination SectionThe STOP statement tells the computer to stop running the
program.The use of the STOP command is optional here. The END PROGRAM statement
informs the compiler that no more statements exist.
#####################################
###########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

#[######S### ######################(##### ######################


###################
########
####H#########l################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################l###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
########
####H########Xl################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################l###%####################Compiling
and Executing the FORTRAN ProgramBefore a program can be run (executed) it must be
compiled into an executable program.In this process the code may also be linked to
various system libraries.##################+##################
###########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################[###############################

0##

##########0################K######(##### ######################
###################
########
####H########l################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################l###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%##################
########
####H########dl################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################l########################2.5
Constants and VariablesA constant is a data object that is defined before a program
is executed and it does/can not change during the execution of the program.
Constants are used in developing a good/correct
programs in solving math problems
(e.g. the circle constant
PI ).###0###################################################
############################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################"###############################

0##

#######z###@#######################(##### ######################
###################
########
####H########8l################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################l###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
########
####H########l################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################l###L####################A variable
is a data object that can change value during the execution of a program.Referring
to the sample program above:The data objects i,j,k are variables.Each variable (or
constant) must have a unique name inside the program.
###&#########################################
###########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

##########P################v######(##### ######################
###################
########
####H########l################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################l###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%############@#####
########
####H########hl################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################l####################D###The names
may contain up to 31 characters and any combination of alphabetic characters,
digits, and the underscore. The first character must always be alphabetic.The name
we assign a variable (or constant) should be meaningful in terms of the purpose
that it is used to solve the problem (e.g.time, distance, grade etc).
###0######################################E##########
###E########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################################################

0##

#d######\###`######################(##### ######################
###################
########
####H########l################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################l###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
########
####H##########w################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################l###.####################2.5.1 2.5.3 Types of DataThere are five intrinsic (or "built-in") types of data: Integer
RealCharacterThere are two other intrinsic types that will be introduced later
(Logical, Complex).###0############################### ##################
###########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################"###############################

0##

#######z###p#######################(##### ######################
###################
########
####H##########w################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################w###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
########
####H##########w################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################w###L####################Integers
Integers are numbers without a decimal point. e.g. -999 , +17, 1234 (not allowed:
1,234 , +17. )No commas may be embedded within an integer constant.If the number is
positive, the sign + is optional, but the - is required to for negative.Integer
variables contain the value of an integer data type. There is a maximum and a
minimum value that an integer can take. The range is determined by how much memory
is (in terms of no. of bytes) given to a variable of the integer
type.###$##############P#
######################
###########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################4###############################

0##

##########################$######(##### ######################
###################
########
####H######## l################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################w###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
########
####H########$4w################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################l###^####################Real
NumbersReal (or floating-point) numbers represent values with a fraction. Real
constants can be written with or without an exponent.e.g. 10. , -999.9, 1.0E-3
(i.e. 0.001 or .001 ) Not allowed: 1,000. , 111E3, -12.0E1.5, 1.0x 10^-3
###0##############

#######################(##########
###########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################Z###############################

0##

##########################J######(##### ######################
###################
########
####H########Cw################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################w###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%##################
########
####H########LNw################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################w####################4###The mantissa
should contain a decimal point. A real variable is a variable that contains the
value of a real data type. There is a maximum and a minimum value that a real
var/constant can take. The range is determined by how much memory is (in terms of
no. of bytes) given to a variable of the real type.#######5###########5##########
###5########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################T###############################

0##

##########################D######(##### ######################
###################
########
####H########^w################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################w###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%##################
########
####H########fw################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################w###
~#################$###C#h#a#r#a#c#t#e#r#s##A# #c#h#a#r#a#c#t#e#r#
#c#o#n#s#t#a#n#t# #i#s# #a# #s#t#r#i#n#g# #o#f# #c#h#a#r#a#c#t#e#r#s#
#e#n#c#l#o#s#e#d# #i#n# #a# #s#i#n#g#l#e# #o#r# #d#o#u#b#l#e# #q#u#o#t#e#s#.#
#A#n#y# #c#h#a#r#a#c#t#e#r#s# #r#e#p#r#e#s#e#n#t#a#b#l#e# #o#n# #a#
#c#o#m#p#u#t#e#r# #(#n#o#t# #j#u#s#t# #t#h#e# #F#o#r#t#r#a#n#
#c#h#a#r#a#c#t#e#r#s#)# #a#r#e# #l#e#g#a#l# #i#n# #a# #c#h#a#r#a#c#t#e#r#
#c#o#n#t#e#x#t# #(#i#.#e#.# #i#f# #e#n#c#l#o#s#e#d# # #i#n# #q#u#o#t#e#s#)#.#
#e#.#g#.# ## t#h#i#s# #i#s## ,# ## ## ,# ## [#^#]## ,# ## 3#.#1#3#4#5##
###################
########
##########
############################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################6###############################

0##

##########################&######(##### ######################
###################
########
####H########|w################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################~###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
########
####H########0>~################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################~###
`#####################M#i#s#m#a#t#c#h#i#n#g# #o#r# #u#s#i#n#g# #a#n# #o#d#d#
#n#u#m#b#e#r# #o#f# #q#u#o#t#e#s# #a#r#e# #c#o#m#m#o#n# #m#i#s#t#a#k#e#s# #i#n#
#p#r#o#g#r#a#m#m#i#n#g#.##e#.#g#.# #n#o#t# #c#o#r#r#e#c#t# #c#h#a#r#a#c#t#e#r#:# ##
t#h#i#s# #i#s# # #,# ## t#h#i#s# #i#s## #A# #c#h#a#r#a#c#t#e#r# #v#a#r#i#a#b#l#e#
#i#s# #a# #v#a#r#i#a#b#l#e# #c#o#n#t#a#i#n#i#n#g# #a# #v#a#l#u#e# #o#f# #
#c#h#a#r#a#c#t#e#r# #d#a#t#a# #t#y#p#e#.# #e#.#g#.# #c# #=# ## t#h#i#s# #i#s##
#C#h#a#r#a#c#t#e#r# #v#a#r#i#a#b#l#e#s#/#c#o#n#s#t#a#n#t#s# #w#i#t#h# #m#o#r#e#
#t#h#a#n# #o#n#e# #c#h#a#r#a#c#t#e#r# #a#r#e# #o#f#t#e#n# #r#e#f#e#r#r#e#d# #t#o#
#a#s# #s#t#r#i#n#g#s#.##T#h#e# #c#h#a#r#a#c#t#e#r# #c#o#n#s#t#a#n#t# #'#8#'# #i#s#
#d#i#f#f#e#r#e#n#t# #f#r#o#m# #t#h#e# #i#n#t#e#g#e#r# #c#o#n#s#t#a#n#t# #8#.#
###################Z###########
###########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

################################(##### ######################
###################
########
####H########B~################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################~###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%############J#####
########
####H########<I~################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################~####################^###2.5.4, 2.10
Variables and the IMPLICIT NONEChecking a constant (e.g.7, 3.14156, 'John'), it is
easy to determine which type it may be. However, for a variable, we must assign a
type to that variable. Assigning a type reserves the memory needed to store the
data expected (e.g.4 bytes for: 7 , 3.14156 and
2 bytes/letter for:
'John'). ### ###_###########Z#,########3##########
###_########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################z###############################

0##

##########################j######(##### ######################
###################
########
####H########^~################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################~###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%############4#####
########
####H########0b~################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################~########################T#h#e#r#e#
#i#s# #a# #d#e#f#a#u#l#t# #t#y#p#e# #g#i#v#e#n# #t#o# #a#l#l# #v#a#r#i#a#b#l#e#s#
#f#o#r# #w#h#i#c#h# #a# #t#y#p#e# #i#s# #n#o#t# #e#x#p#l#i#c#i#t#l#y#
#g#i#v#e#n#.##T#h#i#s# #i#s# #u#s#e#d# #i#n# #F#o#r#t#r#a#n# #v#e#r#s#i#o#n#s#
#b#e#f#o#r#e# #F#o#r#t#r#a#n# #9#0#.# #I#n# #t#h#i#s# #c#a#s#e#,# #t#h#e#
#f#i#r#s#t# #l#e#t#t#e#r# #o#f# #t#h#e# #n#a#m#e#s# #o#f# #v#a#r#i#a#b#l#e#s# #o#r#
#c#o#n#s#t#a#n#t#s# #d#e#t#e#r#m#i#n#e#s# #t#h#e# #t#y#p#e#.# ##P#r#i#o#r# #t#o#
#F#o#r#t#r#a#n# #9#0#:# # #V#a#r#/#c#o#n#s#t# #n#a#m#e#s# #w#i#t#h# #l#e#t#t#e#r#s#
#i#,#j#,#k#,#l#,#m#,#n# #a#s# #f#i#r#s#t# #l#e#t#t#e#r# #i#m#p#l#y# #I#N#T#E#G#E#R#
#,# #w#h#e#r#e# #a#s# #t#h#e# #r#e#s#t# #o#f# #t#h#e# #l#e#t#t#e#r#s# #i#m#p#l#y#
#R#E#A#L#.# ##N#o#t#e#:# # #F#o#r#t#r#a#n# #u#p#p#e#r#/#l#o#w#e#r# #c#a#s#e# #i#s#
#t#h#e# #s#a#m#e#.# #W#e# #u#s#e# #l#o#w#e#r# #c#a#s#e# #f#o#r# #v#a#r## s#
#n#a#m#e#s# #e#.#g#.# #i#,# #x#,# #c##a#n#d# #u#p#p#e#r# #c#a#s#e# #f#o#r# #k#e#y##w#o#r#d#s# #(#e#.#g#.# #R#E#A#D#(#*#,#*#)#,# #S#T#O#P#)#.#
####Z###############Z###########
##############################w################################
############################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################################################

0##

#x######p##########################(##### ######################
###################
########
####H########(}~################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################~###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
########
####H########~################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################~###B####################In Fortran
90/95, 2003 we declare the type of The REAL, INTEGER for all var/constants e.g.
INTEGER :: heightREAL :: secondThe IMPLICIT NONE used after the keyword PROGRAM
means that we must specify a type for each variable you declare.
############################
###########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

#!#################################(##### ######################
####################
#########
####H########l~################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################~###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%############{#####
#########
####H########~################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################~#######################e.g.
PROGRAM test_1i=123time =10.0
! Here time i is time is REAL typeORPROGRAM test_1
IMPLICIT NONEINTEGER :: iREAL :: time i=123time=10.0
##################Z#############
###########################H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################A###############################

0##

############################1######(##### ######################
####################
#########
####H########~################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################~###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#########
####H########~################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################~###k#################
###Character
types are declared similarly, e.g. CHARACTER(len=5) :: nameThe above will declare a
variable called name that can be up to 5 characters long. If the (len = ) is
omitted, the length is assumed to be 1.An alternative is e.g.CHARACTER(20) ::
last_name###&###
###########p##########################
###
########################H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

##################################(##### ######################
####################
#########
####H########~################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################~###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%############P#####
#########
####H########P~################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################~####################L###2#.#5#.#5#
#K#e#e#p#i#n#g# #C#o#n#s#t#a#n#t#s#,# #C#o#n#s#i#s#t#e#n#t##I#f# #w#e# #n#e#e#d#
#a# #n#a#m#e#d# #c#o#n#s#t#a#n#t# #i#n# #o#u#r# #p#r#o#g#r#a#m# #e#.#g#.#
#c#i#r#c#l#e#:# #P#I# #=# #3#.#1#4#1#5#9#3# ##W#e# #d#e#c#l#a#r#e# #a#
#c#o#n#s#t#a#n#t# #i#n# #F#O#R#T#R#A#N# #u#s#i#n#g# #t#h#e# #P#A#R#A#M#E#T#E#R#
#a#f#t#e#r# #t#h#e# #t#y#p#e#.# #e#.#g##I#N#T#E#G#E#R#,# #P#A#R#A#M#E#T#E#R# #:#:#
#n#u#m#=# #8#0##R#E#A#L#,# #P#A#R#A#M#E#T#E#R# #:#:# #P#I# #=# #3#.#1#4#1#5#9#3#
#C#H#A#R#A#C#T#E#R#(#l#e#n# #=# #7#)# #,# #P#A#R#A#M#E#T#E#R# #:#:# #E#R#R#O#R#=#
## e#r#r#o#r# #1##
####8###'########################################################
###'########################H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################'###############################

0##

########## ###########

############(#####
#####

######################

##############
#####

###
####H########~################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################~###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#####

###
####H#########~################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################~###Q####################2.6
Assignment Statements and Arithmetic CalculationsAn assignment statement calculates
a Math-expression on the right of the equal sign and assigns it to the variable on
the left of the equal sign.variable_name = expression/valuee.g. i =
i+1##################5##################
###########################H#####
#####

###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################################################

0##

#######w###0########################(##### ######################
####################
#########
####H########x~################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################~###f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#########
####H########h#################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################~###I####################Binary
Operators (+, -, *, /, **)We can use the arithmetic operators above to program
calculations.x = 3 + 4y = a*bz = radius ** 2The values (expressions) are resolved
and assigned to the variables on the left.##################!
##################"###d###################

###Q########################H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################

###############################

0##

#l######d###@#######################(##### ######################
####################
#########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################6####################Unary
OperatorsUnary operators (just a single operand) , but the negate operator is one
that is most common.x = +2x = -aHere, take the value on the right, apply the
operator and assign it to the variable on the
left.#####################################
###########################H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################b###############################

0##

##########P#################R######(##### ######################
####################
#########
####H#########'################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%##################
#########
####H########8################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################<###Arithmetic
rules in FORTRAN:No two operators can occur side by side. e. g.
x = a * -b is
illegal. x = a * (-b) is allowed.Implied multiplication is illegal e. g. x = yz
instead: x = y * z, is legal. Parentheses can be used to enforce precedence in an
expression. e. g. 2**((8+2)/5) = 2**(10/5)= 2**2 =4#######=###########=##########
###=########################H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################################################

0##

#n######f###`#######################(##### ######################
####################
#########
####H########?################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#########
####H########H################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################8####################2.6.1
Integer ArithmeticInteger arithmetic involves only integer data.Integer arithmetic
always produces an integer result.With division, the fractional part is truncated
by the computer. e.g. 7/4 =1 , 4/4 =1 , 3/4 =
0#####################################
###########################H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

#N######F###p########### ###########(##### ######################


##### ##############
##### ###
####H########pW################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
##### ###
####H########lX################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###########################################Integers
should never be used to calculate real-world quantities, such as distance, speed,
or time. Integers should only be used for things that are intrinsically integer in
nature, such as counters.############################
###########################H#####
##### ###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################0###############################

0##

#####################$##### ######(##### ######################


#####$##############
#####$###
####H########n################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#####$###
####H########t################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################Z####################2.6.2 Real
ArithmeticReal (or floating-point) arithmetic involves real data.e.g. 7./4.
=1.75 , 4./4. =1. , 3./4. = 0.751./3. = 0.3333333Note: 3.*(1./3.) is not equal to
1. (on some computers) But: 2.*(1./2.) = 1.
###B#######################x################4###########################
###########################H#####
#####$###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################4###############################

0##

#####################(#####$######(##### ######################
#####(##############
#####(###
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#####(###
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################^####################2#.#6#.#3#
#H#i#e#r#a#r#c#h#y# #o#f# #o#p#e#r#a#t#i#o#n#s##1#.# #C#o#n#t#e#n#t#s# #o#f# ## (#
#)## #a#r#e# #e#v#a#l#u#a#t#e#d# #f#i#r#s#t#,# #s#t#a#r#t#i#n#g# #f#r#o#m# #t#h#e#
#i#n#n#e#r#m#o#s#t# #a#n#d# #g#o#i#n#g# #o#u#t#w#a#r#d#.# ##2#.#
#E#x#p#o#n#e#n#t#i#a#l#s# #a#r#e# #e#v#a#l#u#a#t#e#d#,# #f#r#o#m# #r#i#g#h#t# #t#o#
#l#e#f#t#.##3#.# #M#u#l#t#i#p#l#i#e#s#/#d#i#v#i#d#e#s# #a#r#e#
#e#v#a#l#u#a#t#e#d#,# #f#r#o#m# #l#e#f#t# #t#o# #r#i#g#h#t#.##4#.#
#A#d#d#s#/#s#u#b#t#r#a#c#t#s# #a#r#e# #e#v#a#l#u#a#t#e#d#,# #f#r#o#m# #l#e#f#t#
#t#o# #r#i#g#h#t#.##e#.#g#.#
#a#=#3#.#,#b#=#2#.#,#c#=#5#.#,#d#=#4#.#,#e#=#1#0#.#,#f#=#2#.#,#g#=#3#.## # # # # #
# #o#u#t#p#u#t# #=#a#*#b#+#c#*#d#+#e#/#(#f#*#*#g#*#*#1#)## # # # # # #
#o#u#t#p#u#t# #=# #& #=# #2#7#.#2#5#
####$##############Z############b############
###########################H#####
#####(###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

#######################,###########(##### ######################
#####,##############
#####,###
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%############w#####
#####,###
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##########################################2.6.4
Mixed-Mode ArithmeticInteger arithmetic result is an integer.Real numbers
arithmetic result is a real number.What if we mix real/integers ?In memory, the
integer and real number are stored differently. So, the machine must first convert
the integer into its real number equivalent before performing an operation. This
conversion will allow real number arithmetic to be
performed.###"#########################o############
###########################H#####
#####,###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

#9######1##############0###########(##### ######################
#####0##############
#####0###
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#####0###
####H########T################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###########################################Examples:1
+ 1/4 = 11 + 3.0/4 = 1.751. + 3/4= 1.The computer converts an integer to a real,
there are cases when we want control when a conversion should be made. Fortran
simple functions (see Table 2-3, x is real and i is integer) :e.g. x=2.9
(truncate, round, select nearest integer below/above x): INT(x)=2, NINT(x)=3,
FLOOR(x)=2, CEILING(x)=3, INT(-x)=-2, NINT(-x)=-3, FLOOR(-x)=-3, CEILING(-x)=-2
###*##############Z#4#########d####################
###########################H#####
#####0###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

#&#####################4###########(##### ######################
#####4##############
#####4###
####H########X################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#####4###
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################P###2#.#6#.#5#
#M#i#x#e#d#-#M#o#d#e# #A#r#i#t#h#m#e#t#i#c# #a#n#d# #E#x#p#o#n#e#n#t#i#a#t#i#o#n# #
#C#a#s#e#s#:# #(#I#)# #r#e#s#u#l#t# #=# #y#*#*#n#,# # #y# #R#E#A#L#,# #n#
#I#N#T#E#G#E#R# ##C#o#n#v#e#r#t#s# #t#o# #r#e#s#u#l#t# #=# #y#*#y#*#& *#y# #(#n#
#t#i#m#e#s#)# ##e#.#g# # #(#-#2#.#)#*#*#2# # #r#e#s#u#l#t# #i#s# #4#.# #(#I#I#)#
#r#e#s#u#l#t# #=# #y#*#*#x#,# # #y# #R#E#A#L#,# #x# #R#E#A#L# #.# #W#e# # #n#e#e#d#
#t#h#e# #M#a#t#h# #f#o#r#m#u#l#a#:# #y#^#x# #=# #e#x#p#(#x#l#n#y#)# #a#n#d# #
#f#u#n#c#t#i#o#n#s# #f#o#r# #n#a#t#u#r#a#l# #e#x#p#o#n#e#n#t#i#a#l#/#l#o#g#
#f#u#n#c#t#i#o#n#s#.# #T#h#i#s# #i#s# #d#o#n#e# #f#o#r# #u#s# #b#y# #
#F#o#r#t#r#a#n# #f#o#r# #y# #>#=#0#;# #e#.#g#.# #4#.#*#*#(#-#0#.#5#)# #i#s#
#l#e#g#a#l#.# # #(#I#I#I#)# # #(#-#2#.#)#*#*#2#.#0# #i#s# #i#l#l#e#g#a#l# #a#n#d#
#g#i#v#e#s# #r#u#n#-#t#i#m#e# #e#r#r#o#r#.# ##
####d##############6###############################g#########################
###############3############
###########################H#####
#####4###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################!###############################

0##

#######y##############8############(##### ######################
#####8##############
#####8###
####H########(################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#####8###
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################K####################2.7
Intrinsic FunctionsIn Math, a function is an expression that accepts one or more
input values and calculates a single result from them. e.g.f(x) = 3 +2*x+ x * *2
For an x value, can one evaluate this function?There are a number of standard
(library) functions that are available in Fortran, such functions are called
intrinsic functions. Later this semester we will be writing our own functions,
which are called user-defined
functions.###P##############P############0####################N#########

##########

############
###########################H#####
#####8###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

#####################<#####t######(##### ######################
#####<##############
#####<###
####H########l#################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%############>#####
#####<###
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################L###The function
f(x) accepts a value x and it computes the result. The value x is called the
argument of the function. e.g. f(x, y) = x + y * 2 , has arguments, x and y.A set
of intrinsic math functions are listed in Table 2-4 (trigonometric, sqrt, log, exp,
max, min). Please make use in the Fortran programs. e.g. y =
SIN(theta)###&###M###########[#######
##################
###M########################H#####
#####<###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################6###############################

0##

#####################@#####&######(##### ######################
#####@##############
#####@###
####H########1################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#####@###
####H########x7################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################`#####################T#h#i#s#
#s#t#a#t#e#m#e#n#t# # #w#i#l#l# #t#a#k#e# #t#h#e# #s#i#n#e# #o#f# #t#h#e#t#a#
#(#i#n# #r#a#d#i#a#n#s#)# #a#n#d# #a#s#s#i#g#n# #t#h#e# #r#e#s#u#l#t# #t#o# #y#.#
#V#a#r#i#a#b#l#e# ## y## #s#h#o#u#l#d# #b#e# #r#e#a#l# #a#n#d# ## t#h#e#t#a##
#c#a#n# #b#e# #r#e#a#l# #o#r# #i#n#t#e#g#e#r#.##C#a#n# ## t#h#e#t#a## #b#e# #i#n#
#d#e#g#r#e#e#s#?##I#f# #s#o#,# #i#t# #m#u#s#t# #b#e# #c#o#n#v#e#r#t#e#d# #t#o#
#r#a#d#i#a#n#s#,# #m#u#l#t#i#p#l#y#i#n#g# #t#h#e# #v#a#l#u#e# #i#n# #d#e#g#r#e#e#s#
#b#y# #3#.#1#4#1#5#9#/#1#8#0#.######## ########### ##########
###
########################H#####
#####@###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################################################

0##

#~######v###############D############(##### ######################
#####D##############
#####D###
####H########F################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#####D###
####H########HL################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################H####################y =
SIN(theta * (3.141593/180.))The factor DEG2RAD = 3.141593/180. will be evaluated
first and multiplied by theta. This value (theta in radians) will then be used in
the SIN function.Table 2-3 and Table 2-4 list some common intrinsic functions.
Argument type (Real, Integer, or Character)Result type (Real, Integer, or
Character)Notice that some (generic) functions (e.g. ABS(x) ) can accept either
type and return either type depending on the type of the input
argument.###.##############P#b####################v############
###########################H#####
#####D###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################f###############################

0##

######################H#####V######(##### ######################
#####H##############
#####H###
####H########a################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%############ #####
#####H###
####H########i################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###########################################2.8 ListDirected Input and OutputTo make assignments and do computations, we need input for
the calculations and to output the results.The term list-directed input means that
the types of the variables in the variable list determine the required format of
the input data.###B###############"########q################

#######_###################
############################H#####
#####H###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################1###############################

0##

########## ###########L#####!######(##### ######################


#####L##############
#####L###
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#####L###
####H########8################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################[####################The READ
statement is in the form:READ (*, *) input_listwhere the input_list is the list of
variables into which the values being read are stored.The (*, *) contain control
information for the read ( more details, in chapter 5).###8##############/#######
################
##################
###########################H#####
#####L###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

##########0###########P###########(##### ######################
#####P##############
#####P###
####H########p################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%############T#####
#####P###
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################
#################j###E#x#a#m#p#l#e#s# #o#f# #i#n#p#u#t# #o#f# #d#a#t#a#:#
#P#R#O#G#R#A#M# #i#n#p#u#t#_#e#x#a#m#p#l#e##I#N#T#E#G#E#R# #:#:# #i#,# #j##R#E#A#L#
#:#:# #a##C#H#A#R#A#C#T#E#R# #(#l#e#n#=#1#2#)# #:#:# #c#h#a#r#s##R#E#A#D#
#(#*#,#*#)# #i#,# #j#,#a#,#c#h#a#r#s# #!# #e#.#g#.# #1#,#2#,#3#.#,# ## t#h#i#s#
#c#o#u#r#s#e## #E#N#D# #P#R#O#G#R#A#M#
#i#n#p#u#t#_#e#x#a#m#p#l#e######################################
###########################H#####
#####P###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

#5######-###@###########T###########(##### ######################
#####T##############
#####T###
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#####T###
####H########x################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##########################################PROGRAM
input_example_2INTEGER :: i, j,k,lREAD (*,*) i, jREAD (*,*) k,lEND PROGRAM
input_example_2 e.g. 1,2,3,45,6,7Then the values stored are: i=1, j=2, k=5,l=6
##################Z#############
###########################H#####
#####T###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################?###############################

0##

##########P###########X#####/######(##### ######################
#####X##############
#####X###
####H########x################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#####X###
####H########@################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################i####################The listdirected output statement is in the form:WRITE (*, *) output_listAgain, the term
list-directed implies that the types of the values in the output list of the write
statement determine the format of the output
data.###J###############################)################,#######i############
#######
###########################H#####
#####X###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################l###############################

0##

##########`###########\#####\######(##### ######################
#####\##############
#####\###
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%############&#####
#####\###
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################
#################6###E#x#a#m#p#l#e# #o#f# #o#u#t#p#u#t#:##P#R#O#G#R#A#M#
#o#u#t#p#u#t#_#e#x#a#m#p#l#e##I#N#T#E#G#E#R# #:#:# #i#x##R#E#A#L#:#:# #t#h#e#t#a#
#i#x#=#1##t#h#e#t#a#=#3#.#1#4#1#5#9#3##W#R#I#T#E#(#*#,#*#)# ## i#x# #=## ,# #i#x#
#W#R#I#T#E#(#*#,#*#)# ## t#h#e#t#a# #=# ## ,# #t#h#e#t#a#,# ## C#O#S#(#t#h#e#t#a#)#
#=## ,# #C#O#S#(#t#h#e#t#a#)# ##E#N#D# #P#R#O#G#R#A#M#
#o#u#t#p#u#t#_#e#x#a#m#p#l#e##R#e#s#u#l#t# #p#r#i#n#t#e#d# #i#s#:# #i#x#=#1# ## # #
# # # # # # # # # # # # # # # # # # # # # # # # # #t#h#e#t#a#=#3#.#1#4#1#5#9#3#
#C#O#S#(#t#h#e#t#a#)# #=# #-#1#.#0# #####$###############Z############
############
############################H#####
#####\###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

########
###p###########`###########(#####
######################
#####`##############
#####`###
####H########`#################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%############k#####
#####`###
####H#########
################?##############R#e#c#t#a#n#g#l#e# #3###########
#`#######################################9###2.9 Initialization of
VariablesInitialization statements by three methods: (1) assignment, (2) READ, (3)
part of type declaration e.g.PROGRAM init123 ! Three methods to initialize
INTEGER :: i, j,k=3
! initializei=1
! initialize READ (*,*) j
! initialize
WRITE(*,*) i, j,kEND PROGRAM input_example ###f###:###########P#
##########,####################

#####################################################
###:########################H#####
#####`###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################################################

0##

#|######t##############d#####

######(#####
######################
#####d##############
#####d###
####H########,&################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#####d###
####H########4*################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################F####################2#.#9#
#T#h#e# #I#M#P#L#I#C#I#T# #N#O#N#E# #s#t#a#t#e#m#e#n#t##e#.#g#.##P#R#O#G#R#A#M#
#t#e#s#t#_#1##!# #I#M#P#L#I#C#I#T# #N#O#N#E# ##R#E#A#L# #:#:# #t#i#m#e#=#1#0#.#0#
#W#R#I#T#E#(#*#,#*#)# ## T#i#m#e# #=## ,# #t#m#i#e##E#N#D# #P#R#O#G#R#A#M#
#t#e#s#t#_#1##W#r#o#n#g# #r#e#s#u#l#t# #i#s#:# #T#i#m#e# #=#0#.#0# #.# #B#u#t#
#w#i#t#h# #I#M#P#L#I#C#I#T# #N#O#N#E#,# #w#e# #g#e#t# # #a# #c#o#m#p#i#l#e#
#e#r#r#o#r#.# ####f##############Z# ###############################@#########
##########2################################
###########################H#####
#####d###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################x###############################

0##

#####################h#####h######(##### ######################
#####h##############
#####h###
####H########XC################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%############2#####
#####h###
####H########,K################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################4###2.11 Program
Examples (Fig 2-6, Fig2-8)Example 2-3 (Fig 2-6) Design a FORTRAN program to read an
input temperature in degrees Fahrenheit (F), to convert in Kelvin (K), and to
write out the result.What does this program output?The temperature in kelvins.What
is the input?The temperature in
Fahrenheit.###2###5###########Z#'###################################
###5########################H#####
#####h###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

#0######(##############l###########(##### ######################
#####l##############
#####l###
####H########V################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#####l###
####H########Xa################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##########################################H#o#w#
#i#s# #t#h#e# #c#o#n#v#e#r#s#i#o#n# #d#o#n#e#?##T#e#m#p#e#r#a#t#u#r#e# #i#n#
#K#e#l#v#i#n#s# #=# #(#5#.#/#9#.#)# #*#(#T# #(#i#n# #F#)# ## #3#2#.#)# #+#
#2#7#3#.#1#5##S#o#,# #w#h#a#t# #v#a#r#i#a#b#l#e#s# #a#r#e# #w#e# #l#o#o#k#i#n#g#
#a#t#?##T#e#m#p#e#r#a#t#u#r#e# #i#n# #K# #(#R#E#A#L#)##T#e#m#p#e#r#a#t#u#r#e# #i#n#
#F# #(#R#E#A#L#)##A# #K#e#l#v#i#n#s# #c#o#n#v#e#r#s#i#o#n# #c#o#n#s#t#a#n#t#
#(#2#7#3#.#1#5#)##############################
###########################H#####
#####l###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################J###############################

0##

#####################p#####:######(##### ######################
#####p##############
#####p###
####H########n################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%##################
#####p###
####H########u################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################t#################"###How will we
know if the program works correctly?We know 212 Fahrenheit is equal to 373.15 K,
and -110F is equal to 194.26 K. The algorithm steps:1. Prompt user for input.2.
Read in data from user.3. Calculate to Temperature in Kelvins4. Print output and
Terminate the program.################################
############################H#####
#####p###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

#Z######R##############t###########(##### ######################
#####t##############
#####t###
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#####t###
####H########p################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################$####################Sample Runs
of the Program:Enter the temperature in Fahrenheit:#-110#The temperature -110.0 F
is 194.26111 kelvins.Enter the temperature in Fahrenheit:#212#The temperature
212.0 F is 373.15 kelvins.#####################################
###########################H#####
#####t###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################

###############################

0##

#l######d##############x###########(##### ######################
#####x##############
#####x###
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################V#####################Run Fortran
Programs##############################
#####################
#####x###
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################F####################Fortran
commands to : (1) Compile (gives .o files) (2) Link (the possibly several .o files
into .exe file)(3) Execute ( run the .exe file)Note: In gfortran on MS windows, (1)
and (2) are combined into a single step.
###:########################################I###################
###############H#####
#####x###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D##H/##"###############################################

0##

#F######>##############|###########(##### ######################
#####|##############
#####|###
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 2:
Basic Elements of Fortran#######%#########%############
###%#################
#####|###
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################
#####################E#x#a#m#p#l#e# #2#-#4# #(#E#l#e#c#t#r#.#
#E#n#g#i#n#e#e#r#.#,# #F#i#g# #2#-#8#)# #D#e#s#i#g#n# #a# #F#O#R#T#R#A#N#
#p#r#o#g#r#a#m# #t#o# #c#a#l#c#u#l#a#t#e# #R#e#a#l#,# #R#e#a#c#t#i#v#e# #a#n#d#
#A#p#p#a#r#e#n#t# #p#o#w#e#r#.# #E#q#u#a#t#i#o#n#s# #o#f# #c#i#r#c#u#i#t#:#
#I#=#V#/#Z# # # # # # # # # # # # # # # # # #(#2#-#3#)# #(#Z# #i#s# ## l#o#a#d#
#i#m#p#e#d#a#n#c#e## )##P#=#V# #I# #c#o#s#(#t#h#e#t#a#)# #(#2#-#4#)# #!#
#p#o#w#e#r# ##Q#=#V# #I# #s#i#n#(#t#h#e#t#a#)# #(#2#-#5#)# #!# #r#e#a#c#t#i#v#e#
#p#o#w#e#r##S#=#V# #I# # # # # # # # # # # # # # # # # # #(#2#-#6#)# #!#
#a#p#p#a#r#e#n#t# #p#o#w#e#r##P#F#=# #c#o#s#(#t#h#e#t#a#)# # # # #(#2#-#7#)# # #!#
#p#o#w#e#r# #f#a#c#t#o#r##### ###[###########Z#(########3##########
###[########################H#####
#####|###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"################V###############################

0##

##########################F######(##### ######################
###################
########
####H########<
<
#<
###############?
##############R#e#c#t#a#n#g#l#e# #2########### #`#}###################
f#################$###Chapter 2: Basic Elements of Fortran#######%#########
%############
###%##################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################,###The
algorithm steps:1. Prompt user for input.2. Read-in data from user.3. Calculate p
q, s, pf ( (React., Real, Apparent) powers, power factor)4. Print output and
Terminate the program.Test with inputs of known results: V=120, Z=5,Theta=30
degrees then: I=24, P=2494, Q=1440,S=2880, PF=0.86603#######-###########Z#############
###-########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####3#P#0##"###############################################

0##

###########################u######(##### ######################
####################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
x#################6###Chapter 1 Intro. to Computers and the Fortran
Language#######7#########7############
###7############!#####
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################/###Recommended Problems (not to be handed in) Page 35 , Quiz
2-1 (answers are on the back): 2,4,12,15,18,21,23,24Page 45 , Quiz 2-2 (answers are
on the back): 2(b,e,h), 3(c,d), 4(b,d,e), 5,6,7Page 53 , Quiz 2-3 (answers are on
the back):, 2,3, 4, 5,6,7,8Exercises pp.73-76: (do as many of) 2-1,..,2-9
###(###,#####################+###################
###0############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#### #Q5##"###############################################

0##

#################################(##### ######################
##############9#####
########
####@##########################?##############T#i#t#l#e# #5##########
##2####################################3###
CHAPTER 3#
Program Design and Branching####*###4#######
##################################0#######################
###############
####################
########
####\#############################?#####&########T#e#x#t#
#P#l#a#c#e#h#o#l#d#e#r# #6##########'###
###################l#####################
CS1073###############
##############(####
#############################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.#######"###############################################

0##

############ ######################(##### ######################


###################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################K#################
###Chapter 3#######
#########
############
###
#################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
####################Program Design and Branching StructuresMany problems are
just too large to program directly their solutions. Top-Down design means to start
with a large task and break it down into smaller ones (subtasks), which we can
program independently. Key Ideas in Top-Down Design: (1) Divide the larger task
into smaller sub-tasks. (2) Code and test each sub-task. (3) Put together the
solution.###8##############'##########G####################
############
###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"################{###############################

0##

##########0################k######(##### ######################
###################
########
####H########0################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
############P#####
########
####H########8################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################V###Steps of
Program Design in the Top-Down Approach:1. State the problem.2. Define inputs and
outputs.3. Design the algorithm.4. Turn the solution into Fortran statements.5.
Test (and debug) the Fortran program.Which step would require the most time? Step
5! How can we reduce the time for this step? By spending more time on steps 14.###.###W###########Z#2###############################
###W########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"################Q###############################

0##

##########@################A######(##### ######################
###################
########
####H#########K################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
############&#####
########
####H########M################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################d###T#h#e#
#c#o#n#s#t#r#u#c#t#s# #t#o# #b#u#i#l#d# #a#n# #a#l#g#o#r#i#t#h#m# #u#s#e#
#e#i#t#h#e#r# #f#l#o#w#c#h#a#r#t#s# #o#r# #p#s#e#u#d#o#c#o#d#e#.# #W#e# #w#i#l#l#
#u#s#e# #t#h#e# #p#s#e#u#d#o#c#o#d#e#,# #w#h#i#c#h# #d#e#s#c#r#i#b#e#s# #t#h#e#
#s#t#e#p#s# #i#n# #E#n#g#l#i#s#h# #a#n#d# #m#a#t#h#e#m#a#t#i#c#a#l#
#f#o#r#m#u#l#a#s# #r#e#a#d#y# #t#o# #b#e# #p#r#o#g#r#a#m#m#e#d#.# ##E#x#a#m#p#l#e#
# #(#p#s#e#u#d#o#c#o#d#e# #t#o# #c#o#n#v#e#r#t# #t#h#e#
#t#e#m#p#e#r#a#t#u#r#e#s#)#:# ##P#r#o#m#p#t# #t#h#e# #u#s#e#r# #f#o#r# #t#h#e#
#i#n#p#u#t# #t#e#m#p#e#r#a#t#u#r#e# # #i#n# #F#a#h#r#e#n#h#e#i#t##R#e#a#d# #
#t#e#m#p#e#r#a#t#u#r#e# #i#n# #d#e#g#r#e#e#s# #F#a#h#r#e#n#h#e#i#t#
#(#t#e#m#p#_#f#)# ##t#e#m#p#_#k# # # # #(#5#.# #/# #9#.#)# #*# #(#t#e#m#p#_#f# ## #3#2#.#)# #+# #2#7#3#.#1#5##W#r#i#t#e# # #t#e#m#p#e#r#a#t#u#r#e# #i#n#
#K#e#l#v#i#n# #d#e#g#r#e#e#s##
##################Z##########Z#############Z#0##############################
##########v##############################
#########################################t######################J############
###########>###Z#########
###)#########.######### ###############
##############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"###############################################

0##

#-######%###P######################(##### ######################
###################
########
####H########u################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
#################
########
####H########|x################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###########################################3#.#3#
#L#o#g#i#c#a#l# #C#o#n#s#t#a#n#t#s#,# #V#a#r#i#a#b#l#e#s#,# #a#n#d#
#O#p#e#r#a#t#o#r#s# ##T#h#e# #l#o#g#i#c#a#l# #d#a#t#a# #t#y#p#e# # #c#a#n#
#s#t#o#r#e# #o#n#e# #o#f# #t#w#o# #v#a#l#u#e#s#:# #.#T#R#U#E#.# #o#r#
#.#F#A#L#S#E#.# # #A# #l#o#g#i#c#a#l# #v#a#r#i#a#b#l#e# #i#s# #a# #v#a#r#i#a#b#l#e#
#c#o#n#t#a#i#n#i#n#g# #a# #v#a#l#u#e# #o#f# #t#h#e# #l#o#g#i#c#a#l# #d#a#t#a#
#t#y#p#e# #a#n#d# #c#a#n# #b#e# #d#e#c#l#a#r#e#d# #a#s# #f#o#l#l#o#w#s#:#
#P#R#O#G#R#A#M# #e#x#a#m#p#l#e##L#O#G#I#C#A#L# #:#:# #l#o#g#1#,# #l#o#g#2# #!#
#l#o#g#i#c#a#l# #v#a#r## s##L#O#G#I#C#A#L#,# #P#A#R#A#M#E#T#E#R# #:#:#
#l#o#g#c#o#n#s#t#=#.#T#R#U#E#.# ##E#x#e#c#u#t#a#b#l#e# #s#t#a#t#e#m#e#n#t#s##& #
####.###\###########P#0##########*######################
###\############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"################################################

0##

#######w###`#######################(##### ######################
###################
########
####H########h################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
#################
########
####H########p################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################
d####################L#o#g#i#c#a#l# #v#a#r## s#/#c#o#n#s#t## s# #a#r#e#
#u#s#e#d# #i#n# #b#r#a#n#c#h# #s#t#a#t#e#m#e#n#t#s# #(#u#s#i#n#g# #I#F#)#.#
#e#.#g#.# #F#o#r# #c#o#m#p#u#t#i#n#g# #c#u#b#i#c# #r#o#o#t#s#,# # #f#o#r# #x# #>#0#
#:##P#R#O#G#R#A#M# #e#x#a#m#p#l#e#_#I#F##I#M#P#L#I#C#I#T# #N#O#N#E##L#O#G#I#C#A#L#
#:#:# #l#o#g#1##R#E#A#L# #:#:# #x#=#8#.# #,# #c#u#b#e#_#r#o#o#t##l#o#g#1# #=# #(#
#x# # #># #1#.#E#-#1#0#)# #!# #l#o#g#i#c#a#l# #v#a#r# #=# #l#o#g#i#c#a#l#
#e#x#p#r#e#s#s#i#o#n##I#F#(#l#o#g#1#)# #T#H#E#N## # #c#u#b#e#_#r#o#o#t# #=#
#E#X#P#(#L#O#G#(#x#)#/#3#.#0# #)##E#L#S#E## #c#u#b#e#_#r#o#o#t# #=#0#.#0#
#E#N#D#I#F##W#R#I#T#E# #(#*#,#*#)# # #'#l#o#g#1#=#'#,# #l#o#g#1#,#
#'#c#u#b#e#_#r#o#o#t#=#'#,# #c#u#b#e#_#r#o#o#t##E#N#D# #P#R#O#G#R#A#M#
#e#x#a#m#p#l#e#_#I#F##N#o#t#e#:# # #I#n# #M#a#t#h#:# #x#^# #1#/#3# #=#
#e#^#(#l#o#g#(#x#)#/#3#)#,# #a#n#d# #w#e# #m#u#s#t# #h#a#v#e# #x#>#0###############
##################P#"####################9###############################9###
#########################

#
#######
##########
#########
####"############<######### ################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"################r###############################

0##

##########p################b######(##### ######################
###################
########
####H########P################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
############G#####
########
####H########X################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################W###3.3.3
Relational OperatorsRelational logic operators are operators with two numeric (or
character) operands that produces a logical result. The new style operators were
introduced with FORTRAN 90. e.g. > : (ABS(x) > 1.E-10)Table 3-1 (next page)
contains all the relational logic operators in Fortran 90 and the old versions
(Fortran 77). ###2###X###########Z##########################u##########
###X############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"###############################################

0##

#4######,##########################(##### ######################
###############

#####
#########
####H########t################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################|#################.###Chapter 3,
Table 3-1Relational logic operators### ###/###################$#############
###/#################
#########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################P#################
######################Z##############
####################
#########
####T####A##########?####################################?
#########O#b#j#e#c#t# #5###########W######

#################H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"################_###############################

0##

##########################O######(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
############4#####
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################
#################T###E#x#a#m#p#l#e#s#:# #O#p#e#r#a#t#i#o#n# # # # # # # # # # #
# # #R#e#s#u#l#t## # # # # # # # # # # # #3#<#4# # # # # # # # # # # # # # # # # #
# # #.#T#R#U#E#.## # # # # # # # # # # # #3# #/#=#4# # # # # # # # # # # # # # # #
# # # #.#T#R#U#E#.## # # # # # # # # # # # #3#>#4# # # # # # # # # # # # # # # # #
# # # #.#F#A#L#S#E#.## # # # # # # # # # # # ## A## #<# ## B## # # # # # # # # #
# # #.#T#R#U#E#.# #(#b#e#c#a#u#s#e# #c#h#a#r#a#c#t#e#r#s# #a#r#e#
#e#v#a#l#u#a#t#e#d# #i#n# #a#l#p#h#a#b#.# #o#r#d#e#r#)## #A#l#s#o#,# # #(#7#+#2#)#
#<# #(#1#0#+#1#)# # # # #.#T#R#U#E#.## # # # # # # # # # # # # #7#+#2# #<#
#1#0#+#1# # # # # # # # #.#T#R#U#E#.# ## # # # # # # # # # # # # # #4#=#=# #4#.# #
# # # # # # # # # # # # # #.#T#R#U#E#.## # # # # # # # # # # # # # #4# #<#=## A##
# # # # # # # #i#l#l#e#g#a#l# #(#c#o#m#p#i#l#e# #e#r#r#o#r#)#####"##############
######################
###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"###############################################

0##

#_######W#########################(##### ######################
###################
########
####H########@

################?##############R#e#c#t#a#n#g#l#e# #2###########
#`#}###################K################# ###Chapter 3#######
#########
############
###
#################
########
####H########H#################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################D####################3.3.4
Combinational Logic OperatorsCombinational logic operators are operators with one
or two logical operands that yield a logical result.The operators are: .AND.,
.OR., .NOT., .EQV., .NEQV.Examples: Let a,b,c,d be real/integer variables.
#####################################
###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"###############################################

0##

#1######)#########################(##### ######################
###################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
#################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###########################################(#a#<#b#)#
#.#O#R#.# #(#c#<#d#)### (## #,# ## )## #c#a#n# #b#e# #o#m#i#t#t#e#d##e#.#g#.#
#a#<#b# #.#O#R#.# #c#<#d# # #!#B#u#t# #m#a#y# #c#o#n#f#u#s#e# #u#s#;# #s#o# #u#s#e#
## (## #,# ## )## #(#a#<#b#)# #.#O#R#.# #(#c#<#d#)##e#.#g#.# # #F#o#r# #a# #=# #2#
#,# #b# #=# #3# #,# #c# #=# #5# #,# #d# #=# #3# #t#h#e# #v#a#l#u#e# #o#f# #t#h#e#
#l#o#g#i#c#a#l# #e#x#p#r#e#s#s#i#o#n#s# #a#b#o#v#e# # #i#s# #.#T#R#U#E#.## #
#L#e#t# #t#h#e# #l#o#g#i#c#a#l# #e#x#p#r#e#s#s#i#o#n#s# #l#1# #=# #(#a# #<# #b#)# #
# #a#n#d# # #l#2# #=# # #(#c# #<# #d#)# #,# #t#h#e# #r#e#s#u#l#t#s# #o#f# #t#h#e#
#o#p#e#r#a#t#o#r#s# #a#r#e# #i#n# ## #T#a#b#l#e#s# #3#-#3#(#A#,#B#)# #(#w#h#i#c#h#
#a#r#e# #c#a#l#l#e#d# #t#r#u#t#h# #t#a#b#l#e#s#)#.# # ###
#######p######################################################&###############
#####################################q########################################
##########K#########

###############################B############# #############
#############
################H#####
########

###D#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"################D###############################

0##

##########################4######(##### ######################
###################
########
####H########4D################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
##################
########
####H########<G################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###########################################Table 3-3,
Combinational operators log1
log2
log1.OR.log2
log1.AND.log2
.NOT.log1true
true
true
true
falsetrue
false true
false
false
false true
true
false
truefalse false
false
false
true
log1 log2
log1.EQV.log2
log1.NEQV.log2 true true true
false true false false
true false true false
true false false true
false
##################P#d#########################################################
###############################################################################
###########
#########+###############################
#########"######################################################################
#############$################################################################
##########_################################### #############
###C#########
#############
###?#########
#############
############
#############
#############
#############
#############
#############
###############
##############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"###############################################

0##

#(###### #########################(##### ######################


###################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
#################
########
####H########

################?##############R#e#c#t#a#n#g#l#e# #3###########
#`###########################################. NOT. is a unary operator
gives .TRUE. for value .FALSE. and vice-versae.g. The following expressions are
equivalent (e.g. for values of variables: a = 2 , b = 3, c=5)
log1= .NOT.
(a<b .AND. b<c)
log2=
a>=b .OR. b>=ci.e. log1.EQV.log2 =
.TRUE.
###v##################################################################&#######
#############8###############################^############
###############
#!######### #############
###B#########
#############
################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"###############################################

0##

#################################(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
############u#####
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################{### e.g. Mixed
operations: (a+b) < (c+d) .OR. 3>=4Precedence order :
1. arithmetic operators
(*, +, etc, evaluated left-to-right) ;
2. relational operators (
< , = =, etc, evaluated from left to right)
3. .NOT.
4. .AND. (evaluated
from left to right)
5. .OR. (evaluated from left to right)
6. .EQV. and .NEQV.
(evaluated from left to right)###.###|
###########P#0####################<################{#########
################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"################Q###############################

0##

##########################A######(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
############&#####
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##########################################N#o#t#e#:#
#c#o#m#b#i#n#a#t#i#o#n#a#l# #o#p#e#r#a#t#o#r#s# #a#r#e# #i#l#l#e#g#a#l# #t#o#
#u#s#e# #w#i#t#h# #r#e#a#l#/#i#n#t#e#g#e#r#/#c#h#a#r#a#c#t#e#r# #e#.#g#.# ##4#
#.#A#N#D#.# #3# #(#c#o#m#p#i#l#e#-#e#r#r#o#r#)# ##3#.#3#.#5# #L#o#g#i#c#a#l#
#v#a#l#u#e#s# #f#o#r# #I#n#p#u#t#/#O#u#t#p#u#t# #s#t#a#t#e#m#e#n#t#s##W#h#e#n#
#e#n#t#e#r#i#n#g# #d#a#t#a#,# #u#s#i#n#g# #R#E#A#D#(#*#,#*#)#,# #i#f# #t#h#e#
#f#i#r#s#t# #e#n#t#e#r#e#d# #c#h#a#r#a#c#t#e#r# #i#s# ## T## #t#h#e#n#
#.#T#R#U#E#.# #i#s# #r#e#a#d# #i#n#;# ##s#i#m#i#l#a#r#l#y# #f#o#r# #.#F#A#L#S#E#.#
#3#.#3#.#6# #S#i#g#n#i#f#i#c#a#n#c#e# #o#f# #L#o#g#i#c#a#l#
#v#a#r#i#a#b#l#e#s#/#e#x#p#r#e#s#s#i#o#n#s##T#h#e#y# #a#r#e# #m#o#s#t#l#y#
#u#s#e#d# #w#i#t#h# #I#F# #s#t#a#t#e#m#e#n#t#s#.# ####|
###w###########Z#n#########1##########V####################
##############################3##########*#######################
###w############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"###############################################

0##

#&#################################(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
#################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###########################################3.4 Control
constructs: BranchesBranches in Fortran allow us to execute (depending on the
value true/false of logical values/expressions) specific parts of the program and
skip other parts. The block IF construct is:IF (logical_expression) THEN ELSE IF
(logical_expression) THEN IF(.NOT. (a < b. AND. b < c)) ! Example of block IF
x = a + b
! e.g. a=3,b=4, c=5
ELSE IF (a < b. AND. b <
c)
x = c + bENDIF
#################P#(#######################################################
###############################################################################
##
###########################################L############7#########
#############
#############
############
################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"################~###############################

0##

###########################%######(##### ######################
#################

########
####L#########################?##############T#e#x#t# #B#o#x#
#1#0#2#6################B####################3.4.2 The ELSE and ELSE IF :
IF (criterion_1) THEN
action_1
ELSE IF (criterion_2) THEN
action_2
ELSE IF (criterion_3) THEN
action_3
ELSE
action_4
END IFA minimal block IF:
IF (criterion) THEN
action
END IF#############
###############################################################################
####
####################
##########################################
####################
##########################################
#########################################
###############################################################################
#### #########################################
########################z############# #############
#############
#############
###
#########
#############
#############
#############
###
#########
#############
#############
#############
###
#########
#############
#############
#############
###
#########
#############
#############
###############
###########
#############
#############
#############
#############
#############
#############
######

##############'###

########
####L#########################?##############T#e#x#t# #B#o#x#
#1#0#2#7##############b####################'###Chapter 3 , 3.4.2 The ELSE and
ELSE IF ###0###(#######
###

#########################################'######### #############

######

##############H#####
########

####0################ h############# ###?########


###############
#33############y##########_#_#_#P#P#T#1#0####Y######
+##########D=#####' ################################=###@#B#####
######+######"###############################################

0##

#X######P### ######################(##### ######################


###################
########
####H########&################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
#################
########
####H########4#################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################=####################Example of
Fortran program: The quadratic equation (PROGRAM roots, Fig-3-10). Examples of
inputs to test the program: x^2+5x+6 =0, roots: -2, -3x^2+4x+4 =0, roots: -2
(double)x^2+2x+5 =0, roots: -1+2i, -1-2i (complex)
###0##################################################
###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"###############################################

0##

############0######################(##### ######################
###################
########
####H########V################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
#################
########
####H########l_################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###########################################Example of
Fortran program: Evaluating a function of two variables (PROGRAM funxy, Fig-3-12).
Test the program:f(2,3) = 5f(-2,3) = 7f(2,-3) = 11f(-2,-3) = 13
###0#######################*################J##########
###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"################-###############################

0##

##########@#######################(##### ######################
###################
########
####H########hi################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
##################
########
####H########o################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################r####################3.4.4 The
named block IF constructs:[name:] IF (logical expression) THEN
statement1
ELSE IF (logical expression) THEN
statement1
ELSE
statement1
END IF
##################Z###########Z#############Z##################
##############################################################################
#############################################################################
########
####################################P############ #############
#############
#############
###############
##############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"################<###############################

0##

##########P################,######(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
##################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##########################################3.4.5 Notes
concerning use of block IF constructs:Block IF may be nested:outer: IF (x>0.) THEN
statement1inner:
IF (y<0.) THEN
statement1
END IF inner
statement1
END IF outer
##################Z###########Z#############Z######################
###############################################################################
#####
###############################################################&##########
############################################P############
#############
#############
#############
###############
##############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"################C###############################

0##

##########`################3######(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################K#################
###Chapter 3#######
#########
############
###
############

#####
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
p#################b###3#.#4#.#6# #T#h#e# #l#o#g#i#c#a#l# #I#F#
#s#t#a#t#e#m#e#n#t#:##e#.#g#.# #I#F#(#x#<#0#.#)# #y#=#-#1# ##N#o#t#e#:#
#B#e#t#t#e#r# #t#o# #a#v#o#i#d# #i#t# #a#n#d# #u#s#e# #B#l#o#c#k# #I#F#,#
#i#n#s#t#e#a#d#.##3#.#4#.#7# #T#h#e# #S#E#L#E#C#T# #C#A#S#E# #c#o#n#s#t#r#u#c#t##
#d#e#a#l#s# #w#i#t#h# #m#a#n#y# #a#l#t#e#r#n#a#t#i#v#e#s# #a#r#e# #m#u#t#u#a#l#l#y#
#e#x#c#l#u#s#i#v#e#.# ##T#h#e# #c#a#s#e# #s#e#l#e#c#t#o#r# #m#u#s#t# #b#e# #:#
#i#n#t#e#g#e#r#,# #c#h#a#r#a#c#t#e#r#,# #o#r# #l#o#g#i#c#a#l#
#e#x#p#r#e#s#s#i#o#n#.# #B#u#t# ## r#e#a#l## #e#x#p#r#e#s#s#i#o#n#s# #a#r#e#
#n#o#t# #a#l#l#o#w#e#d#.# ###
#######1################################/####################0#########
##############################################################
######################P############ ###H#########
###(#########
#############
#############
################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.######00##"###############################################

0##

###########p######################(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
############v#####
########
####H########P################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################
#####################[name:]SELECT CASE (case expression)
CASE
(case selector) !mutually exclusive case
block of Fortran statements
CASE (case selector) !mutually exclusive case
block of Fortran
statements
.
.
END SELECT
name##################################################

##############################
##############################################################
##########################################################$#########
#############
###.#########
#############
#############
#############
### #########
#############
#############
#########
#############
#############
###!#########
#############
#############
################H#####
########

###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"###############################################

0##

#################################(##### ######################
###################
########
####H########L#################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
############v#####
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##########################################Example of
Fortran program: Use SELECT CASE to select the day of the week (PROGRAM
day_of_week, Fig-3-14). Test: e.g. 1Day= Sunday
###0#######################2################)##########
###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"###############################################

0##

##################################(##### ######################
###################
########
####H########(#################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
#################
########
####H########p#################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##########################################Example of
Fortran program: Use characters in a SELECT CASE construct(PROGRAM
weekday_weekend, Fig. 3-15). Test: e.g. TuesdayDay Type= weekday
###0#######################.################6##########
###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"###############################################

0##

################################(##### ######################
###################
########
####H#########+################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
############g#####
########
####H########\.################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##########################################Example:
Assigning letter grades90< grade
A80< grade <=89
B70< grade <=79
C61< grade <=69
D0< grade <=60
F#####################################
###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"###############################################

0##

################################(##### ######################
###################
########
####H########4<################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
############d#####
########
####H########L?################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###########################################(#a#)#
#S#o#l#u#t#i#o#n# #w#i#t#h#o#u#t# #n#e#s#t#e#d# #(#s#t#a#r#t# #f#r#o#m#
#h#i#g#h#e#s#t# #g#r#a#d#e# #a#n#d# #c#r#e#a#t#e# #m#u#t#u#a#l# #e#x#c#l#u#s#i#v#e#
#l#o#g#i#c#a#l# #e#x#r#e#s#s#i#o#n#s#)##I#F# #(#g#r#a#d#e# #># #9#0#)# #T#H#E#N##
# #W#R#I#T#E#(#*#,#*#)# ## T#h#e# #g#r#a#d#e# #i#s# #A## ## #E#L#S#E# #I#F#
#(#g#r#a#d#e# #># #8#0#)# #T#H#E#N## # # # # #W#R#I#T#E#(#*#,#*#)# ## T#h#e#
#g#r#a#d#e# #i#s# #B## ## #E#L#S#E# #I#F# #(#g#r#a#d#e# #># #7#0# #)# #T#H#E#N## #
# # # #W#R#I#T#E#(#*#,#*#)# ## T#h#e# #g#r#a#d#e# #i#s# #C# ## ## #E#L#S#E# #I#F#
#(#g#r#a#d#e# #># #6#1# #)# #T#H#E#N## # # # #W#R#I#T#E#(#*#,#*#)# ## T#h#e#
#g#r#a#d#e# #i#s# #D## ## #E#L#S#E# ## # # # # #W#R#I#T#E#(#*#,#*#)# ## T#h#e#
#g#r#a#d#e# #i#s# #F## ## #E#N#D# #I#F#
##################P#################################J########################
################################################ ##########

###############################"####################
##########
####################################################
##########
###############################!
###############################"############################################&#
###########
#############
################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"###############################################

0##

#&################################(##### ######################
###################
########
####H########Pq################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
#################
########
####H########Xt################?##############R#e#c#t#a#n#g#l#e#
#3########### #`########################################### (b)
Solution using nested IF (in textbook p. 111), to be avoided because it may lead to
errors.(c) Solution using SELECT CASE left as an exercise (not to be handed in).
###0#######################^################I##########
###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"###############################################

0##

##########################o######(##### ######################
###################
########
####H########@################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
############T#####
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################0###3#.#5#
#D#e#b#u#g#g#i#n#g# #F#o#r#t#r#a#n# #p#r#o#g#r#a#m#s##W#e# #c#a#n# #i#n#s#e#r#t#
#W#R#I#T#E#(#*#,#*#)# #s#t#a#t#e#m#e#n#t#s# #i#n#t#o# #t#h#e# ##p#r#o#g#r#a#m#
#t#o# #p#r#i#n#t# #o#u#t# #i#m#p#o#r#t#a#n#t# #v#a#r## s# #a#t# #k#e#y#
#p#o#i#n#t#s# #o#f# #t#h#e# #p#r#o#g#r#a#m#.# #e#.#g#.# #V#e#r#i#f#y#
#c#o#r#r#e#c#t#n#e#s#s# #o#f# #b#l#o#c#k# #I#F#:# ##W#R#I#T#E#(#*#,#*#)# ## A#t#
#i#f#1#:# #v#a#r#1# #=## ,# #v#a#r#1##i#f#1#:# #I#F#(#s#q#r#t#(#v#a#r#1#)#
#>#1#.#)# #T#H#E#N# ##W#R#I#T#E#(#*#,#*#)# ## A#t# #i#f#1#:# #s#q#r#t#(#v#a#r#1#)#
#>#1#.# ## #E#L#S#E# #I#F#(#s#q#r#t#(#v#a#r#1#)# #<#1#.#)# #T#H#E#N# #
#W#R#I#T#E#(#*#,#*#)# ## A#t# #i#f#1#:# #s#q#r#t#(#v#a#r#1#)# #<#1#.# ## #E#L#S#E#
#W#R#I#T#E#(#*#,#*#)# ## A#t# #i#f#1#:# #s#q#r#t#(#v#a#r#1#)# #=#=# #1#.# ##
#E#N#D# #I#F# # #i#f#1###
####f##############P#################################,#########
############################################
###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"################3###############################

0##

#################################(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
##################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3###########
#`######l################T######L##########_#_#_#P#P#T#9####.######&###
#############################################################W#h#e#n# #w#e#
#l#o#c#a#t#e# #i#n# #w#h#i#c#h# #p#a#r#t# #o#f# #t#h#e# #p#r#o#g#r#a#m# #t#h#e#
#e#r#r#o#r# #o#c#c#u#r#s#.# #W#e# #c#h#e#c#k# #t#h#e# #s#t#a#t#e#m#e#n#t#s# #t#o#
#d#i#s#c#o#v#e#r# #i#t#.# #E#x#a#m#p#l#e#s# #o#f# #c#o#m#m#o#n# #e#r#r#o#r#s#
#w#i#t#h# #I#F# #s#t#a#t#e#m#e#n#t#s#:##C#h#e#c#k# #t#h#e# #r#e#l#a#t#i#o#n#a#l#
#o#p#e#r#a#t#o#r#s# #e#.#g#.# #m#a#y#b#e# #>#=##i#s# #n#e#e#d#e#d# #i#n#s#t#e#a#d#
# #o#f# # #># #,# #e#t#c#.##2#.# #W#h#e#n# #w#e# #t#e#s#t# #f#o#r#
#e#q#u#a#l#i#t#y# #o#f# #r#e#a#l# #v#a#r## s#/#c#o#n#s#t## s# #(#u#n#l#i#k#e#
#i#n#t#e#g#e#r#s#)#,# #w#e# #c#a#n# #n#o#t# #u#s#e# #=#=# #.##W#e# #m#u#s#t#
#u#s#e# #e#.#g#.# #I#F#(#A#B#S#(#x#-#1#0#.#)# #<# #0#.#0#0#0#0#0#1#)# #T#H#E#N# ##
#I#F#(#x#=#=#1#0#.#)#,# #f#o#r# #x# #r#e#a#l#,# #m#a#y# #b#e# #f#a#l#s#e#
#b#e#c#a#u#s#e# #i#n# #s#o#m#e# #c#o#m#p#u#t#e#r# #x#=#0#.#9#9#9#9#9#9#9#
#(#w#h#i#c#h# #i#s# #1#0#.#0#)#.# ####P##############Z#-##########"
##Z#############Z##########-########################
###########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"###############################################

0##

#P######H#########################(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################K#################
###Chapter
3#######
#########
############
###
#################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################5####################Recommended
Problems (not to be handed in) Page 95 , Quiz 3-1 (answers are on the back):
1(a,b,d,f,h), 2Page 117 , Quiz 3-2 (answers are on the back):1,2,4,6,7Page 123-124,
Exercises: 3-1, 3-2, 3-4, 3-6, 37###4###,###########m#########;###########+##################
###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####D#)I##"###############################################

0##

#P######H####
######################(#####
######################
#####################
#########
####H########L################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
{#################+###Chapter 4 LOOPS AND CHARACTER
MANIPULATION####"###,#########*########################
###,#################
#########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
####################ObjectivesKnow how to create and use while loops.Know how
to create and use counting loops.Know when to use while loops, and when to use
counting loops. Know the purpose of the CONTINUE and EXIT statements, and how to
use them. Understand loop names, and why they are used. Learn about character
assignments and character operators. Learn about substrings and string
manipulations. ###8###############P#}#########P#
##########|####################
###############H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S#07ji##"###############################################

0##

#############
######################(#####
######################
####################
#########
####H########X################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################L#################
###While Loop##############################
#####################
#########
####H########d################?##############R#e#c#t#a#n#g#l#e#
#3##########<#'#g#_###############################
#################U###The While Loop DO
...
!
IF
(logical_expr) EXIT
! Code block
...
! END
DOThe block of statements between the DO and END DO are repeated indefinitely until
the logical_expr becomes true and the EXIT statement is executed. After the EXIT
statement is executed, control transfers to the first statement after the END DO.
###b###V###########Z######################

##########*#########V#########

##############################
###V############H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S#9###"###############################################

0##

##########
######################(#####
######################
####################
#########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
V#####################Statistical Analysis##############################
################F#####
#########
####H########x#################?##############R#e#c#t#a#n#g#l#e#
#3#############################################
#################f###Example: The average and standard deviation of set of
numbers ( xi is sample i out of N samples):#######g###########g############
###g############|####
#########
####T############A#########?###############?
################P#i#c#t#u#r#e# #7#3###########Z#>######|####
#########
####T############A#########?###############?
################P#i#c#t#u#r#e# #7#4##########'
#
#####H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S###"###############################################

0##

#1######)###0

##########

###########(#####
#####

######################

##############
#####

###
####H########%################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
I#####################Problem##############################
#####################
#####

###
####H########(################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
##################x###1. State the problem Calculate the average and the
standard deviation of a set of , if measurements are either positive or zero, and
if we do not know in advance how many measurements there are. A negative input
value will mark the end of the set of measurements.2. Define the inputs and
outputs The inputs are a number of positive or zero real (floating-point) numbers.
###Z###y###############################################################L######
#################
###y############H#####
#####

###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S#
.##"###############################################

0##

#H######@###@
######################(#####
######################
####################
#########
####H########C################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################K#################
###Algorithm#######
#########
############
###
#################
#########
####H########F################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#####################3. Design the algorithm (steps)Accumulate the input data
Calculate the mean and standard deviation Write out the mean, standard deviation,
and number of points ###B###!
#################################################################
###############H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S#j##"################################################

0##

#|######t###P

################

######(#####
######################
####################
#########
####H########p\################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################L#################
###PseudoCode##############################
#####################
#########
####H########|_################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
H####################T#h#e# #p#s#e#u#d#o#c#o#d#e# #f#o#r# #t#h#e#s#e#
#s#t#e#p#s# #i#s#:# ##I#n#i#t#i#a#l#i#z#e# #n#,# #s#u#m#_#x#,# #a#n#d#
#s#u#m#_#x#2# #t#o# #0##W#H#I#L#E# ## # # #P#r#o#m#p#t# #u#s#e#r# #f#o#r# #n#e#x#t#
#n#u#m#b#e#r# ## # # #R#e#a#d# #i#n# #n#e#x#t# #x# ## # # #I#F# #x# #<# #0#.#
#E#X#I#T## # # #n# # #n# #+# #1# ## # # #s#u#m#_#x# # #s#u#m#_#x# #+# #x# ## #
# #s#u#m#_#x#2# # #s#u#m#_#x#2# #+# #x#*#*#2# ##E#n#d# #o#f# #W#H#I#L#E#
####X############P###########################################################
#################
###############H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S#pO##"###############################################

0##

##########`
################~######(#####
######################
####################
#########
####H########y################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################L#################
###PseudoCode##############################
################V#####
#########
####H########|################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################L###P#s#e#u#d#o#c#o#d#e# #t#o# #C#a#l#c#u#l#a#t#e# #t#h#e#
#m#e#a#n# #a#n#d# #s#t#a#n#d#a#r#d# #d#e#v#i#a#t#i#o#n#.# # ##x#_#b#a#r# #
#s#u#m#_#x# #/# #R#E#A#L#(#n#)# ##s#t#d#_#d#e#v#
#S#Q#R#T#(#(#R#E#A#L#(#n#)#*#s#u#m#_#x#2# #-# #s#u#m#_#x#*#*#2#)# #/#
#(#R#E#A#L#(#n#)#*#R#E#A#L#(#n#-#1#)#)#)##W#r#i#t#e# #o#u#t# #t#h#e#
#r#e#s#u#l#t#s# #:# # ##W#r#i#t#e# #o#u#t# #t#h#e# #m#e#a#n# #v#a#l#u#e#
#x#_#b#a#r##W#r#i#t#e# #o#u#t# #t#h#e# #s#t#a#n#d#a#r#d# #d#e#v#i#a#t#i#o#n#
#s#t#d#_#d#e#v##W#r#i#t#e# #o#u#t# #t#h#e# #n#u#m#b#e#r# #o#f# #i#n#p#u#t# #t#h#e#
#n# #d#a#t#a#
#p#o#i#n#t#s####@###'#########A################################################
#####
###'############H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S#n##"###############################################

0##

############p
######################(#####
######################
###############
#####
#########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
n#################*###Turn the algorithm into Fortran
statements#######+#########+#############
###+############]#####
#########
####H########P################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################s###PROGRAM stats_1IMPLICIT NONEINTEGER :: n = 0
! The
number of input samples.REAL :: std_dev = 0. ! The standard deviation of the input
samples.REAL :: sum_x = 0.
! The sum of the input values. REAL :: sum_x2 = 0. !
The sum of the squares of the input values. REAL :: x = 0.
! An input data
value.REAL :: x_bar
! The average of the input samples.###
###t###########r######################
###t############H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S##3###"################f###############################

0##

##########
########## #####V######(#####
######################
##### #########
#####
##### ###
####H########
################?######### #####R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
n#################*###Turn the algorithm into Fortran
statements#######+#########+#############
###+############

#####
##### ###
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
p#################*###DO ! While Loop to read input values.
! Read in next
value
WRITE (*,*) 'Enter number: '
READ (*,*) x
WRITE (*,*) 'The number is
', x
! Test for loop exit
IF ( x < 0 ) EXIT
! Otherwise, accumulate sums.
n
= n + 1
sum_x = sum_x + x
sum_x2 = sum_x2 + x**2END
DO#######+###########P#+############
###+############H#####
##### ###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S#p.v##"###############################################

0##

##########
##########$#####o######(#####
######################
#####$#########
#####
#####$###
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
n#################*###Turn the algorithm into Fortran
statements#######+#########+#############
###+############%#####
#####$###
####H########(P
# ###############?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################C###! Calculate the mean and standard deviationx_bar = sum_x /
real(n)std_dev = sqrt( (real(n) * sum_x2 - sum_x**2) / (real(n) * real(n-1)) )!
Tell user.WRITE (*,*) 'The mean of this data set is:', x_barWRITE (*,*) 'The
standard deviation is:
', std_devWRITE (*,*) 'The number of data points is:', n
END PROGRAM stats_1#######D###########Z#D############
###D############H#####
#####$###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S#Pi##"###############################################

0##

#Z######R###
##########(###########(#####
######################
#####(##############
#####(###
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
T#####################Test the program###############################
#####################
#####(###
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
##################`###For input values: 3, 4, and 5 : 3.The number is
3.000000Enter number:4.The number is
4.000000Enter number:5.The number is
5.000000Enter number:-1.The number is
-1.000000The mean of this data set is:
4.000000Enter number:The standard deviation is:
1.000000The number of data
points is:
3######a###########P#!
####################,####################,####################,#################
#############:####################V############
###a############H#####
#####(###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S#Q##"###############################################

0##

#P######H###
##########,###########(#####
######################
#####,##############
#####,###
####H########@################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
U#####################The DO WHILE Loop###############################
#####################
#####,###
####H########X#################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
##################k###There is an alternate form of the while loop in Fortran
95/2003, called the DO WHILE loop. The DO WHILE construct has the formDO WHILE
(logical_expr)
...
! Statement 1
...
! Statement 2
...
! ...
...
! Statement nEND DOGood Programming Practice: Do not use DO WHILE
loops in new programs. Use the more general while loop instead.
###b###l###########Z#####################
#########

##########e#############################V############"######################

##############H#####
#####,###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S# #4##"################m###############################

0##

##########
##########0#####]######(#####
######################
#####0##############
#####0###
####H########+################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
`#####################The Iterative or Counting
Loop##############################
################!#####
#####0###
####H########2################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################################################
###DO index = istart, iend, incr
Statement 1
!
...
! Body
Statement n
!END DO Loop index variable : indexLoop
parameters (constants or variables) : istart, iend, incrNote: All these variables
or constants must be declared before the loop as INTEGER .###N###
###########[#################### #########+####################U#############
###
############H#####
#####0###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S# (=##"################x###############################

0##

##########
##########4#####h######(#####
######################
#####4##############
#####4###
####H########B################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
`#####################The Iterative or Counting
Loop##############################
################,#####
#####4###
####H########E################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################6###H#o#w# #l#o#o#p# #w#o#r#k#s#:# ##1#.# #E#v#a#l#u#a#t#e#
#p#a#r#a#m#e#t#e#r#s#:# # #i#s#t#a#r#t#,# #i#e#n#d#,# #a#n#d# #i#n#c#r# ###2#.#
#I#n#d#e#x# # #i#s#t#a#r#t#;# #I#f# #i#n#d#e#x#*#i#n#c#r# #<#=#
#i#e#n#d#*#i#n#c#r#,# #t#h#e# #p#r#o#g#r#a#m# #e#x#e#c#u#t#e#s# #t#h#e#
#s#t#a#t#e#m#e#n#t#s# #w#i#t#h#i#n# #t#h#e# #b#o#d#y# #o#f# #t#h#e# #l#o#o#p#.# ##
#3#.# #r#e#c#a#l#c#u#l#a#t#e#:# # #i#n#d#e#x# #=# #i#n#d#e#x# #+# #i#n#c#r# ###4#.#
#I#f# #i#n#d#e#x#*#i#n#c#r# #<#=# #i#e#n#d#*#i#n#c#r#,# #g#o#t#o# #t#o# #2#.#
#a#b#o#v#e# #a#n#d# # #r#e#p#e#a#t# #.#
####,###############L################################
################H#####
#####4###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S#`4###"###############################################

0##

#
##########
##########8###########(#####
######################
#####8##############
#####8###
####H########l]################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################`#####################The
Iterative or Counting Loop##############################
################j#####
#####8###
####H########T`################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###########################################The number
of times the count loop (without an IF () EXIT) is executed is given by the
integer arithmetic expression:
(iend-istart+incr)/incrAlso, the
count loop will not be executed if for all index values for which:
index*incr > iend*incr
#############################+####################E###########################
########################"###########################################
################H#####
#####8###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S#`4###"###############################################

0##

##########
##########<#####~######(#####
######################
#####<##############
#####<###
####H########}################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
J#####################Examples####### #########
############
###
############X#####
#####<###
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################v###DO i = 1, 10
Statement 1
...
Statement nEND DODO i =
1, 10, 2
Statement 1
...
Statement nEND DO
#######w###########Z#w############
###w############H#####
#####<###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S#
###"###############################################

0##

###########
##########@###########(#####
######################
#####@##############
#####@###
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
J#####################Examples####### #########
############
###
############]#####
#####@###
####H########\################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################{###DO i = 1, 10, -1
Statement 1
...
Statement nEND DODO
i = 3, -3, -2
Statement 1
...
Statement nEND DO#######|###########Z#|
############
###|############H#####
#####@###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S#
###"################3###############################

0##

###########
##########D############(#####
######################
#####D##############
#####D###
####H########$################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
J#####################Examples####### #########
############
###
#################
#####D###
####H########l################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
a#####################The Factorial Function: To illustrate the operation of a
counting loop, we will use a DO loop to calculate the factorial function. For
integer numbers n (in mathematics) the factorial function is defined as:
n! =1
if n = 0
n! = n * (n-1) * (n-2) * ...
* 3 * 2 * 1
if n >= 1 e.g. for n=4 then n!=4*3*2*1=24.The Fortran code to
calculate n factorial for n>0 is: n_factorial = 1 ! We use the variable name
n_factorial for n!DO i = 1, n
n_factorial = n_factorial * iEND
DO###0###############P###################################
################H#####
#####D###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S#
###"###############################################

0##

##########
##########H###########(#####
######################
#####H##############
#####H###
####H########X################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
J#####################Examples####### #########
############
###
#################
#####H###

####H########
#
###############?
##############R#e#c#t#a#n#g#l#e# #3###########
#`###################################################H###I#f# #n# #i#s#
#5#,# #t#h#e# #D#O# #l#o#o#p# #p#a#r#a#m#e#t#e#r#s# #w#i#l#l# #b#e# #i#s#t#a#r#t#
#=# #1#,# #i#e#n#d# #=# #5#,# #a#n#d# #i#n#c#r# #=# #1#.# #T#h#e#
#f#a#c#t#o#r#i#a#l# #w#i#l#l# #b#e#:# ##1#*#2#*#3#*#4#*#5#=# #1#2#0##E#x#a#m#p#l#e#
#4#-#3## C#a#l#c#u#l#a#t#i#n#g# #t#h#e# #D#a#y# #o#f# #Y#e#a#r#:# ##1#.#
#Y#e#a#r#s# #e#v#e#n#l#y# #d#i#v#i#s#i#b#l#e# #b#y# #4#0#0# #a#r#e# #l#e#a#p#
#y#e#a#r#s#.# ##2#.#
#Y#e#a#r#s# #e#v#e#n#l#y# #d#i#v#i#s#i#b#l#e# #b#y# #1#0#0#
#b#u#t# #n#o#t# #b#y# #4#0#0# #a#r#e# #n#o#t# #l#e#a#p# #y#e#a#r#s#.# ##3#.#
#A#l#l# #y#e#a#r#s# #d#i#v#i#s#i#b#l#e# #b#y# #4# #b#u#t# #n#o#t# #b#y#
#1#0#0# #a#r#e# #l#e#a#p# #y#e#a#r#s#.# ##4#.# #A#l#l# #o#t#h#e#r# #y#e#a#r#s#
#a#r#e# #n#o#t# #l#e#a#p# #y#e#a#r#s#.# ##S#e#e# #t#h#e# #p#r#o#g#r#a#m#
#F#i#g#u#r#e# #4#-#6# #(#P#R#O#G#R#A#M# #d#o#y#)#.#
####n##############u#########(##########Y####################=#################
###]#################################
####################
#####H###
####T##################################?
##############R#e#c#t#a#n#g#l#e# #4############f##
##
N############################################
################

##############H#####
#####H###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S#
###"################A###############################

0##

##########0
##########L#####1######(#####
######################
#####L##############
#####L###
####H########(################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
a#####################Examples (Programming Pitfalls)####### #########
############
### #################
#####L###
####H########D################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
X#####################DO i = 3, 2
...END DOSince: (iend-istart+incr)/incr= (23+1)/1=0, the DO loop will never be executed. Count down loops:
DO i = 3, 1, -3
...END DOSince:(iend-istart+incr)/incr= (1-3+(-3) )/(-3) = -5/(3) = 1, the DO loop will be executed only once (for
i=3).###################Z##############
################H#####
#####L###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S#
###"################9###############################

0##

##########@
##########P#####)######(#####
######################
#####P##############
#####P###
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################]#####################Examples
(Program Pitfalls)##############################
#####################
#####P###
####H########|#################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################l################# ###Good
Programming Practice:Never modify the value of a DO loop index variable while
inside the loop. Never depend on a loop index variable to retain a specific value
after a DO loop completes normally. So, avoid using it in statements after the loop
(see the examples in the next page).#######!###############################
###!############H#####
#####P###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S#
###"################################################

0##

#s######k###P
##########T############(#####
######################
#####T##############
#####T###
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
]#####################Examples (Program
Pitfalls)##############################
#####################
#####T###
####H#########%################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
.####################
INTEGER :: i ! Branch out of the loop before
completion
DO i = 1, 5
...
IF (i >= 3) EXIT
...
END DO
The value of the index variable i=3
when the loop is completed.
INTEGER :: i
DO i = 1, 5
...
END DO
WRITE (*,*) iThe value of the index variable i
is undefined when the loop is completed. ###D##############P#
#######

##########E##########q#########N#############
###############H#####
#####T###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####S#
###"###############################################

0##

#,######$###`
##########X###########(#####
######################
#####X##############
#####X###
####H########T?################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################_#####################The CYCLE
and EXIT Statements##############################
#####################
#####X###
####H########B################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##########################################There are
two additional statements which can be used to control the operation of while loops
and counting DO loops: CYCLE and EXIT.
If the CYCLE statement is executed in the
body of a DO loop, the execution of the current iteration of the loop will stop,
and control will be returned to the top of the loop. The loop index will be
incremented, and execution will resume again if the index has not reached its
limit. ###*############################################
###############H#####
#####X###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T##xw##"###############################################

0##

#)######!###p
##########\###########(#####
######################
#####\##############
#####\###
####H########@Y################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
_#####################The CYCLE and EXIT
Statements##############################
################~#####
#####\###
####H########p\################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
####################E#x#a#m#p#l#e# #w#i#t#h# #C#Y#C#L#E#:# ##P#R#O#G#R#A#M#
#t#e#s#t#_#c#y#c#l#e##I#N#T#E#G#E#R# #:#:# #i##D#O# #i# #=# #1#,# #5## # # #I#F#
#(# #i# #=#=# #3# #)# #C#Y#C#L#E# # # # # # # #!# #I#f# #t#r#u#e# #g#o# #n#e#x#t#
#t#o# #s#t#a#r#t# #o#f# #t#h#e# #l#o#o#p## # # #W#R#I#T#E# #(#*#,#*#)# #i##E#N#D#
#D#O##W#R#I#T#E# #(#*#,#*#)# ## E#n#d# #o#f# #l#o#o#p#!## #E#N#D# #P#R#O#G#R#A#M#
#t#e#s#t#_#c#y#c#l#e###################Z#############
###############H#####
#####\###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T##xw##"################{###############################

0##

##########
##########`#####k######(#####
######################
#####`##############
#####`###
####H########q################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
_#####################The CYCLE and EXIT
Statements##############################
################0#####
#####`###
####H########t################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################################################<###
#I#f# #t#h#e# #E#X#I#T# #s#t#a#t#e#m#e#n#t# #i#s# #e#x#e#c#u#t#e#d# #i#n# #t#h#e#
#b#o#d#y# #o#f# #a# #l#o#o#p#,# #t#h#e# #e#x#e#c#u#t#i#o#n# #o#f# #t#h#e# #l#o#o#p#
#w#i#l#l# #s#t#o#p# #a#n#d# #c#o#n#t#r#o#l# #w#i#l#l# #b#e# #t#r#a#n#s#f#e#r#r#e#d#
#t#o# #t#h#e# #f#i#r#s#t# #e#x#e#c#u#t#a#b#l#e# #s#t#a#t#e#m#e#n#t# #a#f#t#e#r#
#t#h#e# #l#o#o#p#.# # #A#n# #e#x#a#m#p#l#e# #o#f# #t#h#e# #E#X#I#T#
#s#t#a#t#e#m#e#n#t# #i#n# #a# #D#O# #l#o#o#p# #i#s# #s#h#o#w#n# #b#e#l#o#w#.# #
#P#R#O#G#R#A#M# #t#e#s#t#_#e#x#i#t##I#N#T#E#G#E#R# #:#:# #i##D#O# #i# #=# #1#,# #5#
# # # #I#F# #(# #i# #=#=# #3# #)# #E#X#I#T# #!# #I#f# #t#r#u#e# #g#o# #n#e#x#t#
#t#o# #e#n#d# #o#f# #t#h#e# #l#o#o#p## # # #W#R#I#T#E# #(#*#,#*#)# #i##E#N#D# #D#O#
#W#R#I#T#E# #(#*#,#*#)# ## E#n#d# #o#f# #l#o#o#p#!## #E#N#D# #P#R#O#G#R#A#M#
#t#e#s#t#_#e#x#i#t####*##############Z##############################
###############H#####
#####`###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T##xw##"###############################################

0##

##########
##########d#####u######(#####
######################
#####d##############
#####d###
####H########\################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
M#####################Named Loops#######

#########

############
###

############L#####
#####d###
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################0###[name:] DO Statement
Statement
...
IF
( logical_expr ) CYCLE [name] ...
IF ( logical_expr ) EXIT [name]
...END DO
[name]Good Programming Practice: Assign a name to any large and complicated loops
in your program to help you keep the parts of the construct associated together in
your own mind.
###R###1###########P########################################################
##########
###1############H#####
#####d###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T##xw##"###############################################

0##

#4######,###
##########h###########(#####
######################
#####h##############
#####h###
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
M#####################Named Loops#######

#########

############
###

#################
#####h###
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
####################[name:] DO index = istart, iend, incr
Statement
Statement
...
IF ( logical_expr ) CYCLE [name]
...
END DO
[name]###N##############Z##########@#######

########
####################################
###############H#####
#####h###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T##xw##"################################################

0##

#~######v###
##########l############(#####
######################
#####l##############
#####l###
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################S#####################Nesting
Loops ################################
#####################
#####l###
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################[#####################It is
possible for one loop to be completely inside another loop. If one loop is
completely inside another one, the two loops are called nested loops. The
following example shows two nested DO loops used to calculate and write out the
product of two integers.###&######################

########r##########
################H#####
#####l###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T#[##"###############################################

0##

#9######1###
##########p###########(#####
######################
#####p##############
#####p###
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
S#####################Nesting Loops ################################
#####################
#####p###
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
####################PROGRAM nested_loopsINTEGER :: i, j, productDO i = 1, 3
DO j = 1, 3
product = i * j
WRITE (*,*) i, ' * ', j, ' = ', product
END DOEND DOEND PROGRAM nested_loops##################Z#############
###############H#####
#####p###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T#[##"###############################################

0##

#?######7###
##########t###########(#####
######################
#####t##############
#####t###
####H########P################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
S#####################Nesting Loops ################################
#####################
#####t###
####H########|################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#####################
The results are
1 * 1 =
1 1 * 2 =
2
1 * 3 =
3
2 * 1 =
2
2 * 2 =
4
2 * 3 =
6
3 * 1
=
3
3 * 2 =
6
3 * 3 =
9When a Fortran compiler encounters an END
DO statement, it associates that statement with the innermost currently open loop.
Good Programming Practice: Assign names to all nested loops so that they will be
easier to understand and debug.
###N##############P####################&####################k##########Y######
######
###############H#####
#####t###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T#[##"###############################################

0##

##########
##########x###########(#####
#####x##############
#####x###
####H########

######################

################?##############R#e#c#t#a#n#g#l#e# #2###########
#`#}###############################_#####################Nesting Loops
####"#####################################
#####################
#####x###
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
R#####################
###################################$####
################X#####
#####x###
####T###################################?
##############R#e#c#t#a#n#g#l#e# #4##########c#q# #|###
#################\###Compiling a named loop helps us find errors
PROGRAM bad_nested_loops_2INTEGER :: i, j, product
outer: DO i = 1, 3
inner: DO j = 1, 3
product = i * j
WRITE (*,*) i, ' * ', j, ' = ', productEND DO outer
END PROGRAM
bad_nested_loops_2bad_nested_loops_2.f90(7) : Error: The block construct names must
match, and they do not.
[OUTER]END DO outer-------^bad_nested_loops_2.f90(3) :
Error: An unterminated block exists.outer: DO i = 1, 3^compilation aborted for
bad_nested_loops_2.f90 (code 1)###6###]#######
#####-###########################:############
###]############

##############H#####
#####x###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T#[##"###############################################

0##

############
##########|###########(#####
######################
#####|##############
#####|###
####H########\1################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
S#####################Nesting Loops ################################
#####################
#####|###
####H########p4################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################}###If two loops are to be nested, one of them must lie
completely within the other one. e.g. of DO loops are incorrectly nested outer: DO
i = 1, 3
...
inner: DO j = 1, 3
...
END DO
outer
...
END DO inner Good Programming Practice: Assign names
to all nested loops so that they will be easier to understand and debug.
###8###~###########P##############################t############
###~############H#####
#####|###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T#[##"###############################################

0##

#<######4##########################(##### ######################
###################
########
####H########N################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
a#####################Nested Loops with CYCLE or EXIT####### #########
############
### #################
########
####H########0Q################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################w###If a CYCLE or EXIT statement appears inside an unnamed set
of nested loops, then the CYCLE or EXIT statement refers to the innermost of the
loops containing it. e.g.PROGRAM test_cycle_1INTEGER :: i, j, productDO i = 1, 3
DO j = 1, 3
IF ( j == 2) CYCLE
product = i * j
WRITE (*,*) i, ' *
', j, ' = ', product
END DOEND DOEND PROGRAM
test_cycle_1###N###x###########P#/####################E#########
##########"#####################
###x############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T##xw##"###############################################

0##

##################################(##### ######################
###################
########
####H########k################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
a#####################Nested Loops with CYCLE or EXIT####### #########
############
### ############S#####
########
####H########n################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###################################################u###
The resulting output values are
1 * 1 =
1
1 * 3 =
3
2 * 1 =
2
2 * 3 =
6
3 * 1 =
3
3 *
3 =
9#######v###########v##########
###v############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T##xw##"###############################################

0##

########### ######################(##### ######################


###################
########
####H########dy################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
a#####################Nested Loops with CYCLE or EXIT####### #########
############
### ############h#####
########
####H########~################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################r###PROGRAM test_cycle_2 ! Skip remainder of the code block of
the inner DO INTEGER :: i, j, productouter: DO i = 1, 3
inner: DO j = 1, 3
IF ( j == 2) CYCLE outer
product = i * j
WRITE (*,*) i, ' * ', j, ' = ',
product
END DO innerEND DO outerEND PROGRAM test_cycle_2The resulting output
values are 1 *
1 =
1
2 *
1 =
2
3 *
1 =
3###,###s###########?
####################.############
###s############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T##xw##"################?###############################

0##

##########0################/######(##### ######################
###################
########
####H########`################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################d#################"###Nesting
Loops within IF Constructs##############################
#####################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################k#####################Nesting
Loops within IF Constructs and vice versa
It is possible to nest loops within
block IF constructs or block IF constructs within loops. If a loop is nested
within a block IF construct, the loop must lie entirely within a single code block
of the IF construct. ###.#############3###############5###################
################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T##xw##"###############################################

0##

#+##########@######################(##### ######################
####################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
d#################"###Nesting Loops within IF
Constructs##############################
################{#####
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
####################e.g. illegal or incorrect nesting:outer: IF ( a < b ) THEN
...
inner: DO i = 1, 3
... ELSE
...
END DO inner
... END IF
outer##############################
###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T##xw##"###############################################

0##

###########P######################(##### ######################
####################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
d#################"###Nesting Loops within IF
Constructs##############################
#####################
########
####H########,################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
Z#####################e.g. Correct nesting:################################
################T#####
########
####T########P##########################?
##############R#e#c#t#a#n#g#l#e# #4###########A#@#####################v###
outer: IF ( a < b ) THEN
...
inner: DO i = 1, 3
...
END DO inner
... ELSE
... END IF outer#######w#######
#####w############
###w############

##############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T##xw##"################6###############################

0##

##########`################&######(##### ######################
####################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
f#################$###Character assignments and substrings#######%#########
%############
###%#################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
H####################e#.#g#.# ##C#H#A#R#A#C#T#E#R#(#l#e#n#=#3#)# #:#:#
#f#i#l#e#_#e#x#t##f#i#l#e#_#e#x#t# #=# #'#f#'# # # #!# #S#t#o#r#e#s# ## f# # ##
#i#n#t#o# # #v#a#r#i#a#b#l#e# # #f#i#l#e#_#e#x#t##e#.#g#.# #
#C#H#A#R#A#C#T#E#R#(#l#e#n#=#3#)# #:#:# #f#i#l#e#_#e#x#t#_#2#
#f#i#l#e#_#e#x#t#e#n#t#_#2# #=# #'#F#I#L#E#0#1#'# # #!# #S#t#o#r#e#s# ## F#I#L## #
#i#n#t#o# # #v#a#r#.# #f#i#l#e#_#e#x#t##e#.#g#.# #s#t#r#1# #=# #'#1#2#3#4#5#6#'#
#t#h#e#n# #s#u#b#s#t#r#i#n#g# #s#t#r#1#(#2#:#4#)# #i#s# #'#2#3#4#'# #
#E#x#a#m#p#l#e# #4#-#5# # #W#h#a#t# #w#i#l#l# #t#h#e# #c#o#n#t#e#n#t#s# #o#f#
#v#a#r#i#a#b#l#e#s# #a#,# #b#,# #a#n#d# #c# #b#e# #a#t# #t#h#e# #e#n#d# #o#f#
#t#h#e# #f#o#l#l#o#w#i#n#g# #p#r#o#g#r#a#m#?#
####b###]###########Z#########+#################g#################[###############
#############[############
###]############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T##xw##"###############################################

0##

#S######K###p######################(##### ######################
####################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
f#################$###Character assignments and substrings#######%#########
%############
###%#################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3############D##%################################
##################1###PROGRAM test_char1CHARACTER(len=8) :: a, b, ca =
'ABCDEFGHIJ' ! a stores 'ABCDEFGH' b = '12345678' ! '12345678' c = a(5:7)
! c
stores 'EFG
' (it has 5 blanks) b(7:8) = a(2:6)
! b stores '123456BC'
WRITE(*,*) " a =", aWRITE(*,*) " b
=", bWRITE(*,*) " c =", cEND PROGRAM
test_char1#######2###########2###############.#################################
#############################################################

#######################4#########
########

#############g############H#####

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T##xw##"###############################################

0##

#Y######Q#########################(##### ######################
###################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
]#####################Concatenation operator
(//)##############################
#####################
########
####H########P#################?##############R#e#c#t#a#n#g#l#e#
#3############D##%################################
#####################
PROGRAM test_char2CHARACTER(len=10) :: a
CHARACTER(len=8) :: b, ca= 'ABCDEFGHIJ'b = '12345678'c = a(1:3) // b(4:5) // a(6:8)
! c stores 'ABC45FGH' END PROGRAM test_char2
###2######################################################
###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T##xw##"################################################

0##

#x######p##########################(##### ######################
####################
########
####H########04################?##############R#e#c#t#a#n#g#l#e#
#2###########'#g#t###############################
j#################(###Relational Operators with Character
Data#######)#########)############
###)#################
########
####H########|7################?##############R#e#c#t#a#n#g#l#e#
#3############D##%################################
&#################### # # ## # #C#h#a#r#a#c#t#e#r# #s#t#r#i#n#g#s# #c#a#n#
#b#e# #c#o#m#p#a#r#e#d# #i#n# #l#o#g#i#c#a#l# #e#x#p#r#e#s#s#i#o#n#s# #
#u#s#i#n#g#:# #=#=#,# #/#=#,# #<#,# #<#=#,# #>#,# #a#n#d# #>#=# #:# ##e#.#g#.#
#'#1#2#3#'# #=#=# #'#1#2#3#'# #i#s# #t#r#u#e# #e#.#g#.# #'#1#2#3#'# #=#=#
#'#1#2#3#4#'# #i#s# #f#a#l#s#e# ##O#r#d#e#r# #i#s# #t#h#e# #c#o#l#l#a#t#i#n#g#
#s#e#q#u#e#n#c#e# #o#f# #t#h#e# #c#h#a#r#a#c#t#e#r#s# #o#n# #t#h#e#
#c#o#m#p#u#t#e#r#:# ##I#t# #i#s# #t#h#e# #o#r#d#e#r# #n#u#m#b#e#r# #i#n# #t#h#e#
#A#S#C#I#I# #s#e#t# #o#f# #s#y#m#b#o#l#s#:# #e#.#g#.# #'#A#'# #i#s# #6#5# #a#n#d# #
# #'#B#'# # #i#s# #6#6#;# #a#l#s#o# #'#a#'# #i#s# #9#7#,# #a#n#d# ## b#'# #i#s#
#9#8##C#o#m#p#a#r#i#s#o#n# #i#s# #l#e#f#t# #t#o# #r#i#g#h#t# #a#n#d#
#c#h#a#r#a#c#t#e#r# #p#e#r# #c#h#a#r#a#c#t#e#r#:# #e#.#g#.# #t#r#u#e#:# #
#'#A#A#A#A#A#B#'# #># #'#A#A#A#A#A#A#'# ##'#A#B#'# #># #'#A#A#A#A#'# # # # #a#n#d#
# # #'#A#A#A#A#A#'# #># #'#A#A#A#A#'# ####J#################################

####################Y#####################
###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T##xw##"###############################################

0##

#
################################(#####
######################
###################
########
####H########pS################?##############R#e#c#t#a#n#g#l#e#
#2###########'#g#t###############################
_#####################Character intrinsic
functions##############################
################^#####
########
####H########V################?##############R#e#c#t#a#n#g#l#e#
#3############D##%################################
#################\###B#o#o#k# #T#a#b#l#e# #4#-#1# #c#h#a#r#a#c#t#e#r#
#f#u#n#c#t#i#o#n#s#:# #A#C#H#A#R#(#i#v#a#l#)# #I#A#C#H#A#R#(#c#h#a#r#)#,#
#L#E#N#(#s#t#r#1#)#,# #L#E#N#_#T#R#I#M#(#s#t#r#1#)# #,# #T#R#I#M#(#s#t#r#1#)# #
#S#e#e# #a#l#s#o# #a#p#p#e#n#d#i#x# #(#B#.#7# #p#p#.# #8#9#9#-#9#0#2#)#.# #
#S#k#i#p# #p#r#o#g#r#a#m# #E#x#a#m#p#l#e# #4#-#6## S#h#i#f#t#i#n#g# #S#t#r#i#n#g#s#
#t#o# #U#p#p#e#r# #C#a#s#e# #.# ##O#n#e# #c#a#n# #c#o#m#p#a#r#e#
#c#h#a#r#a#c#t#e#r# #s#t#r#i#n#g#s# #u#s#i#n#g# #t#h#e# #i#n#t#r#i#n#s#i#c#
#f#u#n#c#t#i#o#n#s#:# ##L#G#E#(#s#t#r#1#,#s#t#r#2#)#,#
#L#G#T#(#s#t#r#1#,#s#t#r#2#)#,#
#L#L#E#(#s#t#r#1#,#s#t#r#2#)#,#L#L#T#(#s#t#r#1#,#s#t#r#2#)# ##e#.#g#.#
#F#o#r#t#r#a#n# #s#t#a#t#e#m#e#n#t#s#:# ##s#t#r#1#=#'#A#A#A#A#A#B#'# #,#
#s#t#r#2#=# # #'#A#A#A#A#A#A#'##W#R#I#T#E#(#*#,#*#)# #L#G#T#(#s#t#r#1#,#s#t#r#2#)#
#!# # #I#t# #p#r#i#n#t#s# #T#R#U#E#
####8#########################################################
###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T##xw##"################P###############################

0##

##########################@######(##### ######################
###################
########
####H########hJ################?##############R#e#c#t#a#n#g#l#e#
#2###########'#g#t###############################
_#####################Character intrinsic
functions##############################
#####################
########
####H########,q################?##############R#e#c#t#a#n#g#l#e#
#3############D##%################################
_#####################
###*################################################
######################
########
####T########v##########################?
##############R#e#c#t#a#n#g#l#e# #4##########k##u###
~#####################e.g.Quiz 4-2 What is written out by each of the WRITE
statements below? PROGRAM test_char
CHARACTER(len=10) :: str1 = 'Hello'
CHARACTER(len=10)
:: str2 = 'World'
CHARACTER(len=20) :: str3str3 = str1 // str2
WRITE (*,*) LEN(str3)
! 20
WRITE (*,*) LEN_TRIM(str3) ! 15
str3 = TRIM(str1) // TRIM(str2)
WRITE (*,*) LEN(str3) ! 20
WRITE (*,*) LEN_TRIM(str3) ! 10
END PROGRAM test_char###"###########
###########################
################

##############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####T##xw##"###############################################

0##

##########################i######(##### ######################
##############H#####
########
####H########0################?##############R#e#c#t#a#n#g#l#e#
#2###########'#g#t###############################
#################R###E#x#a#m#p#l#e# #4#-#7## P#h#y#s#i#c#s#-#-#T#h#e#
#F#l#i#g#h#t# #o#f# #a# #B#a#l#l####,###*#########

##################################
###*#################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3############D##%################################
_#####################
###*################################################
#####################
########
####T###################################?
##############R#e#c#t#a#n#g#l#e# #4#############R###
Z#####################Range of ball thrown in the air will be: range=
-2.0*v0*v0 /g*cos(theta)*sin(theta)Write a program with a loop to check angles
theta = from 1 to 90 degreesPseudoCode: DO for theta = 0 to 90 degrees
Convert
theta to radians
Calculate the range of the ball for each angle theta
Determine if this theta yields the maximum range so far
Write out the range as a
function of thetaEND of DOWRITE out the theta yielding maximum range See (FIGURE 413) PROGRAM ball
###############
################
################

##############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####T##xw###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

##########################k######(##### ######################
####################
########
####@#########################?##############T#i#t#l#e# #5##########
##2#################################### ###
Basic I/O
Concepts#####*###!#######
##################################"#######################
######################
########
####\#############################?#####&########T#e#x#t#
#P#l#a#c#e#h#o#l#d#e#r# #6##########'###
###################o#####################
Chapter
5###############
##############(####
#############################H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.########+##########D=#####' ################################=
###@#B#####
######+######"################P###############################

0##

##########################@######(##### ######################
###################
########
####H########d################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################N#################
###Objectives###############################
######################
########
####H########$################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
z#################T###Formatted WRITEFormat descriptors : I, F, E, ES, L, A, X,
T, /Formatted READFiles###
###U############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####^#@Y##"###############################################

0##

#9######1#########################(##### ######################
###################
########
####H########L ################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
X#####################5.3 Format descriptors##############################
#####################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################{###Table 5-2 : Symbols with format descriptorsSymbol meaning
c
column numberd
no. of digits to the right of the decimal place of the
real input/outputm
minimum no. of digits to be displayed n
no. of spaces
to skip r
Repeat count (i.e. no. of times to use a group of descriptors) w
Field width (i.e. no. of characters to use in input or output) ###P###|
###########<####################################################&#############
###|############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####^###2##"###############################################

0##

###########

###############x######(#####
######################
####################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
f#####################Integer output :
rIw############################################# ################6#####
########
####H##########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################################################
# # #e#.#g#.# # # # # # # #I#N#T#E#G#E#R# #:#:# #t#,#d#,#h## # # # # # # # # # # #
# # # # # #t#=# #2#3## # # # # # # # # # # # # # # # # #d#=# #7#1#5## # # # # # # #
# # # # # # # # # #h#=# #-#1#2## # # # # # # # # # # # # # # # #
#W#R#I#T#E#(#*#,#2#0#0#)# #t#,#d#,#h## # # # # # # # # # # # # # # # # # #2#0#0#
#F#O#R#M#A#T#(#I#5#,#I#5#,#I#5#)## #w#i#l#l# #p#r#o#d#u#c#e# # # ## # # # # # # # #
# # # # # # # #f&f&f&2#3#f&f&7#1#5#f&f&-#1#2#####~#####################
################"#############################################################
########################4############ ###############
#0#########
################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####^##^##"################'###############################

0##

###########

######################(#####
######################
####################
########
####H##########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
e#####################Real output :
rFw.d############################################# #####################
########
####H#########!################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
:#################### # # #e#.#g#.## # # #x# #=# #3#.#1#4#1#5#9## #y# #=# ##2#7#5#.#3#0#2#4##
#z# #=# #1#2#.#9#9#9#9##
#W#R#I#T#E#(#*#,#2#0#0#)#
#x#,# #y#,# #z## # # # # #2#0#0# #F#O#R#M#A#T#(#F#1#0#.#3#,# #F#1#0#.#3#,#
#F#1#0#.#3#)# ## # # # # #!#u#s#i#n#g# #r#=#3#:# #2#0#0#
#F#O#R#M#A#T#(#3#F#1#0#.#3#)# # ##w#i#l#l# #p#r#o#d#u#c#e##
#f&f&f&f&f&3#.#1#4#2#f&f&-#2#7#5#.#3#0#2#f&f&f&f&1#3#.#0#0#0#
####P##############Z###########Z####################

#########!#######################B###o#########
#############
################H#####
########

###############

#M#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####^##^##"################0###############################

0##

##########

############### ######(#####
######################
####################
########
####H########<8################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
e#####################Real output :
rEw.d############################################# #####################
########
####H########;################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
C####################The E edit descriptor, produces a representation of
a
real number consisting of a decimal mantissa, fr, in the range
0.1 < fr< 1.0,
with d digits of fr, followed by a four character exponent e.g.
For d=4 :
+ 0.d1d2d3d4E+ee
the
whole number will occupy a
field width of w characters. So, w >=d+7 (7 characters:
mantissasign, 0, . , E,
exp.sign, 2 for exp.)
###,##############Z###########Z######################d####################7####
##########################################################(#####################
####################

################################6##############################

####################.###############################B#############
#############
############
#############
################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####^#p;]###"###############################################

0##

#F######>###0

#####################(#####
######################
####################
########
####H########0h################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
d#####################Real output :
Ew.d############################################# #####################
########
####H########k################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
####################e#.#g#.# #T#h#e# #n#u#m#b#e#r# #-#0#.#0#0#0#0#3#6#1#7#6#
#4#,# #w#i#l#l# #b#e# #o#u#t#p#u#t# #a#s#:# ## # # # #E#1#0#.#4# #
##.#3#6#1#8#E#-#0#4##
#E#1#2#.#6# #
#-#.#3#6#1#7#6#4#E#-#0#4#
##
#E#1#4#.#8# #
#-#.#3#6#1#7#6#4#0#0#E#-#0#4# ## # # # #B#u#t# #w#i#t#h#
#F#w#.#d# #f#o#r#m#a#t#,# #w#e# #l#o#s#e# #d#i#g#i#t#s# #i#n# #t#h#e#
#d#i#s#p#l#a#y#:## # # # #F#1#0#.#4#
#
#f&f&f&-#0#.#0#0#0#0## #F#1#2#.#6#
#
#f&f&f&-#0#.#0#0#0#0#3#6##
#F#1#4#.#8# #
#f&f&f&#0#.#0#0#0#0#3#6#1#8## ##################Z#4#########
#########################################################################:#####
##################################################################
#############0############ #############C######### ################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####^##4O##"################################################

0##

#b######Z###@

#####################(#####
######################
####################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
e#####################Real output :
ESw.d############################################# #####################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#####################The ES edit descriptor, produces a representation of
a real number consisting of a decimal mantissa, fr, in the range
1.0< fr< 10.0,
with d digits of fr, followed by a four character exponent e.g.
For d=3:
+ d1.d2d3d4E+ee
the
whole number will occupy a
field width of w characters. Again, w >=1+d+6 (6 characters:mantissasign, . , E,
exp.sign, 2 for exp.)
##################Z###########Z######################d####################6####
##########################################################(#####################
#####################################################6####################Y##
##################B############# #############
############
#############
################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####^#p;]###"################
###############################

0##

#j######b###P

#####################(#####
######################
####################
########
####H########t################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
e#####################Real output :
ESw.d############################################# #####################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
##################{###e.g. The number -0.0000361764, will be output as:
ES10.3
-3.618E-05 ES12.5
-3.61764E-05
ES14.7
-3.6176400E-05
###f###|###########Z#3#########
##############################################################################
##{#########
################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####^##4O##"###############################################

0##

##########`

#####################(#####
######################
####################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
e#####################Logical output:
rLw############################################# ################@#####
########
####H########p################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
####################O#u#t#p#u#t# #w# #-# #1# #b#l#a#n#k#s#,# #f#o#l#l#o#w#e#d#
#b#y# #T# #o#r# #F# #t#o# #r#e#p#r#e#s#e#n#t# # # #a# #l#o#g#i#c#a#l# #v#a#l#u#e#
#e#.#g#.# ## # # # # # # #L#O#G#I#C#A#L# #:#:# #o#u#t#p#u#t# #=#.#T#R#U#E#.#
#,#d#e#b#u#g#=#.#F#A#L#S#E#.## # # # # # # #W#R#I#T#E#(#*#,## 2#L#5## )#
#o#u#t#p#u#t#,# #d#e#b#u#g# ##w#i#l#l# #p#r#o#d#u#c#e#:# #f&f&f&f& #T# #f&f&f&f&
#F## # # # #
##################Z###########################################################
##########################
#########N#################################################################H###
G######### ###i################### ####################### ###
############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####^#p;]###"################U###############################

0##

##########p

###############E######(#####
######################
############## #####
########
####H########P################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
m#####################Character output: rA or
rAw############################################# #####################
########
####H##########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
`####################A#w# #
#O#u#t#p#u#t# #a# #c#h#a#r#a#c#t#e#r#
#s#t#r#i#n#g# #i#n# ## #
#
#t#h#e# #n#e#x#t# #w# #c#h#a#r#a#c#t#e#r#
#p#o#s#i#t#i#o#n#s#.##A#
#
# # # # # # # # # # # # #O#u#t#p#u#t# #a#
#c#h#a#r#a#c#t#e#r# #s#t#r#i#n#g#,# ##
#
#
# #s#t#a#r#t#i#n#g# #a#t#
#t#h#e# #n#e#x#t# #c#h#a#r#a#c#t#e#r# #p#o#s#i#t#i#o#n#,# ##
#
#
#w#i#t#h# #n#o# #l#e#a#d#i#n#g# #o#r# #t#r#a#i#l#i#n#g# #b#l#a#n#k#s#.#
#e#.#g#:# # # # # #C#H#A#R#A#C#T#E#R#(#L#E#N#=#2#6#)# #:#:# #l#o#n#g#_#n#a#m#e# #=#
#"#L#l#a#n#f#a#i#r#.#.#.#g#o#g#o#g#o#c#h#"## # # # # # # # # # # # # # #
#W#R#I#T#E#(#*#,## (#A#1#9#)## )# #l#o#n#g#_#n#a#m#e##p#r#o#d#u#c#e#s#:## # # # # #
# # # # # # # #
#L#l#a#n#f#a#i#r#.#.#.#g#o#g#o#g#o#c#h####p###[#################################
B#############################7####################
%##########"######################### ###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####^#p;]###"###############################################

0##

#X######P###

#####################(#####
##############

######################

#####
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
p#####################Horizontal positioning: X or
T#############################################
#####################
########
####H########T#################?##############R#e#c#t#a#n#g#l#e#
#3########### #`####################################################
###nX
Ignore the next n character positions.Tc
Output the next item
starting at character position ce.g.
REAL :: x=1.,y=2.,z=3.
WRITE(*,200)
"X = ", x, " Y = ", y, " Z = ", z
200 FORMAT (A4,F4.1,2(2X,A5,F4.1))will
produce:
X= 1.0
Y= 2.0
Z = 3.0######!
###############################################################################
#######6#######################################
#######k##########*################e######### ###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####^#p;]###"################K###############################

0##

##########

###############;######(#####
######################
####################
########
####H########4<################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
{#################)###Example of making a table using a do
loop#######*#########*#################)######### #####################
########
####H########?################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
H####################A#n# #e#x#a#m#p#l#e# #o#f# #t#a#b#u#l#a#r#
#p#r#i#n#t#i#n#g#:##P#R#O#G#R#A#M# #t#a#b#u#l#a#r#_#o#u#t#p#u#t##
#I#M#P#L#I#C#I#T# #N#O#N#E## #R#E#A#L#,# #P#A#R#A#M#E#T#E#R# #:#:#
#t#h#i#r#d#=#1#.#0#/#3#.#0## #R#E#A#L# #:#:# #x##
#I#N#T#E#G#E#R# #:#:# #i## #
# # # # # # # # # #W#R#I#T#E#(#*# ## T#h#e# #o#u#t#p#u#t#& .## # #D#O#
#i#=#1#,#1#0#
#!# #W#R#I#T#E#(#*# ## T#h#e# #o#u#t#p#u#t#& .## #
# # # # # #
# #x#=#i## # # # # # # # #W#R#I#T#E#(#*#,#
#'#(#F#1#5#.#4#,#3#X#,#F#1#5#.#4#,#3#X#,#F#1#5#.#4#)## )# #x#,# #S#Q#R#T#(#x#)#,# #
#x#*#*#t#h#i#r#d##
#E#N#D# #D#O##E#N#D# #P#R#O#G#R#A#M# #t#a#b#u#l#a#r##o#u#t#p#u#t###E#X#A#M#P#L#E#:# # #F#i#g# #5#-#5# #(#P#R#O#G#R#A#M# #t#a#b#l#e#)#
####D###^###########P#
##############################>#######################&###\#########
#############
################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####^#p;]###"################)###############################

0##

##########

######################(#####
######################
####################
########
####H########[################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
{#################)###Example of making a table using a do
loop#######*#########*#################)######### #####################
########
####H########ld################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
&#################$###The output from this program will be
1.0000
1.0000
1.0000
2.0000
1.4142
1.2599
3.0000
1.7321
1.4422
4.0000
2.0000
1.5874
5.0000
2.2361
1.7100
6.0000
2.4495
1.8171
7.0000
2.6458
1.9129
8.0000
2.8284
2.0000
9.0000
3.0000
2.0801
10.0000
3.1623
2.1544######
%###########Z###################################################################
###############################################################################
###############################################################################
###############################################################################
################################################################################
###############################################################################
###############################################################################
##########################################################
######################################################&#############
#############
################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####^#p;]###"###############################################

0##

#K######C###

#####################(#####
######################
####################
########
####H########T################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
f#####################Example of ES
format#############################################
#####################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######|
################X######P##########_#_#_#P#P#T#9####2######*#############
########

##########################################################EXAMPLES: Fig 5-8


(PROGRAM capacitor)Equations type: Either (1) or (2) :Given capacitance in farads
and voltage in volts compute (total) charge in coulombs:
Q = C*V
(2)
C= Q/VAlso, compute energy in joules:
E =
(1/2)*C*V*VAnd no. of electrons (6.241461*10^(18) ) per coulomb of charge.e.g. Test
with input data: Volt.=100.00 V, Total charge=0.01 C (i.e. type =2 case),Output is:
Capacitance = 1.000E-04 F, No. of electrons=6.241E+16Total energy =.5000 joules.
###\###M###########P#U##########" ##P#d###########P#(##########
%#########U##########d#################(######### ###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####^#p;]###"###############################################

0##

#N######F###

#####################(#####
###################
########
####H########

######################

################?##############R#e#c#t#a#n#g#l#e# #2###########
#`#}###############################M#####################READ
Format#######

#########

############
###

#################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#####################Edit descriptors for input:Descriptor
Meaning
Iw
Read the next w characters as an integer (e.g. w=8)Fw.d
[
Read
the next w characters as a real number with
d digits
after the
decimal place (e.g. w=14 , d=5)Ew.d
if no decimal point is
present]Aw
Read the next w characters as charactersA
Read sufficient
characters to fill the input list item,
stored as charactersLw
Read the next w characters as the representation of
a logical
valuenX
Ignore the next n characters (e.g. n=2) Tc
Next
character to be read is at position c (e.g. c=5)
###2##############P###########P############
####################################################D#########################
#################$#############################################################
############&####################3#########################################"###
######################################################################R########
############################################8##################################
#######################################################################+######
##########################4############
#############
#############
################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####`#t##"################Z###############################

0##

##########

###############J######(#####
######################
###################
########
####H##########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
Z#####################Examples of READ Formats##############################
######################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
x#################h###F#o#r#m#a#t# #I#w#:# # # #A#s#s#u#m#e# #t#h#a#t# #w#e#
#t#y#p#e# #o#n# #t#h#e# #k#e#y#b#o#a#r#d# ##1#2#3#4#5#6#7#8#9# #(#a#s#
#i#n#p#u#t#)#:##R#E#A#D# #(#*#,# #'#(#4#X#,# #I#5#)## )# #n#u#m# ##!# #L#e#a#v#e#
#4# #s#p#a#c#e#s# #t#h#e#n# #r#e#a#d# #n#u#m#=#5#6#7#8#9# #w#i#l#l# #i#g#n#o#r#e#
#t#h#e# #f#i#r#s#t# #f#o#u#r# #c#o#l#u#m#n#s# #a#n#d# #t#h#e#n# #r#e#a#d#;# #
#R#E#A#D# #(#*#,#'#(#I#2#,# #3#X#,# #I#3#)## )# #i#,# #j# ##!# #R#e#a#d# #i#,#
#l#e#a#v#e# #3# #s#p#a#c#e#s#;# #r#e#a#d# #j#,# ##w#i#l#l# #c#a#u#s#e# #t#h#e#
#v#a#l#u#e# #1#2# #t#o# #b#e# #s#t#o#r#e#d# #i#n# #i# #a#n#d# #6#7#8# #i#n# #j#.# #
####v###5######################@####################V######### ##########
####################7##############################v#############
#############
#############
###%################## #############
###x#########
#############
################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####`#r#1##"###############################################

0##

##########

#####################(#####
###################
########
####H########

######################

.################?##############R#e#c#t#a#n#g#l#e# #2###########
#`#}###############################Z#####################Examples of READ
Formats##############################
################N#####
########
####H########41################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
####################A#s#s#u#m#e# #t#h#a#t# #w#e# #t#y#p#e# #o#n# #t#h#e#
#k#e#y#b#o#a#r#d# #1#2#3#4#5#6#7#8#9# #(#a#s# #i#n#p#u#t#)#:##R#E#A#D#
#(#*#,#'#(#T#4#,# #I#2#,# #T#8#,# #I#2#,# #T#2#,# #I#4#)## )# #x#,# #y#,# #z# #!#
#M#o#v#e# #t#o# #p#o#s#.# #4#,# #r#e#a#d# #x#,#& ##w#i#l#l# #r#e#a#d# #t#h#e#
#n#u#m#b#e#r# #4#5# #i#n#t#o# #x#,# #r#e#a#d#i#n#g# #8#9# #i#n#t#o# #y#,# ##
#a#n#d# #r#e#a#d#i#n#g# #t#h#e# #n#u#m#b#e#r# #2#3#4#5# #i#n#t#o# #z#.#
############################Z###########:#########.############################
#############################################$################################
#>###$#########]#########
###############
#Y######### ################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####`#r#1##"################,###############################

0##

##########

######################(#####
######################
###################
########
####H########O################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
Z#####################Examples of READ Formats##############################
#####################
########
####H########R################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
J#################@###Format Fw.d: The effect of the F edit descriptor during
input with decimal point present. READ (*,'(3F10.4)') a,b,c
1.5
0.15E+01
15.0E-01
---------|---------|----------|---------|
10
20
30
40Then a , b, c store the
value
1.5######A###########################################:########################
##############################################9#######:#########"############T####
#########
#############
###O#########
###############
#Q#########
############
######H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####`#r#1##"###############################################

0##

#(###### ##########################(##### ######################


####################
#########
####H########(r################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
Z#####################Examples of READ Formats##############################
#####################
#########
####H########8u################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
####################T#h#e# #e#f#f#e#c#t# #o#f# #t#h#e# #F#w#.#d# #e#d#i#t#
#d#e#s#c#r#i#p#t#o#r# #d#u#r#i#n#g# #i#n#p#u#t# #w#i#t#h#o#u#t##d#e#c#i#m#a#l#
#p#o#i#n#t# #p#r#e#s#e#n#t#.# #T#h#e#n# #t#h#e# #d# #l#a#s#t# #d#i#g#i#t#s# #a#r#e#
#t#h#e# #f#r#a#c#t#i#o#n# #p#a#r#t#.##
#R#E#A#D# #(#*#,#'#(#3#F#1#0#.#4#)#'#)#
#a#,#b#,#c## # # # # # # # # # # # # # #1#5# # # # # # #1#5#0# # # # # # # # # # #
#1#5#0#0#0# # # ##
#-#-#-#-#-#-#-#-#-#|#-#-#-#-#-#-#-#-#-#|#-#-#-#-#-#-#-#-##|#-#-#-#-#-#-#-#-#-#|## # # # # # # # # # # # # # # #1#0# # # # # # # # # # # # #
# # # # #2#0# # # # # # # # # # # # # # # # #3#0# # # # # # # # # # # # # # # #
#4#0##T#h#e#n# #:# #a# #i#s# #0#.#0#0#1#5#,# #b# #i#s# #0#.#0#1#5#0#,# # # # # #c#
#i#s# #1#.#5#0#0#0##E#x#p#l#a#n#a#t#i#o#n#:# #D#u#e# #t#o# #w#=#1#0#,# #t#h#e#
#f#i#r#s#t# #1#0# #p#l#a#c#e#s# #w#i#l#l# #b#e# #r#e#a#d# #f#o#r# ## a## #a#n#d#
#d#u#e# #t#o# #d#=#4#,# #t#h#e#r#e# #w#i#l#l# #b#e# #4# #f#r#a#c#t#i#o#n#a#l#
#d#i#g#i#t#s# #,# #s#i#m#i#l#a#r#l#y# #f#o#r# #b# #,#c#
#######################################j######################################
################################8#######:#########1##############################
##8############ ###############
#I######### ###.#########
######H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####`#r#1##"###############################################

0##

#*######"##########################(##### ######################
####################
#########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
Z#####################Examples of READ Formats##############################
#####################
#########
####H########<################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################^###Good Programming Practice: Always include a decimal point
with REAL inputs, when using formated READ.Format Lw: The edit descriptor used with
logical data, takes the form: Lw (e.g. w=4) This edit descriptor processes the next
w characters to derive either a true value, a false value, if the 1st character is
T or F. Else an error will
occur.#################Z###########Z#############Z###########Z############Z####
########M####################A###############################)#################
### ####################
####################################
#####2############~###e######### ###
#########
#############
###>#########
###############
########### #############
############
#############
######H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####`#r#1##"################~###############################

0##

########## ################n######(##### ######################


####################
#########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
Z#####################Examples of READ Formats##############################
################8#####
#########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
####################F#o#r#m#a#t# #A#:# #A#n# #A# #e#d#i#t#
#d#e#s#c#r#i#p#t#o#r# #w#i#t#h#o#u#t# #a#n#y# #f#i#e#l#d# #w#i#d#t#h# #w# #i#s#
#t#r#e#a#t#e#d# #a#s# # # #
#t#h#o#u#g#h# #t#h#e# #f#i#e#l#d# #w#i#d#t#h# #w#a#s#
#i#d#e#n#t#i#c#a#l# #t#o##
#
# #t#h#e# #l#e#n#g#t#h# #o#f# #t#h#e#
#c#o#r#r#e#s#p#o#n#d#i#n#g# #i#n#p#u#t# #l#i#s#t# #i#t#e#m#.# # ##T#h#u#s#,#
#f#o#r##
# #C#H#A#R#A#C#T#E#R# #(#l#e#n#=#1#0#)# #:#:# #c#h#1## # # # # #
#C#H#A#R#A#C#T#E#R# #(#l#e#n#=#8#)# #:#:# # #c#h#2## # # # # # #C#H#A#R#A#C#T#E#R#
#(#l#e#n#=#1#5#)# #:#:# #c#h#3###t#h#e# #f#o#l#l#o#w#i#n#g# #t#w#o#
#s#t#a#t#e#m#e#n#t#s# #w#i#l#l# #h#a#v#e# #a#n# #i#d#e#n#t#i#c#a#l# #e#f#f#e#c#t#:#
#
#R#E#A#D#(#*#,# #'#(#A#1#0#,# #A#8#,# #A#1#5#)## )# #c#h#1#,# #c#h#2#,#
#c#h#3##
#R#E#A#D# #(#*#,#'#(#A#,# #A#,# #A#)#'#,#)# #c#h#1#,# #c#h#2#,# #c#h#3#
# # # # # # # # # # # # #e#g#.# #I#n#p#u#t#l#i#n#e#:#M#i#s#s#i#s#s#i#p#i#
#A#m#a#z#o#n# # #l#o#n#g#e#s#t# #r#i#v#e#r# #
###################P###########P############P#################################
(####################z#########\##########=################################8##
########## #############
#############
#############
######H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####`#r#1##"################7###############################

0##

##########0##########

#####'######(#####
#####

######################

##############
#####

###
####H########`################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
_#####################5.5 Files and File
processing##############################
#####################
#####

###
####H########x################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
P####################T#h#e# #U#N#I#T##T#h#e# #U#N#I#T# #n#u#m#b#e#r#
#i#n#d#i#c#a#t#e#s# #w#h#i#c#h# #"#s#t#r#e#a#m#"# #o#f# #i#n#p#u#t# #o#r#
#o#u#t#p#u#t# #y#o#u# #d#e#s#i#r#e# #t#o# #a#c#c#e#s#s#.##B#y# #d#e#f#a#u#l#t#
#t#h#e# #s#t#a#n#d#a#r#d# #s#t#r#e#a#m#s# #a#r#e# #k#e#y#b#o#a#r#d# #(#i#n#p#u#t#)#
#a#n#d# #m#o#n#i#t#o#r# #(#o#u#t#p#u#t#)#.## ##Y#o#u# #c#a#n# #c#h#a#n#g#e#
#t#h#e# #o#u#t#p#u#t# #t#o# #s#t#r#e#a#m# #t#o# #(#o#r# #i#n#p#u#t# #t#o#
#s#t#r#e#a#m# #f#r#o#m#)# #a# #f#i#l#e# #o#f# #c#h#o#i#c#e#.##T#h#e# #n#u#m#b#e#r#
#o#f# #t#h#e# #U#N#I#T# #a#p#p#e#a#r#s# #t#o# #b#e# #u#p# #t#o# #y#o#u# #t#o#
#d#e#c#i#d#e#.## ##T#h#e# #F#I#L#E##T#h#i#s# #i#s# #t#h#e# #n#a#m#e# #o#f# #t#h#e#
#f#i#l#e# #y#o#u# #w#i#s#h# #t#o# #o#p#e#n#.## ##Y#o#u# #m#a#y# #a#l#s#o#
#r#e#f#e#r#e#n#c#e# #a# #c#h#a#r#a#c#t#e#r# #v#a#r#i#a#b#l#e# #t#h#a#t# #h#o#l#d#s#
#t#h#e# #n#a#m#e# #o#f# #t#h#e# #f#i#l#e# #t#o# #a#c#c#e#s#s#.##W#e# #c#a#l#l# ##
R#e#c#o#r#d## #o#n#e# #l#i#n#e# #o#f# #d#a#t#a# #t#h#e# #f#i#l#e#.#
####:##############P############/################################
###############H#####
#####

###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"################"###############################

0##

#######z###@#######################(##### ######################
####################
#########
####H########P

################?##############R#e#c#t#a#n#g#l#e# #2###########
#`#}###############################_#####################5.5 Files and
File processing##############################
#####################
#########
####H########l#################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
;####################The STATUSThe STATUS specifies the status of the file to
be opened.The status of the file may be:OLD - file existsNEW - file needs to be
createdREPLACE - file needs to be essentially deleted and recreatedSCRATCH - a
temporary file that will be deleted when execution completesThe ACTIONWhy you open
the file? READ, WRITE, or READWRITE?The IOSTAT tells if all was correct or an
error occur###~###d###########Z##########Z#u###########Z#
##########Z##################
####################,####################&############
###############H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"###############################################

0##

#^######V###P######################(##### ######################
####################
#########
####H########+################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
_#####################5.5 Files and File
processing##############################
#####################
#########
####H########/################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#####################The OPEN StatementOPEN(UNIT = 8, FILE = "data", STATUS =
"OLD", ACTION = "READ", IOSTAT = ierror) The statement above will open the file
named data for reading.The variable ierror is an integer that will hold the status
of the open the request. If ierror equals zero then the open was successful.UNIT
is set to 8. this number is arbitrary, but it is unique among open I/O
streams.###f##############Z##################################################
###F################################
###############H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"###############################################

0##

#M######E###`######################(##### ######################
####################
#########
####H#########K################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
_#####################5.5 Files and File
processing##############################
#####################
#########
####H########lO################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#####################Examples of WRITE and READ with files: Figures 5-10
(PROGRAM read_file),
5-11 (PROGRAM scratch_file), 5-12 (PROGRAM
least_squares_fit) ###J##############?####### ################

####################################
###############H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"################u###############################

0##

##########p################e######(##### ######################
####################
#########
####H########X################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
_#####################Figure 5.12 Least-squares
fit##############################
################*#####
#########
####H########`\################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################F###D#A#T#A# #F#I#T#I#N#G# #B#Y# #L#E#A#S#T# #S#Q#U#A#R#E#S#
#:## # # # #A#s#s#u#m#e# #t#h#a#t# #w#e# #h#a#v#e# #a# #(#s#e#t#)# #t#a#b#l#e#
#o#f# #d#a#t#a# #f#r#o#m# #e#x#p#e#r#i#m#e#n#t#s# #e#.#g# #a#n#d# #w#e# #w#a#n#t#
#t#o# #p#a#s#s# #a# #l#i#n#e# #a#s# #n#e#a#r# #t#o# #t#h#e# #d#a#t#a# #a#s#
#p#o#s#s#i#b#l#e#.# #I#f# #w#e# #k#n#o#w# #t#h#a#t# #t#h#e# #d#a#t#a#
#s#a#t#i#s#f#y# #:# #y# #=# #a#x# # #+# #b#;# #(#N#o#t#e# #i#n# #o#u#r# #b#o#o#k#:#
### a## #i#s# ## m## #a#n#d# ## b## #i#s# #t#h#e# #s#a#m#e# #a#s# ## b##
#h#e#r#e#)# ## # # # # # # # # # # # #T#A#B#L#E# # # # # # #x# # # # # # # # # #y##
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #x#1# # # # # # # #
#y#1## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # #x#2# # # # # # # # #y#2# ## # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #.# # # # # #
# # # # # # #.## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # #x#n# # # # # # # # #y#n#
####################Z########################Z###############################?
###################9###############
### ###############
###3#####
#####################
### ###############
###5#####
###############3#####
#####################
### ###############
################
###$############H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"###############################################

0##

#,######$############! ###########(##### ######################


##### ##############
##### ###
####H########l################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#P################################

#################D###W#e# #k#n#o#w# # #t#h#a#t# #i#f# #w#e# #h#a#v#e# #n# #=# #2#


#p#a#i#r#s# #o#f# #d#a#t#a# #i#.#e#.##t#h#e#n# #t#h#e#r#e# #i#s# #o#n#e# #l#i#n#e#
#c#o#n#n#e#c#t#i#n#g# #t#h#e#m# #(#i#f# #x#1# #!#=# #x#2#)## # # # # # # # # # # #
# #T#A#B#L#E# # # # # # # # # # # #x# # # # # # # # # # # # # #y## # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # #x#1# # # # # # # # # # #
#y#1## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#x#2# # # # # # # # # # # # #y#2##B#U#T# #i#f# #w#e# #h#a#v#e# #n# #># #2#,#
#t#h#e#n# #i#t# #i#s# #n#o#t# #p#o#s#s#i#b#l#e# #(#e#x#p#e#c#t# #s#p#e#c#i#a#l# #
#c#a#s#e#s#)# #f#o#r# #t#h#e# #l#i#n#e# #t#o# #c#o#n#n#e#c#t# #t#h#e# #(#x#,#y#)#
#p#o#i#n#t#s#.# #T#h#e#n# #w#e# #w#a#n#t# #a# #l#i#n#e##t#o# #p#a#s#s# ## a#s#
#n#e#a#r# #a#s# #p#o#s#s#i#b#l#e## # ##################^###############
###################
###U###############
###

###############
###&###############
##################
###############
###############r###B#
##### ###
####J#####################################?##############L#i#n#e#
#3###########@#######r###B#
##### ##
####J#####################################?##############L#i#n#e#
#4##########
@#@#####l###B#
##### ##
####D################################?##############L#i#n#e#
#5##########p# ########2#
##### ###
####V#############################################?
##############O#v#a#l# #6##########
##
P#############################
################
################

#################2#
##### ###
####V############################################?
##############O#v#a#l# #7##########

##P#############################
################
################

#################2#
##### ###
####V#############################################?
##############O#v#a#l# #8##########
##P##P#############################
################
################

#################2#
#### ###
####V########h####################################?
##############O#v#a#l# #9##########`

p##

##P#############################
################
################

#################2#
####
###
####X########@####################################?
##############O#v#a#l# #1#0##########0

##P#############################
################
################

#################2#
##### ###
####X############################################?
##############O#v#a#l# #1#1###########

##P#############################
################
################

#################2#
####

###
####X############################################?
##############O#v#a#l# #1#2##########p# P###P#############################
################
################

##############t###B#
#### ##@
####L#####################################?##############L#i#n#e#
#1#3##########@#
###t###B#
##### ###
####L#####################################?##############L#i#n#e#
#1#4##########
#######

##### ###
####H########L################?##############T#e#x#t# #B#o#x#
#1#5############`####T############################
#2#################
################

#################

##### ###
####H########

################?##############T#e#x#t# #B#o#x# #1#6##########0###P###


T############################
#2#################
################

##############

###

##### ###
####H########|#################?##############T#e#x#t# #B#o#x#
#1#7############P#####################:###0# # # # # # # # #x#1# #x#2#& &
.#.#x#7# # # # # # #x# # ###############
#2################
################

#################

##### ###
####H########8
#1#8##########
P####

################?##############T#e#x#t# #B#o#x#

##T############################
#2#################
################

#################

##### ###
####H########<#################?##############T#e#x#t# #B#o#x#
#1#9########## P###@###T############################
#2#################
################

#################

##### ###
####H#########################?##############T#e#x#t# #B#o#x#
#2#0##########

#######T############################
#2#################
################

#################

##### ###
####H########%################?##############T#e#x#t# #B#o#x#
#2#1##########P##p###T############################
#2#################
################

#################

##### ###
####H########t.################?##############T#e#x#t# #B#o#x#
#2#2########## ###@###\#####################y1##############
#2################
################

#################

##### ###
####H########$8################?##############T#e#x#t# #B#o#x#
#2#3##########p#`###

##]##################### y7##############
#2################
################

#################

##### ###
####H#########B################?##############T#e#x#t# #B#o#x#
#2#4##########
#####[#####################y##############
#2################
################

##############n###B#
##### ###
####F################################?##############L#i#n#e#
#2#5##########`#

####n###B#
##### ###
####F################################?##############L#i#n#e#
#2#6##########`#

####n###B#
##### ###
####F################################?##############L#i#n#e#
#2#7##########`#####n###B#
##### ##@
####F################################?##############L#i#n#e#
#2#8#############@#####n###B#
##### ###
####F################################?##############L#i#n#e#
#2#9###########@#p#####n###B#
##### ###
####F################################?##############L#i#n#e#
#3#0############p####H#####
####! ###

####0################ h############# ###?########


###############
#33#####"############################################
###

0##

#^######V#############

###########(#####
#####

######################

#########6#####
#####

###
####H#########b################?##############R#e#c#t#a#n#g#l#e#
#2##############################################
####################T#h#e# #p#r#o#b#l#e#m# #o#f# #f#i#n#d#i#n#g# #a# #l#i#n#e#
#t#h#a#t# #p#a#s#s#e#s# #a#s# #n#e#a#r# #a#s# #p#o#s#s#i#b#l#e# #i#s##s#o#l#v#e#d#
#b#y# #t#h#e# ## l#e#a#s#t# #s#q#u#a#r#e#s## #m#e#t#h#o#d# #w#h#i#c#h# #f#i#n#d#s#
#t#h#e# #a#,#b# #w#h#i#c#h##m#a#k#e# #M#I#N#I#M#U#M# #t#h#e# #s#u#m# # #[#a#x#i#
#+# #b# ## #y#i#]#2##F#r#o#m# #L#I#N#E#A#R# #A#L#G#E#B#R#A# #a#n#d#
#C#A#L#C#U#L#U#S# #w#e# #k#n#o#w# #t#h#a#t# #t#h#e# ##S#o#l#u#t#i#o#n#
#(#a#s#s#u#m#i#n#g# #t#w#o# #x#i## s# #a#t# #l#e#a#s#t# #a#r#e#
#d#i#f#f#e#r#e#n#t#)# #i#s## # # # # # # # # # ## # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # ####N#o#t#e#:# #s#o#l#v#e# #f#o#r# ## a## #f#i#r#s#t#
#a#n#d# #u#s#e# #i#t# #i#n# ## b## .# #N#o#t#e# #i#n# #o#u#r# #b#o#o#k#:# ### a##
#i#s# ## m## #a#n#d# ## b## #i#s# #t#h#e# #s#a#m#e# #a#s# ## b## #h#e#r#e#.# #
#P#r#o#g#r#a#m# #i#n# #F#i#g#u#r#e# #5#-#1#2#.#
#################################
###################
###################
#####K###############
###p#############################m#######################
###############x####
#####

###
##s##<####A##########?###############?#########O#b#j#e#c#t#
#3##########0###k#####

#################x####
#####

###
##s##<####A##########?###############?#########O#b#j#e#c#t#
#4############1#
###

#################x####
#####

###
##s##<####A##########?###############?#########O#b#j#e#c#t# #5##########
#0
####

#################H#####
#####

###

####0################ h############# ###?########


###############
#33#####"################M############################
###

0##

#d######\############"############(##### ######################
####################
#########
####H#########x################?##############R#e#c#t#a#n#g#l#e#
#2##############################################
#####################F#o#r# #e#a#c#h# #(#x#i# #,# #y#i#)# #w#e# #c#a#l#l# ##
r#e#s#i#d#u#a#l## #r#(#x#i#)# #=# #[#a#x#i# #+# #b# ## #y#i#]# #;# #t#h#i#s# #
#s#t#a#t#e#s##h#o#w# ## c#l#o#s#e#l#y## #t#h#e# #l#i#n#e# #y# #=# #a#x# #+# #b#
#p#a#s#s#e#s# #t#h#r#o#u#g#h# #t#h#e# #p#o#i#n#t# #(#x#i# #,# #y#i#)##e#.#g#.# ####
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # #####T#h#e# ##
r#e#s#i#d#u#a#l# #s#u#m## :# # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ###g#i#v#e#s# #t#h#e#
## g#o#o#d#n#e#s#s# #o#f# #t#h#e# #f#i#t## .# #F#o#r# #b#e#s#t# #f#i#t# #t#h#e#
#r#e#s#i#d#u#a#l# #s#u#m##########v###########################
###################
###################
###################
###################
###N###############
###################
###Q#############################7#####
#####@#################################
###v############x####
#########
##s##<####A##########?###############?#########O#b#j#e#c#t#
#3##########0###k#####

#################r###B#
#########
####J#####################################?##############L#i#n#e#
#4#################r###B#
########
####J#####################################?##############L#i#n#e#
#5##############
######2#
#########
####V########4####################################?
##############O#v#a#l# #6########## # #
##P#############################
################
################

#################2#
#### ####
####V############################################?
##############O#v#a#l# #7########## #
0
##P#############################
################
################

#################2#
####
####
####V########$####################################?
##############O#v#a#l# #8##########

##
P#############################
################
################

#################2#
#########
####V############################################?
##############O#v#a#l# #9#############@####P#############################
################
################

#################2#
####

####
####X########d####################################?
##############O#v#a#l# #1#0##########
0


##P#############################
################
################

#################2#
########
####X############################################?
##############O#v#a#l# #1#1#############@####
P#############################
################
################

#################2#
#########
####X############################################?
##############O#v#a#l# #1#2###########
P
###P#############################
################
################

#################2#
#########
####X########$
####################################?
##############O#v#a#l# #1#3########### P###P#############################
################
################

#################

#########
####H########T################?##############T#e#x#t# #B#o#x#
#1#4########## P##
##b#####################10*r(x2)#######
######
#2### ############
###
############

##############n###B#
#########
####F################################?##############L#i#n#e#
#1#5########## ## ###t###B#
#########
####L#####################################?##############L#i#n#e#
#1#6##########
##
###t###B#
#########
####L#####################################?##############L#i#n#e#
#1#7############@#####t###B#
#########
####L#####################################?##############L#i#n#e#
#1#8###########@#@########

#########
####H########################?##############T#e#x#t# #B#o#x#
#1#9########## #######f#################

###
10*r(x1)#############
#2###############
###############

#################

#########
####H########T#################?##############T#e#x#t# #B#o#x#
#2#0##########@####: ##[#####################0##############
#2################
################

#################

#########
####H########|#################?##############T#e#x#t# #B#o#x#
#2#1############`

##R############################
#2################
################

#################

#########
####H########D#################?##############T#e#x#t# #B#o#x#
#2#2########### #P

##_#####################x1 x2##############
#2################
################

##############n###B#
#########
####F################################?##############L#i#n#e#
#2#3###########@#@## ###n###B#
#########
####F################################?##############L#i#n#e#
#2#4############
#
####n###B#
#########
####F################################?##############L#i#n#e#
#2#5############
#
#
###n###B#
#########
####F################################?##############L#i#n#e#
#2#6###########PP#
######

#########
####H########D#################?##############T#e#x#t# #B#o#x#
#2#7###########


##\#####################x7##############
#2################
################

#################

#########
####H#########"################?##############T#e#x#t# #B#o#x#
#2#8############# ##[#####################x##############
#2################
################

#################

#########
####H########

-################?##############T#e#x#t# #B#o#x# #2#9#################


[#####################y##############
#2################
################

##############z####
#########
##s##>####A##########?###############?#########O#b#j#e#c#t#
#3#0##############

###

#################z####
#########
##s##>####A##########?###############?#########O#b#j#e#c#t#
#3#1###################

#################H#####
####"####

####0################ h############# ###?########


###############
#33############y##########_#_#_#P#P#T#1#0####Y######
+##########D=#####' ################################=###@#B#####
######+######"###############################################

0##

####################$#####x######(##### ######################
#####$##############
#####$###
####H########hB################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
R#####################Chapter 6 Arrays##############################
################J#####
#####$###
####H########E################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#####################Motivation:We know REAL or INTEGER variables or constants
e.g.
REAL :: x
REAL, PARAMETER :: pi=3.14These allow us to
program computations with reals or integers.How about working with vectors or
matrices (needed in linear algebra)?
######y###########Z##########Z#############Z#

##########3####################.##############################################
#######
################H#####
#####$###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################C###############################

0##

#J######B#############(###########(##### ######################
#####(##############
#####(###
####H########lb################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
R#####################Chapter 6 Arrays##############################
#####################
#####(###
####H########e################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
##################N###e.g:
X3x1 = [X1 X2 X3]T = [1.0 2.0 3.0] T
or
A3x1 = [a11 a12 a13] T
A2x2 = [a11 a12
[1.0
0.0
a21 a22] =
2.0 4.0]
=
a(1:2, 1:2)
A2x3 = [a11 a12 a13
[0.5 0 0.3
a21 a22 a23]
=
0.1 1.0 1.2]
= a(1:2, 1:3)
######O###########P#############################
#####################
#####################
#####################
#####################
#######################
######
################
#####################
#####################
#####################
#####################
##########
#######################
#####################
#####################
####-################
#####################
####2################
#####################
#####################
#####################
####1################
#####################
#####################
####3#######################
###O############H#####
#####(###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

####################,#####^######(##### ######################
#####,#############

#####,###
####L#############################?##############T#e#x#t# #B#o#x#
#2##########6####}######################## The array concept###"###########
######### ######### #####################
#############
######

##################

#####,###
####F########@################?##############T#e#x#t# #B#o#x#
#3##########J###L######################So far we have used one name to refer
to one location in
the computer's memory. A group, or array, of locations in
the memory, are identified by
the same name but with an index, or subscript,
to identify individual locations.As the vector A, the individual elements are
A1, A2, ... AnWe call such an ordered set of related variables an array,
and we
refer to the individual items within the array as array elements. ###L##########
###T#####"###########"######K#####"###########"###########"########p###S#######
##
###############
########## ###############
#<######### #############
############
#############
######

##############H#####
#####,###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####V# mP###+##########D=#####' ################################=
###@#B#####
######+######"################X###############################

0##

#_######W#############0###########(##### ######################
#####0############

#####0###
####F########################?##############T#e#x#t# #B#o#x#
#2#################)####################We follow the name of the array by
an identifying integer value enclosed in parentheses:
A(1), A(2), ...,
A(n)
An array element is defined by writing
the name of the array
followed by a subscript,
where the subscript consists of an integer.Expression
(known as the subscript expression)
is enclosed in parentheses. Thus,
x(10) y (2*i+4)
###2##########
#########"#####v################"#########8###f######### #############
#############
###############
####

##################

#####0###
####L########<#####################?##############T#e#x#t# #B#o#x#
#3##########u####o########################The array concept ###.###########
############################## #####################
#############
######

##############H#####
#####0###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####W###ii###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

####################4#####Y######(##### ######################
#####4###############
#####4###
####H########################?##############R#e#c#t#a#n#g#l#e#
#2##########j###F########################A#r#r#a#y# #(#i#n#
#p#r#o#g#r#a#m#s#)# #i#s# #a# #n#a#m#e# #o#f# #a# #v#a#r#i#a#b#l#e# #o#r#
#c#o#n#s#t#a#n#t# #w#i#t#h# #a#n# #i#n#d#e#x# #s#e#t# #.# #e#.#g#.# #[#a#1#,#
#a#2#,# #a#3#]# #(#o#f# #l#i#n#e#a#r# #a#l#g#e#b#r#a#)# #i#s# #w#r#i#t#t#e#n# #a#s#
#:## # # # # # # # # # # #a#(#1#)#,#a#(#2#)#,# #a#(#3#)# # # # # # # #(#i#n#
#F#O#R#T#R#A#N# #9#0#)#.## #M#o#r#e# #g#e#n#e#r#a#l#l#y# #a#(#1#)#,#
#a#(#2#)#,#& .#a#(#n#)# # #w#h#e#r#e# #n# #i#s# #a#n# #i#n#t#e#g#e#r# #v#a#l#u#e#
#(#e#.#g#.# #n#=#3# #f#o#r# #p#r#e#v#i#o#u#s# #e#x#a#m#p#l#e#)## #A#n# #a#r#r#a#y#
#e#l#e#m#e#n#t# #i#s# #(#a# #s#u#b#s#c#r#i#p#t# #e#x#p#r#e#s#s#i#o#n#)# #e#.#g#:# #
# # # # # # # # # # # # # # # # # # # # # # # # #x#(#3#)#,# #y#(#2#*# #i# #+#4#)##
#N#o#t#e#:# #s#u#b#s#c#r#i#p#t# #e#x#p#r#e#s#s#i#o#n# #m#u#s#t# #b#e#
#i#n#t#e#g#e#r# #;# #b#u#t# #i#t# #c#a#n# #b#e##a#n# #a#r#r#a#y# #i#t#s#e#l#f#
#o#r# #c#o#n#t#a#i#n# #a#n# #a#r#r#a#y# #a#s# #p#a#r#t# #o#f# #i#t#.#
####f##########
#############S################################################################j
##########B#############
############
###_#########
###################### ######

##################

#####4###
####L##############################?##############T#e#x#t# #B#o#x#
#3##########u###i#o########################The array concept### ###########
####################################### #############
######

##############H#####
#####4###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.#########+##########D=#####' ################################=
###@#B#####
######+######"################q###############################

0##

#x######p###############8############(##### ######################
#####8##############
#####8###
####H#########
################?##############R#e#c#t#a#n#g#l#e# #2###########
#`#}###############################R#####################Chapter 6
Arrays##############################
#####################
#####8###
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
>####################Declaring ArraysBefore an array can be used, its type and
the number of elements it contains must be declared to the compiler.This must be
done so that the compiler knows what type of data are to be stored in the array and
how much memory is required to hold the indicated number of elements of that type.
Example from the book. Let's assume we need to store the voltage (v) readings from
16 different experiments, we could declare 16 individual REAL variables or one REAL
array that can hold 16 elements.
REAL :: v1, v2, v3, v4, v5, v6, v7, v8, v9, v10
REAL :: v11, v12, v13, v14, v15, v16
Probably not a good idea. Try the array
instead!
REAL, DIMENSION(16) :: voltage
###f##############P############"####################
########################################c############
###############H#####
#####8###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################W###############################

0##

#^######V###############<###########(##### ######################
#####<##############
#####<###
####H########@*################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
R#####################Chapter 6 Arrays##############################
#####################
#####<###
####H########1################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
$####################Each individual REAL value is represented by an index (or
subscript).Index: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Value: 3.2 2.4 1.0 1.1 3.2
2.2 1.2 4.3 2.3 4.5 3.2 1.0 0.3 3.4 3.4
8.3###:###F#########w###########E#######0################@############
###############H#####
#####<###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################B###############################

0##

#I######A### ###########@###########(##### ######################


#####@############

#####@###
####F########PB################?##############T#e#x#t# #B#o#x#
#2##########w##m####V############################
#2#########C##########
################

##################

#####@###
####F########lM################?##############T#e#x#t# #B#o#x#
#3##########?############################6.1 Array declarations
###(##########
#2######### #########C###########*#############
#############
#############
######

#################

#####@###
####F########X################?##############T#e#x#t# #B#o#x#
#4##########<##O#^##8####################The declaration of scalar (e.g.
REAL) variables causes the compiler to allocate an appropriate storage unit to
contain its value. When we declare an array variable, the compiler will need to
allocate several storage units.There are two ways using either a dimension
attribute or an array specification applied to the variable name. Consider e.g.
REAL, DIMENSION(50) :: a, b, c
REAL :: a(50), b(50), c(50)
REAL, DIMENSION(50) :: a,b,c, x(20),y(20),z #############
##################"######"###########################################/#######
#########################_####################################
#############
###[#########
#############
#############
#############
#############
#############
###_#########
#############
######

##############H#####
#####@###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####Z#PBR###+##########D=#####' ################################=
###@#B#####
######+######"################7###############################

0##

#N######F###0###########D###########(##### ######################
#####D##############
#####D###
####H########4y################?##############R#e#c#t#a#n#g#l#e#
#2##########@# #`# ################################
#################P###T#o# #s#t#o#r#e# #a#r#r#a#y#s# #i#n# #m#e#m#o#r#y# #w#e#
#n#e#e#d#:## # # # #-# #n#a#m#e# # #(#e#.#g#.# # #a#)## # # # #-# #t#y#p#e# #
#(#e#.#g#.# #R#E#A#L#)## # # # #-# #D#i#m#e#n#s#i#o#n# #i#.#e# #n#u#m#b#e#r# #o#f#
#e#l#e#m#e#n#t#s## # # # # #e#.#g#.# ## 3## #f#o#r# #a#(#1#)#,# #a#(#2#)#,#
#a#(#3#)#.##F#O#R#T#R#A#N# #d#e#c#l#a#r#a#t#i#o#n# #f#o#r# #a#r#r#a#y#s#:# ## # # #
# #e#.#g#.# #R#E#A#L#,#D#I#M#E#N#S#I#O#N#(#5#0#)# #:#:# #a#,#b#,#c## # # # # # # #
# # # # # # # # # # # # # # #5#0# #m#e#a#n#s#:# # # # #(#1#:#5#0#)## # # # # ##M#i#x#e#d# #d#i#m#e#n#s#i#o#n#s#:## # # # # #
#R#E#A#L#,#D#I#M#E#N#S#I#O#N#(#5#0#)# #:#:# #a#,#b#,#c#,#x#(#2#0#)#,#y#(#2#0#)#,#z#
# # # #o#r##
#b#e#t#t#e#r# #
#R#E#A#L#,# #D#I#M#E#N#S#I#O#N#(#5#0#)# # #
#:#:# # # #a#,#b#,#c#,#z##
#
#
#R#E#A#L#,# #D#I#M#E#N#S#I#O#N#(#2#0#)# #
#:#:# # # #x#,#y#####f##############"######
######0###################################################D#####################
##"###d#########D#########
#############################H#####
#####D###

####0################ h############# ###?########


###############
#33############y##########_#_#_#P#P#T#1#0####Y######
+##########D=#####' ################################=###@#B#####
######+######"################
##############################

0##

##########@###########H###########(##### ######################
#####H############

#####H###
####F########]################?##############T#e#x#t# #B#o#x#
#2##########j#'#Y####R############################
#2################
################

#################

#####H###
####F########################?##############T#e#x#t# #B#o#x#
#3############'######*####################N#O#T#E#:# #T#h#i#s# #m#e#a#n#s#
#e#.#g#.# #w#e# #h#a#v#e# #s#t#o#r#e#d##x#(#1#)#,#x#(#2#)#,#x#(#3#)#,#& & &
x#(#2#0#)# # # # # # # # # # # # # # # #i#.#e#.# # #l#b# # #:#l#o#w#e#r#
#b#o#u#n#d#=#1##y#(#1#)#,#y#(#2#)#,#y#(#3#)#,#& & & y#(#2#0#)# # # # # # # # # # #
# # # # # # # # # #u#b# #:# #u#p#p#e#r# #b#o#u#n#d#=#2#0####B#y# #d#e#f#a#u#l#t#
#t#h#e# #s#u#b#s#c#r#i#p#t#s# #w#i#l#l# #s#t#a#r#t# #a#t# #1#,# #b#u#t# #i#f# #w#e#
#w#i#s#h# #t#h#e# #s#u#b#s#c#r#i#p#t#s# #t#o# #h#a#v#e# #a# #d#i#f#f#e#r#e#n#t#
#r#a#n#g#e# #o#f# #v#a#l#u#e#s# #t#h#e#n# #w#e# #m#a#y# #p#r#o#v#i#d#e# #t#h#e#
#l#o#w#e#r# #b#o#u#n#d# #(#l#b#)# #a#n#d# #t#h#e# #u#p#p#e#r# #b#o#u#n#d# #(#u#b#)#
#e#x#p#l#i#c#i#t#l#y#,# #s#e#p#a#r#a#t#e#d# #b#y# #a# #c#o#l#o#n#:# # # # # # # # #
# # # # # # # # # # # #(#l#b#:#u#b#)##R#E#A#L#,# #D#I#M#E#N#S#I#O#N#(#1#1#:#6#0#)#
#:#:# # #a#,#b#,#c# # # # # # #!#[#e#x#t#e#n#t#=#n#o# #o#f# #e#l#e#m#e#n#t#s# # # #
# # # #R#E#A#L#,# #D#I#M#E#N#S#I#O#N#(#-#2#0#:#-#1#)# #:#:# #x# # # # # # # # # # #
# # # #!# # # # # # # # # # # # #=# #u#b#-#l#b#+#1#]##R#E#A#L#,#
#D#I#M#E#N#S#I#O#N#(#-#9#:#1#0#)# #:#:# #y# # # # # # # # # ##R#E#A#L#,#
#D#I#M#E#N#S#I#O#N#(#0#:#4#9#)# #:#:# #z#######%######
#2###2#######
######################################################
####################5###################################################j#######
#############$##################################p############
###############
#x######### #############
###W#########
###############
########## #############
######

#################

#####H###
####L########4f#####################?##############T#e#x#t# #B#o#x#
#4##########A#######]#####################6.1###############
############################ ######

##############H#####
#####H###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
#
.#####
##Y###+##########D=#####'
################################=###@#B#####
######+######"################
###############################

0##

########
###P###########L###########(#####
#####L############

######################

#####L###
####F########################?##############T#e#x#t# #B#o#x#
#2##########j#'#######################E###Five technical terms that are of
great importance
when discussing arrays in Fortran. Fortran permits up to seven
subscripts,
each of which relates to one dimension of the
array.
For each dimension,
there are two
bounds, the lower bound and the upper bound. The number of permissible subscripts
for a particular array I
is called its rank. The extent of a dimension is
the number of elements in that dimension. The size of the
array is the total number of elements. The shape of an array is determined by
its rank and the extent of each dimension.######X#######
#########
########W#################

#J#########
##########e#################

#O#############################

#M###################

#6############################

######################L###############W######### ###############
##########
#############
###$#########
#############
###U#########
###############
#M######### ###############
#6######### #############
###U#########
#############
######

#################

#####L###
####F########(################?##############T#e#x#t# #B#o#x#
#3##########<###3####^#####################6.1 ###############
############################ ######

##############H#####
#####L###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.##### 5####+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

###########`###########P###########(##### ######################
#####P##############
#####P###
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
R#####################Chapter 6 Arrays##############################
################b#####
#####P###
####H########P################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################v###6#.#2#.#1# #A#r#r#a#y# #E#l#e#m#e#n#t#s# #A#r#e# #J#u#s#t#
#O#r#d#i#n#a#r#y# #V#a#r#i#a#b#l#e#s##E#a#c#h# #e#l#e#m#e#n#t# #o#f# #a#n#
#a#r#r#a#y# #i#s# #a# #v#a#r#i#a#b#l#e# #j#u#s#t# #l#i#k#e# #a#n#y# #o#t#h#e#r#
#v#a#r#i#a#b#l#e#!# ## # # # # # # # # # #e#.#g#.# #p#r#o#g#r#a#m# #s#e#g#m#e#n#t#
# # # # # # # # # # # # # # # # # # ## # # # # # # # # # # # # # #& & # # # ## # #
# # # # # # #I#N#T#E#G#E#R#,# #D#I#M#E#N#S#I#O#N#(#1#0#)# #:#:# #a#r#r#a#y#I#n#t#
## # # # # # # # #R#E#A#L#,# #D#I#M#E#N#S#I#O#N#(#3#)# #:#:#
#a#r#r#a#y#R#e#a#l#
#
## # # # # # # # #a#r#r#a#y#I#n#t#(#1#)# #=# #5#
## # # # # # # # #a#r#r#a#y#R#e#a#l# #(#3#)# #=#
#a#r#r#a#y#I#n#t#(#1#)#/#4#.#0#
## # # # # # # # #W#R#I#T#E#(#*#,#*#)#
#"#a#r#r#a#y#I#n#t#(#1#)# #=# #"#,# #a#r#r#a#y#I#n#t#(#1#)### # # # # # # #
#W#R#I#T#E#(#*#,#*#)# #"#a#r#r#a#y#R#e#a#l#(#3#)# #=# #"#,#
#a#r#r#a#y#R#e#a#l#(#3#)####"##############0######################
###############H#####
#####P###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

##########p###########T#####U######(##### ######################
#####T###############
#####T###
####H########x#################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}################################################
###Initialization of Array elements###$###!#########
################################ #########
#####################
#####T###
####H##########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
]####################Four different approaches for initialization:(1) Using a
loop: (e.g. program segment)INTEGER, DIMENSION(10) :: arrayInt
INTEGER :: lcv
DO lcv = 1, 10, 1
arrayInt(lcv) = lcv * 2
END DOe.g. PROGRAM
squares ! Fig 6-2 in book
###B##############2#########

###################'#######################
###############H#####
#####T###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################################################

0##

#
#####################X###########(#####
#####X############

######################

#####X###
####L########,*#####################?##############T#e#x#t# #B#o#x#
#2##########?###

###z################# ###Initialization of Array elements#######!#######


###!##############!######### ######

##############d###

#####X###
####F########0################?##############T#e#x#t# #B#o#x#
#3###################################(#2#)# #P#r#o#v#i#d#e# #v#a#l#u#e#s#
#f#o#r# #e#a#c#h# #o#f# #t#h#e#s#e# #e#l#e#m#e#n#t#s# #b#y# #m#e#a#n#s# #o#f# #a#n#
#a#r#r#a#y# #c#o#n#s#t#r#u#c#t#o#r#.##A#n# #a#r#r#a#y# #c#o#n#s#t#r#u#c#t#o#r#
#c#o#n#s#i#s#t#s# #o#f# #a# #l#i#s#t# #o#f# #v#a#l#u#e#s# #e#n#c#l#o#s#e#d# #
#b#e#t#w#e#e#n# #s#p#e#c#i#a#l# #d#e#l#i#m#i#t#e#r#s#,# #(#/# #& .# #/#)#:##
# # # # # # # # # # # # # # # # # # # # # # #(#/# #v#a#l#u#e#_#l#,#
#v#a#l#u#e#_#2#,# #& #/#)##I#f# #a#r#r# #i#s# #a#n# #i#n#t#e#g#e#r# #a#r#r#a#y#
#o#f# #s#i#z#e# #1#0#,# #i#t#s# #e#l#e#m#e#n#t#s# #c#o#u#l#d# #b#e# #s#e#t# #t#o# #
#
#a#r#r# #=# #(#/# #1#,# #2#,# #3#,# #4#,# #5#,# #6#,# #7#,# #8#,# #9#,# #1#0#
#/#)#########n###X#######
#############L##########y#########################################>############################################ #############
#############
#############
###S#########
#############
###
#########
#############
###,#########
###############
########### ######

##############H#####
#####X###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.######g]###+##########D=#####' ################################=
###@#B#####
######+######"################$###############################

0##

#+#####################\###########(##### ######################
#####\##############
#####\###
####H########<################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
R#####################Chapter 6 Arrays##############################
#####################
#####\###
####H########,M################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################W###(3) Use implied DO loop:e.g.: Create an integer array
(dimension 1000) and initialize each element to be equivalent to its index. e.g.
INTEGER, DIMENSION(1000) :: arrayInt = (/ (i, i=1, 1000) /) e.g. PROGRAM
square_roots ! Fig 6-3 in bookAnother Example (text page 256): INTEGER,
DIMENSION(25)::array4=(/ ( (0,i=1,4), 5*j, j=1,5 ) /)The inner loop (0,i=1,4)
executes completely for each outer loopIndex j. So the resulting array4 is:
0,0,0,0,5, 0,0,0,0,10, 0,0,0,0,15, 0,0,0,0,20, 0,0,0,0,25
###l###X#####################################################r#########>########
#O##########@######################
###X############H#####
#####\###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################a###############################

0##

#h######`##############`###########(##### ######################
#####`##############
#####`###
####H########Df################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
R#####################Chapter 6 Arrays##############################
#####################
#####`###
####H########m################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
.####################(4) Use whole array operation: Initialize an array
(dimension 5000) to zero for all elements.
INTEGER, DIMENSION(5000) ::
arrayInt =1.0
! OR:
INTEGER, DIMENSION(5000) :: arrayInt
arrayInt = 1.0###,###############################################
###############H#####
#####`###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

#####################d###########(##### ######################
#####d#########4#####
#####d###
####H########0################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
#################4###Chapter 6 (Changing the Subscript Range of an
Array)###6###5#########
####################)#######################
###5##################
#####d###
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
x####################We can change the range of values that an array's
subscript can take when we declare the array. INTEGER, DIMENSION(-50:49) ::
arrayInt !! Or
INTEGER:: lower_bound = -50, upper_bound=49
INTEGER,
DIMENSION(lower_bound:upper_bound) :: arrayInt Shape of an array is the number of
dimensions (here it is 1) and the extent of each dimension. We have only seen one
dimensional arrays so far.Extent of an array is the upper_bound - lower_bound + 1
e.g. PROGRAM squares_2 ! Fig 6-4 in book
###V#######################################################2#########*#######
##############
###############H#####
#####d###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################8###############################

0##

#?######7##############h###########(##### ######################
#####h######### #####
#####h###
####H#########
################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
m#################+###Chapter 6 Arrays (out of bounds
subscripts)#######,#########,############
###,#################
#####h###
####H######## ################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################z###T#h#e# #F#o#r#t#r#a#n# #c#o#m#p#i#l#e#r# #m#a#y# #n#o#t#
#r#e#p#o#r#t# ## b#o#u#n#d#s# #c#h#e#c#k#i#n#g## e#r#r#o#r#s# ##a#t#
#c#o#m#p#i#l#e# #t#i#m#e#.# #T#h#e#n# #w#e# #m#a#y# #g#e#t# ## u#n#w#a#n#t#e#d##
#r#e#s#u#l#t#s#.##E#x#a#m#p#l#e# #:# ##P#R#O#G#R#A#M# #b#o#u#n#d#s#!# #F#i#g# #6##6# #i#n# #b#o#o#k##R#E#A#L#,# #D#I#M#E#N#S#I#O#N#(#5#)# #:#:# #a# # ##T#h#i#s#
#d#e#c#l#a#r#a#t#i#o#n# #m#e#a#n#s# #t#h#a#t# #t#h#e# #b#o#u#n#d#s# #a#r#e#:#
#1#:#5# #f#o#r# #a#r#r#a#y# ##T#h#u#s# #w#e# #c#a#n# #n#o#t# #r#e#a#d#/#w#r#i#t#e#
#o#t#h#e#r# #e#l#e#m#e#n#t#s# #e#.#g#.# #a#(#6#)# #d#o#e#s# #n#o#t# ##r#e#a#l#l#y#
#e#x#i#s#t#.####B###>###########r##############################
######################
###>############H#####
#####h###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################################################

0##

#&#####################l###########(##### ######################
#####l###############
#####l###
####H########]################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
r#################.###Use of Named Constants with Array
Declarations#######/#########/#############
###/############h#####
#####l###
####H########,################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################"###Instead of using a hard-coded value as the size of an
array, it is more common to use a constant to represent the array size.
INTEGER, PARAMETER :: nstud= 100
INTEGER, DIMENSION(nstud) :: stuID
INTEGER, DIMENSION(nstud) :: course
Example : PROGRAM extremes! Fig 6-7 in book
###L########################u##################################"###############
####:############N#####################################>############H#####
#####l###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################,###############################

0##

#3######+##############p###########(##### ######################
#####p##############
#####p###
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
Z#####################Whole Array Operations###############################
#####################
#####p###
####H########d################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################a###If the two arrays are the same shape, then they can be
used in ordinary arithmetic operations and the operation will be applied on an
element-by-element basis (whole arrays).Example : PROGRAM add_arrays ! Fig 6-9 in
bookINTEGER :: i
REAL :: a(4) = (/1, 2, 3, 4/)
REAL :: b(4) = (/5, 6,
7, 8/)
REAL :: c(4)
REAL :: d(4)
###b###b####################

#########################################%################################
###b############H#####
#####p###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

#####################t############(##### ######################
#####t##############
#####t###
####H########p################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################Z#####################Whole Array
Operations###############################
#####################
#####t###
####H##########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################_#####################!!ADDING
ELEMENT BY ELEMENT
DO i = 1, 4, 1
c(i) = a(i) + b(i)
END DO !!WHOLE ARRAY ADDITION
d = a + b
DO i = 1, 4, 1
WRITE(*,*) "c(",i,") = ", c(i), "d(",i,") = ", d(i)
END DO Other
examples:###*###############Z#d#############################
################H#####
#####t###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

######################x#####J######(##### ######################
#####x##############
#####x###
####H########\#################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################Z#####################Whole Array
Operations###############################
################ #####
#####x###
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################@###Other
examples: One must first check that the arrays are of the same shape (conformable)
REAL, DIMENSION(20) :: a, b, c
REAL :: d(10:29) a = 1.55
b = c*d
! Whole array processing
!! or, the same computation using a loop
DO i=1, 20
! DO loop array operations
b(i) = c(i)*d(i+9)
!
difficult!
ENDDO###
###A###########Z#L##############################################################
##########%####################"####################*####################
##############################################################
############################################"###Y##################
################H#####
#####x###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

######################|###########(##### ######################
#####|##############
#####|###
####H########B################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
Z#####################Whole Array Operations###############################
################R#####
#####|###
####H########E################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################z###Other examples e.g. 1) whole array processing: REAL ::
a(1:20), b(0:19), c(10:29), d(-9:10)
a = c*d
! Fortran 90 style
!! Or, The same computation using a loop DO i=1,20
! FORTRAN 77 style
b(i-1) = c(i+9)*d(i-10) ! b= c*d
END DO2) REAL:: array_1(1:20), array_2(-9:10)
array_1 = 10*array_23) REAL:: a=0.0, b=0.0
REAL, DIMENSION(50) :: c = 0.0,
d = 0.0
#######z###########P###########P################################/###############
###############################################)####################
####################
#########################################
###############################################z#########
################H#####
#####|###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####j#P#.###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

########## ######################(##### ######################


###################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
Z#####################Whole Array Operations###############################
################O#####
########
####H########8q################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
####################Intrinsic functions (p.48): Syntax with variables (i.e.
not arrays): e.g. b = SQRT(a)If an intrinsic function (p.48) has an array as an
argument then the result of the function reference will be an array with the same
shape as the argument. But, we need conformable arrays:
e.g. 1) REAL::
array_1(1:20), array_2(-9:10)
array_1 = SIN(array_2) Thus, the statement
array_1 = SIN(array_2) assigns the sine of each element of the array array_2 to
each corresponding element of the array array_1. Note: that the assignment starts
from the lower index and goes to the upper and it is the same as a loop. e.g.
DO i = 1, 20
array_1(i) = SIN(array_2(i - 10)) END DO
#################P############0#########.###################L###############
################.####################,#########################################
j#########

####################*####################################
########

######H#####

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####j#P#.###+##########D=#####' ################################=
###@#B#####
######+######"################-###############################

0##

#4######,###0######################(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
Z#####################Whole Array Operations###############################
#####################
########
####H########d################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
####################Also, an intrinsic function has more than one argument
then they must all be conformable. e.g. 2)
REAL :: a(1:20), b(0:19),
c(10:29), d(-9:10)
REAL::e(1:20), arr_max(1:20)
arr_max = MAX(100.0, a,
b, c, d, e)Thus the statement arr_max = MAX(100.0, a, b, c, d, e)will assign to the
elements of arr_max the maximum value of the corresponding elements of the arrays
a, b, c, d and e, or 100.0.
#################P###########P############P###########P#############P#\########
#:####################C####################$###############################>###
###########################################################

############P#############
#############
############
#############
################H#####
########

#############

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####j#P#.###+##########D=#####' ################################=
###@#B#####
######+######"################n###############################

0##

#u######m###@#######################(##### ######################
###################
########
####H########$################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################Z#####################Whole Array
Operations###############################
#####################
########
####H########H################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################K####################Can we use
comparisons with whole arrays?
IF (a < b) THEN
WRITE(*,*) "a < b"
ELSE
WRITE(*,*) "a >= b"
END IF
Not possible ! Syntax Error!
###(############################### ###########
###############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

##########P################:######(##### ######################
###################
########
####H#########
################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
^#####################Arrays Subsets (or
Sections)##############################
######################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
d#####################These are specified by subscript-triplets for each
dimension of the array. The general form is:[< subscritpt1 >]:[< subscritpt2 >][:<
stride >]The section starts at < subscritpt1 > and ends at or before < subscritpt2
>< stride > is the increment (or jump) by which the elements are selected.<
subscritpt1 >, < subscritpt2 > and < stride > must all be scalar integer
expressions.e.g. INTEGER :: i=3, j=7INTEGER, DIMENSION(10) :: a =(/1,2,3,4,5,6,7,8,9,10/)a(:) is the entire array a a(i:j) is the array subset: [3,4,5,6,7]### ###############P#c#########

####################

#########################################

####################

###############################
#########################################(#########

####################

###################################################*############
################H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

##########`######################(##### ######################
###################
########
####H########@

################?##############R#e#c#t#a#n#g#l#e# #2###########
#`#}###################^#####################Arrays Subsets (or
Sections)##############################
################Z#####
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##########################################O#t#h#e#r#
#e#x#a#m#p#l#e#s# #f#o#r#:# ## #I#N#T#E#G#E#R# #:#:# #i#=#3#,# # #j#=#7##
#I#N#T#E#G#E#R#,# #D#I#M#E#N#S#I#O#N#(#1#0#)# #:#:# #a# #=#(#/#1#,#2#,#3#,#4#,#5#,#
#-#6#,#7#,#8#,#9#,#1#0#/#)##a#(#i#:#j#:#k#)# #,# #f#o#r# #k#=#3#,# # #i#s# #t#h#e#
#a#r#r#a#y# #s#u#b#s#e#t# #[#3#,#-#6#]##a#(#8#:#3#:#-#1#)# #,#i#.#e#.# #f#r#o#m#
#a#(#8#)# #t#o# #a#(#3#)# #i#n# #s#t#e#p#s# #o#f# ## 1#,# #i#s# #[#3#,#4#,#5#,##6#,#7#,#8#]##a#(#8#:#3#)# #,#i#.#e#.# #f#r#o#m# #a#(#8#)# #t#o# #a#(#3#)# #i#n#
#s#t#e#p#s# #o#f# #1#,# #i#s# #a#n# #e#m#p#t#y# #s#u#b#s#e#t##a#(#i#:#)# #,#
#f#r#o#m# #a#(#i#)# #t#o# #u#p#p#e#r#_#b#o#u#n#d# #o#f# #a#,# #i#.#e#.#:#
#[#3#,#4#,#5#,#-#6#,#7#,#8#,#9#,#1#0#]##a#(#:#j#)# #,# #f#r#o#m#
#l#o#w#e#r#_#b#o#u#n#d# #o#f# #a# #t#o# #a#(#j#)#,# #i#.#e#.#:#
#[#1#,#2#,#3#,#4#,#5#,#-#6#,#7#]##a#(#:#:#3#)#,# #f#r#o#m# #l#o#w#e#r#_#b#o#u#n#d#
#o#f# #a# #t#o# #u#p#p#e#r#_#b#o#u#n#d# #o#f# #a# #w#i#t#h# #s#t#r#i#d#e#=# #3#
#i#.#e#.#:# #[#1#,#4#,#7#,#1#0#]##a#(#i#:#i#)#,# #i#.#e#.#
#:#[#3#]##################P#d################################################
############################################=###################################
######3############
###############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

##########p################~######(##### ######################
####################
########
####H########p#################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################v#################(###
Good Programming Practices with Arrays#### ###)#########'################## ####
###)############,#####
########
####H########2################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################D###Are arrays necessary? Yes, e.g. for Linear Algebra vectors
and matrices and Multi-dimensional Calculus Array dimensions must be declared
using named constants.This leads to fewer errors!Arrays should be initialized
before use. The results of using uninitialized arrays are unpredictable.Stay
within the array bounds.#######D#####################E##########
###E############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################.###############################

0##

#5######-#########################(##### ######################
####################
########
####H########xC################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################o####################Input and output of whole arrays and sections#######.#########.############
###.############z#####
########
####H########F################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################.###B#e#f#o#r#e# #u#s#i#n#g# #a#n# #a#r#r#a#y# #i#n#
#p#r#o#g## s# #m#u#s#t# #b#e# #a#b#l#e# #t#o# #i#n#p#u#t# #d#a#t#a# #i#n#
#a#r#r#a#y#s# # #a#n#d# #g#e#t# #o#u#t#p#u#t# #e#.#g#.#:## # # # # # # # # #
#P#R#O#G#R#A#M# #i#n#p#u#t#o#u#t#p#u#t#D#a#t#a## # # # # # # # # # #I#N#T#E#G#E#R#
#:#:# #f#i#r#s#t#=# #1#,# #l#a#s#t#=# #1#0#0## # # # # # # # # #!# #M#u#s#t#
#d#e#c#l#a#r#e# #a#l#l# #a#r#r#a#y#s## # # # # # # # # # #R#E#A#D# #(#*#,#*#)#
#f#i#r#s#t#,#l#a#s#t#,#(#a#r#r#(#i#)#,# #i#=#f#i#r#s#t#,#l#a#s#t#)# #!#I#n#p#u#t# #
# # # # # # # # # # #!#o#u#t#p#u#t## # # # # # # # # # #W#R#I#T#E# #(#*#,# #*#)#
#(#a#r#r#(#i#)#,# #i#=#1#,#9#9#,#2#)# #,#a#r#r#(#3#)#,#a#r#r#(#4#)## # # # # # # #
# # #W#R#I#T#E# #(#*#,# #*#)# #a#r#r## # # # # # # # # # #E#N#D# # #P#R#O#G#R#A#M#
#i#n#p#u#t#o#u#t#p#u#t#D#a#t#a###
####f###[#########Z#:###########Z###########Z#############Z#[#######
#########0################################&############ #############
################H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####j#@76###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

##########################E######(##### ######################
####################
########
####H########d################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################o####################Input and output of whole arrays and sections#######.#########.############
###.#################
########
####H#########h################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
^#################### Array elements are treated in just the same way as scalar
variables. An array name may appear in an input or output list, in which case
it refers to the whole array.Input data to arrays and output results from arrays
(next): ###^###E#########
#############
###`#########
#############
###;#########
#############
################H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####j#@76###+##########D=#####' ################################=
###@#B#####
######+######"################+###############################

0##

#2######*#########################(##### ######################
####################
########
####H########xt################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################o####################Input and output of whole arrays and sections#######.#########.############
###.############w#####
########
####H########0z################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################### Part of an array may be identified by use of an implied
DO,
the item takes the form
(object_list, implied_do_control)
For example:
WRITE (*, *) (arr(i), i=1, 99, 2), arr(3), arr(4)
###l########################B###################9##############################5
####################3#############z############# #############
###############
########### #############
###

#########
########

#############

############

################H#####

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####j#@76###+##########D=#####' ################################=
###@#B#####
######+######"################F###############################

0##

#M######E#########################(##### ######################
####################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################o####################Input and output of whole arrays and sections#######.#########.############
###.#################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################j###I#t# #i#s# #p#e#r#m#i#t#t#e#d# #f#o#r# #o#n#e# #o#r#
#m#o#r#e# #o#f# #t#h#e# #c#o#n#t#r#o#l#l#i#n#g# #v#a#l#u#e#s# #f#o#r# #
#
#a#n# #i#m#p#l#i#e#d# # #D#O# #i#n# #a#n# #i#n#p#u#t# #s#t#a#t#e#m#e#n#t# #t#o#
#b#e# #t#h#e#m#s#e#l#v#e#s# # #i#n#p#u#t# #b#y# #t#h#e# #s#a#m#e#
#s#t#a#t#e#m#e#n#t#:## # # # # # # # # # # # # # #R#E#A#D# #(#*#,#*#)#
#f#i#r#s#t#,# #l#a#s#t#,# #(#a#r#r#(#i#)#,# #i#=#f#i#r#s#t#,# #l#a#s#t#)##T#h#i#s#
#f#o#r#m# #o#f# #i#n#p#u#t# #s#t#a#t#e#m#e#n#t# #m#u#s#t# #b#e# #u#s#e#d# #w#i#t#h#
#c#a#r#e#.##N#O#T#E#:# #(#1#)#W#e# #m#u#s#t# #b#e# #c#a#r#e#f#u#l# #w#/#
#d#e#f#i#n#i#n#g# ## f#i#r#s#t## #a#n#d# ## l#a#s#t## :# #I#t# #m#u#s#t#:#
#f#i#r#s#t# #<# #l#a#s#t#,# #(#2#)# #I#f# ## a#r#r## #d#i#m#e#n#s#i#o#n#s# #a#r#e#
#a#r#r#(#l#o#w#:#u#p#p#e#r#)# #t#h#e#n# #a#l#s#o# #m#u#s#t#:# #l#o#w# #<#=#
#f#i#r#s#t# #a#n#d# #l#a#s#t# #<#=# #u#p#p#e#r#.#
####&##############L####################E#########>##########5#################
###%#############################################

##########

###########
########################################################

######################
##############################################B############
#############
#############
############
################H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####j#@76###+##########D=#####' ################################=
###@#B#####
######+######"################ ###############################

0##

#'################################(##### ######################
####################
########
####H########P################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################o####################Input and output of whole arrays and sections#######.#########.############
###.############l#####
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#####################Example of input data into array:(A safe way of reading
data with an implied DO)
PROGRAM array_input IMPLICIT NONE
INTEGER, PARAMETER
:: lower=-50, upper=50 INTEGER :: first, last, i
REAL, DIMENSION(lower:upper)
::
arr
. . . READ (*,*) first, last
###r###############Z#M#########################################################
#######################################4###Q######### #############
############
################H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####j#@76###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

##########################[######(##### ######################
####################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################o####################Input and output of whole arrays and sections#######.#########.############
###.##################
########
####H########x################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
t####################IF (first>=lower .AND. last<=upper) THEN
READ *,
(arr(i), i=first, last) ELSE
WRITE(*, *) 'Invalid array subscript
specification! '
.
END IF
.END PROGRAM array_inputBook
Example: program array_io Fig. 6-11
###2##############Z#e##########*##########`#############0############
###(################### ################H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####j#@76###+##########D=#####' ################################=
###@#B#####
######+######"################8###############################

0##

#?######7#########################(##### ######################
#################

########
####F##########################?##############T#e#x#t# #B#o#x#
#2##########J####L##{#####################Sorting (i.e. ordering) by straight
selection:Index
1
2
3
4
5
6
7
8Initial order
7
1
8
4
6
3
5
2After first exchange
1
7
8
4
6
3
5
2After second exchange 1
2
8
4
6
3
5
7
After third exchange
1
2
3
4
6
8
5
7After fourth
exchange
1
2
3
4
6
8
5
7After fifth exchange
1
2
3
4
5
8
6
7After sixth exchange
1
2
3
4
5
6
8
7After seventh exchange 1
2
3
4
5
6
7
8###,### #######
################################################ ###############
###########
###############
#g######### ###############
########### ###############
########### ###############
#2######### ###############
###########
###############
#-######### ###############
#-######### ###############
########### ###############
########### ###############
###########
###############
#&######### ###############
########### ###############
########### ###############
########### ###############
###########
###############
########### #############
######

#################

########
####L###############################?##############T#e#x#t# #B#o#x#
#3##########?#######################$###EXAMPLES (sorting data e.g.
numbers)#######%#######
###%###############%#########
######

#################2#
########
####\########X'#########################################?
##############O#v#a#l# #4##########/#


####P#############################
################
################

#################2#
########
####\########D1#########################################?
##############O#v#a#l# #5##########/#[#>

####P#############################
################
################

#################2#
########
####\########;#########################################?
##############O#v#a#l# #6############[#>

###P#############################
################
################

#################2#
########
####\#########E#########################################?
##############O#v#a#l# #7############`

C###P#############################
################
################

#################2#
########
####\########pO#########################################?
##############O#v#a#l# #8###########P#####P#############################
################
################

#################2#
#### ###
####\########HY#########################################?
##############O#v#a#l# #9###########@######P#############################
################
################

#################2#
####
###
####^########c#########################################?
##############O#v#a#l# #1#0############0######
P#############################
################
################

#################2#
########
####^########o#########################################?
##############O#v#a#l# #1#1###########0###
##
P#############################
################
################

#################2#
####

###
####^########y#########################################?
##############O#v#a#l# #1#2##################
P#############################
################
################

#################2#
#######
####^#################################################?
##############O#v#a#l# #1#3################
P#############################
################
################

#################2#
########
####^#################################################?
##############O#v#a#l# #1#4########### ###
##
P#############################
################
################

#################2#
########
####^######## #########################################?
##############O#v#a#l# #1#5##########
###s
##P#############################
################
################

#################2#
########
####^########H#########################################?
##############O#v#a#l# #1#6##########
###s
##P#############################
################
################

##############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.######g###+##########D=#####' ################################=
###@#B#####
######+######"################r###############################

0##

#y######q################### ######(#####
######################
###################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
I#####################Sorting##############################
#####################
########
####H########d################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
H#####################S#o#r#t#i#n#g# #D#a#t#a#:# #A#l#g#o#r#i#t#h#m# ##
s#e#l#e#c#t#i#o#n# #s#o#r#t## .##T#h#e# #l#i#s#t# #i#s# #d#i#v#i#d#e#d# #i#n#t#o#
#t#w#o# #s#u#b#l#i#s#t#s#,# #s#o#r#t#e#d# #a#n#d# #u#n#s#o#r#t#e#d#,# #w#h#i#c#h#
#w#e# #w#i#l#l# #s#e#p#a#r#a#t#e#.# #I#n#i#t#i#a#l#l#y#,# #t#h#e# #e#n#t#i#r#e#
#a#r#r#a#y# #c#o#n#s#t#i#t#u#t#e#s# #t#h#e# #u#n#s#o#r#t#e#d# #l#i#s#t#.##W#e#
#g#o# #t#h#r#o#u#g#h# #t#h#e# #u#n#s#o#r#t#e#d# #l#i#s#t# #a#n#d# #f#i#n#d# #t#h#e#
#s#m#a#l#l#e#s#t# #e#l#e#m#e#n#t#.## #T#h#e#n# #w#e# #s#w#a#p# #t#h#a#t#
#e#l#e#m#e#n#t# #w#i#t#h# #t#h#e# #e#l#e#m#e#n#t# #a#t# #t#h#e# #b#e#g#i#n#n#i#n#g#
#o#f# #t#h#e# #u#n#s#o#r#t#e#d# #(#o#r# #e#n#d# #o#f# #s#o#r#t#e#d# #l#i#s#t#)#
#d#a#t#a#.# ## #
####L###h###########################################:###########################
#####
###h############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####j#@76###+##########D=#####' ################################=
###@#B#####
######+######"################################################

0##

###################################(##### ######################
###################
########
####H########X################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################
I#####################Sorting##############################
#####################
########
####H########G
# ###############?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################s###What does it mean to swap? Answer INTEGER :: x = 3, y= 2
INTEGER :: temp
temp = x
x = y
y = temp
###"###t###########"######## #R#######
####0###$#########,#############"#########

################H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####-l#].###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

###########################t######(##### ######################
###################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2#############@#}###################
I#####################Sorting##############################
################[#####
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3#############@#######################################g###Once we
find the smallest element in the unsorted list and move it to the front position.
We then move one to the right.This adds one datum to the sorted list and takes one
datum away from the unsorted list.Each time we complete such a swap we say we have
completed a sort pass.With n elements in an array we need n-1 sort passes to
properly sort the data###6###h#####################
##########P######################
###h############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####-l#].###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

########## #######################(##### ######################


###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2#############@#}###################
I#####################Sorting##############################
######################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3#############@######################t####################PROGRAM
selectionsortIMPLICIT NONE
INTEGER:: SIZE,temp,i,j, smallest
INTEGER ::
data(50)
INTEGER :: num_it = 0 READ(*,*) SIZEDO i = 1, SIZE, 1
READ(*,*) data(i)
END DO ###"##############Z########
##############R###,######### ###############################################!
#############o############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####-l#].###+##########D=#####' ################################=
###@#B#####
######+######"################################################

0##

############0######################(##### ######################
###################
########
####H#########*################?##############R#e#c#t#a#n#g#l#e#
#2#############@#}###################
I#####################Sorting##############################
#####################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3##############@#%####################
####################DO i = 1, SIZE-1, 1
smallest = i
DO j = i+1, SIZE, 1
num_it = num_it + 1
IF (data(j) < data(smallest)) THEN
smallest = j
END IF
END DO
temp = data(i)
data(i) = data(smallest)
data(smallest) = temp
END DO
##################Z#############"#############b#############,############H####
#
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####-l#].###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

##########@################9######(##### ######################
###################
########
####H########)################?##############R#e#c#t#a#n#g#l#e#
#2#############@#}###################
I#####################Sorting##############################
################ #####
########
####H########,################?##############R#e#c#t#a#n#g#l#e#
#3##########6###@#Y######################################## DO i = 1,
SIZE, 1
WRITE(*,*) "data(", i, ") = ", data(i)
END DO
WRITE(*,*) "Number of iterations: ", num_it
END PROGRAM selectionsort
Also, Book program for Selection Sort: Figure 6-15: program sort1
###L#########################################################################
####"###(#########1#########################H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####-l#].###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

##########P################T######(##### ######################
###################
########
####H########@################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%##################
########
####H########C################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##########################################Motivation:
Top-Down DesignThis is the idea that with any problem you should try to break down
the problem into smaller easier to program tasks.The code for these smaller tasks
is isolated in to what is called a procedure (subroutine or function).
###f###############Z###########################################!
##########################################
###############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################################################

0##

############`######################(##### ######################
###################
########
####H########|\################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%############}#####
########
####H########_################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################!###The book
defines as follows:Subroutine - a procedure that can return multiple results
through calling arguments.Function - a procedure that returns only a single value
that is used in the evaluation of an expression.Arguments - The data that goes into
(or comes out from) a procedure
###########################E#######################Z###########
########K################a#######
##########9####################################################
###"############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

##########p################=######(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%##################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################w####################7.1
Subroutines: A subroutine is a procedure that receives its input values and
returns its results through an argument list .SUBROUTINE some_name (some argument
list)
! DECLARATION SECTION
! EXECUTION SECTION
RETURNEND SUBROUTINE
some_name Note: "variables" in the argument are called dummy arguments ( memory is
not allocated for them, they act as placeholders for the actual arguments when the
subroutine is called ).##################Z###########"
##Z#############Z############_########################################(#######
##############y#######################
###############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

##########################+######(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%#################
########
####H########|################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################e#################o###(1) The
subroutine itself behaves as normal program and it has both a declaration and
execution section.(2) When the subroutine is called control of the program shifts
from the calling program to the subroutine. (3) When the subroutine ends the
control returns in the calling program in the statement after the CALL e.g. CALL
some_name (actual argument list)
######G###########Z#&############Z#############Z###########
##########4##############################
##########
%##################################################4##########################
########
###p############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################################################

0##

################################(#####
######################
###################
########
####H########l################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%############f#####
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##########################################Example
(book): Fig. 7-1 and 7-2: calc_hypotenuseNeed calling program (called test driver)
to run the subroutine.SUBROUTINE calc_hypotenuse ( side_1, side_2, hypotenuse )
Note: 3 dummy variables (first 2 are input and 3rd output)
#################Z##########################################################
##################
##############################9############################+###############
#####
############
###############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################i###############################

0##

#p######h##########################(##### ######################
###################
########
####H########\#################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%#################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################:####################The
variables being used as arguments must be declared (REAL, INTEGER, CHARACTER,
LOGICAL, arrays, ) The intent of each argument must be declared as well.INTENT IN The value is coming in to the procedure and cannot be changed.INTENT OUT - The
variable is coming in to the procedure and the result assigned to the variable will
be "returned" from the procedure.The other (local) variables (i.e. not arguments)
of the subroutine must be declared too. (e.g. REAL :: temp )The keyword RETURN is
optional
################`#####################Z#8######################################
#############
####################################################;#########
##########B#########
###########################
################################################################
###############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################v###############################

0##

#}######u#########################(##### ######################
###################
########
####H########t6################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%#################
########
####H########9################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################G####################Example
(for INTENT): Fig. 7-1 and 7-2: calc_hypotenuse7.1.2 The INTENT Attribute :INTENT
(IN) - Dummy argument is used only to pass input data to the subroutine.INTENT
(OUT) - Dummy argument is used only to return results to the calling program.INTENT
(INOUT) - Dummy argument is used both to pass input data to the subroutine and to
return results to the calling program e.g. More Examples: bad_call (Fig7-5),
array2 (Fig7-6), intent_test (next slide, not in the book programs)
###0###U###########P#
%#########P#p###########P###########################################(##########E
#########

##########I####################q########################################
##########
####################
###############################################################################
#######
###############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

#################################(##### ######################
###################
########
####H########g################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%#################
########
####H########j################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################T####################PROGRAM
intent_test ! Example of INTENT(IN)IMPLICIT NONE
INTEGER :: x = 1
INTEGER :: y = 2
CALL testing(x, y)
WRITE(*,*) "The value of x = ",
x, " and the value of y = ", yEND PROGRAM intent_testSUBROUTINE testing(a, b)
IMPLICIT NONE
INTEGER, INTENT(IN) :: a
INTEGER, INTENT(OUT) :: b!
Error because next we change variable a , which is input argument.! it will work if
we change IN to INOUT
a = 3
b = 4END SUBROUTINE testing
###.##############Z##################################
###############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################Y###############################

0##

#`######X#########################(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%#################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################*####################7.2 Sharing
Data Using Modules:We have seen how data can be exchanged with subroutines as
arguments.Another way of sharing data among programs, subroutines, and functions is
by use of a module (or modules).A module is a unit that contains the definitions
and initial values of data we wish to share between program units (functions,
subroutines).Example: shared_data, test_module (Fig 7-8, Fig 7-9)###h###
###########Z#?#########6###########Z#
###############################################################
###############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################################################

0##

#h######`#########################(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%#################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################2####################A module
exists in order to make some or all of the entities declared
within it
accessible to more than one program unit.One very important use of modules relates
to global accessibility of
variables, constants and derived type definitions.A
module allows a defined set of variables and/or constants to be made available to
any program units which access them by
means of an appropriate USE
statement.###D##############Z#########################################

############4###{#########
###y#########
################H#####
########

############

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"################k###############################

0##

##########################[######(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%############%#####
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################'###MODULE
global_data IMPLICIT NONESAVE! Constant declarationsREAL, PARAMETER ::
pi=3.1415926, piby2=pi/2.0! Variable declarationsREAL :: global_1, global_2,
global_3, global_4, global_5END MODULE global_dataNote: SAVE should always be
included in any module which declares any variables.
###$###(###########Z###########H############&###&#######################
################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"###############################################

0##

#R######J##########################(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%#################
########
####H########(################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###########################################The USE
statement comes after the initial statement (PROGPAM, SUBROUTINE or FUNCTION) but
before any other statements: SUBROUTINE componentUSE global_dataIMPLICIT NONE!Any
additional specification statements!Executable statementsEND SUBROUTINE component
Note: All procedures which use a module that includes a SAVE statement are sharing
the same copy of any variables, constants, type definitions or other entities
accessed from by USE association.
#################P######################-#########
#########################################
###################################################3####################v#####
#################################################P###w#########
#############
############
############
###############
##############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"################H###############################

0##

###########################8######(##### ######################
###################
########
####H########,################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%##################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################r####################7#.#3#
#M#o#d#u#l#e# #P#r#o#c#e#d#u#r#e#s##A# #m#o#d#u#l#e# #c#a#n# #a#l#s#o# #b#e#
#u#s#e#d# #t#o# #s#h#a#r#e# #p#r#o#c#e#d#u#r#e#s#.# ##T#h#e# #c#a#l#l#e#d#
#p#r#o#c#e#d#u#r#e# #i#s# #s#a#i#d# #t#o# #h#a#v#e# #a#n# #i#m#p#l#i#c#i#t#
#i#n#t#e#r#f#a#c#e# # #i#f# #w#e# #u#s#e# #C#A#L#L# #s#u#b#r#o#u#t#i#n#e#_#n#a#m#e#
#(#b#e#c#a#u#s#e# #t#h#e# #c#a#l#l#i#n#g# #p#r#o#g#r#a#m# #d#o#e#s# #n#o#t#
#k#n#o#w# #t#h#e# #t#y#p#e#s#,# #i#n#t#e#n#t#,# #e#t#c# #o#f# #t#h#e#
#a#r#g#u#m#e#n#t#s# #a#t# #c#o#m#p#i#l#e#-#t#i#m#e#)#.# ##W#e# #c#a#n#
#c#h#a#n#g#e# #t#h#e# #i#m#p#l#i#c#i#t# #i#n#t#e#r#f#a#c#e# #t#o# #e#x#p#l#i#c#i#t#
#i#n#t#e#r#f#a#c#e# #b#y# ##u#s#i#n#g# #m#o#d#u#l#e#s#.## # #E#x#a#m#p#l#e#:#
#b#a#d#_#c#a#l#l#2# #(#F#i#g#.# #7#-#1#2#)#,# #w#h#i#c#h# #a#l#l#o#w#s# #t#h#e#
#c#o#m#p#i#l#e#r# ##t#o# #d#i#s#c#o#v#e#r# #t#h#e# #e#r#r#o#r# #o#f#
#m#i#s#s#i#n#g# ## I#N## #k#e#y#w#o#r#d# #i#n# #t#h#e# #s#u#b#r#o#u#t#i#n#e#:###
m#y#_#s#u#b#s## #i#n# #p#r#o#g#r#a#m# ## b#a#d#_#c#a#l#l## ###
####@###############Z#0#########Z#######
#################Z#############Z#################################(#########(#####
###############

########################################################################

##############################################################
###########################################"###F##################
################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"################I###############################

0##

########## #################9######(##### ######################


####################
#########
####H########d8################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%##################
#########
####H########X@################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################s####################7.4 FORTRAN
FunctionsA FORTRAN function is a procedure whose result is a single number, logical
value, character string or array.This result can be used to form a FORTRAN
expression.The expression may be on the right side of an assignment statement.There
are two types of functions, intrinsic and user-defined.Intrinsic functions are
those functions built into a FORTRAN language, such as SIN(x) or LOG(x).See
Appendix B.##################Z########################Z############
##############################
####################7##########-#################################
###############H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"###############################################

0##

#T######L###0#######################(##### ######################
####################
#########
####H########`################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%#################
#########
####H########c################?##############R#e#c#t#a#n#g#l#e#
#3########### #`########################################N###UserDefined functions are functions defined by programmers (not really users) to meet a
specific need not addressed by the standard intrinsic functions.General form of
user-defined functionsREAL FUNCTION name(argument list)
!Declaration
statements !executable statementsname = arithmetic expression
RETURN
END FUNCTION name ###r###O####################0##########
################################7############################################
:############
#########
####################### ###;############H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"###############################################

0##

##########@#################t######(##### ######################
####################
#########
####H########D################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%############>#####
#########
####H########x################?##############R#e#c#t#a#n#g#l#e#
#3###########
#`######################x######p##########_#_#_#P#P#T#9####R######J####
#################

###############################

#########################.####################Note: A function is (invoked)


called by including it in an expression ( e.g. name = expression) or WRITE (*,*)
name )(2) The parentheses around the argument list are required even if the list is
blank.(3) The type of the function must be declared both in the function procedure
and the calling programs.Examples in book: (1) quadf (Fig 7-13), test_quadf (Fig 714), (2) sinc (Fig7-16), test_sinc (Fig-7-17).###P###############Z#q##########"
##Z#U##########" ##Z############Z############"
##Z#############Z############H###########################################U####
#################|###############################
################################

########## ##########################

##

######################################
###########################H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"###############################################

0##

############P###########

###########(#####
#####

######################

##############
#####

###
####H########x################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%############p#####
#####

###
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################(###Example:
REAL FUNCTION cube_root (x) IMPLICIT NONE ! Function to calculate the cubic root of
a positive real number! Dummy argument declaration REAL, INTENT (IN) :: x
! Local variable declarationREAL :: log_x
log_x = LOG(x) cube_root = EXP
(log_x/3.0)RETURNEND FUNCTION cube_root###|###)###########P#
#############################*####################I############################
###############################&#########
################H#####
#####

###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"################F###############################

0##

##########`#################6######(##### ######################
####################
#########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%##################
#########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################
p####################P#R#O#G#R#A#M# #f#u#n#c#t#i#o#n#_#d#e#m#o#
#I#M#P#L#I#C#I#T# #N#O#N#E##!# #V#a#r#i#a#b#l#e# #d#e#c#l#a#r#a#t#i#o#n#s#;# #
#a#c#t#u#a#l# #a#r#g## s##R#E#A#L# #:#:# #a#=#1#.# #,#b#=#2#.# #,#c#=#2#7#.#
#,#d#=#1#.##!#R#E#A#L# #:#:# #c#u#b#e#_#r#o#o#t# #!# #N#o#t# #e#n#o#u#g#h#
#R#E#A#L#,# #E#X#T#E#R#N#A#L# #:#:# #c#u#b#e#_#r#o#o#t# #!# #N#e#e#d# #t#h#i#s##a#
#=# #b#*#c#u#b#e#_#r#o#o#t# #(#c#)# #+#d##W#R#I#T#E#(#*#,#*#)# #a##E#N#D#
#P#R#O#G#R#A#M# #f#u#n#c#t#i#o#n#_#d#e#m#o##
####B##############Z#####################'##############################&###
######### ###############
##############H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"###############################################

0##

##########p#######################(#####
######################
####################
#########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################f#################$###Chapter 7
Introduction to procedures#######%#########%############
###%############f#####
#########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################<###NOT IN
EXAMS: 7.5.1 Passing user-defined functions as arguments: We can have arguments (in
procedures) which are functions. For this (and always with user-defined functions),
we must declare (in the calling programs) the function as EXTERNAL e.g. REAL,
EXTERNAL :: func Example: ave_value (Fig. 7-18) , test_ ave_value (Fig 7-19)NOT
COVERED: We can also have arguments (in procedures) which are subroutines. For this
we must also declare (in the calling programs) the subroutine as EXTERNAL. Example:
sub_as_arguments (Fig. 7-20) , test_sub_as_arguments(Fig 7-21)
###l###=###########Z############P4##########0#########
##########

#########&##########=#########
##############################################################
##################################################P5#########
###############################F###############################################
###############

#################################
###=############H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"################1###############################

0##

###########################!######(##### ######################
############### #####
#########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################y#################7###Chapter 8
Additional Features of Arrays( Skip: 8.4-8.5)#######8#########8############
###8#################
#########
####H########&################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################
H####################Multidimensional ArraysThe arrays we have seen so far are
1-dimension ( rank=1) arrays. We often visualize such arrays as being in a single
row.However, it might be more useful to think of the 1-dimension as being in one
column based on how arrays are stored in memory. A 2-dimension array can be
visualized as a table made up of several rows and columns. If the columns are a
single dimension array then a table (2-dimensional array) can be viewed as a
series of 1- dimensional arrays
(columns).###"############P########################
###############H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"###############################################

0##

##################################(##### ######################
####################
#########
####H########@################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################i#################'###Chapter 8
Additional Features of Arrays#######(#########(############
###(############Y#####
#########
####H########\B################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################c###Why think
of a 1-dimension array as a column? Because in physical memory, arrays are stored
by column, such that all of column 1's contents reside consecutively then column
2's, column 3's, and so on. Such arrangement in memory is known as column major
order. Not all programming languages will be column major order, many (e.g. C) are
row major
order.###8###d###########################O###########################
###d############H#####
#########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"###############################################

0##

###################### ###########(#####
##### ############

######################

##### ###
####F########Q################?##############T#e#x#t# #B#o#x#
#2##########I##,#C###R#############################
#################
################

#################

##### ###
####F########h################?##############T#e#x#t# #B#o#x#
#3#############/######################p###In Chapter 6, we discussed rank = 1
(1-dimension or 1-D) arrays.e.g. REAL, DIMENSION (11:60) :: aTo solve problems in
linear algebra, we need many dimensions (i.e. rank >= 2).13.1 Matrices and twodimensional arrays:
A1,1 A1,2 A1,3 A1,4A 3 x 4
matrix A3x4:
A =
A2,1 A2,2 A2,3 A2,4
A3,1 A3,2 A3,3 A3,4
2
3
4
5e.g A =
3
4
5
6
4
5
6
7###`###q#######
############0##########################
###################
###################
###################
###################
### ###############
###################
###################
###################
###################
###################
###################
###################
###################
###(################q#########
######################H#####
##### ###

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####V##@r###+##########D=#####' ################################=
###@#B#####
######+######"################K###############################

0##

#R######J##############$###########(##### ######################
#####$############

#####$###
####F########k################?##############T#e#x#t# #B#o#x#
#2##########p###X###|####################T#h#e# #m#a#t#r#i#x# #A# #c#a#n#
#b#e# #d#e#f#i#n#e#d# #i#n# #F#O#R#T#R#A#N# #9#0#:## #
#R#E#A#L#,#
#D#I#M#E#N#S#I#O#N# #(#3#,#4#)# #:#:# #a###N#o#t#e#:# #i#n# #D#I#M#E#N#S#I#O#N#
#(#3#,#4#)# #t#h#e# #n#o#.# #o#f# #r#o#w#s# #i#s# #1#s#t#,# #t#h#e#n# #t#h#e#
#n#o#.# #o#f# #c#o#l#u#m#n#s#.###O#t#h#e#r# #t#y#p#e#s# #o#f# #a#r#r#a#y#s# #a#r#e#
#p#o#s#s#i#b#l#e#:# #e#.#g#.# ##
#
#L#O#G#I#C#A#L#,# #D#I#M#E#N#S#I#O#N#
#(#1#0#,#4#)# #:#:# #b###e#.#g#.# #b#1#0#x#4# #=# # #b#(#1#,#1#)#
# # #
#b#(#1#,#2#)# # # # # #b#(#1#,#3#)# # # # # #b#(#1#,#4#)## #
#
#& & & & & &
& & & & & & & .## #
#
#.#& & & & & & & & & & & & & #
#
#
#b#(#1#0#,#1#)#
# # # #b#(#1#0#,#2#)# # # #b#(#1#0#,#3#)# # #
#b#(#1#0#,#4#)####p###c#######
###I###############################'###############
#####n###############
###x###############
##########c######### ######################l###B#
#####$###
####D################################?##############L#i#n#e#
#3##########
####p####l###B#
#####$###
####D################################?##############L#i#n#e#
#4##########
###
###l###B#
#####$###
####D################################?##############L#i#n#e#
#5##########p###p#p####l###B#
#####$###
####D################################?##############L#i#n#e#
#6##########
P#P#p####l###B#
#####$##@
####D################################?##############L#i#n#e#
#7##########
#P#
###l###B#
#####$##@
####D################################?##############L#i#n#e#
#8##########p# #P#p####H#####
#####$###

####0################ h############# ###?########


##############33########################_#_#_#P#P#T#1#0####i###
##.####V##@r###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

#####################(#####2######(##### ######################
#####(############

#####(###
####F########T################?##############T#e#x#t# #B#o#x#
#2###########P##J####################t###a#n#d# #t#h#e# #v#a#l#u#e#s#
#b#(#i#,#j#)# #=# #.#T#R#U#E#.# #O#r# #.#F#A#L#S#E#.# #f#o#r# #i# #=# #1#,#&
,#1#0#;# #j# #=# #1#,#& ,#4#.###T#h#e# #a#r#r#a#y# #e#l#e#m#e#n#t#s# #(#b#e#i#n#g#
## s#c#a#l#a#r#s## #i#.#e#.# #s#i#n#g#l#e# #e#l#e#m#e#n#t#s#)# #c#a#n# #b#e#
#u#s#e#d# #i#n# #e#x#p#r#e#s#s#i#o#n#s# #e#x#a#c#t#l#y# #a#s# #t#h#e# #s#i#m#p#l#e#
#t#y#p#e# #(#e#.#g#.# #R#E#A#L#,# #I#N#T#E#G#E#R#,# #L#O#G#I#C#A#L#)#
#v#a#r#i#a#b#l#e#s# #o#r# #c#o#n#s#t#a#n#t#s#.## # # # # # #e#.#g# #f#o#r#
#R#E#A#L#,# #D#I#M#E#N#S#I#O#N# #(#3#,#4#)# #:#:# #a##e#.#g# #
#a#(#3#,#4#)# #=#
#2#.#0#*#a#(#3#,#4#)# #+# #1#.#0# #!# #D#o#u#b#l#e#s# #a#(#3#,#4#)# #a#n#d#
#a#d#d#s# #1# #
#
#
#
#
# # #t#o# #i#t## #
#D#O# #i# #=#
#1#,#4#
#
#
#!# #R#e#p#l#a#c#e# #r#o#w# #1# #o#f# #a# #b#y##
#
#
#a#(#1#,#i#)# #=# #a#(#3#,#i#)#
#
# # #r#o#w# #3# #o#f# #a#.#
#R#o#w# #3# #i#s# #
#
#E#N#D# #D#O#
#
#
# # #u#n#a#l#t#e#r#e#d##
#
#D#O# #i# #=# #1#,#3#
#
#
#!# #R#e#p#l#a#c#e# #c#o#l#u#m#n#
#2# #o#f# #a# #b#y##
#
#
#a#(#i#,#2#)# #=# #a#(#i#,#1#)#
#
# # #
#c#o#l#u#m#n# #1# #o#f# #a#.# #C#o#l#u#m#n# #1# # ## #
#E#N#D# #D#O#
#
#
#
#i#s# #u#n#a#l#t#e#r#e#d########;#######
############(#####C#######K############################################################
##############################
###############################3#####################################;#########
######################H#####
#####(###

####0################ h############# ###?########


##############33########################_#_#_#P#P#T#1#0####i###
##.####V##@r###+##########D=#####' ################################=
###@#B#####
######+######"################^###############################

0##

#####################,###########(##### ######################
#####,#########V#####
#####,##
######x##############P##0e######0e##############################
###(##?##############R#e#c#t#a#n#g#l#e# #2###########
#`##################################################### #B#a#s#i#c#
#c#o#n#c#e#p#t#s# #f#o#r# #d#i#m# #=#># #1# #a#r#r#a#y#s# #:##R#e#c#a#l#l#:#
#r#a#n#k# #=# #N#o#.# #o#f# #d#i#m## s# #a#n#d# #t#a#k#e#n# #f#r#o#m# ##
D#I#M#E#N#S#I#O#N#(#)## :# ##e#.#g#.# # # # # # # # #R#E#A#L#,#
#D#I#M#E#N#S#I#O#N#(#8#)# #:#:# #a# # # # # # # # # # # # # # # # # # # # # # # #
#!#r#a#n#k# #=# #1## # # # # # # # # # # # # # #I#N#T#E#G#E#R#,#
#D#I#M#E#N#S#I#O#N#(#3#,#1#0#)# #:#:#b# # # # # # # # # # #!#r#a#n#k# #=# #2## # #
# #a#r#r#a#y# #s#i#z#e# #=#N#o#.# #o#f# #a#r#r#a#y# #e#l#e#m#e#n#t#s# #=#
#p#r#o#d#u#c#t# #o#f# #e#x#t#e#n#t#s# #=# #3#*#1#0# #=# #3#0## # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # ##N#o#t#e# #:# #e#.#g#.# #
#f#o#r# #b#:# #D#I#M#E#N#S#I#O#N#(#3# #,#1#0# #)# #s#a#m#e# #a#s# ## # # # #
#D#I#M#E#N#S#I#O#N#(#1#:#3#,# #1#:#1#0# #)# #a#n#d# #t#h#e# ## e#x#t#e#n#t#s##
#a#r#e# #3#,#1#0##I#n#s#t#e#a#d# #o#f# #t#h#e# #a#c#t#u#a#l# #d#i#m## s# #w#e#
#c#a#n# #u#s#e# ## n#a#m#e#d# #c#o#n#s#t#a#n#t#s## #e#.#g#.# #I#N#T#E#G#E#R#,#
#P#A#R#A#M#E#T#E#R# #:#:# #s#1#=#3#,# #s#2#=#1#0## # # # # # # # # # # # # # # #& #
# # # # # # ## # # # # # # #I#N#T#E#G#E#R#,# #D#I#M#E#N#S#I#O#N#(#s#1#,#s#2#)#
#:#:#b####`##########
###Z###&###########################################J#########################
#######
###############H#####
#####,###

####0################ h############# ###?########


##############33#######"################e#########################
######

0##

#|######t##############0#####

######(#####
######################
#####0##############
#####0##
######x################0e######0e##############################
###(##?##############R#e#c#t#a#n#g#l#e# #2############
#`######################################################## s#h#a#p#e##
#o#f# #a#r#r#a#y# #:# #r#a#n#k# #,# #e#x#t#e#n#t#s# #o#f# #d#i#m## s# #e#.#g#.##
#s#h#a#p#e# #o#f# #a#r#r#a#y# ## b## # #a#b#o#v#e# #:# #r#a#n#k#=#2# #a#n#d#
#e#x#t#e#n#t#s# #=# #(#3#,# #1#0#)##-#e#.#g#.# #a#r#r#a#y#s# #w#i#t#h#
#d#i#f#f#e#r#e#n#t# #i#n#d#e#x# #b#o#u#n#d#s# #a#n#d# #t#h#e# #s#a#m#e# #s#h#a#p#e#
#e#.#g#.# #A#r#r#a#y#s# #a#1#,# #b#1# #b#e#l#o#w# #h#a#v#e# #t#h#e# #s#a#m#e#
#s#h#a#p#e# #a#s# #a#r#r#a#y#s# #:# #a#,# #b# #a#b#o#v#e# #:## # # # # # # # # # #
# #R#E#A#L#,# #D#I#M#E#N#S#I#O#N#(#1#1#:#1#8#)# #:#:# #a#1## # # # # # # # # # # #
#I#N#T#E#G#E#R#,# #D#I#M#E#N#S#I#O#N#(#5#:#7#,# #-#1#0#:#-#1#)# #:#:# #b#1###A#r#r#a#y# #e#l#e#m#e#n#t# #o#r#d#e#r# #(#i#n# #F#O#R#T#R#A#N#)# #i#s# # #b#y#
#c#o#l#u#m#n#s# #:#e#.#g#.## # # # # # # # # # #R#E#A#L# #,#
#D#I#M#E#N#S#I#O#N#(#4#,#3#)# #:#:# #a#r#r## # # # # # # # # # #W#R#I#T#E#(# #*#
#,#*#)# #a#r#r## # # # # #a#r#r#(#1#,#1#)# #,# #a#r#r#(#2#,#1#)#,#
#a#r#r#(#3#,#1#)#,# #a#r#r#(#4#,#1#)#,# #a#r#r#(#1#,#2#)#,# #a#r#r#(#2#,#2#)## # #
# # #a#r#r#(#3#,#2#)# #,# #a#r#r#(#4#,#2#)#,# #a#r#r#(#1#,#3#)#,#
#a#r#r#(#2#,#3#)#,# #a#r#r#(#3#,#3#)#,# #a#r#r#(#4#,#3#)## # # # # # # # # # # # #
####<###P#######
###Z#######################
######################
###P############H#####
#####0###

####0################ h############# ###?########


##############33##############y##########_#_#_#P#P#T#1#0####Y###
###+##########D=#####' ################################=###@#B#####
######+######"###############################################

0##

#T######L##############4###########(##### ######################
#####4#########v#####
#####4## ######x##############
###0e######0e#################################(##?
##############R#e#c#t#a#n#g#l#e# #2############
#`#P#####################################################
arr(1,1)
arr(1,2)
arr(1,3)
arr(4,1)
arr(4,2)
arr(4,3)13.3 Array constructors : e.g REAL ,
DIMENSION(0:49) :: arr = (/-1, (0 , i = 1,48),1 /)
means:
arr(0) = -1
arr(1) = 0
.
.
arr(48) = 0
arr(49) =
1###\###########
################################################################################
###
############################r###B#
#####4###
####J#####################################?##############L#i#n#e#
#3#############@####r###B#
#####4###
####J#####################################?##############L#i#n#e#
#4###########@#@#@####r###B#
#####4###
####J#####################################?##############L#i#n#e#
#5#############@####l###B#
#####4###
####D################################?##############L#i#n#e#
#6############# #####l###B#
#####4##
####D################################?##############L#i#n#e#
#7############ # #####r###B#
#####4###
####J#####################################?##############L#i#n#e#
#8############ #`
#####l###B#
#### 4###
####D################################?##############L#i#n#e#
#9###########P#####n###B#
####
4##
####F################################?##############L#i#n#e#
#1#0##################t###B#
#####4###
####L#####################################?##############L#i#n#e#
#1#1############# ######H#####
#####4###

####0################ h############# ###?########


##############33#######"################x#########################
######

0##

##############################
#####(#####
######################
###############|#####
######## ######x##############
##0e######0e#################################(##?
##############R#e#c#t#a#n#g#l#e# #2############
#`###################################################,###S#i#n#c#e#
#a#r#r#a#y# #c#o#n#s#t#r#.# #a#r#e# #1#-#D#i#m# #w#e# #u#s#e# ## R#E#S#H#A#P#E##
#t#o# #a#p#p#l#y# #t#o##D#i#m# #># #1# #a#r#r#a#y#s##e#.#g#.# #a# #=#
#R#E#S#H#A#P#E#(# #(#/#1#.#0# #,#2#.#0#,# #3#.#0#,# #4#.#0#,# #5#.#0#,#6#.#0#/#)#,#
#(#/#2# #,# #3#/#)# #)## # # # # # # # # # # # # # # # # # # ## # # # # # # # # # #
# # # # ####W#e# #c#o#u#l#d# #u#s#e# #n#e#s#t#e#d# #i#m#p#l#i#e#d# ## D#O## # # #
# # # #e#.#g#.# #f#o#r## # # # # # # # # # # # # # ####b#y# #t#h#e#
#f#o#l#l#o#w#i#n#g# #d#e#c#l#a#r#a#t#i#o#n# #s#t#a#t#e#m#e#n#t####V###########
#####J##############################7#########%#########1#########8############
################x####
#########
##s##<####A######
###?###############?#########O#b#j#e#c#t#
#3############
p####

########## ######l###B#
#########
####D################################?##############L#i#n#e#
#4##########p#######l###B#
#########
####D################################?##############L#i#n#e#
#5##########p#########l###B#
#########
####D################################?##############L#i#n#e#
#6############ #####l###B#
#########
####D################################?##############L#i#n#e#
#7##########p## #p####l###B#
#### ####
####D################################?##############L#i#n#e#
#8###########
######l###B#
####
####
####D################################?##############L#i#n#e#
#9##########p#
##p####z####
#########
##s##>####A
#####
###?###############?#########O#b#j#e#c#t# #1#0##########
#
#

###

##########
######n###B#
#########
####F################################?##############L#i#n#e#
#1#1########## `
`

###n###B#
####

####
####F################################?##############L#i#n#e#
#1#2##########

###n###B#
########
####F################################?##############L#i#n#e#
#1#3########## ###

###n###B#
#########
####F################################?##############L#i#n#e#
#1#4###########

###

###n###B#
#########
####F################################?##############L#i#n#e#
#1#5########## ## ###n###B#
########@
####F################################?##############L#i#n#e#
#1#6###########

###n###B#
#########
####F################################?##############L#i#n#e#
#1#7########## 0

###H#####
#########

####0################ h############# ###?########


##############33#######"################^#########################
######

0##

######################8###########(##### ######################
#####8#########V#####
#####8##
######x##############1##0e######0e##############################
###(##?##############R#e#c#t#a#n#g#l#e#
#2##############################################################,###
INTEGER :: i, j
REAL , DIMENSION(2,2) :: a = &
RESHAPE( (/ ((10*i+j , i =
1,2), j =1,2) / ) , (/ 2,2 /) )Which is the same as the following:
INTEGER ::
i , j
REAL, DIMENSION(2,2) :: a
DO j = 1,2
DO i = 1,2
a( i,j) = 10*i+j
ENDDO
ENDDO
###0###-#######
########################################
###-############H#####
#####8###

####0################ h############# ###?########


##############33#######"################{#########################
######

0##

########## ###########<#####"######(##### ######################


#####<##############
#####<## ######x###############?
##0e######0e#################################(##?
##############R#e#c#t#a#n#g#l#e# #2###########
#`######################################################
#I#n#p#u#t#/#o#u#t#p#u#t# #w#i#t#h# #a#r#r#a#y#s# #:## # # #T#h#e# #w#a#y#s#
#f#o#r# #i#n#p#u#t#/#o#u#t#p#u#t# #w#i#t#h# #a#r#r#a#y#s#:# #(#1#)# #L#i#s#t# # #
#i#n#d#i#v#i#d#u#a#l# #e#l#e#m#e#n#t#s# # #(#2#)# #L#i#s#t# #o#f#
#i#n#d#i#v#i#d#u#a#l# #e#l#e#m#e#n#t#s# #u#n#d#e#r# #a#n#
#i#m#p#l#i#e#d#/#r#e#g#u#l#a#r# #D#O#l#o#o#p# #(#3#)# #U#s#e# #a#n# #a#r#r#a#y#
#n#a#m#e# #(#e#.#g# ## x## )# #w#i#t#h# #n#o# #s#u#b#s#c#r#i#p#t#s# #i#n# #a#
#w#h#o#l#e# #a#r#r#a#y# #o#p#e#r#a#t#i#o#n# ##e#.#g#.# #R#E#A#L#,#
#D#I#M#E#N#S#I#O#N#(#5#0# #,# #8#)# #:#:# #x## # # # # # #(#x# #h#a#s# #5#0#
#r#o#w#s#,# #8# #c#o#l## s#)##
#W#R#I#T#E#(#*#,# ## #(#8#F#8#.#2#)## )# #x###
## # ####J###T#######
#########################2########################################
###T############H#####
#####<###

####0################ h############# ###?########


##############33##############y##########_#_#_#P#P#T#1#0####Y###
###+##########D=#####' ################################=###@#B#####
######+######"################_###############################

0##

#v######n###0###########@############(##### ######################
#####@##############
#####@##
######x##############pV##0e######0e##############################
###(##?##############R#e#c#t#a#n#g#l#e# #2###########
#`######################################################will print out
the data in the following way x(1,1)
x(2,1)
x(3,1)
x(4,1)
x(5,1)
x(6,1)
x(7,1)
x(8,1) x(9,1) x(10,1) x(11,1) x(12,1) x(13,1)
x(14,1) x(15,1)
x(16,1) .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.x(49,1) x(50,1) x(1,2) x(2,2)
x(3,2)
x(4,2)
x(5,2)
x(6,2)x(7,2) x(8,2)
x(9,2) x(10,2) x(11,2) x(12,2)
x(13,2)
x(14,2) .
.
.
.
.
.
.
. .
.
.
.
.
.
.
.which is not at all what was wanted! It does not print the array as
a matrix!
###,##########
#####.#########Q#########*############
###############H#####
#####@###

####0################ h############# ###?########


##############33##############y##########_#_#_#P#P#T#1#0####Y###
###+##########D=#####' ################################=###@#B#####
######+######"###############################################

0##

#b######Z###@###########D###########(##### ######################
#####D##############
#####D##
######x###############q##0e######0e##############################
###(##?##############R#e#c#t#a#n#g#l#e# #2############
#`######################################################O#n# #t#h#e#
#o#t#h#e#r# #h#a#n#d#,# #t#h#e# #i#m#p#l#i#e#d# #D#o#l#o#o#p# #s#t#a#t#e#m#e#n#t##
# # #W#R#I#T#E#(#*#,# ## (#8#F#8#.#2#)## )# # #(#(#x#(#i#,#j#)# #,# #j# #=# #1#,#8#
#)#,# #i# #=# #1#,#5#0#)# # # # # ###w#i#l#l# #c#a#u#s#e# #t#h#e# #r#e#s#u#l#t#s#
#t#o# #b#e# #p#r#i#n#t#e#d# #i#n# #t#h#e# #c#o#r#r#e#c#t# #a#r#r#a#n#g#e#m#e#n#t#
#(#l#i#k#e# #a# #m#a#t#r#i#x#)##x#(#1#,#1#)# # #x#(#1#,#2#)# # #x#(#1#,#3#)# #
#x#(#1#,#4#)# # #x#(#1#,#5#)# # #x#(#1#,#6#)# # #x#(#1#,#7#)# # #x#(#1#,#8#)#
#x#(#2#,#1#)# #x#(#2#,#2#)# # #x#(#2#,#3#)# # #x#(#2#,#4#)# # #x#(#2#,#5#)# #
#x#(#2#,#6#)# # # #x#(#2#,#7#)# # #x#(#2#,#8#)## # # #.# # # # # # # # # # #.# # #
# # # # # # # #.# # # # # # # # # # # # #.# # # # # # # # # # # #.# # # # # # # # #
# # #.# # # # # # # # # #.# # # # # # # # # # # # #.## # # #.# # # # # # # # # #
#.# # # # # # # # # # #.# # # # # # # # # # # # #.# # # # # # # # # # # #.# # # # #
# # # # # # #.# # # # # # # # # #.# # # # # # # # # # # # #.## # # #.# # # # # # #
# # # #.# # # # # # # # # # #.# # # # # # # # # # # # #.# # # # # # # # # # # #.# #
# # # # # # # # # # #.# # # # # # # # # #.# # # # # # # # # # # #.#
####.###C#######
#####n################################
###C########################H#####
#####D###

####0################ h############# ###?########


##############33#######"################T#########################
######

0##

##########P###########H###########(##### ######################
#####H#########L#####
#####H##
######x################0e######0e##############################
###(##?##############R#e#c#t#a#n#g#l#e# #2##########@#
#`###################################################### WHOLE ARRAY
OPERATIONSNeed Conformable arrays : i.e. arrays of same shapee.g.
(i)
REAL , DIMENSION (10) :: p,q
REAL , DIMENSION (10 : 19) :: r
Operations with conform. arrays do not need loops e.g. (i)
DO i
= 1, 10
p(i) = q(i) + r(i + 9)
END DO
same as whole array operation: p = q + r
##############
###Z###j######
###-###Z###0#######
###Z###3######
###-###Z##########
###Z##############M#########M##########P#########W##########(#########

####################
############
###############H#####
#####H###

####0################ h############# ###?########


##############33#######"#########################################
######

0##

#######~###`###########L############(##### ######################
#####L##############
#####L##
######x################0e######0e##############################
###(##?##############R#e#c#t#a#n#g#l#e# #2##########@# #`#
#####################################################e.g. (ii)
REAL, DIMENSION(10, 21) :: x
REAL, DIMENSION(0:9, -10:10) :: y
REAL,
DIMENSION(11:20, -20:0) :: z
shape of x : rank = 2, extents (10 , 21)
Also, shape of y
and z : rank = 2, and extents = (10 , 21) Then the Fortran
90 whole array statement:
x = y + z +10.0has
exactly the same effect as the following
nested
DO loop:
###&##########
###Z##########################
###############H#####
#####L###

####0################ h############# ###?########


##############33#######"#########################################
######

0##

##########p###########P##### ######(##### ######################


#####P##############
#####P##
######x#################0e######0e##############################
###(##?##############R#e#c#t#a#n#g#l#e# #2##########@#
#`#######################################################
DO i = 1,
10
DO k = 1, 21
x(i,k) = y(i-1, k-11)
+ z(i+10, k-21) + 10.0
END DO
END DO
###*##########
##################################
############################H#####
#####P###

####0################ h############# ###?########


##############33#######"################m#########################
######

0##

######################T###########(##### ######################
#####T#########e#####
#####T##
######x#################0e######0e##############################
###(##?##############R#e#c#t#a#n#g#l#e# #2############
#`#####################################################Rules (from
chapter 6) for working with whole array operations:(1) Two arrays are conformable,
if they have the same shape(2) A scalar, including a constant, is conformable with
any array(3) All intrinsic operations are defined between conformable arrays e.g.
(i) REAL :: x(4) = (/ 0.0, 1.1, 2.2, 3.3 /)
REAL :: y(4)
y = SIN(x)
(ii) x= y+z +10.0 +EXP(y)+COS(z)The result is
the same as if the function were applied to each element of the array. The shape of
the resulting array must be the same as the input argument. All intrinsic functions
e.g. ABS, SIN, COS, TAN, EXP, LOG, LOG10, MOD, and SQRT may also accept arrays as
input.
######@#######
###Z###7#######
###Z##########
###Z###q#######
#############
###Z###@##############################################################j#######
##?#######################
###############H#####
#####T###

####0################ h############# ###?########


##############33#######"################M#########################
######

0##

#####################X#####=######(##### ######################
#####X#########+#####
#####X## ######x##############
##0e######0e#################################(##?
##############R#e#c#t#a#n#g#l#e# #2########### #`#}###################
k#################'###Chapter 8 Additional Features of Arrays#######(#######
###(############
###(#################
#####X##
######x#################0e######0e##############################
###(##?##############R#e#c#t#a#n#g#l#e# #3###########
#`########################################`###Array subsets
e.g. REAL,
DIMENSION (1:5,1:5) :: a, b, c
(i) a(:,1)
is the 1st column
(ii) a(1,:)
is the 1st row
(iii) a(1:3,1:5:2) takes an array subset of stride=2 8.3 USING
SPECIAL FORTRAN ARRAYS INTRINSIC FUNCTIONS This type of function will return a
value that is dependent on the properties of the object being
evaluated.##############
#P##########
###P##############P############H###############
#####$###############
#####@#########5##########n############
###a############H#####
#####X###

####0################ h############# ###?########


##############33########8######0##########_#_#_#P#P#T#1#0########
##.####.a#@C##"################D###############################

0##

#####################\#####4######(##### ######################
#####\##############
#####\###
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################i#################'###Chapter 8
Additional Features of Arrays#######(#########(############
###(#################
#####\###
####H########@#################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################k#################I###
LBOUND(array) - Returns ALL of the lower bounds of array. INTEGER :: array ( 1:5,
3:6)
WRITE(*,*) "LBOUND is ", LBOUND(array)
LBOUND is 1
3
LBOUND(array, dim) - Returns the lower bound of dim of array.
There
is a similar function called UBOUND .
SHAPE(array) - Returns the shape of
array.
WRITE(*,*) "SHAPE is ", SHAPE(array)
SHAPE is 2 5 4
SIZE(array) - Returns the number of elements in the array.
WRITE(*,*) "SIZE is
", SIZE(array)
SIZE is 20 Example : PROGRAM check_array (Fig.8-7),
######J###########P###########
##########&####################z###############################################
###############,#########################################M####################m
#####################################################
###J############H#####
#####\###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"###############################################

0##

#####################`#####:######(##### ######################
#####`#############

#####`###
####F########E################?##############T#e#x#t# #B#o#x#
#2###########P##########################FORTRAN provides intrinsic functions
for vectors (rank=1 arrays) and matrices (rank=2 arrays)Table 8.2 (contains the
full list; Optional: mask is a LOGICAL array, with element values: TRUE/FALSE)
matmul(matrix_A, matrix_B)#dot_product(vector1,
vector2)#transpose(matrix)#maxval(array, mask)#maxloc(array, mask ) #minval(array,
mask) #minloc(array, mask) #product(array, mask)#sum(array, mask)#############
######## ####n###F###############
###^#########h##########W#####A############E################E################A#
###########E################E################E################A############E#
###############E################A############E################E################
A############E################E################A############E################E
################A###################*############ ############

############
#####`###

######################H#####

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####V##@r###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

###############################(#####
###################

######################

#########
####F########\N################?##############T#e#x#t# #B#o#x#
#2###########P#########################From LINEAR ALGEBRA:MATMUL:
A3x4 x B4x4 = C3x4 = 3xwhere DOT_PRODUCT: e.g. Vectors
X3x1 =
y3x1 = dot_product computes #############
########################################
###################
###################
###################
###
#########

e.g.
,

##########################
###################
#############################
######################x####
#########
##s##<####A
#########?###############?#########O#b#j#e#c#t# #3#############p####

#################l###B#
#########
####D################################?##############L#i#n#e#
#4###############l###B#
#### ####
####D################################?##############L#i#n#e#
#5#################l###B#
####
####
####D################################?##############L#i#n#e#
#6#################l###B#
########@
####D################################?##############L#i#n#e#
#7############@#####l###B#
####

###@
####D################################?##############L#i#n#e#
#8############@#####l###B#
########
####D################################?##############L#i#n#e#
#9###########@#@#####z####
#########
##s##>####A######

###?###############?#########O#b#j#e#c#t# #1#0############

####

##########

######z####
#########
##s##>####A

########?###############?#########O#b#j#e#c#t# #1#1##########P#0##

###

################n###B#
#########
####F################################?##############L#i#n#e#
#1#2########## #####
###n###B#
#########
####F################################?##############L#i#n#e#
#1#3########## ###`# ####n###B#
#########
####F################################?##############L#i#n#e#
#1#4##########
##0#
###n###B#
#########
####F################################?##############L#i#n#e#
#1#5########## ###
###n###B#
########@
####F################################?##############L#i#n#e#
#1#6########## ### ####n###B#
########@
####F################################?##############L#i#n#e#
#1#7##########
##
###z####
#########
##s##>####A#########?###############?#########O#b#j#e#c#t# #1#8##########
##!#
###

#################n###B#
#########
####F################################?##############L#i#n#e#
#1#9########## ###P
###n###B#
#########
####F################################?##############L#i#n#e#
#2#0########## ### ####n###B#
#########
####F################################?##############L#i#n#e#
#2#1##########P
##P
###n###B#
#########
####F################################?##############L#i#n#e#
#2#2########## #0#0#P
###n###B#
########@
####F################################?##############L#i#n#e#
#2#3########## ###0# ####n###B#
########@
####F################################?##############L#i#n#e#
#2#4##########P
##0#P
###z####
#########
##s##>####A##########?###############?#########O#b#j#e#c#t# #2#5##########
`

###

#################H#####
#########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####V##@r###+##########D=#####' ################################=
###@#B#####
######+######"##############################################

0##

#####

###################

#####(#####
######################
##################

#########
####F########################?##############T#e#x#t# #B#o#x#
#2############/##########################TRANSPOSE: e.g.
D4X3 = AT3X4
MAXVAL: e.g. For array
X =
Computes the maximum of x(1) , x(2) , x(3)
MINVAL: computes the minimum of x(1), x(2) , x(3)PRODUCT: e.g. for
X =
computes x(1)*x(2)*x(3)#############
###
##########

###############
###################
###########
########################
####################.####################+######################################
#############################################################
######################x####
#########
##s##<####A##########?###############?#########O#b#j#e#c#t# #3###########
######

#################l###B#
#########
####D################################?##############L#i#n#e#
#4############

0####l###B#
#########
####D################################?##############L#i#n#e#
#5############
@######l###B#
#########
####D################################?##############L#i#n#e#
#6##########0#
##0####l###B#
#### ####
####D################################?##############L#i#n#e#
#7#############0####l###B#
####
###@
####D################################?##############L#i#n#e#
#8########### ######l###B#
########@
####D################################?##############L#i#n#e#
#9##########0# ##0####z####
#########
##s##>####A##########?###############?#########O#b#j#e#c#t#
#1#0#############
`
###

#################n###B#
####

####
####F################################?##############L#i#n#e#
#1#1############# ###n###B#
########
####F################################?##############L#i#n#e#
#1#2###########

###n###B#
#########
####F################################?##############L#i#n#e#
#1#3############@#####n###B#
#########
####F################################?##############L#i#n#e#
#1#4########## #@# ###n###B#
#########
####F################################?##############L#i#n#e#
#1#5###########

####n###B#
#########
####F################################?##############L#i#n#e#
#1#6##########

###n###B#
#########
####F################################?##############L#i#n#e#
#1#7##########

@#@#####n###B#
#########
####F################################?##############L#i#n#e#
#1#8##########

###n###B#
#########
####F################################?##############L#i#n#e#
#1#9##########


@#

###n###B#
#########
####F################################?##############L#i#n#e#
#2#0###########0

####n###B#
#########
####F################################?##############L#i#n#e#
#2#1###########
@#####z####
#########
##s##>####A##########?###############?#########O#b#j#e#c#t# #2#2##########

####

#################n###B#
#########
####F################################?##############L#i#n#e#
#2#3##########

#########

####H#####

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####V##@r###+##########D=#####' ################################=
###@#B#####
######+######"################.###############################

0##

#####################d#####^######(##### ######################
#####d#########&#####
#####d###
####H########################?##############R#e#c#t#a#n#g#l#e#
#2############ ##################################
####################SUM: computes the sum of array elements: x(1) + x(2) +x(3)
An example of matrix and vector multiplicationPROGRAM vectors_and_matrices
IMPLICIT NONE
INTEGER, DIMENSION(2,3) :: matrix_a
INTEGER, DIMENSION(3,2) ::
matrix_b
INTEGER, DIMENSION(2,2) :: matrix_ab
INTEGER, DIMENSION(2) :: vector_c
= (/ 1 , 2 /)
INTEGER, DIMENSION(3) :: vector_bc! If all a(i,j) = 1.0, write a =
1.0! Initialize matrix_a
matrix_a(1,1) = 1
! Matrix_a is the matrix:
matrix_a(1,2) = 2
###J###k###########~######0####P#2############8#########/##########~###########
##"###k#########}#########

###############
################H#####
#####d###

####0################ h############# ###?########


###############
#33#####"############################################
###

0##

#4######,##############h###########(##### ######################
#####h##############
#####h###
####H########(################?##############R#e#c#t#a#n#g#l#e#
#2############`#################################
#################6###
matrix_a(1,3) = 3
!
[1 2 3]
matrix_a(2,1) = 2
!
[2 3 4]
matrix_a(2,2) = 3
matrix_a(2,3) =
4 ! Set matrix_b as the transpose of matrix_a matrix_b = TRANSPOSE(matrix_a) !
matrix_b is now the matrix [ 1 2 ]
!
[ 2 3 ]
!
[ 3 4 ] ! Calculate
matrix products matrix_ab = MATMUL(matrix_a, matrix_b)# ! matrix ab is now the
matrix
[ 14 20 ]
!
[ 20 29
]
###X#########0####P#2#E###########Z######################m##################
################0############

##m###################

############################H#####
#####h###

####0################ h############# ###?########


###############
#33#####"############################################
###

0##

######################l#####W######(##### ######################
#####l###############
#####l###
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2#############0#P################################
####################vector_bc = MATMUL(matrix_b, vector_c) !vector_bc is now
the vector [5 8 11] END PROGRAM vectors_and_matricesNOTE 1) The matrix/vectors
intrinsic functions help us programvery quickly the corresponding linear algebra
computations.e.g. if the program above was programmed with DOloops : matrix_b =
TRANSPOSE(matrix_a) !! Same as the Doloop:
DO i = 1,3
DO j = 1,2
matrix_b(i,j) = matrix_a(j,i)
ENDDO
ENDDO######'#################0####P#2#q###############################;####
####################################################################q########
#

##O############H#####
#####l###

####0################ h############# ###?########


###############
#33############y##########_#_#_#P#P#T#1#0####Y######
+##########D=#####' ################################=###@#B#####
######+######"################T###############################

0##

######################p###########(##### ######################
#####p#########L#####
#####p###
####H########D#################?##############R#e#c#t#a#n#g#l#e#
#2################################################################R###
matrix_ab = MATMUL(matrix_a ,matrix_b)!! Same as the nested Doloop
DO i = 1,2
DO j = 1,2
matrix_ab(i ,j) = 0.0
DO k = 1 ,3
matrix_ab(i,j) = matrix_ab(i,j) + matrix_a(i,k)
*matrix_b(k,j)
ENDDO
ENDDO
ENDDO###"###S###########R##################$####
###S########################H#####
#####p###

####0################ h############# ###?########


###############
#33#####"#############################################
###

0##

#k######c### ###########t###########(##### ######################


#####t##############
#####t###
####@#########################?##############T#i#t#l#e#
#1########### #`#}###############################
X#####################Example program matrix##############################
#####################
#####t###
####\########4#################?#####,########C#o#n#t#e#n#t#
#P#l#a#c#e#h#o#l#d#e#r# #2########### #`##################################
#####################PROGRAM vectors_and_matrices !! Using array constructors
IMPLICIT NONE
INTEGER i,j
INTEGER , DIMENSION(2 , 3) :: matrix_a =
&
RESHAPE((/1,2,2,3,3,4/), (/ 2,3 /)) INTEGER, DIMENSION(3,2)
:: matrix_b
INTEGER, DIMENSION(2,2) :: matrix_ab
INTEGER,
DIMENSION(2) :: vector_c = (/ 1,2 /)
INTEGER, DIMENSION(3) :: vector_bc ! Set
matrix_b as the transpose of matrix_a
matrix_b = TRANSPOSE(matrix_a)! Matrix_b
is now the matrix [ 1 2 ]
!
[ 2 3 ]
!
[ 3 4 ]!calculate matrix products
###$#################################

####
###############H#####
#####t###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####6|#D##"################ ###############################

0##

#######x###0###########x############(##### ######################
#####x##############
#####x###
####@########,################?##############T#i#t#l#e#
#1########### #`#}###############################
X#####################Example program matrix##############################
#####################
#####x###
####\#########:################?#####,########C#o#n#t#e#n#t#
#P#l#a#c#e#h#o#l#d#e#r# #2########### #`##################################
4#####################m#a#t#r#i#x#_#a#b# #=# #M#A#T#M#U#L#(#m#a#t#r#i#x#_#a#
#,# #m#a#t#r#i#x#_#b#)##!#m#a#t#r#i#x#_#a#b# #i#s# #n#o#w# #t#h#e# #m#a#t#r#i#x# #
# # # # # # # #[# #1#4# # #2#0# #]# # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # ##!# # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #[# # #2#0# #
#2#9# #]## # #v#e#c#t#o#r#_#b#c# #=# #M#A#T#M#U#L#(#m#a#t#r#i#x#_#b# #,#
#v#e#c#t#o#r#_#c#)## #v#e#c#t#o#r#_#b#c# #=# #M#A#T#M#U#L#(#m#a#t#r#i#x#_#b# #,#
#v#e#c#t#o#r#_#c#)# #!# #V#e#c#t#o#r#_#b#c# #i#s# #!#n#o#w# #t#h#e# #v#e#c#t#o#r#
#:# # # # # # #[# #5# # #8# # #1#1# #]##W#R#I#T#E#(#*#,#*#)# #'#m#a#t#r#i#x# #a#
#=# #'## #W#R#I#T#E#(#*#,# #'#(#3#I#5#)# #'#)# #(# #(# #m#a#t#r#i#x#_#a#(#i#,#j#)#
#,# #j#=#1#,#3#)#,# #i#=#1#,#2#)##W#R#I#T#E#(#*#,# #*#)# #'#m#a#t#r#i#x# #b# #=#'#
#W#R#I#T#E#(#*#,# #'#(#2#I#5#)#'# #)#(# #(# #m#a#t#r#i#x#_#b#(#i#,#j#)# #,#
#j#=#1#,#2#)# #,# #i#=#1#,#3#)##W#R#I#T#E#(#*#,# #*#)# #'#v#e#c#t#o#r# #b#
#t#i#m#e#s# #c#'##W#R#I#T#E#(#*#,# #'#(#I#5#)## )# #(#v#e#c#t#o#r#_#b#c#(#i#)# #,#
#i#=#1#,#3#)###E#N#D# #P#R#O#G#R#A#M#
#v#e#c#t#o#r#s#_#a#n#d#_#m#a#t#r#i#c#e#s####X#############5#####################!
###################
#####################c#############
###X############H#####
#####x###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####7|##w&##"################A###############################

0##

##########@###########|#####1######(##### ######################
#####|##############
#####|###
####H########K################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################i#################'###Chapter 8
Additional Features of Arrays#######(#########(############
###(#################
#####|###
####H########S################?##############R#e#c#t#a#n#g#l#e#
#3##########6#
#`#Y####p################X######P##########_#_#_#P#P#T#9####2######*###
##################

##############################################Examples of programs: (1) Ex5-8,


(2) generate (Fig 8-5), input file: GENDATcheck_array (Fig.8-7).(4) matrix.f90
(vectors_and_matrices)Note: Skip subsections 8.4, 8.5
###.###L###########Z############"
##Z#J###########Z###############################################################
###########################################################################&###
#############################P###########P###########P###########P
#########################
###############H#####
#####|###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####.a#@C##"################h###############################

0##

############P######################(##### ######################
##############`#####
########
####H########h{################?##############R#e#c#t#a#n#g#l#e#
#2##########j#T###################################
#################### #8#.#6# #A#L#L#O#C#A#T#A#B#L#E# #A#R#R#A#Y#S#:##T#h#e#
#a#r#r#a#y#s# #s#t#u#d#i#e#d# #s#o# #f#a#r# #a#r#e# #b#a#s#e#d# #o#n# ##
s#t#a#t#i#c# #m#e#m#o#r#y# ##a#l#l#o#c#a#t#i#o#n##
#(#i#.#e#.# #m#e#m#o#r#y#
#i#s# #a#l#l#o#c#a#t#e#d# #a#t# #t#h#e# #s#t#a#r#t# #o#f# #t#h#e# ##p#r#o#g#r#a#m#
#a#n#d# #r#e#m#a#i#n#s# #a#l#l#o#c#a#t#e#d# #t#i#l#l# #t#h#e# #p#r#o#g#r#a#m#
#e#n#d#s#)#.# ##A#l#l#o#c#a#t#a#b#l#e# #a#r#r#a#y#s# #a#r#e# #b#a#s#e#d# #o#n# ##
d#y#n#a#m#i#c# #m#e#m#o#r#y# ##a#l#l#o#c#a#t#i#o#n## #a#n#d# #a#l#l#o#w# #u#s#e#r#
#t#o# #c#o#n#t#r#o#l# #a#l#l#o#c#a#t#i#o#n# #/# #d#e#-#a#l#l#o#c#a#t#i#o#n# #o#f#
#m#e#m#o#r#y# #f#o#r# #a#r#r#a#y# #e#l#e#m#e#n#t#s#.##S#t#e#p#s#:##F#i#r#s#t#l#y#,#
#t#h#e# #a#l#l#o#c#a#t#a#b#l#e# #a#r#r#a#y# #i#s# #s#p#e#c#i#f#i#e#d# #i#n# #a#
#t#y#p#e# #d#e#c#l#a#r#a#t#i#o#n# #s#t#a#t#e#m#e#n#t#.##S#e#c#o#n#d#l#y#,#
#s#p#a#c#e# #i#s# #d#y#n#a#m#i#c#a#l#l#y# #a#l#l#o#c#a#t#e#d# #f#o#r# #i#t#s#
#e#l#e#m#e#n#t#s# #i#n# #a# #s#e#p#a#r#a#t#e# #a#l#l#o#c#a#t#i#o#n#
#s#t#a#t#e#m#e#n#t#,# #a#f#t#e#r# #w#h#i#c#h# #t#h#e# #a#r#r#a#y# #m#a#y# #b#e#
#u#s#e#d# #i#n# #t#h#e# #n#o#r#m#a#l# #w#a#y#.##F#i#n#a#l#l#y#,# #a#f#t#e#r#
#t#h#e# #a#r#r#a#y# #h#a#s# #b#e#e#n# #u#s#e#d# #a#n#d# #i#s# #n#o# #l#o#n#g#e#r#
#r#e#q#u#i#r#e#d#,# #t#h#e# #s#p#a#c#e# #f#o#r# #t#h#e# #e#l#e#m#e#n#t#s# #i#s#
#d#e#a#l#l#o#c#a#t#e#d# #b#y# #a# #d#e#a#l#l#o#c#a#t#i#o#n# #s#t#a#t#e#m#e#n#t#.##
########Y###########P#i#########P#############P###########P######################
)####################f#########

#########################################################################&#####
#############################################################################
##
###############H#####
########

####0################ h############# ###?########


###############
#33#####"############################################
###

0##

#W######O###`#####################(##### ######################
##################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2#####" ## ##PK##########!#Z#f##########[Content_Types].xmlMO
#&#2WR=#cJ`F#0iK#`###
#v#Lw

#9uSq##:w`G

^#i
#K#I)#c/#
$oVj#T#MRc#|}042#C#M
P~##*ka/8^DkHbL8e
i"K\#XN\6rco4y@#_;o#####PK##########!
#1_a##########_rels/.relsj0

qC#No^K#
[ILcX&m0XFo;#>0x#M#e`|X}

I`N4aG2$R##KIZ#)4(M9`c#tB{Am:f@`3n#|O#, r
jxR0#T

,0@##}WBL#5v######PK##########!
##)###7######drs/shapexml.xml[mo6#>`A!
8mT)`##X#Ej#{z2,oHa.<sw$O

n)RB#"#:d/z,(,W1Z-D>#|P#:bljm>hh*2^|PhKE\r#
,(N}x1R|d-:# C{]

^#\\K#tX",p02MQq#Ml#HWcN}:l#}7#<.##5
#/4#\Nt`~#n#}#~%1#X."7#/Ya<1KB$
AoZ#!#
w###{CW#D 8%EdHsS B#
*B$#4]e#R#
s=9&2dg2)LVs:34@J(#,
#4*#"> ]NU|rVHCg_`s4##A#_##Mg]C###

.Bc##2YmQTC#W#F_O-J#,vyD#2#nf,\<##NI,##
"#;#x#u#[#q3

QDD

ABJHU

/#k8fX$|2T@be#G q#2#)#W-f*$m'KI'<#E
`W)d#>!#Kn6#u2#>/Ny=R9O#I5#####!
8AofYRgz##P{f`#Pcd{B0##;#+=vo,####}DhVQ(^$sRtm#uX
W#=#c3#(M#\JY$\\##2#m81$ptfCUIoFcW#\Jx#>
UH#
Q##+3q#\5###@x:##c##Af^9OT#lc#`OY]B<gIv`Sn
#R+k#[d##[,#z## #/4dBx$c%#%WE5==A|{(

EvG#EhU#2|
#(jA}0#5 ##5 ##@C##9#9Z=#|
5q}j*+s#=<&#sz_Smp|{W#"##QXZ8###-?
Ic/^=zSUezu8"<vz
e#roo##|;H A5O8#:6_#pN#
L N;#&>W
\yy?
{##+#^I`{`#<###*,HMKLNUMMTIJ.V@H.#I'Z#$#
%####@*)?#,.######PK##########!
###{##########drs/downrev.xmlDAN0#EH#$vi#4UU#!
#C<u#8M##,G
`[q$##

#qtF{AuL
N#`1??a];:#
@#u]!ej#F#Ny1HOpIJ
#;ZT}n}<,orU#Eay#"#7[#z!W#nR#9#####PK###########!#Z#f########################[Content_Types].xmlPK##-#########!
#1_a####################/###_rels/.relsPK##-#########!
##)###7################*###drs/shapexml.xmlPK##-#########!
###{#######################drs/downrev.xmlPK#############################
##################################################f####D#e#c#l#a#r#a#t#i#o#n# #:# #e#.#g#.##R#E#A#L#,#A#L#L#O#C#A#T#A#B#L#E# #:#:#
#a#r#r#1#(# #:#,#:# #)# #,# #a#r#r#2#(#:# #,# #:# #)# #
#A#L#L#O#C#A#T#E#(#a#r#r#1#(#1#0#0#,#0#:#1#0#)# #,# #a#r#r#2#(#1#0#:#3#0# #,#
#0#:#1#0#)#,# #S#T#A#T# #=#s#t#a#t#u#s#_#v#a#r#i#a#b#l#e#)##N#O#T#E#:##-#A#f#t#e#r#
## A#L#L#O#C#A#T#E## #a#r#r#a#y#s# #c#a#n# #b#e# #u#s#e#d# #l#i#k#e# #t#h#e#
#s#t#a#n#d#a#r#d# #a#r#r#a#y#s# ##-#U#s#e# #:# #S#T#A#T# #=#
#s#t#a#t#u#s#_#v#a#r#i#a#b#l#e# #t#o# #c#h#e#c#k# #s#u#c#c#e#s#s#f#u#l#
#a#l#l#o#c#a#t#i#o#n#.# ##E#X#A#M#P#L#E# #P#R#O#G#R#A#M#S##(#1#)#
#t#e#s#t#_#a#l#l#_#a#r#r#a#y# ##
####r###########################Z###################################u##########
#########################################
###4########################H#####
########

####0################ h############# ###?########


###############
#33#####"############################################
###

0##

##########p################.######(##### ######################
###################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#################################
Z####################e#.#g#.# # # #A#n# #e#x#a#m#p#l#e# #o#f#
#a#l#l#o#c#a#t#i#o#n# #o#f# #a#l#l#o#c#a#t#a#b#l#e# #a#r#r#a#y#s#,# #w#i#t#h#
#e#r#r#o#r# #c#h#e#c#k#i#n#g## # # # # # # # # # # # # # #.# #& # # # # # # # # # #
# # #I#N#T#E#G#E#R# #:#:# #m#=#1#0#0#0#,#n#=#1#0#0## # # # # # # # # # # #
#I#N#T#E#G#E#R# #:#:# #e#r#r#o#r## # # # # # # # # # # # #R#E#A#L# #,#
#A#L#L#O#C#A#T#A#B#L#E# #,# #D#I#M#E#N#S#I#O#N#(#:# #,#:#)# #:#:# #p## # # # # # #
# # # # # #I#N#T#E#G#E#R# #,# #A#L#L#O#C#A#T#A#B#L#E# #,# #D#I#M#E#N#S#I#O#N#(# #:#
#,#:#)# #:#:# #q## # # # # # # # # # # # # #.# ## # # # # # # # # # # #
#A#L#L#O#C#A#T#E#(#p#(#n#,#m#)#,# #q#(#1#0#*#n#,#m#)# #,# #S#T#A#T# #=#
#e#r#r#o#r#)## # # # # # # # # # # # #I#F#(#e#r#r#o#r# #/#=# #0#)# #T#H#E#N## # # #
# # # # # # # # # # # # # #!# #S#p#a#c#e# #f#o#r# #p#,# #q# #c#o#u#l#d# #n#o#t#
#b#e# #a#l#l#o#c#a#t#e#d## # # # # # # # # # # # #W#R#I#T#E#(#*# #,#*#)# ##
#P#r#o#g#r#a#m# #c#o#u#l#d# #n#o#t# #a#l#l#o#c#a#t#e# #s#p#a#c#e# #f#o#r# #p# #,#q#
#a#n#d# #r# ## # # # # # # # # # # # # # # # # # #S#T#O#P## # # # # # # # # # # #
#E#N#D# #I#F## # # # # # # # # # # # #!# #S#p#a#c#e# #f#o#r# #p# #,# #q#
#s#u#c#c#e#s#s#f#u#l#l#y# #a#l#l#o#c#a#t#e#d## # # # # # # # # # # # #.## # # # # #
# # # # # # #.####F###t###########Z###########S####################

#######################
###t############H#####
########

####0################ h############# ###?########


###############
#33#####"################"############################
###

0##

##########################R######(##### ######################
####################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2############ #`#################################~#################
###-#D#E#A#L#L#O#C#A#T#E# #(#l#i#s#t# #o#f# #a#l#l#o#c#a#t#e#d# #a#r#r#a#y#s#,#
#S#T#A#T# #=# #s#t#_#v#a#r##r#e#l#e#a#s#e#s# #t#h#e# #m#e#m#o#r#y# #b#y#
#r#e#m#o#v#i#n#g# #a#l#l#o#c#a#t#e#d# #a#r#r#a#y#s#.## #e#.#g#.# # # # #
#R#E#A#L#,# #A#L#L#O#C#A#T#A#B#L#E#,# #D#I#M#E#N#S#I#O#N#(# #:#)# #:#:#
#v#a#r#y#i#n#g#_#a#r#r#a#y## # # # # # # # # # # # # # #I#N#T#E#G#E#R# #:#:# #i#
#,#n#,# #a#l#l#o#c#_#e#r#r#o#r# #,# #d#e#a#l#l#o#c#_#e#r#r#o#r## # # # # # # # # #
# # # # #.## # # # # # # # # # # # # # #.## # # # # # # # # # # # # # #R#E#A#D# #(#
#*# #,# #*#)# #n# # # # # # # # # # # # # # # # # # # # # # # # # # # # #!#
#R#e#a#d# #m#a#x#i#m#u#m# #s#i#z#e# #n#e#e#d#e#d## # # # # # # # # # # # # # #D#O#
#i# #=# #1# #,# #n# ## # # # # # # # # # # # # # # # # # # # #
#A#L#L#O#C#A#T#E#(#v#a#r#y#i#n#g#_#a#r#r#a#y#(# #-# #i# #:# #i# #)# #,# # #S#T#A#T#
#=# #a#l#l#o#c#_#e#r#r#o#r#)## # # # # # # # # # # # # # # # # # # # #
#I#F#(#a#l#l#o#c#_#e#r#r#o#r# #/# #=# #0#)# #T#H#E#N## # # # # # # # # # # # # # #
# # # # # # # # # # # # #W#R#I#T#E# # #(#*# #,# #*#)# ## #I#n#s#u#f#f#i#c#i#e#n#t#
#s#p#a#c#e# #t#o# #a#l#l#o#c#a#t#e# #a#r#r#a#y# #&# ## # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #&#w#h#e#n# #i# #=# ##
#,# #i## # # # # # # # # # # # # # # # # # # # # # # # # # # #S#T#O#P## # # # # # #
# # # # # # # # # # # # # # #E#N#D# #I#F## # # # # # # # # # # # # # #!# #
#C#a#l#c#u#l#a#t#e# #u#s#i#n#g#
#v#a#r#y#i#n#g#_#a#r#r#a#y####"###############q######################
########################>####H#####
########

####0################ h############# ###?########


###############
#33#####"#############################################
###

0##

##########################6######(##### ######################
###################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2##########@# #`# ################################
b#################### # # # # # # # # #.## # # # # # # # # #.## # # # # # # # #
#.## # # # # # # # # #D#E#A#L#L#O#C#A#T#E#(#v#a#r#y#i#n#g#_#a#r#r#a#y#,# #S#T#A#T#
#=# #d#e#a#l#l#o#c#_#e#r#r#o#r#)## # # # # # # # #
#I#F#(#d#e#a#l#l#o#c#_#e#r#r#o#r# #/# #=# #0#)# #T#H#E#N## # # # # # # # # # # # #
# # #W#R#I#T#E# #(#*# #,# #*#)# ## #U#n#e#x#p#e#c#t#e#d# #d#e#a#l#l#o#c#a#t#i#o#n#
#e#r#r#o#r# ## # # # # # # # # # # # # # # # #S#T#O#P## # # # # # # # # # #E#N#D#
#I#F## # # # # #E#N#D# #D#O## # # # # #.## # # # # #.#####8##############
###########################################
###############H#####
########

####0################ h############# ###?########


###############
#33#####"############################################
###

0##

#0######(#########################(##### ######################
###################
########
####H########t+################?##############R#e#c#t#a#n#g#l#e#
#2#################`################<######4##########_#_#_#P#P#T#9#
##########################################
#################t###A#l#l#o#c#a#t#e#d# #a#r#r#a#y#s# #a#l#l#o#w# #u#s#e#r#s#
#t#o# #h#a#v#e# #c#o#n#t#r#o#l# #o#n# #t#h#e# #a#m#o#u#n#t# #o#f# # #m#e#m#o#r#y#
#s#p#a#c#e# #u#s#e#d#.# #T#h#i#s# #i#s# #e#s#p#e#c#i#a#l#l#y# #n#e#e#d#e#d# #
#f#o#r# #v#e#r#y# #l#a#r#g#e# #n# #(#e#.#g#.# #i#f# #n#=#1#0#0#0#0# #t#h#e#n# #n#2#
#=# #1#0#0#0#0#0#0#0#0#)##e#.#g#.## # # # # # # # # # # # #P#R#O#G#R#A#M# #
#s#p#a#c#e## # # # # # # # # # # # #I#M#P#L#I#C#I#T# #N#O#N#E## # # # # # # # # # #
# #I#N#T#E#G#E#R# #:#:# #n# #=#1#0#0#0#0## # # # # # # # # # # # #R#E#A#L# #,#
#A#L#L#O#C#A#T#A#B#L#E# #,# #D#I#M#E#N#S#I#O#N# #(# #:# #,# #:#)# #:#:# #a# #,# #b#
## # # # # # # # # # # # #A#L#L#O#C#A#T#E#(#a#(#2#*#n# #,# #6#*#n#)#)# # # # # # #
#!# #A#l#l#o#c#a#t#e# #s#p#a#c#e# #f#o#r# #a## # # # # # # # # # # # #!#
#C#a#l#c#u#l#a#t#e# #u#s#i#n#g# #a# # # # # # # # # # # # # # # # # # # # #!#
#U#s#e#s# #1#2#n#2# #e#l#e#m#.## s# #s#p#a#c#e## # # # # # # # # # #!# #i#.#e#.#
#i#t# #n#e#e#d#s# #1#2#n#2# # # # #m#e#m#o#r#y# #l#o#c#a#t#i#o#n#s# #f#o#r#
#r#e#a#l# #n#u#m#b#e#r#s# ## # # # # # # # # # # # #.## # # # # # # # # # # # #.##
# # # # # # # # # # # #.# # # ################################################################################################
####
######

####################z###################################,#################
########'#########################

#############################
###;############H#####
########

####0################ h############# ###?########


###############
#33#####"################F############################
###

0##

##########################v######(##### ######################
##############>#####
########
####H########2################?##############R#e#c#t#a#n#g#l#e#
#2########### #`######################################################
# # # # # # # # # # #.## # # # # # # # # # # #D#E#A#L#L#O#C#A#T#E#(#a#)# # # # # #
# # # # # # # # # # # # # # # # # #!#F#r#e#e# #s#p#a#c#e# #u#s#e#d# #b#y# #a## # #
# # # # # # # # #A#L#L#O#C#A#T#E#(#b#(#3#*#n# #,# #4#*#n#)#)# # # # # # # # # # #
#!# #A#l#l#o#c#a#t#e# #s#p#a#c#e# #f#o#r# #b## # # # # # # # # # # #!#
#C#a#l#c#u#l#a#t#e# #u#s#i#n#g# #b# # # # # # # # # # # # # # # # # # # # # #!#
#U#s#e#s# #1#2#n#2# #e#l#e#m## s# #s#p#a#c#e## # # # # # # # # # # #.## # # # # # #
# # # # #.## # # # # # # # # # # #.## # # # # # # # # # # #D#E#A#L#L#O#C#A#T#E#
#(#b#)# # # # # # # # # # # # # # # # # # # #!#F#r#e#e# #s#p#a#c#e# #u#s#e#d# #b#y#
#b## # # # # # # # #E#N#D# #P#R#O#G#R#A#M# #s#p#a#c#e###T#o#t#a#l# #m#e#m#o#r#y#
#S#p#a#c#e# # #=# #1#2#n#2# #e#l#e#m#e#n#t#s# #s#p#a#c#e#
####V########################################
######################
####################
###############H#####
########

####0################ h############# ###?########


###############
#33#####"################v############################
###

0##

##################################(##### ######################
##############n#####
########
####H########K################?##############R#e#c#t#a#n#g#l#e#
#2############ #`##################################
####################T#h#e# #s#a#m#e# #s#u#b#r#o#u#t#i#n#e# #w#i#t#h#
#s#t#a#n#d#a#r#d# #a#r#r#a#y#s# #u#s#e#s# #2#4#n#2# # #e#l#e#m#e#n#t#s#
#m#e#m#o#r#y# #s#p#a#c#e#:## # # # # # # # # # # # # # #P#R#O#G#R#A#M# #s#p#a#c#e##
# # # # # # # # # # # # # #I#M#P#L#I#C#I#T# #N#O#N#E## # # # # # # # # # # # # #
#I#N#T#E#G#E#R# # #:#:# #n## # # # # # # # # # # # # # #R#E#A#L# #,#
#D#I#M#E#N#S#I#O#N#(#2#*#n# #,# #6#*#n#)# #:#:# #a# # # # # # #!#1#2#n#2#
#e#l#e#m#.## s# #s#p#a#c#e## # # # # # # # # # # # # # #R#E#A#L# #,#
#D#I#M#E#N#S#I#O#N#(#3#*#n# #,# #4#*#n#)# #:#:# #b# # # # # # #!#1#2#n#2#
#e#l#e#m#.## s# #s#p#a#c#e## # # # # # # # # # # # # # #!#C#a#l#c#u#l#a#t#e#
#u#s#i#n#g# #a## # # # # # # # # # # # # # #.## # # # # # # # # # # # # # #.## # #
# # # # # # # # # # # #!#C#a#l#c#u#l#a#t#e# #u#s#i#n#g# #b## # # # # # # # # # # #
# # #.## # # # # # # # # # # # # # #.## # # # # # # # # # # # # # #E#N#D#
#P#R#O#G#R#A#M# #s#p#a#c#e# # # # # # # # # # # # # #!# #T#o#t#a#l# #=# #2#4#n#2#
#e#l#e#m#.## #s#p#a#c#e##################Z#0##########################
###########################################
######G################
######################
####################
###############
###############H#####
########

####0################ h############# ###?########


###############
#33#####"############################################
###

0##

#^######V#########################(##### ######################
###################
########
####H########PV################?##############R#e#c#t#a#n#g#l#e#
#2############ #`#################################
#####################N#O#T#E#:## # # # # # # #T#h#e#r#e# #a#r#e#
#i#n#t#r#i#n#s#i#c# #f#u#n#c#t#i#o#n#s# #w#h#i#c#h# #g#i#v#e#
#i#n#f#o#r#m#a#t#i#o#n# #o#n# #A#L#L#O#C#A#T#A#B#L#E##a#r#r#a#y#s# #e#.#g#.# ##
A#L#L#O#C#A#T#E#D## #i#n#t#r#i#n#s#i#c# #f#u#n#c#t#i#o#n# #c#h#e#c#k#s# #i#f#
#i#t# #w#a#s# #a#l#r#e#a#d#y# #a#l#l#o#c#a#t#e#d# #:##e#.#g#.## # # # # # # # # #.#
# # # # # # # # # #R#E#A#L# #,# #A#L#L#O#C#A#T#A#B#L#E# #,# #D#I#M#E#N#S#I#O#N#
#(#:#)# #:#:# #i#n#p#u#t#_#d#a#t#a## # # # # # # # # #A#L#L#O#C#A#T#E#
#(#i#n#p#u#t#_#d#a#t#a# #(#1# #:# #1#0#0#0#0#0#0#)# #,# #S#T#A#T# #=#
#a#l#l#o#c#_#s#t#a#t#)## # # # # # # # # # # # # # # # # # #& & & & & # # # # # # #
# # # # # #I#F# #(#A#L#L#O#C#A#T#E#D# #(#i#n#p#u#t#_#d#a#t#a#)# #)# #T#H#E#N# ## #
# # # # # # # # # # # #R#E#A#D#(#*#,#*#)# #i#n#p#u#t#_#d#a#t#a## # # # # # # # # #
# # # #D#E#A#L#L#O#C#A#T#E# #(#i#n#p#u#t#_#d#a#t#a#)## # # # # # # # # # # #
#E#L#S#E# ## # # # # # # # # # # # # #W#R#I#T#E# #(#*#,#*#)# ## w#a#r#n#i#n#g# #:#
#a#r#r#a#y# #n#o#t# #a#l#l#o#c#a#t#e#d## # # # # # # # # # # # # #E#N#D# #I#F# ##
#E#x#a#m#p#l#e#s#:# #t#e#s#t#A#l#l#o#c#a#t#e#1#,# #t#e#s#t#A#l#l#o#c#a#t#e#2#,#
#t#e#s#t#A#l#l#o#c#a#t#e#3## # # # # # # # #
####:###Z###########P##############################
#############
###Z############H#####
########

####0################ h############# ###?########


###############
#33#####"#############################################
###

0##

#################################(##### ######################
###################
########
####H#########{################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################m#################+###Chapter 9
Additional Features of Procedures#######,#########,############
###,############Z#####
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################X###Contents to
be covered: Section 9.1.1 Explicit-Shape Dummy Arrays Section 9.1.2 Assumed-Shape
Dummy Arrays Section 9.2 The SAVE Attribute and Statement Section 9.3 Allocatable
Arrays in Procedures Section 9.4 Automatic Arrays in ProceduresRemaining Sections
are to be Skipped (also skipped) Section 9.1.3 Example 9-1, Fig. 9-1, Fig. 92###D###Y#####################################################>#############
###Y############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################(###############################

0##

#/######'#########################(##### ######################
###################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################K#################
###Chapter 9#######
#########
############
###
#################
########
####H########

################?##############R#e#c#t#a#n#g#l#e# #3###########
#`###################################################x###9.1 Passing
Multidimensional Array to ProceduresThe passing of multidimensional (i.e. rank >=2)
arrays is similar to passing single dimension (i.e. rank=1) arrays. However, the
procedure needs to know: (1) the number of dimensions (i.e. rank) and (2) the
extent of each dimension to use the array. The possible ways to pass arrays are:
Explicit-Shape , Assumed-Shape arrays
###V###y###########P#0########'################6#######################&######
#############
###y############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.######!N###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

###########################z######(##### ######################
###################
########
####H########p################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################K#################
###Chapter 9#######
#########
############
###
############S#####
########
####H########x################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#####################9.1.1 Explicit-Shape ArraysUsing this method we pass the
array and the extent of each dimension of the array to the subroutine.The extent
values are used to declare the size of the array in the procedure ( test example
program array2 (Fig7-6, in Chapter 7) . Also e.g. SUBROUTINE process1 (data1,
data2, n,m)IMPLICIT NONEINTEGER, INTENT(IN) :: n,mREAL, INTENT(IN),
DIMENSION(n,m) :: data1 ! explicit-shapeREAL, INTENT(OUT), DIMENSION(n,m) ::
data2 ! explicit-shapedata2= 3.*data1END SUBROUTINE process1
##################P##########################################################
############################################################
################H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.######!N###+##########D=#####' ################################=
###@#B#####
######+######"################L###############################

0##

#S######K##########################(##### ######################
#################

########
####F######## ################?##############T#e#x#t# #B#o#x#
#2#############E###0#################>###e#.#g#.#:# #T#w#o# #w#a#y#s#
#f#o#r# #p#a#s#s#i#n#g# #a#r#g#u#m#e#n#t#s# #l#o#w#e#r#,# #u#p#p#e#r# #f#o#r#
#e#x#p#l#i#c#i#t#-#s#h#a#p#e# #a#r#r#a#y#s#:##(#1#)# # # #A#s# #i#n#p#u#t#
#a#r#g#u#m#e#n#t#s#:# # # # # # # ## # # # # # # # # # # #S#U#B#R#O#U#T#I#N#E#
#e#x#p#l#i#c#i#t# #(#a#,# #b#,# #l#o#w#e#r#,# #u#p#p#e#r#)##
#I#M#P#L#I#C#I#T#
#N#O#N#E## #I#N#T#E#G#E#R#,# #I#N#T#E#N#T#(#I#N#)# #:#:# #l#o#w#e#r#,# #u#p#p#e#r#
#
#R#E#A#L#,# #D#I#M#E#N#S#I#O#N#(#l#o#w#e#r#:#u#p#p#e#r#)#,# #&## #
#I#N#T#E#N#T#(#I#N#)# #:#:# #a#,# #b# ## # # # # # # # # # # # # # # # #&
.####### #######
############

########################

#############################################################################
#8############ #############
#############
#############
######

#################

########
####L#############################?##############T#e#x#t# #B#o#x#
#3##########?########################'###
Chapter
9 #######(#######
###(##############(######### ######

##############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.#####eRO###+##########D=#####' ################################=
###@#B#####
######+######"################<
##############################

0##

#C######;### ######################(##### ######################


#################

########
####F########0#################?##############T#e#x#t# #B#o#x#
#2#############g### #####################(#2#)# #O#R#,# #b#y# #u#s#i#n#g#
#a# #m#o#d#u#l#e# #:# # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # #
# # # # # # # # # # # # # #M#O#D#U#L#E# #d#a#t#a#s#e#t## # # # # # # # # # # # # #
# # # # # # # # #I#M#P#L#I#C#I#T# #N#O#N#E# # ## # # # # # # # # # # # # # # # # #
# # # # #I#N#T#E#G#E#R#:#:# # #l#o#w#e#r#,# #u#p#p#e#r# # ## # # # # # # # # # # #
# # # # # # # # # # # # #l#o#w#e#r#=#1#0## # # # # # # # # # # # # # # # # # # # #
# # # #u#p#p#e#r#=#4#0## # # # # # # # # # # # # # # # # # # # # # #E#N#D#
#M#O#D#U#L#E# #d#a#t#a#s#e#t### # # # # # # # #S#U#B#R#O#U#T#I#N#E#
#e#x#p#l#i#c#i#t#_#2#(#a#,# #b#)## # # # # # # # #U#S#E# #d#a#t#a#s#e#t# # # # # #
#!#T#h#i#s# #m#o#d#u#l#e# #i#n#c#l#u#d#e#s# #t#h#e# #l#o#w#e#r# #
#
#
# #
# # # # # # # #!#a#n#d# #u#p#p#e#r# #b#o#u#n#d#s# #o#f# #a# #l#a#r#g#e#
#g#r#o#u#p# #
# # # # # # #
# # # # # # # # # # # # # # # # # # # # # #!
#o#f# #a#r#r#a#y#s#,# #i#n#c#l#u#d#i#n#g# #a# #a#n#d# #b# ##
#
#
# # #
# # #!#T#h#e#s#e# #a#r#e# #c#a#l#l#e#d# #l#o#w#e#r# #a#n#d# #u#p#p#e#r## # # # # #
# # #I#M#P#L#I#C#I#T# #N#O#N#E## # # # # # # # #R#E#A#L#,#
#D#I#M#E#N#S#I#O#N#(#l#o#w#e#r#:#u#p#p#e#r#)#,# #I#N#T#E#N#T#(#I#N#)# #:#:# #&#
#a#,# #b## # # # # # # # # # # # # # # # # # # # # # # # # # # #& .#.#######|
#######
#########################.#########################C########8################
#########################!#########################################!
##########p#############8###X######### #############
############
###b#########
######

#################

########
####L##############################?##############T#e#x#t# #B#o#x#
#3##########?########################'###
Chapter
9 #######(#######
###(##############(######### ######

##############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.#####eRO###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

##########0################s######(##### ######################
###################
########
####H########(################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################K#################
###Chapter 9#######
#########
############
###
############L#####
########
####H########+################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################*###9.1.2 Assumed-Shape Dummy ArraysAssumed-shape arrays are
declared using colons as placeholders for each subscript of the array. Subroutine
must have explicit interface (e.g. must be placed inside a module. Examples in
Book (Skip Example 9-1), Example 9-2: PROGRAM assumed_shape (Fig. 9-3).
###X###+###########Z#
################################1######################################
###+############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.######!N###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

##########@################d######(##### ######################
###################
########
####H########G################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################K#################
###Chapter 9#######
#########
############
###
############=#####
########
####H########J################?##############R#e#c#t#a#n#g#l#e#
#3############9#####################################################Assumed-Shape Dummy Arrays example (not in Book): MODULE test_moduleCONTAINS
SUBROUTINE process1 (data1, data2)REAL, INTENT(IN), DIMENSION(:,:) :: data1 !
Assumed- shapeREAL, INTENT(OUT), DIMENSION(:,:) :: data2 ! Assumed-shapedata2=
3.*data1END SUBROUTINE process1 END MODULE test_module
###F###.###########Z#########################################################
###.############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.######!N###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

##########P################7######(##### ######################
###################
########
####H########4c################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################K#################
###Chapter 9#######
#########
############
###
##################
########
####H########<f################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
t#################F###9.2 The SAVE Attribute and StatementWhen the execution of
a procedure terminates, the local variables and local arrays become undefined (i.e.
their values are erased from the memory). But, if the procedure is called many
times it is useful to save these values for the next CALL, by using the SAVE
keyword. e.g. (1): REAL , SAVE :: sum_x !The value of var sum_x is savedAlso,
variables that are initialized are saved even if SAVE is not written e. g. (2):REAL
:: sum_x2 = 0. ! The value of var sum_x2 is savedExample (Fig. 9-4, 9-5):
running_average, test_running_average#######G###########Z#%##########2#########
##########}####################################################################
###############
#########C##########7##############################Y############################
#####################################
###G############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.######!N###+##########D=#####' ################################=
###@#B#####
######+######"################################################

0##

#x######p###`#######################(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################K#################
###Chapter 9#######
#########
############
###
#################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3#####"a###[###PK##########!#Z#f##########[Content_Types].xmlMO
#&#2WR=#cJ`F#0iK#`###
#v#Lw

#9uSq##:w`G

^#i
#K#I)#c/#
$oVj#T#MRc#|}042#C#M
P~##*ka/8^DkHbL8e
i"K\#XN\6rco4y@#_;o#####PK##########!
#1_a##########_rels/.relsj0

qC#No^K#
[ILcX&m0XFo;#>0x#M#e`|X}

I`N4aG2$R##KIZ#)4(M9`c#tB{Am:f@`3n#|O#, r
jxR0#T

,0@##}WBL#5v######PK##########!
##&K###2######drs/shapexml.xmlZ[O8#~_i##Z#ev.(}DN,uR#;v
+fP"T|998?~Z-#c~

}#/W#NL(e
d?j\W

u=b>w#zu:?Jjj{N8,T^#JQh~bVM-"yt#N872##J#k
##F&&}[n&#" `iBCi.XM[k#Rd55c p#K5g#8_|
##h4l#bL#,yd#+#g

1^U#9###9{#)1$rX(##{
0##rH+[#bnT,&#nee(!b 6
(T(#= a##!PSo.8#d##0FX]F#Pp2#DdG7QXN1k#gxP#@MY
7*%#?Z,##I##5x|j7sOp#U1X#oV##Nb~##cF+A-
%4#:CJB{D<Y&[0
[#H.b/##D##"tS@@6:"}KE'*-##Eos##E

f#R8kZo MKeo^I3{^# r:C#QE+

@#MY
1

i###w#&#KP##63_AZ #"[E
gUA
M1/gu[hKw3#bUT#%F##5zRS#-Cd#dLti#|#E
>)rm#:##i##j?w# N!-B##{#npWH#,# #
aj{jwwl&##w\f##0u#=m##]6G6DC^.4#>
#oM#h#l#.)}<4.###X&{BM9!rj"Um|
bQv'##;9N#(Q#!#7t aOjsHu6>Qkkx
w/Ci49%#)#n9]7e{_JX#TdD]o!
###VQo0#+_'PM#R#{FNsl#~#6D$} "
8*#C#3Jdq#(#1+)#iV#BX#t,

mf &R{RPH4#'u4m|F>j^NMy=u-K#1Kx##l#ED;_M$R\#R##@inNj#Fm#1N:3U Cf
oTL9#)0cwn1+mbh#]k%;###y#vlhH."

a?#jT#]*#~)X7:Q##p*kY|#B{$[#u%T#\'ck2Y
%#QH#qa#KX-
[p#4kg7#A#J|ILw_tA###:X2#wrL#o##5y $
h#Yh>Vw<<HD(F#/#&#%Zytz>#[####+FL#o/p#N8"
#
M##B|L"##@KnV{###o#####PK##########!
#:##########drs/downrev.xmlDj@#pnN#imt#E$#k#
3>}.#

#gr`:I@#WV\+##> k,+y ooVj{EEOQA#BJ

cw`R;D,I#VC=4T#QP~ePOm^JF #D!
EeZl<#A#>{#}
F
r#####PK##-#########!#Z#f########################[Content_Types].xmlPK###########!#1_a####################/###_rels/.relsPK##-#########!
##&K###2################*###drs/shapexml.xmlPK##-#########!
#:####################G ##drs/downrev.xmlPK#############P
##################x################T######L##########_#_#_#P#P#T#9##
##.######&#######################################################
####################9#.#3# # #A#l#l#o#c#a#t#a#b#l#e# #A#r#r#a#y#s# #i#n#
#P#r#o#c#e#d#u#r#e#s# #(#l#o#c#a#l# #a#r#r#a#y#s#)#:# #T#h#e#
#a#l#l#o#c#a#t#a#b#l#e# #a#r#r#a#y#s# #i#n#s#i#d#e# #p#r#o#c#e#d#u#r#e#s# # #a#r#e#
#d#e#c#l#a#r#e#d# #t#h#e# #s#a#m#e# #w#a#y# #a#s# #w#e# #d#o# #i#n# #m#a#i#n#
#p#r#o#g#r#a#m#s#,# # #b#u#t# #a#s# #l#o#c#a#l# #a#r#r#a#y#s#.# # #I#f# #w#e#
#u#s#e# #t#h#e# #S#A#V#E#,# #a#n#d# #t#h#e# #p#r#o#c#e#d#u#r#e# #i#s# #c#a#l#l#e#d#
#m#a#n#y# #t#i#m#e#s# #t#h#e# #a#r#r#a#y#-#c#o#n#t#e#n#t#s# #w#i#l#l# #b#e#
#p#r#e#s#e#r#v#e#d#.# ##9#.#5# # #A#l#l#o#c#a#t#a#b#l#e# #A#r#r#a#y#s# #i#n#
#P#r#o#c#e#d#u#r#e#s# #(#d#u#m#m#y# #a#r#g#u#m#e#n#t# #a#r#r#a#y#s#)#:# #N#o#t#e#:#
#W#e# #n#e#e#d# #e#x#p#l#i#c#i#t# #i#n#t#e#r#f#a#c#e#.##I#N#T#E#N#T#(#I#N#)# #:#
#t#h#e# #a#r#r#a#y# #c#a#n## t# #b#e# #
#c#h#a#n#g#e#d#/#r#e#a#l#l#o#c#a#t#e#d#/#d#e#a#l#l#o#c#a#t#e#d# #i#n# #t#h#e#
#s#u#b#r#o#u#t#i#n#e#.##2#.# #I#N#T#E#N#T#(#I#N#O#U#T#)# #:# #t#h#e#n# #t#h#e#
#s#t#a#t#u#s# #(## a#l#l#o#c#a#t#e#d## #o#r# #n#o#t#)# #a#n#d# #t#h#e##d#a#t#a#
#i#s# #p#a#s#s#e#d# #t#o# #t#h#e# #s#u#b#r#o#u#t#i#n#e# #(#w#h#e#n# #i#t# #i#s#
#c#a#l#l#e#d#)#.# #T#h#e# #a#r#r#a#y# #c#a#n# #######o###########T##########"
#############6####################################################7############
#############################N#########>####################T#################
######
###H############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.######!N##"###############################################

0##

##########p######################(##### ######################
###################
########
####H########\################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################K#################
###Chapter 9#######
#########
############
###
############b#####
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################4###be changed/deallocated/re-allocated and the dummy arg.
(data) will be passed back to the calling program.3. INTENT(OUT) : The actual arg.
(in calling progr.) will be deallocated (when the subroutine is called) and the
subroutine can change/deallocate/re-allocate and the new array will be passed back
to the calling program through the arg. Example: program allocatable_arguments
(section 9.5)9.4 Automatic Arrays in ProceduresAutomatic Arrays are local arrays
inside procedures. They are explicit-shape arrays with non-constant lower/upper
bounds. e.g.
###d###5###########Y#########i####################
##########X############################################
###5############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.######!N##"################o###############################

0##

##########################_######(##### ######################
###################
########
####H########8 ################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################K#################
###Chapter 9#######
#########
############
###
############8#####
########
####H########@################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#################6###SUBROUTINE process1 (data1, data2, n,m)IMPLICIT NONE
INTEGER, INTENT(IN) :: n,mREAL, INTENT(IN), DIMENSION(n,m) :: data1 ! explicitshapeREAL, INTENT(OUT), DIMENSION(n,m) :: data2 ! explicit-shapeREAL,
DIMENSION(n,m) :: temp ! Automatic temp=SIN(data1)data2= 3.*data1 + tempEND
SUBROUTINE process1
###8###5###########P#############5##############################
###7############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.######!N##"###############################################

0##

#Q######I#########################(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###############################K#################
###Chapter 9#######
#########
############
###
#################
########
####H########l#################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##################################
#####################9#.#4#.#1# #A#u#t#o#m#a#t#i#c# #v#e#r#s#u#s#
#A#l#l#o#c#a#t#a#b#l#e# #a#r#r#a#y#s#:# ##1#)# #A#u#t#o#m#a#t#i#c# #a#r#r#a#y#
#i#s# #c#r#e#a#t#e#d# #o#n# #e#n#t#r#y# #a#n#d# #r#e#m#o#v#e#d# #o#n# #e#x#i#t#
#t#o#/#f#r#o#m# #a# #p#r#o#c#e#d#u#r#e# #(#s#u#b#r#o#u#t#i#n#e# #o#r#
#f#u#n#c#t#i#o#n#)#.##2#)# #A#l#l#o#c#a#t#a#b#l#e# #a#r#r#a#y#s# #m#u#s#t# #b#e#
#a#l#l#o#c#a#t#e#d#/#d#e#a#l#l#o#c#a#t#e#d# #m#a#n#u#a#l#l#y#.# #T#h#e#y# #c#a#n#
#b#e# #c#r#e#a#t#e#d#/#d#e#s#t#r#o#y#e#d# #i#n# #(#s#e#p#a#r#a#t#e# #
#p#r#o#c#e#d#u#r#e#s#)#.# #T#h#e#y# #c#a#n# #b#e# #r#e#-#s#i#z#e#d# #d#u#r#i#n#g#
#c#a#l#c#u#l#a#t#i#o#n#.# ##N#o#t#e#:# #U#n#l#i#k#e# #a#u#t#o#m#a#t#i#c#
#a#r#r#a#y#s#,# #e#x#p#l#i#c#i#t#-#s#h#a#p#e# #a#n#d# #a#s#s#u#m#e#d#-#s#h#a#p#e#
#a#r#r#a#y#s# #c#a#n# #b#e# #d#u#m#m#y# #a#r#g## s# #a#n#d# #a#r#e# #g#i#v#e#n#
#f#i#x#e#d# #e#x#t#e#n#t#s# #i#n# #t#h#e# #c#a#l#l#i#n#g# #p#r#o#g#r#a#m#.#
####h##############Z#)#####################
####################c############################################
###############H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.######!N##"################V###############################

0##

#]######U#########################(##### ######################
###################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################l#################*###Chapter 11
Additional intrinsic data types#######+#########+############
###+#################
########
####H##########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################!####################Objectives:
Understand the different KINDS of a given data type. How to select a specific kind
for REAL , INTEGER data.How to select the precision and range of a real variable in
a computer independent manner. ##################

##################
###############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

#2######*#########

#### #####
#####(#####
######################
##### #########%#####
##### ###
####N########&#####################?##############R#e#c#t#a#n#g#l#e#
#2##########
##T########################REAL numbers: consider any nonzero real number as a fraction lying between 0.1 and 1.0, called the mantissa (or
fraction), which is multiplied or divided by 10 a certain number of times, where
this number is called the exponent. ###v##########
##################################`####################c########################
##########################################
######

#################

##### ###
####L########`'#####################?##############T#e#x#t# #B#o#x#
#3##########J# ##m####################$###RECALL: REAL Numbers on the
computer#######%#######
###%################%#########
######

###################
##### ###
####T########D##########################?
##############R#e#c#t#a#n#g#l#e# #4#################
T#############################
#########C##########
################

###################
##### ###
####T#########N##########################?
##############R#e#c#t#a#n#g#l#e# #5##########
d##

##h######################### ###########
######################################## ######

#####################v##### ##########p###
####
##### ######C##(######################G#r#o#u#p#
#6#####"##################
####|####
##### ###
##c##8####A###############?#####?###########O#b#j#e#c#t#
#7##########2###############

#################t###B#
#### ##
####D################################?##############L#i#n#e#
#8##########

###q############t###B#
####
##
####D################################?##############L#i#n#e#
#9#############&##################
##### ###
####P#########\#####################?##############R#e#c#t#a#n#g#l#e#
#1#0##########:###m###p###M #####################

###

exponent###4###

#######
###########################################################

######

####################
####

###
####P#########j#####################?##############R#e#c#t#a#n#g#l#e#
#1#1####################
#####################
###mantissa###4###
#######
##################################################
#########
######

##############Z#####
##### ###
####P########k#####################?##############R#e#c#t#a#n#g#l#e#
#1#2##########_

#)#[###################<###NOTE: The mantissa and the exponent


numbers. ###X###=#######
###
#########
#########################################
###########################=######### ######

are integers

##############H#####
##### ###

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####h# ###"###############################################

0##

#F######>###################
#####(#####
######################
##################

########
####L########x#####################?##############T#e#x#t# #B#o#x#
#2##########i# #O#e####################F###RECALL: Default (IEEE standard)
INTEGER and REAL numbers on a computer#######G#######
###G################G#########
######

##############H#####
########
####N########4#####################?##############R#e#c#t#a#n#g#l#e#
#3##########@# # #:####################f###The default (IEEE standard) INTEGER
and REAL numbers on a computer is based on 32-bit representation of numbers. So
when we declare data as type INTEGER or REAL we can only the following numbers (1)
and (2) represented on a computer. The remaining numbers are either zero or
+infinity or -infinity . For REAL, the representation is called single precision.
#######g#######
###############################################################################
############################<##################################################
###############################################################################
##################################g######### ######

##############(#####
########
####N#############################?##############R#e#c#t#a#n#g#l#e#
#4####################################(#1#)# #A#n# #i#n#t#e#g#e#r# #i#s#
#a# #w#h#o#l#e# #n#u#m#b#e#r#,# #i#s# #a#l#w#a#y#s# #s#t#o#r#e#d# #e#x#a#c#t#l#y#
#i#n# #t#h#e# #c#o#m#p#u#t#e#r## s# #m#e#m#o#r#y#,# #a#n#d# #h#a#s# #a#
#(#r#e#l#a#t#i#v#e#l#y#)# #l#i#m#i#t#e#d# #r#a#n#g#e# #:## #
#(#b#e#t#w#e#e#n#
#a#b#o#u#t# #-#2#*#1#0#9# #a#n#d# #+#2#*#1#0#9# #o#n# #a# #t#y#p#i#c#a#l# #3#2##b#i#t# #c#o#m#p#u#t#e#r#)#.# ###(#2#)# #A# #r#e#a#l# #n#u#m#b#e#r#,# #o#n# #t#h#e#
#o#t#h#e#r# #h#a#n#d#,# #i#s# #s#t#o#r#e#d# #a#s# #a# #f#l#o#a#t#i#n#g#-#p#o#i#n#t#
#n#u#m#b#e#r#,# #i#s# #s#t#o#r#e#d# #a#s# #a#n# #a#p#p#r#o#x#i#m#a#t#i#o#n# #t#o#
#a# #f#i#x#e#d# #n#u#m#b#e#r# #o#f# #s#i#g#n#i#f#i#c#a#n#t# #d#i#g#i#t#s# #a#n#d#
#i#t# #h#a#s# #a# #v#e#r#y# #l#a#r#g#e# #r#a#n#g#e# #:##
#
#(#t#y#p#i#c#a#l#l#y# #i#n# #t#h#e# #r#a#n#g#e# #b#e#t#w#e#e#n# #a#b#o#u#t#
#-#1#0#3#8# #a#n#d# #+#1#0#3#8# #a#n#d##a#c#c#u#r#a#t#e# #i#n# #t#h#e# #f#i#r#s#t#
#s#e#v#e#n# #o#r# #e#i#g#h#t# #s#i#g#n#i#f#i#c#a#n#t# #d#i#g#i#t#s# #o#n# #t#h#e#
#s#a#m#e# #3#2#-#b#i#t# #c#o#m#p#u#t#e#r#)#.# ####V###|#######
###D#######
##############
##########
#######################################%####################X###############
#####
###############
#####"#########################################R#########
##########t###############
#####################
###############
##########
#########################################3##########################
##########################H#####
########

####0################ h############# ###?########


###############
#33######8######0##########_#_#_#P#P#T#1#0##########
.####h#`vh##"###############################################

0##

##########################t######(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################l#################*###Chapter 11
Additional intrinsic data types#######+#########+############
###+############8#####
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##########################################11.1
Alternative kinds of REAL data type: In Fortran, there is a double precision ( REAL
data type ), which is based on a representation on the computer with 64-bits (i.e.
8 bytes). For this, the mantissa (or fraction of the number) have 14 (depending on
the computer maybe: 15 or 16) accurate decimal digits and the exponent range is [308 , 308] (for base 10). The content of this chapter is (in part) devoted in
explaining how to use double precision in Fortran 90/95 programs.
#################Z#(#########################################################
################\######################################################
###############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

##########################:######(##### ######################
###################
########
####H########,################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################l#################*###Chapter 11
Additional intrinsic data types#######+#########+############
###+#################
########
####H##########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################
n####################1#1#.#1#.#1# #K#i#n#d#s# #o#f# #R#E#A#L#
#c#o#n#s#t#a#n#t#s# #a#n#d# #v#a#r#i#a#b#l#e#s#:# ##T#h#e# #K#I#N#D#
#p#a#r#a#m#e#t#e#r# #c#a#n# #b#e# #u#s#e#d# #i#n# #t#h#e# #R#E#A#L#
#d#e#c#l#a#r#a#t#i#o#n# #t#o# #s#p#e#c#i#f#y# #s#i#n#g#l#e# #(#o#r# #d#o#u#b#l#e#)#
#p#r#e#c#i#s#i#o#n#.# ##e#.#g#.# ## # # # # # #R#E#A#L#(#K#I#N#D#=#1#)# #:#:#
#v#a#l#u#e#_#1## # # # # # #R#E#A#L#(#K#I#N#D#=# #4#)# #:#:# #v#a#l#u#e#_#2## # # #
# # #R#E#A#L#(#K#I#N#D#=#8# #)#,# #D#I#M#E#N#S#I#O#N#(#2#0#)# #:#:# #a#r#r#a#y## #
# # # # #R#E#A#L#(#4#)# #:#:# #t#e#m#p# # # # # # # # #!# #b#e#t#t#e#r# #t#o#
#u#s#e# ## K#I#N#D#=## #W#e# #o#f#t#e#n# #c#a#l#l# #t#h#e# #v#a#r#i#a#b#l#e#s#
#d#e#c#l#a#r#e#d# #(#w#i#t#h# #K#I#N#D#)# #p#a#r#a#m#e#t#r#i#z#e#d#
#v#a#r#i#a#b#l#e#s#.# #I#n# #g#e#n#e#r#a#l#,# #K#I#N#D#=#1# #o#r# #4# #i#s#
#s#i#n#g#l#e# #a#n#d# #K#I#N#D#=#2# #o#r# #8# #i#s# #d#o#u#b#l#e#
#p#r#e#c#i#s#i#o#n#.# #B#u#t#,# #i#t# #a#l#l# #d#e#p#e#n#d#s# #o#n# #t#h#e#
#c#o#m#p#u#t#e#r#/#c#o#m#p#i#l#e#r#.#
####\##############Z#/###############################
##########$####################x############
###############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################Z###############################

0##

#a######Y#########################(##### ######################
###################
########
####H##########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################l#################*###Chapter 11
Additional intrinsic data types#######+#########+############
###+#################
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################%#####################In order,
to make the Fortran programs portable among computers we use a named constant
(instead of 4 or 8) in KIND: e.g.INTEGER, PARAMETER :: SINGLE = 4 INTEGER,
PARAMETER :: DOUBLE = 8REAL(KIND= SINGLE) :: value_1REAL(KIND= DOUBLE),
DIMENSION(2) :: arrayREAL(SINGLE) :: tempWe can also declare constants: e.g.
34.
! default kind, single precision34._4
! Valid if KIND=4 is valid; please avoid
this way!34.E3
! default kind, single precision1234.56789_DOUBLE
! Valid, if
DOUBLE is declared, as above ##################'#########
###################################################
%#########################################
###################################################$##########.#################
#####
############################H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

###########################*######(##### ######################
###################
########
####H########|-################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################l#################*###Chapter 11
Additional intrinsic data types#######+#########+############
###+#################
########
####H########Q################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################^####################3.0E0 !
default kind, single precision constant3.0D0 ! double precision constantWe can
find out the kind of precision on a computer by using the intrinsic function KIND.
e.g. PROGRAM kinds (Figure 11-1).
###\################################################j#######
####################################
###############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################################################

0##

###################################(##### ######################
###################
########
####H########X################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################l#################*###Chapter 11
Additional intrinsic data types#######+#########+############
###+############m#####
########
####H#########_################?##############R#e#c#t#a#n#g#l#e#
#3########### #`###########################################11.1.3
Selecting a precision (in a computer/processor independent manner) We use an
intrinsic function SELECTED_REAL_KIND : kind_number = SELECTED_REAL_KIND
(p=precision,
& r=range) ! precision is the no. of decimal digits of precision,
i.e. accuracy! range is the exponents range in powers of 10.! e.g. kind_number =
SELECTED_REAL_KIND (p=6, r=37) This function gives: -1 (precision is not
available), -2 (range is not available), -3 (precision and range are not
available).Note: what is available depends on the computer/compiler.######
###########K##########
########################################################################
%###############################6############
### ############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

########## ################e######(##### ######################


###################
########
####H########P################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################l#################*###Chapter 11
Additional intrinsic data types#######+#########+############
###+############)#####
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################}###Table 11-2:
Kind related functions return the following: SELECTED_REAL_KIND (p, r) ! the
smallest kind of REAL with p
! decimal digits of precision and range: [-10^r, 10^r]
SELECTED_INT_KIND (r)
! Smallest kind of INTEGER
!
with range: [-10^r, 10^r]KIND(X)
!
the KIND for the var. or const. XPRECISION(X)
! the decimal digits of
precision for the var. or const. X RANGE(X)
! the decimal exponent
range for the var. or const. X Example: PROGRAM selected_kinds (Figure 11-2)
######~###########
################/##################################################
##########+##############################.##########
%####################<####################8#####################################
#################
###~############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

##########0################{######(##### ######################
###################
########
####H########x################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################l#################*###Chapter 11
Additional intrinsic data types#######+#########+############
###+############?#####
########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3############@##
%####################r######j##########_#_#_#P#P#T#9####L######D#######
##################################################################
5#####################11.1.4 Mixed-precision (single/double precision)
arithmeticExample (operation + in single/double precision): 1./3 + 1./3 1.D0/3. +
1/3 = 3.333333333333333 E-001 ! 1/3 =0, here1./3. + 1.D0/3.
=
6.666666633333333 E-001
!
1./3., is single precision1.D0/3. + 1./3.D0 =
6.666666666666666 E-001Example: Constants must be declared/written in double
precision to actually have a double precision accuracy. e.g. PROGRAM test_initial
INTEGER, PARAMETER :: DBL =SELECTED_REAL_KIND(p=13)REAL(KIND=DBL) :: a1=
6.666666666666666######|###########j##########" ##############-##########"
#############D####################5####################j#########################

##

#############m##########_##############################################
############################H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################################################

0##

#$##########@######################(##### ######################
###################
########
####H########,################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################l#################*###Chapter 11
Additional intrinsic data types#######+#########+############
###+############x#####
########
####H########|################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################
####################REAL(KIND=DBL) :: a2= 6.666666666666666_DBLWRITE(*,*)
a1,a2END PROGRAM test_initial The program gives the results for a1 and a2:
6.666666507720947
6.666666666666666(i.e. a1 is in single-precision , because it
was not declared/written as double!).11.1.5 Higher precision intrinsic functions:
y=DBLE(x) ! converts the x to double precision y. But DBLE(a1) will not ! Add
lost digits if constant a1 did not have _DBL, like a2Note: y=REAL(x) ! converts
the x to single precision y.
############################A###################+###########################
####.#########
##########(####################################################################
#### ##########.############
###############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################c###############################

0##

#j######b###P######################(##### ######################
###################
########
####H########################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################l#################*###Chapter 11
Additional intrinsic data types#######+#########+############
###+#################
########
####H##########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################.####################11.1.6 When
should one use high precision (i.e. double-precision) instead of standard REAL (?)
e.g. REAL :: x, y, a1, a21. When the values are : x < -10^(38)
or
x >
10^(38) 2. When we have: x+y (or x-y) with |x| much smaller than |y|e.g. x = 3.25
and y= 1000000.0 then:Single-precision: x+y= 1000003.0 Double-precision: x+y=
1000003.253. When the |a1| and |a2| are about the same and we compute (a1-a2) .
###Z##############c####################B#####################################
###H#############
###############H#####
########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

##########`#################*######(##### ######################
####################
#########
####H########|#################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################l#################*###Chapter 11
Additional intrinsic data types#######+#########+############
###+#################
#########
####H#########################?##############R#e#c#t#a#n#g#l#e#
#3########### #`######################
^####################E#x#a#m#p#l#e# #:# #N#u#m#e#r#i#c#a#l#
#c#a#l#c#u#l#a#t#i#o#n# #o#f# #d#e#r#i#v#a#t#i#v#e#s#.##e#.#g#.# #P#R#O#G#R#A#M#
#d#i#f#f# #(#F#i#g#u#r#e# #1#1#-#4#)#.# ##C#a#l#c#u#l#a#t#e# #t#h#e#
#d#e#r#i#v#a#t#i#v#e# #o#f# #f#(#x#)# #=# #1#/#x# #,# #a#t# #x#=# #0#.#1#5# #.#
#N#o#t#e#:# #(#1#)# #t#h#e# #t#r#u#e# #d#e#r#i#v#a#t#i#v#e# #o#f# #f#(#x#)# #i#s#:#
#-#1#/#(#x#*#x#)# #=#-#4#4#.#4#4#4#4#4#4#4#4#4# #.#.# #;# #(#2#)# #u#s#i#n#g#
#t#h#e# #a#p#p#r#o#x#i#m#a#t#i#o#n# #f#o#r#m#u#l#a#:# # #(#f#(#x#+#d#_#x#)# ##
f#(#x#)# #)#/#d#_#x##N#o#t#e#:# #T#h#e# #p#r#o#g#r#a#m# #u#s#e#s# #d#_#x# #=#
#1#.#0#0#0#E#-#1# #,#.#.#,# #1#.#0#0#0#E#-#1#0# #.# ##W#h#e#n# #d#_#x# #i#s#
#s#m#a#l#l#e#r# #t#h#a#n# #1#.#0#0#0#E#-#5# #b#o#t#h# #s#i#n#g#l#e# #a#n#d# #
#d#o#u#b#l#e# #p#r#e#c#i#s#i#o#n# #s#o#l#u#t#i#o#n#s# #a#r#e# #a#c#c#u#r#a#t#e#.#
#B#u#t# #f#o#r# #d#_#x# #># #1#.#0#0#0#E#-#5# #o#n#l#y# #t#h#e# #d#o#u#b#l#e#
#p#r#e#c#i#s#i#o#n# #s#o#l#u#t#i#o#n# #i#s# #a#c#c#u#r#a#t#e#.#
####d#######################################################################
############################
###############H#####
#########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"################%###############################

0##

#,######$###p#######################(##### ######################
####################
#########
####H########;################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################l#################*###Chapter 11
Additional intrinsic data types#######+#########+############
###+#################
#########
####H########$?################?##############R#e#c#t#a#n#g#l#e#
#3########### #`##########################################S#K#I#P#
#:# #s#e#c#t#i#o#n# #1#1#.#1#.#7# ##1#1#.#2# #A#l#t#e#r#n#a#t#e# #l#e#n#g#t#h#s#
#o#f# #t#h#e# #I#N#T#E#G#E#R# #d#a#t#a# #t#y#p#e# ##T#h#e# #i#n#t#r#i#n#s#i#c#
#f#u#n#c#t#i#o#n# ## #k#i#n#d#_#n#u#m#b#e#r# #=#
#S#E#L#E#C#T#E#D#_#I#N#T#_#K#I#N#D#(#e#)# ##(#w#h#e#r#e# #r#a#n#g#e# #i#s# #t#h#e#
#e#x#p#o#n#e#n#t# #e# #f#o#r# #t#h#e# #r#a#n#g#e# #[#-#1#0#^#e# #,# ##1#0#^#e#]#
#,# #e#.#g#.# #e#=#3#,#9#,#1#2#,#3#0#)# #g#i#v#e#s# #t#h#e# #i#n#t#e#g#e#r#
#p#a#r#a#m#e#t#e#r#,# ##t#o# #b#e# #u#s#e#d# #i#n# #a# #d#e#c#l#a#r#a#t#i#o#n#
#f#o#r# #I#N#T#E#G#E#R# #t#y#p#e#.##e#.#g#.# #t#h#e# #p#r#o#g#r#a#m#:#
#P#R#O#G#R#A#M# #t#e#s#t#_#s#e#l#e#c#t#e#d#_#i#n#t#_#k#i#n#d#s##N#o#t#e#:# #e#.#g#
#e#=#9# #i#s# #t#h#e# #d#e#f#a#u#l#t# #r#a#n#g#e# #f#o#r# #I#N#T#E#G#E#R# #o#n#
#I#n#t#e#l# #P#e#n#t#i#u#m#s# #:# #[#-#2#1#4#7#4#8#3#6#4#8# #,#
#2#1#4#7#4#8#3#6#4#8# #]#.# #A# #n#u#m#b#e#r# #o#u#t#s#i#d#e# #t#h#e# #r#a#n#g#e#
#i#s# #+# #i#n#f#i#n#i#t#y# #o#r# ## #i#n#f#i#n#i#t#y#.#
##################P######################1####################
%##########[####################C#########$####################################
#####################################P#########
####################
#######################
###############H#####
#########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"###############################################

0##

###########################V######(##### ######################
####################
#########
####H########e################?##############R#e#c#t#a#n#g#l#e#
#2########### #`#}###################l#################*###Chapter 11
Additional intrinsic data types#######+#########+############
###+##################
#########
####H########4i################?##############R#e#c#t#a#n#g#l#e#
#3########### #`#######################################0###Example of
declaration. INTEGER, PARAMETER :: SHORT= SELECTED_INT_KIND(3) INTEGER,
PARAMETER :: LONG = SELECTED_INT_KIND(9) INTEGER (KIND=SHORT) :: i1 INTEGER
(KIND=LONG) :: i2 INTEGER :: 34, 34_4, 24_LONG ! the constant 34_4 is valid if 4 is
a legal kind of integerSKIP: the remaining sections
###,###1#############################################
###1############H#####
#########

####0################ h############# ###?########


###############
#33######################_#_#_#P#P#T#1#0####i#####
.####.a#@C###+##########D=#####' ################################=
###@#B#####
######+######"########################xXO#Q#V(h[#h%#P

#4P`## ###R#hP. #=#


#^Lz1fO#[gME#W&;kf{

2t
b-J#"#^#W(#"#WTk#3B### | [
D#fRyv#lJ6
#y1<P:7#1yqQM;E#+##R7#U&#pqB;"0Yj#=YC#Zz/DKv?
$\GZ@t#5 b#####!q# `i*xa#t<Q#auVV:fw
t##()7##uHH##!y##(#uD%|
#>x@Gh<}k#Od#cC.#W`,7##3##i1#M#l<P_r&#5R4#>P
eR:#zH#s=O/~GtSb{pz.#_O@##S3Oa
>z,jfkx\==3L5#L#z#7S#EeZ#fqO#q(v.x#u4##cO##)vvb[1$#^#WxO#;{:#F\##G\=A
. !
#yW-!L+
+!=3#

Na2p)$O!AYb5
++
+
EwnAPE#7+,>D>8#+st#3!#R6#~a"#&#kLZy#N*XRYT}%|
k0#`s##wjz
,##PQX61+=';#j8.v#y_3dW#mWC9F
i[Km/## ##########x]pTu>#i~#W2###B#!#1!
%6ZX~##8Li63@#q#i43%#OJ
#{} #=s;w#
KV

Rh-hpu#.>
#`$'#Tt#n#F[!1#@#

`:#v#R#80#J3
f
-< +G#}
a#a
a
r#?
@#Df8#g3=~ja##c1"N#~}#lGa/G Hn}Gc#$>z@#C#P<##
9-`Z\\<#y#r#m### 6 /@

Bdjb%A@# N]##y%* W####9|/g##


d"oDnC 9]fL; w"#!mzF

<
#(

#>I4#hr#D`#}(+[:#<ACp#DDR
%##a2e##c/@}o#Z+/z##F#=3_@#~~=wL#Up2>e
\###-L#O#w#8#@` =#r\#d###rx#O#/N+ 1]
w#rpmtGi#tm~)G

>4r=H\"E#)RH"E#)RtKt#o,7F=<##y#}

=8 #}==##g '#g,-{/a9@gT|L#Y#nS[:]}
o=#F{c-{<#
###&#i~fbco3s
=*RH"E#)RH"E #
#o{/~UO# ###
?
sTYLc)^#bK#~#sP5)-1ixZN~:4_

3j#h>26zJ#d>##(BN9?6R#Rek# lS24gJQZq#`qZ#%)x#xU$F#^+"*v#q#)d.##:2
F
~15.j8#?##b#tDTI(~
~
#8J%E6#h`[ {K#}kskga{#w
e@,v/=#-AwG4#u#[#Xd0###X%yo :h#[#X{dhHY2-]#n# C!
## E>
~~ [hZruwD v#uj##*{=`0y!W!#
#dV-)#4Q#elN-kKs5
Ll#7ZZ88V#vT:;Sx#\x)E2#jCt9Q#&g%g&\
:C#O*M2Z-+3NCW-{x##qwyF#9###/EnB^#j}e~(c~A#D "#T
S'#Ka?#+K@>#>#O_?
#gC>4S{$#.nD^# #;y#qG }t|i`Q{>r#gr(#q^;6>uh6##n#G
= ##hew(% yJ|!B[>~^+pSY_?##Dm"5#0

Vz_e>.u/a2zJ##=#=#; R##-#?L{Myme#1?{#ja9T
#i###<$$Bz(@J#ude#JJ
#G#q#4O*lg$##G`H$#A##ZR&je}x
>{#
:=#1x3LJr##@#3!o5\Q[NRz^6_##U##vlgVEZ& |
\/w+UJiVz##0My#A<GXf!,Q#<[4#Kl^1#a9
#q>G=#X5&#zx)ev
f#/0:j#0:j#0:j#w?J1)mKigMJg^'# {K `>#{,#{#-
k<|&4q##(qX
#v#lgcR##}C#'$0^7#
Ou@8
ORPQ8Bf~/Fj 7:###l#a[(

Ba#
P#e#@eIi\J[=kR:h#WkMWAJ4SqHai4

8#54yCZ(
#;{io'\hwK#q[cm}\Y#-B-BBeBW{LJ[=RYs<y]##gl9J2i]b#ge)N##z
*P#qW
9 A_/^n#}
#z#r;v##v#gMJg#_WhjB6E/1RO;f#T

yQX_tgX3~^#|#/BE[#h##-#F7lxL,kEL####NT4Q%
[n=vb2YIr1)[,Ej=s#.8
M#9#PLW:hP##o#]>1'SBW#i,>@L|
m#wov(##^yn##Z#~=##<#zCRzP#51##7bS(a rxp#st
a #Bm po2E`/j<:WM']#
oxILHl#1Mh#Hi<C#8###oX#_O^7#u#C#

FYx }LdMl5v`[}I~r=P{lW-
#t#F<h1
# ` #okM=YnK}###py`y)#}U#[6ip##]':#K#M,}
<C@WR4###mOM-4#w"#KaA#S_C~#Y@u#22]uCFG?#'}3]eQ #DrC,##m{#J0#Y#=Vgzq#v4#'itZ)y#a1N+e
}#k#V#g#Vr##@d{yR#6;Xa)|ZVh =s2#0
EK~
ow
A/ GC[=25oda#Z^/<Q:V

Вам также может понравиться