Download presentation
Presentation is loading. Please wait.
Published byWidyawati Hermawan Modified over 6 years ago
1
CHAPTER 1 Introduction to Structured Programming
2
PROGRAMMING TERMINOLOGY
An activity consists of writing a program that will process the input data to produce the required output/document. Input (Set of Instructions) Processing INPUT DATA Output (Report)
3
PROGRAM written using a programming language, eg. C, Java, C++, BASIC etc. Before writing code, it is very important to plan the solution to the problem – solution algorithm
4
SOLUTION ALGORITHM A sequence of logic steps/instructions to the computer/people to perform a specific task It is like a recipe : Step by step guide, that need to be followed in the right sequence Properties: Steps must be defined precisely (in detail) and clearly Process must have an end – finite steps The correct solution to an identified problem
5
ALGORITHM Example : At a Public Phone MAKE A CALL
6
ALGORITHM Steps are in correct order, performed from top to bottom.
Steps can be made up of combination of all control structures (sequence, selection, iteration) Indentation is very important to show different control structures
7
ALGORITHM Give an example of an algorithm of a daily activity e.g. watching a TV programme. TASK : Write a solution algorithm to add 2 numbers and show the result. 1. Get first number 2. Get second number 3. Add first number and second number, put the answer in sum 4. Display sum
8
ALGORITHM TASK : Write a solution algorithm to find and display the average temperature. The maximum and minimum temperature readings are accepted as integers. 1. Get min_temp 2. Get max_temp 3. Calculate average avg_temp = (min_temp + max_temp) / 2 4. Display avg_temp
9
GENERAL STEPS IN PROGRAM DEVELOPMENT
Define problem Understand requirements Determine input, output and processes Outline solution Break problem into smaller tasks or steps, draft solution Develop outline to algorithm Expand to precise steps – tasks and order Test algorithm for correctness Desk checking – walk through the logic of algorithm Code the algorithm Run on the computer Using compiler and test data to check for errors Document and maintain program
10
PROGRAM LIFE CYCLE aka Software/Program development cycle 9 Steps:
Problem specification Problem analysis Structured program design Program coding Program debugging Program testing Program installation Program maintenance Program documentation
11
(1) PROBLEM SPECIFICATION
Definition of problem by user to system analyst/programmer This might include new user requirements Need to be read carefully to understand completely the user requirements
12
Project Management
13
More Perceptions….
15
(2) PROBLEM ANALYSIS Includes : Initialization Input definition
Giving specific/initial value to variables eg. Total = 0 Input definition Data to be fed into the computer – from keyboard/file Output definition layout of the output – screen/printer Processing requirements Solution algorithm/sequence of steps required to transform input to the required output Processing controls Validation checks on input for accurate processing Program test plan A range of test data to ensure the correctness of the program. This includes the calculation of expected result to verify the actual result produced.
16
(3) STRUCTURED PROG. DESIGN
Use of proper design techniques to illustrate the program specification in a systematic way representing the tasks required in the program specification showing all input, processing and output requirements Examples : Top-down stepwise refinement method Pseudocode JSP
17
(4) PROGRAM CODING Translation of design into programming language code e.g. C, C++, Pascal, QBasic aka implementation
18
(5) PROGRAM DEBUGGING The task of finding and removing errors/bugs from the program. 3 types of errors: Syntax – error relating to the programming language used Logical – error in programming logic Run-time/execution – error during running/ execution of program
19
(6) PROGRAM TESTING Is done using test data specified in the problem analysis. Compiler is required to detect for Syntax and execution error, while specific test data to detect for logical error. repeatedly done until program is running and producing the output as required Less time required for testing if the program is well designed.
20
(7) PROGRAM INSTALLATION
Program is transferred to the user’s machine and made to work. 3 strategies: The new program may run concurrently with the old one or it may completely replaced the old one or It may phased in gradually
21
(8) PROGRAM MAINTENANCE
Once the program is installed and operated, it will be monitored for some time to ensure that program is error-free. Corrections will have to be made to the affected program/part of the program.
22
(9) PROGRAM DOCUMENTATION
All processes in all stages during the system development must be documented/written down. This documentation is vital for future reference/for future maintenance of the program.
23
CHARACTERISTICS OF A GOOD PROGRAM
Correctness – fulfilling user requirements Reliability – it produces correct output and validates input data to avoid program crash Portability – easily installed from one machine to another with minimal modification Maintainability – easily followed and modified, not only to the programmer who wrote it Readability – clearly documented Use of resources – fast in processing, uses minimum storage space and able to run on existing hardware.
24
STRUCTURED PROGRAMMING
A programming methodology for constructing hierarchically ordered modular programs using standardised control structures Structured programming helps to write effective, error-free programs – new/modified. There are many ways to solve a problem, but some are more desirable than others. Original concepts was first published in by Bohm and Jacopini. Designing of programs using a Structure Theorem which eliminating the GOTO statement and established a structured framework for representing solution.
25
STRUCTURED PROGRAMMING
Structure theorem is based on 3 control structures – sequence, selection and iteration. Structured programming incorporates the concepts of stepwise refinement method and modular design. Modular design groups tasks which perform the same function together e.g. printing of report headings, calculation etc.
26
Structured Techniques
Some of the techniques for program design: Structured English Flowcharts Top-down stepwise refinement method Jackson Structured Programming method Pseudocode etc.
27
Problem specification
A program is required to take in 2 numbers as integers, then calculate and display the sum.
28
Structured English Example :
A method of specifying unambiguous narrative used to define procedural logic. It lacks the precision of meaning and simplicity when programming. Example : Accept first integer and second integer Add first integer and second integer and then put the result in sum Display sum
29
Flow Chart START Sum := num1 + num2 Display sum Get num1 & num2 END Diagrams which show the sequence of steps to perform a specific programming task
30
Top-Down Stepwise Refinement Method
a process of developing a program by performing a sequence of refinement steps. First general solution is outlined and then is broken down into more detailed steps Uses basic control structures : sequence structure selective structure iterative structure
31
Top-Down Stepwise Refinement Method
Example : Initialization none Input Definition num1, num2 Output Definition Sum = 999 Processing Requirements Read num1, num2 Calculate sum = num1 +num2 Display sum Processing Control Numbers must be integer
32
Top-Down Stepwise Refinement Method
num1 num2 sum 29 50 79 30 120 150 50.8 20 error Test Data and Expected Result Calculate Sum Read num1 Read num2 Sum = num1 + num2 Print Sum STRUCTURED CHART
33
Jackson Structured Program (JSP) Method
Uses the same principle of control structures but concentrates on both data structures and program structures Combine the input/output data structures to form a program structure, identify the condition and Actions involved, produce the pseudocode and implement the pseudocode
34
Jackson Structured Program (JSP) Method
Input Data num1 num2 Sum Output INPUT DATA STRUCTURE OUTPUT DATA STRUCTURE
35
Jackson Structured Program (JSP) Method
Calculate Sum num1 num2 Sum PROGRAM STRUCTURE
36
Jackson Structured Program (JSP) Method
List of Conditions none List of Actions Input Action Read num1 Read num2 Output Action Print sum Computation Sum = num1 + num2
37
Jackson Structured Program (JSP) Method
ALLOCATION OF ACTIONS Calculate Sum num1 num2 Sum 1 2 4,3
38
Pseudocode aka Schematic Logic
Represent the statements of algorithm in English which makes it easy to read and write and to convert it to the targeted programming language. Translation stage between the program structure diagram and the program code BEGIN PROCESS_SUM sequence READ num1, num2; sum = num1 + num2; WRITE sum; END PROCESS_SUM sequence Example :
39
Pseudocode properties
Understandable to user Hierarchically structured and using indentation to show this structure Similar structure to the targeted programming code Comments are clearly marked
40
Pseudocode rules Indentation Control structures are clear
sequence steps are placed on separate lines, each is ended with a semicolon. Continuation lines are indented if more than one line is required. Use of keywords to show the structures e.g IF, THEN, ELSE, WHILE etc The logic e.g. AND, OR, NOT Keywords may be selected to be independent of the language descriptions
41
Pseudocode rules Block of instructions are grouped together having meaningful name to describe the function (modularization) Keywords and names of blocks are in capital letters, others are not Comments are delimited with a beginning asterisks and ends with semicolon Use of parenthesis to show precedence of operations to avoid ambiguities Make the end of a structure clear using ENDIF, ENDDO etc
42
Keywords KEYWORD DESCRIPTION PROCEDURE Starts a logical segment
ENDPROCEDURE Terminates a logical segment BEGIN Starts a logical block within a segment ENDBEGIN Terminates a begin block GET / READ Input data PUT / WRITE Output data IF…THEN Conditional branch IF…THEN…ELSE Conditional branch (two ways)
43
Keywords KEYWORD DESCRIPTION ENDIF Terminates IF structure DO…WHILE
Repetitive block DO…UNTIL Repetitive block that will be executed at least once DO…FROM…TO…BY Incremental block ENDDO Terminates a block CASEENTRY Starts a multiple branch ENDCASE Terminates a CASE structure CALL Invocation of a subroutine
44
Problem specification Example 1
A program is required to read three numbers, add them together and print their total
45
Problem analysis INPUT PROCESS OUTPUT number1 number2 number3
Using IPO Chart (Input-Process-Output Chart) INPUT (nouns & adjectives) PROCESS (verbs & adverbs) OUTPUT number1 number2 number3 Read 3 numbers Calculate total Print total total
46
Problem analysis (step-wise refinement method)
Initialization none Input Definition number1 , number2, number3 Output Definition The sum is = Processing Requirements Read number1, number2, number3 Calculate total total = number1 + number2 + number3 Print total
47
Problem analysis (step-wise refinement method)
Processing Controls none Test Data and Expected Results number1 number2 number3 total 40 50 60 150.0 10.5 20.2 30.8 61.5 10 20 -5 25.0
48
Variables Variables/objects in the problem and the processing steps/program are referenced by names. Names must be unique and short (max 25 letters) but meaningful Names are used to identify a particular storage area in the memory. Good Examples : number, sum, average, min, max. Bad Examples: a, b, c, m1, x2
49
Problem specification Example 2
A program is required to read in the maximum and minimum temperatures on a particular day and calculate and print the average temperature
50
Problem analysis INPUT PROCESS OUTPUT Min_temp Max_temp
(nouns & adjectives) PROCESS (verbs & adverbs) OUTPUT Min_temp Max_temp Read max_temp, min_temp Calculate average temp Print average temp avg_temp
51
Problem analysis (step-wise refinement method)
Initialization none Input Definition max_temp, min_temp Output Definition Average Temperature = Processing Requirements Read max_temp, min_temp Calculate average avg_temp = (max_temp + min_temp) / 2 Print avg_temp
52
Problem analysis (step-wise refinement method)
Processing Controls Temperatures cannot be negative values Average temperature is rounded to 1 d.p. Test Data and Expected Results max_temp min_temp avg_temp 60 50 55.0 85 72.5 30 -10 error
53
Problem specification Example 3
Design a program to print the student number and grade given the student number and four test marks. The grade is based on the following rules : average mark grade ≥ 80 Distinction ≥ 65 and < 80 Merit ≥ 50 and < 65 Pass < 50 Fail
54
Problem analysis INPUT PROCESS OUTPUT
Using IPO Chart (Input-Process-Output Chart) INPUT (nouns & adjectives) PROCESS (verbs & adverbs) OUTPUT studentNo Test1 Test2 Test3 Test4 Read studentNo, test1, test2, test3, test4 Calculate average mark Decide grade Print studentNo, grade grade
55
Problem analysis (step-wise refinement method)
Initialization no_test = 4 Input Definition studentNo, test1, test2, test3, test4 Output Definition Student No : XXXXXX Grade : XXXXXXXXX Processing Requirements Read studentNo, test1, test2, test3, test4 Calculate average avg_mark = (test1 + test2 + test3 + test4) / no_test
56
Problem analysis (step-wise refinement method)
Processing Requirements (Cont..) Decide Grade If avg_mark >= 80 grade = “Distinction” else if avg_mark >= 65 grade = “Merit” if avg_mark >= 50 grade = “Pass” grade = “fail” Print studentNo, grade
57
Problem analysis (step-wise refinement method)
Processing Controls Test mark should be in the range of 0 to 100 Average mark must be integer.
58
Problem analysis (step-wise refinement method)
Test Data and Expected Results studentNo Test1 Test2 Test3 Test4 avg_mark grade Cp/01/21/01 90 80 85 86 Distinction Cp/02/21/01 60 50 75 66 Merit Cp/03/21/01 40 70 55 Pass Cp/04/21/01 30 35 Fail Cp/05/21/01 110 error Cp/06/21/01 -70
59
Find the average of 10 integers which lie between 0 and 100 exclusive
Problem specification Example 4 Find the average of 10 integers which lie between 0 and 100 exclusive
60
Problem analysis INPUT PROCESS OUTPUT
Using IPO Chart (Input-Process-Output Chart) INPUT (nouns & adjectives) PROCESS (verbs & adverbs) OUTPUT number (10 integers) Read number Calculate average Print average avg_num
61
Problem analysis (step-wise refinement method)
Initialization total = 0 , num_count = 0 Input Definition number Output Definition Average value =
62
Problem analysis (step-wise refinement method)
Processing Requirements While num_count < 10 Read number If number > 0 AND number <100 total = total + number Add 1 to num_count Calculate average avg_num = total / num_count Print avg_num
63
Problem analysis (step-wise refinement method)
Processing Controls Number must be > 0 and < 100 Average is rounded off to 2 d.p. Test Data and Expected Results number output 1,2,3,4,5….99 Print average error 103
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.