[go: up one dir, main page]

0% found this document useful (0 votes)
33 views48 pages

C Lab manual 2023 final

Uploaded by

mohithsg08
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)
33 views48 pages

C Lab manual 2023 final

Uploaded by

mohithsg08
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/ 48

Computer Programming Laboratory

Computer Programming Laboratory 18CPL17/27

PART-A

Laboratory Program 2

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).

2.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 14
Computer Programming Laboratory 18CPL17/27

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

2. 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 15
Computer Programming Laboratory 18CPL17/27

PROGRAM
#include <stdio.h>

int 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/(float)num2;
break;
case '%':
result=num1%num2;
break;

Page 16
Computer Programming Laboratory 18CPL17/27

default:
printf("Invalid operation.\n");
}
printf("Result: %d %c %d = %f\n",num1,ch,num2,result);
return 0;
}
***************************************************************************
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 17
Computer Programming Laboratory 18CPL17/27

Laboratory Program 3

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

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 18
Computer Programming Laboratory 18CPL17/27

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
FLOWCHART

Page 19
Computer Programming Laboratory 18CPL17/27

PROGRAM

#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
float a,b,c;
float root1,root2;
float determinant,real,imaginary;
clrscr();
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");
getch();
}
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 20
Computer Programming Laboratory 18CPL17/27

{
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);
getch();
}
******************************************************************************
Output 1:
Enter the Co-efficient of Quadratic Equation
000
Invalid Coefficients

Output 2:
Enter the Co-efficient of Quadratic Equation
0 21
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 21
Computer Programming Laboratory 18CPL17/27

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 22
Computer Programming Laboratory 18CPL17/27

Laboratory Program

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.

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
Total amount= metercharge+(unit*.80)
STEP 4: [Else check unit is greater than 200 and less than 300 and calculate total
amount] If unit greater than 200 and unit greater than or equal to 300

Total amount = metercharge+(200*0.80)+((unit-200)*0.90))


STEP 5: [Else check unit is greater than 300 and calculate Total amount]
If unit is greater than 300
Total amount= metercharge+(200*0.80)+(300*0.90)+((unit-
300)*1))STEP 6: [To check and calculate if meter charge is greater than
400 ]
If Total amount is greater than or equal to 400
Total amount =Total amount +(Total amount *0.15);
STEP 7: [Finished]
STOP

Dept., of CSE, CIT, GUBBI Page 23


Computer Programming Laboratory 18CPL17/27

FLOW CHART

Dept., of CSE, CIT, GUBBI Page 24


Computer Programming Laboratory 18CPL17/27
PROGRAM

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

else if(unit>200 && unit<=300)


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

return 0;
}
*****************************************
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

Dept., of CSE, CIT, GUBBI Page 25


Computer Programming Laboratory 18CPL17/27
******************************************************************************
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?

Dept., of CSE, CIT, GUBBI Page 26


Computer Programming Laboratory 18CPL17/27

Laboratory Program 6

Introduce 1D Array manipulation and implement Binary search

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

Dept., of CSE, CIT, GUBBI Page 27


Computer Programming Laboratory 18CPL17/27

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

Dept., of CSE, CIT, GUBBI Page 28


Computer Programming Laboratory 18CPL17/27

FLOWCHART

Dept., of CSE, CIT, GUBBI Page 29


Computer Programming Laboratory 18CPL17/27

PROGRAM

#include <stdio.h>
int 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;
}

Dept., of CSE, CIT, GUBBI Page 30


Computer Programming Laboratory 18CPL17/27

if(!found)
printf(“key not found”);

return 0;
}
***************************************************************
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?

Dept., of CSE, CIT, GUBBI Page 31


Computer Programming Laboratory 18CPL17/27

Laboratory Program 11

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

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-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]

Dept., of CSE, CIT, GUBBI Page 32


Computer Programming Laboratory 18CPL17/27

STOP

FLOWCHART

Dept., of CSE, CIT, GUBBI Page 33


Computer Programming Laboratory 18CPL17/27

PROGRAM

#include<stdio.h>
#include<conio.h>
int 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]);
return 0;
}
******************************************************************************

Dept., of CSE, CIT, GUBBI Page 34


Computer Programming Laboratory 18CPL17/27

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?

Dept., of CSE, CIT, GUBBI Page 35


Computer Programming Laboratory 18CPL17/27

Laboratory Program

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

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]

Dept., of CSE, CIT, GUBBI Page 36


Computer Programming Laboratory 18CPL17/27


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

FLOWCHART

Dept., of CSE, CIT, GUBBI Page 37


Computer Programming Laboratory 18CPL17/27

Dept., of CSE, CIT, GUBBI Page 38


Computer Programming Laboratory 18CPL17/27

PROGRAM

#include<stdio.h>
int main()
{
int a[5][5],b[5][5],c[5][5],m,n,p,q,i,j,k;
clrscr();
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++)
{

Dept., of CSE, CIT, GUBBI Page 39


Computer Programming Laboratory 18CPL17/27

c[i][j]=0;
for(k=0;k<n;k++)
{
c[i][j]=c[i][j]+a[i][k]*b[k][j];
}
}
}
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?

Dept., of CSE, CIT, GUBBI Page 40


Computer Programming Laboratory 18CPL17/27

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

Dept., of CSE, CIT, GUBBI Page 41


Computer Programming Laboratory 18CPL17/27

Laboratory

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.

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
FLOWCHART

Dept., of CSE, CIT, GUBBI Page 42


Computer Programming Laboratory 18CPL17/27

PROGRAM

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

Dept., of CSE, CIT, GUBBI Page 43


Computer Programming Laboratory 18CPL17/27

x = degree * (3.1416/180);
term = x;
sum=term;
for (i=3;i<=n;i+=2)
{
term=-term*x*x/((i-1)*i);
sum=sum+term;
}
printf("The sine of %d is %.3f\n", degree, sum);
printf("The sine function of %d using library function is %.3f", degree, sin(x));
return 0;
}
******************************************************************************
Output:
Enter the value of degree :90
The sine of 90 is 1.000
The sine function of 90 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?

Dept., of CSE, CIT, GUBBI Page 44


Computer Programming Laboratory 18CPL17/27

Laboratory Program 10

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

10.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]

Dept., of CSE, CIT, GUBBI Page 45


Computer Programming Laboratory 18CPL17/27

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

10.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;
i=0;
while (str1[i]==str2[i])
{
if (str1[i]=='\0') break;
i++;
}

Dept., of CSE, CIT, GUBBI Page 46


Computer Programming Laboratory 18CPL17/27

return str1[i]-str2[i];
}

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


{
int i,j;
i=0;
while (str1[i]!='\0') i++;
j=0;
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”, str1);
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);
}

Dept., of CSE, CIT, GUBBI Page 47


Computer Programming Laboratory 18CPL17/27

FLOWCHART

Dept., of CSE, CIT, GUBBI Page 48


Computer Programming Laboratory 18CPL17/27

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.

Dept., of CSE, CIT, GUBBI Page 49


Computer Programming Laboratory 18CPL17/27

Dept., of CSE, CIT, GUBBI Page 50


Computer Programming Laboratory 18CPL17/27

Laboratory Program 12

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).

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

FLOWCHART

Dept., of CSE, CIT, GUBBI Page 56


Computer Programming Laboratory 18CPL17/27

Program
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
float num,square_root,temp=0;
clrscr();
printf("Enter the number to find square root\n");
scanf("%f",&num);
square_root=num/2;
while(square_root!=temp)

Dept., of CSE, CIT, GUBBI Page 57


Computer Programming Laboratory 18CPL17/27

{
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 usinf inbuilt Function is
%f\n",num,sqrt(num)); getch();
}
******************************************************************************
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?

Dept., of CSE, CIT, GUBBI Page 58


Computer Programming Laboratory 18CPL17/27

Laboratory Program 14

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

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 59
Computer Programming Laboratory 18CPL17/27

FLOW CHART

PROGRAM
#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{
float a[10], *ptr, mean, std, sum=0, sumstd=0;

Page 60
Computer Programming Laboratory 18CPL17/27

int n,i;
clrscr();
printf("Enter the no of elements\n");
scanf("%d",&n);
printf("Enter the array elements \n");
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("Sum=%.3f\t",sum);
printf("Mean=%.3f\t",mean);
printf("Standard deviation=%.3f\t", std);
}
******************************************************************************
Output 1:
Enter the number of elements 5
Enter the array elements are 1 5 9 6 7
Sum=28
Mean=5.6
Standard deviation=2.09
Page 61
Computer Programming Laboratory 18CPL17/27

******************************************************************************
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 62
Computer Programming Laboratory 18CPL17/27

Laboratory Program 15

Implement Recursive functions for Binary to Decimal Conversion.

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

FLOWCHART

Page 63
Computer Programming Laboratory 18CPL17/27

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

int main()
{
long long n;
printf("Enter a binary number: ");
scanf("%ld", &n);
printf("%ld in binary = %d in decimal", n,
convertBinaryToDecimal(n)); return 0;
}

int convertBinaryToDecimal(long n)
{
int decimalNumber = 0, i = 0, remainder;
while (n!=0)
{
remainder = n%10;
n /= 10;
decimalNumber += remainder*pow(2,i);
++i;

Page 64
Computer Programming Laboratory 18CPL17/27

}
return decimalNumber;
}

*******************************************************************************
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 71

You might also like