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

02 - Introduction To Algorithms

The document discusses the basics of algorithms and software development. It defines algorithms as sets of instructions to solve problems and introduces pseudocode and flowcharts as ways to represent algorithms. It then outlines the seven steps to developing a program: defining the problem, outlining a solution, developing an algorithm, testing the algorithm, coding it, running the program, and documenting it. Key aspects like structured programming, control structures, and modular design are also summarized.

Uploaded by

Aryan Bhandari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views

02 - Introduction To Algorithms

The document discusses the basics of algorithms and software development. It defines algorithms as sets of instructions to solve problems and introduces pseudocode and flowcharts as ways to represent algorithms. It then outlines the seven steps to developing a program: defining the problem, outlining a solution, developing an algorithm, testing the algorithm, coding it, running the program, and documenting it. Key aspects like structured programming, control structures, and modular design are also summarized.

Uploaded by

Aryan Bhandari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 25

Introduction to Algorithms –

Pseudocode and flowchart

CT108-3-1 Python Programming


(PYP)
Topic & Structure of the lesson

• Problem Solving Using Programmed


Solutions
– Introduction to algorithms
– Program design using pseudocodes and
simple notations of flowcharts
• sequence
• basic mathematics

CT010-3-1 Fundamentals of Software Development Module Briefing Slide 2 (of 22)


Learning outcomes

• At the end of this lecture you should be


able to:
– Define the steps in developing a program:
• define a problem
• outline a solution using algorithms –
– sequence
– basic mathematics

CT010-3-1 Fundamentals of Software Development Module Briefing Slide 3 (of 22)


Key terms you must be able to
use
• If you have mastered this topic, you
should be able to use the following terms
correctly in your assignments and exams:

– Algorithms
– Pseudocode
– Flowchart

CT010-3-1 Fundamentals of Software Development Module Briefing Slide 4 (of 22)


What is a Program?

• a collection of computer instructions or


operations
• grouped together
• logical manner
• accomplish a given task.

CT010-3-1 Fundamentals of Software Development Module Briefing


Six Basic Computer Operations

• A computer can
– receive information.
– output information.
– perform arithmetic.
– assign a value to a piece of data.
– compare two pieces of information and select
one of two alternative actions.
– repeat a group of actions.

CT010-3-1 Fundamentals of Software Development Module Briefing


What is an Algorithm?

• lists the steps involved in accomplishing a


task
• a set of detailed, unambiguous and
ordered instructions developed to describe
the processes necessary to produce the
desired output from a given input.

CT010-3-1 Fundamentals of Software Development Module Briefing


Introduction to Algorithm Tools

• An algorithm can be represented using


– Pseudocode
– Flowcharts

CT010-3-1 Fundamentals of Software Development Module Briefing


Pseudocode

• No standard pseudocode.
• Statements 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.
• Group of statements may be formed in modules
and that group is given a name.

CT010-3-1 Fundamentals of Software Development Module Briefing


Flowchart

• graphical representation of the program


logic
• uses a series of geometrical symbols and
lines which are connected according to the
logic of the algorithm

CT010-3-1 Fundamentals of Software Development Module Briefing


Structured Programming

• Refers to
– Structure Theorem
• Sequence
• Selection (IF-THEN-ELSE)
• Repetition (DOWHILE)
– Top down development
• Outline general solution
• Break down into detailed steps
• Also known as stepwise refinement or functional decomposition
– Modular Design
• Grouping tasks together because they all perform the same function
• Aids in reading and understanding the program
CT010-3-1 Fundamentals of Software Development Module Briefing
Steps to Developing a Program

1. Define the problem.


2. Outline the solution.
3. Develop the outline into an algorithm.
4. Test the algorithm for correctness.
5. Code the algorithm into a specific programming
language.
6. Run the program on the computer.
7. Document and maintain the program.

CT010-3-1 Fundamentals of Software Development Module Briefing


1. Define The Problem

• Divide the problem into THREE separate


components
– Inputs: a list of source data provided to the
problem
– Outputs: a list of the outputs required
– Processing: a list of actions needed to
produce the required outputs
The above three items can be presented in
a defining diagram.- IPO Chart
CT010-3-1 Fundamentals of Software Development Module Briefing
Defining Diagram

Input Processing Output

CT010-3-1 Fundamentals of Software Development Module Briefing


2. Outline The Solution

• During this stage, certain details are


identified from the
problem by analyzing it further, such as:
– major processing tasks involved.
– major subtasks (if any)
– major control structures.
– major variables
– mainline logic

CT010-3-1 Fundamentals of Software Development Module Briefing


3. Develop The Algorithm

• A detailed step by step algorithm is


written out.
• Often use one of three tools:
– Pseudocode
– Flowcharts
– Nassi-Schneiderman diagrams – will not be
covered in this module

CT010-3-1 Fundamentals of Software Development Module Briefing


Pseudocode

• Common terms used


– Begin / End
– Display
– Prompt user for
– Read
– IF ( ) THEN
ELSE
ENDIF
– DOWHILE ( )
ENDDO

CT010-3-1 Fundamentals of Software Development Module Briefing


Flowchart

CT010-3-1 Fundamentals of Software Development Module Briefing


Flowchart

CT010-3-1 Fundamentals of Software Development Module Briefing


4. Test Algorithm For Correctness

• one of the most important in the


development of a program, and yet it is the
step most often forgotten.
• The main purpose of desk checking the
algorithm is to identify major logic errors
early, so that they may be easily corrected.

CT010-3-1 Fundamentals of Software Development Module Briefing


5. Code the Algorithm

• Code the algorithm into a specific


programming language.

CT010-3-1 Fundamentals of Software Development Module Briefing


6. Run the Program

• Use a program compiler and programmer-


designed test data to machine-test the
code for both syntax and logic errors.

CT010-3-1 Fundamentals of Software Development Module Briefing


Document and Maintain the
Program
• Program documentation
– should not be listed as the last step
– Really an ongoing task from the initial definition of the
problem to the final test result.
– Involves both external documentation (such as
hierarchy charts, the solution algorithm, and test data
results) and internal documentation which may have
been coded in the program.
• Program maintenance refers to changes which
may need to be made to a program throughout
its life.
CT010-3-1 Fundamentals of Software Development Module Briefing
Summary of Main Teaching
Points
• Problem Solving Using Programmed
Solutions
– Introduction to algorithms
– Program design using pseudocodes and
simple notations of flowcharts
• sequence
• basic mathematics

CT010-3-1 Fundamentals of Software Development Module Briefing


Next Session

• Problem Solving Using Programmed


Solutions
– Introduction to control structure and iteration
– Program design using pseudocodes and
simple notations of flowcharts
• control structure
– if
– case
• iteration

CT010-3-1 Fundamentals of Software Development Module Briefing

You might also like