CM Lab File
CM Lab File
COMMUNICATION TECHNOLOGY
GURU GOBIND SINGH INDRAPRASTHA
UNIVERSITY, NEW DELHI-110078
(2020-2024)
PRACTICAL FILE
OF
COMPUTATION LAB
IT -253
Submitted in partial fulfilment of the requirements
for the award of the degree of
BACHELOR OF TECHNOLOGY
IN
INFORMATION TECHNOLOGY
#include<iostream>
using namespace std;
int main()
{
int choice;
while(1)
{
cout<<endl<<endl<<"1. Decimal to Binary conversion";
cout<<endl<<"2. Binary to Decimal conversion";
cout<<endl<<"3. Exit";
cout<<endl<<"ENTER YOUR CHOICE:";
cin>>choice;
switch(choice)
{
case 1:
{
int a[10],n,i;
cout<<"Enter the Decimal number to convert:";
cin>>n;
for(i=0;n>0;i++)
{
a[i]=n%2;
n= n/2;
}
cout<<"Binary of the given number:";
for(i=i-1;i>=0;i--)
{
cout<<a[i];
}
break;
}
case 2:
{
int B;
cout<<"Enter Binary Number to convert:";
cin>>B;
int dec=0;
int base =1;
while(B)
{
int rem = B%10;
B = B/10;
dec += rem*base;
base=base*2;
}
cout<<"Decimal value is:"<<dec;
break;
}
case 3: exit(0);
default: cout<<"You have entered invalid choice";
}
}
return 0;
}
OUTPUT:
PROGRAM 2
#include<iostream>
#include<math.h>
using namespace std;
#define ESP 0.001
double func1(double x)
{
return x*x*x - 6*x*x + 11*x - 6;
}
double func2(double x)
{
return 3*x*x - 7*x +1;
}
int main()
{
double a,b;
int choice;
cout<<endl<<"1. Cubic Equation";
cout<<endl<<"2. Qudratic Equation";
cout<<endl<<"Enter your choice:";
cin>>choice;
cout<<endl<<"Enter the value of a and b:";
cin>>a>>b;
switch(choice)
{
case 1:
{
if(func1(a)*func1(b) >=0)
{
cout<<"Invalid Input"<<endl;
goto end;
}
double c;
while(fabs(b-a)>=ESP)
{
c=(a+b)/2;
if(func1(c)*func1(a)<0)
b=c;
else
a=c;
}
cout<<"The value of root is:"<<c;
goto end;
}
case 2:
{
if(func2(a)*func2(b) >=0)
{
cout<<"Invalid Input"<<endl;
goto end;
}
double c= a;
while(fabs(b-a)>=ESP)
{
c=(a+b)/2;
if(func2(c)*func2(a)<0)
b=c;
else
a=c;
}
cout<<"The value of root is:"<<c;
goto end;
}
default : cout<<"Invalid choice";
}
end:
return 0;
}
OUTPUT:
PROGRAM 3
#include<iostream>
#include<stdlib.h>
#include<math.h>
#define f(x) x*x*x - 4*x*x - 6*x + 5
using namespace std;
int main()
{
float x0,x1,x2,f0,f1,f2,e;
int step=1,N;
cout<<"Enter the first guess:";
cin>>x0;
cout<<"Enter the second guess:";
cin>>x1;
cout<<"Enter the mathematical error:";
cin>>e;
cout<<"Enter the maximum iteration:";
cin>>N;
do
{
f0=f(x0);
f1=f(x1);
if(f0==f1)
{
cout<<"Mathematical error";
exit(0);
}
x2=x1-(x1-x0)*f1/(f1-f0);
f2=f(x2);
cout<<"Iteration-"<<step<<": x2= "<<x2<<" and f(x2)=
"<<f(x2)<<endl;
x0 = x1;
f0 = f1;
x1 = x2;
f1 = f2;
step = step + 1;
if(step>N)
{
cout<<"Not convergent";
exit(0);
}
}while(fabs(f2)>e);
cout<<endl<<"Root is: "<<x2;
return 0;
}
OUTPUT:
PROGRAM 4
#include<iostream>
#include<stdlib.h>
#include<math.h>
#define f(x) 3*x*x - cos(x) - 1
#define g(x) 6*x + sin(x)
using namespace std;
int main()
{
float x0,x1,f0,f1,g0,e;
int step=1,N;
cout<<"Enter the inital guess:";
cin>>x0;
cout<<"Enter the mathematical error:";
cin>>e;
cout<<"Enter the maximum iteration:";
cin>>N;
do
{
g0=g(x0);
f0=f(x0);
if(g0==0.0)
{
cout<<"Mathematical Error.";
exit(0);
}
x1=x0-f0/g0;
cout<<"Iteration-"<<step<<": x= "<<x1<<" and f(x1)=
"<<f(x1)<<endl;
x0=x1;
step=step+1;
if(step > N)
{
cout<<"Not Convergent.";
exit(0);
}
f1=f(x1);
}while(fabs(f1)>e);
cout<<endl<<"Root is: "<<x1;
return 0;
}
OUTPUT:
PROGRAM 5
#include<iostream>
#include<math.h>
#define f(x) 1/(1+pow(x,2))
using namespace std;
int main()
{
float lower,upper,integration=0.0,stepsize,k;
int i,subinterval;
cout<<"Enter the lower limit of integration:";
cin>>lower;
cout<<"Enter the upper limit of integration:";
cin>>upper;
cout<<"Enter the number of subintervals:";
cin>>subinterval;
stepsize= (upper-lower)/subinterval;
integration= f(lower) + f(upper);
for(i=1;i<=subinterval-1;i++)
{
k=lower+i*stepsize;
integration=integration + 2 * (f(k));
}
integration=integration * stepsize/2;
cout<<endl<<"Required value of integration is:"<<integration;
return 0;
}
OUTPUT:
PROGRAM 6
#include<iostream>
#include<math.h>
#define f(x) 1/(1+pow(x,2))
using namespace std;
int main()
{
float lower,upper,integration=0.0,stepsize,k;
int subinterval;
cout<<"Enter the lower limit of integration:";
cin>>lower;
cout<<"Enter the upper limit of integration:";
cin>>upper;
cout<<"Enter the number of subintervals:";
cin>>subinterval;
stepsize=(upper-lower)/subinterval;
integration= f(lower) + f(upper);
for(int i=1;i<=subinterval-1;i++)
{
k=lower + i*stepsize;
if(i%2==0)
{
integration= integration + 2*(f(k));
}
else
{
integration= integration + 4*(f(k));
}
}
integration=integration*stepsize/3;
cout<<endl<<"Required value of integration is:"<<integration;
return 0;
}
OUTPUT:
PROGRAM 7
#include<iostream>
#include<math.h>
#define f(x) 1/(1+pow(x,2))
using namespace std;
int main()
{
float lower,upper,integration=0.0,stepsize,k;
int subinterval;
cout<<"Enter the lower limit of integration:";
cin>>lower;
cout<<"Enter the upper limit of integration:";
cin>>upper;
cout<<"Enter the number of subintervals:";
cin>>subinterval;
stepsize=(upper-lower)/subinterval;
integration= f(lower) + f(upper);
for(int i=1;i<=subinterval-1;i++)
{
k=lower + i*stepsize;
if(i%3==0)
{
integration= integration + 2*(f(k));
}
else
{
integration= integration + 3*(f(k));
}
}
integration=integration*stepsize*3.0/8.0;
cout<<endl<<"Required value of integration is:"<<integration;
return 0;
}
OUTPUT:
PROGRAM 8
#include<iostream>
using namespace std;
#define size 10
int main()
{
float a[size][size],x[size],ratio;
int i,j,k,n;
cout<<"Enter the number of unknowns:";
cin>>n;
cout<<"Enter the coefficients of Augmented Matrix:"<<endl;
for(i=1;i<=n;i++)
{
for(j=1;j<=n+1;j++)
{
cout<<"a["<<i<<"]"<<"["<<j<<"]:";
cin>>a[i][j];
}
}
for(i=1;i<=n-1;i++)
{
if(a[i][i]==0.0)
{
cout<<"Mathematical Error!";
exit(0);
}
for(j=i+1;j<=n;j++)
{
ratio = a[j][i]/a[i][i];
for(k=1;k<=n+1;k++)
{
a[j][k]=a[j][k] - ratio*a[i][k];
}
}
}
x[n] = a[n][n+1]/a[n][n];
for(i=n-1;i>=1;i--)
{
x[i]=a[i][n+1];
for(j=i+1;j<=n;j++)
{
x[i]=x[i] - a[i][j]*x[j];
}
x[i]=x[i]/a[i][i];
}
cout<<endl<<"Solution: "<<endl;
for(i=1;i<=n;i++)
{
cout<<"x["<<i<<"]:"<<x[i]<<endl;
}
return 0;
}
OUTPUT:
PROGRAM 9
#include<iostream>
using namespace std;
int main()
{
float x[100],y[100],xp,yp,p;
int i,j,n;
cout<<"Enter the number of Coordinates:";
cin>>n;
cout<<"Enter the Data:"<<endl;
for(int i=1;i<=n;i++)
{
cout<<"x["<<i<<"]:";
cin>>x[i];
cout<<"y["<<i<<"]:";
cin>>y[i];
}
cout<<endl<<"Enter Interpolation Point:";
cin>>xp;
for(i=1;i<=n;i++)
{
p=1;
for(j=1;j<=n;j++)
{
if(i!=j)
{
p=p*(xp-x[j])/(x[i]-x[j]);
}
}
yp=yp+p*y[i];
}
cout<<endl<<"Interpolated value at "<<xp<<" is "<<yp;
return 0;
}
OUTPUT:
PROGRAM 10
#include<iostream>
#define f(x,y) x+y
using namespace std;
int main()
{
float x0,y0,xn,h,yn,slope;
int i,n;
cout<<"Enter Initial Conditions"<<endl;
cout<<"x0=";
cin>>x0;
cout<<"y0=";
cin >>y0;
cout<<"Enter calculation point xn:";
cin>>xn;
cout<<"Enter number of steps:";
cin>> n;
h=(xn-x0)/n;
cout<<"\nx0\ty0\tslope\tyn\n"<<endl;
for(i=0;i<n;i++)
{
slope =f(x0,y0);
yn=y0+h* slope;
cout<<x0<<"\t"<<y0<<"\t"<<slope<<"\t"<<yn<<endl;
y0 =yn;
x0 =x0+h;
}
cout<<endl<<"Value of y at x = "<<xn<<" is "<<yn;
return 0;
}
OUTPUT:
PROGRAM 11
RK-2
#include<iostream>
using namespace std;
float f(float x,float y)
{
return (x*x*x)/(2*y);
}
int main()
{
float x0,xn,y0,yn,h,k,k1,k2,n;
int i;
cout<<"Enter Initial Condition"<<endl;
cout<<"x0:";
cin>>x0;
cout<<"y0:";
cin>>y0;
cout<<"Enter calculation point xn:";
cin>>xn;
cout<<"Enter number of steps:";
cin>>n;
h=(xn-x0)/n;
for(i=0;i<n;i++)
{
k1=h*f(x0,y0);
k2=h*f(x0+h,y0+k1);
k=(k1+k2)/2;
yn=y0+k;
x0=x0+h;
y0=yn;
cout<<"\nValue of y at x="<<x0<<" is "<<y0;
}
return 0;
}
OUTPUT:
RK-3
#include<iostream>
using namespace std;
float f(float x,float y)
{
return (x*x*x)/(2*y);
}
int main()
{
float x0,xn,y0,yn,h,k,k1,k2,k3,n;
int i;
cout<<"Enter Initial Condition"<< endl;
cout<<"x0:";
cin>>x0;
cout<<"y0:";
cin>>y0;
cout<<"Enter calculation point xn:";
cin>>xn;
cout<<"Enter number of steps:";
cin>>n;
h=(xn-x0)/n;
for(i=0;i<n;i++)
{
k1=h*f(x0,y0);
k2=h*f(x0+(h/2),y0+(k1/2));
k3=h*f(x0+h,y0+2*k2-k1);
k=(k1+4*k2+k3)/6;
yn=y0+k;
x0=x0+h;
y0=yn;
cout<<"\nValue of y at x="<<x0<<" is "<<y0;
}
return 0;
}
OUTPUT:
RK-4
#include<iostream>
#define f(x,y) (y*y-x*x)/(y*y+x*x)
using namespace std;
int main()
{
float x0,y0,xn,h,yn,k1,k2,k3,k4,k;
int i,n;
cout<<"Enter Initial Condition"<<endl;
cout<<"x0:";
cin>>x0;
cout<<"y0:";
cin>>y0;
cout<<"Enter calculation point xn:";
cin>>xn;
cout<<"Enter number of steps:";
cin>>n;
h=(xn-x0)/n;
cout<<"\nx0\ty0\tyn\n"<<endl;
for(i=0; i < n; i++)
{
k1= h * (f(x0, y0));
k2 = h * (f((x0+h/2), (y0+k1/2)));
k3 = h * (f((x0+h/2), (y0+k2/2)));
k4 = h * (f((x0+h), (y0+k3)));
k = (k1+2*k2+2*k3+k4)/6;
yn = y0 + k;
cout<<x0<<"\t"<<y0<<"\t"<<yn<<endl;
x0 = x0+h;
y0 = yn;
}
cout<<"\nValue of y at x="<<xn<<" is "<<yn;
return 0;
}
OUTPUT: