Manual

advertisement
Computer Programming Laboratory
2015-2016
Course objectives:
 To provide basic principles C programming language.
 To provide design & develop of C programming skills.
 To provide practical exposures like designing flowcharts, algorithms, how to debug
programs etc.
Course outcomes:
 Gaining the Knowledge on various parts of a computer.
 Able to draw flowcharts and write algorithms
 Able to design and development of C problem solving skills.
 Able to design and develop modular programming skills.
 Able to trace and debug a program
ISE Dept., CIT, Gubbi.
Page 1
Computer Programming Laboratory
2015-2016
SYLLABUS
SEMESTER I/ II
COMPUTER PROGRAMMING LABORATORY
Sub Code : 15CPL16 / 15CPL26
IA Marks
:20
Hrs/ Week : 03
Exam Hours :03
Total Hrs. : 42
Exam Marks :80
PART – A
Demonstration of Personal Computer and its Accessories. Demonstration and Explanation on
disassembly and assembly of a personal computer by the Faculty-in-Charge. Students have to prepare a
write-up on the same and include it in the Lab record and evaluated.
Laboratory Session-1: Write-up on Functional block diagram of Computer, CPU, Buses, Mother
Board, Chip sets, Operating System & types of OS, Basics of Networking & Topology and NIC.
Laboratory Session-2: Write-up on RAM, SDRAM, FLASH memory, Hard disks, Optical media, CDROM/R/RW, DVDs, Flash drives, Keyboard, Mouse, Printers and Plotters. Note: These TWO
Laboratory sessions are used to fill the gap between theory classes and practical sessions.
PART – B
Problem Solving in C - Implement the following problems with WINDOWS / LINUX platform
using appropriate C compiler.
1. Design and develop a flowchart or an algorithm that takes three coefficients (a, b, and c) of a
Quadratic equation (ax2+bx+c=0) as input and compute all possible roots. Implement a C program for
the developed flowchart/algorithm and execute the same to output the possible roots for a given set of
coefficients with appropriate messages.
2. Design and develop an algorithm to find the reverse of an integer number NUM and check whether it
is PALINDROME or NOT. Implement a C program for the developed algorithm that takes an integer
number as input and output the reverse of the same with suitable messages. Ex: Num: 2014, Reverse:
4102, Not a Palindrome.
3. i)Design and develop a flowchart to find the square root of a given number N. Implement a C
program for the same and execute for all possible inputs with appropriate messages. Note: Don’t use
library function sqrt(n).
ii)Design and develop a C program to read a year as an input and find whether it is leap year or not.
Also consider end of the centuries.
ISE Dept., CIT, Gubbi.
Page 2
Computer Programming Laboratory
2015-2016
4. Design and develop an algorithm for evaluating the polynomial f(x) = a4x4 + a3x3 + a2x2 + a1x1 + a0x0, for a
given value of x and its coefficients using Horner’s method. Implement a C program for the developed algorithm
and execute for different sets of values of coefficients and x.
5. Draw the flowchart and Write C Program to compute Sin(x) using Taylor series approximation given by
𝒙
Sin(x)= 𝟏! −
𝒙𝟑
𝟑!
+
𝒙𝟓
𝟓!
− ⋯Compare the result with the built- in Library function and print both the results with
appropriate message.
6. Develop an algorithm, implement and execute a C program that reads N integer numbers and arrange them in
ascending order using Bubble Sort.
7. Develop, implement and execute a C program that reads two matrices A (m x n ) and B (p x q ) and Compute
the product A and B. Read matrix A in row major order and matrix B in column major order. Print both the input
matrices and resultant matrix with suitable headings and in matrix format. Program must check the compatibility
of orders of the matrices for multiplication. Report appropriate message in case of incompatibility.
8. Develop, implement and execute a C program to search a Name in a list of names using Binary Searching
Technique.
9. Write and execute a C program that
i. Implements string copy operation STRCOPY(str1,str2) that copies a string str1 to another string str2 without
using library function.
ii. Reads a sentence and prints frequency of each of the vowels and total count of consonants.
10. i)Design and develop a C function RightShift(x ,n) that takes two integers x and n as input and returns value
of the integer x rotated to the right by n positions. Assume the integers are unsigned. Write a C program that
invokes this function with different values for x and n and tabulate the results with suitable headings.
ii)Design and develop a C function isprime(num) that accepts an integer argument and returns 1 if the argument is
prime, a 0 otherwise. Write a C program that invokes this function to generate prime numbers between the given
ranges
11. Draw the flowchart and write a recursive C function to find the factorial of a number, n!, defined by
fact(n)=1, if n=0. Otherwise fact(n)=n*fact(n-1). Using this function, write a C program to compute the binomial
coefficient nr. Tabulate the results for different values of n and r with suitable messages.
12. Given two university information files “studentname.txt” and “usn.txt” that contents students Names and USN
respectively. Write a C program to create a new file called “output.txt” and copy the content of files
“studentname.txt” and “usn.txt” into output file in the sequence shows below. Display the contents of output file
“output.txt” on the screen.
13. Write a C program to maintain a record of “n” student details using an array of structures with four fields (Roll
number, Name, Marks, and Grade). Each field is of an appropriate data type. Print the marks of the student given
student name as input.
ISE Dept., CIT, Gubbi.
Page 3
Computer Programming Laboratory
Student
Name
Name 1
Name 2
………
………
2015-2016
USN
USN 1
USN 2
…….
…….
14. Write a C program using pointers to compute sum, mean and standard deviation of all elements sorted in an
array of n real numbers.
Reference Book: Reema Thareja, Computer Fundamentals and Programming in C, Oxford Press, 2012.
ISE Dept., CIT, Gubbi.
Page 4
Computer Programming Laboratory
2015-2016
PART-A
Demonstration of Personal Computer and its Accessories
Laboratory Session-1
Write-up on Functional block diagram of Computer, CPU, Buses, Mother Board, Chip sets,
Operating System & types of OS, Basics of Networking & Topology and NIC.
Description about Functional block diagram of Computer:
A computer is an electronic device, which mainly performs the four functions as reading,
processing, displaying and storing on data. These functions of a computer system can be carried out
by using the three main units namely input unit, system unit and output unit.
The block diagram of a computer system is as follows:
Fig 1: Block Diagram of a Computer
Notations:
Data and Results flow
Control instructions to other units from control unit
Instructions from memory unit to control unit
--------------------------------------- -- -- -
System or Central Processing Unit (CPU): is commonly known as “processor” that executes the
instructions of a computer program. It has Control Unit (CU) and Arithmetic & Logical Unit (ALU).
These two units perform the basic arithmetic, logical, and input/output operations.
ISE Dept., CIT, Gubbi.
Page 5
Computer Programming Laboratory
2015-2016
a) Input unit: is used to enter data and information into a computer. The devices like keyboard, mouse
and scanner are commonly used input devices.
A keyboard is used to enter alphanumeric characters and symbols.
The mouse is used to pick or select a command from the monitor screen.
A scanner is used to scan an image or read a barcode and so on.
b) Arithmetic and Logic Unit (ALU): is a digital circuit that perform arithmetic (Add, Sub,
Multiplication, Division) and logical (AND, OR, NOT) operations. It helps in fast computation of
scientific calculations on floating-point number.
c) Control unit (CU): is the circuitry that controls the flow of information through the processor and
coordinates the activities of the other units within the processor.
Functions of Control unit
ng data & instructions from memory unit
d) Memory Unit (MU): is the unit where all the input data and results are stored either temporarily or
permanently. The CPU
memory is also called as memory register. The memory of a computer
has two types:
a. Main Memory / Primary Memory units
i. Random Access Memory (RAM)
ii. Read Only Memory (ROM)
b. Secondary Memory /
Auxiliary Memory
e) Output Unit: It is used to display or print results from a computer. Monitor, printer and plotters are
commonly used output devices.
f) Bus: A bus is a collection of wires that carries data/Instructions. It connects physical components
such as cables, printed circuits, CPU, Memory, Peripherals etc., for sharing of Information and
communication with one another. The purpose of buses is to reduce the number of "pathways" needed
for communication between the components, by carrying out all communications over a single data
channel.
Types of Buses:
1. System Buses: The system buses are used to transfer the data and instructions between Main
memory (Random Access Memory) and CPU. These are classified into following three types.
Data Bus
Address Bus
Control Bus
It is used to transfer the data
between Processor, Memory and
I/O devices.
It is used to transfer the
addresses of data and
instructions stored in memory.
It is used to transfer the control
signals between CPU, Memory and
I/O devices.
Bidirectional in nature
Unidirectional in nature
Unidirectional or Bidirectional in
nature
ISE Dept., CIT, Gubbi.
Page 6
Computer Programming Laboratory
2015-2016
Fig 2: Types of Buses
2.
I/O Buses: The buses which are used to connect all I/O devices with CPU and Memory are
called I/O buses. These are classified into following three types.
PCI Bus
PCI stands for Peripheral
Component Interconnect
ISA Bus
ISA stands for Industry
Standard Architecture
USB Bus
USB stands for Universal
Serial Bus
The motherboard will be
having 3 or 4 PCI
connectors, so that we can
insert various chips.
Fastest and presently more
powerful bus
This is simple and slowest
bus used in IBM PCs
It helps to connect various
I/O devices like keyboard,
mouse, pen drives, printer,
etc.
Newest and widely used
bus
Oldest, simplest and
slowest bus
Main Board or Mother Board: Mother Board is a set of Integrated Chips (ICs) which are designed to
work together. It controls the flow of data/instructions within our computer. It is the main board on
which other hardware components are connected to enable the computer system to work as an
integrated unit. It consists of sockets, slots, power connectors and bus.
Chip sets: Chip set is the set of integrated chips that are designed to work together. These set of chips
controls the flow of information on computer. The chips may be controllers for memory, cache, hard
drive, key board and peripherals.
Operating System and its types: An Operating System (OS) is a
system software that controls and supervises the hardware
components of a computer system and it provides the services to
computer users. Also called as Resource Manager that manages
the
resources such as CPU, Memory, I/O devices, Job/Task/Process
etc., a computer cannot run without it. The major functions of OS
includes: CPU Management, Memory Management, File
Management, Device Management, Process/Task/Job Management and Security Management.
The primary goal of an OS is to make the computer system convenient and efficient to use. An OS
ensures that the system resources (such as CPU, memory, I/O devices, etc) are utilized efficiently. For
example, there may be many programs residingin the main memory. Therefore, the system needs to
determine which programs are active and which need to wait for some I/O operation.
ISE Dept., CIT, Gubbi.
Page 7
Computer Programming Laboratory
2015-2016
Some of the examples of Operating Systems:
–XP is an O.S. isused for Personal Computers (PCs)
-user computers.
Types of Operating Systems:The operating systems are classified into 7 types based on their
capability and usage.
Fig 3: Types of OS
Batch Processing Tasking OS: The data is collected into a group called batch and provides only one
batch (one after another) of jobs as input to the computer system at a time. The jobs in a batch are
processed on first come first serve basis. In this type, the process takes place at specified time intervals
i.e. weekly or monthly without user interaction. E.g.Punch cards were using to store the data in batch
processing and in payroll preparation in a business batch processing was helpful.
Single user and single tasking OS: The OS that allows only one program to execute at a time is
called single user single tasking operating system. Using this operating system user can do only one
task at a time. E.g. DOS (Disk Operating System).
Single user and multi tasking OS: The OS that allows a single use to perform more than one task at
a time is called single user multi tasking operating system. While working with the Ms-Word user can
perform other work like print a document, listen music.E.g. Windows-XP, Windows Vista, Windows –
7, etc.
Multi user and multitasking OS: The O.S. that allows two or more users to use a main computer
system to do more than one task is called multiuser and multitasking operating system.E.g. Unix is a
multiuser and multitasking operating system.
Multiprocessing OS : The OS that allows multiple programs to be executed by multiple CPUs
(Processors) is called multiprocessing operating system. Super and main frame computers have more
than one CPU and multiprocessing operating system.
Real Time Operating System (RTOS): The OS that is used for real time applications and to carry
out certain calculations within the specified time constraint. This OS is used in applications such as
mobile phones, supporting systems in hospitals, nuclear power plants, oil refining, chemical processing,
environmental applications and air-traffic control systems, disaster management etc.,
Virtual machine OS: Allows several users of a computer system to operate as if each has the only
terminal attached to the computer.
Basics of Networking & Topology and Network Interface Card(NIC):
Introduction to Computer Network:
ISE Dept., CIT, Gubbi.
Page 8
Computer Programming Laboratory
2015-2016
A computer network is a collection of computers and devices interconnected to facilitate sharing of
resources among interconnected devices. Advantages of Computer Networks includeFile Sharing,
Resource Sharing, Increased Storage Capacity, Load Sharing and Facilitate communications.
Computers in a network can be connected by using telephone lines, cables, satellite links, etc., Wireless
network will use radio signals to exchange the information.
Basic components of a computer network: The basic components of a network are as follows.
1. Protocol: Set of rules used during the data transmission.
2. Transmission Medium: The media used to connect computer to each other like telephone lines,
twisted pair wire, co-axial cable, fiber optics, satellite signals and radio signals, etc.
3. Processors: Modem, Multiplexers, bridges, routers, gateways, hub etc. are the processors used in the
network for the flow of data.
4. Channels: Analog/Digital, Synchronous/Asynchronous, Switched/Non switched, Simplex / duplex,
etc.
5. Topology: Physical network layout used for networking. For example, bus topology, star topology,
ring topology, and mesh topology
6. Software: User interface software like Internet Explorer, Netscape Navigator, FTP (File Transfer
Protocol), Telnet (Telecommunication Network), PPP (Point to Point Protocol), and SMTP (Simple
Mail Transfer Protocol) etc.
Types of Networks: The computer networks are mainly classified into 3 types
LAN
Local Area Network
A group of computers that are
connected in a small area such as
building, home, office etc i.e.
within a small campus
Distance covered by this
network is less than 1 KM
Used within a single building
like home or office
Computers are connected
through the twisted pair cables
ISE Dept., CIT, Gubbi.
MAN
Metropolitan Area Network
A network which covers large
area like a city
WAN
Wide Area Network
A network which covers a large
area like a state, country or across
a continent.
Distance covered by this network
is 5 to 50 KM.
Used by private organization like
cable television in our city.
A network device called router is
used to connect the LANs
Distance covered by this network
is 100 to 1000 KM
Used all over the world. i.e. good
example is internet
It uses fibre optics, cables and
even satellite signals as a
Page 9
Computer Programming Laboratory
2015-2016
and co axial cables.
together
transmission media.
Transmitting data is cheaper
Transmission data is generally
error free
Transmitting data is costlier
Transmission data is generally
error prone
Transmitting data is more costlier
Transmission data is generally
error free
Network Topologies: Topology refers to the schematic description of the arrangement of a network. It
is the
actual geometric layout of computers and other devices connected to the
network.
Types of Network Topologies: These are mainly classified into 4 types.
1. Bus Topology:
In this network structure, a single cable runs in a building or campus. All the
nodes (terminals / computers)are connected to this single cable. It is suitable for Local Area Network.
Advantages:
Disadvantages:
2. Ring Topology:
In this network structure, all the computers are connected to each other in the form of a
ring.i.e. first node is connected to second, second to third and so on. Finally last node is
connected to first one.
Advantages:
All the nodes have equal chance to transfer the data
These are easily extensible
It can span longer distance than other type of networks
Disadvantages:
ISE Dept., CIT, Gubbi.
Page 10
Computer Programming Laboratory
2015-2016
3. Star Topology:
In this network structure, all the computers are connected with a centralized system called server. The
central computer is also called a hub. To transmit information from one node to another node, it should
be transmitted through a central hub. The central hub manages and controls all the functions of network.
Advantages:
Disadvantages:
4. Mesh Topology
In this network structure, all the computers and network devices are interconnected with one another
like a mesh. Every node has a connection to every other node in the network. This topology is not
commonly used for
most computer networks because of its installation difficulty and expensive.
Advantages:
other.
Disadvantages:
Hybrid Topology: Each of the topologies has their own advantages and
disadvantages. So in the real world, a pure start or pure ring or bus is
rarely
used. Rather a combination of two or more topologies is used.
Hence, hybrid network topology uses a combination of any two or more
topologies in such a way that the resulting network does not exhibit one of the standard topologies
(e.g., bus, star, ring, etc.). Two very commonly used hybrid network topologies include the star ring
network and star bus network.
Network Interface Cards (NICs): This is the important hardware component, which connects the
ISE Dept., CIT, Gubbi.
Page 11
Computer Programming Laboratory
2015-2016
machine to the computer network. This will be fixed into one of the free slot on the mother board. It has
one port for the connection of a network cable. These cards typically use an Ethernet connection
and are available in 10, 100, and 1000 Base-T configurations.
A 100 Base-T card can transfer data at 100 Mbps. The cards come
in ISA and PCI versions and are made by companies like 3Com and LinkSys.
Laboratory Session-2
Write-up on RAM, SDRAM, FLASH memory, Hard disks, Optical media, CD-ROM/R/RW,
DVDs, Flash drives, Keyboard, Mouse, Printers and Plotters. Introduction to flowchart,
algorithm and pseudo code.
Random Access Memory (RAM): RAM is basically main memory of the computer.
RAM is a semiconductor memory made up of small memory chips that form a
memory module. These modules are installed in the RAM slots on the motherboard
of computer. Every time you open a program, it gets loaded from the hard drive into
the RAM. This is because reading data from the RAM is much faster than reading
data from the hard drive.
Synchronous Dynamic Random Access Memory (SDRAM): It is an improvement to standard
DRAM because it retrieves data alternately between two sets of memory. This eliminates the delay
caused when one bank of memory addresses is shut down while another is prepared for reading. It is
called "Synchronous" DRAM because the memory is synchronized with the clock speed
that the computer's CPU bus speed is optimized for. The faster the bus speed, the faster the
SDRAM can be. SDRAM speed is measured in Megahertz.
FLASH memory: Flash memory is a type of Electrically Erasable Programmable Read-Only Memory
(EEPROM). The name comes from how the memory is designed -- a section of memory cells can be
erased in a single action or in a "flash.". Flash memory cards used for digital cameras, cellular phones,
networking hardware, and PC cards.
Hard disks: Hard disk is prime unit of storage of the computer. Huge amount of data can be stored and
accessed in few milliseconds. The hard disk consists of more number of disks arranged in the
cylindrical order, one above another on a spindle.
The read/write heads are attached to single access mechanism so that they
cannot move independently. All read/write heads are moved together to
position that heads on the required track. The hard disks available today ranges
from 200 GB to 2TB and so on. The present day hard disk ranges from 3600
rpm to more than 10000 rpm and so on.
Advantages: High storage capacity, high data accessing rate and permanent storage medium.
Disadvantages: It is not portable.
Optical media: An optical storage media is kind of storage, which is coated with thin metal on which
bits are stored. The data can be stored in to optical storage media or read form the optical storage
media.
ISE Dept., CIT, Gubbi.
Page 12
Computer Programming Laboratory
2015-2016
l storage media are called optical storage
media.
Examples: CD-ROM, DVD etc.
Compact Disc Read-Only-Memory (CD-ROM): It is a type of optical disc that uses laser technology
to read and write data on the disc. The information stored on CDROM becomes permanent and cannot
be altered. This means that the stored information can only be read for processing.
A CD-ROM uses the round shaped optical disk to store data, applications, games and audio files. It can
store up
to 700 MB of data. It has become integral part of every organization due to its features
like reliability, reasonable, storage capacity and easy to use of carry.
CD-Drive will be with motor to rotate the disks to perform read and write operations. A
CD-drive will consists of the components like Disc drive, disk drive motor, laser pick up
assembly tracking drive and tracking motor and so on.
Compact Disk Recordable (CD-R): The CD-R allows you to create your own CD.CD-R drives have
the ability to create CDs but they can write data on the disk only once.CD-R technology also called as
Write Once-Read much (WORM) technology. Laser technology is used to write the data on the
compact disk.CD-R drives come in IDE, SCSI and USB models.
Compact Disc Rewritable (CD-RW): CD-RW is an erasable optical disk which is used to write data
multiple times on a disk, CD-RW disks are good for data backup, data archiving or data distribution on
CDs. The disk normally holds 700MB of data. Technology to write data multiple times on a CD was
known as the Phase change Dual (PD) technology. The reflective properties of a CD-RW are different
than regular CD-ROM disks.
Digital Video Disk or Digital Versatile Disc (DVD-ROM): A DVD is a small optical disk having
high density medium and capable of storing a full-length movie on a single disk. The high density is
achieved by using both sides of the disk, special data-compression technology, and extremely small
tracks to store the data.
Advantages: Storage capacity is more compared to CDs.
Flash Drives (Pen drives): USB flash drives are removable, rewritable, and physically much smaller
drives weighing even less than 30 g. A flash drive consists of a small printed circuit board carrying the
circuit elements and a USB connector, insulated electrically and protected inside a plastic, metal, or
rubberized case which can be carried in a pocket or on a key chain.
Advantages
Mechanically very robust
-weight devices
ISE Dept., CIT, Gubbi.
Page 13
Computer Programming Laboratory
2015-2016
Disadvantages
-protect mechanism
evices that can easily be misplaced, left behind, or otherwise lost.
Keyboard: A keyboard is the primary input deviceused in all computers. Keyboard has a group of
switches resembling the keys on an ordinary typewriter machine. Normally keyboard has around 101
keys. The keyboard includes key that allows us to type letters, numbers and various special symbols
such as *, /, [ , % etc.
Mouse: The mouse is the key input device to be used in a Graphical User Interface (GUI). The users
can use mouse to handle the cursor pointer easily on the screen to perform various functions like
opening a program or file.
With mouse, the users no longer need to memorize commands, which was earlier a necessity when
working with text-based command line environment such as MS-DOS.
Advantages:
lities makes it unnecessary to remember certain commands
Disadvantages:
Printers: The printer is an output device, which is used to get hard copy of the text displayed on the
screen. The printer is an external optional device that is connected to the computer system using cables.
The printer driver software is required to make the printer working. The performance of a printer is
measured in terms of Dots Per Inch (DPI) and Pages Per Minute (PPM) produced by the printer.
Types of Printers:
1) Impact Printers: Impact printers are those printers in which a physical contact is established between
the print head, ribbon (cartridge) and paper. E.g. Dot Matrix Printers
2) Non-Impact Printers: No physical contact is established between the print head, ribbon (cartridge)
and paper .E.g. Inkjet Printers and Laser Printer
Dot matrix, Inkjet and Laser printers
Sl.
N
o.
1
Dot Matrix Printer
Inkjet Printer
Laser Printer
Impact Printer
Non-impact Printer
Non-impact printer
ISE Dept., CIT, Gubbi.
Page 14
Computer Programming Laboratory
2015-2016
2
It uses metal pins in its head
to create text and graphics
in the form of dots.
Its print head does not have metal
pins; instead it has several tiny
nozzles that spray ink onto the
paper. Each nozzle is thinner than
hair.
The laser printer uses a beam of
laser for printing.
3
The process of printing
involves striking a pin
against a ribbon to produce
its output.
The ink cartridges are attached to
the printer head that moves
horizontally from left to right.
The printer uses a cylindrical
drum, a toner and the laser
beam.
4
Printing speed is slower
than laser printer,
Printing speed is slower than laser
dot matrix.
Printing speed is higher than
both.
5
Character by character
printing
Line by line printing
It is a page printer
6
Low quality printing
High quality printing
High quality printing
7
Less expensive
High expensive
High expensive
8
Generates much noise while
printing
Generates less noise while printing
No noise
9
Speed is measured in DPI
(Dots Per Inch)
Speed is measured in CPI
(Characters Per Inch)
Speed is measured in PPM
(Pages Per Minute)
10
Monochrome (Black &
White) Printers
Colour printer
Monochrome and colour printer
11
Plotters: A plotter is similar to printer that produces hard-copy output with high-quality
colour graphics. Plotters are generally more expensive than printers, ranging from about
$1000 to $75000.
Problem Solving Techniques:
The process of working through details of a problem to reach a solution. There are three
approaches to problem solving:
 Algorithm
 Flowchart
 Pseudo Code
Algorithm: The algorithm is a step-by-step procedure to be followed in solving a problem. It provides
a scheme to solve a particular problem in finite number of unambiguous steps. It helps in
implementing the solution of a problem using any of the programming languages.
ISE Dept., CIT, Gubbi.
Page 15
Computer Programming Laboratory
2015-2016
In order to qualify as an algorithm, a sequence of instructions must possess the following
characteristics:
Definiteness: Instructions must be precise and unambiguous i.e. each and every instruction should
be clear and should have only one meaning.
Finiteness: Not even a single instruction must be repeated infinitely. i.e., each instruction should be
performed in finite time.
Termination: After the algorithm gets executed, the user should get the desired result
Key features of an algorithm:
ps and some steps may involve decision making, repetition.
Broadly speaking, an algorithm exhibits three key features that can be given as:
Sequence: Sequence means that each step of the algorithm is executed in the specified order.
Decision: Decision statements are used when the outcome of the process depends on some
condition.
Repetition: Repetition which involves executing one or more steps for a number of times can be
implemented using constructs like the while, do-while and for loops. These loops executed one or more
steps until some condition is true.
Example: To compute the Area of Rectangle
ALGM: AREA_of_RECTANGLE [This algorithm takes length and breadth, the sides of the rectangle
as input and computes the area of rectangle using the formula area=length * breadth. Finally it prints
the area of rectangle]
STEPS:
Step 1:[Initialize]
Start
Step 2: [Input the sides of Rectangle]
Read length, breadth
Step 3:[Compute the area of rectangle]
Area length*breadth
Step 4:[Display the Area]
Print Area
Step 5: [Finished]
Stop
Flowcharts: A flowchart is a graphical or symbolic representation of an algorithm. They are basically
used to design and develop complex programs to help the users to visualize the logic of the program so
that they can gain a better understanding of the program and find flaws, bottlenecks, and other lessobvious features within it. Basically, a flowchart depicts the “flow” of a program. The following table
shows
the
symbols
used
in
flowchart
along
with
its
descriptions.
Symbol
Name
Description
oval
Represents the terminal point
Rectangle
Represents the process steps defined in algorithm
ISE Dept., CIT, Gubbi.
Page 16
Computer Programming Laboratory
2015-2016
Parallelogram
Indicate the reading Operation used for input/output or data or
information from/to any device
Diamond
Indicates the decisions (questions) and consequently the branch
points or the paths to be followed based on the result of the
question
Arrows
Shows the flowchart direction and connects the various flow
chart symbols
Small circle
Shows the continuation from one point in the process flow to
another
Hexagon
Represents Looping structures
Predefined Process
Indicates Subroutines
Advantages of Flowcharts:
performed to solve a problem. They are usually drawn in the early stages of formulating computer
solutions to facilitate communication between programmers and business people.
E.g.: To compute the Area of Rectangle
Limitations of using Flowcharts:
the solution may require complete re-drawing of the flowchart
ere are no well-defined standards that limits the details that must be incorporated in a flowchart
Start
Read length & breadth
ISE Dept., CIT, Gubbi.
Area = length * breadth
Print Area
Page 17
Computer Programming Laboratory
2015-2016
Pseudocode: It is a form of structured English that describes algorithms. It facilitates the designers to
focus on the logic of the algorithm without getting bogged down by the details of language syntax.
Pseudocode is a compact and informal high-level description of an algorithm that uses the structural
conventions of a programming language. It is meant for human reading rather than machine reading,
so it omits the details that are not essential for humans. Such details include keywords, variable
declarations, system-specific code and subroutines. There are no standards defined for writing a
pseudocode because it is not an executable program. Flowcharts can be considered as a graphical
alternative to pseudocode, but are more spacious on paper.
E.g.: To compute the area of Rectangle
Begin
Input length, breadth
Area=length*breadth
Print Area
End
ISE Dept., CIT, Gubbi.
Page 18
Computer Programming Laboratory
2015-2016
PART – B
Problem Solving in C - Implementation of the following problems with WINDOWS / LINUX
platform using appropriate C compiler.
1.Quadratic Equation
1. Design and develop a flowchart or an algorithm that takes three coefficients (a, b, and
c)of a Quadratic equation (ax2+bx+c=0) as input and compute all possible roots.
Implement a C program for the developed flowchart/algorithm and execute the same to
output the possible roots for a given set of coefficients with appropriate messages
Purpose: This program demonstrates IF, IF-ELSE conditional constructs.
Procedure: To read the coefficients a, b, c and check if any of the coefficients value is 0. If any
coefficient value is 0, print appropriate messages and re-run the program. Otherwise, calculate
discriminate. Based on the discriminate value, classify and calculate all possible roots and print them
with suitable messages.
Input: Three coefficients of quadratic equationax2+bx+c=0: a, b, c
Expected Output: This program computes all possible roots for a given set of coefficients with
appropriate messages. The possible roots are: Linear equation and its roots, Real & equal roots ,,Real &
distinct roots and Imaginary roots
ALGORITHM :
ALGM: Quadratic Equation [This algorithm takes three coefficients as input and computes the roots]
Steps:
1.
[Initialize] Start
2.
[Input coefficients of quadratic equation]
read a ,b, c
[Check for valid coefficients]
If a =0 and b= 0 then
print “Roots cannot be determined”
[Check for linear equation]
else a=0then
root1 ← (-c/b)
print “Linear equation”,root1
goto step 5
[Compute discriminate value]
disc ← b*b-4*a*c
[Based on discriminate value, classify and calculate all possible roots and print them]
3.
4.
5.
5.1
`
5.2
ISE Dept., CIT, Gubbi.
[If discriminate value is 0, roots are real & equal.]
if disc=0 then
root1← root2 ← (-b/2*a)
print “Real & equal roots”, root1, root2
[ If discriminate value is >0, roots are real & distinct.]
else if disc>0then
root1← (-b+√disc)/(2*a)
root2 ← (-b-√disc)/(2*a)
Page 19
Computer Programming Laboratory
6.
2015-2016
print “Real & distinct roots”, root1, root2
5.3
[ If discriminate value is <0, roots are imaginary.]
else
real ← -b/(2*a)
imag ← √(fabs(disc))/(2*a)
root1 ← (real) + i (imag)
root2 ← (real) - i (imag)
print “Imaginary roots”, root1, root2
endif
endif
[Finished] End
ISE Dept., CIT, Gubbi.
Page 20
Computer Programming Laboratory
2015-2016
FLOWCHART:
start
Read a,b,c
Is
a=0?
F
Is a=0
&
b=0?
T
Print
“Invalidroots”
T
Disc <-b*b-4*a*c
F
Is disc
> 0?
Is disc
= 0?
F
T
Print “linear
equation”
Root 1 = -c/b
Print root1
F
T
Print “Real
& equal roots”
Print “Real and
distinct roots”
Root 1 = (-b+sqrt(disc))/(2*a)
Root 1 = (-b-sqrt(disc))/(2*a)
Root 1 =
-b/(2*a)
Root 2 = root 1
Print root 1, root 2
Print “imaginary
roots”
Real = -b/(2*a)
Image = sqrt(f
abs(disc))/(2*a)
Print
Root 1 = real+ I imag
Root 2 = real- I imag
stop
ISE Dept., CIT, Gubbi.
Page 21
Computer Programming Laboratory
2015-2016
PROGRAM :
/* Program to calculate all possible roots of a quadratic equation */
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
float a, b, c, disc;
float root1,root2,real,imag;
clrscr();
printf("Enter a,b,c values\n");
scanf("%f%f%f",&a,&b,&c);
if( (a == 0) && (b == 0) &&(c==0))
{
printf("Invalid coefficients\n");
printf(" Try Again with valid inputs !!!!\n");
getch();
}
disc = b*b - 4*a*c;
if(disc == 0)
{
printf("The roots are real and equal\n");
root1 = root2 = -b/(2*a);
printf("Root1 = %.3f \nRoot2 = %.3f", root1,root2);
}
else if(disc>0)
{
printf("The roots are Real and Distinct\n");
root1 = (-b+sqrt(disc)) / (2*a);
root2 = (-b-sqrt(disc)) / (2*a);
printf("Root1 = %.3f \nRoot2 = %.3f",root1,root2);
}
else
{
printf("The roots are Real and Imaginary\n");
real = -b / (2*a);
imag = sqrt(fabs(disc)) / (2*a);//fabs() returns only numberignoring sign
printf("Root1 = %.3f + i %.3f \n",real,imag);
printf("Root2 = %.3f - i %.3f",real,imag);
}
getch();
}
ISE Dept., CIT, Gubbi.
Page 22
Computer Programming Laboratory
2015-2016
OUTPUT:
1.
Enter a, b, c values
0 0 1
Invalid coefficients
Try Again with valid inputs!!!!
2.
Enter a, b, c values
1 2 3
The roots are Real and Imaginary
Root1 = -1.000 + I 1.414
Root2 = -1.000 – I 1.414
3.
Enter a, b, c values
1 2 1
The roots are real and equal
Root1 = -1.000
Root2 = -1.000
4.
Enter a, b, c values
1 5 3
The roots are Real and Distinct
Root1 = -0.697
Root2 = -4.303
5.
Enter a, b, c values
0 1 2
Linear equation
Root = -2.000
ISE Dept., CIT, Gubbi.
Page 23
Computer Programming Laboratory
2015-2016
2.Palindrome
2. Design and develop an algorithm to find the reverse of an integer number NUM and
check whether it is PALINDROME or NOT. Implement a C program for the developed
algorithm that takes an integer number as input and output the reverse of the same with
suitable messages. Ex: Num: 2014, Reverse: 4102, Not a Palindrome.
Purpose: This program demonstrates the WHILE loop.
Procedure: Input the original number num, reverse it to rev. Check whether original number num is
same as its reverse number rev. If it is same, the number is palindrome. Otherwise, the given number is
not palindrome.
Input: An integer number num.
Expected Output: Reversed number rev and checks whether it is palindrome or not.
ALGORITHM :
ALGM: Palindrome [This algorithm takes an integer number as input and output the reverse of the same.
Also checks the number is palindrome or not]
Steps:
1.
[Initialize] Start
2.
3.
4.
5.
6.
7.
[Input the original number]
read num
[Set number num to a variable n]
n ← num
[Iterate until num is not equal to 0.
If num value becomes 0, control comes out of the loop. So num’s original value is lost. So, num
value is stored in other variable n in step 3.
In step 4, reverse of the number is calculated.]
while ( num != 0) do
remainder ← num mod 10
num ← num/10
rev ← rev * 10 +remainder
[Print reverse number]
print rev
[Check if original number & reverse number are same. If it is, number is palindrome. Otherwise,
not palindrome]
if (rev = n) then
print palindrome
else
print not a palindrome
endif
[Finished]
End
ISE Dept., CIT, Gubbi.
Page 24
Computer Programming Laboratory
2015-2016
FLOWCHART:
start
Read num
r num = 0
n= num
False
While(num!=0)
True
rem =num%10
False
True
If n= rnum
rnum = rnum*10+rem
num = num/10
Print number is not
palindrome
Print number is
palindrome
stop
ISE Dept., CIT, Gubbi.
Page 25
Computer Programming Laboratory
2015-2016
PROGRAM :
/* Program to calculate whether a given number is palindrome or not */
#include<stdio.h>
#include<conio.h>
int main()
{
int temp,rev=0,num,remainder ;
clrscr();
printf("Enter the number\n");
scanf("%d",&num);
temp=num;
while(num!=0)
//Reversing the number
{
remainder = num%10;
num = num/10;
rev = rev*10+ remainder;
}
printf("The reverse number is %d",rev);
if(rev == temp)
printf("\n%d is a palindrome",temp);
else
printf("\n%d is not a palindrome", temp);
getch();
}
OUTPUT:
1.
Enter the number
1001
The reverse number is 1001
1001 is a palindrome
2.
Enter the number
123
The reverse number is 123
123 is not a palindrome
ISE Dept., CIT, Gubbi.
Page 26
Computer Programming Laboratory
2015-2016
3.Square Root and Leap Year
3.1 Square Root of a given Number
Design and develop a flowchart to find the square root of a given number N. Implement a
C program for the same and execute for all possible inputs with appropriate messages.
Note: Don’t use library function sqrt(n).
ALGORITHM:
ALGORITHM: SQUARE ROOT[this algirithm takes an integer number as an input and
prints the square root of the number]
Input: the integer number
Output: print the square root number
Step1: Initialize
Step2: Enter the number
Step3: if(n>=0)
then
Print the square root result
Else
Print it is not a valid number
Step4: stop
ISE Dept., CIT, Gubbi.
Page 27
Computer Programming Laboratory
2015-2016
FLOWCHART:
start
Read n
True
False
For s=1,2,….to s*s<=n
Decrement s
For d=0.001, 0.002….to
d<1.0
False
True
X<- (double)s+d
False
True
Is (x*x)>
(double)n?
X<- x-0.001
Print ‘squrate root’
stop
ISE Dept., CIT, Gubbi.
Page 28
Computer Programming Laboratory
2015-2016
PROGRAM :
/* Program to calculate square root of the given number without using built in function */
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
// Uses Brute-Force Method
{
int s;
double x,d,n;
clrscr();
printf("Enter the number\n");
scanf("%lf",&n);
if(n>=0)
{
for(s=1;s*s<=n;s++);
//calculating decimal part of the square root
s--;
for(d = 0.001;d < 1.0;d += 0.001)
// calculating the fractional part
{
x = (double)s + d;
if((x*x > (double)n))
{
x = x - 0.001;
break;
}
}
printf("The square root of the given number is %.3lf\n", x);
printf("The square root as per built in function sqrt()is %.2lf", sqrt(n));
}
else
{
printf( "No square root to a negative number");
}
getch();
}
OUTPUT:
1.
Enter the number
16
The square root of the given number is 4.000
The square root as per built in function sqrt() is 4.00
2.
Enter the number
27
The square root of the given number is 5.196
The square root as per built in function sqrt() is 5.20
3.
Enter the number
-4
No square root to a negative number
ISE Dept., CIT, Gubbi.
Page 29
Computer Programming Laboratory
2015-2016
3.2 Leap Year
Design and develop a C program to read a year as an input and find whether it is leap
year or not. Also consider end of the centuries.
ALGORITHM:
ALGM: Leap Year
Input
An year
Output Leap year or not
complexity O(1).
leapyear(year)
Steps
Start
1 If (year %4==0 and year%100 !=0)
2
print "it is a leap year";
3 else
4 if(year%400==0)
5
print "it is a leap year";
6 else
7
print "it is not a leap year";
End
ISE Dept., CIT, Gubbi.
Page 30
Computer Programming Laboratory
2015-2016
FLOWCHART:
start
Enter valid year
If the number is valid
if((year%4==0)
&&
(year%100!=0) ||
(year%400 ==0))
Print the given year is leap year
if the number is not valid
Print the given year is not leap
year
stop
ISE Dept., CIT, Gubbi.
Page 31
Computer Programming Laboratory
2015-2016
PROGRAM :
/* Program to find whether given year is leap year or not */
#include<stdio.h>
#include<conio.h>
int main()
{
int year;
clrscr();
printf("Enter valid year\n");
scanf("%d",&year);
if((year%4==0) && (year%100!=0) || (year%400 ==0)) //check for leap year
{
printf("%d is leap year", year);
}
else
{
printf("%d is not a leap year",year);
}
getch();
}
OUTPUT:
1.
Enter valid year
2012
2012 is leap year
2.
Enter valid year
1900
1900 is not a leap year
ISE Dept., CIT, Gubbi.
Page 32
Computer Programming Laboratory
2015-2016
4.Polynomial Equation
Design and develop an algorithm for evaluating the polynomial f(x) = a4x4 + a3x3 +
a2x2+ a1x + a0, for a given value of x and its coefficients using Horner’s method.
Implement a C program for the developed algorithm and execute for different sets of
values of coefficients and x.
Input: An array of different set of values of coefficients a4, a3, a2, a1and constant a0-a[]
Indeterminate or variable –x, Number of coefficients
Expected Output: Sum of all terms of the polynomial - sum
Purpose: This program describes FOR loop.
Procedure: To read x, n, a[ ] . Calculate the terms of polynomial and add each term to sum by iterating from n to
0. Then print sum value.
ALGORITHM :
ALGM: EVAL_POLYNOMIAL f(x) = a4x4+ a3x3+ a2x2+ a1x+ a0using Horner’s method
Steps:
1.
[Initialize] Start
2.
[Input the number of coefficients n]
read n
Set sum to 0
3.
4.
5.
6.
7.
8.
[Read all coefficients a1, a2, a3, a4and constanta0]
For each value i in array a(i)do
read n+1 coefficients
endfor
[Input variable x]
read x
[Iterate from n to 0. Calculate each term a4x4, a3x ,a2x2,a1x, a0 . ]
For each value iin array a(i) do
sum ← sum * x + a[i]
endfor
Print sum
[Finished]
End
ISE Dept., CIT, Gubbi.
Page 33
Computer Programming Laboratory
2015-2016
FLOWCHART:
start
Read n
false
for(i=0; i<=n; i++)
true
Read a[i]
Read x
Sum = a[i]*x
For(i=n-1; i>0; i--)
false
true
Sum = (sum+a[i]*x)
Sum = sum+a[0]
Write sum
stop
ISE Dept., CIT, Gubbi.
Page 34
Computer Programming Laboratory
2015-2016
PROGRAM :
/* Evaluating the polynomial f(x) = a4x4+ a3x3+ a2x2+ a1x+ a0 using Horner’s method (n, i, sum, a[], x) */
#include<stdio.h>
#include<conio.h>
int main()
{
int n,i,sum=0,a[10],x;
clrscr();
printf("enter the number of co-efficients n>=0\n");
scanf("%d",&n);
printf("enter the n+1 co-efficients\n");
for(i=n;i>=0;i--)
{
printf("Enter a[%d] th coefficient : ",i);
scanf("%d",&a[i]);
}
printf("enter value of x\n");
scanf("%d",&x);
for(i=n;i>0;i--)
{
sum=sum*x+a[i];
}
sum=sum+a[0];
printf("the value of sum is %d",sum);
getch();
}
OUTPUT:
1.
enter the number of co-efficients n>=0
4
enter the n+1 co-efficients
Enter a[4] th coefficient : 1
Enter a[3] th coefficient : 2
Enter a[2] th coefficient : 3
Enter a[1] th coefficient : 4
Enter a[0] th coefficient : 5
enter value of x
1
the value of sum is 15
2.
enter the number of co-efficients n>=0
0
enter the n+1 co-efficients
Enter a[0] th coefficient : 25
enter value of x
25
ISE Dept., CIT, Gubbi.
Page 35
Computer Programming Laboratory
2015-2016
5. Sine Series
Draw the flowchart and Write C Program to compute Sin(x) using Taylor series
𝒙
approximation given by Sin(x)= 𝟏! −
𝒙𝟑
𝟑!
𝒙𝟓
+ 𝟓! − ⋯Compare the result with the built- in
Library function and print both the results with appropriate message.
ALGORITHM:
ALGORITHM: SINE SERIES[this algorithm takes degree as an input to print the sine
function value]
Input : Degree
Output : Sine function value
Step 1: start
Step 2: enter the degree
Step 3: convert degree into radian
X <- degree*(PI/180)
Step 4: check the given number is odd/not
If(it is a odd number)
Then
{
term = nume/deno;
nume = -nume*x*x;
deno = deno*i*(i+1);
}
else
{
If(term<0.001)
{
Print thr sine value
}
else
{
Check the number
}
}
Step 5: stop
ISE Dept., CIT, Gubbi.
Page 36
Computer Programming Laboratory
2015-2016
FLOWCHART:
start
Read degree
PI <- 3.142
X <- degree*(PI/180)
Nume <- x
Deno <- 1
Sum <- x
False
For i = 3,5,7,…to n
true
nume –nume*x*x
deno <- deno*(i*(i-1))
term <- (nume/deno)
True
false
Is term <
0.001?
Print calculated sine,
predefined sine values
Sum <sum+term
stop
ISE Dept., CIT, Gubbi.
Page 37
Computer Programming Laboratory
2015-2016
PROGRAM:
/* Program to calculate sine value of given angle */
#include<stdio.h>
#include<conio.h>
#include<math.h>
#define PI 3.142
int main()
{
int i, degree;
float x, sum=0,term,nume,deno;
clrscr();
printf("Enter the value of degree");
scanf("%d",&degree);
x = degree * (PI/180);
//converting degree into radian
nume = x;
deno = 1;
i=2;
do
{
//calculating the sine value.
term = nume/deno;
nume = -nume*x*x;
deno = deno*i*(i+1);
sum=sum+term;
i=i+2;
} while (fabs(term) >= 0.00001);
// Accurate to 4 digits
printf("The sine of %d is %.3f\n", degree, sum);
printf("The sine function of %d is %.3f", degree, sin(x));
getch();
}
OUTPUT:
1.
Enter the value of degree
0
The sine of 0 is 0.000
The sine function of 0 is 0.000
2.
Enter the value of degree
45
The sine of 45 is 0.707
The sine function of 45 is 0.707
3.
Enter the value of degree
90
The sine of 90 is 1.000
The sine function of 90 is 1.000
ISE Dept., CIT, Gubbi.
Page 38
Computer Programming Laboratory
2015-2016
6. Bubble Sort
Develop an algorithm, implement and execute a C program that reads N integer numbers
and arrange them in ascending order using Bubble Sort.
Purpose: This program demonstrates NESTED FOR loop.
Procedure: To read an array of elements a[ ] . While iterating, compare each pair of adjacent
items in every pass. If the former value is greater than the latter one, their positions are
swapped. Over a number of passes, at most equal to the number of elements in the list, all of
the values drift into their correct positions. Then print sorted array elements.
Input: Number of Elements – n
An array of unsorted elements – a[ ]
Output: An array of sorted elements – a[ ]
ALGORITHM :
ALGM: Bubble Sort [ This algorithm takes a list of unordered numbers and arrange them in
ascending order using Bubble Sort method]
Steps: 1.
2.
3.
4.
5.
[Initialize] Start
[Input number of elements]
read n
[Input unsorted elements in array]
read elements in array a[ ]
print elements of array a[ ]
6.
[Iterate array a[ ] in two loops. Outer loop gives number of passes. Inner loop does swap t ask.In
each pass, compare each pair of adjacent items. If former element is greater than latter one,
swap them.]
[Iterate array a[ ] with
for each value i in array a[i] to n do
for each value j in array a[j] to n-1 do
[Compare each pair of adjacent elements]
if (a[j] > a[j+1])then
[Swap these elements using temp variable]
temp ← a[j]
a[j] ← a[j+1]
a[j+1] ← temp
endif
endfor
endfor
Print array with sorted elements
7.
[Finished] End.
ISE Dept., CIT, Gubbi.
Page 39
Computer Programming Laboratory
2015-2016
FLOWCHART:
start
Read n
For(i=0; i<n; i++)
false
true
read a[i]
for(i=0; i<n-1; i++)
false
true
for(j=0; j<n-1; j++)
true
false
If
a[j]>a[j-1]
true
temp=a[j]
a[j]=a[j+1]
a[j+1]=temp
For(i=0; i<n; i++)
False
Write a[i]
stop
ISE Dept., CIT, Gubbi.
Page 40
Computer Programming Laboratory
2015-2016
PROGRAM:
#include<stdio.h>
#include<conio.h>
int main()
{
int n,i,j,a[10],temp;
clrscr();
printf("Enter the no. of elements : \n");
scanf("%d",&n);
printf("Enter the array elements \n");
for(i = 0 ; i < n ; i++)
scanf("%d",&a[i]);
printf("The original elements are \n");
for(i = 0 ; i < n ; i++)
printf("%d ",a[i]);
for(i= 0 ; i < n-1 ; i++)
// Number of Passes
{
for(j= 0 ; j< n-i+1; j++)
// Comparisons
if(a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
printf("\n The Sorted elements are \n");
for(i = 0 ; i < n ; i++)
printf("%d ",a[i]);
getch();
}
Output:
ISE Dept., CIT, Gubbi.
1.
Enter the no. of elements :
5
Enter the array elements
30 10 50 20 40
The original elements are
30 10 50 20 40
The Sorted elements are
10 20 30 40 50
2.
Enter the no. of elements :
6
Enter the array elements
6 5 4 3 2 1
The original elements are
6 5 4 3 2 1
The Sorted elements are
1 2 3 4 5 6
Page 41
Computer Programming Laboratory
2015-2016
7. Matrix Multiplication
Develop, implement and execute a C program that reads two matrices A(m x n )and B(p x
q) and Compute the product A and B. Read matrix A in row major order and matrix B in
column major order. Print both the input matrices and resultant matrix with suitable
headings and in matrix format. Program must check the compatibility of orders of the
matrices for multiplication. Report appropriate message in case of incompatibility.
ALGORITHM:
ALGM: matrix multiplication
Input two matrixes.
Output Output matrix C.
Complexity O(n^3)
Step 1: GET THE MATRIX SIZE OF a
Input the size of matrix a and read the values of m and n.
Step 2: GET THE MATRIX VALUE OF a
For i=0 to n-1
For j=0 to n-1
Read a[i][j]
End For
End For
Step 3: GET THE MATRIX SIZE OF b
Input the size of matrix b and read the values of p and q.
Step 4: GET THE MATRIX VALUE OF b
For i=0 to p-1
For j=0 to q-1
Read b[i][j]
End For
End For
STEP :5 MULTIPLICATION OF MATRICES NOT POSSIBLE
If(n!=p)
Print(“multiplication is not possible”)
Stop
End if
STEP 6: MULTIPLICATION OF MATRICES IS POSSIBLE
For i=0 to m-1
For j=0 to q-1
Sum=0
For k=0 to n-1
Sum=Sum+a[i][k]*b[k][j]
End for
ISE Dept., CIT, Gubbi.
Page 42
Computer Programming Laboratory
2015-2016
End for
Step 7: DISPLAY RESULT
For i=0 to m-1
For j=0 to q-1
Print c[i][j]
End for
End for
Step 8: STOP
stop
ISE Dept., CIT, Gubbi.
Page 43
Computer Programming Laboratory
2015-2016
FLOWCHART:
start
Read size m,n,p,q
NO
Is n==p
Multiplication is not
possible
YES
C
Multiplication is possible
NO
For(i=0; i<m; i++)
YES
For(j=0;j<n; j++)
NO
YES
Read array a[i][j]
For(i=0; i<p; i++)
NO
YES
For(j=0;j<q; j++)
NO
YES
Read array b[i][j]
A
ISE Dept., CIT, Gubbi.
Page 44
Computer Programming Laboratory
2015-2016
A
NO
For(i=0; i<m; i++)
YES
NO
For(j =0;j<q; j++)
YES
C[i][j]<-0
NO
For(k=0; k<n; k++)
YES
C[i][j] <- c[i][j]+a[i][k]*b[k][j]
NO
For(i=0; i<m; i++)
YES
NO
For(j=0; j<m; j++)
YES
Print array a[i][j]
NO
For(i=0; i<p; i++)
YES
For(j=0; j<q; j++)
NO
YES
Print array b[i][j]
ISE Dept., CIT, Gubbi.
B
Page 45
Computer Programming Laboratory
2015-2016
B
NO
for(i=0; i<m; i++)
YES
NO
for(j=0; j<q; j++)
YES
Print array c[i][j]
C
stop
ISE Dept., CIT, Gubbi.
Page 46
Computer Programming Laboratory
2015-2016
PROGRAM :
#include<stdio.h>
#include<conio.h>
int main()
{
int a[5][5],b[5][5],c[5][5],m,n,p,q,i,j,k;
clrscr();
printf("Enter the size of first matrix\n");
scanf("%d %d",&m,&n);
printf("Enter the size of second matrix\n");
scanf("%d %d",&p,&q);
if(n!=p)
printf(“Matrix multiplication is not possible”);
else
{
printf("Enter the elements of first matrix\n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
printf("Enter the elements of the second matrix\n");
for(i=0;i<p;i++)
for(j=0;j<q;j++)
scanf("%d",&b[i][j]);
for(i=0;i<m;i++)
for(j=0;j<q;j++)
{
c[i][j]=0;
for(k=0;k<n;k++)
c[i][j]=c[i][j]+a[i][k]*b[k][j];
}
printf("\n A- matrix is\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
printf("\n B- matrix is\n");
for(i=0;i<p;i++)
{
for(j=0;j<q;j++)
printf("%d\t",b[i][j]);
printf("\n");
}
printf("The product of two matrix is\n");
for(i=0;i<m;i++)
{
for(j=0;j<q;j++)
printf("%d\t",c[i][j]);
printf("\n");
ISE Dept., CIT, Gubbi.
Page 47
Computer Programming Laboratory
2015-2016
}
}
getch();
}
OUTPUT:
1.
Enter the size of first matrix
2 3
Enter the size of second matrix
3 2
Enter the elements of first matrix
1 2 3 4 5 6
Enter the elements of the second matrix
1 2 3 4 5 6
A- matrix is
1
2
3
4
5
6
B- matrix is
1
2
3
4
5
6
The product of two matrix is
22
28
49
64
2.
ISE Dept., CIT, Gubbi.
Enter the size of first matrix
1 2
Enter the size of second matrix
3 1
Matrix multiplication is not possible
Page 48
Computer Programming Laboratory
8.
2015-2016
Binary Searching Technique
Develop, implement and execute a c program to search a name in list of names using
Binary Searching Technique
ALGORITHM:
ALGM: Binary search
Input : The probabilities p1, ..., pn and q0, ..., qn and the size n, and it returns the tables e and
root.
Output : It returns the tables e and root.
Complexity : O(n^3).
OPTIMAL-BST(p, q, n)
1 for i = 1 to n + 1
2 do e[i, i - 1] = qi-1
3
w[i, i - 1] = qi-1
4
for l =1 to n
5
do for i = 1 to n - l + 1
6
do j = i + l - 1
7
e[i, j] = ∞
8
w[i, j] = w[i, j - 1] + pj + qj
9 for r = i to j
10 do t = e[i, r - 1] + e[r + 1, j] + w[i, j]
11 if t < e[i, j]
12 then e[i, j] = t
13 root[i, j] = r
14 return e and root
ISE Dept., CIT, Gubbi.
Page 49
Computer Programming Laboratory
2015-2016
FLOWCHART:
start
Input str[i]
Str 2[i]= str[i]
False
If(str[i]=”
b”)
true
Str[i-1]=1
Str[j]=/0
Str[i]==’(‘
Str 2[i]=str[i]i++,j++
i++
Output str & str 2
stop
ISE Dept., CIT, Gubbi.
Page 50
Computer Programming Laboratory
2015-2016
PROGRAM :
/* progrm to search an name using binary search */
#include<stdio.h>
#include<string.h>
#include<conio.h>
int main()
{
char name[10][20], key[20];
int n, i, low, high, mid, found=0;
clrscr();
printf("Enter the number of names to read, n=");
scanf("%d", &n);
printf("Enter the names in ascending order\n");
for(i=0;i<n;i++)
scanf("%s", name[i]);
printf("Enter the name to be search:");
scanf("%s", key);
low=0;
high=n-1;
while(low<=high && !found)
{
mid=(low + high)/2;
if(strcmp(name[mid],key)==0)
found=1;
else if(strcmp(name[mid],key)<0)
low=mid+1;
else
high=mid-1;
}
if(found == 1)
printf("Name found in position : %d",mid+1);
else
printf("Name not found");
getch();
}
ISE Dept., CIT, Gubbi.
Page 51
Computer Programming Laboratory
2015-2016
OUTPUT:
Dept. of ISE, CIT, Gubbi.
1.
Enter the number of names to read, n= 5
Enter the names in ascending order
Amar
Chethan
Girish
Manoj
Yadu
Enter the name to be search:
Chethan
Name found in position :2
2.
Enter the number of names to read, n= 5
Enter the names in ascending order
Girish
Manoj
Yadu
Amar
Chethan
Enter the name to be search:
Kiran
Name not found
Page 52
Computer Programming Laboratory
2015-2016
9. String Copy and Frequency of Vowels
9. Write and execute a C program that
i. Implements string copy operation STRCOPY(str1,str2) that
copies a string str1 to another
string str2 without using library function.
ii. Reads a sentence and prints frequency of each of the vowels and
total count of consonants.
9.1 String Copy without using library function
Implements string copy operation STRCOPY(str1,str2) that
copies a string str1 to another string
str2 without using library function. This program supposed to be
implemented using functions.
ALGORITHM:
ALGM: EVAL_POLYNOMIAL [To copy string i/p to its o/p,
replacing each string of one or more blanks by a single blank].
Inputs: str1 and str2.
Output: str1 -> str2.
1.Start
2. Read the text in Array c
3. FOR i← 0 to c [i] <> '\0' in steps of 1
IF c [i] = ' '
Print ' '
End If
Until c [i] = ‘\0'
Increment i
End Until
Print the character
End For
4. Stop
Dept. of ISE, CIT, Gubbi.
Page 53
Computer Programming Laboratory
2015-2016
FLOWCHART:
start
Enter the 2 string
String matched
string not matched
While(s[i]!=’\0’)
Print the string is
valid
Print the string is
not valid
stop
Program :
/* program to copy a string without using library function */
#include<stdio.h>
#include<conio.h>
// function to copy a string
void strcopy(char s1[50], char s2[50])
{
int i=0;
while(s[1i]!='\0')
{
s2[i]=s1[i];
i++;
}
s2[i]='\0';
}
int main()
{
char str1[50],str2[50];
clrscr();
printf("Enter the source string\n");
gets(str1);
strcopy(str1,str2);
printf("Destination string is\n");
puts(str2);
getch();
}
Dept. of ISE, CIT, Gubbi.
Page 54
Computer Programming Laboratory
2015-2016
OUTPUT:
1.
Enter the source string
Drsmce
Destination string is
Drsmce
2.
Enter the source string
1234
Destination string is
1234
Dept. of ISE, CIT, Gubbi.
Page 55
Computer Programming Laboratory
2015-2016
9.2 Vowels and Consonants Count
ii. Reads a sentence and prints frequency of each of the vowels and total count of
consonants.
ALGORITHM:
ALGM: VOWELS AND CONSONANTS COUNT[To read a sentence and prints
frequency of each of the vowels and total count of consonants.]
Input: Sentence.
Output: Print vowels(a,e,i,o,u) ,consonants(other than vowels) and print their count.
STEP 1.Set countCo:=0[C is the counter variable for consonants]
STEP 2.Set countVo:=0[counter for vowels ]
STEP 3.[find length of STR] Set L:=LENGTH(STR).
STEP 4:TOLOWER(STR,L) [change all characters in string to lower case]
STEP 5. Repeat for K:=0 to L-1:
If STR[K]='a' OR STR[K]='e' OR STR[K]='i' OR STR[K]='o' OR STR[K]='u'.Then:
Set countVo:=countVo+1
Else
Set countCo:=countCo+1
[End of If-Else]
[End of for loop]
STEP 6.PRINT countVo,countCo [display results]
STEP 7.EXIT/END
Dept. of ISE, CIT, Gubbi.
Page 56
Computer Programming Laboratory
2015-2016
FLOWCHART:
start
Enter the sentences
For(i=0; i<strlen(s); i++)
If it consists vowels
If is
alpha(s[i])
Print the number of vowels
otherwise
Print the number of
consonants
stop
Dept. of ISE, CIT, Gubbi.
Page 57
Computer Programming Laboratory
2015-2016
PROGRAM :
/* program to prints frequency of vowels and total count of consonants */
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
char s[100],ch;
int i,vc=0,cc=0;
clrscr();
printf("Enter the sentence\n");
gets(s);
for(i=0;i<strlen(s);i++)
{
if(isalpha(s[i]))
{
ch=tolower(s[i]);
if(ch=='a'||ch=='e'||ch=='i'||ch=='o'||ch=='u')
vc++;
else
cc++;
}
}
printf("No of vowels=%d\n",vc);
printf("No of consonants=%d",cc);
getch();
}
OUTPUT:
1. Enter the sentence
Welcome to drsmce
No of vowels=5
No of consonants=10
2. Enter the sentence
qwerty@#$
No of vowels=1
No of consonants=5
Dept. of ISE, CIT, Gubbi.
Page 58
Computer Programming Laboratory
2015-2016
10. Right Rotate and isprime or not
10. i)Design and develop a C function RightShift(x ,n) that takes two integers x and
n as input and
returns value of the integer x rotated to the right by n positions. Assume the integers
are unsigned.
Write a C program that invokes this function with different values for x and n and
tabulate the
results with suitable headings.
ii) Design and develop a C function isprime(num) that accepts an integer argument
and returns 1
if the argument isprime, a 0 otherwise. Write a C program that invokes this function
to generate
prime numbers between the given ranges
10.1 Right Rotate by n Positions
Design and develop a C function Right Shift(x ,n) that takes two integers x and n as input
and returns value of the integer X rotated to the right by n positions.
Algorithm:
ALGM: RIGHT ROTATE BY N POSITIONS [A ‘C’ function Right Shift(x ,n) that
takes two integers x
and n as input and returns value of the integer X rotated to the right by n positions.]
Input: Integers x and n.
Output: Integer X rotated to the right by n positions.
1.Start
2.Read xa
ndn
3.Callfunction RR(x,n)
6.Printthe
result
7.Stop
Algorithm to rotate value by
1.IFn==0
Return x
ELSE
Return((x>>n)|(x<<(32-n)))
2. Return
Dept. of ISE, CIT, Gubbi.
bits
Page 59
Computer Programming Laboratory
2015-2016
Flowchart:
start
Enter x and n
For(i=0; i<n; i++)
True
If(x%2==0)
X=x>>1
false
X=x>>1
X=x+32768
stop
Dept. of ISE, CIT, Gubbi.
Page 60
Computer Programming Laboratory
2015-2016
Program :
/* program to rotate right */
#include<stdio.h>
#include<conio.h>
#include<math.h>
//function to right rotate
unsignedint RightShift(unsignedint x,unsignedint n)
{
int i;
for(i=0;i<n;i++)
{
if(x%2==0)
x=x>>1;
else
{
x=x>>1;
x=x+32768;
}
}
return(x);
}
void main()
{
unsigned int x,y,n,i,value;
char input;
clrscr();
do
{
printf("\nEnter the number and the no of bits to be” “rotated\n");
scanf("%u %u",&x,&n);
y=x;
value=RightShift(x,n);
printf("\nCALULATED VALUE rightrot of %u,%u=%u",y,n,value);
printf("\nTocontinue press 'y' else press 'n'\n");
input=getche();
}while(input!='n');
getch();
}
Output:
1.
Enter the number and the no of bits to be rotated
4 1
CALULATED VALUE rightrot of 4,1=2
To continue press 'y' else press 'n'
y
Enter the number and the no of bits to be rotated
5 2
CALULATED VALUE rightrot of 5,2=16385
To continue press 'y' else press 'n'
Dept. of ISE, CIT, Gubbi.
Page 61
Computer Programming Laboratory
2015-2016
10.2 To Check Prime or Not
10 ii). Design and develop a function isprime (x) that accepts
an integer argument and returns 1
if the argument is prime and 0 otherwise. The function must
use plain division checking approach
to determine if a given number isprime. Invoke this function
from the main with different values
obtained from the user and print appropriate messages
Algorithm:
ALGM: CHECK PRIME OR NOT [A function isprime (x) that
accepts an integer argument
and returns 1 if the argument is prime and 0 otherwise.]
Input : Any integer number (up to 32767)
Output: Is it a prime number or Not
Complexity O(n)
Prime(num)
1 Set i=2
2 while i<=num/2
3
if num mod i = 0
4
print "Not a Prime number" and exit;
5 i=i+1
6 if (i==(num/2)+1)
7Print "Prime number"
Dept. of ISE, CIT, Gubbi.
Page 62
Computer Programming Laboratory
2015-2016
Flowchart:
start
Enter the value of ‘n’
True
false
If(isprime(n))
Print the given number
is prime
Print the given number
is not prime
stop
Dept. of ISE, CIT, Gubbi.
Page 63
Computer Programming Laboratory
2015-2016
Program:
//Function to check the given number is prime or not
#include<stdio.h>
#include<conio.h>
void main()
{
int n;
clrscr();
printf("Enter value of n\n");
scanf("%d",&n);
if(isprime(n));
printf("%d is prime number\n");
else
printf("%d is not a prime number\n") ;
getch();
}
int isprime(int num)
{
int i;
for(i=2;i<= m/2;i++)
{
if(m%i==0)
{
return 0;
}
}
return 1;
}
Output:
1.
Enter value of n
3
3 is prime number
2.
Enter value of n
4
4 is not a prime number
Dept. of ISE, CIT, Gubbi.
Page 64
Computer Programming Laboratory
2015-2016
11. Factorial of number using Recursive function
Draw the flow chart and write a Recursive C function to find the factorial of number n!
defined
by fact(n)=1, if n=0, otherwise fact(n)=n*fact(n-1),using this function write a c program
to compute
the binomial co-efficient nCr. Tabulate the results for different values of n and r using
suitable messages.
Algorithm:
ALGM: Factorial of number [A recursive C function to find the factorial of number n!
defined
by fact(n)=1, if n=0, otherwise fact(n)=n*fact(n-1)]
FUNCTION FACTORIAL (N: INTEGER): INTEGER
(* RECURSIVE COMPUTATION OF N FACTORIAL *)
BEGIN
(* TEST FOR STOPPING STATE *)
IF N <= 0 THEN
FACTORIAL := 1
ELSE
FACTORIAL := N * FACTORIAL(N - 1)
END; (* FACTORIAL *)
Dept. of ISE, CIT, Gubbi.
Page 65
Computer Programming Laboratory
2015-2016
Flowchart
start
Enter n, r
res = fact(n)/(fact(n-r)*fact(r))
If n<=0
T
F
Return 1
Return fact(n-1)
stop
Dept. of ISE, CIT, Gubbi.
Page 66
Computer Programming Laboratory
2015-2016
Program :
#include<stdio.h>
#include<conio.h>
int fact(int n)
{
if(n==0)
{
return 1;
}
return (n*fact(n-1));
}
int main()
{
int n,r,res;
clrscr();
printf("Enter the value of n and r\n");
scanf("%d%d",&n,&r);
res=fact(n)/(fact(n-r)*fact(r));
printf("The NCR is = %d",res);
getch();
}
Output:
1.
Enter the value of n and r
4 2
The NCR is =6
2.
Enter the value of n and
7 3
The NCR is =6
Dept. of ISE, CIT, Gubbi.
Page 67
Computer Programming Laboratory
2015-2016
12. Copy the Contents of File
Given two university information files "studentname.txt" and
"usn.txt" that contains students names
and USN respectively. Write a C program to a new file called
"output.txt" and copy the content of
files "studentname.txt" and "usn.txt" into output file in the sequence
shows below. Display the content
of output file "output.txt" on to the screen.
Note : Students are required to create two files “Studname.txt” and
“Studusn.txt” with the Contents
studname.txt studusn.txt
Amar
Suresh
Kiran
Shashi
1RN10CS005
1RN10CS012
1RN10CS036
1RN10CS072
ALGORITHM:
Input : Create the file fp1,fp2,fp3
Output : Print whether the files are found or not
step1:start
Step2: create the files (fp1,fp2, & fp3)
Step3: while(!feof((fp1)&&!feof(fp2))
Step4:Both files the not created the print the file not found
a). if only one file is created then print files not found.
b).if both files are created the print files are found.
Step5: stop
Dept. of ISE, CIT, Gubbi.
Page 68
Computer Programming Laboratory
2015-2016
FLOWCHART:
start
Create fp1, fp2, fp3
While(!feof(fp1) &&
!feof(fp2))
Both the files are not
Created
File not found
Both files
only one file is
are created
File found
created
File not created
stop
Dept. of ISE, CIT, Gubbi.
Page 69
Computer Programming Laboratory
2015-2016
Program
/* Program on merge two files */
#include <stdio.h>
#incude<conio.h>
int main()
{
FILE *fp1,*fp2,*fp3;
char usn[20], name[20];
clrscr();
fp1=fopen("studname.txt", "r");
if(fp1 == NULL)
printf(" File not found");
fp2=fopen("studusn.txt", "r");
if(fp2 == NULL)
printf(" File not found");
fp3=fopen("output.txt","w");
while( !feof(fp1) && !feof(fp2) )
{
fscanf(fp1,"%s",name);
fscanf(fp2,"%s",usn);
fprintf(fp3,"%15s %10s\n", name, usn);
}
fclose(fp1);
fclose(fp2);
fclose(fp3);
fp3=fopen("output.txt","r");
printf("\n----------------------------\n");
printf(" Name USN \n");
printf("----------------------------\n");
while(!feof(fp3))
{
fscanf(fp3,"%s",name);
fscanf(fp3,"%s \n",usn);
printf("%-15s %10s \n", name,usn);
}
fclose(fp3);
getch();
}
Output:
Name
Amar
Suresh
Kiran
Shashi
Dept. of ISE, CIT, Gubbi.
USN
1RN10CS005
1RN10CS012
1RN10CS036
1RN10CS072
Page 70
Computer Programming Laboratory
2015-2016
13. Student Record using Array of Structures
Write a C program to maintain a record of "n" student details
using an array of structures with four fields (Roll number, Name,
marks, and Grade). Each field is of an appropriate data type.
Print the marks of the student given name as input.
ALGORITHM:
Input: Enter the number of students
Output: print the marks of the student.
Step1: start
Step2: enter the num of students
Step3: if(strcmp(s[i].name, sname==0)
Then
{
Print the marks of students name & USN
}
Else
{
Print the given date is invaid
}
Step4:stop
Dept. of ISE, CIT, Gubbi.
Page 71
Computer Programming Laboratory
2015-2016
FLOWCHART:
start
Enter n
If(strcmp(s[i].name,
sname)==0)
N=3
Enter the details of 3 students
N=2
N=3
Enter the details of 2 students
Enter the details of 3 students
but it will not display
stop
Dept. of ISE, CIT, Gubbi.
Page 72
Computer Programming Laboratory
2015-2016
Program:
/* program to maintain a record of student using structrue */
#include<stdio.h>
#include<conio.h>
struct student
{
int rollno, marks;
char name[20], grade;
};
Void main()
{
int i,n,found=0;
struct student s[10];
char sname[20];
clrscr();
printf("Enter the number of student details n=");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("\nenter the %d student details \n",i+1);
printf("enter the roll number:");
scanf("%d",&s[i].rollno);
printf("enter the student name without white spaces:");
scanf("%s", s[i].name);
printf("enter the marks : ");
scanf("%d", &s[i].marks);
printf("enter the grade : ");
fflush(stdin);
scanf("%c",&s[i].grade);
}
printf("\nStudent details are \n");
printf("\nRollno\tName\t\t\tMarks\tGrade\n");
for(i=0;i<n;i++)
printf("%d\t%s\t\t%d\t%c\n", s[i].rollno, s[i].name, s[i].marks, s[i].grade);
printf("\nEnter the student name to print the marks:");
scanf("%s", sname);
for(i=0;i<n;i++)
{
if(strcmp(s[i].name,sname)==0)
{
Printf(“\Marks of the student is : %d”,s[i].marks);
found=1;
}
}
if(found ==0)
printf(“ Given student name not found\n”);
getch();
}
Dept. of ISE, CIT, Gubbi.
Page 73
Computer Programming Laboratory
2015-2016
Output:
Enter the number of student details n=3
enter the 1 student details
enter the roll number: 100
enter the student name without white spaces:vishwa
enter the marks : 90
enter the grade : A
enter the 2 student details
enter the roll number: 101
enter the student name without white spaces:madhu
enter the marks : 50
enter the grade : B
enter the 3 student details
enter the roll number: 102
enter the student name without white spaces:kiran
enter the marks : 45
enter the grade : C
Roll
Name
Marks
Grad
100
vishwa
90
A
101
madhu
50
B
102
kiran
45
C
Enter the student name to print the marks: madhu
Marks of the student is : 50
Dept. of ISE, CIT, Gubbi.
Page 74
Computer Programming Laboratory
2015-2016
14. Use of Pointers
Write a C program using pointers to compute the sum, mean and standard deviation of all
elements stored in an array of n real numbers.
Mean : is the average of the numbers. i.e the sum of a collection of numbers divided by the
number of numbers in the collection
Standard deviation (SD): measures the amount of variation or dispersion from the average. For
a finite set of numbers, the standard deviation is found by taking the square root of the average of
the squared differences of the values from their average value.
ALGORITHM:
ALGM: COMPUTATION OF SUM, MEAN AND STANDARD DEVIATION [to compute
the sum, mean and standard deviation of all elements stored in an array of n real numbers.]
Input: Enter the n values
Output: print the result for sum, mean, standard deviation
Step 1:start
Step2: Enter the value of n it may be integer or float
Step3: for(i=0; i<n;i++)
{
Sum=sum+*ptr;
Ptr++;
Mean=sum/n;
Ptr=a;
For(i=0;i<n;i++)
{
Sumstd=sumstd+pow((*ptr-mean),2);
Ptr++;
Step4:print the result for sum,mean,&stddev
Step5:stop
Dept. of ISE, CIT, Gubbi.
Page 75
Computer Programming Laboratory
2015-2016
FLOWCHART:
start
enter n
for(i=0; i<n; i++)
Enter the values
in integers
Enter the values
in floating point
Print the result in
integer(sum, mean, sumstd)
Print the result in floating
point(sum, mean, sumstd)
stop
Dept. of ISE, CIT, Gubbi.
Page 76
Computer Programming Laboratory
2015-2016
Program:
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
float a[10], *ptr, mean, std, sum=0, sumstd=0;
int n,i;
clrscr();
printf("Enter the no of elements\n");
scanf("%d",&n);
printf("Enter the array elements\n");
for(i=0;i<n;i++)
{
scanf("%f",&a[i]);
}
ptr=a;
for(i=0;i<n;i++)
{
sum=sum+ *ptr;
ptr++;
}
mean=sum/n;
ptr=a;
for(i=0;i<n;i++)
{
sumstd=sumstd + pow((*ptr - mean),2);
ptr++;
}
std= sqrt(sumstd/n);
printf("Sum=%.3f\t",sum);
printf("Mean=%.3f\t",mean);
printf("Standard deviation=%.3f\t",std);
getch();
}
Output:
Enter the no of elements
5
Enter the array elements
5 3 9 8 7
Sum=32.000
Mean=6.400
Standard deviation=2.154
Dept. of ISE, CIT, Gubbi.
Page 77
Computer Programming Laboratory
2015-2016
SAMPLE C PROGRAMS
Program to print hello world on output screen
#include <stdio.h>
int main()
{
printf("Hello world!\n");
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 78
Computer Programming Laboratory
2015-2016
Program to find the solution(e) for the equation e=ax2+bx+c
#include<stdio.h>
main()
{
int a,b,c,x,e;
printf("enter the values of a,b,c,x\n");
scanf("%d %d %d %d",&a,&b,&c,&x);
e=a*pow(x,2)+b*x+c;
printf("the answer is=%d",e);
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 79
Computer Programming Laboratory
2015-2016
C Program to illustrate for loop(C program to print sum of n numbers)
#include<stdio.h>
main()
{
int i,n;
float x,sum=0;avg;
printf("\n how many num");
scanf("%d",&n);
for(i=0;i<=n;i++)
{
printf("enter a num");
scanf("%f",&x);
sum+=x;
}
printf("%d",sum);
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 80
Computer Programming Laboratory
2015-2016
Program illustrating left shift operation
#include<stdio.h>
main()
{
long num,tempnum;
printf("enter an integer");
scanf("%ld",&num);
tempnum=num;
num=num<<2;
printf("%ld*4=%ld\n",tempnum,num);
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 81
Computer Programming Laboratory
2015-2016
Program to illustrate basic arithmetic expression
#include<stdio.h>
main()
{
int i;
i=5;
printf("the value of i is :%d",i);
i=i+5;
printf("the value of i is :%d",i);
i=i-2;
printf("the value of i is :%d",i);
i=i*2;
prinf("the value of i is :%d",i);
i=i/4;
printf("the value of i is :%d",i);
i=i++;
printf("the value of i is :%d",i);
i=i--;
printf("the value of i is :%d",i);
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 82
Computer Programming Laboratory
2015-2016
Program to illustrate assignment operator
#include<stdio.h>
main()
{
int sum;
float money;
char letter;
double pi;
sum=10;
money=2.21;
letter='a';
pi=3.14;
printf("value of sum=%d\n",sum);
printf("value of money=%d\n",money);
printf("value of letter=%d\n",letter);
printf("value of pi=%d\n",pi);
getch();
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 83
Computer Programming Laboratory
2015-2016
Program to add two numbers
#include<stdio.h>
void main()
{
int sum,a,b;
printf("enter the values for a and b\n");
scanf("%d %d",&a,&b);
sum=a+b;
printf("%d",sum);
return;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 84
Computer Programming Laboratory
2015-2016
Program to find area of circle
#include<stdio.h>
#include<conio.h>
void main()
{
float radius,area;
clrscr();
printf("\n enter the radius of circle:");
scanf("%d",&radius);
area=3.14*radius*radius;
printf("\n area of circle :%f",area);
getch();
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 85
Computer Programming Laboratory
2015-2016
Program to illustrate do while
main()
{
int i=10;
do
{
printf("hello %d\n");
i=i-1;
}
while(i>0);
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 86
Computer Programming Laboratory
2015-2016
Program to illustrate do while
main()
{
int i=10;
do
{
printf("hello %d\n");
i=i-1;
}while(i>0);
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 87
Computer Programming Laboratory
2015-2016
WACP to add all num until user enters 0
#include<stdio.h>
main()
{
int sum=0,num;
do
{
printf("enter a num");
scanf("%d",&num);
sum+=num;
}
while(num!=0);
printf("sum=%d",sum);
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 88
Computer Programming Laboratory
2015-2016
Program to print integer values from 1 to n
#include<stdio.h>
main()
{
int counter=0,n;
printf("enter how many no u want to print");
scanf("%d",&n);
counter=0;
do
{
counter++;
printf("%d",counter);
}
while(counter<n);
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 89
Computer Programming Laboratory
2015-2016
Program to check wether the given number is prime or not.
#include<stdio.h>
main()
{
int n,c=2;
printf("enter a num to check if it is prime\n");
scanf("%d",&n);
for(c=2;c<=n-1;c++)
{
if(n%c==0)
{
printf("%d is not prime\n", n);
break;
}
}
if(c==n)
printf("%d is prme\n",n);
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 90
Computer Programming Laboratory
2015-2016
Program to find the factorial of given number
#include<stdio.h>
void main()
{
int i,fact=1,num;
printf("enter the num");
scanf("%d",&num);
if(num<=0)
fact=1;
else
{
for(i=1;i<=num;i++)
{
fact=fact*i;
}
}
printf("factorial of %d=%5d",num,fact);
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 91
Computer Programming Laboratory
2015-2016
Program to print fibonacci series
#include<stdio.h>
void main()
{
int a,b,c,i,n;
a=0;
b=1;
printf("enter a number to define the length of fibonacci series");
scanf("%d",&n);
printf("\n the series is \n");
printf("%d\t%d",a,b);
for(i=0;i<n;i++)
{
c=a+b;
a=b;
b=c;
printf("%d",c);
}
getch();
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 92
Computer Programming Laboratory
2015-2016
Program to print number from 0 to 9 using for loop
#include<stdio.h>
int main()
{
int i;
for(i=0;i<10;i++)
{
printf("%d\n",i);
}
getchar();
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 93
Computer Programming Laboratory
2015-2016
Program to add n number using for loop
#include<stdio.h>
void main()
{
int n,sum=0,c,value;
printf("enter the numberof int to add\n");
scanf("%d",&n);
printf("enter %d integer\n",n);
for(c=1;c<=n;c++)
{
scanf("%d",&value);
sum=sum+value;
}
printf("sum of entered integers =%d\n",sum);
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 94
Computer Programming Laboratory
2015-2016
Program to check weather given number is equal to 10 or not (program to illustrate if
else statement)
#include<stdio.h>
main()
{
int num;
printf("enter num");
scanf("%d",&num);
if(num==10)
{
printf("equal");
}
else
{
printf("not equal")
}
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 95
Computer Programming Laboratory
2015-2016
Program to check given number is odd or even
#include<stdio.h>
void main()
{
int ival,reaminder;
printf("enter an integer");
scanf("%d",&ival);
rem=ival%2;
if(rem==0)
printf("%d is an even",ival);
else
printf("%d is an odd",ival);
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 96
Computer Programming Laboratory
2015-2016
Program to illustrate if else statement
#include<stdio.h>
main()
{
int age;
printf("input ur age");
scanf("%d",&age);
if(age>=18)
{
printf("you can vote");
}
else
{
printf(" you are not eligible");
}
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 97
Computer Programming Laboratory
2015-2016
Program to illustrate if else statement
#include<stdio.h>
main()
{
int grade;
printf("enter grade");
scanf("%d",&grade);
if(grade<=10)
{
printf("you didnt score well");
}
else
{
printf("you done well")'
}
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 98
Computer Programming Laboratory
2015-2016
Program to illustrate nested if( program to compare to numbers )
#include<stdio.h>
main()
{
int var1,var2;
printf("input the value of var1 and var2");
scanf("%d%d",&var1,&var2);
if(var1!=var2)
{
printf("var1 is not equal to var2");
if(var1>var2)
{
printf("var1 is greater than var2");
}
else
{
printf("var2 is greater than var1");
}
}
else
{
printf("var1 is equal to var2");
}
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 99
Computer Programming Laboratory
2015-2016
Program to check username and password enterd by user is correct or not
#include<stdio.h>
main()
{
char username;
int psw;
clrscr();
print("username and psw");
scanf("%c %d",&username,&psw);
if(username=='a')
{
if(psw==123)
{
printf("login succesfull");
}
else
{
printf("password is incorrect");
}
}
else
{
printf("username is incorrect");
}
getch();
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 100
Computer Programming Laboratory
2015-2016
Program to illustate ternary operator( program to print minimum number )
#include<stdio.h>
main()
{
int min,x,y;
printf("enter x and y");
scanf("%d%d",&x,&y);
min=x<=y?x:y;
printf(" n small number is %d",min);
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 101
Computer Programming Laboratory
2015-2016
Program to print sum of digitd of integers
#include<stdio.h>
main()
{
long num,temp,digit,sum=0;
printf("enter the num");
scanf("%ld",&num);
temp=num;
while(num>0)
{
digit=num%10;
sum=sum+digit;
num/=10;
}
printf("given num =%ld\n",temp);
printf("sum of the digits %ld=%ld\n",temp,sum);
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 102
Computer Programming Laboratory
2015-2016
Program to check wether given number is palindrome or not
#include<stdio.h>
main()
{
long num,rev=0,temp,rem;
printf("enter the num");
scanf("%ld",&num);
temp=num;
while(num>0)
{
rem=num%10;
rev=rev*10+rem;
num/=10;
}
printf("given num =%d",temp);
printf("given num =%d",rev);
if(temp==rev)
printf("num is palindrome");
else
printf("not palindrome");
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 103
Computer Programming Laboratory
2015-2016
Program to add three numbers
#include <stdio.h>
int main()
{
int a,b,c,sum;
printf("enter the values of a,b and c");
scanf("%d %d %d",&a,&b,&c);
sum=a+b+c;
printf("sum=%d",sum);
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 104
Computer Programming Laboratory
2015-2016
Program to find area of rectangle
#include <stdio.h>
int main()
{
int b,h,area;
printf("enter the values of breadth and height\n");
scanf("%d %d",&b,&h);
area=b*h;
printf("area=%d",area);
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 105
Computer Programming Laboratory
2015-2016
Program to illustrate initializtion of variable and print the same
#include<stdio.h>
main()
{
int a=1,b=2,c=3,d=4,e=5,f=6,g=7,h=8,i=9;
printf("%d,%d,%d\n",a,b,c);
printf("%d,%d,%d\n",d,e,f);
printf("%d,%d,%d\n",g,h,i);
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 106
Computer Programming Laboratory
2015-2016
Program to illustrate pow() function
#include<stdio.h>
main()
{
int a,b,n,e;
printf("enter the values of a,b,n\n");
scanf("%d %d %d",&a,&b,&n);
e=pow(a,10)/pow(b,n)*n;
printf("the answer is=%d",e);
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 107
Computer Programming Laboratory
2015-2016
Program to swap two numbers without using temp variable
#include<stdio.h>
int main()
{
int a=10,b=20;
printf("a=%d,b=%d\n",a,b);
a=a+b;
b=a-b;
a=a-b;
printf("a=%d,b=%d",a,b);
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 108
Computer Programming Laboratory
2015-2016
Program to swap two numbers without using temp variable
#include<stdio.h>
main()
{
int a=10,b=5;printf("a=%d,b=%d\n",a,b);
a=a*b;
b=a/b;
a=a/b;
printf("a=%d,b=%d\n",a,b);
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 109
Computer Programming Laboratory
2015-2016
Program to swap two numbers with using temp variable
#include<stdio.h>
main()
{
int a,b,temp;
printf("enter the value of a,b\n");
scanf("%d %d",&a,&b);
printf("before swapping value of a=%d and b=%d\n",a,b);
temp=a;
a=b;
b=temp;
printf("after swapping value of a=%d\t b=%d\n",a,b);
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 110
Computer Programming Laboratory
2015-2016
Program to find square root of a given number using builtin function
#include<stdio.h>
#include<math.h>
int main()
{
int a,sqrt_root;
printf("enter the value of a\n");
scanf("%d",&a);
sqrt_root=sqrt(a);
printf("square root of %d=%d\n",a,sqrt_root);
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 111
Computer Programming Laboratory
2015-2016
Program to illustrate sizeof()
#include <stdio.h>
int main()
{
int a,z[10];
float b;
double c;
char d;
printf("Size of int: %d bytes\n",sizeof(a));
printf("Size of float: %d bytes\n",sizeof(b));
printf("Size of double: %d bytes\n",sizeof(c));
printf("Size of char: %d byte\n",sizeof(d));
printf("Size of array: %d byte\n",sizeof(z));
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 112
Computer Programming Laboratory
2015-2016
Program to demonstrate the working of break statement in C programming
#include <stdio.h>
int main ()
{
/* local variable definition */
int a = 10;
/* while loop execution */
while( a < 20 )
{
printf("value of a: %d\n", a);
a++;
if( a > 15)
{
/* terminate the loop using break statement */
break;
}
}
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 113
Computer Programming Laboratory
2015-2016
C program to demonstrate the working of break statement by terminating a loop, if
user inputs negative number
# include <stdio.h>
int main()
{
float num,average,sum;
int i,n;
printf("Maximum no. of inputs\n");
scanf("%d",&n);
for(i=1;i<=n;++i)
{
printf("Enter n%d: ",i);
scanf("%f",&num);
if(num<0.0)
break;
//for loop breaks if num<0.0
sum=sum+num;
}
average=sum/(i-1);
printf("Average=%.2f",average);
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 114
Computer Programming Laboratory
2015-2016
Program to demonstrate the working of continue statement in C programming
#include<stdio.h>
main()
{
int x ;
for ( x=0 ; x=100 ; x++)
{
if (x%2) continue;
printf("%d\n" , x);
}
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 115
Computer Programming Laboratory
2015-2016
Program to demonstrate the working of continue statement in C programming
# include <stdio.h>
int main()
{
int i,num,product;
for(i=1,product=1;i<=4;++i)
{
printf("Enter num%d:",i);
scanf("%d",&num);
if(num==0)
continue; / *In this program, when num equals to zero, it skips the statement
product*=num and continue the loop. */
product*=num;
}
printf("product=%d",product);
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 116
Computer Programming Laboratory
2015-2016
Program to demonstrate the working of goto statement in C programming
#include <stdio.h>
int main ()
{
/* local variable definition */
int a = 10;
/* do loop execution */
LOOP:do
{
if( a == 15)
{
/* skip the iteration */
a = a + 1;
goto LOOP;
}
printf("value of a: %d\n", a);
a++;
}while( a < 20 );
return 0;
}
Output:
Dept. of ISE, CIT, Gubbi.
Page 117
Download