You are on page 1of 55

COMPUTER SCIENCE

PRACTICAL
FILE
By:-Jayant Chandra
Class :-> XII-A
Roll no. :-> 10

INDEX
1. Binary searching in an array

2. Bubble sort

3. Selection sort

4. Insertion sort

5. Count number of alphabets and digits


in a text file.

6. Count number of words in a text file.

7. Count number of lines in a text file.

8. Count number of lines starting with


1

t / T in a text file.

9. Merging two given arrays (ascending


order) into a single array(ascending
order).

10. Deletion of a record from binary file.

11. Modifying a record from a binary file.

12. Program for stack as a linked-list.

13. Program for stack as an array.

14. Program for queue an a linked-list.

15. SQL

binary searching
#include<iostream.h>
#include<conio.h>
int bsearch(int [ ],int,int);
void main( )
{
clrscr( );
int ar[50];
int n;
int item;
int index;
cout<<"How many elements array do you want to create(maximum 50)"<<endl;
cin>>n;
cout<<"Enter array elements"<<endl;
for(int i=0;i<n;i++)
{
cin>>ar[i];
}
index=bsearch(ar,n,item);
if(index==-1)
{
cout<<"Sorry!! Element"<<item<<" is not found"<<endl;
}
else
3

{
cout<<"Element found at index :"<<index<<endl;
cout<<"At position"<<index+1<<endl;
}
getch( );
}
int bsearch(int ar[ ],int size,int item)
{
int beg=0;
int size;
int last=size-1;
int mid;
while(beg<=last)
{
mid=(beg+last)/2;
if(item==ar[mid])
{
return mid;
}
else if(item>ar[mid])
{
beg=mid+1;
}
else
4

{
last=mid-1;
}
}
return -1;
}

Output

bubble sort
#include<iostream.h>
#include<conio.h>
void bubblesort(int [ ],int);
void main( )
{
clrscr( );
int ar[50],n;
cout<<"How many elements array do you want to create?(max. 50)"<<endl;
cin>>n;
cout<<"Enter array elements"<<endl;
for(int i=0;i<n;i++)
{
cin>>ar[50];
}
bubblesort(ar,n);
cout<<"The sorted array is as given below :"<<endl;
for(int j=0;j<n;j++)
{
cout<<ar[j]<<endl;
}
getch( );
}
6

void bubblesort(int ar[ ],int size)


{
int tmp;
for(int i=0;i<size;i++)
{
for(int j=0;j<(size-1);j++)
{
if(ar[ j ]>ar[j+1])
{
tmp=ar[ j ];
ar[ j ]=ar[ j+1 ];
ar[ j+1 ]=tmp;
}}}}

Output

selection sort
#include<iostream.h>
#include<conio.h>
void selsort(int [ ],int);
void main( )
{ clrscr( );
int ar[50]n;
cout<<"How many elements array do you want to create"<<endl;
cin>>n;
cout<<"Enter array elements"<<endl;
for(int i=0;i<n;i++)
{
cin>>ar[i];
}
selsort(ar,n);
cout<<"The sorted array is as given below :"<<endl;
for(int j=0;j<n;j++)
{
cout<ar[ j ]<<endl;
} getch( );
}
void selsort(int ar[ ],int size)
{
8

int small,tmp;
for(int i=0;i<size;i++)
{
small=ar[i];
{
for(int j=i+1;j<size;j++)
{
if(ar[j]<small)
{
small=ar[j]; pos=j;
}
tmp=ar[i];
ar[i]=ar[pos];
ar[pos]=tmp;
}}

Output

insertion sort
#include<iostream.h>
#include<conio.h>
#include<limits.h>
void insertion(int [],int);
void main()
{ clrscr();
int ar[50],item ,n ,index;
cout<<"How many elements array do you want to create?"<<endl;
cin>>n;
cout<<"Enter array elements"<<endl;
for(int i=1;i<=n;i++)
{
cin>>ar[i];
}
insertion(ar,n);
cout<<"The sorted array is as follows-"<<endl;
for(int j=1;j<=n;j++)
{
cout<<ar[j]<<" ";
}
cout<<endl;
getch();
}
10

void insertion(int ar[],int size)


{
int tmp, j;
ar[0]=INT_MIN;;
for(int i=1;i<=size;i++)
{
tmp=ar[i];
j=i-1;
while(tmp<ar[j])
{
ar[j+1]=ar[j];
j-- ;
}
ar[j+1]=tmp;
}}

Output

11

Count number of alphabets and digits


in a text file.
#include<iostream.h>
#include<fstream.h>
#include<conio.h>
#include<ctype.h>
void main()
{
clrscr();
char ch;
int count=0;
int count1=0;
ifstream fil("honey.txt");
while(!fil.eof())
{
fil.get(ch);
if(isalpha(ch))
{
count++;
}
else if(isdigit(ch))
{
count1++;
12

}
}
cout<<"number of alphabets are : "<<count<<endl;
cout<<"number of digits are : "<<count1<<endl;
fil.close();
getch();
}

Text file contents


1234 by

Output

13

Count number of words in a text file.


#include<iostream.h>
#include<fstream.h>
#include<conio.h>
#include<ctype.h>
void main()
{
clrscr();
char word;
int count=0;
ifstream fil("student.txt");
while(!fil.eof())
{
fil.get(word);
if(word==' ')
{
count++;
}
}
cout<<"no of words are : "<<count<<endl;
fil.close();
getch();
}

14

Text file contents


It is a lovely weather today?.

Output

15

Count number of lines in a text file.


#include<iostream.h>
#include<fstream.h>
#include<conio.h>
#include<ctype.h>
void main()
{
clrscr();
char word[20];
int count=0;
ifstream fil("countline.txt");
while(!fil.eof())
{
fil.getline(word,20);
count++;
}
cout<<"no of lines are"<<count<<endl;
fil.close();
getch();
}

16

Text file contents


It is
A lovely
Weather today?.

Output

17

Count number of lines starting with


T in a text file.
#include<iostream.h>
#include<conio.h>
#include<fstream.h>
#include<ctype.h>
#include<string.h>
void main()
{
clrscr();
int count=0;
char ch[20];
ifstream fil("student.txt");
while(!fil.eof())
{
fil.getline(ch,20);
if((ch[0]=='t')||ch[0]=='T'))
{
count++;
}
}
cout<<"number of lines starting with 't' in the file are"<<count<<endl;
getch();
fil.close();
18

Text file contents


my name id
the best paret to the vert
the to where i m
mu the The
the bets

Output

19

Merging two given arrays (ascending


order) into a single array(ascending
order).
#include<iostream.h>
#include<conio.h>
void merge(int Z[],int z,int X[],int x,int Y[],int y)
{
y=z+x;
for(int d=0,e=0,f=0;d<z,e<x;)
{
if(Z[d]<X[e])
{
Y[f++]=Z[d++];
}
else if(Z[d]>X[e])
{
Y[f++]=X[e++];
}
}
if(d<z)
{
while(d<z)
{
20

Y[f++]=Z[d++];
}
}
else if(e<x)
{
while(e<x)
{
Y[f++]=X[e++];
}}}
void main()
{
clrscr();
int A[50], B[50], C[100];
int a, b, c;
cout<<"Enter size of first array(A)"<<endl;
cin>>a;
cout<<"Enter elements of first array in ascending order"<<endl;
for(int i=0;i<a;i++)
{
cin>>A[i];
}
cout<<"Enter size of second array(B)"<<endl;
cin>>b;
cout<<"Enter elements of second array in ascending order"<<endl;
21

for(int j=0;j<b;j++)
{
cin>>B[j];
}
c=a+b;
merge(A,a,B,b,C,c);
cout<<"The merged array is as given below"<<endl;
for(int m=0;m<c;m++)
{
cout<<C[m]<<" ";
} getch();
}

Output

22

Deletion of a record from binary file.


#include<iostream.h>
#include<conio.h>
#include<fstream.h>
#include<string.h>
#include<stdio.h>
class student
{
int id;
char name[20];
public:
void input()
{
cout<<"Enter student id"<<endl;
cin>>id;
cout<<"Enter student name"<<endl;
gets(name);
}
void display()
{
cout<<"Student id is: "<<id<<endl;
cout<<"Student name is: ";
puts(name);endl;
}
23

int getno()
{
return id;
}
};
void main()
{
clrscr();
student s;
int rno;
char ans[5];
fstream fil("apple.dat",iso::binary|ios::in|ios::out|ios::app);
do
{
s.input();
fil.write((char*)&s,sizeof(s));
cout<<"Do you want to enter more records (yes/no)"<<endl;
gets(ans);
}while((strcmp(ans,"yes")==0)||(strcmp(ans,"Yes")==0));
fil.close();
cout<<"Enter student id whose record you want to delete"<<endl;
cin>>rno;
ifstream fout("apple.dat",ios::in|ios::binary);
ofstream fame("orange.dat",ios::out|ios::binary|ios::app);
24

fout.seekg(0);
while(!fout.eof())
{
fout.read((char*)&s,sizeof(s));
if(s.getno()==rno)
{
cout<<"Are you sure you want to delete this record (yes/no)"<<endl;
gets(ans);
if((strcmp(ans,"no")==0)||(strcmp(ans,"No")==0))
{
fame.write((char*)&s,sizeof(s));
}
}
}
else
{
fame.write((char*)&s,sizeof(s));
}
}
remove("apple.dat");
rename("orange.dat","apple.dat");
fame.close();
fout.close();
ifstream from("apple.dat",ios::in|ios::binary);
25

while(!from.eof())
{
from.read((char*)&s,sizeof(s));
s.display();
}
from.close();
getch();
}

26

Modifying a record from a binary file.


#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<fstream.h>
class student
{
int id;
char name[20];
public:
void input()
{
cout<<"Enter student id"<<endl;
cin>>id;
cout<<"Enter student name"<<endl;
gets(name);
}
void display()
{
cout<<"Student id is: "<<id<<endl;
cout<<"Student name is: ";
puts(name);endl;
}
27

void modify()
{
char nm[20];
cout<<"Enter correct name"<<endl;
gets(nm);
strcpy(name,nm);
}
int getno()
{
return id;
}
};
void main()
{
clrscr();
student s;
char ans[5];
int rno;
int pos;
fstream fil("honeysingh.dat",iso::binary|ios::in|ios::out|ios::app);
do
{
s.input();
fil.write((char*)&s,sizeof(s));
28

cout<<"Do you want to enter more records (yes/no)"<<endl;


gets(ans);
}while((strcmp(ans,"yes")==0)||(strcmp(ans,"Yes")==0));
fil.close();
cout<<"Enter student id whose record you want to edit"<<endl;
cin>>rno;
fstream f("honeysingh.dat",ios::out|ios::in|ios::binary);
f.seekg(0);
while(!f.eof())
{
pos=f.tellg();
f.read((char*)&s,sizeof(s));
if(s.getno()==rno)
{
s.modify();
f.seekg(pos);
f.write((char*)&s,sizeof(s));
break;
}
}
f.close();
ifstream fout("honeysingh.dat",ios::in|ios::binary);
while(!fout.eof())
{
29

fout.read((char*)&s,sizeof(s));
s.display();
}
fout.close();
getch();
}

Output

30

Program for stack as a linked-list.


#include<iostream.h>
#include<stdlib.h>
#include<process.h>
#include<conio.h>
#include<string.h>
#include<stdio.h>
struct node
{
int info;
node*next;
}*top,*newptr,*save,*ptr;
node*create_new_node(int);
void push(node*);
void display(node*);
void pop();
void main()
{ clrscr();
int n_info;
char ans[5],ans1[5];
top=NULL;
do {
cout<<"Enter information for new node"<<endl;
cin>>n_info;
31

newptr=create_new_node(n_info);
if(newptr==NULL)
{
cout<<"Cannot create new node"<<endl;
exit(0);
}
push(newptr);
cout<<"linked stack is"<<endl;
display(top);
cout<<"Do you want to enter more nodes?"<<endl;
gets(ans);
}while((strcmp(ans,"yes")==0)||(strcmp(ans,"Yes")==0));
cout<<"Do you want to pop a node?"<<endl;
gets(ans1);
while((strcmp(ans1,"yes")==0)||(strcmp(ans1,"Yes")==0))
{ pop();
cout<<"The stack is now"<<endl;
display(top);
cout<<"Do you want to pop another node?"<<endl;
gets(ans1);
};
getch();
}
node*create_new_node(int n)
32

{
ptr=new node;
ptr->info=n;
ptr->next=NULL;
return ptr;
}
void push(node*np)
{
if(top==NULL)
{
top=np;
}
else {
save=top;
top=np;
np->next=save;
}}
void display(node*np)
{
while(np!=NULL)
{
cout<<np->info<<"->";
np=np->next;
}

cout<<endl;
33

}
void pop()
{

if(top==NULL)

{
cout<<"Underflow"<<endl;
}
else {
ptr=top;
top=top->next;
delete ptr;
}}

Output

34

Program for stack as an array.


#include<iostream.h>
#include<conio.h>
#include<process.h>
#include<stdio.h>
#include<string.h>
int pop(int [],int&);
int push(int [],int&,int);
void display(int [],int);
const int size=50;
void main()
{ clrscr();
int stack [size],top=-1,res,item;
char ans[5], ans1[5];
do {
cout<<"Enter item for insertion"<<endl;
cin>>item;
res=push(stack,top,item);
if(res==-1)
{
cout<<"Overflow!!"<<endl;
exit(0);
}
cout<<"The stack now is"<<endl;
35

display(stack,top);
cout<<"Do you want to insert more items?(yes/no)"<<endl;
gets(ans);
}while((strcmp(ans,"yes")==0)||(strcmp(ans,"Yes")==0));
cout<<"Do you want to delete an element ?(yes/no)"<<endl;
gets(ans1);
while((strcmp(ans1,"yes")==0)||(strcmp(ans1,"Yes")==0))
{
res=pop(stack,top);
if(res==-1)
{
cout<<"Underflow!!"<<endl;
exit(0);
}
else {
cout<<"Element deleted is : "<<res<<endl;
cout<<"The stack now is"<<endl;
display(stack,top);
cout<<"Do you want to delete another element?(yes/no)"<<endl;
gets(ans1);
}}
getch();
}
int push(int stack[],int & top,int ele)
36

{
if(top==size-1)
{
return -1;
}
else {
top++;
stack[top]=ele;
}
return 0;
}
int pop(int stack[],int&top)
{
int ret;
if(top==-1)
{
return -1;
}
else {
ret=stack[top];
top--;
}
return ret;
}
37

void display(int stack[],int top)


{
if(top==-1)
{
return;
}
cout<<stack[top]<<"<- -"<<endl;
for(int i=top-1;i>=0;i--)
{
cout<<stack[i]<<endl;
}}

Output

38

Program for queue an a linked-list.


#include<iostream.h>
#include<stdlib.h>
#include<process.h>
#include<conio.h>
#include<string.h>
#include<stdio.h>
struct node
{
int info;
node*next;
}*front,*newptr,*save,*ptr,*rear;
node*create_new_node(int);
void insert(node*);
void display(node*);
void delete_node();
void main()
{ clrscr();
int n_info;
char ans[5], ans1[5];
front=rear=NULL;
do {
cout<<"Enter information for new node"<<endl;
cin>>n_info;
39

newptr=create_new_node(n_info);
if(newptr==NULL)
{
cout<<"Cannot create new node"<<endl;
exit(0);
}
insert(newptr);
cout<<"The queue now is"<<endl;
display(front);
cout<<"Do you want to enter more nodes?"<<endl;
gets(ans);
}while((strcmp(ans,"yes")==0)||(strcmp(ans,"Yes")==0));
cout<<"Do you want to delete a node?"<<endl;
gets(ans1);
while((strcmp(ans,"yes")==0)||(strcmp(ans,"Yes")==0))
{
delete_node();
cout<<"The queue is now"<<endl;
display(front);
cout<<"Do you want to delete another node?"<<endl;
gets(ans1);
}
getch();
}
40

node*create_new_node(int n)
{
ptr=new node;
ptr->info=n;
ptr->next=NULL;
return ptr;
}
void insert(node*np)
{
if(front==NULL)
{
front=rear=np;
}
else {
rear->next=np;
rear=np;
}}
void display(node*np)
{
while(np!=NULL)
{
cout<<np->info<<"->";
np=np->next;
}
41

cout<<endl;
}
void delete_node()
{
if(front==NULL)
{
cout<<"Underflow"<<endl;
}
else {
ptr=front;
front=front->next;
delete ptr;
}}

Output

42

SQL
Consider the tables given below and answer
the questions that follow:

Table: Student
No Name

fees

Zone

Tushar

20000 West

18

10

Aditya

35000 Centre 20

10

Amit

32000 West

20

20

Jayant

38000 North

17

20

Anshul

32000 East

17

20

Ratul

37000 South

17

10

Devavrat 36000 North

20

20

43

Age Grade Comp

Table: Competition
Comp CName Minprize Maxprize Now
10

Music

25000

32000

20

Drama 20000

50000

20

Debate 25000

40000

SQL commands to:-

Create table student and competition

44

1.Create table student(S.no integer, name


char(20),fees integer, zone char(7),age
integer,grade char(2),comp integer);
Create table competition (comp integer,cname
char(10), minprize integer, maxprize integer,Now
integer);
Simple select
2.Display the details of all the student
Select * from student;

3.Display the fees, Zone, and Grade of all the


students

select fees,zone,grade from student;

Conditional Select using Where Clause


4.Display the details of all the student who are
below 20 years of age
45

select * from student


where age>20;
5.Display the names of all the student working
in west zone
select name from student
where zone=west;

6.Display the fees of all the student of


department 10
select fees from student
where comp=10;
Using NULL
7.Display details of student whose grade is NULL
select * from student
where grade is NULL;

8.Display details of student whose grade is not


NULL

46

select * from student


where grade is NOT NULL;

Using DISTINCT clause


9. Display the names of various zones from the table
student

select distinct(zone) from student;

10. Display the various competition numbers from


the table student

select distinct(comp) from student;

Using Logical Operators (NOT, AND, OR)


11. Display the details of all the students of
department 10 who are above 20 years of age
select * from student
47

where comp=10 AND age>20;


12. Display the details of all the student who are
paying a fee of more than 35000 in the department
20

select * from student


where fees=35000 AND comp=20;
13. Display the names and fees of all the student
who are working in West zone or in Centre zone

select name,fees from student


Where zone=west or zone=centre;
Using IN operator
14. Display the names of all the student who are
working in department 20 or 30
select name from student
where comp IN(20,30);

48

Using BETWEEN Operator


15. Display the details of all the student whose fees
is between 32000 and 38000

select * from student


Where fees BETWEEN 32000 AND 38000;
Using LIKE Operator
16. Display the name, fees, and age of all the
student whose names start with M
select name,fees,age from student
where name like M%;
17. Display the name, fees, and age of all the
students whose names end with a
select name,fees,age from student
where name like %a;
18. Display the details of all the students whose
names contain a as the second character
select name,fees,age from student
49

where name _a%;


Using Aggregate functions

19. Display the sum and average of the salaries of all


the students
select sum(fees),avg(fees) from student;
20. Display the highest and the lowest salaries being
paid in department 10
select max(fees),min(fees) from student
where comp=10;
21. Display the number of students working in
department 10
select count(*) from student
where comp=10;
Using ORDER BY clause
22. Display the details of all the students in the
ascending order of their salaries
50

select * from student


order by fees ASC;
23. Display the details of all the students in the
descending order of their names
select * from student
order by name DESC;
Using GROUP BY clause
24. Display the total number of students in each
department
select comp,count(*) from student
group by comp;
25. Display the highest fees, lowest fees, and
average fees of each zone
select zone,max(fees),min(fees),avg(fees)
from student
group by zone;
Using UPDATE, DELETE, ALTER TABLE
51

26. Put the grade B for all those whose grade is


NULL
update student
set grade=B
where grade is NULL;

27. Increase the fees of all the students above 20


years of age by 10%.

update student
set fees=fees+(0.1*fees)
where age>20;

28. Delete the records of all the students whose


grade is C and fees is below 20000

delete from student


where grade=C AND fees<20000;
52

29. Add another column HireDate of type integer in


the Student table

alter table student


add (HireDate integer);

JOIN of two tables


20. Display the details of all the students who work
in Drama competition

select * from student, competition


where student.comp=competition.comp AND
cname=Drama;

31. Display the Name and Competition Name of all


the students

53

select name, cname from student, competition


where student.comp=competition.comp;

DROP TABLE
32. Drop the tables Student

drop table student;

33. Drop the table competition

drop table competition;

54

You might also like