2
Watcharin Puangplia
01/06/2554
2
________________ _______________________ _____________(5 )
1. _________________________ 2. _________________________ 3. _________________________ 4. _________________________ 5. _________________________ 6. _________________________ 7. _________________________
________________ ________________ ________________ ________________ ________________ ________________ ________________
3
Objectives ($%& '( )*) • • • • • • • • •
'() *+ ,- . / 0 )123 4 5 . +'6 7 8. 9 :+ + ,-( / ;< )+ ,- ' * : 5 5=<) 8 ); 5 ) 54 5' if if/else '. ' 4D =<) 8 ); 5 ) 54D E/D while '. execute D 5 ;1 E/D L =<) '() * 4D E/D ;< )6 + : ;< )6 +6 +*6 '() * '(- ;1 5 -; 5 ) 5 8+ ' 7123 '(- ( / 6 4D 5 '(- M 55 =<) 8 D <6 + 1 4- *D '1N 6) 5 ) ;1 =<) 8 () O D '() 4- 6) 5 '() =1 ;1 =<)
4
2.1. Introduction ( 4 ) ! " #$ % & ' $ &# & ( % ) $ ' $*
# +# %, % - . / 0 )" #
% 1 2 &
5
5 $ 6 7 Cycle: PDLC) วŕ¸&#x2021;ŕ¸&#x2C6;รภารŕ¸&#x17E;ูŕ¸&#x2019;ŕ¸&#x2122;าŕš&#x201A;ŕ¸&#x203A;ร๠ภรม (PDLC)
! 6 1. % &' (Program Analysis) 2.
(Program Design) 3. !
(Program Coding) 4.
(Program Testing) 5.
@ ! (Program Formalization) 6. @ C
(Program Maintenance)
6 1.
2. ! "
â&#x20AC;¢ Program Specification Package
â&#x20AC;¢ # &'( (Main Module) ! " ) Module # *
â&#x20AC;¢ (SA)
â&#x20AC;¢ &+" # !"
â&#x20AC;¢ ! " # $% $% "
â&#x20AC;¢ & $, &'(- &+"
3. '/ ! "
6. % . ! "
$ 3 ! "
â&#x20AC;¢ - Error &'($ # ! " ! / â&#x20AC;¢ % $ (" " " " 0 ! "" +1
â&#x20AC;¢ '(/ &+" 1 &'( 2 " ) 2 . ! "" ( â&#x20AC;¢ '/ ! " & ! "
5. & & & ! " 1 % & /
4. & ! "
â&#x20AC;¢ ! &'( "# " ! " # & - " -"#
â&#x20AC;¢ " ( $ Error ! " - & &'
â&#x20AC;¢ " &'( '(/ & 1 " SA
â&#x20AC;¢ Error +1 '/ - / 4 2 . &'( &+" 5-
&'( 9.1 ' $ 3 ! "
7
...
- O 3 ( / 6 1. ? (@ $' ' 4 A &BC ? D - )'4 4- ' - + E $ C C? (Top-Down Design)K 2. C @ L (Algorithm)
- )'4 4- ' - + E ) ( (Structured Design)K 3. &( C @ L R& $ - )'4 4- ' - + E ) ( (Structured Design)K
8
$ C C? (Top(Top-Down Design) '1N '4 : 5 + 6) 5 ( 5;1 (Program Requirement) '1N + L '. 1 ; 7 :: 4 * 4D =<)5 ( / 6 + 5 :: Top-down Design - 6 <' <
- D +^ OT
9
$ C C? (Top(Top-Down Design) Main Module
Process
Initialization
' S 5
6@ 6*T 5 (
? )) *& BC )? W 5C @
)4 5U
)? C?5 5C
Wrap-Up
5 &
6@ 6* C' &
5 )? T &
Ex2: D +^ OT
T )? VC
6@ 6* & 5
C')? VC
10
2.2 Algorithms ( ' 5 5@X) )123 ;< ;1 . +'6 7* 6) 5' - +() 5 : 4D
D 5 < 5 L =16 D < :4- D <=+) E 5 :+ )123 4- ' - + algorithm ( :+ + ,)- / * 1 :<)+ 4D (actions) D < :( 5 4D (order in which these actions are to be executed) D < :( 5 < D 5 D : )123 ( / 6 + ,-4- <- D : ;1 6) 5 - ^ ^ < 5 -/ 6 D 56) 5= D + '1N D 54- . +'6 7 84D 5 =<) 5* . +'6 7<D ' : D 5 <L )+ D 58 <=14- * ) . +'6 74 D 5 / 6) 5= D + <)+ 4D 5 ( 5 D 54 /5 <6) 5*: ( / 6 4- *D <
11
( Algorithms ( ' 5 5@X) 1. 2. 3. 4.
,
6 (Nature language) M 55 (Flowchart) '(- EO;<; e< *D 5 (Pseudo Code) '(- ; 5 ) 5 4D 5 (Structure Chart)
12
Y Z X [ @ (Nature language) ) 1 6 '(- ( / 6 4D 5 ;< < '(- 6 O1 :: 4D 5 + = :) 5 E 5 ** '(- '1N () L h=<)'. + <+ '() *5 5 ? 1 *5'(- 4 '. D +^ + +( 54- < 1 5 5 ;< 4 : . / 4- + +) 5 )+ <5M 4 5 ) * 5@X 4
(1) D < ' 6) ( 5 + +4- < '1N 0 (2) : ( 5() O . / 4- + +) 5( 54- < (3) D +^ + +4- < = . / 4- * + +) 5 (4) <5M + +4- < 4- =<)* D +^
13
2.3 3. Pseudocode ( )\& ) â&#x20AC;˘ '1N 5= '1N 4 5 4- MO)'(- ;1 ) . 9 :+ + ,(algorithm) Pseudocode - ^ ) 4- ) -+ 61 *D + ^ )5 '(- =<);< <+ )+ * = =<)'1N 4- ) '(- ;1 * 5 L h6 â&#x20AC;˘ Psudocode 4- '6 - =+)<-* 8 1 5 )'1N ;1 E- =<);< 5 ;< ** '.- 5 6 ) D 5 E- 4- '4- :'4 4 4- D 5 psudocode '()
=1 â&#x20AC;˘ MO)'(- ;1 ** '(- D 5 psudocode 5 D 5 ) 8 5 4D
< 5 E 5 **D '1N 6) 5 4 4- <)+ D 5 E- D 5 h=<) 4 /5 -/ ) psudocode ( / :* <1 5 7( 5 ) E 5 1 '1 - =1=<)6 + '
14
2.3 3. Pseudocode ( ? ) â&#x20AC;˘ '(- ( / 6 + ,-;< ) ,
6 * - + D + < + ' =1 4D )' < M <. <=<)5 + );1 * - + 'l. * ' =1 MO)4- = '() *;1 4- )'(- *= 8'() *=<) '4- '1N + M ( 5 ) ,
6 ;1 '. ) + 5MO) ) 4- - + 6) 5 )( / 6 + ,-6 5 =1 â&#x20AC;˘ '4- = - m '(- 6 6 + ;< ( / O : + 8 <( 5MO) ) 6 () 6 5: 5 5 + '1N + 1 :4- D 3( 5 '4- =<)
D 5 D <5 D 5 +: ( 5 D 5 () : 4 D , : â&#x20AC;˘ Pseudocode *'1N =4 h=<) (( )' '() *'4 / '1N . ) 6 ) 5 n * <+ 4- < '. 5 6 1 5'1N . +'6 7
15
2.3 3. Pseudocode ( ? ) TC U]*W Pseudocode 1. + ) 5 L = *D '1N 6) 5 D 58 5 . +'6 7 2. + '(- ) - ) '1N : 4 < L '. <+ 4D
+ '() * 3. D 54- '1N 5 n 4- 6) 5 )1o : 6 + '(- '1N 6 +. .7 3 ' 4. MOVE '1N 6) 5. = *D '1N 6) 5 -' 5 + 6 6. 8) '1N '(- ;1 4- '- 5 =( ' IF * 6) 5*:<)+ END IF DO ..... * 6) 5*:<)+ END DO
16
5 ? Pseudocode )4 5U)' START SCORE1 ( ๏ ), SCORE2 ( ), SUM ( ), NAME("#เน %) ,GRADE ( ( )) DO UNITL ),๏ % . READ NAME, SCORE1, SCORE2 SUM = SCORE1 + SCORE2 IF SUM > 84 THEN GRADE = A ELSE IF SUM > 70 THEN GRADE = B ELSE IF SUM > 60 THEN GRADE = C ELSE IF SUM > 50 THEN GRADE = D ELSE
GRADE = F
ENDIF DISPLAY NAME, SUM, GRADE ENDDO END
17
[ (Name Name) Name â&#x20AC;˘ ( / 6) <)+ D + procedure 6 <)+ ( 5( / 6 + ,- D < : < ( 56 + 1 4- ) :() O D '() ' â&#x20AC;˘ Procedure FindMax(a1, a2, t, an : integers)
18
)4 ( 4 T & (Assignment Assignment Statements) Statements )' 5 := ( : 5 /5 ) â&#x2020;?) D : D < * .* 74 5(+ ) 6 + 1 4 5<) E) ' Variable := expression b := 5 a := n + 10 d := sqrt(4) z â&#x2020;? *D + 4- 4- < D < : L a â&#x2020;? : ( 56 + 1 a : b
19
C%? )4 ( (Blocks Blocks of Statements) Statements D 5 * - + '. )5 6 '() *;< ( / 6) (Block) <)+ D +
begin / <<)+ D + end 4 /5 -/ 6 : 4 <( 5 D 5* - ) 4- '4 <)+ ' begin b:=i n:=sqrt(b) q:=b/n end
20
L T )4 X@ : 4 ' 5 /* t..*/ '. + '6 + *D , : ( / 6 4- *'() * ' n := floor(x) /*floor function floor(1.5) = 1 and floor(-1.5) = -2 */
21
2.4 4. Control Structures ( ) ( )5 )% ) ;< 1 6 D 5 ;1 * 4D 5 6 ' 5 =16 D < :4- '(- =+) ;1 ;< * ' - 4D 5 5 -/+ sequential execution ( 4D 5 6 D < :) D 56 5 L ( 5 E- 4- * =<) 6 =1 -/* 4D ) MO)'(- ;1 8 +: =<)+ D 58 <=14- * 4D 5 '1N D 5 < E 5 ' ' - 5 -/+ Transfer of control ( )
22
2.4 4.1 1 ) ( C4 & '1N ; 5 ) 54- ) 5 O E- O )+ 8) = =<): '1N 5 . +'6 7* 4D 5 D 5 E- =16 D < :4- '(- =+) Flowchart O14- 1 <5; 5 ) 56 D < :( 5 Eadd grade to total
total = total + grade; counter = counter + 1;
add 1 to counter
O14- 1 Flowchart ( 5; 5 ) 56 D < :( 5 E-
23
2.4 4.2 The if, if/else Selection Structure ( ) ( C if, if/else) if/else ; 5 ) 54 5' ) ' + 5 4D L 5 6 + 5' 8) * :M ' =<) 60 ( / =1 D 5 pseudocode ** '1N
â&#x2013;Ť If 60 Passed ) 5 ' 6+ - '+) 5' / 5'() =1 : 4 < 4- 5( 5 pseudocode 4D ' -/ 4D ) ; e < 5 ( / < 5 / * 5 + ) '+) 5 5'1N :: '(- ;1 4 ;1 = + * '(- '1N pseudocode '1N ; e< C++ h6
24
) ( C & 5 Y Z ^ Pseudocode () 56) 8'(- '1N ;1 C++ =<)< 5 -/ if (grade >= 60) cout << |Passed\n~;
// printf(|Passed\n~); E-
Flowchart ( 5; 5 ) 54 5' ::4 5'<- +( 5 Egrade >= 60 false
true
Print â&#x20AC;&#x153;Passedâ&#x20AC;?
25
) ( C if/else if # 5 6 ) $ & 60 + 9 :Passed@ else + 9 :Failed@ Pseudocode ( a A Y Z C++ R& & if (grade >= 60) cout << |Passed\n~; // printf(|Passed\n~); else cout << |Failed\n~; // printf(|Failed\n~);
26
Flowchart ( 5; 5 ) 54 5' if/ else ( 5 Efalse Print â&#x20AC;&#x153;Falsedâ&#x20AC;?
grade >= 60
true Print â&#x20AC;&#x153;Passedâ&#x20AC;?
27
2.4 4.3 The While Repetition Structure ( ) ( ( 4 ^ 4 While) â&#x20AC;˘ ; 5 ) 54D E/D
4D )MO)'(- ;1 : )4D 4D 5E/D =1' L (^ 4- '5 =(: 5 5 5 5'1N * 5 O 6 + 5' â&#x2013;Ť while ( F ) # . % . (shopping list) â&#x2013;Ť . ,+ ! ( ' ,+ + ( â&#x20AC;˘ '5 =(4- + | 5 5 -( 54- * E / O E / ( 5~ ** '1N * 5 '4h* h=<) '5 =( -/'1N * 5 h* 4D D 5 |E / ( 5 / 6 =1 ( 5 / / 4 /5=1* ~ 4D -/* 4D 6 =1' L (^ 4- '5 =( 5 5'1N * 5 O
28
) ( 4 ^ 4 while '. '1N 6 + 5( 5 ) O1 while 5<O;1 4- ) D 5( 5 5 4- + 1000 ( D 5( 5 5 8 5 2n ' n '1N *D + '6h :+ ) ' ; 5 ) 54D E/D while <) 54D 5 ' h* 6 + 1 product h* - M .,74- 6) 5 Flowchart ( 5; 5 ) 54D E/D while product <= 1000
true
false
product = 2; while (product <= 1000) product = 2 * product;
product = 2 * product
29
(Flowchart) â&#x20AC;˘ '1N ' 5 - :: 54- ) O1 . <58 5( / 6 4D 5 ( / 6 '(- ;1 ( / 6 )123 4- ( / â&#x20AC;˘ -' ) 4- <54 4 5 = ( 5() O 6 /5 6 * <' 6) * 4 /5=<)M .,76 4- 6) 5 â&#x20AC;˘ 4D )MO) 8 4D + '() *=<)5
' [ * 1. 4D )'() * 123 =<)5 (Problem Define) 2. <5 D < : 4D 5 (Step Flowing) 3. () M <. <=<)5 (Easy to Debug) 4. 4D + '() *;1 =<)5 (Easy to Read) 5. = ( / : < 5 (Flexible Language)
30
T % C W[ Flowchart â&#x20AC;¢ ' 5* M 55 '1N M M 5 O1 .4- <5 + + < )6 <6 1 5 + 5MO)+ ' 7 :: :MO)'(- ;1 MO)'(- ;1 :MO) ) '(- ;1 )' h '1N ..* 7+ ;1 * 4D 5 5= â&#x20AC;¢ )'1N ' ) 5 5 '. )MO)'(- ;1 =<)4 : 4 /5 -/M 55 4- <-* 6) 5 = ( / : < 5 â&#x20AC;¢ 8 )M 55 4< : )=( 4D 5 ( 5;1 =<) ;< 5= 6) 5 5 '(- '1N ( 5' 5 5'() 4< : :' 5
31
' Y 1. ' (System Flowchart) â&#x20AC;˘ <5( / 6 4D 5 4 /5 < 4D )' () * ::5 ( 5 ::5 5 L4- ' - +() 5 :5 4 /5 < â&#x20AC;˘ <5( / 6 4D 5 :: 5 +) 5 L 6 = '* 5 ::5
32
' Y ( ? ) 2. &BC (Modular Programming Flowchart) â&#x20AC;˘ : 5 /5' - + Block Diagram : 5 :: '1N + L <5( / 6 + ,- 4D 5 5= 6 * = - ' - < ; <O / â&#x2013;Ť 6 ( / 6 <5 + ( :'(6;< = 6) 5 - ' - < â&#x2013;Ť 84 :8 5( / 6 ( 5;1 ; <O 4- ' - +() 5 + 4D )' h +4 5 )123 '(- ;1 =<)5 ( / â&#x2013;Ť <+ * <: . 5 + M <. < + M <. <4- ** ' <( / =<)
33
' Y ( ? ) 3. (Programming Flowchart) â&#x20AC;˘ M 55 4- <58 5( / 6 4D 5 ( 5;1 6 /5 6 ( / 6 :() O D +^ 1 + M * 8 5 <5M .,7 â&#x20AC;˘ 5 ? M 55 ;1 -/ <5 D +^'5 '< ( 5. 5 ;< 8) + ; 5 4D 5 '< / L = ' 160 +; 5 '5 '< * 8O D +^;< ) 6 5 6 1 6 6 8)
+; 5 4D 5 ' 160 +; 5 160 + ; 5 * ) 6
56 1 6 *D + +; 54- ' * < 5;< ) 6 ( 5 +5'+
(overtime OT) E 5'4 : 1.5 '4 ( 5 6 51 6
34
Programming Flowchart
> 160
! "
"
= (( -160) * 1.5 *) + (160 * )
*+ , )
= *
35
$ ( a (& 4 R& & 1. ' 6) ;1 ) 3 ^7'4 7 2. :() O '() ( 5() O ) 3 ^7 : <5M ;< () O 4- :1 :<)+ - . 5 - *D + +; 5 4D 5 - 6 5 3. . * ^ '5 =(+ *D + +; 5 4D 5 + 160 /+; 5 = ;< ) 3 ^7 6 < * 3.1 8) ) ) 6 =1 -/ D +^ *) 5 *) 5 = (( +; 5 4D 5 - 160) *1.5 * 6 5)+(160 * 6 5) 3.2 8) = ) ) 6 =1 -/ D +^ *) 5 *) 5 = ( +; 5 4D 5 * 6 5) ** D +^ *) 5 ( / 6 4- 3.1 3.2 ) 3 ^7 1 + M 4. <5 . 5 *) 54- =<)* D +^ ) 3 ^7 :'() <5M 5. *:;1 ;< ) 3 ^7'4 7
36
( dC ZU* W[ W (Flowchating Flowchating Symbols) Symbols
37
( dC ZU* W[ W (Flowchating Flowchating Symbols) Symbols
38
( dC ZU* W[ W (Flowchating Flowchating Symbols) Symbols
39
( dC ZU* W[ W (Flowchating Flowchating Symbols) Symbols
40
( dC ZU* W[ W (Flowchating Flowchating Symbols) Symbols
41
5)@&W edT â&#x20AC;˘ â&#x20AC;˘ â&#x20AC;˘ â&#x20AC;˘ â&#x20AC;˘
Initialization D < ' 6) Input :() O Process 1 + M Output <5M .,7 Dicision '1 - :'4- : '. :=14D E/D
42
5)@&W edT & W[ 1. 4 T &)? @ (Initialization) '1N D < ' 6) ) :6 + 1 : 5
2. 3. 4. 5.
6 + ' 6 + 1 4- 4D ) 4- '1N + :(Counter) 6 + 1 4- '1N M D +^ ' ' D < ) High - ' 6) '4 : 0 (high = 0) long -
' 6) '4 : 0 (long = 0) BC(Input) '1N : 6 + 1 4- : =+) ( / 6 D '() () O ( 5 + ' 5 :() O * 6) 5 4D * - D () O / =1 ) ' D =1 D +^ ' ' :() O ( 5 High = 10, long = 5 ' 5C C(Process) '1N <5+ ,-1 + M ' . / 4- ( 5 O1 - ' - = high * long < 5 / . / 4- ( 5 O1 - ' - = 10 * 5 (& CC 6X*(Output) '1N <5M .,7 ( 56 + 1 4- : =+) +() M .,74- 6) 5 <5 + ' 5 ' ' D + O5( 5 O1 - ' - 4- D +^=<)4- '4 :50 <54 5 ) * (Decision) '1N '1 - :'4- :'. ' - 5() O '. ) :=14D E/D
43
5 ? : $ T 5? 6 B ( TC
)? ? R 1. 6 +* :+ + )6 + 1 < ' h:() O * O6 . / 4- ' - 0.5 * O5*0 4D )' O)+ + O5 + +( 50 * 4- () O ' * 5* 6) 5 D <6 + 1 ) + O5 : + +( 50 ;< 4 +=1* = ) 6 + 1 '1N =4 * O6 * ) high = + O5 long = + +( 50 total = . / 4- ( 5 O1 ' - 2. * O6 :() O ' :() O * - 7: 7< E 5* -6 + 1 4- : '() high = 5, long = 5 3. 1 + M ' * 4D 1 + M * O6 0.5*high*long * : () O '() ' 4D D +^=<)< 5 -/ total = 0.5*5*5 = 12.5 4. <5M .,7' * D ( 5. / 4- ' - 4- D +^=<) <5M 4 5 ) * 4- -/ 12.5
44
5@X & â&#x20AC;¢ â&#x20AC;¢ â&#x20AC;¢ â&#x20AC;¢ â&#x20AC;¢ â&#x20AC;¢
) 3 ^76 4- D <=+) ) O <54 4 5 = ( 5() O * : 5 5 E) =1(+
D , : . + / 4 < < '() *5 4 M .* 6) 5 - O '() = + ; 5' ) ' M 55 4- O = + )* <' 6 4 + - 4< : + 8O 6) 5 D =1 )5
45
3 1. Sequence Flowchart C4 & â&#x20AC;˘ 6. . *5'(- M 55 <5( / 6 D +^ . / 4- - ' - â&#x2013;Ť Pseudo Code â&#x2013;Ť Flowchart
46
3 2. Selection or Condition Flowchart C T R â&#x20AC;˘ 6. . 6 +* :+ O ) 4- ) : '1N
= 8) '1N
* < ) 10%
47
3 3. Repeation or Loop Flowchart 4 5 ^ 4 â&#x20AC;˘ 6. . :+ ' (6 /5 6 1-10
48
5 ?
C4 &
*5+ ' 7123 '(- ( / 6 4D 5 '(- M 55 (Flowchart) ;1 D +^. / 4- ' - *D + 1 O1 . / 4- ' - = 1/2 X 0 X O5 5@ ) 'T* d e T : '. D + . / 4- ' - *D + 1 O1 5 W[ : base 0 , high O5 , area . / 4- ' - ;< D +^=<)* O6 area = 1/2 * base * high BC 4 : 0 (base) O5 (high) CC 6X* : . / 4- ' - B CC 6X* : Base = 4 High = 2.5 Area = 5
49
4 1. ' 6) 4D 5 2. D < 6 + 1 area, high base 3. :() O base () O high 4. D +^ . / 4- ' - * O6 area = 1/2 * base * high 5. . .7. / 4- ' - 6. *: 4D 5
(Flowchart) Start area, high, base read high, base area = 1/2 * base * high area end
50
5 ?
C4 & + 4 5 ^ 4
*5+ ' 7123 '(- ( / 6 4D 5 '(- M 55 (Flowchart) ;1 D +^. / 4- ' - *D + 5 O1 . / 4- ' - = 1/2 X 0 X O5 5@ ) 'T* d e T : '. D + . / 4- ' - *D + 5 O1 5 W[ : base 0 , high O5 , area . / 4- ' - ;< D +^=<)* O6 area = 1/2 * base * high x 6 + 1 :*D + :( 5 4D 5 x = 1 (% F x # + ! & 1 " # & 1 & O
+ # ' 1 " # & " $ & ! 2 # + ! ! $ x = 1 ' + # % ! ' & x = x + 1) BC 4 : 0 (base) O5 (high) CC 6X* : . / 4- ' - 5 O1
51
5 ? B CC 6X* : Base = 4 High = 2.5 Area = 5 Base = 2 High = 8 Area = 8 â&#x20AC;Ś Base = 15 High = 3.75 Area = 28.125
5
52
4 1. ' 6) 4D 5 2. D < 6 + 1 :*D + :( 5 4D 5 x = 1, 6 + 1 high, base area 3. 6 +* :*D + :( 5 4D 5 (x) + - ) + '4 : 5 * 5 = 3.1 8) *D + :( 5 4D 5 (x) - ) + '4 : 5 : (x <= 5) * 5 ) 4D 5 () 4 3.2 ' * -/ )4D ( / 6 4- 8 4. :() O base () O high '() 4- ' 7< 5. D +^ . / 4- ' - * O6 area = 1/2 * base * high 6. . .7. / 4- ' - 7. '. *D + :( 5 4D 5 ( / 4- 1 (x = x +1) ) :=14D 5 () 3 8. *: 4D 5
53
(Flowchart)
1
Start
2
x = 1, high, base, area 3
no end x <= 5 3.2 3.1 yes read high, base 4 5
area = 1/2 * base * high Print area x = x+ 1
6 7
8
54
5 ? 1 C T R *5+ ' 7123 '(- ( / 6 4D 5 '(- M 55 (Flowchart) )123 '(- ;1 '. 1M .,7M :( : : 3 6'1N 6 + 4 *D 4- < ( 5 1 / :M 8 <* * -6 +' ( 1 '(- O / :6 8 <* * -6 +' ( 2 '(- O O1 ::M .,74- 6) 5 Name : Watcharin Puangplia Score ( 1 = Pass, 2 = Fail ) : Result : Pass
1
55
5@ ) 'T* d e T : '. 1M .,7M :( : : 3 6'1N 6 + 4 *D 4- < ( 5 1 / :M 8 <* * -6+ ' ( 1 '(- O / :6 8 <* * -6 +' ( 2 '(- O 5 W[ : name , score ( 5 , result M : BC 4 : (name) ( 5 (score) CC 6X* : M :( 5
56
4 1. 2. 3. 4.
' 6) 4D 5 D < ' 6) ) :6 + 1 result = | ~, 6 + 1 name score :() O ( 5 '() 4- ' 7< 6 +* : ( 5 ' - + :M :6 score == 1 * 5 = 4.1 8) ( 5 '4 : 1 * 5 :M result = |Pass~ )4 D 5 () 4- 5 4.2 ' * -/ ( ( 5 '4 : 2 ( 5
= '4 : 1) :6 )4D 5 () 4- 5 5. . .7M :( 5
6. *: 4D 5
57
(Flowchart)
1
Start
name,score,result = “ ”
3
name,score
4.1
T
4
F
score == 1
result =“Pass”
2
4.2
result =“Fail”
5
result end
6
58
5 ? 1.1
C T R + 4 5 ^ 4
*5+ ' 7123 '(- ( / 6 4D 5 '(- M 55 (Flowchart) )123 '(- ;1 '. 1M .,7M :( : : 3 6'1N 6 + 4 *D 4- < ;< =<) : ( 5 10 / :M 8 <* * -6 +' ( 1 '(- O / :6 8 <* * -6 +' ( 2 '(- O 8) - + 6 :M ). .7() + |Very Good~
59
B CC 6X* : Name : Watcharin Puangplia Score ( 1 = Pass, 2 = Fail ) : 1 Result : Pass Name : Krengkrai Punya Score ( 1 = Pass, 2 = Fail ) : 1 Result : Pass â&#x20AC;Ś Name : Parinda Pumdokmai Score ( 1 = Pass, 2 = Fail ) : 2 Result : Fail _________________________________ Count Pass = 7 Count Fail = 3 _________________________________ Very Good
+ : 10 /5
1M 5* + : 10 /5 8) - + 6 :M ). .7() + |Very Good~
60
5@ ) 'T* d e T : '. 1M .,7M :( : : 3 6'1N 6 + 4 *D 4- < ( 5 10 / :M 8 <* * -6+ ' ( 1 '(- O / :6 8 <* * -6 +' ( 2 '(- O 8) - + 6 :M ). .7() + |Very Good~ 5 W[ : name , score ( 5 , result M :, count_pass 6 + 1 :*D + D : 4- :M , count_fail 6 + 1 :*D + D : 4- :6 , n 6 + 1 :*D + :( 5 4D 5 n = 1 BC 4 : (name) ( 5 (score) CC 6X* : M :( 5 , 8) + 6 :M . .7 () + |Very Good~
61
4 1. ' 6) 4D 5 2. D < ' 6) ) :6 + 1 result = | ~, count_pass = 0, count_fail = 0, n = 1 3. 6 +* :*D + :( 5 4D 5 (n) + - ) + '4 : 10 * 5 = 3.1 8) *D + :( 5 4D 5 (n) - ) + '4 : 10 : (n <= 10) * 5 ) 4D 5 () 4 3.2 ' * -/ )4D ( / 6 4- 8 4. :() O ( 5 '() 4- ' 7< 5. 6 +* : ( 5 ' - 5.1 8) ( 5 '4 : 1 ( :M ) )6 + :*D + MO4) - :M - '. ( / 4- 5 count_pass = count_pass + 1 5.2 ' * -/ ( ( 5 '4 : 2 ( 5 = '4 : 1) :6 )6 + :*D + MO4) - :6 - '. ( / 4- 5 count_fail = count_fail + 1
62
4 ( ? ) 6. . .7M :( 5
7. '. *D + :( 5 4D 5 ( / 4- 1 (n = n +1) ) :=14D 5 () 3 8. . .7M :*D + ( 5MO)4 - :M M :*D + ( 5MO4) - :6 6 4D 6 +* :'5 =( 8.1 8) *D + ( 5MO4) - :M + 6 ). .7() + Very Good 8.2 ' * -/ )4D 5 () 9 9. *: 4D 5
63
Start
(Flowchart)
1
n=1, result = W X, count_pass = 0, count_fail = 0 3
T
n <= 10 3.1 T read name, score 4 score == 1
4.1 result =WPassX count_pass = count_pass +1
3.2
F
Print count_pass, count_fail 8 count_pass > 6 8.2
F
4.2 result =WFailX count_fail = count_fail +1
Print result n = n+1
2
5 6
end
9
7 8.1 Print WVery GoodX
64
5 ? 3 C4 & + 4 5 ^ 4 *5+ ' 7123 '(- ( / 6 4D 5 '(- M 55 (Flowchart) )123 'l - ( 5 4 / ' - E 5=<)4D ::Â&#x2021;Â&#x2C6; < O6 D +^ 'l - ( 56 +' ( M + ( 56 +' (4 /5 < 'l - = *D + 6 +' (4 /5 < O1 ::M .,74- 6) 5 Num =3 Num =4 â&#x20AC;¦.. Num =7 -------------------------------Sum = â&#x20AC;¦.. Mean = â&#x20AC;¦.. --------------------------------
65
5@ ) 'T* d e T : '. 'l - ( 5 4 5 W[ : num 6 +' (, sum M + ( 56 +' (4 5/ <, mean 'l - ( 5 6 +' (4 5/ <, n 6 + 1 :*D + :( 5 4D 5 ;< 4- n - ' 6) '1N 1 (n = 1) - '. ( / 4- 1 4D 5 6 : (n = n + 1) BC 4 : 6 +' ( (num) CC 6X* : + ( 56 +' ( 'l - ( 56 +' (
66
4 1. ' 6) 4D 5 2. D < ' 6) ) :6 + 1 n = 1 sum = 0 3. 6 +* :*D + :( 5 4D 5 (n) + - ) + '4 : 4 = 3.1 8) *D + :( 5 4D 5 (n) - ) + '4 : 4 : (n <= 4) * 5 ) 4D 5 () 4 3.2 ' * -/ )4D ( / 6 4- 7 4. :() O 6 +' ('() 4- ' 7< 5. D +^M + sum = sum + num 6. '. *D + :( 5 4D 5 ( / 4- 1 (n = n +1) ) :=14D 5 () 3 7. D +^ 'l - mean = sum / 4 mean = sum / (n - 1) T T % (*D + : 4D E/D * + 1 /5)
8. . .7 + ( 56 +' ( 'l - ( 56 +' ( 9. *: 4D 5
Start
67
n=1, sum= 0
n <= 4
(Flowchart) mean = sum / (n-1)
read num
Print sum, mean
sum = sum + num
end
n = n+1
mean = sum / 4
' 6 +' ( -< 5 -/ 3, 4, 5, 6, 8, 3
5@X )@& n = 1, sum = 0 n <= 4 read num : 1 n = 1, sum = 0 1 <= 4 3 : 2 n = 2, sum = 3 2 <= 4 4 : 3 n = 3, sum = 7 3 <= 4 5 : 4 n = 4, sum = 12 4 <= 4 6 : 5 n = 5 * Loop '. l / n = 5, )4 ) sum = 18, mean = 4.5
sum = sum + num n=n+1 sum = 0+3 = 3 n = 1+1 = 2 sum = 3+4 = 7 n = 2+1 = 3 sum = 7+5 = 12 n = 3+1 = 4 sum = 12+6 = 18 n = 4+1 = 5 sum = 18, mean = sum / (n-1) = 4.5
68
ij T & $ 5@ ) 'T* edT 4 C' (Flowchart) 1. *5'(- ;1 :6 +' ( < L 1 6 +* :6 +' (4- :'() + '1N ' ( O( EVEN) ' ( -( ODD) O1 ::M .,74- 6) 5 : Input Number = 6 Result = EVEN 2. *5'(- ;1 : 6 +' ( < L *D + 10 6 +* : 6 +' (+ '1N ' ( O (EVEN) ' ( -( ODD) O1 ::M .,74- 6) 5 : Input Number = 15 Result = ODD 0.. 10 : 4D 5 Input Number = 90 Result = EVEN
69
3. *5'(- ;1 : 6 +' ( < L *D + 10 6 +* : 6 +' (+ '1N ' ( O ' ( - :*D + ' ( O *D + ' ( - + -1 ' 4 - 6 + B CC 6X* Input Number = 71 Result = ODD r 10 )
Input Number = 4 Result = EVEN Count EVEN = XXX # Count ODD = XXX #
// 1M :' ( O + - - 6 + // 1M :' ( - + - - 6 +
70
4. *5'(- ;1 <5 6 +' (6 /5 6 1 8 5 1000 : * . . ) M + ( 56 +' ( 'l - O1 ::M .,74- 6) 5 : 1 2 3 t 1000 // <5 6 +' (6 /5 6 1 8 5 1000 Summary 1-1000 = XXX # // M + ( 56 +' (6 /5 6 1 8 5 1000 Mean 1-1000 = XXX # // 'l - ( 5 6 +' (6 /5 6 1 8 5 1000 5. *5'(- ;1 <5M :+ ( 5' ( O 4- - O +5 1 8 5 1000 ' 2 + 4 + t + 1000 = ??? 6. *5'(- ;1 D +^' <+
. +'6 7( 5
/ 1Â&#x2039;4- 1 *D + 1 * Â&#x152;Â? () O : 5 '1N ' h: 20% 5 40% 1 40% ;< . ) 4 /5 <5' <( 5 ;< ' ^Â?74- ) 6 <' < 1 # 80 +1 -
A
70 0+ 79.99
B
60 0+ 69.99
C
50 0+ 59.99
D
/ # 50
F
71
O1 ::M .,74- 6) 5 : Student Id : 001 Student Name : Ant Bird Input score1(20%) : 15.5 Input score2(40%) : 27 Input score3(40%) : 31 Total(15.5 + 27 + 31) = 73.5 point Grade is B 7. *5'(- ;1 D +^' <+
. +'6 7( 5
/ 1Â&#x2039;4- 1 *D + 70 * Â&#x152;Â? () O : 5 '1N ' h: 20% 5 40% 1 40% . ) 4 /5 <5' <( 5 :*D + ' <( 5 + -1 ' 4 - 6 +
72
O1 ::M .,74- 6) 5 : Student Id : 001 Student Name : Ant Bird Input score1(20%) : 15.5 Input score2(40%) : 27 Input score3(40%) : 31 Total(15.5 + 27 + 31) = 73.5 point Grade is B r
70
================================= Count Grade A = XXX people // 1 :*D + ' < A + - - 6 + Count Grade B = XXX people // 1 :*D + ' < B + - - 6 + // 1 :*D + ' < C + - - 6 + Count Grade C = XXX people Count Grade D = XXX people // 1 :*D + ' < D + - - 6 + Count Grade F = XXX people // 1 :*D + ' < F + - - 6 +
73
8. *5'(- ;1 D +^ <'5 + 4 /5 <4- 54 ':- ' - 4- 1/2555 *D + 25 ;< D < ) 1.1. + *4 54n m + * 120 : 4 1.2 + *4 51o : 6 + * 150 : 4 1.3 , ' -
5000 : 4 1.4 () O 6 *D + + *4 54n m- *D + + *4 51o : 6 (B )4 5U 2.1. + *4 54n m- = *D + + *4 54n m- x 120 2.2 + *4 51o : 6 = *D + + *4 51o : 6 x 150 2.3 , ' - 5000 : 4 2.4 < + 4- 6 6) 5 D = , ' - + + *4 54n m- +
+ *4 51o : 6
74
O1 ::M .,74- 6) 5 : Student Id : 001 Student Name : Ant Bird Input Theory : 10 Input Practice: 5 25 Total(10 + 5) = 15 credit Amount = XXX Bath t ================================= Summary(25 person) = XXXXXX Bath // 1 <'5 + ( 5 25 9. *5'(- ;1 :() O 6 +' ( < L 56 + *5 + 6 +' (4- :'() ' . * ^ 6 1 ' 4 )+=<)' ( O 7(zero) ' (*D + :+ (plus) ' ( :(minus) 12 ))3,, 4 5 : Enter number = 9 Result = Plus
75
10. *5'(- ;1 :() O 6 +' ( < L 15 *5 + 6 +' (4- :'() ' . * ^ 6 1 ' 4 )+=<)' ( O 7 ' (*D + :+ ' ( : 1 ' 4 - 6 + 12 ))3,, 4 5 : Enter number = 9 Result = Plus t 15 Enter number = -7 Result = Minus ------------------------------------Count Plus = XXX Ans // 1M :*D + ' (:+ Count Minus = XXX Ans // 1M :*D + ' ( : // 1M :*D + ' ( O 7 Count Zero = XXX Ans
76
11. *5'(- ;1 <5+ ,- :1 4 4- : 5( <6 ( 5MO)4 < 5 -/ + 10 1Â&#x2039; :1 4 /5 2 )
+ 3 1Â&#x2039; 8 5 10 1Â&#x2039; :1 4 /5 1 )
+ 1 1Â&#x2039; 8 5 3 1Â&#x2039; :1 4 /5 1/2 )
' <8 5 1 1Â&#x2039; ) :1 4 O1 ::M .,74- 6) 5 : Enter Age = 0.5 Eat Drug = 0 spoon Enter Age = 0.5 Eat Drug = Donut Eat spoon
77
12. *5'(- ;1 D +^ + <( 5 ) 5 Big A * E / *D + 100 . ) 4 /5 <5 < + ( 4, < 5 5 - + << 5 -/ 1. = -: 6 + < = =<) : + < < L 2. Silver Card : + < 3% 3. Gold Card : + < 5% 4. Platinum Card : + < 10% 1 ' 4 7< : Silver Card ) : 850 '5 < : 1000 + < : 25.5 : 4 4, : 824.5 : 4 '5 4 : 175.5 : 4 .......... < + 4, (100 ) = tttttt. : 4
5@X )@& (?5 C& 1.8) = - + < + < 0 : 4 2.Silver Card + < = ) * 0.03 + < = ) * (3/100) 3.Gold Card + < = ) * 0.05 + < = ) * (5/100) 4.Platinum Card + < = ) * 0.10 + < = ) * (10/100) %&, = w # & = w %&,
78
Summary (( % ( ) â&#x20AC;˘ )123 4 5 . +'6 7'1N 4D D 5 < 5 L D < :4- D <=+) :+ )123 4- 1 :<)+ 54- * 4D D < :( 5 4D ' - + :+ + ,- (algorithm) â&#x20AC;˘ : D < :4- D 5* execute ;1 . +'6 7 ' - + +: ;1 (program control) â&#x20AC;˘ Pseudocode '1N = '1N 4 5 4- + MO)'(- ;1 . 9
:+ + ,- * < D 3 pseudocode + )MO)'(- ;1 | <~ + ,- )123 4- * 5 '(- ;1 ;1 ' Eâ&#x20AC;˘ ; 5 ) 54 5' (selection structure) )'. ' + 5 4D L 5 - O1 :: =<) ; 5 ) 5 if, ; 5 ) 5 if/else ; 5 ) 5 if/else ::E) (nested if/else)
79
Summary (( % ( ) â&#x20AC;˘ ; 5 ) 54D E/D (repetition structure) )'. : )4D D 5 5 L ( < 5 L) E/D =1' L (^ 4- '5 =(: 5 5'1N * 5 ; 5 ) 54D E/D :4 -/ while â&#x20AC;˘ Flowchart '1N 3 ^7 .4- ) 4 :+ + ,- + 5( 5 :+ + , 3 ^74- ) flowchart =<) 3 ^7 O1=( ( 3 ^7 Begin End), 3 ^7 - ' - M M) ( 3 ^7 4D ), 3 ^7() + 6 < ( 3 ^7 6 < *) 3 ^7+5 +5' h ( 3 ^7* <' ) â&#x20AC;˘ O1 :: )6 + : (counter-controlled loop) )6 + 1 6 + 5'1N 6 + : '. 6 +* :+ O1 + * <' < â&#x20AC;˘ O1 :: )6 +6 +*6 (sentinel-controlled loop) * D < ) L 5 '1N 6 +*6 ' MO) )1Â? 6 +*6 '() =1 ;1 * * O1
80
Summary (( % ( ) â&#x20AC;˘ . 9 ;1 ;< )+ ,- ' * : 5 5 (top-down, stepwise refinement) - + D 3 + Â&#x2021;Â&#x2C6; 1o : 6 )'1N + '(- :+ + ,- O1 pseudocode '(- ; e< E- ' â&#x20AC;˘ Flowchart '1N 3 ^7 .4- ) 4 :+ + ,- + 5( 5 :+ + , + < flowchart / * ) 3 ^74- - + 'l. 5' - ' - M M) , () + 6 <, O1=( +5 +5' h 3 ^7' -/* ' '() <)+ ;< ) flowline â&#x20AC;˘ Flowchart ) ) 5 <5 :+ + ,- ' '<- + : pseudocode 5= h6 '(- ;1 + 3 * ) pseudocode +
' 5* + : '(- 4- -/* ) flowchart '. <5 )' h +
; 5 ) 5 +: 6 <4D 5 5= '4 /