58% found this document useful (26 votes)
13K views

Comp Science Practical File 12th Class

The document contains code snippets for various computer science algorithms and data structures including binary search, sorting algorithms like bubble sort, selection sort and insertion sort, counting elements in a text file, merging sorted arrays, modifying and deleting records from a binary file, and implementations of a stack and queue using linked lists. It provides code to implement basic operations like insertion, deletion and traversal for these common data structures and algorithms.

Uploaded by

cursator
Copyright
© Attribution Non-Commercial (BY-NC)
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
58% found this document useful (26 votes)
13K views

Comp Science Practical File 12th Class

The document contains code snippets for various computer science algorithms and data structures including binary search, sorting algorithms like bubble sort, selection sort and insertion sort, counting elements in a text file, merging sorted arrays, modifying and deleting records from a binary file, and implementations of a stack and queue using linked lists. It provides code to implement basic operations like insertion, deletion and traversal for these common data structures and algorithms.

Uploaded by

cursator
Copyright
© Attribution Non-Commercial (BY-NC)
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/ 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