Introduction to Computing
L3-L5
Objectives
To learn and appreciate the following concepts
Introduction to algorithms and flowcharts
Algorithms and flowcharts for simple problems
Simple C programs
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 2
Session outcome
• At the end of session the student will be able to write
• Algorithms and flowcharts for simple problems
• Simple C programs
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 3
Algorithm
A step by step procedure to solve a particular problem
Named after Arabic Mathematician Abu Jafar Mohammed Ibn Musa Al
Khowarizmi
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 4
Algorithmic Notations
• Name of the algorithm [mandatory]
[gives a meaningful name to the algorithm based on the problem]
• Start [Begin of algorithm]
• Step Number [mandatory]
[indicate each individual simple task]
• Explanatory comment [optional]
[gives an explanation for each step, if needed]
• Termination [mandatory]
[tells the end of algorithm]
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 5
Properties of an algorithm
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 6
Steps to develop an algorithm
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 7
Compute the area of circle
Name of the algorithm : Compute the area of a circle
Step1: Start
Step 2: Input radius
Step 3: [Compute the area]
Area 3.1416 * radius * radius
Step 4: [Print the Area]
Print ‘Area of a circle =‘, Area
Step 5: [End of algorithm]
Stop
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 8
Interchange values of two variables
Name of the algorithm: Interchange values of 2 variables
Step 1: Start
Step 2: Input A,B
Step 3: temp A
Step 4: AB
Step 5: Btemp
Step 6: Print ‘A=’ , A
Print ‘B=’ , B
Step 7: [End of Algorithm]
Stop
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 9
Largest of 3 numbers
Name of the algorithm: Find largest of 3 numbers
Step 1: Start
Step 2: [Read the values of A, B and C]
Read A, B, C
Step 3: [Compare A and B]
if A>B Go to step 5
Step 4: [Otherwise compare B with C]
if B>C then
Print ‘B’ is largest’
else
Print ‘C’ is largest’
Go to Step 6
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 10
Largest of 3 Numbers contd
Step 5: [Compare A and C for largest]
if A>C then
Print ‘A’ is largest’
else
Print ‘C’ is largest’
Step 6: [End of the algorithm]
Stop
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 11
Tutorial on Algorithms
• Write the algorithm to find the area of triangle when three sides are
given
• Write the algorithm to add two integers
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 12
Flowcharts
In Computer Science, Flow chart is used to represent algorithm which
basically provides a solution to any computational problem.
• Flowchart: A graphical/pictorial representation of computation
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 13
Basic Flowchart Symbols
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 14
Area of the circle
Name of the algorithm: Compute
the area of a circle Flowchart
Step1: Input radius
Step 2: [Compute the area]
Area 3.1416 * radius*radius
Step 3: [Print the Area]
Print ‘Area of a circle =‘, Area
Step 4: [End of algorithm]
Stop
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 15
Comparing two numbers
Name of the algorithm: Comparing
Two numbers Flowchart
Step 1: start
Step 2: input num1, num2
Step 3: if num1 > num2 then
Print num1 is bigger
else
Print num2 is
bigger
Step 4: end
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 16
Swapping two numbers
Name of the algorithm: Swpping
Two numbers Flowchart
Step1: Input two numbers
Step 2: [swapping]
temp=a
a=b
b=temp
Step 3: [Print]
Print ‘after swapping=‘, a,b
Step 4: [End of algorithm]
Stop
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 17
Key features of flow chart
Diagrammatic / visual / graphical representation of computation of an
algorithm/pseudo code
Easier to understand and analyze the problem and it’s solution before
programming
Machine independent
Well suited for any type of logic
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 18
Tutorial
• Write the flowchart to find the area of triangle when three sides are
given
• Write the flowchart to add two integers
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 19
Simple C program
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 20
Hello world program
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 21
Structure of C program
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 22
Scanf()
• Scanf is used to obtain the value from the user
• Eg: Scanf(“%d”, &integer1);
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 23
C program essentials
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 24
Printf()
• C provides the printf() to display the data on the monitor.
• It is included in stdio.h
• Examples are:
• Printf(“programming is an art”;
• Printf(“%d”, number);
• Printf(“%f%f”, p,q);
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 25
Adding two integers
#include <stdio.h>
int main( void )
{
int sum; /* variable in which sum will be stored */
int integer1; /* first number to be input by user */
int integer2; /* second number to be input by user */
printf( "Enter first integer\n" );
scanf( "%d", &integer1 ); /* read an integer */
printf( "Enter second integer\n" );
scanf( "%d", &integer2 ); /* read an integer */
sum = integer1 + integer2; /* assign total to sum */
printf( "Sum is %d\n", sum ); /* print sum */
return 0; /* indicate that program ended successfully */
} /* end function main */
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 26
Syntax and Logical errors
Syntax errors: violation of programming language rules (grammar).
Detected by the compiler
Eg: printf (“hello world”) // semicolon missing
Logical errors: errors in meaning:
Programs are syntactically correct but don’t produce the expected output
User observes output of running program
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 27
Summary
Introduction to algorithms and flowcharts
Algorithms and flowcharts for simple problems
Simple C programs
27-08-2019 CSE 1001 Problem Solving using Computers (PSUC) - 2018 28