1 / 63

Introduction to Structured Programming: Terminology and Steps

Learn the key terminology and steps involved in structured programming, including algorithm development, program coding, debugging, testing, installation, maintenance, and documentation.

higbee
Download Presentation

Introduction to Structured Programming: Terminology and Steps

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 DATA Input (Set of Instructions) Processing 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 minimumtemperature 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….

  14. (2) PROBLEM ANALYSIS • Includes : • Initialization • 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.

  15. (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

  16. (4) PROGRAM CODING • Translation of design into programming language code e.g. C, C++, Pascal, QBasic • aka implementation

  17. (5) PROGRAM DEBUGGING • The task of finding and removingerrors/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

  18. (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.

  19. (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

  20. (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.

  21. (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.

  22. 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.

  23. 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 1964 by Bohm and Jacopini. • Designing of programs using a Structure Theorem which eliminating the GOTO statement and established a structured framework for representing solution.

  24. 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.

  25. Structured Techniques • Some of the techniques for program design: • Structured English • Flowcharts • Top-down stepwise refinement method • Jackson Structured Programming method • Pseudocode etc.

  26. Problem specification • A program is required to take in 2 numbers as integers, then calculate and display the sum.

  27. Structured English 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

  28. START Get num1 & num2 Sum := num1 + num2 Display sum END Flow Chart Diagrams which show the sequence of steps to perform a specific programming task

  29. 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

  30. Top-Down Stepwise Refinement Method • 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 Example :

  31. Calculate Sum Read num1 Read num2 Sum = num1 + num2 Print Sum Top-Down Stepwise Refinement Method Test Data and Expected Result STRUCTURED CHART

  32. 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

  33. Jackson Structured Program (JSP) Method Input Data Output Sum num1 num2 INPUT DATA STRUCTURE OUTPUT DATA STRUCTURE

  34. Jackson Structured Program (JSP) Method Calculate Sum num1 num2 Sum PROGRAM STRUCTURE

  35. 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

  36. Jackson Structured Program (JSP) Method ALLOCATION OF ACTIONS Calculate Sum num1 num2 Sum 1 2 4,3

  37. Pseudocodeaka 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 :

  38. 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

  39. 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

  40. 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

  41. Keywords

  42. Keywords

  43. Problem specificationExample 1 A program is required to read three numbers, add them together and print their total

  44. Problem analysis Using IPO Chart (Input-Process-Output Chart)

  45. Problem analysis(step-wise refinement method) • Initialization none • Input Definition number1 , number2, number3 • Output Definition The sum is = 99999.9 • Processing Requirements • Read number1, number2, number3 • Calculate total total = number1 + number2 + number3 • Print total

  46. Processing Controls none Test Data and Expected Results Problem analysis(step-wise refinement method)

  47. 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

  48. Problem specificationExample 2 A program is required to read in the maximum and minimum temperatures on a particular day and calculate and print the average temperature

  49. Problem analysis

More Related