Computer Science Study Material Class 12
Computer Science Study Material Class 12
Class XII
COMPUTER SCIENCE
Session 2016-17
(i)
COMPUTER SCIENCE
(ii)
COMPUTER SCIENCE
FOREWORD
The Students' Support Material is a product of an in-house academic exercise
undertaken by our subject teachers under the supervision of subject expert at
different levels to provide the students a comprehensive, yet concise, learning
support tool for consolidation of your studies. It consists of lessons in capsule
form, mind maps, concepts with flow charts, pictorial representation of
chapters wherever possible, crossword puzzles, question bank of short and long
answer type questions with previous years' CBSE question papers.
The material has been developed keeping in mind latest CBSE curriculum and
question paper design. This material provides the students a valuable window
on precise information and it covers all essential components that are required
for effective revision of the subject.
In order to ensure uniformity in terms of content, design, standard and
presentation of the material, it has been fine tuned at KVS Hqrs level.
I hope this material will prove to be a good tool for quick revision and will
serve the purpose of enhancing students' confidence level to help them perform
better. Planned study blended with hard work, good time management and
sincerity will help the students reach the pinnacle of success.
Best of Luck.
U.N. Khaware
Additional Commissioner (Acad.)
(iii)
COMPUTER SCIENCE
(iv)
Table of Contents
Unit /Chapters
Page No.
05-18
19-22
23-24
Chapter 4: Inheritance
25-27
28-34
35-46
47-53
54-59
60-66
67-92
COURSE DESIGN
Unit
I
II
III
IV
V
Topic
Marks
30
14
8
8
10
70
UNIT
VSA
SAI
SAII
LA
TOTAL
(1Mark) (2Marks) (3Marks) (4Marks)
1 (1)
8 (4)
3(1)
12 (6)
2 (1)
2(1)
4 (1)
4 (1)
6 (2)
2(1)
4 (1)
a) Address Calculation
b) Static Allocation of Object
c) Dynamic Allocation of Objects
d) Infix & Postfix Expression
Data File Handling in C++
a) Fundamentals of File Handling
b) Text File
c) Binary File
Database and SQL
2 (1)
3 (1)
3 (1)
4 (1)
2 (1)
1 (1)
1 (1)
2 (1)
3 (1)
2 (1)
3 (1)
a) Database concept
2 (1)
2 (1)
3 (1)
5 (2)
4 (1)
2 (1)
2(1)
4(1)
6 (2)
Boolean Algebra
2 (1)
1 (1)
1 (1)
c) Karnaugh Map
3 (1)
3 (1)
2 (1)
2 (1)
2 (1)
2 (2)
2 (2)
2 (2)
2 (2)
d) Webservers
1 (1)
1 (1)
1 (1)
1 (1)
4 (1)
TOTAL
9 (9)
2
26 (13)
15 (5)
20 ( 5)
4 (1)
70 (32)
Unit-I
Object Oriented Programming in C++
Revision Tour of Class XI
Chapter: 01
Keywords:Keywords are the certain reserved words that convey a special meaning to the
compiler. These are reserve for special purpose and must not be used as identifier name.eg for , if,
else , this , do, etc.
Identifiers:Identifiers are programmer defined names given to the various program
elements such as variables, functions, arrays, objects, classes, etc.. It may contain digits, letters and
underscore, and must begin with a letter or underscore. C++ is case sensitive as it treats upper and
lower case letters differently. A keyword can not be used as an identifiers. The following are some
valid identifiers:
Pen time580
s2e2r3 _dos _HJI3_JK
DataTypes in C++:Data types are means to identify the types of data and associated
operations of handling it. Data types in C++ are of two types:
1. Fundamental or Built-in data types: These data types are already known to compiler. These
are the data types which are not composed of other data types. There are following fundamental data
types in C++:
(i) int data type (for integer)
(ii) char data type (for characters)
(iii) float data type (for floating point numbers)
(iv) double data type
2. Derived and User defined date types : These data types are made up of fundamental data types
: For example 1)Array 2) Function 3) Reference 4) Constant 5) Pointer 6) Class 7) Enum 8) Union
9) Structure
(i)
signed
(ii) unsigned
(iii) long
(iv) short
Variables: A named memory location, whose contents can be changed with in program
execution is known as variable.
OR
A variable is an identifier that denotes a storage location, whose contents can be varied during
program execution.
Declaration of Variables: Syntax for variable declaration is:
datatype variable_name1, variable_name2, variable_name3,. ;
We can also initialize a variable at the time of declaration by using following syntax:
datatype variable_name = value;
When the initial value is given to the variable at the run time it is called dynamic initialization.e.g.
float avg;
avg = sum/count;
then above two statements can be combined in to one as follows:
float avg = sum/count;
Constant: A named memory location, whose contents cannot be changed within program
execution is known as constant.
OR
A constant is an identifier that denotes a storage location, whose contents cannot be varied
during program execution.
Syntax for constant declaration is:
const datatype constant_name = value ;
e.g.,
const float pi = 3.14f ;
Conditional operator ( ? : ):
The conditional operator (? :) is a ternary operator i.e., it require three operands. The general form of
conditional operator is:
expression1? expression2: expression3 ;
Where expression1 is a logical expression , which is either true or false.
If expression1 evaluates to true i.e., 1, then the value of whole expression is the value of expression2,
otherwise, the value of the whole expression is the value of expression3. For example
min = a<b? a : b ;
Here if expression (a<b ) is true then the value of a will be assigned to min otherwise value of b will
be assigned to min.
Type Conversion:The
process of converting one predefined data type into another is called type
conversion.
<>
[]
in syntax is known as a place holder, it is not a part of syntax, do not type it while writing
program. It only signifies that anything being kept there varies from program to program.
is also not a part of syntax , it is used to mark optional part of syntax i.e. all part of syntax
between [ ] is optional.
break Statement :-The break statement enables a program to skip over part of the code. A
break statement terminates the smallest enclosing while, do-while, for or switch statement.
Execution resumes at the statement immediately following the body of the terminated statement.
The following figure explains the working of break statement:
7
continue Statement:- The continue is another jump statement like the break statement as
both the statements skip over a part of the code. But the continue statement is somewhat different
from break. Instead of forcing termination, it forces the next iteration of the loop to take place,
skipping any code in between. The following figure explains the working of continue statement:
The Working of Continue Statement
gets( ) , puts( )
isalnum( ) , isalpha( ), isdigit ( ), islower (),
isupper ( ), tolower ( ), toupper( )
strcpy ( ), strcat ( ), strlen( ), strcmp( ) ,
strcmpi( ) , strrev( ),strupr( ) , strlwr( )
fabs ( ), pow ( ), sqrt ( ), sin ( ), cos ( ), abs ( )
randomize ( ), random ( )
8
randomize( ) : This function provides the seed value and an algorithm to help random( ) function
in generating random numbers. The seed value may be taken from current systems time.
random(<int> ) : This function accepts an integer parameter say x and then generates a random
value between 0 to x-1.
for example : random(7) will generate numbers between 0 to 6.
To generate random numbers between a lower and upper limit we can use following formula
random(U L +1 ) + L
where U and L are the Upper limit and Lower limit values between which we want to find out
random values.
For example : If we want to find random numbers between 10 to 100 then we have to write code as:
random(100 -10
10 +1) + 10 ; // generates random number between 10 to 100
2. User-defined function :- The functions which are defined by user for a specific purpose is
known as user-defined
defined function. For using a user
user-defined
defined function it is required, first define it
and then using.
Declaration of user-defined
defined Function:
Return_type function_name(List of formal parameters)
{
Body of the function
}
Calling a Function:- When a function is called then a list of actual parameters is supplied that
should match with formal parameter list in number, type and order of arguments.
Syntax for calling a function is:
function_name ( list of actual parameters );
e.g.,
#include <iostream.h>
int addition (int a, int b)
{ int r;
r=a+b;
return (r); }
void main ( )
{ int z ;
z = addition (5,3);
cout<< "The result is " << z;
}
The result is 8
Call by Value (Passing by value) :- The call by value method of passing arguments to a function
copies the value of actual parameters into the formal parameters , that is, the function creates its own
copy of argument values and then use them, hence any chan
chance
ce made in the parameters in function
will not reflect on actual parameters . The above given program is an example of call by value.
Call by Reference ( Passing by Reference) :- The call by reference method uses a different
mechanism. In place of passing value to the function being called , a reference to the original
variable is passed . This means that in call by reference method, the called function does not create
its own copy of original values , rather, its refers to the original values only by different
diffe
names i.e.,
reference . Thus
hus the called function works on the original data and any changes are reflected to the
original values.
// passing parameters by reference
#include <iostream.h>
void duplicate (int& a, int&
int b, int& c)
9
{
a*=2;
b*=2;
c*=2;
}
void main ()
{
int x=1, y=3, z=7;
duplicate (x, y, z);
cout <<"x="<<
<< x <<
<<", y="<< y <<", z="<< z;
}
output :x=2, y=6, z=14
The ampersand (&)operator specifies that their corresponding arguments are to be passed by
reference instead of by value.
Constant Arguments:-In
In C++ the value of constant argument cannot be changed by the function.
To make an argument constant to a function , we can use the keyword const as shown below:
int myFunction( const int x , const int b );
The qualifier const tell the compiler that the function should not modify the argument. The compiler
will generate an error when this condition is violated.
Default Arguments :- C++ allows us to assign default value(s) to a functions parameter(s) which
is useful in case a matching argument is not passed in the function call statement. The default values
are specified at the time of function definition from right most parameter to left ones.. e.g.,
float interest ( float principal, int time, float rate = 0.70f)
Here if we call this function as:
si_int= interest(5600,4);
then rate =0.7 will be used in function.
Formal Parameters:- The parameters that appear in function definition are formal parameters.
Actual Parameters :- The parameters that appears in a function call statement are actual parameters.
Functions with no return type (The use of void):void): In this case we should use the void type
specifier for the function. This is a special specifier that indicates absence of type.
The return Statement :- The execution of return statement, it immediately exit from the function
and control passes back to the calling function ( or, in case of the main( ), transfer control back to the
operating system). The return statement also returns a value to the calling function. Th
Thee syntax of
return statement is:
return ( value);
Scope of Identifier :-The part of program in which an identifier can be accessed is known as
scope of that identifier. There are four kinds of scopes in C++
(i)
Local Scope :- An identifier declare in a bblock
lock ( { } ) is local to that block and can be used
only in it.
(ii)
Function Scope :- The identifier declare in the outermost block of a function or in its
argument list, have function scope.
10
(iii)
File Scope ( Global Scope) :- An identifier has file scope or global scope if it is declared
outside all blocks i.e., it can be used in all blocks and functions.
(iv)
Class Scope :- A name of the class member has class scope and is local to its class.
Lifetime :The time interval for which a particular identifier or data value lives in the memory
is called Lifetime of the identifier or data value.
Arrays:
Declaration of One-Dimentional Array:Data_type Array_name[size];
Working with One Dimentional Array:General form of for loop for Reading
Generally processing
elements of array (1-D)
part may be include
within the loop of
for (int i=0; i< size; i++)
reading or printing,
{
cout<<Enter Array Element <<i+1; otherwise a same type
separate loop may be
cin>>Array_Name[i];
used for processing
}
Pointer:- Pointer is a variable that holds a memory address of another variable of same type.
Declaration and Initialization of Pointers :
Syntax :
Datatype *variable_name;
e.g., int *p;
float *p1;
char *c;
Two special unary operator * and & are used with pointers. The & is a unary operator that returns the
memory address of its operand.
e.g.,
int a = 10;
int *p;
p = &a;
Pointer arithmetic: Two arithmetic operations, addition and subtraction, may be performed on
pointers. When you add 1 to a pointer, you are actually adding the size of whatever the pointer is
pointing at. That is, each time a pointer is incremented by 1, it points to the memory location of the
next element of its base type.
e.g.
int *p;
p++;
If current address of p is 1000, then p++ statement will increase p to 1002, not 1001.
Adding 1 to a pointer actually adds the size of pointers base type.
Base address : A pointer holds the address of the very first memory location of array where it is
pointing to. The address of the first memory location of array is known as BASE ADDRESS.
Dynamic Allocation Operators :C++ dynamic allocation operatorsallocate memory from the free
store/heap/pool, the pool of unallocated heap memory provided to the program. C++ defines two
operators new and delete that perform the task of allocating and freeing memory during runtime.
Pointers and Arrays :C++ treats the name of an array as constant pointer which contains base
address i.e address of first memory location of array.
typedef :- The typedef keyword allows to create alias(alternate name) for data types. the syntax
is:
typedef existing_data_type new_name ;
e.g. typedef int num;
#define Preprocessor Directive:The # define directive creates symbolic constant,
constants that are represent as macros.
Macros:Macros are preprocessor directive created using # define that serve as symbolic
constants. They are created to simplify and reduce the amount of repetitive coding
e.g.1
#define PI 3.14
Here PI is defined as a macro. It will replace 3.14 in place of PI throughout the program.
e.g. 2
#define max (a, b) a>b? a: b
Defines the macro max, taking two arguments a and b. This macro may be called like any
12
11.
12.
1.
2.
Which C++ header file (s) will be included to run /execute the following C++ code?
void main( )
Ans: iostream.h, iomanip.h
{ int Last =26.5698742658;
cout<<setw(5)<<setprecision(9)<<Last; }
Name the header files that shall be needed for successful compilation of the following C++
code :
void main()
{
char str[20],str[20];
13
3.
4.
gets(str);
strcpy(str1,str);
strrev(str);
puts(str);
puts(str1);
}
Write the names of the header files to which the following belong:
(i)
strcmp()
(ii)
fabs()
Write the names of the header files to which the following belong:
(i)
frexp()
(ii)
isalnum()
Short Answer Type Questions (2-MarksError Finding)
1.
Rewrite the following program after removing any syntactical errors. Underline each
correction made.
Ans :- #include<iostream.h>
#include<iostream.h>
void main( )
void main( )
{int A[10] = {3,2,5,4,7,9,10};
int A[10];
int S = 0,p;
A=[3,2,5,4,7,9,10];
for( p = 0; p<=6; p++)
for(p = 0; p<=6; p++)
{ if(A[p]%2=0)
{ if(A[p]%2==0)
int S = S+A[p]; }
S = S+A[p]; }
cout<<S;
cout<<S;}
}
2.
Deepa has just started working as a programmer in STAR SOFTWARE company. In the
company she has got her first assignment to be done using a C++ function to find the smallest
number out of a given set of numbers stored in a one-dimensional array. But she has committed some
logical mistakes while writing the code and is not getting the desired result. Rewrite the correct code
underlining the corrections done. Do not add any additional statements in the corrected code
int find(int a[],int n)
{ int s=a[0];
for(int x=1;x<n;x++)
if(a[x]>s)
a[x]=s;
return(s); }
Rewrite the following program after removing the syntactical errors (if any). Underline each
3.
correction.
#include [iostream.h]
class PAYITNOW
{
int Charge;
PUBLIC:
void Raise(){cin>>Charge;}
void Show{cout<<Charge;}
};
void main()
{
PAYITNOW P;
P.Raise();
Show();
}
14
4.
Rewrite the following program after removing the syntactical errors (if any). Underline each
correction.
#include <iostream.h>
struct Pixels
{
int Color,Style;}
void ShowPoint(Pixels P)
{
cout<<P.Color,P.Style<<endl;}
void main()
{
Pixels Point1=(5,3);
ShowPoint(Point1);
Pixels Point2=Point1;
Color.Point1+=2;
ShowPoint(Point2);
}
Short Answer Type Questions (2-MarksFinding Output)
2.
Find the output of the following C++
program:
#include<iostream.h>
void repch(char s[])
{
for (int i=0;s[i]!='\0';i++)
{
if((i%2)!=0) &&(s[i]!=s[i+1]))
{
s[i]='@';
}
else if (s[i]==s[i+1])
{
s[i+1]='!';
}
}
}
void main()
{
char str[]="SUCCESS";
cout<<Original String<<str;
repch(str);
cout<<"Changed String"<<str;}
Ans: Original String SUCCESS
Changed String S@C@ES!
1.
Find output of the following program
segment :
#include<iostream.h>
#include<ctype.h>
void Mycode(char Msg[],char CH)
{ for(int cnt=0;Msg[cnt]!=\0;cnt++)
{ if(Msg[cnt]>=B&& Msg[cnt]<=G)
Msg[cnt]=tolower(Msg[cnt]);
else
if(Msg[cnt]==N||Msg[cnt]==n||Msg[cnt]== )
Msg[cnt]=CH;
else
if(cnt%2==0)
Msg[cnt]=toupper(Msg[cnt]);
else
Msg[cnt]=Msg[cnt1]; } }
void main()
{ char MyText[]="Input Raw";
Mycode(MyText,@);
cout<<"NEW TEXT:"<<MyText<<endl;
}
15
(i)
100$$75
(ii) 75$$10$$125$$
(iii) 75$$10$$
(iv)10$$125$
2. In the following program, if the value of N given by the user is 15, what maximum and minimum
values the program could possibly display?
#include <iostream.h>
#include <stdlib.h>
void main()
{
int N,Guessme;
randomize();
cin>>N;
Guessme=random(N)+10;
cout<<Guessme<<endl;
}
3. In the following program, if the value of N given by the user is 20, what maximum and minimum
values the program could possibly display?
#include <iostream.h>
#include <stdlib.h>
void main()
{
int N,Guessnum;
randomize();
cin>>N;
Guessnum=random(N-10)+10;
cout<<Guessnum<<endl;
}
4. Read the following C++ code carefully and find out, which out of the given options (i) to (iv) are
the expected correct output(s) of it. Also, write the maximum and minimum value that can be
assigned to the variable Taker used in the code :
void main()
{ int GuessMe[4]={100,50,200,20};
int Taker=random(2)+2;
for (int Chance=0;Chance<Taker;Chance++)
cout<<GuessMe[Chance]<<#; }
(i) 100#
(ii) 50#200#
(iii) 100#50#200#
18
(iv) 100#50
Unit-I
Object Oriented Programming in C++
OOP, Classes And Objects
Chapter: 02
Class :- A class is collection of data (data member) and functions (member functions or methods)
working on the data. It can be seen as a blue print for the object. No memory is allocated when a
class is created. Memory is allocated only when an object is created.
Object :- An Object is an instance of the class means have all the properties defined in the class.
Data member:- The data variables declared within the class.
Member functions :- Member functions are the methods which are declared/defined inside the class
and operate upon the data member.
Data Abstraction: - Data abstraction represents essential features without including background
details.
Data Encapsulation:- Binds the data and its functions into a single unit called class.
Data hiding:-Hides internal object details (data members). Data hiding ensures exclusive data access
to class members and protects object integrity by preventing accidental or intended changes.
Inheritance: Inheritance is the process of forming a new class from an existing class or base class.
Base Class :- The class from which methods and data members are derived to new class is knows as
base class. The base class is also known as parent class or super class.
Derived Class:- The class that is deriving data and methods from base class is called derive class.
Derived class is also known as a child class or sub class.
Polymorphism:-Poly means many and morphs mean form (Multiple Forms). Refers to the ability of
processing of data in more than one form.
Access specifier :-private, protected, public (default access specifier is private)
Accessibility of private, protected and public members
Accessibility
Through member functions
Through object of the class
Through derived class
Private
Yes
No
No
Protected
Yes
No
Yes
19
Public
Yes
Yes
Yes
Syntax of a class
Example
class <class_name>
{
private:
declaration of data member;
declaration/definition member function;
protected:
declaration of data member;
declaration/definition member function
public:
declaration of data member;
declaration/definition member function
};
class student
{
private:
char name[30];
int age;
int marks;
protected:
char grade;
public:
void getdata();
void showdata();
};
Referencing class members:- All the data members of the class are directly accessible to the
member function of that class. They dont need any object name to be prefixed before it but from
outside the class any reference to the data member is done with the dot (.) operator.
syntax for creating an object:
<class_name><Object_name>;
Example:
student s1;
Accessing members from object of the class:-A data member and member function declared under
public access specifier can be accessed by the objects directly.
objectname.member;
e.g.
s1.getdata();
s1.showdata();
Defining class methods/Member functions. Member functions of the class can be defined in the
following two ways
(a) Inside the class definition (inline function)
In this method, the function is defined within the class body and are treated as inline by default.
(b) Outside the class definition.
In this way function prototype is declared within class body and function is defined outside the class
with the help of Scope Resolution operator (::).
Syntax for defining a member function Example for defining a member function
outside the class definition.
outside the class definition.
<return type><class name> :: <function void student::showdata()
name>(parameter list)
{
{
cout<<\n Name <<name;
body of the function
cout<<\n Age <age;
}
cout<,\n Marks<marks;
}
20
21
22
Unit-I
Object Oriented Programming in C++
Constructors and Destructors
Chapter: 03
Constructor:- A constructor is a special member function with the same name as its class name and is used to
initialize the data members of the class. Constructor is invoked automatically when an object of a class is
created. Constructor do not return any value not even void. Constructor must be defined in public section.
Types of Constructors
1. Default Constructor (No argument constructor):- A default constructor accepts no parameters.
When no constructor is defined in the class, compiler provides the default constructor.
2. Parameterized Constructor (Overloaded Constructor):- Parameterized constructor accepts
parameters and is used to assign these parameters to the data members of the class. There may be
many definitions of the parameterized constructor depending upon the type and number of parameters
passed to the constructor and so it is also called overloaded constructor.
3. Copy Constructor:-A constructor that accepts a reference to an instance of its own class as an
argument is called as Copy Constructor. A copy constructor is used to create new object with the
similar values of existing object. A copy constructor is invoked when one object is defined and
initialized with another object of the same class.
Syntax for declaration of copy constructor:classname(classname &obj) ;
for example:- Student(Student &s)
Note 2: When multiple constructors are defined for a class it is also known as constructor
overloading.
Destructor: A function having same name as of class preceded with a tilde(~) sign, which is
automatically called when scope of object is over.It is used to deallocate the memory.
Note: The order of destructor invocation is reverse of constructor invocation.
Short Answer Type Questions (2 Marks)
Q1. What do you understand by constructor and destructor?
Q2. What are different types of constructors?
Q3.What do you understand by Default constructor? What is its role?
Q4. Answer the questions (i) and (ii) after going through the following classclass Race
{ int CarNo,Track;
public:
Race();
//function 1
Race(int CN);
//function 2
Race(Race &R);
//function 3
void Register();
//function 4
void Drive();
//function 5
};
void main()
{ Race R; }
(i) Out of the following, which of the options is correct for calling function 2?
Option 1 - Race T(30); Option 2 - Race U(R);.
(ii)
Name the feature of object oriented programming, which is illustrated by function1,
function2 and function 3 combined together.
Q5.What is copy constructor? What do you understand by constructor overloading?
Q6.Find the output of following#include<iostream.h>
void main()
class METRO
{
{
METRO M(5),T;
int Mno,TripNo,PassengerCount;
M.Trip();
public:
T.Trip(50);
METRO(int Tmno=1)
M.StatusShow();
{
M.Trip(30);
Mno= Tmno;
T.StatusShow();
TripNo =0;
M.StatusShow();
PassengerCount=0;
}
}
void Trip(int PC=20)
{
TripNo++;
PassengerCount +=PC;
}
void StatusShow()
{
cout<<Mno<<":"<<TripNo<<":"<<PassengerCount<<endl;
}
};
24
Unit-I
Object Oriented Programming in C++
Inheritance
Chapter: 04
Inheritance is the process of creating a new class from existing class/classes. The existing class is
known as the base/super/parent class and newly created class is known as derived/sub/child class.
The derived class will inherits the properties of base class.
Advantages of Inheritance are given below:
Reusability: It helps the code to be reused in derived class. The base class is defined and once it is
compiled, it needs not to be reworked.
Transitivity: If class B inherits properties of another class A, then all subclasses of class B will
automatically inherits the properties of A. It is called transitive property.
Types of Inheritance:
1. Single inheritance:- When a sub class inherits only from one base class, is known as single
inheritance.
2. Multiple Inheritance:- When a sub class inherits from multiple base classes, is known as
multiple inheritance.
3. Hierarchical Inheritance:- When many sub classes inherit from a single class, it is known as
hierarchical inheritance.
4. Multilevel Inheritance:-When a class inherit from a class that itself inherits from another
class it is known as a multilevel inheritance.
5. Hybrid Inheritance: It is a combination of 2 or more of above types of inheritance. There is
no pattern of deriving from classes.
Visibility
Mode
class becomes
Public
Protected
in derived
Private member of
base class are not
class
directly accessible
Protected
Private
Protected
in derived Protected
in derived
class
class
to derived class
26
27
Unit-I
Object Oriented Programming in C++
Data File Handling In C++
Chapter: 05
File: - The information / data stored under a specific name on a storage device, is called a file.
Stream: - It refers to a sequence of bytes.
Text file: - It is a file that stores information in ASCII characters. In text files, each line of text is
terminated with a special character known as EOL (End of Line) character or delimiter character.
When this EOL character is read or written, certain internal translations take place.
Binary file:- It is a file that contains information in the same format as it is held in memory. In
binary files, no delimiters are used for a line and no translations occur here.
the
from
files.
files
Opening a file
Opening file using constructor
ofstream outFile("sample.txt");
//output only
ifstream inFile(sample.txt);
//input only
Opening File Using open ()
StreamObject.open(filename, [mode]);
ofstream outFile;
outFile.open("sample.txt");
ifstream inFile;
inFile.open("sample.txt");
File
mode Meaning
parameter
ios::app
Adds data to the end of file
ios::ate
Cursor goes to end of file on opening and can be placed anywhere in the file.
ios::binary
File opens in binary mode
ios::in
Opens file for reading only
ios::out
Opens file for writing only and delete previous data if file already exists.
ios::nocreate
Open fails if the file does not exist
ios::noreplace
Open fails if the file already exist
ios::trunc
Deletes the contents of the file if it exist
All these flags can be combined using the bitwise operator OR (|). For example, if we want to open
the file example.dat in binary mode to add data we could do it by the following call to member
function open():
fstream file;
file.open ("example.dat", ios::out | ios::in | ios::binary);
Closing File
outFile.close();
inFile.close();
28
seekp()
tellg()
tellp()
{ fin>>words;
count++;
}
cout<<"Number of words in file is
"<<count;
fin.close();
}
while(!fin.eof())
{
fin.get(ch);
if(ch=='a'||ch=='e'||ch=='i'||ch=='o'||ch=='u')
count++;
}
cout<<"Number of vowels in file are "<<count;
fin.close();}
void write_data()
{
employee obj;
ofstream fout;
fout.open("employee.dat",ios::binary|ios::app);
obj.getdata();
fout.write((char*)&obj,sizeof(obj));
fout.close();
}
void display()
{
employee obj;
ifstream fin;
fin.open("employee.dat",ios::binary);
while(fin.read((char*)&obj,sizeof(obj)))
{
obj.showdata();
}
fin.close();
}
void modifyrecord(int n)
{
fstream finout;
student obj;
int found=0;
finout.open("employee.dat",ios::in|ios::out|ios::binary);
while(finout.read((char*)&obj,sizeof(obj))&&
found==0)
{
if(obj.returnempno()==n)
{
obj.showdata();
cout<<"\nEnter The New data of
employee";
obj.getdata();
int pos=-1*sizeof(obj);
finout.seekp(pos,ios::cur);
finout.write((char*)&obj,sizeof(obj));
30
found=1;
}
}
finout.close();
}
if(strlen(word)==8)
count++;
}
cout<<Total number of words with word length 8 is= << count; fin.close();
}
4.
Given a binary file PHONE.DAT, containing records of the following structure type.
class phonlist
{ char Name[20] ;
char Address[30] ;
char AreaCode[5] ;
char PhoneNo[15] ;
public :
void Register( ) ;
void Show( ) ;
int CheckCode(char AC[ ])
{ return strcmp(AreaCode, AC) ;
}
};
Write a function TRANSFER( ) in C++, that would copy all those records which are having
AreaCode as DEL from PHONE.DAT to PHONBACK.DAT.
Ans:void transfer( )
{
ifstream Fin;
ofstream Fout;
Phonlist ph;
Fin.open(PHONE.DAT, ios::in | ios::binary);
Fout.open(PHONBACK.DAT, ios::out | ios:: binary);
while(Fin.read((char*)&ph, sizeof(ph)))
{
if(ph.check(DEL) == 0)
Fout.write((char*)&ph, sizeof(ph));
}
Fin.close();
Fout.close();
}
5.Given a binary file STUDENT.DAT, containing records of the following classStudent type
class Student
{
char S_Admno[l0]; //Admission number of student
char S_Name[30]; //Name of student
int Percentage; //Marks Percentage of student
public:
void EnterData()
{
gets(S_Admno);gets(S_Name);cin>>Percentage;
}
void DisplayData()
32
{
cout<<setw(12)<<S_Admno;
cout<<setw(32)<<S_Name;
cout<<setw(3)<<Percentage<<endl;
}
int ReturnPercentage(){return Percentage;}
};
Write a function in C++, that would read contents of file STUDENT.DAT and display the
details of those Students whose Percentage is above 75
Answer :void Distinction()
{
Student S;
fstream Fin;
Fin.open(STUDENT.DAT, ios::binary|ios::in);
while(Fin.read((char*)&S, sizeof(Student))
if (S.ReturnPercentage()>75)
S.DisplayData( );
Fin.close();
}
6.
Given a binary file STUINFO.DAT, containing records of the following structure type.
class STUDENT
{
int rollno;
char Name[20] ;
char Address[30] ;
char PhoneNo[15] ;
public :
void enter( )
{
cin>>rollno;
cin.getline(name,20);
cin.getline(address,30);
cin.getline(phoneno,15);
}
void display( )
{
cout<<information of student is;
cout<<rollno<<name<<address<<phoneno;
}
};
Write a function stu_write( ) in C++, that would write information of students in STUINFO.DAT
33
34
Unit-II
Data Structure
Arrays, Stacks, Queues And Linked List
Chapter: 06
In Computer Science, a data structure is a particular way of storing and organizing data in a
computer so that it can be used efficiently. Different kinds of data structures are suited to different
kinds of applications, and some are highly specialized to specific tasks.
Simple Data Structure: These data structures are normally built from primitive data types like
integers, floats, characters. For example arrays and structure.
Compound Data Structure: simple data structures can be combined in various ways to form
more complex structure called compound structures. Linked Lists, Stack, Queues and Trees are
examples of compound data structure.
if(a[i]==item)
return i;
}
return -1;
}
for(int i=0;i<n;i++)
cin>>a[i];
bubblesort(a,n);
cout<<"\n\nThe sorted array is as shown below\n";
for(i=0;i<n;i++)
cout<<a[i]<<"\n";
getch();
}
void bubblesort(int a[],int n) //Function to perform bubble sort
{
int temp;
for(int i=0;i<n-1;i++)
{
for(int 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;
}
}
}
arr[i+1] = temp;
}
}
Q3 Write a function in C++ to merge the contents of two sorted arrays A & B into third array C.
Assuming array A is sorted in ascending order, B is sorted in descending order, the resultant array is
required to be in ascending order.
Q 4 Write a function in C++ which accepts an integer array and its size as arguments and assign the
elements into a two dimensional array of integers in the following format
If the array is 1,2,3,4,5,6
if the array is 1,2,3
The resultant 2D array is
The resultant 2D array is
123456
123
012345
012
001234
001
000123
000012
000001
Questions based on Two Dimensional Array(3 marks question)
Q1. Write a function in C++ that will accept a 2-D array and its row and column size as argument
and find sum of rows and columns
Ans : void rowcolsum(int A[ ][ ],int N, int M)
{
for (int i=0;i<N;i++)
{
int SumR=0;
for (int j=0;j<M;j++)
SumR+=A[i][j];
cout<<SumR<<endl;
}
for (int i=0;i<N;i++)
{
int SumC=0;
for (int j=0;j<M;j++)
SumC+=A[j][i];
cout<<SumC<<endl;
}
}
Q2. Write a function in C++ to find the sum of both left and right diagonal elements from a two
dimensional array (matrix).
Ans : void DiagSum(int A[ ][ ], int N)
{
int SumD1=0,SumD2=0;
for (int I=0;I<N;I++)
{
SumD1+=A[I][I];
38
SumD2+=A[N-I-1][I];
}
cout<<Sum of Diagonal 1:<<SumD1<<endl;
cout<<Sum of Diagonal 2:<<SumD2<<endl;
}
Address Calculation in Two Dimensional Array
Two dimensional array can be arranged in two manner
1. Row Major Order
2. Column Major Order
To find the address of a particular row and column the formula in Row Major Orderis
Address of A[row][column]=B +w*(n(row)+column)
Where
B= Base address of the array
w= Word size
n= total no of columns in the array
To find the address of a particular row and column the formula in Column Major Order is
Address of A[row][column]=B +w*(m(Column)+row)
Where
B= Base address of the array
w= Word size
m= total no of rows in the array
Q1. An array x[30][10] is stored in the memory with each element requiring 4 bytes of storage. If the
base address of x is 4500, find out memory locations of x[12][8] if the content is stored along the
row.
Ans: Here the array is stored in Row Major Order so
B=4500
W= 4
N= 10
As per the formula
Address of A[row][column]=B +w*(n(row)+column)
=4500+4*(10(12)+8)
=4500+4*(128)
=4500+512
=5012
Q 2. An array P[20][30] is stored in the memory along the column with each of the element
occupying 4 bytes, find out the Base Address of the array, if an element P[2][20] is stored at the
memory location 5000.
Ans : Given, W=4, N=20, M=30, Loc(P[2][20])=5000
Column Major Formula:
Loc(P[I][J]) =Base(P)+W*(N*J+I)
Loc(P[2][20]) =Base(P)+4*(20*20+2)
Base(P) =5000 4*(400+2)
=5000 1608
=3392
39
Q3. An array S[40][30] is stored in the memory along the row with each of the element occupying 2
bytes, find out the memory location for the element S[20][10], if an element S[15][5] is stored at the
memory location 5500.
Ans. Given, W=2, N=40, M=30,
Loc(S[15][5])=5500
Row Major Formula:
Loc(S[I][J])
=Base(S)+W*(M*I+J)
Loc(S[15][5]) =Base(S)+2*(30*15+5)
5500 =Base(S) + 2*(450+5)
Base(S)
=5500 910 = 4590
Loc(S[20][10])
=4590+2*(30*20+10)
=4590+2*(600+10)
=4590+1220 = 5810
40
Here in the figure is an example of a linked list whose nodes contain two fields: an integer value and
a link to the next node. The last node is linked to a terminator used to signify the end of the list.
l
Linked lists are among the simplest and most common data structures. They can be used to
implement several other common abstract data types, stacks, queues etc.
The principal benefit of a linked list over an array is that the list elements can easily be inserted or
removed without reallocation or reorganization of the entire structure because the data items need not
be stored contiguously in memory or on disk. Linked lists allow insertion and removal of nodes at
any point in the list, and can do so with a constant number of operations if the link previous to the
link being added or removed is maintained during list traversal.
Linked
d list are dynamic structure where memory allocation takes place at run time.
Operation on a linked list
There are three basic operations on a linked list
Insertion
Deletion
Traversal
Inserting a node or element into Linked list :
Inserting an element into
to linked list contains 3 types .
1. Insertion at beginning of the Linked list
2. Insertion after/before any element of the linked list
3. Insertion at the end of the linked list
41
42
void main()
{
clrscr();
char ans;
queue q1;
do
{
q1.insqueue();
cout<<"wish to continue "<<endl;
cin>>ans;
}while(ans=='y');
q1.dispqueue();
cout<<"Press any key to delete an element
...."<<endl;
getch();
q1.delqueue();
q1.dispqueue();
getch();
}
43
Some Questions based on Board Examination on Linked stack & Linked Queue
Q1. Write a function in C++ to delete a node containing customers information, from a dynamically
allocated Queue of Customers implemented with the help of the following structure:
struct Customer
{int CNo;
char CName[20];
Customer *Link;
};
Ans: struct Customer
{
int CNo;
char CName[20];
Customer *Link;
} *Front, *Rear, *ptr;
void DELETE()
{
if(Front = = NULL)
cout<<\n Queue Underflow\n;
else
{
ptr = Front;
Front = FrontLink;
delete ptr;
}
}
Q2. Write a function in C++ to delete a node containing Books information, from a dynamically
allocated Stack of Books implemented with the help of the following structure.
struct Book
{int BNo;
char BName[20];
Book *Next;
};
Ans: struct Book
{
int BNo;
char BName[20];
Book *Next;
}*top, *ptr;
void POP()
{
if(top = = NULL)
cout<<\n Stack Underflow\n;
else
{
ptr = top;
top = topNext;
delete ptr;
}
}
44
Symbol
4
10
5
+
6
7
8
15
3
/
10
Stack
[
[4
[4,10
[4,10,5
[4
[4,15
[
[60
[60,15
[60,15,3
[60
[60,5
[
[55
55
Ans
Q. 4. Convert the following infix expression to its equivalent postfix expression, showing the stack
contents for each step of conversion.
X / Y + U* (V-W)
Ans. :- X / Y + U* (V-W)=((X / Y)+(U*(V-W)))
Element
Stack
Postfix
(
(
X
XY
XY/
XY/
XY/
XY/U
+*
XY/U
+*(
XY/U
+*(
XY/UV
45
X
U*
+*(-
XY/UV
+*(-
XY/UVW
+*
XY/UVW-
XY/UVW-*
XY/UVW-*+
(V-W)= XY/UVW-*+
46
/ Y
Unit-III
DATABASES MANAGEMENT SYSTEM AND SQL
DBMS & Structured Query Language
Chapter: 07
1.
Data Definition Language (DDL)
DDL contains commands that are used to create, modify or remove the tables, databases, indexes,
views, sequences and synonyms etc.
e.g:
Create table, create view, create index, alter table,drop table etc.
Data Manipulation Language (DML)
2.
DML contains commands that can be used to manipulate the data base objects and to query the
databases for information retrieval.
e.g
Select, Insert, Delete, Update etc.
3.
Arithmetic Operators
Relational Operators
Logical Operators
+, -, *, /
=, <, >, <=, >=, <>
OR, AND, NOT
Data types of SQL: Just like any other programming language, the facility of defining data
of various types is available in SQL also. Following are the most common data types of SQL.
1) NUMBER
e.g. Number(n,d) Number (5,2)
2) CHAR
CAHR(SIZE)
3) VARCHAR / VARCHAR2 VARCHAR2(SIZE)
4) DATE DD-MON-YYYY
Constraints:Constraints are the conditions that can be enforced on the attributes of a relation.
The constraints come in play whenever we are trying to insert, delete or update a record in a
relation.
Not null ensures that we cannot leave a column as null. That is a value has to be supplied for that
column.
e.g.
name varchar(25) not null
Unique constraint means that the values under that column are always unique.
e.g.
Roll_no number(3) unique
Primary key constraint means that a column cannot have duplicate values and not even a null value.
e.g.
Roll_no number(3) primary key
The main difference between unique and primary key constraint is that a column specified as unique
may have null value but primary key constraint does not allow null values in the column.
Foreign key is used to enforce referential integrity and is declared as a primary key in some other
table.
e.g.
cust_id varchar(5) references master(cust_id)
it declares cust_id column as a foreign key that refers to cust_id field of table master.
That means we cannot insert that value in cust_id filed whose corresponding value is not present in
cust_id field of master table. Moreover we cant delete any row in master table , if a corresponding
value of cust_id field is existing in the dependent table.
Check constraint limits the values that can be inserted into a column of a table.
48
e.g.
marks number(3) check(marks>=0)
The above statement declares marks to be of type number and while inserting or updating the value
in marks it is ensured that its value is always greater than or equal to zero.
Default constraint is used to specify a default value to a column of a table automatically. This default
value will be used when user does not enter any value for that column.
e.g. balance number(5)
default = 0
SQL COMMANDS :
1.
Create Table command is used to create a table . The syntax of this Command is:
CREATE TABLE <Table_name>
( column_name 1 data_type1 [(size) column_constraints],
column_name 1 data_type1 [(size) column_constraints],
:
:
[<table_constraint> (column_names)] );
2. The ALTER Table commandis used to change the definition (structure) of existing table.
ALTER TABLE <Table_name>ADD/MODIFY <Column_defnition>; For Add or modify column
ALTER TABLE <Table_name> DROP COLUMN <Column_name>;
For Deleting a column
3. The INSERT Command:The rows (tuples) are added to a table by using INSERT command. The
syntax of Insert command is:
INSERT INTO <table_name> [(<column_list>)]VALUES (<value_list>);
e.g.,
INSERT INTO EMP (empno, ename, sex, sal, deptno) VALUES(1001, Ravi, M, 4500.00, 10);
If the order of values matches the actual order of columns in table then it is not required to give the
column_list in INSERT command. e.g.
INSERT INTO EMP VALUES(1001, Ravi, M, 4500.00, 10);
4.
The Update command is used to change the value in a table. The syntax of this command is:
UPDATE <table_name>
SET column_name1=newvalue1/expression [,column_name2=newvalue2/expression,]
WHERE <condition>;
e.g., to increase the salary of all the employees of department No 10 by 10% , then command will
be:
UPDATE emp
SET sal=sal*1.1
WHERE Deptno=10;
5.
The DELETE command removes rows from a table. This removes the entire rows, not
individual field values. The syntax of this command is
DELETE FROM <table_name>
[WHERE <condition>];
e.g., to delete the tuples from EMP that have salary less than 2000, the following command is used:
DELETE FROM emp WHERE sal<2000;
To delete all tuples from emp table:
DELETE FROM emp;
6.
The SELECT command is used to make queries on database. A query is a command that is
given to produce certain specified information from the database table(s). The SELECT command
49
can be used to retrieve a subset of rows or columns from one or more tables. The syntax of Select
Command is:
SELECT <Column-list>
FROM <table_name>
[WHERE<condition>]
[GROUP BY <column_list>]
[HAVING<condition>]
[ORDER BY <column_list [ASC|DESC ]>]
The select clause list the attributes desired in the result of a query.
e.g.,To display the names of all Employees in the emp relation:
select ename from emp;
To force the elimination of duplicates, insert the keyword distinct after select.
Find the number of all departments in the emp relations, and remove duplicates
select distinctdeptno from emp;
An asterisk (*) in the select clause denotes all attributes
SELECT* FROM emp;
The select clause can contain arithmetic expressions involving the operation, +, , *, and /, and
operating on constants or attributes of tuples.The query:
SELECTempno, ename, sal * 12 FROM emp;
would display all values same as in the emp relation, except that the value of the attribute sal is
multiplied by 12.
The WHERE clause in SELECT statement specifies the criteria for selection of rows to be returned.
Conditions based on a range (BETWEEN Operator):The Between operator defines a range of
values that the column values must fall in to make condition true . The range includes both lower
value and upper value.
e.g., Find the empno of those employees whose salary between 90,000 and 100,000 (that is, 90,000
and 100,000)
SELECT empno FROM emp WHERE salBETWEEN 90000 AND 100000;
Conditions based on a list (IN operator): To specify a list of values , IN operator is used. IN
operator selects values that match any value in a given list of values.
For example , to display a list of members from DELHI, MUMBAI, CHENNAI
orBANGALORE cities :
SELECT * FROM members WHERE city IN (DELHI, MUMBAI, CHENNAI
,BANGALORE) ;
The NOT IN operator finds rows that do not match in the list. So if you write
SELECT * FROM members WHERE city NOT IN (DELHI, MUMBAI, CHENNAI ,
BANGALORE) ;
It will list members not from the cities mentioned in the list.
Conditions based on Pattern: SQL also includes a string-matching operator, LIKE, for
comparison on character string using patterns. Patterns are described using two special wildcard
characters:
Percent (%) % matches any substring(one,more than one or no character).
Underscore (_) _ character matches exactly one character.
Patterns are case-senstive.
Like keyword is used to select row contaning columns that match a wildcard pattern.
The keyword not like is used to select the row that do not match the specified patterns
of characters.
Searching for NULL:The NULL value in a column is searched for in a table using IS NULL in
the WHERE clause(Relational Operators like =,<> etc can not be used with NULL).
50
For example, to list details of all employees whose departments contain NULL (i.e., novalue), you
use the command:
SELECT empno, ename FROM emp Where Deptno IS NULL;
ORDER BY Clause: Whenever a select query is executed the resulting rows are displayed in the
order in which the exist in the table. You can sort the result of a query in a specific order using
ORDER BY clause. The ORDER BY clause allow sorting of query result by one or more
columns. The sorting can be done either in ascending or descending order.
Note:- If order is not specifies that by default the sorting will be performed in ascending order.
GROUP BY Clause: The GROUP BY clause groups the rows in the result by columns that have
the same values.Grouping is done on column name. It can also be performed using aggregate
functions in which case the aggregate function produces single value for each group.
Aggregate Functions: These functions operate on the multiset of values of a column of a relation,
and return a value
avg: average value
min: minimum value
max: maximum value
sum: sum of values
count: number of values
These functions are called aggregate functions because they operate on aggregates of tuples. The
result of an aggregate function is a single value.
HAVING Clause: The HAVING clause place conditions on groups in contrast to WHERE clause
that place conditions on individual rows. While WHERE condition cannot include aggregate
functions, HAVING conditions can do so.e.g.,
Select deptno,avg(sal), sum(sal) from emp group by deptno having deptno=10;
Select job, count(*) from emp group by job having count(*)<3;
7.
The DROP Command : The DROP TABLE command is used to drop (delete) a table from
database. But there is a condition for droping a table ; it must be an empty table i.e. a table with rows
in it cannot be dropped.The syntax of this command is :
DROP TABLE <Table_name>;
e.g.,
DROP TABLE EMP;
8. Query Based on Two table (Join):
SELECT <Column-list>
FROM <table_name1>,<table_name2>
WHERE <Join_condition>[AND condition];
9. Qualified Names :
<tablename>.<fieldname>
This type of field names are called qualified field names and are used to identifying a field if the two
joining tables have fields with same name.
6 Marks Questions
Q1. Consider the following tables GAMES and PLAYER. Write SQL commands for the statements
(i) to (iv) and give outputs for SQL queries (v) to (viii).
Table: GAMES
GCode GameName
Number
PrizeMoney
ScheduleDate
101
Carom Board
2
5000
23-Jan-2004
102
Badminton
2
12000
12-Dec-2003
103
Table Tennis
4
8000
14-Feb-2004
51
105
108
Chess
Lawn Tennis
2
4
9000
25000
01-Jan-2004
19-Mar-2004
Table: PLAYER
PCode Name
Gcode
1
Nabi Ahmad
101
2
Ravi Sahai
108
3
Jatin
101
4
Nazneen
103
(i) To display the name of all Games with their Gcodes.
(ii)
To display details of those games which are having PrizeMoney more than 7000.
(iii) To display the content of the GAMES table in ascending order of ScheduleDate.
(iv) To display sum of PrizeMoney for each of the Number of participation groupings (as shown in
column Number 2 or 4).
(v)
(vi)
(vii)
(viii)
values included).
iii) To increase the fees of all courses by 500 of System Design Course.
iv) To display details of those courses which are taught by Sulekha in descending order of
courses.
v) Select COUNT(DISTINCT F_ID) from COURSES;
vi) Select Fname,Cname from FACULTY,COURSES where COURSES.F_ID =FACULTY.F_ID;
Ans.: (i) Select * from faculty where salary > 12000;
(ii) Select * from Courses.where fees between 15000 and 50000;
(iii) Update courses set fees = fees + 500 where Cname = System Design;
(iv) Select * from faculty fac,courses cour where fac.f_id = cour.f_id and fac.fname =
'Sulekha'order by cname desc;
(v) 4
(vi)
Fname
Cname
Amit
Grid Computing
Rakshit
Computer Security
Rashmi
Visual Basic
Sulekha
Human Biology
2- Marks Questions
Define the following terms with example:
(i) DDL
(ii) DML
(v) Alternet Key
(vi) Foreign Key
(ix) Relation
(x) Attribute
53
Unit-IV
Boolean Algebra
Boolean Algebra
Chapter: 08
Truth table:
Truth table is a table, which represents all the possible values of logical variables/statements
along with all the possible results of given combinations of values.
Logical Operators:
Logical operators are derived from the Boolean algebra, which is the mathematical
representation of the concepts without going into the meaning of the concepts.
1.NOT OperatorOperates on single variable. It gives the complement value of variable.
2.OR Operator -It is a binary operator and denotes logical Addition operation and is
represented by + symbol
3. AND Operator AND Operator performs logical multiplications and symbol is (.) dot.
Truth table:
1.
2.
3.
1.
A gate is simply an electronic circuit, which operates on one or more signals to produce an
output signal. Gates are digital circuits because the input and output signals are either low (0)
or high (1). Gates also called logic circuits.
There are three types of logic gates:
Inverter (NOT gate)
OR gate
AND gate
NOT gate :This gate takes one input and gives a single output. The symbol of this logic gate is
X
1
0
2. OR gate : The OR gate has two or more input signals but only one output signal if any of the
input signal is 1(high) the output signal is 1(high).
Truth Table and circuit diagram for Two Input OR gate is :
X
0
Y
0
Z
0
0
1
1
1
0
1
1
1
1
AND gate The AND gate have two or more than two input signals and produce an output
signal. When all the inputs are 1(High) then the output is 1 otherwise output is 0 only.
Truth Table and circuit diagram for Two Input AND gate is :
X
0
0
1
1
Y
0
1
0
1
F=X.Y
0
0
0
1
54
Principle of Duality
This principle states that we can derive a Boolean relation from another Boolean relation by
performing simple steps. The steps are:1. Change each AND(.) with an OR(+) sign
2. Change each OR(+) with an AND(.) sign
3. Replace each 0 with 1 and each 1 with 0
e.g
0+0=0
then dual is
1.1=1, 1+0=1
then dual is
0.1=0
Basic theorem of Boolean algebra
Basic postulates of Boolean algebra are used to define basic theorems of Boolean algebra that
provides all the tools necessary for manipulating Boolean expression.
1. Properties of 0 and 1
0+X=X
1+X=1
0.X=01.X=X
2. Indempotence Law
X+X=X X.X=X
3. Involution Law (X) = X
4. Complementarity Law X + X=1
X. X=0
5. Commutative Law
X+Y=Y+X
X.Y=Y.X
6. Associative Law
X+(Y+Z)=(X+Y)+Z
X(YZ)=(XY)Z
7. Distributive Law
X(Y+Z)=XY_XZ X+YZ=(X+Y)(X+Z)
8. Absorption Law
X+XY= XX(X+Y)=X
Demorgans First Theorem:
This rule states that the compliment of OR of two operands is same as the AND of the
compliments of those operands.
Mathematically it can be written as:(A+B)=A.B
Demorgans Second Theorem:
This rule states that the compliment of AND of two operands is same as the OR of the
compliments of those operands.
Mathematically it can be written as:- (A.B)=A+B
Algebraic proof of De Morgans Theorem (First)
(a+b) + (ab) = 1
(a+b)(ab) = 0.
First Part
Second Part :(a+b)+(ab)
(a+b)(ab)
=(a+b+a)(a+b+b) (Distribution Law)
=(ab)(a+b)
(Commutative law)
=(1+b)(a+1)
(Complement law)
=aba+abb
(Distribution Law
=1
=0*b+a*0
( x*0=0)
=0+0
=0
Note: DeMorgans Second theorem is just the complement of the First Theorem
Minterms and Maxterms
Minterm is the product of all the literals with or without bar within a logical system viz if
we have two literals A and B then the possible minterms can be AB,AB,AB,AB.
Maxterm is the sum of all the literals with or without bar within a logical system viz if
we have two literals A and B then the possible maxterms can be A+B,A+B,A+B,A+B.
n Variables can be combined to form 2n minterms or maxterms.
Minterms and Maxterms for Three Binary Variables
Minterms
Maxterms
x y Z
Term
Shorthand Notation
Term
Shorthand Notation
55
0 0 0
xyz
m0
x+y+z
M0
0 0 1
xyz
m1
x+y+z
M1
0 1 0
xyz
m2
x+y+z
M2
0 1 1
xyz
m3
x+y+z
M3
1 0 0
xyz
m4
x+y+z
M4
1 0 1
xyz
m5
x+y+z
M5
1 1 0
xyz
m6
x+y+z
M6
1 1 1
xyz
m7
x+y+z
M7
Sum of Product (SOP) Function: A Boolean function may be represented algebraically from a
given truth table by forming a minterm for each combination of the variables that produces a 1
in the function and then taking the OR of all those terms.
Product of Sum (POS) Function: A Boolean function may be represented algebraically from a
given truth table by forming a maxterm for each combination of the variables that produces a
0 in the function and then taking the AND of all those terms.
x
y
z
F
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
For result F(SOP form is)= xyz + xyz + xyz
For result F(POS form is)= (x+y+z) .(x+y+z).(x+y+z).(x+y+z).(x+y+z)
Example: Express the Boolean function F(A,B,C) = AB + C as a sum of minterms.
Step 1 Each term must contain all variables
AB = AB(C + C) = ABC + ABC
C = C(A + A) = AC + AC
= AC(B + B) + AC(B + B)
= ABC + ABC + ABC + ABC
Step 2 OR all new terms, eliminating duplicates
F(A,B,C) = ABC + ABC + ABC + ABC + ABC
= m1 + m3 + m5 + m6 + m7
= (1, 3, 5, 6, 7)
Example: Express the Boolean function F(x,y,z)= xy + xz as a product of maxterms.
Step 1 Convert the function into OR terms using the distributive law
F(x,y,z) = (xy + x)(xy + z)
= (x + x)(y + x)(x + z)(y + z)
= (y + x)(x + z)(y + z)
Step 2 Each term must contain all variables
y + x = y + x + zz = (x + y + z)(x + y + z)
x + z = x + z + yy = (x + y + z)(x + y + z)
y + z = y + z + xx = (x + y + z)(x + y + z)
step 3 AND all new terms, eliminating duplicates
56
A'B
AB
AB'
C'D
CD
CD'
13
15
11
1
6
1
12
1
14
1
8
1
10
C+D'
C'+D'
0
0
A+B'
12
13
0
7
15
14
11
10
A'+B'
0
A'+B
C'+D
There are 1 quad and 3 pairs after eliminating the redundant groups.
Quad (M3, M7, M11, M15)
reduces to C' + D'
Pair ( M5, M7)
reduces to A + B ' + D'
Pair ( M6, M7)
reduces to A + B ' + C'
Pair ( M0, M8)
reduces to B + C + D
Hence, F( A, B, C, D ) = (C' + D') . (A + B ' + D') . (A + B ' + C') . (B + C + D)
58
2 Marks Questions
1.Write the equivalent Boolean Expression for the following Logic Circuit
59
Unit-V
Network and Communication Technology
Network and Communication Technology
Chapter: 09
Server
Server
Server
Star
Bus
Ring
Protocol
Set of rules to govern communication between two computers in a network viz TCP/IP, PPP etc
DATA COMMUNICATION TERMINOLOGIES
The information / data carry from one end to
Data channel
another in the network by channel.
Its used to measurement for the information
carry of a communication channel.
Baud & bits per second (bps)
Measurement Units are Kbps (kilobits Per
Second), KBPS (Kilo Byte Per Second), and
Mbps (Mega bits Per Second )
It is amount of information transmitted or
Bandwidth
receives per unit time.
Transmission Media: The means or channel through which we send our data from one place to
another.
60
Twisted Pair
Cable
Co Axial Cable
Microwaves
Networking Devices
Modem
A modem is a computer peripheral that allows you to connect and communicate with other
computers via telephone lines. Modem means Modulation/ Demodulation. Modem can be Internal
and External.
RJ- 45 Connector
RJ-45
45 is short for Registered Jack
Jack-45.
45. It is an eight wire connector which is commonly used to
connect computers on the local area networks i.e., LAN.
Network Interface Cards (Ethernet Card)
A network card, network adapter or NIC (network interface card) or NIU is a piece of computer
hardware designed to allow computers to communicate over a computer network
network.
61
Repeaters:
A repeater is an electronic device that receives a
signal and retransmits it at a higher level or
higher power, or onto the other side of an
obstruction, so that the signal can cover longer
distances without degradation.
Hub
A hub contains multiple ports. When a packet
arrives at one port, it is copied to all the ports
of the hub (i.e. in broadcast manner).
HTML
DHTML
WLL
GSM
CDMA
TDMA
SIM
SMS
MMS
EDGE
IMAP
Wi-Fi
IPR
WWW
XML
PHP
ASP
JSP
FLOSS
GNU
OSI
FSF
W3C
Some Definitions:Hacker:- A Hacker is a programmer who intrudes in a secure network just for gaining knowledge or
playful pranks.
Cracker:-A cracker is a malicious programmer who breaks into a secure system with a malafide
intention.
Cookies:-Cookies are messages sent by web server to keep track of users activity.
Web Server:- A web server is a computer system that processes requests of the client via HTTP.
Web Browser:- A web browser (commonly referred to as a browser) is a software application for
retrieving, presenting, and traversing information resources on the World Wide Web. e.g. Internet
Explorer, Mozila Firefox, Google Chrome etc.
Firewall:- A firewall is a network security system designed to prevent unauthorized access to or
from a private network. Firewalls can be implemented in both hardware and software, or a
combination of both.
Cyber Crime:- Criminal activities carried out by means of computer or Internet. All such crime are
dealt with Indian IT Act 2000.
CyberLaw:- Cyberlaw is a generic term used to refer rules for preventing crime on Internet.
Cloud computing:- Cloud Computing is a kind of Internet-based computing that provides shared
processing resources and data to computers and other devices on demand. The cloud aims to cut
costs, and helps the users focus on their core business instead of being impeded by IT obstacles.
Spam:- Irrelevant or unsolicited messages sent over the Internet, typically to large numbers of users,
for the purposes of advertising, phishing, spreading malware, etc.
63
Virus:- A computer virus is a program that, when executed, replicates itself or infecting other
programs by modifying them. Infecting computer programs can include data files, or the boot sector
of the hard drive.
Antivirus:- Antivirus or anti-virus software, is computer software used to prevent, detect and remove
malicious software. Some common example of Antivirus Software are Norton, Quickheal, Kaspersky
etc.
OPEN SOURCE TERMINOLOGIES
TERMINOLOGY & DEFINITIONS:
Free Software: They are freely accessible and can be freely used, changed, improved, copied
and distributed by all and payments are not needed for free Software.
Open Source Software: Software whose source code is available to the user and it can be
modified and redistributed without any limitation .OSS may come free of cost but nominal
charges have to be paidfor support of Software and development of Software.
Proprietary Software: Proprietary Software is neither open nor freely available, normally
the source code of the Proprietary Software is not available but further distribution and
modification is possible by special permission by the developer.
Freeware: Freeware are the software freely available , which permit redistribution but not
modification (their source code is not available). Freeware is distributed in Binary Form
(ready to run)without any licensing fees.
Shareware: Software for which license fee is payable after some time limit, its source code
is not available and modification to the software are not allowed.
OPEN SOURCE / FREE SOFTWARE
Linux : Linux is a famous computer operating system . Popular Linux server set of program
LAMP(Linux, Apache, MySQL, PHP)
Mozilla : Mozilla is a free internet software that includes
a web browser
an email client
an HTML editor
IRC client
Apache server: Apache web server is an open source web server available for many
platforms such as BSD, Linux, and Microsoft Windows etc.
Apache Web server is maintained by open community of developers of Apache
software foundation.
MYSQL : MYSQL is one of the most popular open source database system.
OpenOffice : OpenOffice is an office applications suite. It is intended to compatible and
directly compete with Microsoft office.
It includes:
Writer (word processor)
Calc(spreadsheet)
Draw(graphics program)
Python: Python is an interactive programming language originally as scripting language for
Amoeba OS capable of making system calls.
64
Block
A
Block
C
Block
D
Block
B
Number of Computers
Black A
25
Block B
50
Block C
125
Block D
10
Raj
Building
Harsh
Building
Centre to centre distances between various buildings
Harsh Building to Raj Building
50 m
Raz Building to Fazz Building
60 m
Fazz Building to Jazz Building
25 m
Jazz Building to Harsh Building
170 m
Harsh Building to Fazz Building
125 m
Raj Building to Jazz Building
90 m
65
Fazz
Building
Jazz
Building
Number of Computers
Harsh Building
Raj Building
Fazz Building
Jazz Bulding
15
150
15
25
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
The organization is planning to link its sale counter situated in various parts of the same city,
which type of network out of LAN, MAN or WAN will be formed? Justify your answer.
66
AISSCE-2014
COMPUTER SCIENCE
Time allowed : 3 hours
Maximum Marks : 70
1.(a) Explain in brief the purpose of function prototype with the help of a suitable example.
2
(b) Name the header files that shall be needed for successful compilation of the following C++
code :
1
void main()
{
char str[20],str[20];
gets(str);
strcpy(str1,str);
strrev(str);
puts(str); puts(str1); }
(c)
Deepa has just started working as a programmer in STAR SOFTWARE company. In the
company she has got her first assignment to be done using a C++ function to find the smallest
number out of a given set of numbers stored in a one-dimensional array. But she has committed
some logical mistakes while writing the code and is not getting the desired result. Rewrite the
correct code underlining the corrections done. Do not add any additional statements in the
corrected code.
2
int find(int a[],int n)
{
int s=a[0];
for(int x=1;x<n;x++)
if(a[x]>s)
a[x]=s;
return(s);
}
(d)
Find output of the following program segment :
2
#include<iostream.h>
#include<ctype.h>
void Mycode(char Msg[],char CH)
{
for(int cnt=0;Msg[cnt]!=\0;cnt++)
{ if(Msg[cnt]>=B&& Msg[cnt]<=G)
Msg[cnt]=tolower(Msg[cnt]);
else
if(Msg[cnt]==N||Msg[cnt]==nMsg[cnt]==)
Msg[cnt]=CH;
else
if(cnt%2==0)
Msg[cnt]=toupper(Msg[cnt]);
else
Msg[cnt]=Msg[cnt1]; }
}
void main()
{
char MyText[]="Input Raw";
Mycode(MyText,@);
cout<<"NEW TEXT:"<<MyText<<endl;
}
(e)
Find the output of the following program :
3
#include<iostream.h>
void in(int x,int y, int &z)
{ x+=y;
y- -;
67
z*=(xy);
}
void out(int z,int y, int &x)
{ x*=y;
y++;
z/=(x+y);
}
void main()
{
int a=20, b=30, c=10;
out(a,c,b);
cout<<a<<"#"<<b<<"#"<<c<<"#"<<endl;
in(b,c,a);
cout<<a<<"@"<<b<<"@"<<c<<"@"<<endl;
out(a,b,c);
cout<<a<<"$"<<b<<"$"<<c<<"$"<<endl;
}
(f) Write a user defined function DIVT() which takes an integer as parameter and returns whether it
is divisible by 13 or not. The function should return 1 if it is divisible by 13, otherwise it should
2
return 0.
2
2.(a) Explain data hiding with an example.
(b) Define a class CONTEST in C++ with the following description :
4
Private Data Members
Eventno
integer
Description
char(30)
Score
integer
qualified
char
Public Member functions
A constructor to assign initial values Eventno as 11, Description as School level, Score as
100, qualified as N.
Input() To take the input for Eventno, description and score.
Award (int cutoffscore) To assign qualified as Y, if score is more than the cutoffscore that
is passed as argument to the function, else assign qualified as N.
Displaydata() to display all data members.
(c) Answer the questions (i) and (ii) after going through the following class
2
class schoolbag
{
int pockets;
public:
schoolbag()
//Function 1
{ pockets=30;
cout<<"The bag has pockets"<<end1;
}
void company()
//Function 2
{
cout<<"The company of the Bag is ABC"<<end1;
}
schoolbag(int D)
//Function 3
{
pockets=D;
cout<<"Now the Bag has pockets"<<pockets<<end1;
}
68
~schoolbag()
//Function 4
{
cout<<"Thanks"<<end1;
}
};
(i)
In Object Oriented Programming, what is Function 4 referred as and when does it get
invoked/called ?
(ii)
In Object Oriented Programming, which concept is illustrated by Function 1 and Function 3
together ?
4
(d) Consider the following class state :
class State
{
protected:
int tp;
//no. of tourist places
public:
State()
{
tp = 0;
}
void inctp()
{
tp++;
}
int gettp()
{
return tp;
}
};
Write a code in C++ to publically derive another class District with the following additional
members derived in the Public visibility mode.
Data Members
distname char (50) population long
Member functions :
(d)
Write a function in C++ which accepts a 2D array of integers and its size arguments and
displays the elements which lie on minor diagonal. [Top right to bottom left diagonal]
2
[Assuming the 2D array to be square matrix with odd dimension
i.e. 3 x 3, 5 x 5, 7x 7, etc ...]
For example
If the 2D array is
6 7 8
1 3 6
7 9 3
The following should be displayed :
8
3
7
Evaluate the following postfix expression :
2
(e)
(show status of Stack after each operation)
100,40,8,/,20,10,,+,*
4.(a) A binary file games.dat contains data of 10 games where each games data is an object of
the following class :
1
class game
{
int gameno; char game_name[20];
public:
void enterdetails(){cin>>gameno; gets(game_name);}
void enterdetails(){cout<<gameno<<endl<<game_name;}
};
With reference to this information, write C++ statement in the blank given below to move the file
pointer to the end of file.
ifstream ifile;
game G;
ifile.open("games.dat",ios::binary|ios::in);
___________________________________
cout<<ifile.tellg();
(b)
Write a function Countaroma() to count and display the number of times Aroma occurs in
2
a text file Cook.txt.
Note : Only complete word Aroma should be counted. Words like Aromatic should not be
counted.
(c)
Given a binary file SPORTS.DAT containing records of the following class :
3
class Player
{ char PNO[10];
//player number
char Name[20];
//Name of player
int rank;
//rank of the player
public:
void EnterData()
{gets(PNO);gets(Name);cin>>rank; }
void DisplayData()
{ cout<<setw(12)<<PNO;
cout<<setw(32)<<Name;
70
cout<<setw(3)<<rank<<endl;
}
int Ret_rank() {return rank;}
};
Write a function in C++ that would read contents of the file SPORTS.DAT and display the details
of those players whose rank is above 500.
5. (a) Observe the following table and answer the parts (i) and (ii) :
2
Table : Store
ItemCode
Item
Qty
Rate
10
1150
25
11
Sharpener
1500
10
12
1600
12
13
Eraser
1600
15
800
20
(i)
In the above table, can we have Qty as primary key.[Answer as yes/no]. Justify your answer.
What is the cardinality and degree of the above table ? Consider the following tables
(ii)
SCHOOL and ADMIN and answer
(iii)
(b) and (c) parts of this question :
Table :SCHOOL
CODE
1001
1009
1203
1045
1123
1167
1215
TEACHERNAME
RAVI SHANKAR
PRIYA RAI
LISA ANAND
YASHRAJ
GANAN
HARISH B
UMESH
SUBJECT
ENGLISH
PHYSICS
ENGLISH
MATHS
PHYSICS
CHEMISTRY
PHYSICS
DOJ
12/03/2000
03/09/1998
09/04/2000
24/08/2000
16/07/1999
19/10/1999
11/05/1998
PERIODS
24
26
27
24
28
27
22
EXPERIENCE
10
12
5
15
3
5
16
Table :ADMIN
CODE
1001
1009
1203
1045
1123
1167
1215
GENDER
MALE
FEMALE
FEMALE
MALE
MALE
MALE
MALE
DESIGNATION
VICE PRINCIPAL
COORDINATOR
COORDINATOR
HOD
SENIOR TEACHER
SENIOR TEACHER
HOD
(b)
Write SQL statements for the following :
4
(i)
To display TEACHERNAME, PERIODS of all teachers whose periods are more than 25.
(ii)
To display all the information from the table SCHOOL in descending order of experience.
(iii)
To display DESIGNATION without duplicate entries from the table ADMIN.
(iv)
To display TEACHERNAME, CODE and corresponding DESIGNATION from tables SCHOOL and
ADMIN of Male teachers.
(c)
Give the output of the following SQL queries :
2
(i)
SELECT DESIGNATION, COUNT (*) FROM ADMIN
71
(ii)
(iii)
(iv)
6. (a)
(b)
Write the equivalent Boolean Expression for the following Logic Circuit :
(c)
Convert the following Boolean expression into its equivalent Canonical Sum of Products
form (SOP) :
(U + V + W) (U + V + W) (U + V + W) (U + V + W)
1
Reduce the following Boolean expression using K-Map :
3
(d)
F(A,B,C,D)= (0,1,2,4,5,6,8,10)
7. (a)
(b)
Write any two differences between twisted pair and coaxial pair cable.
100 m
200 m
400 m
300 m
100 m
450 m
Number of Computers
20
150
50
25
(i)
Suggest a suitable Topology for networking the computers of all wings.
Name the most suitable wing where the Server should be installed. Justify your answer.
(ii)
(iii)
Suggest where all should Hub(s)/Switch(es) be placed in the network.
(iv)
Which communication medium would you suggest to connect this school with its main
branch in Delhi ?
72
AISSCE-2015
COMPUTER SCIENCE
Time allowed : 3 hours ]
[ Maximum marks : 70
Section A
1. (a) Find the correct identifiers out of the following, which can be used for naming variable,
constants or functions in a C++ program :
2
While, for, Float, new, 2ndName, A%B, Amount2, _Counter
(b) Observe the following program very carefully and write the names of those header file(s), which
are essentially needed to compile and execute the following program successfully :
1
typedef char TEXT[80];
void main()
{
TEXT Str[] = Peace is supreme;
int Index=0;
while (Str[Index]!=\0)
if (isupper(Str[Index]))
Str[Index++]=#;
else
Str[Index++]=*;
puts(Str);
}
(c) Observe the following C++ code very carefully and rewrite it after removing any/all syntactical
errors with each correction underlined.
2
Note : Assume all required header files are already being included in the program.
#Define float Max=70.0;
Void main()
{
int Speed
char Stop=N;
cin>>Speed;
if Speed>Max
Stop=Y;
cout<<Stop<<end;
}
(d) Write the output of the following C++ program code :
2
Note : Assume all required header files are already being included in the program.
void Position(int &C1,int C2=3)
{
C1+=2;
C2+=Y;
}
void main()
{
int P1=20, P2=4;
Position(P1);
cout<<P1<<,<<P2<<end1;
Position(P2,P1);
cout<<P1<<,<<P2<<end1;
}
(e) Write the output of the following C++ program code :
3
73
Note : Assume all required header files are already being included in the program.
class Calc
{
char Grade;
int Bonus;
public:
Calc() { Grade=E;Bonus=0;}
void Down(int G)
{
Grade=G;
}
void Up(int G)
{
Grade+=G;
Bonus++;
}
void Show()
{ cout<<Grade<<#<<Bonus<<end1;
}
};
void main()
{
Calc c;
C.Down(2);
C.Show();
C.Up(7);
C.Show();
C.Down(2);
C.Show();
}
(f) Study the following program and select the possible output(s) from the options (i) to (iv)
following it. Also, write the maximum and the minimum values that can be assigned to the variable
NUM.
2
Note : Assume all required header files are already being included in the program.
random(n) function generates an integer between 0 and n 1.
void main()
{
randomize();
int NUM;
NUM=random(3)+2;
char TEXT[]=ABCDEFGHIJK;
for (int I=1;I<=NUM; I++)
{
for(int J=NUM; J<=7;J++)
cout<<TEXT[J];
cout<<end1;
}
}
(i) FGHI
(ii) BCDEFGH
(iii) EFGH
(iv) CDEFGH
FGHI
BCDEFGH
EFGH
CDEFGH
FGHI
EFGH
FGHI
EFGH
2. (a) What is a copy constructor ? Give a suitable example in C++ to illustrate with its definition
within a class and a declaration of an object with the help of it.
2
(b) Observe the following C++ code and answer the questions (i) and (ii) :
class Traveller
{
long PNR;
char TName[20];
public :
74
Traveller()
//Function 1
{cout<<Ready<<end1;}
void Book(long P,char N[])
//Function 2
{ PNR = P; strcpy(TName, N); }
void Print()
//Function 3
{ cout<<PNR << TName <<end1; }
~Traveller()
//Function 4
{ cout<<Booking cancelled!<<end1; }
};
Fill in the blank statements in Line 1 and Line 2 to execute Function 2 and Function 3
(i)
respectively in the following code :
void main()
{
Traveller T;
_________
//Line 1
_________
//Line 2
} //Stops here
(ii)
Which function will be executed at }//Stopshere ? What is this function referred as ?
(c)
Write the definition of a class PIC in C++ with following description :
Private Members
Pno
Category
Location
FixLocation
1
4
Category
Location
Classic
Amina
Modern
Jim Plaq
Antique
Ustad Khan
Public Members
o Enter()
(d)
o SeeAll()
//A function to display all the data members
Answer the questions (i) to (iv) based on the following :
class Exterior
{ int OrderId;
char Address[20];
protected:
float Advance;
public:
Exterior();
void Book();
void View();
};
class Paint : public Exterior
{
int WallArea, ColorCode;
protected:
75
char Type;
public:
Paint();
void PBook();
void PView();
};
class Bill : public Paint
{
float Charges;
void Calculate();
public :
Bill();
void Billing();
void Print();
};
(i) Which type of Inheritance out of the following is illustrated in the above example ?
Single Level Inheritance
Multi Level Inheritance
Multiple Inheritance
(ii) Write the names of all the data members, which are directly accessible from the member
functions of class Paint.
(iii)
Write the names of all the member functions, which are directly accessible from an
object of class Bill.
(iv) What will be the order of execution of the constructors, when an object of class Bill is
declared ?
3. (a) Write the definition of a function Alter(int A[], int N) in C++, which should change all the
multiples of 5 in the array to 5 and rest of the elements as 0. For example, if an array of 10 integers
is as follows :
2
A[0]
A[1]
A[2]
A[3]
A[4]
A[5]
A[6]
A[7]
A[8]
A[9]
55
43
20
16
39
90
83
40
48
25
After executing the function, the array content should be changed as follows :
A[0]
A[1]
A[2]
A[3]
A[4]
A[5]
A[6]
A[7]
A[8]
A[9]
(b)
A two dimensional array P[20] [50] is stored in the memory along the row with each of its
element occupying 4 bytes, find the address of the element P[10] [30], if the element P[5] [5] is
stored at the memory location 15000.
3
(c)
Write the definition of a member function Pop( ) in C++, to delete a book from a dynamic
stack of TEXTBOOKS considering the following code is already included in the program.
4
struct TEXTBOOKS
{
char ISBN[20]; char TITLE[80];
TEXTBOOKS *Link;
};
class STACK
76
{
TEXTBOOKS *Top;
public:
STACK() { Top=NULL; }
void Push();
void Pop();
~STACK();
};
(d) Write a function REVCOL (int P[] [5], int N, int M) in C++ to display the content of a two
dimensional array, with each column content in reverse order.
3
Note : Array may contain any number of rows.
For example, if the content of array is as follows :
15
12
56
45
51
13
91
92
87
63
11
23
61
46
81
(c) Find the output of the following C++ code considering that the binary file CLIENTS.DAT exists on
the hard disk with records of 100 members.
1
class CLIENTS
{
int Cno;char Name[20];
public :
void In();
void Out();
};
void main()
{
fstream CF;
CF.open(CLIENTS.DAT,ios::binary|ios::in);
CLIENTS C;
CF.read((char*) &C, sizeof(C));
CF.read((char*) &C, sizeof(C));
CF.read((char*) &C, sizeof(C));
int POS=CF.tellg()/sizeof(C);
cout<<PRESENT RECORD:<<POS<<end1;
CF.close();
}
Section C
5.
(a)
Observe the following table carefully and write the names of the most appropriate
columns, which can be considered as (i) candidate keys and (ii) primary key.
2
Id
Product
Qty
Price
Transaction Date
101
100
3400
2014-12-14
104
200
4500
2015-01-31
105
Stapler Medium
250
1200
2015-02-28
109
200
1400
2015-03-12
103
Stapler Mini
100
1500
2015-02-02
(b)
Consider the following DEPT and WORKER tables. Write SQL queries for (i) to (iv) and find
outputs for SQL queries (v) to (viii) :
6
Table : DEPT
DCODE
DEPARTMENT
CITY
D01
MEDIA
DELHI
D02
MARKETING
DELHI
D03
INFRASTRUCTURE
MUMBAI
78
D05
FINANCE
KOLKATA
D04
HUMAN RESOURCE
MUMBAI
Table : WORKER
WNO
NAME
DOJ
DOB
GENDER
DCODE
1001
George K
2013-09-02
1991-09-01
MALE
D01
1002
Ryma Sen
2012-12-11
1990-12-15
FEMALE
D03
1003
Mohitesh
2013-02-03
1987-09-04
MALE
D05
1007
Anil Jha
2014-01-17
1984-10-19
MALE
D04
1004
Manila Sahai
2012-12-09
1986-11-14
FEMALE
D01
1005
R SAHAY
2013-11-18
1987-03-31
MALE
D02
1006
Jaya Priya
2014-06-09
1985-06-23
FEMALE
D05
Note : DOJ refers to date of joining and DOB refers to date of Birth of workers.
(i)
To display Wno, Name, Gender from the table WORKER in descending order of Wno.
(ii)
To display the Name of all the FEMALE workers from the table WORKER.
(iii)
To display the Wno and Name of those workers from the table WORKER who are born
between 1987-01-01 and 1991-12-01.
To count and display MALE workers who have joined after 1986-01-01.
(iv)
(v)
SELECT COUNT(*), DCODE FROM WORKER
GROUP BY DCODE HAVING COUNT(*)>1;
SELECT DISTINCT DEPARTMENT FROM DEPT;
(vi)
(vii) SELECT NAME, DEPARTMENT, CITY FROM WORKER W,DEPT D
WHERE W.DCODE=D.DCODE AND WNO<1003;
(viii) SELECT MAX(DOJ), MIN(DOB) FROM WORKER;
6.
(a)
Verify the following using Boolean Laws.
2
X + Y' = X.Y+X.Y'+X'.Y'
(b)
Draw the Logic Circuit for the following Boolean Expression :
2
(U + V').W' + Z
(c)
Derive a Canonical SOP expression for a Boolean function F, represented by the following
truth table :
1
A
F(A,B,C)
79
(d)
7.(a)
lustrate the layout for connecting 5 computers in a Bus and a Star topology of Networks. 1
(b)
(c)
(d)
(e)
(f)
Perfect Edu Services Ltd. is an educational organization. It is planning to setup its India campus at
Chennai with its head office at Delhi. The Chennai campus has 4 main buildings ADMIN,
ENGINEERING,
RING, BUSINESS and MEDIA.
You as a network expert have to suggest the best network related solutions for their
problems raised in (i) to (iv), keeping in mind the distances between the buildings and other given
parameters.
55 m
ADMIN to BUSINESS
90 m
ADMIN to MEDIA
50 m
ENGINEERING to BUSINESS
55 m
ENGINEERING to MEDIA
50 m
BUSINESS to MEDIA
45 m
80
2175 km
110
ENGINEERING
75
BUSINESS
40
MEDIA
12
20
Suggest the most appropriate location of the server inside the CHENNAI campus (out of the 4 buildings), to
get the best connectivity for maximum no. of computers. Justify your answer.
1
ii. Suggest and draw the cable layout to efficiently connect various buildings within the CHENNAI
campus for connecting the computers.
1
iii. Which hardware device will you suggest to be procured by the company to be installed to protect
and control the internet uses within the campus ?
1
iv. Which of the following will you suggest to establish the online face-to-face communication
between the people in the Admin Office of CHENNAI campus and DELHI Head Office ?
1
1.
Cable TV
Email
2.
3.
Video Conferencing
4.
Text Chat
81
AISSCE- 2016
COMPUTER SCIENCE (083)
Time allowed : 3 hours
Maximum marks : 70
1. (a) Out of the following, find those identifiers, which cannot be used for naming Variable,
Constants or Functions in a C++ program :
2
_Cost, Price*Qty, float, Switch, Address One, Delete, Number12, do
(b)
Jayapriya has started learning C++ and has typed the following program. When she compiled
the following code written by her, she discovered that she needs to include some header files to
successfully compile and execute it. Write the names of those header files, which are required to be
included in the code.
1
void main()
{
float A, Number, Outcome;
cin>>A>>Number;
Outcome=pow(A,Number);
cout<<Outcome<<endl;
}
(c)
Rewrite the following C++ code after removing any/all syntactical errors with each
correction underlined.
2
Note : Assume all required header files are already being included in the program.
#define Equation(p,q)=p+2*q
void main()
{
float A=3.2;B=4.1;
C=Equation(A,B);
cout<<Output=<<C<<endl;
}
Find and write the output of the following C++ program code :
2
(d)
Note : Assume all required header files are already included in the program.
typedef char STRING[80];
void MIXITNOW(STRING S)
{ int Size=strlen(S); for(int I=0;I<Size1;I+=2)
{ char WS=S[I]; S[I]=S[I+1];
S[I+1]=WS;
}
for(I=1;I<Size;I+=2) if(S[I]>=M && S[I]<=U)
S[I]=@;
}
void main()
{ STRING Word=CRACKAJACK; MIXITNOW(Word); cout<<Word<<endl; }
(e) Find and write the output of the following C++ program code :
3
Note : Assume all required header files are already being included in the program.
class Stock
{
long int ID; float Rate; int Date;
public:
Stock(){ID=1001;Rate=200;Date=1;}
void RegCode(long int I,float R)
82
{
ID=I;
Rate=R;
}
void Change(int New,int DT)
{
Rate+=New;
Date=DT; }
void Show()
{
cout<<Date :<<Date<<endl;
cout<<ID<<#<<Rate<<endl;
} };
void main()
{
Stock A,B,C;
A.RegCode(1024,150);
B.RegCode(2015,300);
B.Change(100,29);
C.Change(20,20);
A.Show();
B.Show();
C.Show();
}
(f) Look at the following C++ code and find the possible output(s) from the options (i) to (iv)
following it. Also, write the maximum and the minimum values that can be assigned to the variable
CHANGER.
2
Note : Assume all the required header files are already being included in the code.
The function random(n) generates an integer between 0 and n 1
void main()
{
randomize();
int CHANGER;
CHANGER=random(3);
char CITY[][25]={DELHI,MUMBAI,KOLKATA,CHENNAI};
for(int I=0;I<=CHANGER;I++)
{
for(int J=0;J<=I;J++) cout<<CITY[J]; cout<<endl;
}
}
(i)
(ii)
DELHI
DELHI
DELHIMUMBAI
DELHIMUMBAI
DELHIMUMBAIKOLKATA
DELHIMUMBAIKOLKATA
DELHIMUMBAIKOLKATACHENNAI
83
(iii)
(iv)
MUMBAI
KOLKATA
MUMBAIKOLKATA
MUMBAIKOLKATACHENNAI
KOLKATACHENNAI
2. (a) Differentiate between Constructor and Destructor functions giving suitable example using a
class in C++. When does each of them execute ?
2
(b) Observe the following C++ code and answer the questions (i) and (ii). Assume all necessary files
are included :
class FICTION
{
long FCode; char FTitle[20]; float FPrice; Public:
FICTION()
//Member Function 1
{ cout<<Bought<<endl;
FCode=100;strcpy(FTitle,Noname);FPrice=50;
}
FICTION(int C,char T[],float P)
// Member Function 2
{ FCode=C;
strcpy(FTitle,T);
FPrice=P;
}
void Increase(float P)
// Member Function 3
{ FPrice+=P; }
void Show()
// Member Function 4
{ cout<<FCode<<:<<FTitle<<:<<FPrice<<endl; }
~FICTION()
// Member Function 5
{ cout<<Fiction removed! <<endl; }
};
void main()
//Line 1
{
//Line 2
FICTION F1,F2(101,Dare,75); //Line 3 for (int I=0;I<4;I++)
//Line 4
{
//Line 5
F1.Increase(20);F2.Increase(15); //Line 6
F1.Show();F2.Show();
//Line 7
}
//Line 8
}
//Line 9
Which specific concept of object oriented programming out of the following is illustrated by
(i)
Member Function 1 and Member Function 2 combined together ?
1
Data Encapsulation
Data Hiding
Polymorphism
Inheritance
(ii)
How many times the message Fiction removed! will be displayed after executing the
above C++ code ? Out of Line 1 to Line 9, which line is responsible to display the message Fiction
removed! ?
1
(c)
Write the definition of a class METROPOLIS in C++ with following description :
4
84
Private Members
(d)
(i)
Public Members
Enter() //A function to allow user to enter values of
// Mcode,MName,MPop,Area and call CalDen() function
ViewALL()
//A function to display all the data members also display a message
//Highly Populated Area if the Density is more than 12000
Answer the questions (i) to (iv) based on the following :
4
class PRODUCT
{ int Code; char Item[20];
protected:
float Qty;
public:
PRODUCT();
void GetIn(); void Show();
};
class WHOLESALER
{ int WCode;
protected:
char Manager[20];
public:
WHOLESALER();
void Enter();
void Display();
};
class SHOWROOM : public PRODUCT, private WHOLESALER
{ char Name[20],City[20];
public:
SHOWROOM();
void Input();
void View();
};
Which type of Inheritance out of the following is illustrated in the above example ?
(ii)
Write the names of all the data members, which are directly accessible from the member
functions of class SHOWROOM.
(iii)
Write the names of all the member functions, which are directly accessible by an object of
class SHOWROOM.
(iv)
What will be the order of execution of the constructors, when an object of class
SHOWROOM is declared ?
3.
(a)
Write the definition of a function FixPay(float Pay[], int N) in C++, which should
modify each element of the array Pay having N elements, as per the following rules : 2
85
Pay to be changed to
If >=200000
(b)
T[20][50] is a two dimensional array, which is stored in the memory along the row with each
of its element occupying 4 bytes, find the address of the element T[15][5], if the element T[10][8] is
stored at the memory location 52000.
3
(c)
Write the definition of a member function INSERT() for a class QUEUE in C++, to insert an
ITEM in a dynamically allocated Queue of items considering the following code is already written as
a part of the program.
4
struct ITEM
{
int INO; char INAME[20];
ITEM *Link;
};
class QUEUE
{ ITEM *R,*F; public :
QUEUE() {R=NULL;F=NULL;} void INSERT(); void DELETE();
~QUEUE(); };
(d)
Write definition for a function SHOWMID(int P[][5], int R, int C) in C++ to display the
elements of middle row and middle column from a two dimensional array P having R number of
rows and C number of columns.
For example, if the content of array is as follows :
3
115
112
116
101
125
103
101
121
102
101
185
109
109
160
172
NAME
Tara Mani
Jaya Sarkar
Tarini Trikha
EVENTCODE
EVENTNAME
1001
Programming
1002
IT Quiz
LIST
NO
NAME
EVENTCODE
EVENTNAME
Tara Mani
1001
Programming
Tara Mani
1002
IT Quiz
Jaya Sarkar
1001
Programming
Jaya Sarkar
1002
IT Quiz
Tarini Trikha
1001
Programming
Tarini Trikha
1002
IT Quiz
(b)
Write SQL queries for (i) to (iv) and find outputs for SQL queries (v) to (viii), which are based
on the tables.
6
Table : VEHICLE
CODE
VTYPE
PERKM
101
VOLVO BUS
160
102
AC DELUXE BUS
150
87
103
ORDINARY BUS
90
105
SUV
40
104
CAR
20
NAME
TDATE
KM
CODE
NOP
101
Janish Kin
2015-11-13
200
101
32
103
Vedika Sahai
2016-04-21
100
103
45
105
Tarun Ram
2016-03-23
350
102
42
102
John Fen
2016-02-13
90
102
40
107
Ahmed Khan
2015-01-10
75
104
104
Raveena
2016-05-28
80
105
106
Kripal Anya
2016-02-06
200
101
25
Note :
NO is Traveller Number
KM is Kilometer travelled
NOP is number of travellers travelled in vehicle
TDATE is Travel Date
(i)
To display NO, NAME, TDATE from the table TRAVEL in descending order of NO.
(ii)
To display the NAME of all the travellers from the table TRAVEL who are travelling by vehicle
with code 101 or 102.
(iii)
To display the NO and NAME of those travellers from the table TRAVEL who travelled
between 2015-12-31 and 2015-04-01.
To display all the details from table TRAVEL for the travellers, who have travelled distance
(iv)
more than 100 KM in ascending order of NOP.
SELECT COUNT (*), CODE FROM TRAVEL GROUP BY CODE HAVING COUNT(*)>1;
(v)
(vi)
SELECT DISTINCT CODE FROM TRAVEL;
(vii) SELECT A.CODE,NAME,VTYPE FROM TRAVEL A,VEHICLE B
WHERE A.CODE=B.CODE AND KM<90;
(viii) SELECT NAME,KM*PERKM FROM TRAVEL A, VEHICLE B
WHERE A.CODE=B.CODE AND A.CODE=105;
6.
(a) Verify the following using Boolean Laws :
2
A+ B.C=A.B.C+ A.B.C+ A.B.C + A.B.C+ A.B.C
(b) Write the Boolean Expression for the result of the Logic Circuit as shown below :
2
U
V
F
W
88
(c)
Derive a Canonical POS expression for a Boolean function F, represented by the following
truth table :
1
P
0
0
0
0
1
1
1
1
Q
0
0
1
1
0
0
1
1
R
0
1
0
1
0
1
0
1
F(P, Q, R)
0
1
1
0
0
0
1
1
Reduce the following Boolean Expression to its simplest form using K-Map :
3
F(X,Y,Z,W) = (2,6,7,8,9,10,11,13,14,15)
7.(a) Give two examples of PAN and LAN type of networks.
(b) Which protocol helps us to browse through web pages using internet browsers ? Name any
one internet browser.
1
(c)
Write two advantages of 4G over 3G Mobile Telecommunication Technologies in terms of
speed and services.
1
(d)
Write two characteristics of Web 2.0.
1
(e)
What is the basic difference between Trojan Horse and Computer Worm ?
1
(e)
Categorise the following under Client Side and Server Side script category :
1
(i)
VB Script
(ii) ASP
(iii) JSP
(iv) JavaScript
(f)
Uplifting Skills Hub India is a knowledge and skill community which has an aim to uplift the
standard of knowledge and skills in the society. It is planning to setup its training centers in multiple
towns and villages pan India with its head offices in the nearest cities. They have created a model of
their network with a city, a town and 3 villages as follows.
As a network consultant, you have to suggest the best network related solutions for
their issues/problems raised in (i) to (iv) keeping in mind the distances between various locations
and other given parameters.
(d)
A_CITY
Head Office
B_HUB
VILLAGE 3
VILLAGE 2
B_TOWN
VILLAGE 1
Shortest distances between various locations :
89
VILLAGE 1 to B_TOWN
2 KM
VILLAGE 2 to B_TOWN
1.0 KM
VILLAGE 3 to B_TOWN
1.5 KM
VILLAGE 1 to VILLAGE 2
3.5 KM
VILLAGE 1 to VILLAGE 3
4.5 KM
VILLAGE 2 to VILLAGE 3
2.5 KM
25 KM
120
VILLAGE 1
15
VILLAGE 2
10
VLLAGE 3
15
A_CITY OFFICE
Note :
In Villages, there are community centers, in which one room has been given as training
center to this organization to install computers.
The organization has got financial support from the government and top IT companies.
(i)
Suggest the most appropriate location of the SERVER in the B_HUB (out of the 4 locations),
to get the best and effective connectivity. Justify your answer.
1
(ii)
Suggest the best wired medium and draw the cable layout (location to location) to
efficiently connect various locations within the B_HUB.
1
(iii) Which hardware device will you suggest to connect all the computers within
each location of B_HUB ?
1
(iv)
Which service/protocol will be most helpful to conduct live interactions of Experts from
Head Office and people at all locations of B_HUB ?
1
90
(a)
(b)
iostream.h OR iomanip.h
math.h
(c)
(d)
RCCAAKAJKC
(e)
Find and write the output of the following C++ program code:
Note: Assume all required header files are already being included in the program.
class Stock
{
long int ID
(e)
Date :1
1024#150
Date :29
2015#400
Date :20
1001#180
(f)
(i)
DELHI
DELHIMUMBAI
DELHIMUMBAIKOLKATA
(a)
Example:
Constructor
Destructor
A constructor function has same name as the A destructor function has same name as the
class
class preceded by ~ symbol
class Exam
{
int Eno float Marks public:
Exam()
//Constructor
{
Eno=1 Marks = 100
cout<<Constructor
executed...<<endl
}
void Show()
{ cout<<Eno<<#<<Marks<<endl }
~Exam()
//Destructor
{
cout<<Exam Over<<endl } }
void main()
{ Exam E //Executes constructor
E.Show()
91
b.(i)
Polymorphism
b. (ii)
2 times
Line 9
(c)
class METROPOLIS
{
int Mcode
char MName[20]
long int MPop
float Area
float PopDens void CalDen() public:
void Enter()
void ViewALL()
} void METROPOLIS::Enter()
{
cin>>Mcode
gets(MName) //OR cin>>MName
cin>>MPop
cin>>Area
CalDen()
}
void METROPOLIS::ViewALL()
{
cout<<Mcode<<MName<<MPop<<Area<<PopDens //Ignore endl
if(PopDens>12000)
cout<<Highly Populated Area
//Ignore endl
}
void METROPOLIS::CalDen()
{
PopDens= PopDens/Area //OR PopDens = MPop/Area
}
(d) (i)
Multiple Inheritance
(ii)
(iii)
3
(a)
PRODUCT()
WHOLESALER()
SHOWROOM()
92
(b)
Loc(T[I][J])
=BaseAddress + W [( I LBR)*C + (J LBC)]
(where
W=size of each element = 4 bytes,
R=Number of Rows=20, C=Number of Columns=50)
Assuming LBR = LBC = 0
LOC(T[10][8])
52000 = BaseAddress + W[ I*C + J]
52000 = BaseAddress + 4[10*50 + 8]
52000 = BaseAddress + 4[500 + 8]
52000 = BaseAddress + 4 x 508
BaseAddress = 52000 - 2032
= 49968
LOC(T[15][5])= BaseAddress + W[ I*C + J]
= 49968 + 4[15*50 + 5]
= 49968 + 4[750 + 5]
= 49968 + 4 x 755
= 49968 + 3020
= 52988 OR
Loc(T[I][J])
=ReferenceAddress + W [( I LR)*C + (J LC)] (where
void QUEUE::INSERT() {
93
(e)
A/(B+C)*D-E
= (((A / (B+C)) * D) - E)
Element
2
Stack of Operators
Postfix Expression
94
95
(a)
2
void WORD4CHAR()
{
ifstream Fil
Fil.open(FUN.TXT)
char W[20]
Fil>>W
while(!Fil.eof()) //OR while(Fil)
{
if (strlen(W)) == 4 ) //Ignore words ending with .
cout<<W<<
Fil>>W
}
Fil.close() //Ignore
}
(b)
void BUMPER()
{
GIFTS G
ifstream fin
fin.open(GIFTS.DAT, ios::binary)
while(fin.read((char*)&G, sizeof(G)))
{
if(strcmp(G.GetRemarks(),ON DISCOUNT)==0)
G.See()
}
fin.close() //Ignore
}
(c) Rec:1
Rec:3
96
(a)
Cartesian Product
Degree = 4
Cardinality = 6
(b) (i)
OR
SELECT NAME FROM TRAVEL
WHERE CODE IN (101,102) OR
SELECT NAME FROM TRAVEL WHERE CODE IN (101,102)
(b) (iii) SELECT NO, NAME from TRAVEL
WHERE TDATE >= 2015-04-01 AND TDATE <= 2015-12-31
OR
SELECT NO, NAME from TRAVEL
WHERE TDATE BETWEEN 2015-04-01 AND 2015-12-31
OR
SELECT NO, NAME from TRAVEL
WHERE TDATE <= 2015-12-31 AND TDATE >= 2015-04-01
OR
SELECT NO, NAME from TRAVEL
WHERE TDATE BETWEEN 2015-12-31 AND 2015-04-01
(v)
97
(b)
(viiii)
(a)
NAMEKM*PERKM
Raveena
3200
LHS
A + B.C
= A.(B + B).(C + C) + (A + A).B.C
= A.B.C + A.B.C + A.B.C + A.B.C + A.B.C + A.B.C
= A.B.C + A.B.C + A.B.C + A.B.C + A.B.C
= A.B.C + A.B.C + A.B.C + A.B.C + A.B.C
= RHS
OR
RHS = A.B.C + A.B.C + A.B.C + A.B.C + A.B.C
= A.B.C + A.BC + A.B.C + A.B.C + A.B.C
= A.B.(C+C) + A.B.(C+C) + A.B.C
B.C
= A.B + A.B + A.B.C
= A.(B+B) +A.B.C
= A + A.B.C
= (A + A).(A + B.C)
= A + B.C = LHS
(b)
(c)
F(P,Q,R)=(P+Q+R).(P+Q+R).(P+Q+R).(P+Q+R)
OR
F(P,Q,R)= (0,3,4,5)
(d)
3
OR
F(X,Y,Z,
W) =
XY +
ZW +
XW +
YZ
98
(a)
(b)
1
PAN Examples
LAN Examples
(c)
1
4G
3G
OR
Any other two correct advantages of 4G over 3G in terms of speed and services
(d)
OR
Any two of the above or any other two correct characteristics of Web 2.0
1
(e)
Trojan Horse
Computer Worm
OR Any other correct difference between Trojan Horse and Computer Worm
(f)
VB Script
ASP
Java Script
JSP
99
(g) (i)
B_TOWN. Since it has the maximum number of computers and is closest to all other
locations.
100
101