Professional Documents
Culture Documents
Engineering
Introduction to Algorithms
Part 1
Humans can run algorithms using the five senses, brain, and memory.
Humans & Computer Algorithms
Humans can run algorithms using the five senses, brain, and memory.
Computers can also run algorithms using the input and output devices, CPU, and
storage device if they were written in a formal programming language such as C,
C++, C #, Pascal, Java, Matlab, Android, etc.
Humans & Computer Algorithms
Humans can run algorithms using the five senses, brain, and memory.
Computers can also run algorithms using the input and output devices, CPU, and
storage device if they were written in a formal programming language such as C,
C++, C #, Pascal, Java, Matlab, Android, etc.
Humans can run algorithms using the five senses, brain, and memory.
Computers can also run algorithms using the input and output devices, CPU, and
storage device if they were written in a formal programming language such as C,
C++, C #, Pascal, Java, Matlab, Android, etc.
Why?
Variables
When humans run an algorithm, data are stored in their memory, humans can
save and retrieve the data automatically without specifying a location and a
name for each piece of data.
Variables
When humans run an algorithm, data are stored in their memory, humans can
save and retrieve the data automatically without specifying a location and a
name for each piece of data.
Computers do not have such abilities, and each piece of data should have a
specific name and unique location (cell or set of cells).
Variables
When humans run an algorithm, data are stored in their memory, humans can
save and retrieve the data automatically without specifying a location and a
name for each piece of data.
Computers do not have such abilities, and each piece of data should have a
specific name and unique location (cell or set of cells).
Don't worry much, you need only to provide a name to a piece of data, and
the computer will allocate a unique location for it in the computer memory
(RAM).
Variables
When humans run an algorithm, data are stored in their memory, humans can
save and retrieve the data automatically without specifying a location and a
name for each piece of data.
Computers do not have such abilities, and each piece of data should have a
specific name and unique location (cell or set of cells).
Don't worry much, you need only to provide a name to a piece of data, and the
computer will allocate a unique location for it in the computer memory (RAM).
In terminology of algorithms, the word variable means a place in the computer
memory that can hold a piece of data, this place has a specific name and unique
physical address.
Variables
When humans run an algorithm, data are stored in their memory, humans can
save and retrieve the data automatically without specifying a location and a
name for each piece of data.
Computers do not have such abilities, and each piece of data should have a
specific name and unique location (cell or set of cells).
Don't worry much, you need only to provide a name to a piece of data, and the
computer will allocate a unique location for it in the computer memory (RAM).
In terminology of algorithms, the word variable means a place in the computer
memory that can hold a piece of data, this place has a specific name and unique
physical address.
A variable can be also seen as a container to store
certain values. While the program is running,
variables are accessed and sometimes changed, i.e.
a new value will be assigned to the variable.
http://www.python-course.eu/variables.php
Characteristics of an Algorithm
www.cse.unr.edu/~fredrick/class/201/lecture/Pseudocode.doc
Basic Pseudocode Statements
There are six basic pseudocode statements that are used for writing algorithms:
1. Reading (or getting) data from an input device (keyboard, file, etc.).
www.cse.unr.edu/~fredrick/class/201/lecture/Pseudocode.doc
Basic Pseudocode Statements
There are six basic pseudocode statements that are used for writing algorithms:
1. Reading (or getting) data from an input device (keyboard, file, etc.).
2. Writing (or displaying) data to an output device (monitor, file, printer, etc.).
www.cse.unr.edu/~fredrick/class/201/lecture/Pseudocode.doc
Basic Pseudocode Statements
There are six basic pseudocode statements that are used for writing algorithms:
1. Reading (or getting) data from an input device (keyboard, file, etc.).
2. Writing (or displaying) data to an output device (monitor, file, printer, etc.).
www.cse.unr.edu/~fredrick/class/201/lecture/Pseudocode.doc
Basic Pseudocode Statements
There are six basic pseudocode statements that are used for writing algorithms:
1. Reading (or getting) data from an input device (keyboard, file, etc.).
2. Writing (or displaying) data to an output device (monitor, file, printer, etc.).
www.cse.unr.edu/~fredrick/class/201/lecture/Pseudocode.doc
Basic Pseudocode Statements
There are six basic pseudocode statements that are used for writing algorithms:
1. Reading (or getting) data from an input device (keyboard, file, etc.).
2. Writing (or displaying) data to an output device (monitor, file, printer, etc.).
www.cse.unr.edu/~fredrick/class/201/lecture/Pseudocode.doc
Basic Pseudocode Statements
There are six basic pseudocode statements that are used for writing algorithms:
1. Reading (or getting) data from an input device (keyboard, file, etc.).
2. Writing (or displaying) data to an output device (monitor, file, printer, etc.).
www.cse.unr.edu/~fredrick/class/201/lecture/Pseudocode.doc
Basic Pseudocode Statements
There are six basic pseudocode statements that are used for writing algorithms:
1. Reading (or getting) data from an input device (keyboard, file, etc.).
2. Writing (or displaying) data to an output device (monitor, file, printer, etc.).
According to the structure theorem, any computer program can be written using only the
three basic control structures: sequence, selection and repetition.
www.cse.unr.edu/~fredrick/class/201/lecture/Pseudocode.doc
Basic Pseudocode Statements
The Sequence Structure
It is a series of actions are performed in a
specific sequence indicated by the sequence
they appear in the program (what comes
first is executed first).
Statement 1
Statement 2
. Order of execution
.
Statement n
www.cse.unr.edu/~fredrick/class/201/lecture/Pseudocode.doc
Basic Pseudocode Statements
The Sequence Structure
It is a series of actions are performed in a
specific sequence indicated by the sequence
they appear in the program (what comes
first is executed first).
Statement 1
Statement 2
. Order of execution
.
Statement n
Example:
Declare X1, X2, Sum
Read X1,X2
Sum = X1+X2
Write Sum
www.cse.unr.edu/~fredrick/class/201/lecture/Pseudocode.doc
Basic Pseudocode Statements
The Sequence Structure
It is a series of actions are performed in a Let us remember:
specific sequence indicated by the sequence
they appear in the program (what comes
first is executed first).
Statement 1
Statement 2 http://blogs.articulate.com/rapid-elearning/how-
?
Basic Pseudocode Statements
Assigning a value
Example 2:
RAM
Declare X, Y ?
?
Basic Pseudocode Statements
Assigning a value
Example 2:
RAM
Declare X, Y ?
? X
? Y
?
Basic Pseudocode Statements
Assigning a value
Example 2:
RAM
Declare X, Y ?
X=2
?
Y=3
? X
? Y
?
Basic Pseudocode Statements
Assigning a value
Example 2:
RAM
Declare X, Y ?
X=2
?
Y=3
2 X
3 Y
?
Basic Pseudocode Statements
Assigning a value
Example 2:
RAM
Declare X, Y ?
X=2
?
Y=3
2 X
X=X+1
3 Y
?
Basic Pseudocode Statements
Assigning a value
Example 2:
RAM
Declare X, Y ?
X=2
?
Y=3
3 X
X=X+1
3 Y
?
Basic Pseudocode Statements
Assigning a value
Example 2:
RAM
Declare X, Y ?
X=2
?
Y=3
3 X
X=X+1
X=X+1 3 Y
?
Basic Pseudocode Statements
Assigning a value
Example 2:
RAM
Declare X, Y ?
X=2
?
Y=3
4 X
X=X+1
X=X+1 3 Y
?
Basic Pseudocode Statements
Assigning a value
Example 2:
RAM
Declare X, Y ?
X=2
?
Y=3
4 X
X=X+1
X=X+1 3 Y
X=X-Y
?
?
Basic Pseudocode Statements
Assigning a value
Example 2:
RAM
Declare X, Y ?
X=2
?
Y=3
1 X
X=X+1
X=X+1 3 Y
X=X-Y
?
?
Basic Pseudocode Statements
Assigning a value
Example 2:
RAM
Declare X, Y ?
X=2
?
Y=3
1 X
X=X+1
X=X+1 3 Y
X=X-Y
?
Y=X+1
?
?
Basic Pseudocode Statements
Assigning a value
Example 2:
RAM
Declare X, Y ?
X=2
?
Y=3
1 X
X=X+1
X=X+1 2 Y
X=X-Y
?
Y=X+1
?
?
Basic Pseudocode Statements
Assigning a value
Example 2:
RAM
Declare X, Y ?
X=2
?
Y=3
1 X
X=X+1
X=X+1 2 Y
X=X-Y
?
Y=X+1
X=Y*X ?
?
Basic Pseudocode Statements
Assigning a value
Example 2:
RAM
Declare X, Y ?
X=2
?
Y=3
2 X
X=X+1
X=X+1 2 Y
X=X-Y
?
Y=X+1
X=Y*X ?
?
Basic Pseudocode Statements
Assigning a value
Example 2:
RAM
Declare X, Y ?
X=2
?
Y=3
2 X
X=X+1
X=X+1 2 Y
X=X-Y
?
Y=X+1
X=Y*X ?
Declare Z=100 ?
?
Basic Pseudocode Statements
Assigning a value
Example 2:
RAM
Declare X, Y ?
X=2
?
Y=3
2 X
X=X+1
X=X+1 2 Y
X=X-Y
100 Z
Y=X+1
X=Y*X ?
Declare Z=100 ?
?
Basic Pseudocode Statements
Assigning a value
Example 2:
RAM
Declare X, Y ?
X=2
?
Y=3
2 X
X=X+1
X=X+1 2 Y
X=X-Y
100 Z
Y=X+1
X=Y*X ?
Declare Z=100 ?
Initialize Conuter=0
?
Basic Pseudocode Statements
Assigning a value
Example 2:
RAM
Declare X, Y ?
X=2
?
Y=3
2 X
X=X+1
X=X+1 2 Y
X=X-Y
100 Z
Y=X+1
X=Y*X 0 Counter
Declare Z=100 ?
Initialize Counter=0
?
References
https://www.site.uottawa.ca/~ivan/07.alg_1.ppt
• What are processes that should be applied on the input to get the output?
Pseudocode: X1 ?
Sum ?
Pseudocode – Problem 1
Problem 1:
Write a pseudocode for a program that gets two integer
numbers from the user, and then prints out the sum of those
numbers.
Pseudocode: X1 Value 1
Pseudocode: X1 Value 1
Read X1,X2
Sum Value 1 + Value 2
Sum = X1+X2
Pseudocode – Problem 1
Problem 1:
Write a pseudocode for a program that gets two integer
numbers from the user, and then prints out the sum of those
numbers.
Pseudocode: X1 Value 1
Read X1,X2
Sum Value 1 + Value 2
Sum = X1+X2
Write Sum http://goo.gl/ArNUmV
Pseudocode – Problem 2
Problem 2:
Write a pseudocode for a program that computes and prints
the average of any three numbers.
Pseudocode:
Pseudocode – Problem 2
Problem 2:
Write a pseudocode for a program that computes and prints
the average of any three numbers.
Pseudocode:
Declare X1, X2, X3, Sum, Average
Pseudocode – Problem 2
Problem 2:
Write a pseudocode for a program that computes and prints
the average of any three numbers.
Pseudocode:
Declare X1, X2, X3, Sum, Average
Read X1,X2,X3
Pseudocode – Problem 2
Problem 2:
Write a pseudocode for a program that computes and prints
the average of any three numbers.
Pseudocode:
Declare X1, X2, X3, Sum, Average
Read X1,X2,X3
Sum = X1+X2+X3
Pseudocode – Problem 2
Problem 2:
Write a pseudocode for a program that computes and prints
the average of any three numbers.
Pseudocode:
Declare X1, X2, X3, Sum, Average
Read X1,X2,X3
Sum = X1+X2+X3
Average=Sum/3
Pseudocode – Problem 2
Problem 2:
Write a pseudocode for a program that computes and prints
the average of any three numbers.
Pseudocode:
Declare X1, X2, X3, Sum, Average
Read X1,X2,X3
Sum = X1+X2+X3
Average=Sum/3
Write Average
Pseudocode – Problem 3
Problem 3:
Write a pseudocode for a program that calcultes the area of
an rectangle.
Pseudocode:
Pseudocode – Problem 3
Problem 3:
Write a pseudocode for a program that calcultes the area of
an rectangle.
Pseudocode:
Declare Length, Width, Area
Read Length, Width
Area= Length * Width
Write Area
Pseudocode – Problem 4
Problem 4:
Write a pseudocode for a program that calculates and
displays the square (second power) and cube (third power)
of an integer number.
Pseudocode:
Pseudocode – Problem 4
Problem 4:
Write a pseudocode for a program that calculates and
displays the square (second power) and cube (third power)
of an integer number.
Pseudocode:
Declare X, Square, Cube
Read X
Square = X* X
Cube= Square *X
Write Square, Cube
Basic Pseudocode Statements
Relational Operators
A relational operator is a binary operator that compares two values.
http://web.fuhsd.org/debbie_frazier/Lessons/L06if-else/L06if-else.html
Basic Pseudocode Statements
Relational Operators
A relational operator is a binary operator that compares two values.
The following symbols are almost used by all programmers:
< less than
> greater than
<= less than or equal to
>= greater than or equal to
== equal to
!= not equal to
http://web.fuhsd.org/debbie_frazier/Lessons/L06if-else/L06if-else.html
Basic Pseudocode Statements
Relational Operators
A relational operator is a binary operator that compares two values.
The following symbols are almost used by all programmers:
A condition (or relational expression) is < less than
http://web.fuhsd.org/debbie_frazier/Lessons/L06if-else/L06if-else.html
Basic Pseudocode Statements
Relational Operators
A relational operator is a binary operator that compares two values.
The following symbols are almost used by all programmers:
A condition (or relational expression) is < less than
http://web.fuhsd.org/debbie_frazier/Lessons/L06if-else/L06if-else.html
Basic Pseudocode Statements
Logical Operators
The three logical operators of programming are AND, OR, and NOT.
The AND operator
requires both operands
(values) to be true for the
result to be true.
TRUE AND TRUE = TRUE
TRUE AND FALSE = FALSE
FALSE AND TRUE = FALSE
FALSE AND FALSE = FALSE
http://web.fuhsd.org/debbie_frazier/Lessons/L06if-else/L06if-else.html
Basic Pseudocode Statements
Logical Operators
The three logical operators of programming are AND, OR, and NOT.
The AND operator The OR operator
requires both operands requires one operand
(values) to be true for the (values) to be true for the
result to be true. result to be true.
TRUE AND TRUE = TRUE TRUE OR TRUE = TRUE
TRUE AND FALSE = FALSE TRUE OR FALSE = TRUE
FALSE AND TRUE = FALSE FALSE OR TRUE = TRUE
FALSE AND FALSE = FALSE FALSE OR FALSE = FALSE
http://web.fuhsd.org/debbie_frazier/Lessons/L06if-else/L06if-else.html
Basic Pseudocode Statements
Logical Operators
The three logical operators of programming are AND, OR, and NOT.
The AND operator The OR operator The NOT operator is
requires both operands requires one operand a unary operator that
(values) to be true for the (values) to be true for the changes a boolean
result to be true. result to be true. value to its opposite.
TRUE AND TRUE = TRUE TRUE OR TRUE = TRUE
NOT TRUE = FALSE
TRUE AND FALSE = FALSE TRUE OR FALSE = TRUE
FALSE AND TRUE = FALSE FALSE OR TRUE = TRUE
NOT FALSE = TRUE
FALSE AND FALSE = FALSE FALSE OR FALSE = FALSE
http://web.fuhsd.org/debbie_frazier/Lessons/L06if-else/L06if-else.html
Basic Pseudocode Statements
Logical Operators
The three logical operators of programming are AND, OR, and NOT.
The AND operator The OR operator The NOT operator is
requires both operands requires one operand a unary operator that
(values) to be true for the (values) to be true for the changes a boolean
result to be true. result to be true. value to its opposite.
TRUE AND TRUE = TRUE TRUE OR TRUE = TRUE
NOT TRUE = FALSE
TRUE AND FALSE = FALSE TRUE OR FALSE = TRUE
FALSE AND TRUE = FALSE FALSE OR TRUE = TRUE
NOT FALSE = TRUE
FALSE AND FALSE = FALSE FALSE OR FALSE = FALSE
Examples:
• ( (2+3 < 10) AND (21 > 19) ) T.
• ( (15< 10) AND (21 > 19) ) F.
• ( (5==10) AND (21 <= 19) ) F.
• ( (TRUE) OR (2 > 19) ) T.
http://web.fuhsd.org/debbie_frazier/Lessons/L06if-else/L06if-else.html
Basic Pseudocode Statements
Logical Operators
The three logical operators of programming are AND, OR, and NOT.
The AND operator The OR operator The NOT operator is
requires both operands requires one operand a unary operator that
(values) to be true for the (values) to be true for the changes a boolean
result to be true. result to be true. value to its opposite.
TRUE AND TRUE = TRUE TRUE OR TRUE = TRUE
NOT TRUE = FALSE
TRUE AND FALSE = FALSE TRUE OR FALSE = TRUE
FALSE AND TRUE = FALSE FALSE OR TRUE = TRUE
NOT FALSE = TRUE
FALSE AND FALSE = FALSE FALSE OR FALSE = FALSE
Examples:
• ( (2+3 < 10) AND (21 > 19) ) T. • (NOT (100>2)) F.
• ( (15< 10) AND (21 > 19) ) F. • ((NOT(10!=100) AND (10<=12 ))F.
• ( (5==10) AND (21 <= 19) ) F. • ((NOT(3<1) ) OR (1>19)) .
• ( (TRUE) OR (2 > 19) ) T. • ((9==(10-1) OR (NOT(20>2))) .
http://web.fuhsd.org/debbie_frazier/Lessons/L06if-else/L06if-else.html
References
https://www.site.uottawa.ca/~ivan/07.alg_1.ppt
Flowcharts are used to put forward the algorithm by explaning the steps that
need to be done in a visual way, it shows what should be done to fix the
problem from beginning to end by using the symbols that consist of geometric
shapes. Each symbol in general indicates a command or task to do.
Flowchart begins with Start icon and ends with Stop icon.
Flowchart Building Units
Oval
Start/End
Arrow
Pseudocode:
Declare X1, X2, Sum
Read X1,X2
Sum = X1+X2
Write Sum
Basic Flowchart Structures
Pseudocode: Declare
X1,X2,Sum
Declare X1, X2, Sum
Read X1,X2 Read X1,X2
Sum = X1+X2
Write Sum
Sum=X1+X2
Write Sum
End
Basic Flowchart Structures
Pseudocode: Declare
X1,X2,Sum
Declare X1, X2, Sum
Read X1,X2 Read X1,X2
Sum = X1+X2
Write Sum
Sum=X1+X2
Write Sum
End
Basic Flowchart Structures
Pseudocode:
Declare
X1,X2,Sum,Average
Declare X1, X2, X3
Sum, Average
Read X1,X2,X3
Read X1,X2,X3
Sum = X1+X2+X3
Sum=X1+X2,X3
Average=Sum/3
Write Average Average=Sum/3
Write Average
End
Basic Flowchart Structures
Problem 3:
Draw a flowchart for a program that calculates the area of an rectangle.
Pseudocode:
Declare Length, Width, Area
Read Length, Width
Area= Length * Width
Write Area
Basic Flowchart Structures
Problem 3:
Draw a flowchart for a program that calculates the area of an rectangle.
Start
Pseudocode:
Declare Length,
Width, Area
Declare Length, Width, Area
Read Length, Width
Area= Length * Width Read Length, Width
Write Area
Area= Length * Width
Write Area
End
Basic Flowchart Structures
End
Flowcharts – Exercise 1
Exercise 1:
Draw a flowchart for a program that calculates the area and
circumference of a circle.
Hints: area = PI * radius * radius; circumference = 2 * PI * radius.
Flowcharts – Exercise 2
Exercise 2:
Draw a flowchart for a program that reads a temperature given in
Fahrenheit, converts it into Celsius degree, and prints it.
Hint: use this formula c=(f-32)*5/9 to convert Fahrenheit into Celsius.
References
https://www.site.uottawa.ca/~ivan/07.alg_1.ppt
Example 1:
IF (a student is absent)
THEN
Incease his absence hours
EENDIF
Basic Pseudocode Statements
The "IF-THEN" Selection Structure
We may need to do nothing if the condition is evaluated to FALSE, in this case
we can omit the ELSE part, and The If-Then will have this form:
IF (condition) Example 2:
THEN IF (student grade > 49)
THEN
Statement(s)
Add his name to the list
ENDIF ENDIF
Example 1:
IF (a student is absent)
THEN
Incease his absence hours
EENDIF
Basic Pseudocode Statements
The "IF-THEN" Selection Structure
We may need to do nothing if the condition is evaluated to FALSE, in this case
we can omit the ELSE part, and The If-Then will have this form:
IF (condition) Example 2:
THEN IF (student grade > 49)
THEN
Statement(s)
Add his name to the list
ENDIF ENDIF
Example 1: Example 3:
IF (a student is absent) IF (a student has an active paticipation record)
THEN THEN
Incease his absence hours He may get a bonus from his teacher
EENDIF ENDIF
Pseudocode – Problem 5
Problem 5:
Write a pseudocode for a program that reads a student’s grade, and
then check if it is bigger than 49 it will print PASS otherwise it will
print FAIL.
Pseudocode:
Pseudocode – Problem 5
Problem 5:
Write a pseudocode for a program that reads a student’s grade, and
then check if it is bigger than 49 it will print PASS otherwise it will
print FAIL.
Pseudocode:
Declare grade
Read grade
IF (grade > 49)
THEN
Write Pass
ELSE
Write Fail
ENDIF
Pseudocode – Problem 6
Problem 6:
Write a pseudocode for a program that gets from the user 3 integer numbers, and then
returns the maximum one between them.
Pseudocode:
Pseudocode – Problem 6
Problem 6:
Write a pseudocode for a program that gets from the user 3 integer numbers, and then
returns the maximum one between them.
Pseudocode:
Declare X1, X2, X3, Max
Pseudocode – Problem 6
Problem 6:
Write a pseudocode for a program that gets from the user 3 integer numbers, and then
returns the maximum one between them.
Pseudocode:
Declare X1, X2, X3, Max
Read X1,X2,X3
Pseudocode – Problem 6
Problem 6:
Write a pseudocode for a program that gets from the user 3 integer numbers, and then
returns the maximum one between them.
Pseudocode:
Declare X1, X2, X3, Max
Read X1,X2,X3
IF (X1> X2 & X1>X3)
THEN
ELSE
ENDIF
Pseudocode – Problem 6
Problem 6:
Write a pseudocode for a program that gets from the user 3 integer numbers, and then
returns the maximum one between them.
Pseudocode:
Declare X1, X2, X3, Max
Read X1,X2,X3
IF (X1> X2 & X1>X3)
THEN
Max=X1
ELSE
ENDIF
Pseudocode – Problem 6
Problem 6:
Write a pseudocode for a program that gets from the user 3 integer numbers, and then
returns the maximum one between them.
Pseudocode:
Declare X1, X2, X3, Max
Read X1,X2,X3
IF (X1> X2 & X1>X3)
THEN
Max=X1
ELSE
IF (X2>X1 & X2>X3)
THEN
ELSE
ENDIF
ENDIF
Pseudocode – Problem 6
Problem 6:
Write a pseudocode for a program that gets from the user 3 integer numbers, and then
returns the maximum one between them.
Pseudocode:
Declare X1, X2, X3, Max
Read X1,X2,X3
IF (X1> X2 & X1>X3)
THEN
Max=X1
ELSE
IF (X2>X1 & X2>X3)
THEN
Max=X2
ELSE
ENDIF
ENDIF
Pseudocode – Problem 6
Problem 6:
Write a pseudocode for a program that gets from the user 3 integer numbers, and then
returns the maximum one between them.
Pseudocode:
Declare X1, X2, X3, Max
Read X1,X2,X3
IF (X1> X2 & X1>X3)
THEN
Max=X1
ELSE
IF (X2>X1 & X2>X3)
THEN
Max=X2
ELSE
Max=X3
ENDIF
ENDIF
Pseudocode – Problem 6
Problem 6:
Write a pseudocode for a program that gets from the user 3 integer numbers, and then
returns the maximum one between them.
Pseudocode:
Declare X1, X2, X3, Max
Read X1,X2,X3
IF (X1> X2 & X1>X3)
THEN
Max=X1
ELSE
IF (X2>X1 & X2>X3)
THEN
Max=X2
ELSE
Max=X3
ENDIF
ENDIF
Write MAX
Basic Flowchart Structures
Declare Grade
Read Grade
False True
Grade>49
End
Basic Flowchart Structures
2-The decision (or conditional) structure is equivalent to the if/then/else statement in pseudocode
and the if function in excel.
Problem 6 :
Draw a flowchart for a program that gets from the user 3 integer numbers, and then returns the maximum one
between them.
Pseudocode:
Declare X1, X2, X3, Max
Read X1,X2,X3
IF (X1> X2)
THEN
IF (X1>X3)
THEN
Max=X1
ELSE
Max=X3
END
ELSE
IF (X2>X3)
THEN
Max=X2
ELSE
Max=X3
ENDIF
ENDIF
Write MAX
Basic Flowchart Structures
2-The decision (or conditional) structure is equivalent to the if/then/else statement in pseudocode
and the if function in excel.
Problem 6 :
Draw a flowchart for a program that gets from the user 3 integer numbers, and then returns the maximum one
between them.
Pseudocode:
Declare X1, X2, X3, Max START
Read X1,X2,X3
IF (X1> X2) Declare X1, X2, X3, Max
THEN
IF (X1>X3) Read X1,X2,X3
THEN
Max=X1
ELSE Yes No
X1>X2
Max=X3
END
Yes
ELSE Yes No No
X1>X3 X2>X3
IF (X2>X3)
THEN Max=X3 Max=X2
Max=X1
Max=X2
ELSE Print the maximum number is: Max
Max=X3
ENDIF
ENDIF END
Write MAX
Basic Flowchart Structures
Problem 6 :
Draw a flowchart for a program that gets from the user 3 integer numbers, and then returns the maximum one
between them.
START
Read X1,X2,X3
Yes No
X1>X2
Yes
Yes No No
X1>X3 X2>X3
Max=X3 Max=X2
Max=X1
END
Pseudocode – Exercise 3
Exercise 3:
Write a pseudocode for a program that takes an integer from user and checks whether
that number is even or odd and displays the result.
Hint: divide the number on 2 and check if the remainder is equals to zero.
Pseudocode:
Pseudocode – Exercise 4
Exercise 4:
Draw a flowchart for a program that calculates the roots of a quadratic equation
ax 2 + bx + c = 0.
2
Hint: d = sqrt (b − 4ac ), and the roots are: X1= (–b + d)/2a and X2 = (–b – d)/2a.
Pseudocode – Exercise 5
Exercise 5:
Write a pseudocode for a program that calculates and prints the roots (if exist) of a
quadratic equation ax 2 + bx + c =0
.
2
Hint: d = sqrt (b − 4ac ), and the roots are: X1= (–b + d)/2a and X2 = (–b – d)/2a.
Pseudocode:
Pseudocode – Exercise 6
Exercise 6:
Draw a flowchart for a program that takes an integer from user and checks whether that
number is even or odd and displays the result.
Hint: divide the number on 2 and check if the remainder is equals to zero.
Pseudocode – Exercise 7
https://www.site.uottawa.ca/~ivan/07.alg_1.ppt