Dee BPOPS203 Lab Manual (Complete)
Dee BPOPS203 Lab Manual (Complete)
LABORATORY MANUAL
“Principles of Programming using C– BPOPS203”
Semester: II
Principles of Programming using C Laboratory Manual [BPOPS203] 2024
Principles of Programming using C LABORATORY
(Effective from the academic year 2023 -2024)
SEMESTER – II
Subject Code BPOPS203 CIE Marks 50
Number of Contact Hours/Week 2:0:2 SEE Marks 50
Total Number of Lab Contact 40 Exam Hours 3 Hrs
Hours
Credits –30
Descriptions (if any):
• The laboratory should be preceded or followed by a tutorial to explain the approach or
algorithm being implemented / implemented for the problems given.
• Every experiment should have algorithm and flowchart be written before writing the program.
• Code should be traced using minimum two test cases which should be recorded.
Laboratory Programs:
1. Simulation of a simple calculator.
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.
4. Write a C Program to display the following by reading the number of rows as input.
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
Nth row
5. Implement Binary Search on Integers.
6. Implement Matrix multiplication and validate the rules of multiplication.
7. Compute sin(x)/cos(x) using Taylor series approximation. Compare your result with the built-
in library function. Print both the results with appropriate inferences.
8. Sort the given set of N numbers using Bubble sort.
9. Write functions to implement string operations such as compare, concatenate, and find string
length.Use the parameter passing techniques.
10. Implement structures to read, write and compute the sum, mean and standard deviation of all
elements stored in an array of N real numbers.
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.
12. Write a C program to copy a text file to another, read both the input file name and target file
name.
3
Principles of Programming using C Laboratory Manual 2023-2024
[BPOPS203]
Algorithm:
• An algorithm is a basic tool which is used to express the solution for a given problem
systematically in the form of instructions. This solution is called logic. It takes a set of input
values and produces the desired output.
Characteristics of an Algorithm:
• Definiteness: Each instruction must be clear, well defined and precise. There should not be
any ambiguity.
• Finiteness: It should be a sequence of finite instructions. That is, it should end after a fixed
time. It should not enter into an infinite loop.
• Effectiveness: This means that operations must be simple and are carried out in a finite time at
one or more levels of complexity. It should be effective whenever traced manually for the
results.
Algorithmic Notations:
• Step number
• Explanatory Comment
• Termination
4
Principles of Programming using C Laboratory Manual 2023-2024
[BPOPS203]
Flowchart:
• The various types of geometric shapes, arrows and symbols used while drawing the flowchart
are called flowchart symbols. The symbols used and the meaning associated with each symbol
are shown below.
Connector
Flow of control
5
Principles of Programming using C Laboratory Manual 2023-2024
[BPOPS203]
1. Familiarization with programming environment, concept of naming the
program files, storing, compilation, execution and debugging. Taking any simple
C- code.
Algorithm Flowchart
peri
Program Output
#include<stdio.h> Enter length and breadth
{
2
int l, b, area, peri;
printf(“Enter length and breadth\n”); 4
scanf(“%d%d”, &l, &b);
The area is 8
area = l * b;
peri = 2 * (l + b); The perimeter is 12
printf(“The area is %d\n”, area);
printf(“The perimeter is %d\n”, peri);
}
6
Principles of Programming using C Laboratory Manual 2023-2024
[BPOPS203]
1) Simulation of a simple calculator.
7
Principles of Programming using C Laboratory Manual 2023-2024
[BPOPS203]
Flowchart
Start
Input
Switch(operator)
+ - * / % Default
Stop
Viva Questions:
a. What is switch statement.
b. What is a case in a switch statement?
c. Is Default necessary in switch case?
d. How many cases can you have in a switch statement?
8
Principles of Programming using C Laboratory Manual 2023-2024
[BPOPS203]
// Program 1
#include<stdio.h>
#include<conio.h>
int main()
{
char operator;
float num1, num2, result;
9
Principles of Programming using C Laboratory Manual 2023-2024
[BPOPS203]
Output:
TRACE 1
Enter the operator [+,-,*,/]
+
Enter two numbers
10 20
result = 30
TRACE 2
Enter the operator [+,-,*,/]
/
Enter two numbers
1 0
Divide by zero
10
Principles of Programming using C Laboratory Manual 2023-2024
[BPOPS203]
2) Compute the roots of a quadratic equation by accepting the coefficients. Print
appropriate messages.
ALGORITHM: ROOTS OF A QUADRATIC EQUATION
Step 1: Start
Step 2: Read the values of non-zero coefficients a,b and c.
Step 3: If a|b|c is zero goto Step 9. Otherwise Compute the value ofdiscriminant (disc)which is
Equal to (b*b)-(4*a*c).
Step 4: Check if disc is equal to 0. If true, then go to Step 5. Otherwise, goto Step6
Step 5: Compute the roots.
Root1 = (-b)/(2*a)
Root2=Root1
Step 6: Check if disc is greater than zero or not. If true, then go to Step 7. Otherwise, goto Step 8.
Root1 = (-b+sqrt(disc))/(2*a)
Root1 = (-b-sqrt(disc))/(2*a)
Output roots as
Root1 = x1 + i x2
Root2 = x1 – i x2
Step 9: Stop.
11
Principles of Programming using C Laboratory Manual 2023-2024
[BPOPS203]
Flow chart
Start
Input a, b, c
if((a*b*c*)==0) True
Roots cannot be
False Determined
Disc=(b*b)-(4*a*c)
False
False
Stop
12
Principles of Programming using C Laboratory Manual 2023-2024
[BPOPS203]
Program 2
#include<stdio.h>
#include<math.h>
#include<conio.h>
void main()
{
float a,b,c,x1,x2,disc;
clrscr();
if((a*b*c) = = 0)
{
printf("Roots cannot be Determined\n");
exit(0);
}
disc = b*b-4*a*c;
if(disc > 0)
{
x1 =(-b + sqrt(disc)) / (2*a);
else if (disc == 0)
{
x1 = x2 = -b/(2*a);
printf("The roots are equal");
printf("Root1 = %f + i%f",x1,x2);
printf("Root2= %f - i%f",x1,x2);
}
getch();
}
13
Principles of Programming using C Laboratory Manual 2023-2024
[BPOPS203]
Output:
First run:
Enter the
coefficients 1
-5
6
The roots are
distinct
Root1=3.0000
Root2=2.0000
Second Run:
Viva Questions:
a. What is quadratic Equation?
b. What is math.h ? why it is used in C program?
c. What are decision making statements in C language?
d. Write the syntax of “ if ”statement?
e. Difference between if and switch statements?
14
Principles of Programming using C Laboratory Manual 2023-2024
[BPOPS203]
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 rupees 1 per unit. All users are charged a minimum of rupees
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:
Input: Customer name and unit consumed
Output: Customer name, units consumed and total amount to be paid
Step 1: Start
Step 2: Read the name of customer and the unit consumed by the customer.
Step 3: Check if the unit consumed is greater than 1 and less than 200,if true goto step 4 else goto
step 5.
Step 4: Compute: amt=100+(0.8*units).
Step 5: if unit is greater than 200 and less than 300,if true goto step 6 else goto step 7
Step 6: Compute amt=100+(200*0.8)+((units-200)*0.9)
Step 7:Compute amt=100+(200*0.8)+(100*0.9)+((units-300)*1), then goto step 8
Step 8: Check if the amt is less than or equal to 400, if true goto step 9 otherwise goto step 10.
Step 9: Print the amount charged and goto step 11.
Step 10: compute amt=amt*1.15,and print the amount charged.
Step 11: Stop .
15
Principles of Programming using C Laboratory Manual 2023-2024
[BPOPS203]
Flow chart
Start
Input name
Input units
If(units<=200) amt=100+(0.8*units);
True
False
True
amt=100+(200*0.8)+(100*0.9)+(units-
300)*1;
If(units>400)
True
amt=amt*1.15
Stop
16
Principles of Programming using C Laboratory Manual 2023-2024
[BPOPS203]
Program 3
#include <stdio.h>
void main()
{
char name[10];
Viva Questions:
a. Difference between float and double data types.
b. Write syntax of for loop?
c. What is the use of break statement?
d. Difference between continue and break statement?
17
Principles of Programming using C Laboratory Manual 2023-2024
[BPOPS203]
4. Write a C program to display the following by reading the number of rows as input.
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
Nth row
Program 4:
#include <stdio.h>
void main()
{
int row,space,num,col,reverse;
printf("Input number of rows : ");
scanf("%d",&num);
for(row=1;row<=num;row++)
{
/* print blank spaces */
for(space=1;space<=num-row;space++)
printf(" ");
printf("\n");
}
}
18
Principles of Programming using C Laboratory Manual 2023-2024
[BPOPS203]
Output:
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
19
Computer Programming Laboratory Manual[22POP13] 2022-23
5. Implement Binary Search on Integers.
20
Computer Programming Laboratory Manual[22POP13] 2022-23
21
Computer Programming Laboratory Manual[22POP13] 2022-23
Program 5:
#include<stdio.h>
void main()
{
int n, a[100], i, key, high, low, mid, loc;
printf("Enter the size of the array\n");
scanf("%d",&n);
printf("Enter the elements of array in sorted order\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("Enter the key element to be searched\n");
scanf("%d",&key);
low=0;
high=n-1;
while(low<=high)
{
mid=(low+high)/2;
if(key==a[mid])
{
loc = mid+1;
break;
}
else
{
if(key<a[mid])
high=mid-1;
else
low=mid+1;
}
}
if(loc>0)
printf("\n The element %d is found at %d ",key,loc);
else
printf("\nThe search is unsuccessful");
}
22
Computer Programming Laboratory Manual[22POP13] 2022-23
Output
First Run
Enter the size of the array
5
Enter the elements of array in sorted order
10
20
30
40
50
Enter the element to be searched
40
The element 40 is found at 4
Viva Questions:
a. What is an array/definition of array.
b. What are the types of array?
c. What is a multidimensional array?
d. How to declare and initialize one dimensional array?
e. What are the advantages of an array?
f. What is the difference between array & string?
g. Write the syntax of declaring an array.
23
Computer Programming Laboratory Manual[22POP13] 2022-23
24
Computer Programming Laboratory Manual[22POP13] 2022-23
25
Computer Programming Laboratory Manual[22POP13] 2022-23
Program 6:
26
Computer Programming Laboratory Manual[22POP13] 2022-23
27
Computer Programming Laboratory Manual[22POP13] 2022-23
28
Computer Programming Laboratory Manual[22POP13] 2022-23
29
Computer Programming Laboratory Manual[22POP13] 2022-23
30
Computer Programming Laboratory Manual[22POP13] 2022-23
Program 7:
#include<stdio.h>
#include<math.h>
int main( )
{
int i;
float x,t,sum,sum1,y;
printf("Enter the angle\n");
scanf("%f",&x);
y=x;
x=3.1428*(x/180.0);
sum=x;
t=x;
i=1;
do
{
i=i+2;
t=(-t*x*x)/((i-1)*i);
sum=sum+t;
}while(fabs(t)>0.00005);
printf("sin(%f) using taylor series=%f\n",y,sum);
sum1=sin(x);
printf("Using inbuilt function sin(%f)=%f",y,sum1);
}
Output:
Enter the angle 30
sin(30.000000) using taylor series=0.500000
Using inbuilt function sin(30.000000)=0.500000
Viva Questions:
a. What is pre-processor directive?
b. What is difference between const and #define.
c. What is use of fabs().
d. What is variable initialization and why is it important?
e. What is the difference between the = symbol and == symbol?
f. Can the curly brackets { } be used to enclose a single line of code?
31
Computer Programming Laboratory Manual[22POP13] 2022-23
32
Computer Programming Laboratory Manual[22POP13] 2022-23
33
Computer Programming Laboratory Manual[22POP13] 2022-23
Program 8:
#include<stdio.h>
int main()
{
int i,j,n,temp;
int a[20];
printf("enter the value of n");
scanf("%d",&n);
printf("Enter the numbers in unsorted order:\n");
for(i=0;i<n;i++)
scanf("%d", &a[i]);
// bubble sort logic
for(i=0;i<n;i++)
{
for(j=0;j<(n-i)-1;j++)
{
if( a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("The sorted array is\n");
for(i=0;i<n;i++)
{
printf("%d\n",a[i]);
}
}
34
Computer Programming Laboratory Manual[22POP13] 2022-23
Output
Enter the value of n
5
Enter the numbers one by one in unsorted order:
20
10
30
50
40
The sorted array is
10
20
30
40
50
Viva Questions:
a. Why the name bubble sort?
b. What are the different types of sorting techniques?
c. Explain the logic of bubble sort with an example.
d. What is nested for loop?
35
Computer Programming Laboratory Manual[22POP13] 2022-23
9) Write functions to implement string operations such as compare, concatenate, and find string
length.Use the parameter passing techniques.
Step 1: Start
Step 2: press 1-compare 2-concatenate 3-length of string, if press 1 goto step 3, if press 2 goto step 4,
if press 3 goto step 5,
Step 3: Read String1 and String 2 and Comparison function by using strcmp built in function is used.
if res=0 then print both strings are equal, else print strings are not equal and goto step 4.
Step 4: Read String1 and String 2 and find concatenation of two strings using string handling
function strcat( ) and display string and return back to main function.
Step 5: Read String1and call function to find the length of string by calling function length(*string)
Step 6: if digit=1 then goto step 2 otherwise goto step 7
Step 7: stop.
36
Computer Programming Laboratory Manual[22POP13] 2022-23
Flowchart
Start
Input a,b
do loop
Read N
Switch(n)
1 2 3
Read str1 & str2 Read str1 & str2 Read str1 Default entered
wrong choice
C1 C2 C3
37
Computer Programming Laboratory Manual[22POP13] 2022-23
Read
loop while(digit==1
False
Stop
C C
res= strcat(s1,s2)
i= strcmp(s1,s2)
Prints
If(i==0
sto
Strings Strings not
sto C
Length(int *s1)
sto
38
Computer Programming Laboratory Manual[22POP13] 2022-23
Program 9
#include<stdio.h>
#include<string.h>
void compare(char [ ],char [ ]);
void concat(char [ ],char [ ]);
void length(char *[ ]);
void main( )
{
int n,digit;
char str1[10],str2[10];
do
{
printf("press 1-compare 2-concatenate 3-length of string");
printf("\n enter your choice=");
scanf("%d",&n);
switch(n)
{
case 1:printf("enter first string=");
scanf("%s",str1);
printf("enter second string=");
scanf("%s",str2);
compare(str1,str2);
break;
case 2: printf("enter first string=");
scanf("%s",str1);
printf("enter second string=");
scanf("%s",str2);
concat(str1,str2);
break;
case 3:printf("enter string=");
scanf("%s",str1);
length(&str1);
break;
default: printf("wrong choice");
break;
39
Computer Programming Laboratory Manual[22POP13] 2022-23
}
printf("\n Do you want to continue(1/0)? ");
scanf("%d", &digit);
}while(digit==1);
}
void compare(char str1[ ],char str2[ ])
{
int i;
i=strcmp(str1,str2);
if(i==0)
printf("strings are equal\n ");
else
printf("string are not equal\n");
}
void concat(char str1[ ],char str2[ ])
{
strcat(str1,str2);
printf("concatenate string=%s",str1);
}
void length(char *str1[ ])
{
int len;
len=strlen(str1);
printf("the length of string=%d",len);
}
40
Computer Programming Laboratory Manual[22POP13] 2022-23
Output
press 1-compare 2-concatenate 3-length of string
enter your choice=1
enter first string=ram
enter second string=Ram
string are not equal
Do you want to continue(1/0)? 1
press 1-compare 2-concatenate 3-length of string
enter your choice=2
enter first string=RAM
enter second string=kumar
concatenate string=RAMkumar
Do you want to continue(1/0)? 1
press 1-compare 2-concatenate 3-length of string
enter your choice=3
enter string=ram the length of string=3
Do you want to continue(1/0)? 1
press 1-compare 2-concatenate 3-length of string
enter your choice=4
wrong choice
Do you want to continue(1/0)? 0
Viva-Voce Question
a. What is string?
b. How to declare string?
c. What are the string manipulation function?
d. What is gets() and puts() function in string?
41
Computer Programming Laboratory Manual[22POP13] 2022-23
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.
Step 1: START
Step 2: Read the number of students
Step 3: For each student, read the student id, name and marks for all subjects.
Step 4: Calculate the average of the marks and store in the avg field.
Step 5: Print results.
Step 6: Initialise loop
Step 7: Read the average of each student
Step 8: Check if avg>35.00
Step 9: If yes print result else go to next iteration
Step 10: Initialise loop
Step 11: Read average of each student
Step 12: Check if avg<35.00
Step 13: If yes print result else go to next iteration
Step 14:STOP
42
Computer Programming Laboratory Manual[22POP13] 2022-23
Flowchart
43
Computer Programming Laboratory Manual[22POP13] 2022-23
Program 10
#include<stdio.h>
struct student
{
char usn[10];
char name[10];
float m1,m2,m3;
float avg,total;
};
void main()
{
struct student s[20];
int n,i;
float tavg,sum=0.0;
printf("Enter the number of student=");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Enter the detail of %d students\n",i+1);
printf("\n Enter USN=");
scanf("%s",s[i].usn);
printf("\n Enter Name=");
scanf("%s",s[i].name);
printf("Enter the three subject score\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;
s[i].avg=s[i].total/3;
}
for(i=0;i<n;i++)
{
if(s[i].avg>=35)
printf("\n %s has scored above the average marks",s[i].name);
else
printf("\n %s has scored below the average marks",s[i].name);
}
}
44
Computer Programming Laboratory Manual[22POP13] 2022-23
Output
Enter the number of student=2
Enter the detail of 1 students
Enter USN=101
Enter Name=Ram
Enter the three subject score 10 21 15
Enter the detail of 2 students
Enter USN=102
Enter Name=Kumar
Enter the three subject score 11 9 10
Ram has scored above the average marks
Viva-Voce Questions
a. What is structure?
b. How to declare a structure?
c. What is structure member?
d. What is difference between array and structure?
e. What is nested structure?
f. What is typedef?
45
Computer Programming Laboratory Manual[22POP13] 2022-23
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.
46
Computer Programming Laboratory Manual[22POP13] 2022-23
Start
Read n
False
for (i=0;i<n;i++)
True
Read (X+i)
Sum=0
for (i=0;i<n;i++)
sum=sum+(*(x+i)-mean)*(*(x+i)-mean)
variance=sum/n
deviation=sqrt(variance)
Print mean,variance
Print deviation
Stop
47
Computer Programming Laboratory Manual[22POP13] 2022-23
Program 11:
#include<stdio.h>
#include<math.h>
int main()
{
int n , i;
float x[20],sum,mean;
float variance , deviation;
printf("Enter the value of n \n");
scanf("%d",&n);
printf("enter %d real values \n",n);
for (i=0;i<n;i++)
{
scanf("%f",(x+i));
}
sum=0;
for(i=0;i<n;i++)
{
sum= sum+*(x+i);
}
printf("sum=%f\n",sum);
mean=sum/n;
sum=0;
for(i=0;i<n;i++)
{
sum=sum+(*(x+i)-mean)*(*(x+i)-mean);
}
variance=sum/n;
deviation=sqrt(variance);
printf("mean(Average)=%f\n",mean);
printf("variance=%f\n",variance);
printf("standard deviation=%f\n",deviation);
}
48
Computer Programming Laboratory Manual[22POP13] 2022-23
Output:
Viva Questions:
a. Define pointer
e. Define array
49
Computer Programming Laboratory Manual[22POP13] 2022-23
12) Write a C program to copy a text file to another, read both the input file name and target filename.
Program 12:
#include <stdio.h>
#include <stdlib.h> // For exit()
int main()
{
FILE *fptr1, *fptr2;
char filename[100], c;
fclose(fptr1);
fclose(fptr2);
return 0;
}
50
Computer Programming Laboratory Manual[22POP13] 2022-23
Output:
51