0% found this document useful (0 votes)
55 views

3 Fundamental Programming

The document discusses an assignment to create a program that calculates lawn mowing time. It involves reading the length and width of a house block and house from the user, calculating the grass area around the house, and determining the mowing time based on a rate of 2 square meters per minute. The document provides sample pseudocode and discusses key programming concepts like variables, constants, data types, and control structures needed to design the algorithm.

Uploaded by

Rizky Okta
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
55 views

3 Fundamental Programming

The document discusses an assignment to create a program that calculates lawn mowing time. It involves reading the length and width of a house block and house from the user, calculating the grass area around the house, and determining the mowing time based on a rate of 2 square meters per minute. The document provides sample pseudocode and discusses key programming concepts like variables, constants, data types, and control structures needed to design the algorithm.

Uploaded by

Rizky Okta
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 55

Fundamental Programming

1
Assignment 1 Review:
• A program is required to read from the screen the
lenght and widht of a rectangular house block, and
the lenght and width of the rectangular house that has
been built on the block. The algorithm should then
compute and display the mowing time required to cut
the grass around the house, at the rate of two square
metres per minute
Step 1
• A program is required to read from the screen the
lenght and widht of a rectangular house block, and
the lenght and width of the rectangular house that has
been built on the block. The algorithm should then
compute and display the mowing time required to cut
the grass around the house, at the rate of two square
metres per minute.
• Defining diagram

Input Processing Output


Block_lenght Mowing_time
Block_width
House_lenght
House_width
Step 2
• A program is required to read from the screen the
lenght and widht of a rectangular house block, and
the lenght and width of the rectangular house that has
been built on the block. The algorithm should then
compute and display the mowing time required to cut
the grass around the house, at the rate of two square
metres per minute.
• Defining diagram

Input Processing Output


Block_lenght Prompt for block measurements Mowing_time
Block_width Get block measurements
House_lenght Prompt for house measurements
House_width Get house measurements
Calculate mowing area
Calculate mowing time
Introdution to Program Data

Three main discussion:


– Variables
– Constants
– Literals
Variables

– Is the name given to a collection of memory


cell, designed to store particular data item.
– The value stored may change or vary as the
program executes.
– Example: variable total_amount  may
contain several values during the execution of
the program
Constant
• Is a data item with a name and a value
that remain the same during the execution
of the program.
• Example : name: ´´Fifty´´  given to a
data item that contains the value 50
Literal
• Is a constant whose name is the written
representation of its value.
• Example: the program may contain the
literal `50`
Data Types
• Should be clearly defined at the beginning
of the program.
• Can be:
• Elementary data items
• Data structures
Elementary data items
• Contain single variable that is always
treated as a unit.
• Usually classified into data types.
• A data type consists of a set of data
values and a set of operation that can be
performed on those values.
Elementary data Items (cont)
The most common elementary data types:

1. Integer: representing a set of whole numbers,


positive, negative or zero.
e.g. 3, 576, -5
2. Real : representing a set of numbers, positive or
negative, which may include values before or after a
decimal point. Sometimes referred to as floating
point numbers.
e.g. 19.2, 1.92E+01, -0.01
The most common elementary data types: (cont)

3. Character: representing the set of


characters on the keyboard, plus some
special characters.
e.g. ´A´, `b`, ´$´
4. Boolean: representing a control flag or
switch, which may contain one of only
two possible values; true or false.
Introduction to Pseudocode
What is Pseudocode?
• One of the popular representation of
Algorithm
• Widely choosen because:
– easy to read and write
– allow the programmer to concentrate on the
logic of the problem
– Structured in English language
Pseudocode Convention
• Statement are written in simple English
• Each instruction is written on a separate line
• Keywords and indentation are used to signify
particular control structures.
• Each set of instructions is written from top to
bottom, with only one entry and one exit.
• Groups of statements may be formed into
modules, and that group given a name.
Six Basic Computer Operations
1. A computer can receive information
Verb used:
•Read  used when the algorithm is to receive the input from a record on a file
•Get  used when the algorithm is to receive input from the keyboard.

Read student name


Get system date
Read number_1, number_2
Get tax_code
2. A computer can put out information
Verb used:
•Print  used when the output is to be sent to the printer
•Write  used when the output is to be written to a file
•Put, Output, Display  used when the output is to be written to the screen
•Prompt  required before an input instruction Get, causes the message to be
sent to the screen which requires the user responds, usually by providing input.

Print `Program Completed´


Write customer record to master file
Put out name, address and postcode
Output total_tax
Display ´End of data´

Prompt for student_mark


Get student_mark
3. A computer can perform arithmetic
Verb used:
•Compute
•Calculate

•Symbols used:
+, -, *, /, ()

Add number to total


Total = total + number

Divide total_marks by student_count


Sales_tax = cost_price * 0.10
Compute C = (F – 32) * 5/9
4. A computer can assign a value to a variable
or memory location
• Three cases :
1. To give data an initial value in pseudocode, the
verbs Initialise or Set are used
2. To assign a value as a result of some processing,
the symbols ´=´or ´´ are written
3. To keep a variable for later use, the verbs Save
or Store are used.
Initialize total_price to zero
Set student_count to 0
Total_price = cost_price + sales_tax
Total_price  cost_price + sales_tax
Store customer_num in last_customer_num
5. A computer can compare two variables and
select one of two alternate actions

Keyword used:
IF, THEN, ELSE

IF student_attendance_status is part_time THEN


add 1 to part_time_count
ELSE
Add 1 to full_time_count
ENDIF
6. A computer can repeat a group of actions

Keyword used:
DOWHILE, ENDDO

DOWHILE student_total < 50


Read student record
Print student name, address to report
Add 1 to student_total
ENDDO
Meaningful names
• When designing a solution algorithm, a
programmer should introduce unique names,
which are:
– Represent the variables or objects in the problem
– Meaningful
example: number1, number2, number3  more
meaningful than A, B, C
- Used word separator if more than one word
example: sales_tax, word_count
- Or Capital letter as separator
example: salesTax, wordCount
The Structure Theorem
• It is possible to write any computer
program by using only three basic control
structures that are easily represented in
pseudocode:
» Sequence
» Selection
» Repetition
Sequence
Is the straightforward execution of one processing step after another.

Statement a
Statement b
Statement c

• Add 1 to pageCount
• Print heading line 1
• Print heading line 2
• Set lineCount to zero
• Read customer record
Selection
Presentation of condition and the choice between two actions

IF condition p is true THEN


statement(s) in true case
ELSE
statement(s) in false case
ENDIF
Example:
IF student_attendance_status is part_time THEN
add 1 to part_time_count
ELSE
add 1 to full_time_count
ENDI>f
Repetition
The presentation of a set of instructions to be performed repeatedly,
as long as a condition is true

DOWHILE condition p is true


statement block
ENDDO

Example:
Set student_total to zero
DOWHILE student_total < 50
Read student record
Print student name, address to report
Add 1 to student_total
ENDDO
DESIGNING A SOLUTION ALGORITHM

• The most challengin task in the life cycle


of a program
• First attempt usually doesnt result in a
finished product
• Keep altering the step and algorithms till
satesfied result achieved.
Point to be considered in Solution Algorithm

1. A name should be given to the algorithm,


which is describe the function of algorithm
2. An END statement used to indicate the
algorithm is complete
3. All processing steps between the algorithm
name and END statement should be indented
for readability.
4. Each processing step in the defining diagram
relates directly to one or more statements in
the algorithm.
Example 3.1. Solution Algorithm for example 2.1

 A program is required to read three numbers,


add them together and print their total.
• Defining diagram

Input Processing Output

Number1 total
Number2
Number3
Solution Algorithm
• Add_three_numbers
Read number1, number2, number3
Total = number1 + number2 + number3
Print total
END
Example 3. 2. Find average temperature

• A program is required to prompt the terminal operator


for the maximum and minimum temperature readings
on a particular day, accept those readings as integers,
and calculate and display to the screen the average
temperature, calculated by (maximum temperature +
minimum temperature)/2.
• Defining diagram

Input Processing Output


Max_temp Prompt for temperatures Avg_temp
Min_temp Get temperatures
Calculate average temperature
Display average temperature
Solution Algorithm
• Find average_temperature
Prompt operator for max_temp, min_temp
Get max_temp, min_temp
Avg_temp= (max_Temp + min_temp)/2
Output avg_temp to the screen
END
What about this ? -
Compute mowing time
• A program is required to read from the screen the
lenght and widht of a rectangular house block, and
the lenght and width of the rectangular house that has
been built on the block. The algorithm should then
compute and display the mowing time required to cut
the grass around the house, at the rate of two square
metres per minute.
Solution Algorithm
Calculate_mowing_time
Prompt operator for block_lenght, block_width
Get block_length, block_width
block_area = block_lenght*block_width
Prompt operator for house_lenght, house_width
Get house_lenght, house_width
house_area=house_lenght*house_width
Mowing_area=block_area-house_area
Mowing_time=mowing_area/2
Output mowing_time to screen
END
Checking the solution algorithm
(Desk Checking)

• Tracing through the logic of the algorithm


with some chosen data..
Step in desk Checking an algorithm
1. Choose valid simple input test case (2-3
enough)
2. Establish what the expected result should be.
3. Make a table of relevant variable names
4. Checking the test case line by line, step by
step
5. Repeat process 4 for other test case
6. Check if expected result 2 matches with actual
result 5
Example 3.4. Desk Chek for example 2.1

 A program is required to read three numbers,


add them together and print their total.
Solution Algorithm
• Add_three_numbers
Read number1, number2, number3
Total = number1 + number2 + number3
Print total
END
Desk Checking
1. Choose two sets input test data.
Set 1: 10,20, 30 and Set 2: 40, 41, 42

Data Set 1 Data Set 2


Number 1 10 40
Number 2 20 41
Number 3 30 42
2. Establish the expected result for each test case

Data Set 1 Data Set 2

Total 60 123
3. Set up a table of relevant variable names, and
pass each test data set statement by statement.
Statement number1 number2 number3 total
number
First Pass
1 10 20 30
2 60
3 Print
Second
Pass
1 40 41 42
2 123
3 Print
4. Check the expected results (60 and 123) match
the actual results.
Desk Check of Example 3. 2.
• A program is required to prompt the terminal operator
for the maximum and minimum temperature readings
on a particular day, accept those readings as integers,
and calculate and display to the screen the average
temperature, calculated by (maximum temperature +
minimum temperature)/2.
Solution Algorithm
• Find average_temperature
Prompt operator for max_temp, min_temp
Get max_temp, min_temp
Avg_temp= (max_Temp + min_temp)/2
Output avg_temp to the screen
END
Desk Checking
1. Choose two sets input test data.
Set 1: 30, 10 and Set 2: 40, 20

Data Set 1 Data Set 2


Max_temp 30 40
Min_temp 10 20
2. Establish the expected result for each test case

Data Set 1 Data Set 2

Avg_temp 20 30
3. Set up a table of relevant variable names, and
pass each test data set statement by statement.
Statement Max_temp Min_temp Avg_temp
number
First Pass
1,2 30 10
3 20
4 0utput
Second Pass
1,2 40 20
3 30
4 output
4. Check the expected results match the actual
results.
Assignment 2:
Desk Checking for
Compute mowing time

• A program is required to read from the screen the


lenght and widht of a rectangular house block, and
the lenght and width of the rectangular house that
has been built on the block. The algorithm should
then compute and display the mowing time
required to cut the grass around the house, at the
rate of two square metres per minute.
Solution Algorithm
Calculate_mowing_time
Prompt operator for block_lenght, block_width
Get block_length, block_width
block_area = block_lenght*block_width
Prompt operator for house_lenght, house_width
Get house_lenght, house_width
house_area=house_lenght*house_width
Mowing_area=block_area-house_area
Mowing_time=mowing_area/2
Output mowing_time to screen
END
Assignment 3 – Desk Checking for Mowing_time which
now contains a logic error

Calculate_mowing_time
Prompt operator for block_lenght, block_width
Get block_length, block_width
block_area = block_lenght * block_width
Prompt operator for house_lenght, house_width
Get house_lenght, house_width
house_area=block_lenght * block_width
Mowing_area=block_area - house_area
Mowing_time=mowing_area/2
Output mowing_time to screen
END

You might also like