SlideShare a Scribd company logo
Program Design &
               Problem-Solving
                    Techniques
             Module Pre-Requisites:
             None




http://ashesh.ramjeeawon.info
Management Student/ Freelance Developer
University of Mauritius                   1
Problem Solving – Program Design: Algorithm /Pseudocode


Today’s Session

 Steps in program development
 Algorithmic Problem Solving
 How to write Pseudocode?
 Meaningful names
 Structure Theorem
 Communication between modules
 Module Cohesion and Coupling
 Sequential File update
                                                              2
Problem Solving – Program Design: Algorithm /Pseudocode


Problem Solving - Big Problemo!!!




                                                               3
Problem Solving – Program Design: Algorithm /Pseudocode


How Do We Write a Program?

 A computer is not intelligent. It cannot analyze a problem and come up with a
  solution. A human (the programmer) must analyze the problem, develop the
  instructions for solving the problem, and then have the computer carry out the
  instructions.
 To write a program for a computer to follow, we must go through a two-phase
  process: problem solving and implementation




                                                                                   4
Problem Solving – Program Design: Algorithm /Pseudocode


Problem-Solving Phase
 Analysis and Specification. Understand (define) the problem and
  what the solution must do.

 General Solution (Algorithm). Specify the required data types and
  the logical sequences of steps that solve the problem.

 Verify. Follow the steps exactly to see if the solution really does
  solve the problem.




                                                                        5
Problem Solving – Program Design: Algorithm /Pseudocode


Implementation Phase
 Concrete Solution (Program). Translate the algorithm (the general
  solution) into a programming language.

 Test. Have the computer follow the instructions. Then manually
  check the results. If you find errors, analyze the program and the
  algorithm to determine the source of the errors, and then make
  corrections.

 Once a program has been written, it enters a third phase:
  maintenance.




                                                                       6
Problem Solving – Program Design: Algorithm /Pseudocode


Maintenance Phase
 Use. Use the program.

 Maintain. Modify the program to meet changing requirements or to
  correct any errors that show up while using it.

 The programmer begins the programming process by analyzing the
  problem, breaking it into manageable pieces, and developing a
  general solution for each piece called an algorithm. The solutions to
  the pieces are collected together to form a program that solves the
  original problem. Understanding and analyzing a problem take up
  much more time than Figure 1.1 implies. They are the heart of the
  programming process.




                                                                          7
Problem Solving – Program Design: Algorithm /Pseudocode




                                                          8
Problem Solving – Program Design: Algorithm /Pseudocode


Compiler and Interpreters




                                                               9
Steps in program development



Ref:

                                      10
Problem Solving – Program Design: Algorithm /Pseudocode


Steps in program development

1. Define the problem into three separate
   components:
   inputs
   outputs
   processing steps to produce required outputs.




                                                              11
Problem Solving – Program Design: Algorithm /Pseudocode


Steps in program development



 1. Outline the solution.
     Decompose the problem to smaller steps.
     Establish a solution outline.
     Initial outline may include:
          major processing steps involved
          major subtasks
          user interface
          major control structures
          major variable and record structures
          mainline logic
                                                              12
Problem Solving – Program Design: Algorithm /Pseudocode


Steps in program development

1. Develop the outline into an algorithm.
   The solution outline is now expanded into an
    algorithm.
      What is an algorithm? – a set of precise steps that
       describe exactly the tasks to be performed and the
       order in which they are to be carried out.
      Pseudocode will be used to represent the solution
       algorithm




                                                              13
Problem Solving – Program Design: Algorithm /Pseudocode



Steps in program development

1. Test the algorithm for correctness.
   Very important in the development of a
    program, but often forgotten
   Major logic errors can be detected and
    corrected at an early stage
   Go through the algorithm step-by-step with
    test data to ensure the program will actually
    do what it is supposed to do.


                                                              14
Problem Solving – Program Design: Algorithm /Pseudocode



Steps in program development
1. Code the algorithm into a specific
   programming language.
   Start to code the program into a chosen
    programming language after all design
    considerations from Steps 1–4 are met.




                                                              15
Problem Solving – Program Design: Algorithm /Pseudocode



Steps in program development
1. Run the program on the computer.
   This step uses a program compiler and
    programmer-designed test data to machine-
    test the code for
      syntax errors
      logic errors




                                                              16
Problem Solving – Program Design: Algorithm /Pseudocode



Steps in program development
1. Document and maintain the program.
   Is really an ongoing task from the initial
    definition of the problem to the final test
   Documentation involves:
      external documentation
      internal documentation




                                                              17
Problem Solving – Program Design: Algorithm /Pseudocode




     Algorithmic Problem Solving




                                                          18
Problem Solving – Program Design: Algorithm /Pseudocode


An introduction to algorithms and pseudocode

 What is an algorithm?
  Lists the steps involved in accomplishing a task
   (like a recipe)
  Defined in programming terms as ‘a set of
   detailed and ordered instructions developed to
   describe the processes necessary to produce
   the desired output from a given input’




                                                              19
Problem Solving – Program Design: Algorithm /Pseudocode


An introduction to algorithms and pseudocode

 What is an algorithm?
  An algorithm must:
      Be lucid, precise and unambiguous
      Give the correct solution in all cases
      Eventually end




                                                              20
Problem Solving – Program Design: Algorithm /Pseudocode


An introduction to algorithms and pseudocode

 What is pseudocode?
  Structured English (formalised and abbreviated
   to look like high-level computer language)




                                                              21
Problem Solving – Program Design: Algorithm /Pseudocode

How to write pseudocode


 There are six basic computer operations:
  1. A computer can receive information
  2. A computer can put out information
  3. A computer can perform arithmetic
  4. A computer can assign a value to a variable or
     memory location
  5. A computer can compare two variables and
     select one of two alternate actions
  6. A computer can repeat a group of actions
                                                             22
Problem Solving – Program Design: Algorithm /Pseudocode


Exercise Time

 Do some reading on the website below:
 http://www.cs.dartmouth.edu/~fabio/teaching/c




                                                              23
Problem Solving – Program Design: Algorithm /Pseudocode


Meaningful names

 When designing an algorithm, a
  programmer must introduce some unique
  names which represents variables or
  objects in the problem.
 Names should be meaningful.
 Names should be transparent to
  adequately describe variables (Number1,
  number2, etc.).

                                                              24
Problem Solving – Program Design: Algorithm /Pseudocode


Meaningful names

 Underscore is used when using more than
  one word (sales_tax or word_count).
 Most programming language does not
  tolerate a space in a variable as space
  would signal the end of a variable name.
 Another method is to use capital letters as
  a word separator (salesTax or
  wordCount).

                                                              25
Problem Solving – Program Design: Algorithm /Pseudocode


The Structure Theorem




                                                              26
Problem Solving – Program Design: Algorithm /Pseudocode


The Structure Theorem

1. Sequence
   Straightforward execution of one processing
    step after another
   Represents the first four basic computer
    operations
     1.   Receive information
     2.   Put out information
     3.   Perform arithmetic
     4.   Assign values


                                                              27
Problem Solving – Program Design: Algorithm /Pseudocode


The Structure Theorem

   A typical sequence statement in an algorithm might
    read:
             Add 1 to pageCount
             Print heading line1
             Print heading line2
             Set lineCount to zero
             Read customer record
   These instructions illustrate the sequence control
    structure as a straightforward list of steps written one
    after the other, in a top-to-bottom fashion

                                                               28
Problem Solving – Program Design: Algorithm /Pseudocode


The Structure Theorem



 1. Selection
     Presentation of a condition and the choice
      between two actions, the choice depending
      on whether the condition is true or false
     Represents the decision-making abilities of
      the computer
     Illustrates the fifth basic computer operation –
      compare two variables and select one of two
      alternate actions
                                                              29
Problem Solving – Program Design: Algorithm /Pseudocode


The Structure Theorem

   In pseudocode, selection is represented by the
    keywords IF, THEN, ELSE and ENDIF
             IF condition p is true THEN
                     statement(s) in true case
             ELSE
                     statement(s) in false case
             ENDIF
   If condition p is true, then the statement in true case will
    be executed, and the statement in the false case will be
    skipped (vice versa)



                                                               30
Problem Solving – Program Design: Algorithm /Pseudocode


The Structure Theorem

1. Repetition
   Presentation of a set of instruction to be
    performed repeatedly, as long as the condition
    is true
   Block statement is executed again and again
    until a terminating condition occurs
   Illustrates the sixth basic computer operation
    – to repeat a group of actions.



                                                              31
Problem Solving – Program Design: Algorithm /Pseudocode


The Structure Theorem

 Written in pseudocode as:
            DOWHILE condition p is true
                statement block
            ENDDO
 DOWHILE is a leading decision loop – condition
  is tested before any statements are executed
 ENDDO triggers a return of control to the
  retesting of the condition
 Condition is true, statements are repeated until
  condition is found false
                                                              32
Problem Solving – Program Design: Algorithm /Pseudocode


Exercise Time

 In a complete program/ algorithm, show
  the 3 concepts of Structure Theorem




                                                              33
Problem Solving – Program Design: Algorithm /Pseudocode



Communication between modules
 Necessary to consider flow of information
  between modules
 This flow of information is called
  ‘intermodule communication’ and can be
  accomplished by the scope of the variable




                                                              34
Problem Solving – Program Design: Algorithm /Pseudocode



Communication between modules
 Scope of a variable
  The portion of a program in which that variable
   has been defined and to which it can be
   referenced
  Variables can be global where the scope of the
   variable is the whole program
  Scope of the variable is simple the module
   which it is defined


                                                              35
Problem Solving – Program Design: Algorithm /Pseudocode



Communication between modules
 Global data
  Date that can be used by all the modules in a
   program
  Every module in the program can access and
   change data
  Lifetime of a global variable spans the
   execution of the whole program



                                                              36
Problem Solving – Program Design: Algorithm /Pseudocode



Communication between modules
 Local data
  Variable are defined within the submodule are
   called local variables
  The scope of a local variable is simply the
   module in which it is defined
  The lifetime of a local variable is limited to the
   execution of the single submodule in which it is
   defined


                                                              37
Problem Solving – Program Design: Algorithm /Pseudocode


Exercise time

Show the difference between a global
 variable and a local variable via the use of
 a program, in any language of your
 choice.




                                                              38
Problem Solving – Program Design: Algorithm /Pseudocode



Communication between modules
 Side effects
  Side effect is a form of a cross-communication
   of a module with other parts of a program,
  Occurs when a subordinate module alters the
   value of a global variable inside a module




                                                              39
Problem Solving – Program Design: Algorithm /Pseudocode



Communication between modules
 Passing parameters
  Parameters are simply data items
   transferred from a calling module to its
   subordinate module at the time of calling
  To pass parameters between modules, two
   things can happen:
      The calling module must name the parameters
       that it wants to pass to the submodule
      The submodule must be able to receive those
       parameters and return them to the calling module
       if required

                                                            40
Problem Solving – Program Design: Algorithm /Pseudocode



Communication between modules
 Formal and actual parameters
  Parameters names that appear when a
   submodule is defined are known as formal
   parameters
  Variables and expressions that are passed to a
   submodule in a particular call are called actual
   parameters




                                                              41
Problem Solving – Program Design: Algorithm /Pseudocode



Communication between modules
 Value and reference parameters
   Parameters may have one of three function:
     1. To pass information from a calling module to a
        subordinate module
     2. To pass information from a subordinate module to
        its calling module
     3. To fulfil a two-way communication role




                                                              42
Problem Solving – Program Design: Algorithm /Pseudocode



Communication between modules
 Value and reference parameters
  Value parameters
      Value parameters pass a copy of the value of a
       parameter from one module to another
  Reference parameters
      Reference parameter pass the memory address of a
       parameter from one module to another




                                                              43
Problem Solving – Program Design: Algorithm /Pseudocode


Module cohesion

 Cohesion is a measure of the internal
  strength of a module
 It indicates how closely the elements or
  the statements of a module are associated
  with each other
 The more closely the elements of a
  module are associated with each other,
  the higher the cohesion of the module

                                                              44
Problem Solving – Program Design: Algorithm /Pseudocode


Module coupling


  Coupling is a measure of the extent of
   information interchange between
   modules
  Tight coupling implies large
   dependence on the structure of one
   module by another
  Loose coupling is the opposite of tight
   coupling. Modules with loose coupling
   are more independent and easier to
   maintain
                                                              45
Problem Solving – Program Design: Algorithm /Pseudocode


Sequential file update



  Master file
    Is a file that contains permanent and semi-
     permanent information about the data
     entities it contains
  Transaction file
    Contains all the data and activities that are
     included on the master file. These are
     transactions to:
         Add a new record
         Update or change an existing record
         Delete an existing record                            46
Problem Solving – Program Design: Algorithm /Pseudocode


Sequential file update



  Sequential update logic
     Sequential processing falls generally into
      three categories:
        1. If the key on the transaction record is less than the
           key on the old master record, the transaction is
           probably an add transaction
        2. If they key on the transaction record is equal to the
           key on the old master record, the transaction is
           probably an update or delete transaction
        3. If the key on the transaction record is greater that
           the key on the old master record, there is not
           matching transaction for that master record             47
Problem Solving – Program Design: Algorithm /Pseudocode


The End – Thank you for your kind attention

 References:
   Simple Program Design – A step by step
    approach by L. A. Robertson




                                                               48
Problem Solving – Program Design: Algorithm /Pseudocode




         http://ashesh.ramjeeawon.info
         Management Student/ Freelance Developer
         University of Mauritius
         BCS Student Member




                                                          49
Ad

More Related Content

What's hot (20)

Structure chart
Structure chartStructure chart
Structure chart
Arjun R
 
Design techniques
Design techniquesDesign techniques
Design techniques
Amit Debnath
 
Problem solving using Computer
Problem solving using ComputerProblem solving using Computer
Problem solving using Computer
David Livingston J
 
debugging - system software
debugging - system softwaredebugging - system software
debugging - system software
Vicky Shan
 
How to improve problem solving skills
How to improve problem solving skillsHow to improve problem solving skills
How to improve problem solving skills
Yun Yuan
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1
REHAN IJAZ
 
Algorithm and flowchart
Algorithm and flowchartAlgorithm and flowchart
Algorithm and flowchart
Elizabeth de Leon Aler
 
Chapter01Introducing Hardware
Chapter01Introducing HardwareChapter01Introducing Hardware
Chapter01Introducing Hardware
Patty Ramsey
 
Assembly Language
Assembly LanguageAssembly Language
Assembly Language
Ibrahimcommunication Al Ani
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
Siva Ayyakutti
 
Algorithm and Programming (Introduction of Algorithms)
Algorithm and Programming (Introduction of Algorithms)Algorithm and Programming (Introduction of Algorithms)
Algorithm and Programming (Introduction of Algorithms)
Adam Mukharil Bachtiar
 
Integrated Development Environments (IDE)
Integrated Development Environments (IDE) Integrated Development Environments (IDE)
Integrated Development Environments (IDE)
SeanPereira2
 
Lecture 2 role of algorithms in computing
Lecture 2   role of algorithms in computingLecture 2   role of algorithms in computing
Lecture 2 role of algorithms in computing
jayavignesh86
 
Algorithm and flowchart
Algorithm and flowchartAlgorithm and flowchart
Algorithm and flowchart
Sachin Goyani
 
System testing
System testingSystem testing
System testing
Sifat Hossain
 
Algorithm and pseudo codes
Algorithm and pseudo codesAlgorithm and pseudo codes
Algorithm and pseudo codes
hermiraguilar
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
kunj desai
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
MZ5512
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteria
Umaselvi_R
 
Microinstruction sequencing new
Microinstruction sequencing newMicroinstruction sequencing new
Microinstruction sequencing new
Mahesh Kumar Attri
 
Structure chart
Structure chartStructure chart
Structure chart
Arjun R
 
Problem solving using Computer
Problem solving using ComputerProblem solving using Computer
Problem solving using Computer
David Livingston J
 
debugging - system software
debugging - system softwaredebugging - system software
debugging - system software
Vicky Shan
 
How to improve problem solving skills
How to improve problem solving skillsHow to improve problem solving skills
How to improve problem solving skills
Yun Yuan
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1
REHAN IJAZ
 
Chapter01Introducing Hardware
Chapter01Introducing HardwareChapter01Introducing Hardware
Chapter01Introducing Hardware
Patty Ramsey
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
Siva Ayyakutti
 
Algorithm and Programming (Introduction of Algorithms)
Algorithm and Programming (Introduction of Algorithms)Algorithm and Programming (Introduction of Algorithms)
Algorithm and Programming (Introduction of Algorithms)
Adam Mukharil Bachtiar
 
Integrated Development Environments (IDE)
Integrated Development Environments (IDE) Integrated Development Environments (IDE)
Integrated Development Environments (IDE)
SeanPereira2
 
Lecture 2 role of algorithms in computing
Lecture 2   role of algorithms in computingLecture 2   role of algorithms in computing
Lecture 2 role of algorithms in computing
jayavignesh86
 
Algorithm and flowchart
Algorithm and flowchartAlgorithm and flowchart
Algorithm and flowchart
Sachin Goyani
 
Algorithm and pseudo codes
Algorithm and pseudo codesAlgorithm and pseudo codes
Algorithm and pseudo codes
hermiraguilar
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
kunj desai
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
MZ5512
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteria
Umaselvi_R
 
Microinstruction sequencing new
Microinstruction sequencing newMicroinstruction sequencing new
Microinstruction sequencing new
Mahesh Kumar Attri
 

Similar to Program design and problem solving techniques (20)

Chapter 2(1)
Chapter 2(1)Chapter 2(1)
Chapter 2(1)
TejaswiB4
 
Algorithm to programs.pptx
Algorithm to programs.pptxAlgorithm to programs.pptx
Algorithm to programs.pptx
Chandansharma918351
 
PROBLEM SOLVING
PROBLEM SOLVINGPROBLEM SOLVING
PROBLEM SOLVING
shahzadebaujiti
 
Programming C ppt for learning foundations
Programming C ppt for learning foundationsProgramming C ppt for learning foundations
Programming C ppt for learning foundations
ssuser65733f
 
Stnotes doc 5
Stnotes doc 5Stnotes doc 5
Stnotes doc 5
Alok Jain
 
PCCF UNIT 1.pptx
PCCF UNIT 1.pptxPCCF UNIT 1.pptx
PCCF UNIT 1.pptx
DivyaKS12
 
Fundamentals of programming with C++
Fundamentals of programming with C++Fundamentals of programming with C++
Fundamentals of programming with C++
Seble Nigussie
 
Programming_Lecture_1.pptx
Programming_Lecture_1.pptxProgramming_Lecture_1.pptx
Programming_Lecture_1.pptx
shoaibkhan716300
 
Week10 final
Week10 finalWeek10 final
Week10 final
Irfan Ali Memon
 
Chapter 01.PPT
Chapter 01.PPTChapter 01.PPT
Chapter 01.PPT
JoeBlack136
 
Power Point Introduction To Programming 1
Power Point Introduction To Programming 1Power Point Introduction To Programming 1
Power Point Introduction To Programming 1
FabianDaffa3
 
CHAPTER 1
CHAPTER 1CHAPTER 1
CHAPTER 1
mohd_mizan
 
Introduction to Computer Programming
Introduction to Computer ProgrammingIntroduction to Computer Programming
Introduction to Computer Programming
Prof. Erwin Globio
 
Introduction.pptx
Introduction.pptxIntroduction.pptx
Introduction.pptx
ssusera8c91a
 
Study Material for Problem Solving Techniques
Study Material for Problem Solving TechniquesStudy Material for Problem Solving Techniques
Study Material for Problem Solving Techniques
Bobby Murugesan
 
asic computer is an electronic device that can receive, store, process, and o...
asic computer is an electronic device that can receive, store, process, and o...asic computer is an electronic device that can receive, store, process, and o...
asic computer is an electronic device that can receive, store, process, and o...
vaishalisharma125399
 
Lesson 14 computer system sofware
Lesson 14 computer system sofwareLesson 14 computer system sofware
Lesson 14 computer system sofware
guevarra_2000
 
Lesson 14 computer system sofware
Lesson 14 computer system sofwareLesson 14 computer system sofware
Lesson 14 computer system sofware
guevarra_2000
 
C programming for Computing Techniques
C programming for Computing TechniquesC programming for Computing Techniques
C programming for Computing Techniques
Appili Vamsi Krishna
 
Unit 1 python (2021 r)
Unit 1 python (2021 r)Unit 1 python (2021 r)
Unit 1 python (2021 r)
praveena p
 
Chapter 2(1)
Chapter 2(1)Chapter 2(1)
Chapter 2(1)
TejaswiB4
 
Programming C ppt for learning foundations
Programming C ppt for learning foundationsProgramming C ppt for learning foundations
Programming C ppt for learning foundations
ssuser65733f
 
Stnotes doc 5
Stnotes doc 5Stnotes doc 5
Stnotes doc 5
Alok Jain
 
PCCF UNIT 1.pptx
PCCF UNIT 1.pptxPCCF UNIT 1.pptx
PCCF UNIT 1.pptx
DivyaKS12
 
Fundamentals of programming with C++
Fundamentals of programming with C++Fundamentals of programming with C++
Fundamentals of programming with C++
Seble Nigussie
 
Programming_Lecture_1.pptx
Programming_Lecture_1.pptxProgramming_Lecture_1.pptx
Programming_Lecture_1.pptx
shoaibkhan716300
 
Power Point Introduction To Programming 1
Power Point Introduction To Programming 1Power Point Introduction To Programming 1
Power Point Introduction To Programming 1
FabianDaffa3
 
Introduction to Computer Programming
Introduction to Computer ProgrammingIntroduction to Computer Programming
Introduction to Computer Programming
Prof. Erwin Globio
 
Study Material for Problem Solving Techniques
Study Material for Problem Solving TechniquesStudy Material for Problem Solving Techniques
Study Material for Problem Solving Techniques
Bobby Murugesan
 
asic computer is an electronic device that can receive, store, process, and o...
asic computer is an electronic device that can receive, store, process, and o...asic computer is an electronic device that can receive, store, process, and o...
asic computer is an electronic device that can receive, store, process, and o...
vaishalisharma125399
 
Lesson 14 computer system sofware
Lesson 14 computer system sofwareLesson 14 computer system sofware
Lesson 14 computer system sofware
guevarra_2000
 
Lesson 14 computer system sofware
Lesson 14 computer system sofwareLesson 14 computer system sofware
Lesson 14 computer system sofware
guevarra_2000
 
C programming for Computing Techniques
C programming for Computing TechniquesC programming for Computing Techniques
C programming for Computing Techniques
Appili Vamsi Krishna
 
Unit 1 python (2021 r)
Unit 1 python (2021 r)Unit 1 python (2021 r)
Unit 1 python (2021 r)
praveena p
 
Ad

More from Dokka Srinivasu (20)

Baby ganesha sitting on the lap of lord shiva and mother parvathi vintage baz...
Baby ganesha sitting on the lap of lord shiva and mother parvathi vintage baz...Baby ganesha sitting on the lap of lord shiva and mother parvathi vintage baz...
Baby ganesha sitting on the lap of lord shiva and mother parvathi vintage baz...
Dokka Srinivasu
 
18 principles for successful life
18 principles for successful life18 principles for successful life
18 principles for successful life
Dokka Srinivasu
 
My first seminar on indian heritage and culture
My first seminar on indian heritage and cultureMy first seminar on indian heritage and culture
My first seminar on indian heritage and culture
Dokka Srinivasu
 
Recipe of joyous life
Recipe of joyous lifeRecipe of joyous life
Recipe of joyous life
Dokka Srinivasu
 
Ayurveda science of healing
Ayurveda science of healingAyurveda science of healing
Ayurveda science of healing
Dokka Srinivasu
 
Chakras
ChakrasChakras
Chakras
Dokka Srinivasu
 
Maithreem Bhajatha song by smt. m.s. subbulakshmi at united nations
Maithreem Bhajatha song by smt. m.s. subbulakshmi at united nationsMaithreem Bhajatha song by smt. m.s. subbulakshmi at united nations
Maithreem Bhajatha song by smt. m.s. subbulakshmi at united nations
Dokka Srinivasu
 
Louis Braille
Louis BrailleLouis Braille
Louis Braille
Dokka Srinivasu
 
Lord shiva with young ganesh mythological post card
Lord shiva with young ganesh mythological post cardLord shiva with young ganesh mythological post card
Lord shiva with young ganesh mythological post card
Dokka Srinivasu
 
Taj mahal post card
Taj mahal post cardTaj mahal post card
Taj mahal post card
Dokka Srinivasu
 
Srirama navami festival
Srirama navami festivalSrirama navami festival
Srirama navami festival
Dokka Srinivasu
 
Foundations of Hinduism
Foundations of HinduismFoundations of Hinduism
Foundations of Hinduism
Dokka Srinivasu
 
India's Sanathana Dharma
India's Sanathana DharmaIndia's Sanathana Dharma
India's Sanathana Dharma
Dokka Srinivasu
 
sanathana dharma
sanathana dharmasanathana dharma
sanathana dharma
Dokka Srinivasu
 
Why to Follow Vedic Path?
Why to Follow Vedic Path?Why to Follow Vedic Path?
Why to Follow Vedic Path?
Dokka Srinivasu
 
Vision and Approaches of Upanishads
Vision and Approaches of UpanishadsVision and Approaches of Upanishads
Vision and Approaches of Upanishads
Dokka Srinivasu
 
Hindu Scriptures
Hindu Scriptures Hindu Scriptures
Hindu Scriptures
Dokka Srinivasu
 
The role of Hindu Dharma & Our role in Hindu Dharma
The role of Hindu Dharma & Our role in Hindu Dharma The role of Hindu Dharma & Our role in Hindu Dharma
The role of Hindu Dharma & Our role in Hindu Dharma
Dokka Srinivasu
 
Mahatma Gandhi
Mahatma GandhiMahatma Gandhi
Mahatma Gandhi
Dokka Srinivasu
 
Vintage cigarette cards of maharajas of india
Vintage cigarette cards of maharajas of indiaVintage cigarette cards of maharajas of india
Vintage cigarette cards of maharajas of india
Dokka Srinivasu
 
Baby ganesha sitting on the lap of lord shiva and mother parvathi vintage baz...
Baby ganesha sitting on the lap of lord shiva and mother parvathi vintage baz...Baby ganesha sitting on the lap of lord shiva and mother parvathi vintage baz...
Baby ganesha sitting on the lap of lord shiva and mother parvathi vintage baz...
Dokka Srinivasu
 
18 principles for successful life
18 principles for successful life18 principles for successful life
18 principles for successful life
Dokka Srinivasu
 
My first seminar on indian heritage and culture
My first seminar on indian heritage and cultureMy first seminar on indian heritage and culture
My first seminar on indian heritage and culture
Dokka Srinivasu
 
Ayurveda science of healing
Ayurveda science of healingAyurveda science of healing
Ayurveda science of healing
Dokka Srinivasu
 
Maithreem Bhajatha song by smt. m.s. subbulakshmi at united nations
Maithreem Bhajatha song by smt. m.s. subbulakshmi at united nationsMaithreem Bhajatha song by smt. m.s. subbulakshmi at united nations
Maithreem Bhajatha song by smt. m.s. subbulakshmi at united nations
Dokka Srinivasu
 
Lord shiva with young ganesh mythological post card
Lord shiva with young ganesh mythological post cardLord shiva with young ganesh mythological post card
Lord shiva with young ganesh mythological post card
Dokka Srinivasu
 
India's Sanathana Dharma
India's Sanathana DharmaIndia's Sanathana Dharma
India's Sanathana Dharma
Dokka Srinivasu
 
Why to Follow Vedic Path?
Why to Follow Vedic Path?Why to Follow Vedic Path?
Why to Follow Vedic Path?
Dokka Srinivasu
 
Vision and Approaches of Upanishads
Vision and Approaches of UpanishadsVision and Approaches of Upanishads
Vision and Approaches of Upanishads
Dokka Srinivasu
 
The role of Hindu Dharma & Our role in Hindu Dharma
The role of Hindu Dharma & Our role in Hindu Dharma The role of Hindu Dharma & Our role in Hindu Dharma
The role of Hindu Dharma & Our role in Hindu Dharma
Dokka Srinivasu
 
Vintage cigarette cards of maharajas of india
Vintage cigarette cards of maharajas of indiaVintage cigarette cards of maharajas of india
Vintage cigarette cards of maharajas of india
Dokka Srinivasu
 
Ad

Recently uploaded (20)

apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
spinal cord disorders (Myelopathies and radiculoapthies)
spinal cord disorders (Myelopathies and radiculoapthies)spinal cord disorders (Myelopathies and radiculoapthies)
spinal cord disorders (Myelopathies and radiculoapthies)
Mohamed Rizk Khodair
 
Cultivation Practice of Onion in Nepal.pptx
Cultivation Practice of Onion in Nepal.pptxCultivation Practice of Onion in Nepal.pptx
Cultivation Practice of Onion in Nepal.pptx
UmeshTimilsina1
 
Tax evasion, Tax planning & Tax avoidance.pptx
Tax evasion, Tax  planning &  Tax avoidance.pptxTax evasion, Tax  planning &  Tax avoidance.pptx
Tax evasion, Tax planning & Tax avoidance.pptx
manishbaidya2017
 
Biophysics Chapter 3 Methods of Studying Macromolecules.pdf
Biophysics Chapter 3 Methods of Studying Macromolecules.pdfBiophysics Chapter 3 Methods of Studying Macromolecules.pdf
Biophysics Chapter 3 Methods of Studying Macromolecules.pdf
PKLI-Institute of Nursing and Allied Health Sciences Lahore , Pakistan.
 
Ajanta Paintings: Study as a Source of History
Ajanta Paintings: Study as a Source of HistoryAjanta Paintings: Study as a Source of History
Ajanta Paintings: Study as a Source of History
Virag Sontakke
 
Rock Art As a Source of Ancient Indian History
Rock Art As a Source of Ancient Indian HistoryRock Art As a Source of Ancient Indian History
Rock Art As a Source of Ancient Indian History
Virag Sontakke
 
Grade 3 - English - Printable Worksheet (PDF Format)
Grade 3 - English - Printable Worksheet  (PDF Format)Grade 3 - English - Printable Worksheet  (PDF Format)
Grade 3 - English - Printable Worksheet (PDF Format)
Sritoma Majumder
 
How to Configure Scheduled Actions in odoo 18
How to Configure Scheduled Actions in odoo 18How to Configure Scheduled Actions in odoo 18
How to Configure Scheduled Actions in odoo 18
Celine George
 
Lecture 1 Introduction history and institutes of entomology_1.pptx
Lecture 1 Introduction history and institutes of entomology_1.pptxLecture 1 Introduction history and institutes of entomology_1.pptx
Lecture 1 Introduction history and institutes of entomology_1.pptx
Arshad Shaikh
 
Ranking_Felicidade_2024_com_Educacao_Marketing Educacional_V2.pdf
Ranking_Felicidade_2024_com_Educacao_Marketing Educacional_V2.pdfRanking_Felicidade_2024_com_Educacao_Marketing Educacional_V2.pdf
Ranking_Felicidade_2024_com_Educacao_Marketing Educacional_V2.pdf
Rafael Villas B
 
How to Add Customer Note in Odoo 18 POS - Odoo Slides
How to Add Customer Note in Odoo 18 POS - Odoo SlidesHow to Add Customer Note in Odoo 18 POS - Odoo Slides
How to Add Customer Note in Odoo 18 POS - Odoo Slides
Celine George
 
Link your Lead Opportunities into Spreadsheet using odoo CRM
Link your Lead Opportunities into Spreadsheet using odoo CRMLink your Lead Opportunities into Spreadsheet using odoo CRM
Link your Lead Opportunities into Spreadsheet using odoo CRM
Celine George
 
Exercise Physiology MCQS By DR. NASIR MUSTAFA
Exercise Physiology MCQS By DR. NASIR MUSTAFAExercise Physiology MCQS By DR. NASIR MUSTAFA
Exercise Physiology MCQS By DR. NASIR MUSTAFA
Dr. Nasir Mustafa
 
Kenan Fellows Participants, Projects 2025-26 Cohort
Kenan Fellows Participants, Projects 2025-26 CohortKenan Fellows Participants, Projects 2025-26 Cohort
Kenan Fellows Participants, Projects 2025-26 Cohort
EducationNC
 
APGAR SCORE BY sweety Tamanna Mahapatra MSc Pediatric
APGAR SCORE  BY sweety Tamanna Mahapatra MSc PediatricAPGAR SCORE  BY sweety Tamanna Mahapatra MSc Pediatric
APGAR SCORE BY sweety Tamanna Mahapatra MSc Pediatric
SweetytamannaMohapat
 
How to Create A Todo List In Todo of Odoo 18
How to Create A Todo List In Todo of Odoo 18How to Create A Todo List In Todo of Odoo 18
How to Create A Todo List In Todo of Odoo 18
Celine George
 
Computer crime and Legal issues Computer crime and Legal issues
Computer crime and Legal issues Computer crime and Legal issuesComputer crime and Legal issues Computer crime and Legal issues
Computer crime and Legal issues Computer crime and Legal issues
Abhijit Bodhe
 
Cultivation Practice of Garlic in Nepal.pptx
Cultivation Practice of Garlic in Nepal.pptxCultivation Practice of Garlic in Nepal.pptx
Cultivation Practice of Garlic in Nepal.pptx
UmeshTimilsina1
 
BỘ ĐỀ TUYỂN SINH VÀO LỚP 10 TIẾNG ANH - 25 ĐỀ THI BÁM SÁT CẤU TRÚC MỚI NHẤT, ...
BỘ ĐỀ TUYỂN SINH VÀO LỚP 10 TIẾNG ANH - 25 ĐỀ THI BÁM SÁT CẤU TRÚC MỚI NHẤT, ...BỘ ĐỀ TUYỂN SINH VÀO LỚP 10 TIẾNG ANH - 25 ĐỀ THI BÁM SÁT CẤU TRÚC MỚI NHẤT, ...
BỘ ĐỀ TUYỂN SINH VÀO LỚP 10 TIẾNG ANH - 25 ĐỀ THI BÁM SÁT CẤU TRÚC MỚI NHẤT, ...
Nguyen Thanh Tu Collection
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
spinal cord disorders (Myelopathies and radiculoapthies)
spinal cord disorders (Myelopathies and radiculoapthies)spinal cord disorders (Myelopathies and radiculoapthies)
spinal cord disorders (Myelopathies and radiculoapthies)
Mohamed Rizk Khodair
 
Cultivation Practice of Onion in Nepal.pptx
Cultivation Practice of Onion in Nepal.pptxCultivation Practice of Onion in Nepal.pptx
Cultivation Practice of Onion in Nepal.pptx
UmeshTimilsina1
 
Tax evasion, Tax planning & Tax avoidance.pptx
Tax evasion, Tax  planning &  Tax avoidance.pptxTax evasion, Tax  planning &  Tax avoidance.pptx
Tax evasion, Tax planning & Tax avoidance.pptx
manishbaidya2017
 
Ajanta Paintings: Study as a Source of History
Ajanta Paintings: Study as a Source of HistoryAjanta Paintings: Study as a Source of History
Ajanta Paintings: Study as a Source of History
Virag Sontakke
 
Rock Art As a Source of Ancient Indian History
Rock Art As a Source of Ancient Indian HistoryRock Art As a Source of Ancient Indian History
Rock Art As a Source of Ancient Indian History
Virag Sontakke
 
Grade 3 - English - Printable Worksheet (PDF Format)
Grade 3 - English - Printable Worksheet  (PDF Format)Grade 3 - English - Printable Worksheet  (PDF Format)
Grade 3 - English - Printable Worksheet (PDF Format)
Sritoma Majumder
 
How to Configure Scheduled Actions in odoo 18
How to Configure Scheduled Actions in odoo 18How to Configure Scheduled Actions in odoo 18
How to Configure Scheduled Actions in odoo 18
Celine George
 
Lecture 1 Introduction history and institutes of entomology_1.pptx
Lecture 1 Introduction history and institutes of entomology_1.pptxLecture 1 Introduction history and institutes of entomology_1.pptx
Lecture 1 Introduction history and institutes of entomology_1.pptx
Arshad Shaikh
 
Ranking_Felicidade_2024_com_Educacao_Marketing Educacional_V2.pdf
Ranking_Felicidade_2024_com_Educacao_Marketing Educacional_V2.pdfRanking_Felicidade_2024_com_Educacao_Marketing Educacional_V2.pdf
Ranking_Felicidade_2024_com_Educacao_Marketing Educacional_V2.pdf
Rafael Villas B
 
How to Add Customer Note in Odoo 18 POS - Odoo Slides
How to Add Customer Note in Odoo 18 POS - Odoo SlidesHow to Add Customer Note in Odoo 18 POS - Odoo Slides
How to Add Customer Note in Odoo 18 POS - Odoo Slides
Celine George
 
Link your Lead Opportunities into Spreadsheet using odoo CRM
Link your Lead Opportunities into Spreadsheet using odoo CRMLink your Lead Opportunities into Spreadsheet using odoo CRM
Link your Lead Opportunities into Spreadsheet using odoo CRM
Celine George
 
Exercise Physiology MCQS By DR. NASIR MUSTAFA
Exercise Physiology MCQS By DR. NASIR MUSTAFAExercise Physiology MCQS By DR. NASIR MUSTAFA
Exercise Physiology MCQS By DR. NASIR MUSTAFA
Dr. Nasir Mustafa
 
Kenan Fellows Participants, Projects 2025-26 Cohort
Kenan Fellows Participants, Projects 2025-26 CohortKenan Fellows Participants, Projects 2025-26 Cohort
Kenan Fellows Participants, Projects 2025-26 Cohort
EducationNC
 
APGAR SCORE BY sweety Tamanna Mahapatra MSc Pediatric
APGAR SCORE  BY sweety Tamanna Mahapatra MSc PediatricAPGAR SCORE  BY sweety Tamanna Mahapatra MSc Pediatric
APGAR SCORE BY sweety Tamanna Mahapatra MSc Pediatric
SweetytamannaMohapat
 
How to Create A Todo List In Todo of Odoo 18
How to Create A Todo List In Todo of Odoo 18How to Create A Todo List In Todo of Odoo 18
How to Create A Todo List In Todo of Odoo 18
Celine George
 
Computer crime and Legal issues Computer crime and Legal issues
Computer crime and Legal issues Computer crime and Legal issuesComputer crime and Legal issues Computer crime and Legal issues
Computer crime and Legal issues Computer crime and Legal issues
Abhijit Bodhe
 
Cultivation Practice of Garlic in Nepal.pptx
Cultivation Practice of Garlic in Nepal.pptxCultivation Practice of Garlic in Nepal.pptx
Cultivation Practice of Garlic in Nepal.pptx
UmeshTimilsina1
 
BỘ ĐỀ TUYỂN SINH VÀO LỚP 10 TIẾNG ANH - 25 ĐỀ THI BÁM SÁT CẤU TRÚC MỚI NHẤT, ...
BỘ ĐỀ TUYỂN SINH VÀO LỚP 10 TIẾNG ANH - 25 ĐỀ THI BÁM SÁT CẤU TRÚC MỚI NHẤT, ...BỘ ĐỀ TUYỂN SINH VÀO LỚP 10 TIẾNG ANH - 25 ĐỀ THI BÁM SÁT CẤU TRÚC MỚI NHẤT, ...
BỘ ĐỀ TUYỂN SINH VÀO LỚP 10 TIẾNG ANH - 25 ĐỀ THI BÁM SÁT CẤU TRÚC MỚI NHẤT, ...
Nguyen Thanh Tu Collection
 

Program design and problem solving techniques

  • 1. Program Design & Problem-Solving Techniques Module Pre-Requisites: None http://ashesh.ramjeeawon.info Management Student/ Freelance Developer University of Mauritius 1
  • 2. Problem Solving – Program Design: Algorithm /Pseudocode Today’s Session  Steps in program development  Algorithmic Problem Solving  How to write Pseudocode?  Meaningful names  Structure Theorem  Communication between modules  Module Cohesion and Coupling  Sequential File update 2
  • 3. Problem Solving – Program Design: Algorithm /Pseudocode Problem Solving - Big Problemo!!! 3
  • 4. Problem Solving – Program Design: Algorithm /Pseudocode How Do We Write a Program?  A computer is not intelligent. It cannot analyze a problem and come up with a solution. A human (the programmer) must analyze the problem, develop the instructions for solving the problem, and then have the computer carry out the instructions.  To write a program for a computer to follow, we must go through a two-phase process: problem solving and implementation 4
  • 5. Problem Solving – Program Design: Algorithm /Pseudocode Problem-Solving Phase  Analysis and Specification. Understand (define) the problem and what the solution must do.  General Solution (Algorithm). Specify the required data types and the logical sequences of steps that solve the problem.  Verify. Follow the steps exactly to see if the solution really does solve the problem. 5
  • 6. Problem Solving – Program Design: Algorithm /Pseudocode Implementation Phase  Concrete Solution (Program). Translate the algorithm (the general solution) into a programming language.  Test. Have the computer follow the instructions. Then manually check the results. If you find errors, analyze the program and the algorithm to determine the source of the errors, and then make corrections.  Once a program has been written, it enters a third phase: maintenance. 6
  • 7. Problem Solving – Program Design: Algorithm /Pseudocode Maintenance Phase  Use. Use the program.  Maintain. Modify the program to meet changing requirements or to correct any errors that show up while using it.  The programmer begins the programming process by analyzing the problem, breaking it into manageable pieces, and developing a general solution for each piece called an algorithm. The solutions to the pieces are collected together to form a program that solves the original problem. Understanding and analyzing a problem take up much more time than Figure 1.1 implies. They are the heart of the programming process. 7
  • 8. Problem Solving – Program Design: Algorithm /Pseudocode 8
  • 9. Problem Solving – Program Design: Algorithm /Pseudocode Compiler and Interpreters 9
  • 10. Steps in program development Ref: 10
  • 11. Problem Solving – Program Design: Algorithm /Pseudocode Steps in program development 1. Define the problem into three separate components:  inputs  outputs  processing steps to produce required outputs. 11
  • 12. Problem Solving – Program Design: Algorithm /Pseudocode Steps in program development 1. Outline the solution.  Decompose the problem to smaller steps.  Establish a solution outline.  Initial outline may include:  major processing steps involved  major subtasks  user interface  major control structures  major variable and record structures  mainline logic 12
  • 13. Problem Solving – Program Design: Algorithm /Pseudocode Steps in program development 1. Develop the outline into an algorithm.  The solution outline is now expanded into an algorithm.  What is an algorithm? – a set of precise steps that describe exactly the tasks to be performed and the order in which they are to be carried out.  Pseudocode will be used to represent the solution algorithm 13
  • 14. Problem Solving – Program Design: Algorithm /Pseudocode Steps in program development 1. Test the algorithm for correctness.  Very important in the development of a program, but often forgotten  Major logic errors can be detected and corrected at an early stage  Go through the algorithm step-by-step with test data to ensure the program will actually do what it is supposed to do. 14
  • 15. Problem Solving – Program Design: Algorithm /Pseudocode Steps in program development 1. Code the algorithm into a specific programming language.  Start to code the program into a chosen programming language after all design considerations from Steps 1–4 are met. 15
  • 16. Problem Solving – Program Design: Algorithm /Pseudocode Steps in program development 1. Run the program on the computer.  This step uses a program compiler and programmer-designed test data to machine- test the code for  syntax errors  logic errors 16
  • 17. Problem Solving – Program Design: Algorithm /Pseudocode Steps in program development 1. Document and maintain the program.  Is really an ongoing task from the initial definition of the problem to the final test  Documentation involves:  external documentation  internal documentation 17
  • 18. Problem Solving – Program Design: Algorithm /Pseudocode  Algorithmic Problem Solving 18
  • 19. Problem Solving – Program Design: Algorithm /Pseudocode An introduction to algorithms and pseudocode  What is an algorithm? Lists the steps involved in accomplishing a task (like a recipe) Defined in programming terms as ‘a set of detailed and ordered instructions developed to describe the processes necessary to produce the desired output from a given input’ 19
  • 20. Problem Solving – Program Design: Algorithm /Pseudocode An introduction to algorithms and pseudocode  What is an algorithm? An algorithm must:  Be lucid, precise and unambiguous  Give the correct solution in all cases  Eventually end 20
  • 21. Problem Solving – Program Design: Algorithm /Pseudocode An introduction to algorithms and pseudocode  What is pseudocode? Structured English (formalised and abbreviated to look like high-level computer language) 21
  • 22. Problem Solving – Program Design: Algorithm /Pseudocode How to write pseudocode  There are six basic computer operations: 1. A computer can receive information 2. A computer can put out information 3. A computer can perform arithmetic 4. A computer can assign a value to a variable or memory location 5. A computer can compare two variables and select one of two alternate actions 6. A computer can repeat a group of actions 22
  • 23. Problem Solving – Program Design: Algorithm /Pseudocode Exercise Time  Do some reading on the website below:  http://www.cs.dartmouth.edu/~fabio/teaching/c 23
  • 24. Problem Solving – Program Design: Algorithm /Pseudocode Meaningful names  When designing an algorithm, a programmer must introduce some unique names which represents variables or objects in the problem.  Names should be meaningful.  Names should be transparent to adequately describe variables (Number1, number2, etc.). 24
  • 25. Problem Solving – Program Design: Algorithm /Pseudocode Meaningful names  Underscore is used when using more than one word (sales_tax or word_count).  Most programming language does not tolerate a space in a variable as space would signal the end of a variable name.  Another method is to use capital letters as a word separator (salesTax or wordCount). 25
  • 26. Problem Solving – Program Design: Algorithm /Pseudocode The Structure Theorem 26
  • 27. Problem Solving – Program Design: Algorithm /Pseudocode The Structure Theorem 1. Sequence  Straightforward execution of one processing step after another  Represents the first four basic computer operations 1. Receive information 2. Put out information 3. Perform arithmetic 4. Assign values 27
  • 28. Problem Solving – Program Design: Algorithm /Pseudocode The Structure Theorem  A typical sequence statement in an algorithm might read: Add 1 to pageCount Print heading line1 Print heading line2 Set lineCount to zero Read customer record  These instructions illustrate the sequence control structure as a straightforward list of steps written one after the other, in a top-to-bottom fashion 28
  • 29. Problem Solving – Program Design: Algorithm /Pseudocode The Structure Theorem 1. Selection  Presentation of a condition and the choice between two actions, the choice depending on whether the condition is true or false  Represents the decision-making abilities of the computer  Illustrates the fifth basic computer operation – compare two variables and select one of two alternate actions 29
  • 30. Problem Solving – Program Design: Algorithm /Pseudocode The Structure Theorem  In pseudocode, selection is represented by the keywords IF, THEN, ELSE and ENDIF IF condition p is true THEN statement(s) in true case ELSE statement(s) in false case ENDIF  If condition p is true, then the statement in true case will be executed, and the statement in the false case will be skipped (vice versa) 30
  • 31. Problem Solving – Program Design: Algorithm /Pseudocode The Structure Theorem 1. Repetition  Presentation of a set of instruction to be performed repeatedly, as long as the condition is true  Block statement is executed again and again until a terminating condition occurs  Illustrates the sixth basic computer operation – to repeat a group of actions. 31
  • 32. Problem Solving – Program Design: Algorithm /Pseudocode The Structure Theorem  Written in pseudocode as: DOWHILE condition p is true statement block ENDDO  DOWHILE is a leading decision loop – condition is tested before any statements are executed  ENDDO triggers a return of control to the retesting of the condition  Condition is true, statements are repeated until condition is found false 32
  • 33. Problem Solving – Program Design: Algorithm /Pseudocode Exercise Time  In a complete program/ algorithm, show the 3 concepts of Structure Theorem 33
  • 34. Problem Solving – Program Design: Algorithm /Pseudocode Communication between modules  Necessary to consider flow of information between modules  This flow of information is called ‘intermodule communication’ and can be accomplished by the scope of the variable 34
  • 35. Problem Solving – Program Design: Algorithm /Pseudocode Communication between modules  Scope of a variable The portion of a program in which that variable has been defined and to which it can be referenced Variables can be global where the scope of the variable is the whole program Scope of the variable is simple the module which it is defined 35
  • 36. Problem Solving – Program Design: Algorithm /Pseudocode Communication between modules  Global data Date that can be used by all the modules in a program Every module in the program can access and change data Lifetime of a global variable spans the execution of the whole program 36
  • 37. Problem Solving – Program Design: Algorithm /Pseudocode Communication between modules  Local data Variable are defined within the submodule are called local variables The scope of a local variable is simply the module in which it is defined The lifetime of a local variable is limited to the execution of the single submodule in which it is defined 37
  • 38. Problem Solving – Program Design: Algorithm /Pseudocode Exercise time Show the difference between a global variable and a local variable via the use of a program, in any language of your choice. 38
  • 39. Problem Solving – Program Design: Algorithm /Pseudocode Communication between modules  Side effects Side effect is a form of a cross-communication of a module with other parts of a program, Occurs when a subordinate module alters the value of a global variable inside a module 39
  • 40. Problem Solving – Program Design: Algorithm /Pseudocode Communication between modules  Passing parameters Parameters are simply data items transferred from a calling module to its subordinate module at the time of calling To pass parameters between modules, two things can happen:  The calling module must name the parameters that it wants to pass to the submodule  The submodule must be able to receive those parameters and return them to the calling module if required 40
  • 41. Problem Solving – Program Design: Algorithm /Pseudocode Communication between modules  Formal and actual parameters Parameters names that appear when a submodule is defined are known as formal parameters Variables and expressions that are passed to a submodule in a particular call are called actual parameters 41
  • 42. Problem Solving – Program Design: Algorithm /Pseudocode Communication between modules  Value and reference parameters  Parameters may have one of three function: 1. To pass information from a calling module to a subordinate module 2. To pass information from a subordinate module to its calling module 3. To fulfil a two-way communication role 42
  • 43. Problem Solving – Program Design: Algorithm /Pseudocode Communication between modules  Value and reference parameters Value parameters  Value parameters pass a copy of the value of a parameter from one module to another Reference parameters  Reference parameter pass the memory address of a parameter from one module to another 43
  • 44. Problem Solving – Program Design: Algorithm /Pseudocode Module cohesion  Cohesion is a measure of the internal strength of a module  It indicates how closely the elements or the statements of a module are associated with each other  The more closely the elements of a module are associated with each other, the higher the cohesion of the module 44
  • 45. Problem Solving – Program Design: Algorithm /Pseudocode Module coupling  Coupling is a measure of the extent of information interchange between modules  Tight coupling implies large dependence on the structure of one module by another  Loose coupling is the opposite of tight coupling. Modules with loose coupling are more independent and easier to maintain 45
  • 46. Problem Solving – Program Design: Algorithm /Pseudocode Sequential file update  Master file Is a file that contains permanent and semi- permanent information about the data entities it contains  Transaction file Contains all the data and activities that are included on the master file. These are transactions to:  Add a new record  Update or change an existing record  Delete an existing record 46
  • 47. Problem Solving – Program Design: Algorithm /Pseudocode Sequential file update  Sequential update logic  Sequential processing falls generally into three categories: 1. If the key on the transaction record is less than the key on the old master record, the transaction is probably an add transaction 2. If they key on the transaction record is equal to the key on the old master record, the transaction is probably an update or delete transaction 3. If the key on the transaction record is greater that the key on the old master record, there is not matching transaction for that master record 47
  • 48. Problem Solving – Program Design: Algorithm /Pseudocode The End – Thank you for your kind attention  References: Simple Program Design – A step by step approach by L. A. Robertson 48
  • 49. Problem Solving – Program Design: Algorithm /Pseudocode http://ashesh.ramjeeawon.info Management Student/ Freelance Developer University of Mauritius BCS Student Member 49