Transcript Document

Pendalaman Materi Conditional
dan Repetition (Pengulangan)
IF THEN Bersarang
Input (nilai)
IF nilai > 85 AND nilai <= 100 THEN
Output (‘Nilai mutu = A’)
ELSE
IF nilai > 60 AND nilai <= 85 THEN
Output (‘Nilai mutu = B’)
ELSE
IF nilai > 45 AND nilai <= 60 THEN
Output (‘Nilai mutu = C’)
ELSE
IF nilai > 30 AND nilai <= 45 THEN
Output (‘Nilai mutu = D’)
ELSE
Output (‘Nilai mutu = E’)
5. The value variable of nilai = 60, the result is ‘Nilai mutu = B’.
6. The value variable of nilai = 101, the result is ‘Nilai mutu = E’.
7. The value variable of nilai = -5, the result is ‘Error’.
Write the algorithm to calculate cost of electricity
with following constraints :
(KWHs)
Rate
•
0 - 500
2000
501 - 1000
2000 + 0.03 * per KWH under 500
over 1001
3500 + 0.02 * per KWH under 1000
Enter the values of previous month meters, current month meter, and
then displays the total cost which would exist.
Loops notation
1. While-Do
2. Repeat-Until,and
3. For-to-Do
4
WHILE-DO-ENDWHILE
• it allows a {group of} program statement(s) to
be executed a number of times.
• The program statement(s) are executed when
the condition evaluates as true.
• Somewhere inside the loop the value of the
variable which is controlling the loop (ie, being
tested in the condition) must change so that
the loop can finally exit.
5
The structure of the WHILE... DO...
statement
... {initiation}
WHILE (condition) DO
program statement
program statement
…
counter statement
...
•
•
•
•
Counted loops are special types of pre-test loops. They are used when a known number of
repetitions will occur.
condition is the Boolean Expression, whether it be AND, OR, or NOT, is first carried out. If the result
is TRUE, the DO statement will then be performed. However, if the result is FALSE, the DO
statement will not be executed
Iteration will be controlled by Counter statement, wether it be increase or decrease
The value of counter will be changed at the end of loop.
6
Flowchart WHILE... DO...
START
{initiationi}
No
condition =
true?
yes
action
{changing counter}
END
7
Example 1
Pseudocode
WHILE there is pressure on the mat
Sound the bell
Flowchart
Pressure
on mat?
F
T
Sound bell
8
Example 2
Pseudocode
OUTPUT('before loop starts')
i  0 { Initialize counter variable }
WHILE (i <= 5) DO
{ Loop with predicate in ()}
ii+1
{Increment counter variable}
OUTPUT('iteration number ',i)
OUTPUT('after loop ends')
9
Execution
• generates the output
Iteration no.
i
i <= 5 ?
i i+1
Output
before loop starts

1
0
True
1
2
1
True
2
iteration number 2
3
2
True
3
iteration number 3
4
3
True
4
iteration number 4
5
4
True
5
iteration number 5
6
5
True
6
7
6
False
iteration number 1
iteration number 6
after loop ends
Here, the loop predicate is the relational test "i <= 5", which causes the
loop to terminate after i is incremented to six.
10
Example 3
i0
WHILE (i < 5) DO
Output (‘*’)
ii+1
{initialize}
{number of iteration}
{statement}
{increment counter}
The result of program :
*
*
*
*
*
11
Example 4
• Program with enter the value of 3 student’s scores :
Pseudocode
i1
WHILE i <= 3 DO
Output (‘Score student no-‘,i,’ is:’)
Input (score)
ii+1
• Execution :
– Score student no-1 is : __
– Score student no-2 is : __
– Score student no-3 is : __
12
Example 5
• Average of 3 numbers
number  0
{initialize}
count  3
{counters}
WHILE count > 0 DO
Input (x)
number  number + x
count  count – 1
average  number/ 3
Output (average)
{enter value of x}
{sum of x variables}
{decrement counter variable}
{calculate the average}
13
REPEAT-UNTIL
• Post-test loops tests the condition at the end of the loop.
• The process in the loop is executed first whether it is true or false
and will keep repeating until the condition is met.
• Post-test loops end when the condition is true but the loop always
do the loop at least once, even if the end condition is originally
true.
• Post-test loops are also called unguarded loops because no check is
made before the algorithm begins the loop structure.
14
The structure of the REPEAT-UNTIL
statement
... {initialize}
REPEAT
program statement
counter variable
UNTIL (condition)
...
15
Flowchart REPEAT-UNTIL
MULAI
START
{inisialisasi}
{initialize}
Program statement
{action}
aksi
Counter changes
No
condition = true?
yes
END
16
Example 1
Flowchart
Pseudocode
Take out item
REPEAT
Take out one item
UNTIL bag is empty
F
Is
bag
empty?
T
17
Example 2
Pseudocode
OUTPUT('before loop starts')
i  0 { Initialize counter variable }
REPEAT
ii+1
{Increment counter variable}
OUTPUT('iteration number ',i)
UNTIL (i= 5)
{ termination}
OUTPUT('after loop ends')
18
Execution
• generates the output
Iteration no.
i
i i+1
Output
i=5?
before loop starts
False
1
0
1
2
1
2
iteration number 2
False
3
2
3
iteration number 3
False
4
3
4
iteration number 4
False
5
4
5
iteration number 5
True
6
5
6
after loop ends
iteration number 1
19
Example 3
i0
{initialize}
REPEAT
Output (‘*’) {action statement}
ii+1
{increment counter}
UNTIL i=5
{end loop}
The result of program :
*
*
*
*
*
20
Example 4
• Program with enter the value of 3 student’s scores :
Pseudocode
i1
REPEAT
Output (‘Score student no-‘,i,’ is:’)
Input (score)
ii+1
UNTIL i = 3
• Execution :
– Score student no-1 is : __
– Score student no-2 is : __
– Score student no-3 is : __
21
Example 5
• Average of 3 numbers
number  0
{initialize}
count  3
{counters}
REPEAT
Input (x)
number  number + x
count  count – 1
UNTIL count=0
average  number/ 3
Output (average)
{input value of x}
{sum of x variables}
{decrement counter variable}
{calculate the average}
22
FOR-TO-DO
• The statement inside the for block is executed a number of times
depending on the control condition.
• A loop index or loop counter is an integer variable that is used to
keep track of how many times a loop has executed .
• A loop limit is a variable or constant that is integer-valued, which
determines the number of times a loop will execute, or a maximum
value of the loop index to be reached at loop termination. .
• A loop increment is the step size for incrementing the loop counter .
23
The structure of the FOR-TO-DO
statement
FOR counter variable initial_value TO final_value
program statement
24
Flowchart FOR-TO-DO
START
{initialize}
Counter >= initial_value
AND counter <=
final_value ?
No
yes
action
END
25
Example 1
Flowchart
START
Pseudocode
FOR x1 TO 5 DO
x >=1 AND x <= 5 ?
No
output (x)
yes
output (x)
END
26
Example 2
Pseudocode
OUTPUT('before loop starts')
FOR i = 1 TO 5 DO
OUTPUT('iteration number ',i)
OUTPUT('after loop ends')
27
Execution
• generates the output
Iteration no.
i
i >=1 AND
i<= 5 ?
Output
before loop starts
1
1
True
2
2
True
iteration number 2
3
3
True
iteration number 3
4
4
True
iteration number 4
5
5
True
iteration number 5
6
6
False
after loop ends
iteration number 1
28
Example 3
FOR i  1 TO 5 DO
Output (‘*’) {action statement}
The result of program :
*
*
*
*
*
29
Example 4
• Program with enter the value of 3 student’s scores :
Pseudocode
FOR i  1 TO 3 DO
Output (‘Score student no-‘,i,’ is:’)
Input (score)
• Execution :
– Score student no-1 is : __
– Score student no-2 is : __
– Score student no-3 is : __
30
Example 5
• Average of 3 numbers
number  0
{initialize}
FOR i  1 TO 3 DO
Input (x)
number  number + x
average  number/ 3
Output (average)
{input value of x}
{sum of x variables}
{calculate the average}
31
Contoh Nested Loop (pengulangan
bersarang)
FOR i  0 TO 4 DO
FOR j  0 TO 2 DO
Output (‘*’)
{aksi}
Program output :
***
***
***
***
***
32
Contoh Nested Loop (pengulangan
bersarang)
• Input values of 3 student’s score that have 2
different values
FOR i1 TO 3 DO
Output (‘Student score no-‘,i,’ are ’)
FOR j1 TO 2 DO
Output (‘Score ’,j,’ :’)
Input (score)
• Running :
Student score no- 1 are
Score, 1 : _
Score, 2 : _
Student score no- 2 are
Score, 1 : _
Score, 2 : _
Student score no- 3 are
Score, 1 : _
Score, 2 : _
33
Soal 1
What are values of the variable x after the execution of the following
pseudocode?
n0
x0
While n < 15 Do
If (n mod 3) = 0 Then
xx+n
Output(x)
n  n +1
A.
B.
C.
D.
E.
1, 3, 6, 9, 12
0, 3, 6, 9,12
3, 18, 24
0, 3, 9,18, 30
3,6,9,12
Soal 2
What is the output of the following pseudocode?
FOR i  1 TO 2 DO
IF i mod 2 = 0 THEN
FOR j  1 TO 4 DO
IF j mod 2 = 1 THEN
Output (‘x’)
ELSE
Output (‘o’)
ELSE
Output (i)
A.
B.
C.
D.
E.
i
xoxo
xoxo
i
i
oxox
oxox
i
i
i
Soal 3
Consider the following statement
– INPUT
– PROCESS
– OUTPUT
:7
: 1+2+3+4+5+6+7
: 28
• Create your pseudocode
36
Soal 4
• Determine the program of the following
output,
*
**
***
****
37
Soal 5
• Determine the program of the following
output,
****
***
**
*
38
Soal 6
• What is the output of the following code
{Declare}
X,i : Integer
Algorithm
For X  1 to 10
IF (X mod 2= 0) THEN
Output(X)
i i + 1
Output(i)
39
Soal 7
Describe the output of the following program
for i 1 to 3 do
for j 5 to 6 do
Output(i,j)
40
Soal 8
• Write a program that it display the traditional
song “Anak Ayam”. Enter the first anak ayam
from keyboard.
41
Soal 9
• Write a program that display ‘*’ on even line
and displays ‘#’ on odd line. Enter number of
line from keyboard
42
Soal 10
• Write a program which outputs triangle
numbers : 1, 3, 6, 10, 15, etc.
43
Soal 11 (nested loop)
• Write a program which takes two integer
values from the user and outputs the
multiplication tables between the first and
second numbers. (eg 4 and 7 will output the 4
times table, the 5 times table, the 6 times
table and the 7 times table
44
Soal 12
• Write a program which validate a user
password. If program accepts invalid
password, the output will display “invalid
password, try again!”, and then program
request the password again until 3 times, after
3rd iteration, the output is ”unauthorized
user” . The display to user who enter valid
password is “wellcome”.
45
Soal 13
• Write a program which takes N integer values
from the user and outputs the maximum.
• Illustration
–N=3
• Data 1 : 15
• Data 2 : 20
• Data 3 : 10
– Maximum = 20
46