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() { { cout<<"Underflow"<<endl; } else { ptr=top; top=top->next; delete ptr; }} if(top==NULL)

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 1 2 3 4 5 6 7 Tushar Aditya Amit Jayant Anshul Ratul fees Zone Age Grade Comp 18 A A B C B B A 10 10 20 20 20 10 20

20000 West

35000 Centre 20 32000 West 38000 North 32000 East 37000 South 20 17 17 17 20

Devavrat 36000 North

43

Table: Competition Comp CName Minprize Maxprize Now 10 20 20 Music 25000 32000 50000 40000 1 5 7

Drama 20000 Debate 25000

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