01 AlgorithmicThinking
01 AlgorithmicThinking
Representation
What we need to solve problems?
2. Algorithm. Recipe to solve the problem.
Algorithms
An algorithm is a finite number of clearly described, unambiguous “doable” steps
that can be systematically followed to produce a desired result for given input in a
finite amount of time.
Different kind of algorithms
Step 1: Start
Step 2: Declare variables num1, num2 and sum.
Step 3: Read values num1 and num2.
Step 4: Add num1 and num2 and assign the result to sum.
sum←num1+num2
Step 5: Display sum
Step 6: Stop
Examples of algorithms
• Write an algorithm to find the largest among three
different numbers entered by user.
Step 1: Start
Step 2: Declare variables a, b and c.
Step 3: Read variables a, b and c.
Step 4: If a>b
If a>c
Display a is the largest number.
Else
Display c is the largest number.
Else
If b>c
Display b is the largest number.
Else
Display c is the greatest number.
Step 5: Stop
Examples of algorithms
• Write an algorithm to find all roots of a quadratic
equation ax2+bx+c=0.
Step 1: Start
Step 2: Declare variables a, b, c, D, x1, x2, rp and ip;
Step 3: Calculate discriminant
D←b2-4ac
Step 4: If D≥0
r1←(-b+√D)/2a
r2←(-b-√D)/2a
Display r1 and r2 as roots.
Else
Calculate real part and imaginary part
rp←b/2a
ip←√(-D)/2a
Display rp+j(ip) and rp-j(ip) as roots
Step 5: Stop
Examples of algorithms
• Write an algorithm to find all roots of a quadratic
equation ax2+bx+c=0.
Step 1: Start
Step 2: Declare variables a, b, c, D, x1, x2, rp and ip;
Step 3: Calculate discriminant
D←b2-4ac
Step 4: If D≥0
r1←(-b+√D)/2a
r2←(-b-√D)/2a
Display r1 and r2 as roots.
Else
Calculate real part and imaginary part
rp←b/2a
ip←√(-D)/2a
Display rp+j(ip) and rp-j(ip) as roots
Step 5: Stop
Examples of algorithms
• Write an algorithm to find the factorial of a
number entered by user.
Step 1: Start
Step 2: Declare variables n,factorial and i.
Step 3: Initialize variables
factorial←1
i←1
Step 4: Read value of n
Step 5: Repeat the steps until i=n
5.1: factorial←factorial*i
5.2: i←i+1
Step 6: Display factorial
Step 7: Stop
Examples of algorithms
• Write an algorithm to find the factorial of a
number entered by user.
Step 1: Start
Step 2: Declare variables n,factorial and i.
Step 3: Initialize variables
factorial←1
i←1
Step 4: Read value of n
Step 5: Repeat the steps until i=n
5.1: factorial←factorial*i
5.2: i←i+1
Step 6: Display factorial
Step 7: Stop
Examples of algorithms
• Write an algorithm to find the Fibonacci
series till term≤1000.
Step 1: Start
Step 2: Declare variables first_term,second_term and temp.
Step 3: Initialize variables first_term←0 second_term←1
Step 4: Display first_term and second_term
Step 5: Repeat the steps until second_term≤1000
5.1: temp←second_term
5.2: second_term←second_term+first term
5.3: first_term←temp
5.4: Display second_term
Step 6: Stop
Analysis of algorithms
The theoretical study of computer-program
performance and resource usage.
• Speed is fun!
Algorithms is about communication
Flow chart is a pictorial representation; algorithm is done through step by step
direction.
Algorithms and programs
The term bit stands for binary digit. A byte is a group of bits operated on as a single
unit in a computer system, usually consisting of eight bits.
Computer Architecture
Operative system
Computer Software
Computer software is a set of program
instructions, including related data and
documentation, that can be executed by
computer.
A compiler is a translator program that translates programs directly into machine code
to be executed by the CPU. An interpreter executes program instructions in place of
(“running on top of”) the CPU.
Errors
• Syntax error: violation of the programming
language rules
Traveling salesman problem: Find the shortest route of travel for a salesman needing
to visit a given set of cities
Any algorithm that correctly solves a given problem must solve the problem
in a reasonable amount of time, otherwise it is of limited practical use.