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

python-notes

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

python-notes

python notes for full syllabus
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 49

lOMoARcPSD|51291537

Python Notes

Problem Solving and Python Programming (Anna University)

Scan to open on Studocu

Studocu is not sponsored or endorsed by any college or university


Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)
lOMoARcPSD|51291537

GE3151 PROBLEM SOLVING AND PYTHON PROGRAMMING

UNIT I

COMPUTATIONAL THINKING AND PROBLEM SOLVING

Fundamentals of Computing – Identification of Computational Problems -Algorithms,


building blocks of algorithms (statements, state, control flow, functions), notation (pseudo
code, flow chart, programming language), algorithmic problem solving, simple strategies for
developing algorithms (iteration, recursion). Illustrative problems: find minimum in a list,
insert a card in a list of sorted cards, guess an integer number in a range, Towers of Hanoi.

BUILDING BLOCKS OF ALGORITHMS (statements, state, control flow, functions)


Algorithms can be constructed from basic building blocks namely, sequence, selection
and iteration.
Statements:
Statement is a single action in a computer.
In a computer statements might include some of the following actions
 Input data-information given to the program
 Process data-perform operation on a given input
 Output data-processed result
State:
Transition from one process to another process under specified condition with in a time is
called state.
Control flow:
The process of executing the individual statements in a given order is called control flow.
The control can be executed in three ways
1. Sequence
2. Selection
3. Iteration

Sequence:
All the instructions are executed one after another is called sequence execution.
Example:

Add two numbers:


Step 1: Start
Step 2: get a,b
Step 3: calculate c=a+b
Step 4: Display c
Step 5: Stop

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Selection:
A selection statement causes the program control to be transferred to a specific part of the
program based upon the condition.
If the conditional test is true, one part of the program will be executed, otherwise it will
execute the other part of the program.

Example
Write an algorithm to check whether he is eligible to vote?
Step 1: Start
Step 2: Get age
Step 3: if age >= 18 print “Eligible to vote”
Step 4: else print “Not eligible to vote”
Step 6: Stop

Iteration:
In some programs, certain set of statements are executed again and again based upon
conditional test. i.e. executed more than one time. This type of execution is called looping or
iteration.
Example
Write an algorithm to print all natural numbers up to n
Step 1: Start
Step 2: get n value.
Step 3: initialize i=1

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Step 4: if (i<=n) go to step 5 else go to step 7


Step 5: Print i value and increment i value by 1
Step 6: go to step 4
Step 7: Stop
Functions:
Function is a sub program which consists of block of code(set of instructions) that
performs a particular task.
For complex problems, the problem is been divided into smaller and simpler tasks
during algorithm design.

Benefits of Using Functions

 Reduction in line of code


 Code reuse
 Better readability
 Information hiding
 Easy to debug and test
 Improved maintainability
Example:
Algorithm for addition of two numbers using function
Main function()
Step 1: Start
Step 2: Call the function add()
Step 3: Stop

sub function add()


Step 1: Function start
Step 2: Get a, b Values
Step 3: add c=a+b
Step 4: Print c
Step 5: Return

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

NOTATIONS
FLOW CHART
Flow chart is defined as graphical representation of the logic for problem solving.
The purpose of flowchart is making the logic of the program clear in a visual representation.

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Rules for drawing a flowchart

1. The flowchart should be clear, neat and easy to follow.


2. The flowchart must have a logical start and finish.
3. Only one flow line should come out from a process symbol.

4. Only one flow line should enter a decision symbol. However, two or three flow lines may
leave the decision symbol.

5. Only one flow line is used with a terminal symbol.

6. Within standard symbols, write briefly and precisely.


7. Intersection of flow lines should be avoided.

Advantages of flowchart:

1. Communication: - Flowcharts are better way of communicating the logic of a system to


all concerned.
2. Effective analysis: - With the help of flowchart, problem can be analyzed in
more effective way.
3. Proper documentation: - Program flowcharts serve as a good program documentation,
which is needed for various purposes.
4. Efficient Coding: - The flowcharts act as a guide or blueprint during the systems analysis
and program development phase.
5. Proper Debugging: - The flowchart helps in debugging process.
6. Efficient Program Maintenance: - The maintenance of operating program becomes easy
with the help of flowchart. It helps the programmer to put efforts more efficiently on that part.

Disadvantages of flow chart:

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

1. Complex logic: - Sometimes, the program logic is quite complicated. In that


case, flowchart becomes complex and clumsy.
2. Alterations and Modifications: - If alterations are required the flowchart may require re-
drawing completely.
3. Reproduction: - As the flowchart symbols cannot be typed, reproduction of flowchart
becomes a problem.
4. Cost: For large application the time and cost of flowchart drawing becomes costly.

PSEUDO CODE:
 Pseudo code consists of short, readable and formally styled English languages used
for explain an algorithm.
 It does not include details like variable declaration, subroutines.
 It is easier to understand for the programmer or non programmer to understand the
general working of the program, because it is not based on any programming
language.
 It gives us the sketch of the program before actual coding.
 It is not a machine readable
 Pseudo code can’t be compiled and executed.
 There is no standard syntax for pseudo code.
Guidelines for writing pseudo code:
 Write one statement per line
 Capitalize initial keyword
 Indent to hierarchy
 End multiline structure
 Keep statements language independent

Common keywords used in pseudocode

The following gives common keywords used in pseudocodes.


1. //: This keyword used to represent a comment.
2. BEGIN,END: Begin is the first statement and end is the last statement.
3. INPUT, GET, READ: The keyword is used to inputting data.
4. COMPUTE, CALCULATE: used for calculation of the result of the given expression.
5. ADD, SUBTRACT, INITIALIZE used for addition, subtraction and initialization.
6. OUTPUT, PRINT, DISPLAY: It is used to display the output of the program.
7. IF, ELSE, ENDIF: used to make decision.
8. WHILE, ENDWHILE: used for iterative statements.
9. FOR, ENDFOR: Another iterative incremented/decremented tested automatically.

Syntax for if else:


IF (condition)THEN
statement

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

...
ELSE
statement
...
ENDIF

Example: Greates of two numbers


BEGIN
READ a,b
IF (a>b) THEN
DISPLAY a is greater
ELSE
DISPLAY b is greater
END IF
END

Syntax for For:


FOR( start-value to end-value) DO
statement
...
ENDFOR

Example: Print n natural numbers


BEGIN
GET n
INITIALIZE i=1
FOR (i<=n) DO
PRINT i
i=i+1
ENDFOR
END

Syntax for While:


WHILE (condition) DO

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

statement
...
ENDWHILE

Example: Print n natural numbers


BEGIN
GET n
INITIALIZE i=1
WHILE(i<=n) DO
PRINT i
i=i+1
ENDWHILE
END

Advantages:
 Pseudo is independent of any language; it can be used by most programmers.
 It is easy to translate pseudo code into a programming language.
 It can be easily modified as compared to flowchart.
 Converting a pseudo code to programming language is very easy as comparedwith
converting a flowchart to programming language.

Disadvantages:
 It does not provide visual representation of the program’s logic.
 There are no accepted standards for writing pseudo codes.
 It cannot be compiled nor executed.
 For a beginner, It is more difficult to follow the logic or write pseudo code ascompared
to flowchart.

Example:

Addition of two numbers:


BEGIN
GET a,b
ADD c=a+b
PRINT c
END

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

PROGRAMMING LANGUAGE

A programming language is a set of symbols and rules for instructing a computer to perform
specific tasks. The programmers have to follow all the specified rules before writing program
using programming language. The user has to communicate with the computer using
language which it can understand.

Types of programming language

1. Machine language
2. Assembly language
3. High level language

Machine language:

The computer can understand only machine language which uses 0’s and 1’s. In
machine language the different instructions are formed by taking different combinations of
0’s and 1’s.

Advantages:
Translation free:
Machine language is the only language which the computer understands. For executing any
program written in any programming language, the conversion to machine language is
necessary. The program written in machine language can be executed directly on computer. In
this case any conversion process is not required.
High speed
The machine language program is translation free. Since the conversion time is saved, the
execution of machine language program is extremely fast.

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Disadvantage:
 It is hard to find errors in a program written in the machine language.
 Writhing program in machine language is a time consuming process.

Machine dependent: According to architecture used, the computer differs from each other.
So machine language differs from computer to computer. So a program developed for a
particular type of computer may not run on other type of computer.
Assembly language:
To overcome the issues in programming language and make the programming process easier,
an assembly language is developed which is logically equivalent to machine language but it is
easier for people to read, write and understand.
 Assembly language is symbolic representation of machine language. Assembly languages
are symbolic programming language that uses symbolic notation to represent machine
language instructions. They are called low level language because they are so closely related
to the machines.

Assembler
Assembler is the program which translates assembly language instruction in to a machine
language.

 Easy to understand and use.


 It is easy to locate and correct errors.

Disadvantage
Machine dependent
The assembly language program which can be executed on the machine depends on the
architecture of that computer.
Hard to learn
It is machine dependent, so the programmer should have the hardware knowledge to create
applications using assembly language.
Less efficient
 Execution time of assembly language program is more than machine language program.
 Because assembler is needed to convert from assembly language to machine language.

High level language

High level language contains English words and symbols. The specified rules are to be
followed while writing program in high level language. The interpreter or compilers are used
for converting these programs in to machine readable form.

10

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Translating high level language to machine language


The programs that translate high level language in to machine language are called interpreter
or compiler.

Compiler:
A compiler is a program which translates the source code written in a high level language in
to object code which is in machine language program. Compiler reads the whole program
written in high level language and translates it to machine language. If any error is found it
display error message on the screen.

Interpreter
Interpreter translates the high level language program in line by line manner. The interpreter
translates a high level language statement in a source program to a machine code and
executes it immediately before translating the next statement. When an error is found the
execution of the program is halted and error message is displayed on the screen.

Advantages
Readability
High level language is closer to natural language so they are easier to learn and understand
Machine independent
High level language program have the advantage of being portable between machines.
Easy debugging
Easy to find and correct error in high level language.

Disadvantages
Less efficient
The translation process increases the execution time of the program. Programs in high level
language require more memory and take more execution time to execute.

They are divided into following categories:

1. Interpreted programming language


2. Functional programming languages
3. Compiled programming languages
4. Procedural programming languages
5. Scripting programming language
6. Markup programming language
7. Concurrent programming language
8. Object oriented programming language

11

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Interpreted programming languages:


An interpreted language is a programming language for which most of its
implementation executes instructions directly, without previously compiling a program into
machine language instructions. The interpreter executes the program directly translating each
statement into a sequence of one or more subroutines already compiled into machine code.
Examples:
Pascal
Python

Functional programming language:


Functional programming language defines every computation as a mathematical
evaluation. They focus on the programming languages are bound to mathematical
calculations
Examples:
Clean
Haskell

Compiled Programming language:


A compiled programming is a programming language whose implementation are
typically compilers and not interpreters.
It will produce a machine code from source code.
Examples:
C
C++
C#
JAVA

Procedural programming language:


Procedural (imperative) programming implies specifying the steps that the programs
should take to reach to an intended state.
A procedure is a group of statements that can be referred through a procedure call.
Procedures help in the reuse of code. Procedural programming makes the programs structured
and easily traceable for program flow.
Examples:
Hyper talk
MATLAB
12

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Scripting language:
Scripting language are programming languages that control an application. Scripts can
execute independent of any other application. They are mostly embedded in the application
that they control and are used to automate frequently executed tasks like communicating with
external program.
Examples:
shoppingmode Apple script
VB script

Markup languages:
A markup language is an artificial language that uses annotations to text that define
hoe the text is to be displayed.
Examples:
HTML
XML

Concurrent programming language:


Concurrent programming is a computer programming technique that provides for the
execution of operation concurrently, either with in a single computer or across a number of
systems.
Examples:
Joule
Limbo

Object oriented programming language:


Object oriented programming is a programming paradigm based on the concept of
objects which may contain data in the form of procedures often known as methods.
Examples:
Lava
Moto

13

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

ALGORITHMIC PROBLEM SOLVING:


Algorithmic problem solving is solving problem that require the formulation of an algorithm
for the solution.

Understanding the Problem


 It is the process of finding the input of the problem that the algorithm solves.
 It is very important to specify exactly the set of inputs the algorithm needs to handle.
 A correct algorithm is not one that works most of the time, but one that works correctly
for all legitimate inputs

Ascertaining the Capabilities of the Computational Device


 If the instructions are executed one after another, it is called sequential algorithm.
 If the instructions are executed concurrently, it is called parallel algorithm.

14

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Choosing between Exact and Approximate Problem Solving


 The next principal decision is to choose between solving the problem exactly or solving
it approximately.
 Based on this, the algorithms are classified as
exact algorithm and approximationalgorithm.

Deciding a data structure:


 Data structure plays a vital role in designing and analysis the algorithms.
 Some of the algorithm design techniques also depend on the structuring data specifying a
problem’s instance
 Algorithm+ Data structure=programs.

Algorithm Design Techniques


 An algorithm design technique (or “strategy” or “paradigm”) is a general approach to
solving problems algorithmically that is applicable to a variety of problems from different
areas of computing.
 Learning these techniques is of utmost importance for the following reasons.
 First, they provide guidance for designing algorithms for new problems,
 Second, algorithms are the cornerstone of computer science

Methods of Specifying an Algorithm


 Pseudocode is a mixture of a natural language and programming language-
like constructs. Pseudocode is usually more precise than natural language, and its usage often
yields more succinct algorithm descriptions.
 In the earlier days of computing, the dominant vehicle for specifying algorithms was
a flowchart, a method of expressing an algorithm by a collection of connected geometric
shapes containing descriptions of the algorithm’s steps.
 Programming language can be fed into an electronic computer directly. Instead, it needs
to be converted into a computer program written in a particular computer language. We can
look at such a program as yet another way ofspecifying the algorithm, although it is
preferable to consider it as the algorithm’s implementation.

Proving an Algorithm’s Correctness


 Once an algorithm has been specified, you have to prove its correctness. That is, you
have to prove that the algorithm yields a required result for every legitimate input in a finite
amount of time.
 A common technique for proving correctness is to use mathematical induction because an
algorithm’s iterations provide a natural sequence of steps needed for such proofs.
 It might be worth mentioning that although tracing the algorithm’s performance for a few
specific inputs can be a very worthwhile activity, it cannot prove the algorithm’s correctness
conclusively. But in order to show that an algorithm is incorrect, you need just one instance of
its input for which the algorithm fails.

Analysing an Algorithm

15

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

1. Efficiency.
Time efficiency, indicating how fast the algorithm runs,
Space efficiency, indicating how much extra memory it uses.

2. simplicity.
 An algorithm should be precisely defined and investigated with mathematical
expressions.
 Simpler algorithms are easier to understand and easier to program.
 Simple algorithms usually contain fewer bugs.

Coding an Algorithm
 Most algorithms are destined to be ultimately implemented as computer programs.
Programming an algorithm presents both a peril and an opportunity.
 A working program provides an additional opportunity in allowing an empirical analysis
of the underlying algorithm. Such an analysis is based on timing the program on several
inputs and then analysing the results obtained.

Simple Strategies For Developing Algorithms

SIMPLE STRATEGIES FOR DEVELOPING ALGORITHMS:

1. iterations
2. Recursions

1. Iterations:

A sequence of statements is executed until a specified condition is true is called iterations.


1. for loop
2. While loop

Syntax for For:


FOR( start-value to end-value) DO
Statement
...
ENDFOR

16

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Example: Print n natural numbers


BEGIN
GET n
INITIALIZE i=1
FOR (i<=n) DO
PRINT i
i=i+1
ENDFOR
END

Syntax for While:


WHILE (condition) DO
Statement
...
ENDWHILE

Example: Print n natural numbers


BEGIN
GET n
INITIALIZE i=1
WHILE(i<=n) DO
PRINT i
i=i+1
ENDWHILE
END

17

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Recursions:

 A function that calls itself is known as recursion.


 Recursion is a process by which a function calls itself repeatedly until some specified
condition has been satisfied.

Algorithm for factorial of n numbers using recursion:

Main function:
Step1: Start
Step2: Get n
Step3: call factorial(n)
Step4: print fact
Step5: Stop

Sub function factorial(n):


Step1: if(n==1) then fact=1 return fact
Step2: else fact=n*factorial(n-1) and return fact
18

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Pseudo code for factorial using recursion:

Main function:
BEGIN
GET n
CALL factorial(n)
PRINT fact
BIN

Sub function factorial(n):


IF(n==1) THEN
fact=1
RETURN fact
ELSE
RETURN fact=n*factorial(n-1)

More examples:

19

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Write an algorithm to find area of a rectangle

Step 1: Start
Step 2: get l,b values
Step 3: Calculate A=l*b
Step 4: Display A
Step 5: Stop

BEGIN
READ l,b
CALCULATE A=l*b
DISPLAY A
END

Write an algorithm for Calculating area and circumference of circle

Step 1: Start
Step 2: get r value
Step 3: Calculate A=3.14*r*r
20

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Step 4: Calculate C=2.3.14*r


Step 5: Display A,C
Step 6: Stop

BEGIN
READ r
CALCULATE A and C
A=3.14*r*r
C=2*3.14*r
DISPLAY A
END

Write an algorithm for Calculating simple interest

Step 1: Start
Step 2: get P, n, r value
Step3:Calculate
SI=(p*n*r)/100
Step 4: Display S
Step 5: Stop

21

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

BEGIN
READ P, n, r
CALCULATE S
SI=(p*n*r)/100
DISPLAY SI
END

Write an algorithm for Calculating engineering cutoff

Step 1: Start
Step2: get P,C,M value
Step3:calculate
Cutoff= (P/4+C/4+M/2)
Step 4: Display Cutoff
Step 5: Stop

22

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

BEGIN
READ P,C,M
CALCULATE
Cutoff= (P/4+C/4+M/2)
DISPLAY Cutoff
END

To check greatest of two numbers

Step 1: Start
Step 2: get a,b value
Step 3: check if(a>b) print a is greater
Step 4: else b is greater
Step 5: Stop

23

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

BEGIN
READ a,b
IF (a>b) THEN
DISPLAY a is greater
ELSE
DISPLAY b is greater
END IF
END

To check leap year or not

Step 1: Start
Step 2: get y
Step 3: if(y%4==0) print leap year
Step 4: else print not leap year
Step 5: Stop

24

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

BEGIN
READ y
IF (y%4==0) THEN
DISPLAY leap year
ELSE
DISPLAY not leap year
END IF
END

To check positive or negative number

Step 1: Start
Step 2: get num
Step 3: check if(num>0) print a is positive
Step 4: else num is negative
Step 5: Stop

25

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

BEGIN
READ num
IF (num>0) THEN
DISPLAY num is positive
ELSE
DISPLAY num is negative
END IF
END

To check odd or even number

Step 1: Start
Step 2: get num
Step 3: check if(num%2==0) print num is even
Step 4: else num is odd
Step 5: Stop

26

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

BEGIN
READ num
IF (num%2==0) THEN
DISPLAY num is even
ELSE
DISPLAY num is odd
END IF
END

To check greatest of three numbers

Step1: Start
Step2: Get A, B, C
Step3: if(A>B) goto Step4 else goto step5
Step4: If(A>C) print A else print C
Step5: If(B>C) print B else print C
Step6: Stop

27

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

BEGIN
READ a, b, c
IF (a>b) THEN
IF(a>c) THEN
DISPLAY a is greater
ELSE
DISPLAY c is greater
END IF
ELSE
IF(b>c) THEN
DISPLAY b is greater
ELSE
DISPLAY c is greater
END IF
END IF
END

Write an algorithm to check whether given number is +ve, -ve or zero.

Step 1: Start
Step 2: Get n value.
28

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Step 3: if (n ==0) print “Given number is Zero” Else goto step4


Step 4: if (n > 0) then Print “Given number is +ve”
Step 5: else Print “Given number is -ve”
Step 6: Stop

BEGIN
GET n
IF(n==0) THEN
DISPLAY “ n is zero”
ELSE
IF(n>0) THEN
DISPLAY “n is positive”
ELSE
DISPLAY “n is positive”
END IF
END IF
END
29

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Write an algorithm to print all natural numbers up to n

Step 1: Start
Step 2: get n value.
Step 3: initialize i=1
Step 4: if (i<=n) go to step 5 else go to step 8
Step 5: Print i value
step 6 : increment i value by 1
Step 7: go to step 4
Step 8: Stop

BEGIN
GET n
INITIALIZE i=1
WHILE(i<=n) DO
PRINT i
i=i+1
ENDWHILE
END
30

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Write an algorithm to print n odd numbers

Step 1: start
step 2: get n value
step 3: set initial value i=1
step 4: check if(i<=n) goto step 5 else goto step 8
step 5: print i value
step 6: increment i value by 2
step 7: goto step 4
step 8: stop

BEGIN
GET n
INITIALIZE i=1
WHILE(i<=n) DO
PRINT i
i=i+2
ENDWHILE
END
31

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Write an algorithm to print n even numbers

Step 1: start
step 2: get n value
step 3: set initial value i=2
step 4: check if(i<=n) goto step 5 else goto step8
step 5: print i value
step 6: increment i value by 2
step 7: goto step 4
step 8: stop

BEGIN
GET n
INITIALIZE i=2
WHILE(i<=n) DO
PRINT i
i=i+2
ENDWHILE

32

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

END

Write an algorithm to print squares of a number

Step 1: start
step 2: get n value
step 3: set initial value i=1
step 4: check i value if(i<=n) goto step 5 else goto step8
step 5: print i*i value
step 6: increment i value by 1
step 7: goto step 4
step 8: stop

BEGIN
GET n
INITIALIZE i=1
WHILE(i<=n) DO
PRINT i*i
i=i+2

33

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

ENDWHILE
END

Write an algorithm to print to print cubes of a number


Step 1: start
step 2: get n value
step 3: set initial value i=1
step 4: check i value if(i<=n) goto step 5 else goto step8
step 5: print i*i *i value
step 6: increment i value by 1
step 7: goto step 4
step 8: stop

BEGIN
GET n
INITIALIZE i=1
WHILE(i<=n) DO
PRINT i*i*i
i=i+2

34

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

ENDWHILE
END

Write an algorithm to find sum of a given number

Step 1: start
step 2: get n value
step 3: set initial value i=1, sum=0
Step 4: check i value if(i<=n) goto step 5 else goto step8
step 5: calculate sum=sum+i
step 6: increment i value by 1
step 7: goto step 4
step 8: print sum value
step 9: stop

BEGIN
GET n
INITIALIZE i=1,sum=0
WHILE(i<=n) DO
sum=sum+i

35

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

i=i+1
ENDWHILE
PRINT sum
END

Write an algorithm to find factorial of a given number

Step 1: start
step 2: get n value
step 3: set initial value i=1, fact=1
Step 4: check i value if(i<=n) goto step 5 else goto step8
step 5: calculate fact=fact*i
step 6: increment i value by 1
step 7: goto step 4
step 8: print fact value
step 9: stop

BEGIN
GET n
INITIALIZE i=1,fact=1

36

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

WHILE(i<=n) DO
fact=fact*i
i=i+1
ENDWHILE
PRINT fact
END

ILLUSTRATIVE PROBLEM

1. Guess an integer in a range

Algorithm:
Step1: Start
Step 2: Declare hidden, guess
Step 3: Compute hidden= Choose a random value in a range
Step 4: Read guess
Step 5: If guess=hidden, then
Print Guess is hit
Else
Print Guess not hit
Print hidden
Step 6: Stop

Pseudocode:
BEGIN
COMPUTE hidden=random value in range
READ guess
IF guess=hidden, then
PRINT Guess is hit
ELSE
PRINT Guess not hit
PRINT hidden
END IF-ELSE
37

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

END

Flowchart:

2. Find minimum in a list

Algorithm:
Step 1: Start
Step 2: Read n
Step 3:Initialize i=0
Step 4: If i<n, then goto
step 4.1, 4.2 else goto
step 5 Step4.1: Read a[i]
Step 4.2: i=i+1 goto step 4
Step 5: Compute min=a[0]
Step 6: Initialize i=1
Step 7: If i<n, then go to step 8 else goto step 10
Step 8: If a[i]<min, then goto
step 8.1,8.2 else goto 8.2
Step 8.1: min=a[i]
Step 8.2: i=i+1 goto 7
38

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Step 9: Print min


Step 10: Stop

Pseudocode:
BEGIN READ n
FOR i=0 to n, then
READ a[i]
INCREMENT i
END FOR
COMPUTE min=a[0]
FOR i=1 to n, then
IF a[i]<min, then
CALCULATE min=a[i]
INCREMENT i
ELSE
INCREMENT i
END IF-ELSE
END FOR
PRINT min
END

Flowchart:

39

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

3. Insert a card in a list of sorted cards

Algorithm:
Step 1: Start
Step 2: Read n
40

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Step 3:Initialize i=0


Step 4: If i<n, then goto step 4.1, 4.2 else goto step 5
Step4.1: Read a[i]
Step 4.2: i=i+1 goto step 4
Step 5: Read item
Step 6: Calculate i=n-1
Step 7: If i>=0 and item<a[i], then go to step 7.1, 7.2 else goto step 8
Step 7.1: a[i+1]=a[i]
Step 7.2: i=i-1 goto step 7
Step 8: Compute a[i+1]=item
Step 9: Compute n=n+1
Step 10: If i<n, then goto step 10.1, 10.2 lse goto st 11
Step10.1: Print a[i]
Step10.2: i=i+1 goto step 10
Step 11: Stop

Pseudocode:
BEGIN
READ n
FOR i=0 to n, then
READ a[i]
INCREMENT i
END FOR
READ item
FOR i=n-1 to 0 and item<a[i], then
CALCULATE a[i+1]=a[i]
DECREMENT i
END FOR
COMPUTE a[i+1]=a[i]
COMPUTE n=n+1
FOR i=0 to n, then
PRINT a[i]
INCREMENT i
END FOR
END
41

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Flowchart:

4. Tower of Hanoi

42

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Algorithm:
Step 1: Start
Step 2: Read n
Step 3: Calculate move=pow(2,n)-1
Step 4: Function call T(n,Beg,Aux,End) recursively until n=0
Step 4.1: If n=0, then goto
step 5 else goto step
4.2 Step
4.2: T(n-1,Beg,End,Aux) T(1,Beg,Aux,End) , Move disk from source to desti ation T(n-
1,Aux,Beg,End)
Step 5: Stop

Pseudcode:
BEGIN
READ n
CALCULATE move=pow(2,n)-1
FUNCTION T(n,Beg,Aux,End) Recursiv ly until n=0
PROCEDURE
IF n=0 then,
No disk to move
Else
T(n-1,Beg,End,Aux)
T(1,Beg,Aux,End), move isk from source to destination
T(n-1,Aux,Beg,En )
END PROCEDURE
END

Flowchart:

43

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

Procedure to solve Tower of Hanoi


The goal of the puzzle is to move all the disks from leftmost peg to rightmost peg.
1. Move only one disk at a time.
2. A larger disk may not be p1aced on top of a smaller disk. For example, consider n=3
disks

44

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

45

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

46

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

47

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)


lOMoARcPSD|51291537

48

Downloaded by Sathya Govindaraj (sathyacserbgs@gmail.com)

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy