ࡱ>   JbjbjWW .==>DFFFZZZ8|ZFŽǽǽǽǽǽǽ$BFq"qq'''qx8FŽ'qŽ''BE.P?8 f0FoR"Fձ 0"'_w% Fqqqq : Lab 8: Input Validation This lab accompanies Chapter 7 of Starting Out with Programming Logic & Design. Branden & alex Name: ___________________________ Lab 8.1 Input Validation Critical Review If a computer reads bad data as input, it will produce bad data as output. Programs should be designed to reject bad data that is given as input. Garbage in, garbage out (GIGO), refers to the fact that computers cannot tell the difference between good data and bad date. Both numbers and strings can be validated. Help Video: Double click the file to view video  The goal of this lab is to identify potential errors with algorithms and programs. Step 1: Imagine a program that calls for the user to enter a password of at least 8 alphanumeric characters. Identify at least two potential input errors. Must be 8 alphanumeric characters or more Case sensitivity Step 2: Imagine a program that calls for the user to enter patients blood pressure. Blood pressure ranges are between 50 and 230. Identify at least two potential input errors. Blood pressure must be a number Blood pressure must be 50 or more or 230 or less Step 3: Open either your Lab 5-3.rap flowchart or your Lab 5-4.py Python code. This program allowed the user to enter in 7 days worth of bottle returns and then calculated the average. Examine the program and identify at least two potential input errors. Counter must be less than or equal to 7 Second loop in raptor counter must be less than 7 to continue loop Step 4: Open either your Lab 6-4.rap flowchart or your Lab 6-4.py Python code. This program allowed a teacher to enter any number of test scores and then calculated the average score. Examine the program and identify at least two potential input errors. Counter must be less than number to continue loop Average scores + scores Lab 8.2 Input Validation and Pseudocode Critical Review Input validation is commonly done with a loop that iterates as long as an input variable contains bad data. Either a posttest or a pretest loop will work. If you want to also display an error message, use a pretest loop, otherwise, a posttest loop will work. Functions are often used for complex validation code. Help Video: Double click the file to view video  The goal of this lab is to write input validation pseudocode. Step 1: Examine the following main module from Lab 5.2. Notice that if the user enters a capital Y the program will end since the while loop only checks for a lower case y. Module main () //Step 1: Declare variables below Declare Integer totalBottles = 0 Declare Integer counter = 1 Declare Integer todayBottles = 0 Declare Real totalPayout Declare String keepGoing = y //Step 3: Loop to run program again While keepGoing == y //Step 2: Call functions getBottles(totalBottles, todayBottles, counter) calcPayout(totalBottles, totalPayout) printInfo(totalBottles, totalPayout) Display Do you want to run the program again? (Enter y for yes or n for no). Input keepGoing End While End Module Step 2: Write a line of code that will convert the input value to a lower case value. (See Validating String Input, Page 264). Input value=lower case Step 3: Examine the getBottles module from the same program. Notice the potential input error of the user entering a negative value into todayBottles. Rewrite the module with an input validation loop inside the existing while loop that will verify that the entry into todayBottles is greater than 0. If they enter a 0 or negative value, display an error message. (Reference: Input Validation Loop, Page 258). Previous Code //getBottles module Module getBottles(Integer totalBottles, Integer todayBottles, Integer counter) While counter <=7 Display Enter number of bottles returned for the day: Input todayBottles totalBottles = totalBottles + todayBottles counter = counter + 1 End While End Module Validation Code //getBottles module Module getBottles(Integer totalBottles, Integer todayBottles, Integer counter) While counter <=7 Display Enter number of bottles returned for the day: Input todayBottles While todayBottles < 0 Display Enter number of bottles returned for the day: Input todayBottles totalBottles = totalBottles + todayBottles counter = counter + 1 End While End Module Step 4: Examine the following pseudocode from Lab 6.4. Rewrite the module with a validation loop so that no less than 2 students and no more than 30 students take the test. Previous Code Module getNumber(Integer Ref number) Display How many students took the test: Input number End Module Validated Code Module getNumber(Integer Ref number) Tests>=2 or <=30 End Module Step 5: Examine the following pseudocode from Lab 6.4. Rewrite the module with a validation loop so that the test score must be between 0 and 100. Previous Code Module getScores(Real Ref totalScores, Integer number, Real score, Integer counter) For counter = 1 to number Display Enter their score: Input score Set totalScores = totalScores + score End For End Module Validated Code Module getScores(Real Ref totalScores, Integer number, Real score, Integer counter) TestScores >=0 or <=100 End Module Lab 8.3 Functions and Flowcharts Critical Review Based on the type of loop used for validation, you may have noticed the concept of a priming read. This is this the first input before the validation loop. The purpose of this is to get the first input value that will be tested by the validation loop. A priming read is used with a while loop, rather than a do-while loop. Note: If the programmer is asking for a particular type of input (either numeric or string), the user is free to enter something else. This will normally cause a fatal error at some point of program execution. Avoiding these fatal errors is beyond the scope of basic Raptor programming. What this means is that all errors cannot be resolved using Raptor. Help Video: Double click the file to view video  This lab requires you to modify the flowchart from Lab 6-4.rap to incorporate validation loops. Use an application such as Raptor or Visio. Step 1: Start Raptor and open your flowchart from Lab 6-4.rap. Go to File and then Save As and save your document as Lab 8-3. The .rap file extension will be added automatically. Step 2: In the main module, modify your loop condition so that the user must enter a yes or a no value. This can be done with nested Loop symbols. Your flowchart might look as follows:  Step 3: In the getNumber module, modify the code so that the input must be at least 2 or more students and no more than 30 students. If the user enters a valid number, the program should continue. If not, display an error message that says Please enter a number between 2 and 30 Try again!! Use a prime read in this situation. Paste your getNumber module flowchart in the space below. PASTE FLOWCHART HERE Step 4: In the getScores module, modify the code so that the input must be between 0 and 100. If the user enters a valid number, the program should continue. If not, display an error message that says Please enter a number between 0 and 100 Try again!! Use a prime read in this situation. Paste your getScores module flowchart in the space below. PASTE FLOWCHART HERE Lab 8.4 Python Code and Input Validation The goal of this lab is to convert the Test Average program in Lab 8.3 to Python code. Step 1: Start the IDLE Environment for Python. Open your Lab6-4.py program and click on File and then Save As. Select your location and save this file as Lab8-4.py. Be sure to include the .py extension. Step 2: Modify the documentation in the first few lines of your program to include your name, the date, and a brief description of what the program does to include validation. Step 3: Modify the main function so that the user must enter either a yes or no value in order for the loop to continue. Use a prime read and a while loop with an error message if a bad number is entered. Step 4: Modify the getNumber function so that the user must enter a number between 2 and 30. Use a prime read and a while loop with an error message if a bad number is entered. Step 5: Modify the getScores function so that the user must enter a number between 0 and 100. Use a prime read and a while loop with an error message if a bad number is entered. Step 6: Execute your program so that all error code works and paste final code below: PASTE CODE HERE Lab 8.5 Programming Challenge 1 Cell Phone Minute Calculator Write the Flowchart and Python code for the following programming problem based on the pseudocode below. Help Video for Raptor: Double click the file to view video Help Video for Python: Double click the file to view video Design and write a program that calculates and displays the number of minutes over the monthly contract minutes that a cell phone user incurred. The program should ask the user how many minutes were used during the month and how many minutes they were allowed. Validate the input as follows: The minimum minutes allowed should be at least 200, but not greater than 800. Validate input so that the minutes allowed are between 200 and 800. The minutes used must be over 0. Validate input so that the user does not enter a negative value. Once correct data is entered, the program should calculate the number of minutes over the minute allowed. If minutes were not over, print a message that they were not over the limit. If minutes were over, for every minute over, a .20 fee should be added to the monthly contract rate of 74.99. Be sure not to add the .20 fee for minutes 1 to the number of minutes allowed, but rather just minutes over. Display the number of minutes used, minutes allowed, the number of minutes over, and the total due that month. You might consider the following functions: A function that allows the user to enter in minutes allowed within the range of 200 and 800. A function that allows the user to enter in the minutes used greater than or equal to 0. A function that calculates the total due and the total minutes over. A function that prints a monthly use report. Your sample output might look as follows (note the validation code): Sample 1 Showing Validation: How many minutes are allowed: 1000 Please enter minutes between 200 and 800 How many minutes are allowed: 801 Please enter minutes between 200 and 800 How many minutes are allowed: 350 How many minutes were used: -10 Please enter minutes used of at least 0 How many minutes were used: 400 You were over your minutes by 50 ---------------MONTHLY USE REPORT------------------ Minutes allowed were 350 Minutes used were 400 Minutes over were 50 Total due is $ 84.99 Do you want to end program? (Enter no or yes): NO Please enter a yes or no Do you want to end program? (Enter no or yes): 9 Please enter a yes or no Do you want to end program? (Enter no or yes): no Sample 2 Showing Minutes Over: How many minutes are allowed: 600 How many minutes were used: 884 You were over your minutes by 284 ---------------MONTHLY USE REPORT------------------ Minutes allowed were 600 Minutes used were 884 Minutes over were 284 Total due is $ 131.79 Do you want to end program? (Enter no or yes): no Sample 3 Showing Minutes Not Over: How many minutes are allowed: 400 How many minutes were used: 379 You were not over your minutes for the month ---------------MONTHLY USE REPORT------------------ Minutes allowed were 400 Minutes used were 379 Minutes over were 0 Total due is $ 74.99 Do you want to end program? (Enter no or yes): yes The Pseudocode Module main() //Declare local variables Declare String endProgram = no While (endProgram == no Declare Integer minutesAllowed = 0 Declare Integer minutesUsed = 0 Declare Real totalDue = 0 Declare Integer minutesOver = 0 //calls functions Set minutesAllowed = getAllowed(minutesAllowed Set minutesUsed = getUsed(minutesUsed Set totalDue, minutesOver = calcTotal(minutesAllowed, minutesUsed, totalDue, minutesOver) Call printData(minutesAllowed, minutesUsed, totalDue, minutesOver) Display Do you want to end program? yes or no Input endProgram While endProgram != yes or endProgram != no Display Please enter yes or no Display Do you want to end program? yes or no Input endProgram End While End While End Module Function Integer getAllowed(Integer minutesAllowed) Display How many minutes are allowed Input minutesAllowed While minutesAllowed < 200 OR minutesAllowed > 800 Display Please enter minutes between 200 and 800 Display How many minutes are allowed Input minutesAllowed End While Return minutesAllowed End Function Function Integer getUsed(Integer minutesUsed) Display How many minutes were used Input minutesUsed While minutesUsed < 0 Display Please enter minutes of at least 0 Display How many minutes were used Input minutesUsed End While Return minutesUsed End Function Function Real Integer calcTotal(Integer minutesAllowed, Integer minutesUsed, Real totalDue, Integer minutesOver) Real extra = 0 If minutesUsed <= minutesAllowed then Set totalDue = 74.99 Set minutesOver = 0 Display You were not over your minutes for the month Else Set minutesOver = minutesUsed minutesAllowed Set extra = minutesOver * .20 Set totalDue = 74.99 + extra Display You were over your minutes by, minutesOver End If Return totalDue, minutesOver End Function Module printData (Integer minutesAllowed, Integer minutesUsed, Real totalDue, Integer minutesOver) Display ----------------MONTHLY USE REPORT---------------------- Display Minutes allowed were, minutesAllowed Display Minutes used were, minutesUsed Display Minutes over were, minutesOver Display Total due is $, totalDue The Flowchart  The Python Code def main(): endProgram = "no" #declare varables minutesAllowed=0 minutesUsed=0 totalDue=0 minutesOver=0 while endProgram == "no": #functions/modules minutesAllowed=getAllowed(minutesAllowed) minutesUsed=getUsed(minutesUsed) totalDue, minutesOver=calcTotal(minutesAllowed,minutesUsed,totalDue,minutesOver) printData(minutesAllowed, minutesUsed, totalDue, minuteOver) endProgram = raw_input('do you want to end program? (enter no or yes): ') while not(endProgram == 'yes' or endProgram == 'no') : print 'please enter a yes or no' endProgram = raw_input('do oyu want to end program? (enter no or yes): ') #this function will get how many minutes are allowed def getAllowed(minutesAllowed): minutesAllowed = input('how many minutes are allowed: ') while minutesAllowed < 200 or minutesAllowed > 800: print 'please enter minutes between 200 and 800' minutesAllowed = input('how many minutes are allowed: ') return minutesAllowed def getUsed(minutesUsed): minutesUsed = input('how many minutes were used: ') while minutesUsed < 0: print 'please enter minutes used of at least 0' minutesUsed = input('how many minutes were used: ') return minutesUsed #this function will calculate total due def calcTotal(minutesAllowed, minutesUsed, totalDue, minutesOver): if minutesUsed <= minutesAllowed: totaldue = 74.99 minutesOver = 0 print print 'you were not over your minutes for the month' minutesOver = minutesUsed - minutesAllowed extra = minutesOver * .20 totalDue = 74.99 + extra print print 'you were over your minutes by ', minutesOver return totalDue, minutesOver #this function display the information def printData(minutesAllowed, minutesUsed, totalDue, minutesOver): print print '--------------------MONTHLY USE REPORT--------------------' print print 'minutes allowed were', minutesAllowed print 'minutes used were', minutesUsed print 'minutes over were', minutesOver print 'total due is $', totalDue print #calls main main()     Starting Out with Programming Logic and Design  PAGE 21 Critical Review Numeric validation loops in Python are done by writing the types of loops you already are familiar with. Code using a prime read might look as follows: number = input('Enter a number between 1 and 10: ') while number < 1 or number > 10: print 'Please enter a number between 1 and 10' number = input('Enter a number between 1 and 10: ') Validation code for string input uses the not keyword to check the opposite of something. Code using a prime read might look as follows: endProgram = raw_input('Do you want to end program? (Enter no or yes): ') while not (endProgram == 'yes' or endProgram == 'no'): print 'Please enter a yes or no' endProgram = raw_input('Do you want to end program? (Enter no to process a new set of scores): ') Help Video: Double click the file to view video 8:ghijyz_ ` > ? ͻ휓}r}g}\QhfhVsCJaJhfhM3$CJaJhfhX;CJaJhfh cCJaJhfh{CJaJhfhF CJaJhF 5CJaJh/55CJaJhG5CJaJh?5CJaJh/5 hChsh~ hY?hChC hC6 h)hCh{h*hhC5CJaJh{5CJaJhT\5CJaJijz` a > ? $IfgdM3$ $IfgdX; $If^gdf $Ifgdo@rgdo@r gd~$a$gdC$a$gd?}? @ A 2 ] o # C t v zzzzzzzuzzpgdgdX;gd[Qkd$$Ifl ""  t 0"644 l` ap ytf ? @ A { 2 \ ] n o x " # B C s t y z } 0 D Q u v þ޺ïï뒇zuuqޝhA h5hVh5B*phhVhB*phhVhVB*phhCJOJQJaJhJhw'CJOJQJaJhw'5CJaJhw'hw'CJOJQJaJhJhw'5h>hw' hw'5h2I5CJaJ[\no $IfgdM3$ $IfgdHE7 $If^gdf $Ifgd1Q $Ifgd;gdMgdw=H no . 1 2 3 9 < I L ɿ}y}uqlgc}_}ZUcPc} h;6 hK!6 hMt6hK!h; hk5 h@|5h1Qh+heH:hMth@|h@/h_h;5CJaJhfh;5CJaJhfh CJaJhfhM3$CJaJhM3$hHE7hfhHE75\hfhHE7CJaJhfh1QCJaJhfh `CJaJhfhBCJaJhfh>CJaJ2 3 !!!;#<#R#|wrwwmhhhhhgd<=gdh<gd1Qgdo@rgdM~kdJ$$Ifl,""  t 0644 l` ap ytf '!W!!!!!!!!"*""";#=#L#R#S#\###8$>$G$W$\$$$$$$~zvzpjdpzvz]v hhy{ hA0J hsH0J hl0Jhlh h5 h<=h<=hjh<=5B*OJphh<=5B*OJphh<=hAhG\1h*zh*z5B*OJphh;S5B*OJph%jh*zh*z5B*OJUphhh<5B*OJphh*zhN hh<5hh<hM "R#S#$$$$$V%W%(&)&&&''f(g())v)w)))gd;o^gdWgdWgdKgduKgd5Sgdk`gdlgdlgdo@r$$$$$$$$$$$$$% %$%C%V%W%`%%%%%%%)&2&N&&&&&&~zzuogz~zc_Uh4hi0J5hh ohsJh5S6 h 0J h)6h5S h5S5 h)h)hv!h5Voh)h hB5CJaJhk5CJaJh_hk5CJaJhsH5CJaJh=5CJaJ"jh|kCJUaJmHnHuh1$5CJaJhjhl5B*OJphhl5B*OJph!&&&&&Z'''''(e(f(g(p()))')D)H)R)W)X)s)t)v)w)))))))))))¾ººº{ri`h{5CJaJh^5CJaJhB5CJaJh5CJaJhj5CJaJhNZ5CJaJhM3$5CJaJhjhW5B*OJphhW5B*OJphhh1hW h5hP? hk.hk. hk.5hhk. hK5h&2hK5h&2h5S0J5 hi0J%)))4*7*s*u***++n,,,../c//0.0/0t0gdd & F/gd&2gd&2gdc[ & F0gdX & F0gdc[gdgdVgd^gd;o)))))))*4*6*7*A*L*s*t*u*******:+++++,$,',m,n,,-5-<-=-i------,.I.g.h........ɻɻ൯h&2 h}P0J h+0J hj5J0J h@0J h 0J hc[0J h@0J h{0J hi0JhCJaJhEhCJaJ h~B0J h&0J h0JhhYhVh^h^5CJaJ5..//0.0/0W0Y0q0r0s0t0u0000000031:111.3O3]333y444455556668888888 9: :F:O:ѽѽѯhB*CJaJphhyNhB*CJaJphhVh_\hV0J5h&2B*CJOJQJphhJ<CJOJQJh^O?CJOJQJh^O?h^O?CJOJQJ hr5 h^O?5h~Bh^O?hrhdh&2h@4t0u000001*1L1l111111 2 2&2<2Q2f2g22222.3/3gd^O?^gd^O?gdV/3N3O3q33333334404F4G4y4z44444455C5D5]5s55^gd^O?gd^O?55555555 6,6G6l6666667677788E8g8^gd ^`gdgdgdVgd&2^gd^O?g88888889(9>9r99999 :::E:k:~::::: ;;+;gd ^`gdO:;";k>l>z>{>|>}>~>>>>>>>>FFFFFʻpfbWLHD<jh2Uh(hs>h\ah}B*phh\ah\aB*phh\ahjhV0J5jP{h|h|0J5Uj,jh|h|0J5UjXh|h|0J5UjDh|h|0J5Uj;h|h|0J5Ujh|h|0J5UhVh_\hV0J5hV5B*OJphhyNhB*CJaJphhB*CJaJph+;,;;;;;<:<A<r<<<<<======>G>k>l>z>{>>>>gdVgd>>>>>>>>>????0?^???@@d@@@AKAkAlAAAB[Bgd\a[B\BrBsBBBBCTCgChCCCCCD+D9DvDDDDDE?E\E]E^EEEgd\aEEF#FTFFFFFFFFFFFFFFFFFFFFFFtG$a$gd*hgds>gdVgd\aFFFFFFFFhGiGoGpGrGsGuGvGG H!H1HPHhHiHvHxHzHHHHHHHHHHIItIuIIIdJJJJ¶‰¶vhEhM3$CJaJhM3$CJaJh h^O?CJOJQJaJhk.h^O?CJOJQJaJhh^O?CJOJQJaJh^O?CJOJQJaJh^O?CJaJh1h^O?CJaJhf0JmHnHu h^O?0Jjh^O?0JUh^O?jh2Uh2,tGuGvGGG H!HUHzHHHHtIuIII"JJJJgdM3$p^pgd^gd ^gdP?^gd ^gdk.^gd^gd I^gd5Sgd5SJJJJJJh(h2h^O?hhM3$CJOJQJaJhM3$CJOJQJaJJJJJJgds>gdVgdM3$,1h/ =!"#$% $$If!vh#v":V l  t 0"65"` p ytf$$If!vh#v":V ls  t 065"` p ytf$$If!vh#v":V l  t 065"` p ytfDd %0  # A"Ds @ޕ / @=s @ޕ̠=]xp}ӿt|ږO2'r3(& Θ?XDP=7!P$ms`Ma㡌9#xP3YPZ e6iʶv_AFU긕M>۱qRl2X~˫^nZu [z@Ծg}"]}'ӵB196NU܆=B0A4UԫG@5M]ǹ]܉ZW"5)XmXW%}oM{wAv㚕>y1G߿[NT\m+}^qsW8zZ' lw/oӞCYkjwmN*:gC dշvi{/*ڎF7Ç[imGDCl=A֦w`};8- 86}a!_n"UZ_VGԫ a{WzZVؾب"σ/Hii>GC.'2\L1SH X;ʟ\ʺϰRdϒ??T_?gpN)Vc?ڙjp܃Hr9Du:_=[>ٯwGun;E89U< [݆͟Vegi\,3вIu0ȹ/u1}֮iUjY<>} U[LNKpUgMLW:Ɲ:>xNc?#ϰRdgџ JXQkv6Om,?Xhcp@+6V-X~hcՐhcՠgݞgT>NI>3~_]*_+]P{e^yn`?=uF5=ϐ''?Yz|??FNSțKIZT|MvN:?⤧tM/#ޯUF'*]>Oa/a7 bKAm:}zo(o_{ާGJm;^nJ)RReTXa߳֯t}%%YlxKVׅe|N+oim}U{Y WՇO:lCWG=2^Qq]ҶƖ۽ZI 6襁_XBP8NOS8/ P>?gHpEk}'TZiwEuC\4E;sQ#tEsp;´{zgђ|ShTY"z|s*zq[/tp?z]gC )gO@<3~ejP?I8c=D>]GK|D>]|jS(G=3M^rF("P9焇1O-nES:uмx-N=SğCQc uUj);AW|^%6Ystbi;k>ϱ=-O.6|˛ٮEc_8]} "@ 4k:3; <~exh& uZ @2bGZAZxq=`0b V=-D<@0h1YZ H+D@4#FOR=Ų"Ǭ?JԭT8:-z@0b-z`@ @^Z =3b-zah1b Z @p%>%fJzvg/z;&Do,_KtL/½Ӌp/AEyҪ#E'h1-z @i h& uZ @2bGZH:-z`@dh1#-DܝzRnyݤ|ޘtRLo, Ӎp7ƲL7Ӎp7S@g@Z b@ = h1Ћ@=`0btZ `@/ -Z @h1g):6ϞATNm!'gu]kmdgoCNS\ği{M՟rN4vY?鹙;fOsf/l6Nij[>?J }rMcϽ[;kl㲜cn*tX*O=Sf?-FFޜzx(:k {ȟ!OO%ON']Ɡ蘯)_%yCsO,~V{3G_?yOCs+WU?+̭π_U'v +ܓ=߾_ZsO ҁ7!o?47Oc1kg豵6զ0Eܓ؁߮m N!vǜw0sKٟ;xѮϾ7itܒ_霐JGE+36ұ昗RikCD{C][_5߆TyyfO]k}6359Y9z0yM⩶űD 3Bw^?A<6}f?Fh5=ϐ''?][?)_MnR?1#?"snH6?M)aC")YC*vk%ݓ?OWg3s鞬[?_?bw%aџLh)K]QPzn6:QURv"Hl}'vpvr\q?T7u6Fazjĝ1c>غW??]&g>|ε>z|yW4_7%tߤu{vwT,k1[_%"_GE۶k}=;>`w45(eNvWEz=sӪ_KqQ}e[l_4~?QC0EyDž|ՊTNh<ܭq賻TR9]7Ĝ0q<+yL|gޜ̕>QNrҭ &S+'rhf ]-&7(lǙxi@B= t!AcxZ 4-z @1b-=Ɯ/JJȩy"3G9v ӎp;;@iG g@/ -Z @=f@h1]COϓ'Fiz yd\1jLeџߝԎ pK?k^N͟g;|^xbңm1kpl[M|8hF[pe(7ɛO3w]6~66yS1QzN9xV35?mY]>cߙD9GcrlE9誜te6rb7cPNr2~z=1; ּJ*+߰(3H^K^L%G~PXd+oL XQzr.D-7&GFb|?H##sCˑ/,{Klz?}(:}\~U߻E{xhI$|>0WkǬ]bR;7wiV#T꒒<6UG8:}u2]רz׹?OפRl eMk)yA;הs=B].e-zG*/QK]ձtLF#kQI#:4|0_O>q\ccs6uOuY_SeW$霳ZLo9cg$~<QW.u&zFҙw,+X;u}pjXiV7Ҫ gM,tw cM/?1#snRi=c^ jmnj00+0wLK}WBh[m;/SNIsXP je@۳\;Q T$hU/TaM M [lۉ&37ceGPإN?iE'.N9ߜK]}dG9y k{R+o|\eeq\ [`1+QEYl}9~*1gekbN)Y?Dj\5JWT3cp:s3 fRr \@y EfzdAnK(WwZ^ \=jȩkߺi]u1]v3 wn0>cnc͵Rs INaRa]@g_a~\e.7o0zʋ.tw$v~yмJVlmhf'[om9zq?ߪ,OOH>plVU/W-}7gm=SH]]I ?wbm8DŽ  lJ3>Sاu:,lEW{O@ e.^\~獌? yWm;J!AIORjnv.(}sNbkӪ1[/°GuccLb3f)&O)|-e\fvL ?0~LS6?1G#~4W4RǏ@cU3cz+uճɱ@+r=@97(c ȱ&J>SɕRoZJI敭InJ>:?{86q(?)+,8={8]sӼ!/^+n(?]@׀(M[4{G5c8ϵFp?U1m"&=1Qn~ZOٴuG_>=u?&"cwVxpF;G14LG1<@ ?_(r~oSQ#n6bϿ&#n2MHcŏ7SgtcpsnMX99@em̚onuڵV_󒴓/|x ὣ]pny1w6#?݌T=c/wqsx.YޛoO^CXdӜ@ۨt2a]R?גK6>Іzp7 ,L%lvӧ0xxtl睬;j_q.;G㡶oOONN،Ytͤy)u_3;wqrڻb9A[12~cďG\s3~NTwDl~S0GX(As}Zm@..ߺ3M!(c*.rs8?Uy!uq'jOJ!{cÏ_Or3#~?:PK ?!▇<7_;J? ]EN2:~IC%(7ILIUwwFuč]zg?gņ6WdOO_lQ|9~./ŗ/*?/]gCVSO3kC ۸֬'븒{j#R,E_wRCI1{hYԆ#9=]{C(w) !dK֩-uC']?WSe~*kf++. ?+6O~yЖ#?M\jfWJl􋉣`1l(H//uiZq{{8,Ǣs=|ݔ9\O3?fĻ!6^^7qS,>?~n;~O#nGnn ?By)NhG~_G#‹O錯pP.^:ؼBsƼw++[bjf fVPRZ.t~kw?U&er>A8c; |(&%!xuEcņ8̊DpUɬȥfs!> ?!Nr̊RPNtq{sC3]+<)x:/q3=~tIӣq~;~ts(qHg(hlQ|<#G܌x ?/ PdMsh뷱W33t}.XM= Xlkrc{)\]xd(TZq3?D J Ty.Jڠv..ȡ|(o~ @@yU8c/wl9ŕoM,p❔:]g~lNr7ņ?젭?1G#~ST'8;>~@cMs{8|b m˂p nO|sK7^s{q*^Z\]J{$zWg+ۃK?QġL\2N8E]@qH*&5c3Gb?otݸ(#+6< r?<7#L;<2+Q gz?G3;w X;(LiDg_zD%t0i6$i,-ȯk̯y/>(G7R:~4FE9Fl yL[TSΨK||J0`s7Lji>~e t873C+ЖR-ͫz&3tYO5ffM9r]cIu@uZ\IXI5!|¥F];>Lyz};*_Hk[A #t/oq/$+QCԅ}([.-Q@[$I@[$ Y`+!`-Nr Z` -N߂= ly l\B'9e l'g=:%0j-tP:BY`k=:%0j-tP:~+,*`-Nr Z` -N߆= l /+\S- wTW煲bGN3vRcwZcH+v(c7>w-p,AтNrd-t}8ta[]@[$@[$ a-tسb{h-ts k-t}:A',)`-Nrd-NB'9:쁢I΁IA[$سV=P:9:>HX` `,H(Z` Z` d$,Nr#.];%vf5etݝMu9Jȣ ;ls߼s]b7ua[`:([` d?= l%쁼I.Q lI[g{ o-tK`[$l-t$,B'F-NrB'_= l-B'F-NrB'oŞZ쁼I.Q lI۰g6a(bĭ:*vuލ2vXp%(ZpI΁Ngt.Y`K(Z` Z` d$,Nr{Z,`-Nrd-NB'9Ğ:쁢I΁IA[$سV=P:9:>HX` {jB'9B' l,ž E lY l샄I؝x^^޸ɸ9_p]µr҂\S4sV~3g%~E(\7zqaל<g^tG?~?G#~3}@9~y7+}Dsc [6{sy}O+/Yc͕߇YB 1GZ5t -FA*h]#~kzM\JITW ֫tt^vT s%dXW_:QSZI{7I\h⭅EuG+x9>ڿMÆsꇼ/q*\j*Ju_{[\4>sI ۽WĆx90~M<?1Gď?O"f{1~rhK^?G]ŗ1g&ǟXg|?ˢG1V;/Yrl5?4A)~? Qg0@\\ ?H{Ѽo6/q"6|lď4ϋbŏwS8mS \W~-`9iz ۭfb2/l1;7 (7o.3[h߯euqw=%x.uo@L6uvhz'HyS)J煥-$ct&wNBlk.^wM{|ڪuwGjNEwc~.6cr](Ǽ21_osLv3G9a#g8Fďr̪KEʺxg=Uˏr4%nV}06'˻W'#yMÏw| 7|_$;;c?/t|N ??7 ?H63^\WׇKCD1Gq`p yL;~?“ǟg.x xss>~nD4Cf=a>4P[OR*/Ҕڞ`n7 $aO6Qϳ/$R/E)YQN@ŸMئ'L0M'B,|VI"gIyl,۬=wvokwO9m7_o~/>w}?Y+dvnfy?_>MO*ԗ̳{) o4&coS'?;Jln/hޅR~}Mŏ^ ÕUQ'_>BX}8 ο#N8;'vsݼ@(m8Ѻ1??m*_qT[:]@՘܁i术ޝ}:sK/ "ʧ+'?sEMg'ϗWq񟿂7j+a3|O|GϸX~^fg{bY%mϹ{FZ}G{ҽ\e*֥[鮽ה"xp>6Js贮kV;kwq'#rr>Bc뺟J^9gF?mOaLsڧNi<"h?HL}>ju#˺\=Mn*9kVpӭ[@GOà "l鹔/^wg3=~xTbL:fҗ3ipK]wc 1ɋxdT~..pVclj׳KF t~x[~{fو vQIs'-kJ)̾ vƞiVn_>}:u_i.ΓvNi:OC%bsQM_eؖ7J_d!ոۣxSwBpU]}4Kt `^l^}#~Pv;n~psq\9{̂ `\Ov?_L@z$P(s>wh}^Ѽ޲/-gB\m5C6hڹy@\hc]9J'BuYg||ǩUsŁ֬qW]Iv~^cuO5xW{'' ~{Y˵/qt'9[Kx'דe'І=t6L5\Ym>"cMq> ER\C'!)Eq8YDϓ;neV֦v:in˻ϭ)M|\'A?ƪZ7`ghʞ%yL*H>~zsҝ[z,ߺk+&V~ 9_ Zo֟,O,ewsS{i4ZH7zA 13 goy[c5n_~^O}4?Zn0)ɿK_Om](9{78 7]@"O// n/WB\Y+Wv?Kw)_ /UΡ|vU|qK4^|pR'x7z%?Nrw3} …f NUV!q'O$w&^;8FwPZgom T\RE㸾QGuI \Ip?n]pOTI9^ko[]1 C$Dd !2(0  # A"G@kJ9qD @=iG@kJ9xfA!Sճc7x}y{Ow}hu{]2.@ k#€%R",lRe'kDGj,o$E(+eR [!m};NH;U\orι=_xssot.s87i圻 /t2KsŜ @Gpe5Ѷ! )&GXv-we*6V^Z c e*zGr)",]ľ>ϚJlM˫ls:Lʄ麋cT:-x?5:2Tta|`bWvsWW{A:&֮M:sde󯯷.z>I +>v.2,E{8\GpԱe$Go_|bc**c:.:99.^C`qisYw]붹нtV4]Ǣ_!]vD[oܓO{D?޹br%,GTvJ3=n/˃oc<i eACRmSn˩GI;~Ӷ>f?Eqw$=fCǛRtCz~&:%GMkK,7oo-ᗾak&IVNrwO[?Ac*k$-}3Xw,ˉҝ;HI+̸΁ۆsYԢPN|އz@R[E\hۇʵ1w';o/cֶmg2fh?_N[Q,t_"n'}Te8 OugY]IwTP ?tcǁSgQwsq)S37\lP|~I[g֦e} Iŧ60&ӿ/^Lqy8iPleq;׷܋W oϡQKt|~q'1PzRO;<L|x|Ql*~2GVqo 4TLxkAOsOg;=>U}A<-#|4\q8 ͻA-#n0kgod)jgo&Ym~0'zinc|f%uNow/@KT}IQtRn&93 | +>2GOs$>}|΍ю՗(xK˷}|\`}NNҰ" {‘v8cAV!iS3Nj {Ĩڶqh6}||4F f|9OeIl/@ h~Ώ x;Ɵf(>j?O:>%/>w3 N..LY eIYj*}[(.Ly>XNO5kO->u?V5Y4k \*VO~ _?]"ocqǧ1{<1F^tנn14 3A@  ɎaOv8ր@ZdנnOv -|A zP6'u-|chhg5$Ѓ>5hC@ 0@@+A@  ɎaOv==(h]>14 hzP6'u-|chh.A@k@Zd>>׽1ͺrhs=ޣǡ231{t3{|]NN8lC\cL c&IA';';]Og5!Ѓ> !0';^2T ɎdOv>R jOv%-|C Ɏ3A@ JZdhg5&Ѓ> !0';E@kTU-|#(hB`Ov<ֈ@ZdGP2';@ 츀VAU-|#(hݎ1 sZK2:f㋮cb6c@!6¾)yA8@^/Ԡn /bhg/Ѓ>5hC@ p= ɮA@ Zdh lOv Zd0';B@kHe-|kP7';>aV Ѓ>5hC@ p1zZzP6'u-|chh3 lOv Zd0';\ n]13yp|O =T > 7>!x= T ɎdOv>2 jOv%-|C ɎgTU-|#(hB`Ov<ָ@ZdGP2';@ x =1T ɎdOv>(zZ=hA@ -| FzP5';>!Zd =hA@ 3ƴ}=9]nƧvT|ޙgs*s:*Cwⓝ(>$9a~8s*74(gn緀gV~5tqnvʅN Ez=ֱZ#yvߟ=c嵌I, 75 ݁ct?ZwR^.q՞s)O?3*חg*y쳍s} GIOYw۪ܾ^΢ɩ>DZ1It NicPf<};%oYm{ _/gyV=׫ImB>}|lͳMl2 Mڏs#ڏٚo+_>ωC_͋t\I]{~u5׈R?M>3>cYi?ϷI}RJ|>E\N|^ }T+ 'k}d;<^L|>O<9&>͡j[O3~l?I|<9y X췋W[*z.[m7lm#M0J~~s3@d~ó/_¹{pn?ym5.Jek⑽4gX(vi4:~:Iuʧ.;ʾ\jk,́/#8/&;fr㙉^WMڏ9p^^kc|.V$>zc:>E_]ƺ/cN:>MxQ)hv.;~3Lp9&mO|r̴翉Ƀ>>M8$T|~fISmK|><+Glޣ7S*v?Lf||n#>Gu++[ WF퉏b17C5ۏb W(63Rf}~Z) ])CQQ|4HǧvtIv{Z;vtJp%6DXi9:}c͖%p㒽%q+^_7_\e*bma\266E>-_ps~9÷_S){$BŝBwIs}{{Geн-Lj;ˬۥm ȫnl["d(s$m`Ky$vB+IUb52 JO"iP)j*Z?}SL+Twvn̝ϻR3ofwfYsg 92یy䷍ ny1鷌ٶƘ,H7FsWzg}g^WJ @P0ʧ&'΃= TEüfm}@0eA:;N~Sl jn|QpeR&6gzNV jχN$M>4!bWD?6T+rzZt 8܌[5jc +KrWMo͜.:uV9'7rIwA/"ZgCS |ւTkCvϚJ.+bu޳Fps 1ɋ>PCzd˃2υ"Ҙ47L`>I| VD >B~qx'=Z ^*2Ӫ;v01̃N)}LdzbY[8' qv7Q;o5ksWZfOaXK9M~sOmh-bS[^ʿrdrWb7:o'?kŇ5/_[_yLMtr؃忏'?!;Ƅ;`;-aihѱۀz$B](J 4UK/\~4 ^9~pd؈^Y r;˜r*.tΓ`耘'UG?wig&;L: \q.9e~wA.9?Rq|8qriÏGt/|O's8Cp RJP~7%n^ /'?SoKc|MW3ϣ71xrT4KiGs $K2_:s7>x<4*kAs9 ~Qxf9$?&Ϥ??Og?_'⧾j3y?kmVE'ص+vp*`rdNJI+h~:Dhm0 @w.5;#q}}N΍#1g`:6z(HhqaצhOB{B4VqzStMҫZH7vW'xB7 @8مrmW]|6_Gy8YO{ץyc{#q[ YTP[u<Ioכެgf>9I=u?Ի3_o |Sp.zz_2Ï8B8Ӟ?M^v7*b_l^ \)_Gy\.\G4] t\G }[{qk4%Su?=?{+3P~&.gyJ~6O_r^ٻuUI[ɵ6Z$Ow5)wtG?;UN31\?gL7׹KO+׹>꠱D̳xu 7-;l%IÏ5 C1OZye&S|/;hɏ>a6^]ǒŴy?|!uti?9)=~?G',?r}@|&7HD!zA_#n'W8veN&Z:{?\9U {*ؔm}` 5$8^g8_"#&2ԸB[}V!,|[! Cu0k-tJسV=0n-tJ)]BtP )]BtZ` A{* ~ǽ ܾ2̱8|{~ ho?ȼ1ausA׮|qMbZlAu p | ξW@߁I P:[` ,U&-N ([` -Nz,!`LZ` P:[` iG}JV|M_6=*Lu-&!)da-B&`{ڱgv{`[蔮i lSf-N頀= lq lS-N::",U&Y/h͐_Ӽ&_Ӽv1|5]NzT SN ([` -Nz {* Bt-NBt{&-N ([` -NKkOz4tKy=pntzȽ{cR_l0*~j 8gw| _ٜ{+]g2~?G#~z _-7!o~Kъ0vG7ﲸSw4%ʴaׅz>!c^)@{*:v KJ}薫|fǴ7|5|\}kig#f23PgQ]Z:6MwgggQ/ewi ,'&/;ďEYT*vZc1~F?l t79o,3C#n?L)S ?Z_ 3O8X/iÏGh}?9g^Y1Lx,w!ߟ ]۱S7ESMη6KW[ W{jm;/Z5pֹr_qRT!dqK{kgtR ]K@{1L}!YH՛+*?|{*ޯбϣyGO~:WGX;oS=ն|4D_|[0_:@P"V~BA|DD,e9.6yhނ`0Tsa}gdgĥGR<*-#W "g%MqLJklW?Ls2+.?y[}{MTޥc_~\wzooTK^w0+Q騏$8qvaˍ8;CKs5gV'ێBm[ʟ챨5N|-9[Hġg atY4Δ.Ȯ($y=Q^m.<:_~BvoRNdI:,nk.ctX?U$Dd 2(0  # A",ʟ&8xn[)|pj @=t,ʟ&8xn[)hQ KճcBxm\YϬw}3vMeD Zv2N-iIC4Q,q|5Uj|b7&DVP%,*QQb~ΙcewFؿ=y{s9rΝz{|;o8>x}ΥSq l|GwRd|y>p{!MRnr=[0;PWI sin P}%,OWş'8_ľ̖Jmsͪrj\EPgmtד'bE*ar2GWWǧvOY}Tn: jr%S>sxc>v.x@VG ] sώj` {7iZsvNnP}}+1 1K9/6>@`q/m)Ma}q]>DQ܇alZ ?QqD7}oO ˙;7]HUQIm']Uۉ+ANӹ q=,\,CP@=?RbL?{֩s}}j CऻJ@ivw-_kJϛ?d֪W[{}(k܏)Oθ^<|}3[{Uο+-_h8H^X/ʛG?eӱ5'E89|Gɜ+̻ޑym{SP1|>@U[E\h4G LJڵ' i v_qPPfr5Cvߊbc[K>'_46w|f(>?0>S_i8~x͝[Ж"\Ӡ񿒏@0p- 00?}p|;;sTsfj)gHSg厭S;:w2nʚ̵tgs?:]|h3EhY?4׹u9]tOEW Gi^8_8 % (@18:r_=v&]I'8 i,Khcl{yq~rѕl3EiGױd|:R}n_?;@4J'u_jh$4v9|~ ~zS.fW-q k*\}nuMy~X_'ofW3fA.X &`ĉ? jDe_B`+ Lc֙hp60Ѡ͆Cټ@YfKP6(l e1aOv8ְ@ZdנnOv -| FzP6'u-|#hhg5*Ѓ>5hA@ 0VZe-|kP7';>aV Ѓ>5hA@ p =1 ɮA@ l?5zNgb7ǶfʚɹzuQ]k+޿}~.|sFs=klM %hr!{`%(hB`Ov4ք@ZdhOv> jOv Zdh3 jOv ZdhmF@k@ZdhOv>8zZ=h]>!ZdGY =h݉8N2wu}t}s Ơ pB:o\,.KP6.R5) zdh lOv ZdG0';A@kDe-|kP7';>(zZ=(h]>4 hzP6'u-|#hhh=(h]>4 3A@  :Ve꺫n'nibhpOv4y1}`%(hB`Ov4ք@ZdhOv> jOv Zdh3 jOv ZdhmF@k@ZdhOv>8zZ=h]>!ZdGY =hᓽ>sw9Ϲ|)vݫ?l}3ajc8PO7sϯ">*>sgl|.5m_ncg[OGGiڍӜ@.QʏޥjřC,<O''L_=Q.A~oMYݻw~/@q9 z4%~L28OMWOkoٵ힘w. e7MM>/6 aP'e }}qiΨ7Slkc{W$'_}[շd=3ߓz?SPgAyGNv҇5K)")Pyw R9__ϻ|7k?;|+V+]uxw`zgw=nuњW3Eg/)|zkC\mRDShjcKkv-P>$vVUs*Au4" ~= ]u[^2ǹ MpZ8r7קڶ(>:-_6s?[_a_uJO@?AseܴSKhKwu*>3]Gq:u|?'6Zǧ\:kֆZqݷdGvb-?+WދHǪe[K|w ڳ355>HPsi[)SX|f(>ZҶy(+'S3Ky#b<Ǭ9m!6*wtow4wBk.Émf9&u&>oN^/O(6\#']/o'RG1>?ghrAb2@l^ ׳\_}1}։cnk||Z_3nkGٓZC'!6LaG'Əb3UYOaG):.Ə/0>?Ş~v~w"\3뻐xiW{u=LA00?}dCsxaG;Sjh>9vbK6X/mq|FcgO5̎|7B&q4õDup9`ʵTQ>lC}}p?J ?}KƖz8g8E;&lJYJ"IX\8iT=f4>?%IY&i9V<q86Zeј3N5jOQh+3P ,l%`^+b%'bY3Vz"VjX/+:SaG9QeGX_cφ8';.RFI;|w;]mU/F-bWanMKc]a@}Gp8~~Cy:uߗϷ4 !tQ~l9&}`(ENهOj@uBgf'S%|A|Rds,OnT3\mͼk7vrq"'w7 6K{M+ض@I,\ YEe{|A9`q0+SRq]hB=ݧ]3k7ogfp?5N!pNddy:Go~yg@Iw9IXn3?dY.$~z[> `QɲT""7m(~C\ȍϙaWFF @xRH4gs,>O9Fo6@~V"n~ n?߆uyvм0!7og-x~ȍHGϟ܋v(6wWp=l=%P_GVܿwngmj.,]x[?k ,`x?*FD2eUGmjo|?~| ˶ 5>K]m8VqOFryljON̙YSԼfAS]ֆsd~6*gD#~? ?R VO~m/T\TYm4t磦RCn0++NGxRHtu0ta?F ЅUT\` .riĴᇚʘq"?Z?~<~9[WSr]j]T}xBS@xBuۻr>W'>;gg*[]c2ρ=a+j` #hcm~QdW% v%N=6U ǫ{@= VZB<Ecyb|μ/VdzҸ(eޫ^Z ֽh\ 9G9~~s&~F9?#!?zӏpAn9j=O.:O%/r8M~Q)~~NZsZ/z:uakŸxk`\Kw8(-{   #~ZCzZ޳{}۵v]?ӆj)'10<~ъ??glrO([zOfę~黏1FpĘ 3O߱1T@QϙwA C8 3uSZoFiq.*ضG!vmom?&/y_ºel}ᇺ7񓭷M;4~F4C~υO'۾~?h>'j6^?̢0֟\Պ4 xnSH4(L~c7K1~ۂcaOq 6P]>{Lddi9>&uc)pĘ-\<ƶQql!M⠭n+<61iQ@imoޣ of~|6z2ߧ1;Ʊ(/M/LբE]^Ux~MRRD}>Su֫}TW?᪱ pNus~ h?M9a*|8іgB}CܦΑZS̓ w"[\4~?=7)kռ⻏ݑahX&~RͶ)3?C-TsnsmZ=?_֚ȫ󷼊p5y/k+@Yň7׋-VUc+؊3c++˭rԗo\v";Qjb\a ycG; ܢ<7[7`emNguwvu>{כga4۾::ݍ65085lq8׆MYTbjv?>,A?xu]þW@Tَ,ʣ)W)UZA?%0uT~ܼf%b?x3^ 2 0@P`p2( 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p8XV~_HmH nH sH tH @`@ NormalCJ_HaJmH sH tH DA`D Default Paragraph FontRi@R  Table Normal4 l4a (k (No List 4@4 *hHeader  !4 4 *hFooter  !.)@. *h Page Numberj#j P Table Grid7:V0H@2H t Balloon TextCJOJQJ^JaJBb`AB ! HTML CodeCJOJPJQJ^JaJe@R ')HTML Preformatted7 2( Px 4 #\'*.25@9CJOJQJ^JaJPK![Content_Types].xmlN0EH-J@%ǎǢ|ș$زULTB l,3;rØJB+$G]7O٭V$ !)O^rC$y@/yH*񄴽)޵߻UDb`}"qۋJחX^)I`nEp)liV[]1M<OP6r=zgbIguSebORD۫qu gZo~ٺlAplxpT0+[}`jzAV2Fi@qv֬5\|ʜ̭NleXdsjcs7f W+Ն7`g ȘJj|h(KD- dXiJ؇(x$( :;˹! I_TS 1?E??ZBΪmU/?~xY'y5g&΋/ɋ>GMGeD3Vq%'#q$8K)fw9:ĵ x}rxwr:\TZaG*y8IjbRc|XŻǿI u3KGnD1NIBs RuK>V.EL+M2#'fi ~V vl{u8zH *:(W☕ ~JTe\O*tHGHY}KNP*ݾ˦TѼ9/#A7qZ$*c?qUnwN%Oi4 =3N)cbJ uV4(Tn 7_?m-ٛ{UBwznʜ"Z xJZp; {/<P;,)''KQk5qpN8KGbe Sd̛\17 pa>SR! 3K4'+rzQ TTIIvt]Kc⫲K#v5+|D~O@%\w_nN[L9KqgVhn R!y+Un;*&/HrT >>\ t=.Tġ S; Z~!P9giCڧ!# B,;X=ۻ,I2UWV9$lk=Aj;{AP79|s*Y;̠[MCۿhf]o{oY=1kyVV5E8Vk+֜\80X4D)!!?*|fv u"xA@T_q64)kڬuV7 t '%;i9s9x,ڎ-45xd8?ǘd/Y|t &LILJ`& -Gt/PK! ѐ'theme/theme/_rels/themeManager.xml.relsM 0wooӺ&݈Э5 6?$Q ,.aic21h:qm@RN;d`o7gK(M&$R(.1r'JЊT8V"AȻHu}|$b{P8g/]QAsم(#L[PK-![Content_Types].xmlPK-!֧6 0_rels/.relsPK-!kytheme/theme/themeManager.xmlPK-!0C)theme/theme/theme1.xmlPK-! ѐ' theme/theme/_rels/themeManager.xml.relsPK] CB CFB ? t $&).O:FJJ&)+.03579:<=BGI? EiR#)t0/35g8+;>[BEtGJJ'(*,-/12468;>?@ACDEFHJu|!@  @H 0(   (  n   S  #" `? B S  ?B !>T8.8.8. $wB ({B9*urn:schemas-microsoft-com:office:smarttagsplace /. kruy>>!-4@Zd"","s"t"t"""".$.4.>.Y.g.~........./////"/)/*/5/:/B/D/O/R/[/\/j/l/w/y////////////// 000%020<0000000/1=1E1S1]1k11112(2/282C2r2}2222233B3K3T3b3l3w3~333333333333G4R4U4`4c4q4444444455 5#5,565D5N5Y5`5h5r5}55566;6F6b6j66>>>>>>>>>>>h?s?u?v?uAAAAAAAA"B,B/B8BBBBBuy>? 4 ? \ f _j071;#- (0X^((()H)K)i)k)))))m+p+++++,,,,--./"/*/R/\/////000'00000(202B3L36666666666667747C7b7n777778$8d8i88888K9N9p9~99999":0:\:b:s:v::::::: ;+;T;Z;;;;;< <<&<3<8<A<F<<<<<<<<= ==?=E=======>">'>,>X>]>>>>>>>>>>>>>>>>>>u?v?!@'@Y@^@@@@@uAAAABB"B,BBB33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333jyz >2bmn#BCstv+XT  6EooP`bbccddgghhZqssttuumX|~!!!!!!"4"6""""##u((-k6{666>>>>>>>>>>>>>u?v?BBBBjy >2n#BCsv+ EooP`bbccddgghhZqssttuum!!!!!!"4"6""""-k6{666>>>>>>>>>>>>>u?v?BBBB0Sh6x'USH r KD1[ "$bQ*H`?JND"&E `"H H$,R-A&KD1,&8 +n{e.h@%~80D"Z)2J80Y28،w4VY5P7dUW 9('ggDKD1CI(Bi(OVܸ%v zޏY {KD1Nj|z]}D"x~rʈ Z{Eh^`OJQJo(hHhpp^p`OJQJ^Jo(hHoh@ @ ^@ `OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHhPP^P`OJQJ^Jo(hHoh  ^ `OJQJo(hHh ^`hH.h pp^p`hH.h @ L@ ^@ `LhH.h ^`hH.h ^`hH.h L^`LhH.h ^`hH.h PP^P`hH.h  L ^ `LhH.h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.\^`\o(\^`\o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... ^`o(........h^`OJQJo(hHhpp^p`OJQJ^Jo(hHoh@ @ ^@ `OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHhPP^P`OJQJ^Jo(hHoh  ^ `OJQJo(hHh ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.h ^`hH.h pp^p`hH.h @ L@ ^@ `LhH.h ^`hH.h ^`hH.h L^`LhH.h ^`hH.h PP^P`hH.h  L ^ `LhH.h^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hH^`o(^`o(.0^`0o(..88^8`o(... 88^8`o( .... `^``o( ..... `^``o( ...... ^`o(....... pp^p`o(........h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.\^`\o(\^`\o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... ^`o(........ ^` o( ^` o(.0^`0o(..0^`0o(...   ^ `o( .... l l ^l `o( ..... x`x^x``o( ...... `^``o(....... ((^(`o(........h^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hH^`o(^`o(.0^`0o(..88^8`o(... 88^8`o( .... `^``o( ..... `^``o( ...... ^`o(....... pp^p`o(........h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.h^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hHh 88^8`hH.h ^`hH.h  L ^ `LhH.h   ^ `hH.h xx^x`hH.h HLH^H`LhH.h ^`hH.h ^`hH.h L^`LhH.h  ^ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh| | ^| `OJQJo(hHhLL^L`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.88^8`o(. ^`hH.  L ^ `LhH.   ^ `hH. xx^x`hH. HLH^H`LhH. ^`hH. ^`hH. L^`LhH.\^`\o(\^`\o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... ^`o(........h^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hH88^8`o(. ^`hH.  L ^ `LhH.   ^ `hH. xx^x`hH. HLH^H`LhH. ^`hH. ^`hH. L^`LhH.\^`\o(\^`\o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... ^`o(........hh^h`o(hh^h`o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... ^`o(........^`o(. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.\^`\o(\^`\o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... ^`o(........h^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hHh88^8`OJQJo(hHh^`OJQJ^Jo(hHoh  ^ `OJQJo(hHh  ^ `OJQJo(hHhxx^x`OJQJ^Jo(hHohHH^H`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh 88^8`hH.h ^`hH.h  L ^ `LhH.h   ^ `hH.h xx^x`hH.h HLH^H`LhH.h ^`hH.h ^`hH.h L^`LhH.\^`\o(\^`\o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... ^`o(........h88^8`OJQJo(hH ^`hH.  L ^ `LhH.   ^ `hH. xx^x`hH. HLH^H`LhH. ^`hH. ^`hH. L^`LhH.hh^h`o(. 88^8`hH. L^`LhH.   ^ `hH.   ^ `hH. xLx^x`LhH. HH^H`hH. ^`hH. L^`LhH.h ^`hH.h pp^p`hH.h @ L@ ^@ `LhH.h ^`hH.h ^`hH.h L^`LhH.h ^`hH.h PP^P`hH.h  L ^ `LhH.h^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hH^`o(.   ^ `hH.  L ^ `LhH. xx^x`hH. HH^H`hH. L^`LhH. ^`hH. ^`hH. L^`LhH.h ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH. k^`ko(. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.h^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJQJo(hH\^`\o(\^`\o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... ^`o(........h^`OJQJo(hHh^`OJQJ^Jo(hHoh  ^ `OJQJo(hHhl l ^l `OJQJo(hHh<<^<`OJQJ^Jo(hHoh  ^ `OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh||^|`OJQJo(hH^`o(^`o(.0^`0o(..88^8`o(... 88^8`o( .... `^``o( ..... `^``o( ...... ^`o(....... pp^p`o(........h^`OJQJo(hHhpp^p`OJQJ^Jo(hHoh@ @ ^@ `OJQJo(hHh^`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh^`OJQJo(hHhPP^P`OJQJ^Jo(hHoh  ^ `OJQJo(hHh^`OJQJo(hH ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.0&E Bi(O* M5W ao_k Z{ ,&S {T6T~80JNrW]A&ggD ]}US$b!iyCIx~`,k>s> ?Z>?G?^O?Y?e~?@@(@{f@Aq@0A$aAxA~BCq1DpZDEEF{*F"9FEGd/G0G5KHsH I(I9:ISJP0Jj5JIJsJtJK Kb9K2SKuKE(L-M:MH|@|LK|dl| }7}N}2~G~5}a r 1P[Q;Z8z[ ==v=U~0 )R?,%@3|q"D%+3sF ?& M^eb($anU^sj C @,T2!>o@;S"Et?V\;x:ru,0NeYi![xh-&(-/N KnEL!4X9Km^|+:4K}+ (s,-FJ Is0=sZ^M=+&Acs%5SXo`|g"y&+T8Gqa}J=.@ec= Bg]f-NS>qDVn`wS1ie0S'zV^zCKV*@W9+'355|kdntiFko%$aRe{ BBI_r(@c=km 4.|6}JRts8G1<dnA(Wbe~hgxz|cF: QYz3\+gKqwsBdC1Qq q'(B!'1FUl);BH;k@{/H#Yv97h\@4_{ I%b8u1$i)mK ^DUX (`td_;]`(X9<NQ]#45;j2|TN\;P?X~?L2ap3f{EXX;X=}?VcGpB[W]V'&2<62[Q[>>@ >>>>B@UnknownG*Ax Times New Roman5Symbol3. *Cx Arial?= *Cx Courier NewQTimes New Roman Bold5. .[`)Tahoma;WingdingsA$BCambria Math"1h'J'æe 5 re 5 r!24>> 3QHP ?Ow2!xx -Student Lab 1: Input, Processing, and Outputstaffstudent0                           ! " # $ % & ' ( ) * + , - . / Oh+'0  ( H T ` lx0Student Lab 1: Input, Processing, and Outputstaff Normal.dotmstudent14Microsoft Office Word@@Q@a@&e 5՜.+,0 hp  GRCCr > .Student Lab 1: Input, Processing, and Output Title  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root Entry F@8 Data L1Table\WordDocument.SummaryInformation(DocumentSummaryInformation8CompObjr  F Microsoft Word 97-2003 Document MSWordDocWord.Document.89q