Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
4 views

Computer Programming Lab

The document is a lab manual for a Computer Programming Laboratory under the CBCS 2022 scheme, detailing flowchart symbols, advantages and limitations of flowcharts, and pseudocode. It provides instructions for compiling and executing C programs in both Linux and Windows environments, along with several programming exercises including a calculator simulation, quadratic equation solver, palindrome checker, and electricity bill calculator. Each section includes algorithms, flowcharts, sample programs, and viva questions to enhance understanding of programming concepts.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Computer Programming Lab

The document is a lab manual for a Computer Programming Laboratory under the CBCS 2022 scheme, detailing flowchart symbols, advantages and limitations of flowcharts, and pseudocode. It provides instructions for compiling and executing C programs in both Linux and Windows environments, along with several programming exercises including a calculator simulation, quadratic equation solver, palindrome checker, and electricity bill calculator. Each section includes algorithms, flowcharts, sample programs, and viva questions to enhance understanding of programming concepts.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 67

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

LAB MANUAL
(CBCS 2022 SCHEME)

COMPUTER PROGRAMMING LABORATORY


Symbol Name Description
oval Represents the terminal point

Represents the process steps defined in


Rectangle algorithm

Indicate the reading Operation used for


input/output or
Parallelogram
data or information from/to any device

Indicates the decisions (questions) and


consequently
Diamond branch points or the paths to be followed
based on the
result of the question

Shows the flowchart direction and


Arrows connects the various flow chart symbols.

Shows the continuation from one point


Small circle in the process flow to another.

Represents
Looping
Hexagon structures

Subroutine
Process function

Advantages of Flowcharts:
A flowchart is a diagrammatic representation that illustrates the sequence of steps that must be
performed to solve a problem. They are usually drawn in the early stages of formulating computer
solutions to facilitate communication between programmers and business people.
Flowcharts help programmers to understand the logic of complicated and lengthy problems. They
help to analyze the problem in a more effective manner
Flowchart can be used to debug programs that have error(s).
E.g.: To compute the Area of Rectangle
Limitations of using Flowcharts:
Drawing flowcharts is a laborious and a time consuming activity. Flowchart of a complex program
becomes, complex and clumsy. At times, a little bit of alteration in the solution may require complete re-
drawing of the flowchart Essentials of what is done may get lost in the technical details of how it is done.
There are no well-defined standards that limits the details that must be incorporated in a flowchart
start

Read length & breadth

Area = length * breadth

Print Area

Stop

Pseudo code: It is a form of structured English that describes algorithms. It facilitates the designers to
focus on the logic of the algorithm without getting bogged down by the details of language syntax.
Pseudocode is a compact and informal high-level description of an algorithm that uses the structural
conventions of a programming language. It is meant for human reading rather than machine reading, so it
omits the details that are not essential for humans. Such details include keywords, variable declarations,
system-specific code and subroutines. There are no standards defined for writing a pseudocode because it
is not an executable program. Flowcharts can be considered as a graphical alternative to pseudocode, but
are more spacious on paper.

E.g.: To compute the area of Rectangle

Begin
Input length, breadth
Area=length*breadth
Print Area
End
Computer Programming Laboratory

Environment on Linux
Familiarization with computer hardware and programming environment, concept of naming
the program files, storing, compilation, execution and debugging. Taking any simple C- code.

Compile and Execute C Program in Linux operating system :


Step 1​: Open up a terminal

Create a folder in Home directory with your roll number or USN

Right click on the folder and click in properties and note down the path

On the command promt enter the following command which will take
you the folder created

cd /home/sgbit/foldername

Step 2: ​Use a text editor to create the C source code.

Type the command


gedit hello.c

and enter the C source code below:

Page 1
Computer Programming Laboratory

Step 3:​ Compile the program.

Type the command

gcc hello.c

or

gcc hello.c -lm

This command will invoke the GNU C compiler to compile the file ​hello.c

Step 4. Execute the program.

Type the command

./a.out

This should result in the output Hello World

Page 2
Computer Programming Laboratory

Environment on Windows
Familiarization with computer hardware and programming environment, concept of naming
the program files, storing, compilation, execution and debugging. Taking any simple C- code.

Working with TurboC

Step 1: Locate the TC.exe file and open it. You will find it at location C:\TC\BIN\.

Step 2: File > New (as shown in the below picture) and then write your C program

Page 2
Computer Programming Laboratory

Step 3: Save the program using F2 (OR file > Save), remember the extension should be “.c”. In the
below screenshot I have given the name as summ.c.

Page 3
Computer Programming Laboratory

Step 4: Compile the program using Alt + F9 OR Compile > Compile (as shown in the below screenshot).

Step 5: Press Ctrl + F9 to Run (or select Run > Run in menu bar ) the C program.

Page 4
Computer Programming Laboratory

Step 6: Alt+F5 to view the output of the program at the output screen.

GCC Compilation Process

Dept., of CSE, SGBIT, Belgaum Page 5


Computer Programming Laboratory

PART-A

Laboratory Program 1

Develop a program to solve simple computational problems using arithmetic expressions and use of
each operator leading to simulation of a commercial calculator. (No built-in math function).

1.1 ALGORITHM
PURPOSE : To simulate a calculator using arithmetic expressions
INPUT: Enter num1 and num2
OUTPUT: Print the result of addition or subtraction or multiplication or division or modulus.
START
Step 1: [Enter first number]
read num1
Step 2: [Enter Second number]
read num2
Step 3:[Enter Choice]
read choice
Step 4:[To perform addition]
if choice is equal to plus
add num1 and num2
print result
Step 5: [To perform subtraction]
if choice is equal to minus
subtract num2 from num1
print result
Step 6: [To perform multiplication]
if choice is equal to multiplication
multiply num1 and num2
print result
Step 7: [To perform division]
if choice is equal to division

Page 6
Computer Programming Laboratory

divide num1 by num2


print result
Step 8: [To perform Modulus]
if choice is equal to modulus
divide num1 by num2
print result (remainder)
STOP

1.2 FLOWCHART

START

Read num1 and


num2

Read choice

if choice=?

case '+'
result=num1+num2;

case '-'
result=num1-num2;

case '*'
result=num1*num2;

case '/' result=(float)num1/


(float)num2;

case '%' result=num1%num2;

default Invalid operation.

Result

STOP

Page 7
Computer Programming Laboratory

1.3 PROGRAM
#include <stdio.h>
void main()
{
int num1,num2;
float result;
char choice; //to store operator choice

printf("Enter first number: ");


scanf("%d",&num1);
printf("Enter second number: ");
scanf("%d",&num2);
printf("Choose operation to perform (+,-,*,/,%%): ");
scanf(" %c",&choice);
result=0;
switch(choice)
{
case '+':
result=num1+num2;
break;
case '-':
result=num1-num2;
break;
case '*':
result=num1*num2;
break;
case '/':
result=(float)num1/num2;
break;
case '%':
result=num1%num2;
break;

Dept., of CSE, SGBIT, Belgaum Page 8


Computer Programming Laboratory

default:
printf("Invalid operation.\n");
}
printf("Result: %d %c %d = %f\n",num1,choice,num2,result);

}
***************************************************************************
OUTPUT:
First run:
Enter first number: 10
Enter second number: 20
Choose operation to perform (+,-,*,/,%): +
Result: 10 + 20 = 30.000000

Second run:
Enter first number: 10
Enter second number: 3
Choose operation to perform (+,-,*,/,%): /
Result: 10 / 3 = 3.333333

Third run:
Enter first number: 10
Enter second number: 3
Choose operation to perform (+,-,*,/,%): >
Invalid operation.
Result: 10 > 3 = 0.000000
******************************************************************************
VIVA QUESTIONS:

1) What is Switch statement?


2) How many cases can you have in switch statement?
3) How switch statement works?
4) What does break in switch statement indicate?
5) What is a case in a switch statement?

Page 9
Computer Programming Laboratory

Laboratory Program 2

Develop a program to compute the roots of a quadratic equation by accepting the coefficients. Print
appropriate messages.

2.1 ALGORITHM
Purpose : To find roots of a given quadratic equation.
Input: Coefficients of quadratic equation a, b, c
Output: Root1 and Root2
START
STEP 1: [Input the values of a, b, c]
read a, b, c
STEP 2: [Calculate the determinant]
determinant = b*b-4*a*c
STEP 3: [Check for validity]
If a is equal to 0 and b is equal to 0
print “Invalid Inputs”
STEP 4: [Check for different roots]
If a is equal to 0
print “Linear equation”
Root1=-c/b
Print “Root1”
STEP 5: [Check for real and equal roots]
If determinant is equal to 0
print “Roots are real and equal”
Root1= -b/(2*a)
Root2 = -b/(2*a)
Print “Root1 & Root2”
STEP 6: [Check for real and distinct roots]
If determinant is greater than 0
Then print “Roots are real and distinct”
Root1= (-b+ (sqrt (fabs (determinant))))/(2*a)
Root2= (-b-(sqrt (fabs (determinant))))/(2*a)

Page 10
Computer Programming Laboratory

Print “root1 and root2”


End if
STEP 7: [Check for imaginary roots]
print “Roots are imaginary”
Real=-b/ (2*a)
Imaginary=sqrt (fabs (determinant))/ (2*a)
print “Root1 and R oot2”
STEP 8: [Finished]

STOP
2.2 FLOWCHART

Page 11
Computer Programming Laboratory

2.3 PROGRAM

#include<stdio.h>
#include<math.h>
void main()
{

float a,b,c;
float root1,root2;
float determinant,real,imaginary;

printf("Enter the Co-efficient of Quadratic Equation\n");


scanf("%f%f%f",&a,&b,&c);
determinant=b*b-4*a*c;
if(a==0 && b==0)
{

printf("INVALID INPUTS\n");

}
else if(a==0)
{
printf("LINEAR EQUATION\n");
root1=-c/b;
printf("ROOT=%f\n",root1);
}
else if(determinant == 0)
{
printf("ROOTS ARE REAL AND EQUAL\n");
root1=-b/(2*a);
root2=-b/(2*a);
printf("Root1=%f\n Root2=%f",root1,root2);
}
else if(determinant>0)
Page 12
Computer Programming Laboratory

{
printf("ROOTS ARE REAL AND DISTINCT\n");
root1=(-b+(sqrt(fabs(determinant))))/(2*a);
root2=(-b-(sqrt(fabs(determinant))))/(2*a);
printf("ROOT1=%f\n ROOT2=%f",root1,root2);
}
else
{
printf("ROOTS ARE IMAGINARY\n");
real=-b/(2*a);
imaginary=sqrt(fabs(determinant))/(2*a);
printf("ROOT1=%f+i%f\n",real,imaginary);
printf("ROOT2=%f-i%f\n",real,imaginary);
}
}
******************************************************************************
Output 1:
Enter the Co-efficient of Quadratic Equation
000
Invalid Coefficients
Output 2:
Enter the Co-efficient of Quadratic Equation
021
Root1=-0.5

Output 3:
Enter the Co-efficient of Quadratic Equation
121
Roots are Real and Equal
Root1=-1.0000
Root2=-1.0000

Page 13
Computer Programming Laboratory

Output 4:
Enter the Co-efficient of Quadratic Equation
189
Roots are Real and Distinct
Root1=-1.354
Root2=-6.646
Output 5:
Enter the Co-efficient of Quadratic Equation
123
ROOTS ARE IMAGINARY
ROOT1=-1.000+i1.414
ROOT2=-1.000-i1.414
******************************************************************************
Viva Questions:
1) What is quadratic Equation?
2) What is math.h?
3) What are decision making capabilities of C language?
4) Write the syntax of “ if ”statement?
5) Difference between if and switch statements?
6) Write an unconditional control statement in C.
7) Write a flowchart for „ if‟ conditional construct?

Page 14
Computer Programming Laboratory

Practice Program

Develop a program to find the reverse of a positive integer and check for palindrome or not. Display
appropriate messages.
0.1 ALGORITHM
Purpose : To check the given integer is palindrome or not
Input: Num
Output : Reverse and palindrome or not

START
STEP 1: [Input a number]
read num
STEP 2: [To check the given number is 4 digits or not]
If the number less than 999 or greater than 9999
print “it is not a four digit number”
Goto step 5
STEP 3: [Calculate the reverse of given number]
Temp=num
Loop while temp not equal to 0
Remainder=temp%10
Temp=temp/10
Reverse=reverse*10+remainder
print “reverse number”
STEP 4: [Check number is a palindrome or not]
If Num is equal to reverse
print “Num is palindrome “
Else
print “Num is not palindrome”
STEP 5: [Finished]
STOP

Page 15
Computer Programming Laboratory

0.2 FLOWCHART

Page 16
Computer Programming Laboratory

0.3 PROGRAM

#include<stdio.h>
void main()
{
int NUM,reverse=0,temp,remainder;

printf("Enter a number to check if it is a palindrome or not \n");


scanf("%d",&NUM);
if(NUM<=999 || NUM>9999)
{
printf("Enter Four Digit Number \n");
}

temp=NUM;
while (temp!=0)
{
remainder=temp%10;
temp=temp/10;
reverse=reverse*10+remainder;
}
printf("Reverse of %d is %d \n",NUM,reverse);
if(NUM==reverse)

printf("%d is a palindrome number \n", NUM);


else
printf("%d is not a palindrome number \n", NUM);
}

Page 17
Computer Programming Laboratory

Output 1:
Enter a number to check if it is a palindrome or not
123
Enter Four digit number
Output 2:
Enter a number to check if it is a palindrome or not
1234
1234 is not a palindrome number
Output 3:
Enter a number to check if it is a palindrome or not
1221
1221 is a palindrome number
******************************************************************************
Viva Questions:
1. What are Looping control statements?
2. Explain while loop.
3. What is the difference between while and for loops?
4. What are the Entry controlled and Exit controlled loops in C?
5. Write the flowchart for „while‟ loop.

Page 18
Computer Programming Laboratory

Laboratory Program 3

An electricity board charges the following rates for the use of electricity: for the first 200 units 80
paise per unit: for the next 100 units 90 paise per unit: beyond 300 units Rs 1 per unit. All users are
charged a minimum of Rs. 100 as meter charge. If the total amount is more than Rs 400, then an
additional surcharge of 15% of total amount is charged. Write a program to read the name of the
user, number of units consumed and print out the charges.

3.1 ALGORITHM

PURPOSE: Read The Name Of The User, Number Of Units Consumed And Print
INPUT: name [10], unit
OUTPUT: Print the charges for total number of units consumed
START
STEP 1: [Input a name and units]
read name and unit
STEP 2: [Initialization]
Metercharge=100
STEP3: [To check electricity unit is less than or equal to 200 and calculate
metercharge] If unit less than or equal to 200
metercharge= metercharge+(unit*.80)
STEP 4: [Else check unit is greater than 200 and greater than 300 and calculate
metercharge] If unit greater than 200 and unit greater than or equal to 300
metercharge= metercharge+(200*0.80)+(unit-200)*0.90)
STEP 5: [Else check unit is greater than 300 and calculate metercharge]
If unit is greater than 300
metercharge= metercharge+(200*0.80)+(100*0.90)+(unit-300)*1)
STEP 6: [To check and calculate if meter charge is greater than 400 ]
If metercharge greater than or equal to 400
metercharge=metercharge+(metercharge*0.15);
STEP 7: [Finished]
STOP

Page 19
Computer Programming Laboratory

3.2 FLOW CHART

5.3 PROGRAM

#include <stdio.h>
void main()
{
char name[10];
float unit, metercharge=100;
printf("Enter your name and unit Consumed:");
scanf("%s%f",name,&unit);
if(unit<=200)

Page 20
Computer Programming Laboratory

metercharge= metercharge+(unit*.80);
else if(unit > 200 && unit <= 300)
metercharge= metercharge+(200*0.80)+(unit-200)*0.90;
else if(unit>300)
metercharge= metercharge+(200*0.80)+(100*0.90)+(unit-300)*1;
if(metercharge>=400)
metercharge=metercharge+(metercharge*0.15);
printf("Name: %s\n Number of unit consumed: %f \n MeterCharge: %f",name,unit,metercharge);

}
*****************************************
Output 1:
Enter your name and unit Consumed:Suresh 200
Name: Suresh
Number of unit consumed: 200
MeterCharge : 260.000

Output 2:
Enter your name and unit Consumed:Ramesh 400
Name: Ramesh
Number of unit consumed: 400
MeterCharge : 724.5000

******************************************************************************
Viva Questions:

1) What is else-if ladder?


2) What are the possible outputs of if statement?
3) What is conditional branching statement?
4) Write the syntax of if- statement?
5) Write the syntax of else if statement?

Page 21
Computer Programming Laboratory

Lab Program 5

Introduce 1D Array manipulation and implement Binary search

5.1 ALGORITHM

PURPOSE: Implement Binary search


INPUT: n, a[50], key
OUTPUT: key is present at the position or key not found
START

STEP 1: [Read no of elements]

Read n

STEP 2: [Read the elements of the array]


For i=0 to n
Read a[i]

End ith for loop

STEP 3: [Read the elements to be searched]

Read key

STEP 4: [Initiliazation]

low = 0;

high = n-1;

STEP 5: [ Check whearther low is less than of equal to high and calculate mid)


while low <=high
mid= (low+ high)/2;

STEP 6: [Check if mid is equal to key )

If a[mid] is equal to key

Page 22
Computer Programming Laboratory

STEP 7: [print the key position]

Print key is present at the position mid+1

STEP 8: [if key found initialize found is 1]

found=1

STEP 9: [check if mid is greater than key and calculate]

If mid is greater than key

high = mid-1;

STEP 10: [Else]

low = mid+1;

STEP 11: [Check if key is not found]

If not found

Print key not found

STEP 12:[Finished]

STOP

Page 23
Computer Programming Laboratory

5.2 FLOWCHART

Page 24
Computer Programming Laboratory

5.3 PROGRAM

#include <stdio.h>
void main()
{
int a[50], key, i, n , low, high,mid, found =0;
printf("\n Enter the number of elements in the array: ");
scanf ("%d", &n);
printf (" \n Enter the elements of the array: ");
for(i=0;i<n;i++)
{
scanf("%d", &a[i]);
}
printf("\n Enter the key to be searched: \n" );
scanf ("%d", &key);
low = 0;
high = n-1;
while (low <= high)
{
mid= (low+ high)/2;
if (a[mid] == key)
{
printf("\n %d is present at the position = %d", key, mid+1);
found=1;
break;
}
if (a[mid] > key)
high = mid-1;
else
low = mid+1;
}
if(!found)
printf(“key not found”);

Page 25
Computer Programming Laboratory

}
***************************************************************
Output 1:
Enter the number of elements in the array: 5
Enter the elements of the array:
10 20 30 40 50
Enter the key to be searched: 30
30 is present at the position = 3

Output 2:
Enter the number of elements in the array: 5
Enter the elements of the array:
10 20 30 40 50
Enter the key to be searched: 60
key not found
******************************************************************************
Viva Questions:
What is searching?
What are the types of searching?
Explain with an example for binary search.
Explain with an example for linear search.
Which is better searching technique?

Page 26
Computer Programming Laboratory

Practice Program 3
Implement using functions to check whether the given number is prime and display appropriate
messages. (No built-in math function)

0.1 ALGORITHM

Purpose:To check whether a given number is prime or not.

Input:A number

Output:Given Number is prime or not

START

STEP 1: [Enter a positive number]

read n

STEP 2: [To check number is prime or not]


for i=2 to m/2
if m% i is equal to 0
return 0

STEP 3:[Display the output]


Print the number is NOT prime.

STEP 4: [To check number is prime or not]


for i=2 to m/2
if m% i is equal to 1
return 1

STEP 5:[Display the output]


Print the number is prime.
STOP

Page 27
Computer Programming Laboratory

0.2 FLOWCHART

0.3 PROGRAM

#include<stdio.h>
int isprime(int m)
{
int i;
for(i=2;i<=m/2;i++)
{
if(m%i == 0)
return 0;
}
return 1;
}

Page 28
Computer Programming Laboratory

void main()
{

int isprime(int);

int n;
printf("Enter a +ve integer greater than 1:");

scanf("%d",&n);
if (isprime(n))

printf("%d is prime number\n",n);


else

printf("%d is not prime number\n",n);


}
******************************************************************************

OUTPUT1:

Enter a +ve integer : 5

5 is prime number

OUTPUT 2:

Enter a +ve integer : 12

12 is not prime number

******************************************************************************

VIVA QUESTION:

1. What is prime number?


2. What is a function?
3. What are the types of function?
4. Explain the flow of program with example
5. Explain the syntax of for loop.

Page 29
Computer Programming Laboratory

Laboratory Program 6

Develop a program to introduce 2D Array manipulation and implement Matrix multiplication and
ensure the rules of multiplication are checked.

6.1 ALGORITHM

PURPOSE : Multiply 2 matrices


INPUT : Two matrices
OUTPUT : Multiplication of 2 matrices
START
STEP 1: [Read the order of matrix A]
Read m,n
STEP 2: [Read the order of matrix B]
Read p,q
STEP 3 : [Check for compatible]
If n!=p
Print matrix multiplication not possible
Goto step 10
STEP 4 : [Read the elements of matrix A]

For i 0 to m-1 do

For j 0 to n-1 do
Read a[i][j]
End jth for loop
End ith for loop
STEP 5: [Read the elements of matrix B]

For i 0 to p-1 do

For j 0 to q-1 do
Read b[i][j]
End jth for loop
End ith for loop
STEP 6: [Compute multiplication]

Page 30
Computer Programming Laboratory


For i 0 to m-1 do

For j 0 to q-1 do

C[i][j] 0

For k 0 to n-1 do
C[i][j] c[i][j]+a[i][k]*b[k][j]
End kth for loop
End jth for loop
End ith for loop
STEP 7: [Display matrix A]

For i 0 to m-1 do

For j 0 to n-1 do
Print a[i][j]
End jth for loop
End ith for loop
STEP 8: [Display matrix B]

For i 0 to p-1 do

For j 0 to q-1 do
Print b[i][j]
End jth for loop
End ith for loop
STEP 9: [Display matrix C]

For i 0 to m-1 do

For j 0 to n-1 do
Print c[i][j]
End jth for loop
End ith for loop
STEP 10: [Finished]
STOP

6.2 FLOWCHART

Page 31
Computer Programming Laboratory

Page 32
Computer Programming Laboratory

6.3 PROGRAM

#include<stdio.h>
void main()
{
int a[5][5],b[5][5],c[5][5],m,n,p,q,i,j,k;
printf("Enter the size of first matrix\n");
scanf("%d %d",&m,&n);
printf("Enter the size of second matrix \n");
scanf("%d %d",&p,&q);
if(n == p)
{

printf("Enter the elements of first matrix\n");


for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}

}
printf("Enter the elements of the second matrix \n");
for(i=0;i<p;i++)
{

for(j=0;j<q;j++)
{
scanf("%d",&b[i][j]);
}
}
for(i=0;i<m;i++)
{
for(j=0;j<q;j++)

{
Page 33
Computer Programming Laboratory

c[i][j]=0;
for(k=0;k<n;k++)
{
c[i][j]=c[i][j]+a[i][k]*b[k][j];
}
}
} // end of if
printf("The product of two matrix is \n");
for(i=0;i<m;i++)
{
for(j=0;j<q;j++)
{
printf("%d\t",c[i][j]);
}
printf("\n");
}
}
else
printf(“Multiplication is not possible”);
}

************************************************************************
Output1:
Enter the size of first matrix:2 2
Enter the size of second matrix:2 2
Enter the elements of first matrix :1 2 3 4
Enter the elements of second matrix :5 6 7 8
The product of two matrix
19 22
43 50
************************************************************************
VIVA QUESTIONS:
1.What is a multi-dimensional array?

Page 34
Computer Programming Laboratory

2. How to initialize two dimensional arrays?


3. How to pass a two dimensional array as function parameter?
4. How the memory is allocated for two dimensional array

Page 35
Computer Programming Laboratory

Laboratory Program 7

Develop a Program to compute Sin(x) using Taylor series approximation .Compare your result with the
built- in Library function. Print both the results with appropriate messages.

7.1 ALGORITHM

Algorithm : To compute Sin(x) using Taylor series approximation


Purpose: To compute sine(x) value using Taylor's series
Input: Degree ie. Value of x
Output : sine value for given degree
START
Step 1:[Input value of degree]
Read degree
Step 2: [Convert degree to radians]
X=(degree *PI)/180
Step 3: [InitialCSE]
term =x
sum=term
Step 4: [Calcuate each term and add]
term=-term*x*x/((i-1)*i);
sum=sum+term;
Step 5: [Print the output]
Print the sine value for the given degree
STOP
7.2 FLOWCHART

Page 36
Computer Programming Laboratory

7.3 PROGRAM
#include<stdio.h>
#include<math.h>
void main()
{
int i, j, n, degree;
float x, sum=0,term;
printf("Enter the value of degree");
scanf("%d",&degree);

Page 37
Computer Programming Laboratory

printf("\nEnter the number of terms");


scanf("%d",&n);
x = degree * (3.1416/180);
term = x;
sum=term;
for (i=2,j=2;j<=n;i+=2,j++)
{
term=-term*x*x/(i*(i+1));
sum=sum+term;
}
printf("\nThe sine of %d is %.3f\n", degree, sum);
printf("The sine function of %d using library function is %.3f", degree, sin(x));
}
******************************************************************************
Output:
Enter the value of degree :90
Enter the number of terms :8
The sine of 90 is 1.000
The sine function of 90 is using library function is 1.000

******************************************************************************
VIVA QUESTIONS:
1. What is pre-processor directive?
2. What is difference between const and #define.
3. What is use of fabs().
4. What is variable initialization and why is it important?
5. What is the difference between the = symbol and == symbol?
6. Can the curly brackets { } be used to enclose a single line of code?

Page 38
Computer Programming Laboratory

Laboratory Program 9

Write functions to implement string operations such as compare, concatenate, string length. Convince
the parameter passing techniques.

9.1 ALGORITHM

Algorithm: string operations such as compare, concatenate, string length.

Purpose: To find String length, Compare two Strings, Concatenate two strings

Input: Two strings

Output: Length of string1

Concatenated String

Comparison of two strings

START

STEP 1: [Store two strings in Str1 and Str2]

Str1=String1 and Str2=String2

STEP 2:[To find String Length]

initialize i to 0

while(str[i] not equal to 0)

increment i by 1

STEP 3: [To Compare two Strings]

initialize i to 0

while (str1[i] is equal to str2[i])

if (str1[i] is equal to null)

break;

increment i by 1

return str1[i]-str2[i];

STEP 4: [To Concatenate two Strings]

Page 39
Computer Programming Laboratory

initialize i to 0 and j to 0

while (str1[i] not equal to null)

increment i by 1

while (str2[j] not equal to null)

str1[i++]=str2[j++];

STEP 5: [Output the results]

The length of the String

res1=Comparision of two Strings

res2= Concatenated String

STOP

9.3 PROGRAM

#include<stdio.h>
int my_strlen(char str[])
{
int i=0;
while (str[i]!='\0') i++;
return i;
}

int my_strcmp(char str1[],char str2[])


{
int i=0;
while (str1[i]==str2[i])
{
if (str1[i]=='\0')
break;
i++;
}
return str1[i]-str2[i];
}

Page 40
Computer Programming Laboratory

void my_strcat(char str1[], char str2[])


{
int i=0,j=0;
while (str1[i]!='\0')
i++;
while (str2[j]!='\0')
{
str1[i++]=str2[j++];

}
str1[i++]='\0';

printf("concatinated string= %s", str1);


}
void main()
{
char str1[]="RAMA";
char str2[]="KRISHNA";
int res1,res2;
res1=my_strlen(str1);
printf(“the length of the string1=%d\n”, res1);
res2=my_strcmp(str1,str2);
if (res2==0)
printf("%s is equal to %s\n",str1,str2);
else if (res2>0)
printf("%s is greater than %s\n",str1,str2);
else
printf("%s s is less than %s\n",str1,str2);
my_strcat(str1,str2);
}

Page 41
Computer Programming Laboratory

9.2 FLOWCHART

Page 42
Computer Programming Laboratory

OUTPUT

The length of the string1=4

RAMA is greater than KRISHNA

concatinated string=RAMAKRISHNA

****************************************************************

VIVA QUESTIONS

1) What is string?
2) What are the built-in functions of string?
3) Difference between user defined functions and built in functions.
4) What is null character?
5) Explain the flow of program with example.

Page 43
Computer Programming Laboratory

Laboratory Program 8

Develop a program to sort the given set of N numbers using Bubble sort.

8.1 ALGORITHM
ALGORITHM : Bubble sort
PURPOSE : Arranging the numbers in ascending order using bubble sort technique
INPUT : N, interger numbers in arrary a[i]
OUTPUT : Numbers are arranged in ascending order
START
STEP 1: [Input number of elements]
Read n
STEP 2: [Input the elements/numbers into array]

For i 0 to n
Read a[i]
Endfor
STEP 3 : [Sorting the elements in ascending order]

For i o to n-1
For j o to n-i-1
[Compare the adjacent elements]
If(a[j]>a[j+1]) then
[Swap these elements]

Temp  a[j]
a[j]  a[j+1]
a[j+1]  temp
endif
endfor
endfor
STEP 4: [Display the sorted elements of array]

For i 0 to n
Print a[i]
Endfor
STEP 5: [Finished]
Page 44
Computer Programming Laboratory

STOP

8.2 FLOWCHART

Page 45
Computer Programming Laboratory

8.3PROGRAM

#include<stdio.h>
void main()
{

int n,i,j,a[10],temp;

printf("Enter the no. of elements :\n");


scanf("%d",&n);
printf("Enter the array elements \n”);
for(i = 0 ; i < n ; i++)
scanf("%d",&a[i]);
printf("The original elements are \n");
for(i = 0 ; i < n ; i++)

printf("%d ",a[i]);
for(i= 0 ; i < n-1 ; i++) // Number of Passes
{
for(j= 0; j< n-i-1; j++) // Comparisons
{
if(a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}

printf("\n The Sorted elements are \n");


for(i = 0 ; i < n ; i++)

printf("%d\t ",a[i]);

}
******************************************************************************

Page 46
Computer Programming Laboratory

Output 1:
Enter the no. of elements:5
54321
The Sorted elements are 1 2 3 4 5
******************************************************************************
VIVA QUESTIONS:
1. Why the name bubble sort?
2. Mention the different types of sorting techniques?
3. Explain the logic of bubble sort with an example.
4. What is nested for loop?

Page 47
Computer Programming Laboratory

Practice Program 4

Develop a program to find the square root of a given number N and execute for all possible inputs with
appropriate messages. Note: Don’t use library function sqrt(n).

0.1 ALGORITHM

Algorithm: Square root


Purpose : To find square root of a given number without using inbuilt functions
Input: num
Output : Square root of a given number
START
STEP 1: [Initialize]

temp  0
STEP 2: [Enter a number]
Read num
STEP 3: [Divide the num by 2]
square_root=num/2
STEP 4: [Calculate a square root of a number]
While (square_root not equal to temp)

temp  square_root
square_root  (num/square_root+square_root)/2
STEP 5: [Display results]
print “square root”
STEP 6: [Display result using the library function]
print” square root of a number is”, sqrt (num)
STEP 7: [Finished]
STOP

0.2 FLOWCHART

Page 48
Computer Programming Laboratory

Program
#include<stdio.h>

#include<math.h>

void main()
{
float num,square_root,temp=0;
printf("Enter the number to find square root\n");
scanf("%f",&num);
square_root=num/2;
while(square_root!=temp)

Page 49
Computer Programming Laboratory

{
temp=square_root;
square_root=(num/square_root+square_root)/2;
}
printf("Square Root of %f is %f\n",num,square_root);
printf("Square Root of %f using inbuilt Function is %f\n",num,sqrt(num));

}
******************************************************************************
Output 1:
Enter a number
49
Square root using program is 7
Square Root using Library Function is
7
Output2:
enter a number -12
Can't Find for Negative Numbers
******************************************************************************
VIVA QUESTIONS:
1. What is typecasting? Explain with examples.
2. Difference between float and double data types.
3. Explain for loop?
4. What is a use of break statement?
5. Difference between continue and break statement?

Page 50
Computer Programming Laboratory

Laboratory Program 10

Implement structures to read, write, compute average- marks and the students scoring above and
below the average marks for a class of N students.

10.1 ALGORITHM

PURPOSE: To Implement structures to read, write, compute average- marks and the
students scoring above and below the average marks for a class of N students.
Input: number of Students, name ,marks1,marks2,marks3
Output: Average marks and printing the students scoring above and below the
average marks
START
STEP 1: [input number of students]
Read n
STEP 2: [input details of students ie.name and marks]
Read name,m1,m2,m3
STEP 3: [ Calculate total and average]
For i=0 to n
s[i].total=(s[i].m1+s[i].m2+s[i].m3);
T=T+s[i].total;
AVG=T/N;
STEP 4: [Find students above and below average]

for i=0 to n
aboveavg[j]=i;
j++;
else
belowavg[k]=i;
k++;
STEP 5:[Finished]
STOP

Page 51
Computer Programming Laboratory

10.2 FLOWCHART

Page 52
Computer Programming Laboratory

10.3 PROGRAM
#include<stdio.h>
struct student
{
char name[20];
float m1,m2,m3,total;
};

void main()
{
int i,j,k,m,n,aboveavg[10],belowavg[10];
float N,T=0,AVG=0;
struct student s[10];
printf("Enter number of students\n");
scanf("%d",&n);
N=(float)n;
printf("Enter the details of students\n");
for (i=0;i<n;i++)
{
printf("Enter the details of student %d \n",i+1);
printf("Enter name \n");
scanf("%s",s[i].name);
printf("Enter m1,m2,m3 \n");
scanf("%f%f%f",&s[i].m1,&s[i].m2,&s[i].m3);
s[i].total=(s[i].m1+s[i].m2+s[i].m3);
T=T+s[i].total;
}
printf("Details of Students.\n");
printf("Name\t m1\t m2\t m3\t total\n");
for (i=0;i<n;i++)
printf("%s\t%f\t%f\t%f\t%f\t\n",s[i].name,s[i].m1,s[i].m2,s[i].m3,s[i].total);
AVG=T/N;

Page 53
Computer Programming Laboratory

printf("AVG = %f \n",AVG);
j=0;
k=0;
for (i=0;i<n;i++)
{
if (s[i].total > AVG)
{
aboveavg[j]=i;
j++;
}
else
{
belowavg[k]=i;
k++;
}
}
printf("Students scoring above avg. \n");
for (i=0;i<j;i++)
{
printf("%s %f\n",s[aboveavg[i]].name,s[aboveavg[i]].total);
}
printf("Students scoring below avg. \n");
for (i=0;i<k;i++)
{
printf("%s %f\n",s[belowavg[i]].name,s[belowavg[i]].total);
}

}//end of main
*****************************************************************************

Page 54
Computer Programming Laboratory

OUTPUT
Enter number of students 3

Enter the details of students

Enter the details of student 1

Enter name Anil

Enter m1,m2,m3

67 84 72

Enter the details of student 2

Enter name Sudhir

Enter m1,m2,m3

76 55 68

Enter the details of student 3

Enter name Suresh

Enter m1,m2,m3

58 79 92

Details of Students.

Name m1 m2 m3 total

Anil 67.000000 84.000000 72.000000 223.000000

Sudhir 76.000000 55.000000 68.000000 199.000000

Suresh 58.000000 79.000000 92.000000 229.000000

AVG = 217.000000

Page 55
Computer Programming Laboratory

Students scoring above avg.

Anil 223.000000

Suresh 229.000000

Students scoring below avg.

Sudhir 199.000000

******************************************************************************

Page 56
Computer Programming Laboratory

Laboratory Program 11

Develop a program using pointers to compute the sum, mean and standard deviation of all elements
stored in an array of n real numbers.

11.1 ALGORITHM

Algorithm

Purpose:To find sum,mean and standard deviation of all elements in an array


Input: An array of n elements
Output:Print the sum,mean and standard deviation of all elements in an array
START

STEP 1:[ Input the no of elements]


Read n
STEP 2:[input array elements]

For i= 0 to n
Read array
STEP 3: [Calculate sum]

For i= 0 to n
sum=sum+ *ptr
increment ptr by 1
STEP 4: [Calculate mean]
mean=sum/n
STEP 5: [Calculate Standard deviation]
sumstd=sumstd + pow((*ptr - mean),2);
increment ptr by 1
std = sqrt(sumstd/n)
STEP 6:[Display output]
Print the sum,mean and standard deviation of all elements in an array

STOP

Page 57
Computer Programming Laboratory

11.2 FLOW CHART

11.3 PROGRAM
#include<stdio.h>
#include<math.h>
void main()
{

float a[10], *ptr, mean, std, sum=0, sumstd=0;


int n,i;

Page 58
Computer Programming Laboratory

printf("\nEnter the no of elements: ");


scanf("%d",&n);
printf("\nEnter the array elements:");
for(i=0;i<n;i++)
{
scanf("%f",&a[i]);
}
ptr=a;
for(i=0;i<n;i++)
{
sum=sum+ *ptr;
ptr++;
}
mean=sum/n;
ptr=a;
for(i=0;i<n;i++)
{
sumstd=sumstd + pow((*ptr - mean),2);
ptr++;
}
std = sqrt(sumstd/n);
printf("\n Sum=%.3f",sum);
printf("\n Mean=%.3f",mean);
printf("n \Standard deviation=%.3f", std);
}
******************************************************************************
Output 1:
Enter the number of elements: 5
Enter the array elements are: 1 5 9 6 7
Sum=28.000
Mean=5.600
Standard deviation=2.090
Page 59
Computer Programming Laboratory

******************************************************************************
Viva Questions:
1. Define pointer?
2. How do you declare a pointer variable?
3. What is * and & in pointer concept.
4. What are the advantages and disadvantages of using pointer?
5. Give the difference between static allocation and dynamic allocation of memory space.
6. What is the effect of the ++ and -- operators on pointer variable
7. Explain the pointers to arrays concept?

Page 60
Computer Programming Laboratory

Laboratory Program 12

Implement Recursive functions for Binary to Decimal Conversion.

12.1 ALGORITHM
Algorithm
Purpose: To convert binary number to decimal number

Input: Binary number

Output: Decimal number

START

STEP 1: [input binary number]

read binary number, n

STEP 2:[till n not equal to zero]

remainder = n%10

n=n/10

decimalnumber=decimalnumber+ remainder*pow(2,i)

STEP 3:[Output decimal number]

Print decimal number

STOP

12.2 FLOWCHART

Page 61
Computer Programming Laboratory

12.3 PROGRAM
#include <stdio.h>
#include <math.h>
int convertBinaryToDecimal(long n);

void main()
{
long n;
printf("Enter a binary number: ");
scanf("%ld", &n);
printf("%ld in binary = %d in decimal", n, convertBinaryToDecimal(n));
}
int convertBinaryToDecimal(long n)
{
int decimalNumber = 0, i = 0, remainder;
while (n!=0)
{
remainder = n%10;
n /= 10;
decimalNumber += remainder*pow(2,i);
++i;
}
return decimalNumber;

}// end of main


Page 62
Computer Programming Laboratory

*******************************************************************************
OUTPUT 1:

Enter a binary number:1010


1010 in binary = 10 in decimal

OUTPUT 2:

Enter a binary number:11111111


11111111 in binary = 255 in decimal
*************************************************************************************

Viva Question:

1) What is recursion?
2) What are binary numbers?
3) What is recursive function?
4) Explain the flow of program with example
5) Explain mathematical functions.

Page 63

You might also like