PART 2
PART 2
Application Software:
➢ An Application Software is a set of programmers necessary to carry out operations for a
specified application.
➢ These are the programmers written by programmers to enable computer perform
specific task.
➢ Application software can be further sub-divided in to 3 categories.
o Packages
o Utilities
o Business Software
Packages:
➢ Packages are general purpose application software. This software’s has been written to
do almost every task that is commonly used in various organizations. Some major
packages are Word Processing System, Spread sheets, graphics, multimedia. . . . .
Utilities:
➢ These are application programs that help the computer by performing housekeeping
functions like backup, scanning virus, disk de-fragmentation, etc.
➢ These are helpful programs that ensure the smooth functioning of the computer.
Business Software:
➢ This type of software is developed based on requirements of a particular business.
➢ Examples are Inventory Management System, Railway Reservation System, and Hospital
Management System. . . . .
Programming Language:
➢ A computer follows the instructions given by the programmer to perform a specific job.
To perform a task programmer prepares a sequence of instructions known as program.
➢ A program written for a computer is known as software.
➢ The program is stored in RAM. The cpu takes one instruction at a time from RAM &
executes it. The instructions are executed by one by one in sequence and finally produce
the desired result.
➢ The journey of computer software programming starts with Machine Language,
Assembly Language, and High-Level Language.
Compiler or Interpreter
➢ The code in a source file stored on the disk must be translated into machine language.
This is the job of the translator.
➢ Compiler and interpreters are translators. Compiler compiles the entire program at
once where as the interpreter interprets the program line by line.
➢ The translator reads the program and writes the resulting object module to a file that
can then be combined with other precompiled units to form the final program.
Linker
➢ A program is made up of many functions. We write some of these functions, and they are
a part of our source program.
➢ However, there are other functions, such as input/output processes and mathematical
library functions that exist elsewhere and must be attached to our program.
➢ The linker assembles all of these functions into final executable program.
Loader
➢ Once our program has been linked, it is ready for execution.
➢ To execute a program, we use an operating system command, such as run, to load the
program into primary memory and execute it.
➢ Getting the program into memory is the function of an operating system program knows
as the loader.
➢ It locates the executable program and reads it into memory. When everything is loaded,
the program takes control and it begins execution.
➢ In today’s integrated development environment, these steps are combined under one
mouse click or pull-down window.
Debugger
➢ A debugger or debugging tool is a computer program that is used to test and debug
other programs.
➢ Debuggers also offer more sophisticated functions such as running a program step by
step (single-stepping or program animation), stopping (breaking) (pausing the program
to examine the current state) at some event or specified instruction by means of a
breakpoint, and tracking the values of variables.
➢ Some debuggers have the ability to modify program state while it is running.
➢ It may also be possible to continue execution at a different location in the program to
bypass a crash or logical error.
Disadvantages:
➢ The writing of a program in machine language is very difficult and complicated.
➢ It was accomplished by experts only.
➢ All the instructions and data are to be entered in to the computer in numeric form only
{Binary form}.
➢ It requires the knowledge of complete computer circuitry.
➢ Debugging is a tedious job. { time taking job}
➢ Because of these reasons the machine language never became popular among the users.
Disadvantages:
➢ Before writing a program in assembly language, the Assembler must be loaded in to the
computer memory which occupies a sizable memory of computer. It can’t be used with
small capacity computers.
➢ The execution of assembly language program takes more time compared to equivalent
machine language program.
➢ There is no standardization of Assembly language. Each manufacturer develops is own
Assembly program. Therefore, the program written in Assembly language for one
computer can’t be used for another computer.
Assembler:
➢ The code written by the user in order to perform a task is called source code.
➢ The source code can’t be understood by computer. Computer can understand only
machine language code i.e., 0’s & 1’s. The code understood by the computer is called
object code.
➢ The software which converts source code to object code is called “Translator”.
➢ In order to convert an Assembly level language code in to object code we use a
translator called “Assembler”.
➢ Assembler: It is a Translator which converts Assembly level language code to Machine
language code.
III Generation Programming Languages (High Level Language):
➢ Even though the Assembly Language proved to be a great help to the programmer, still
a search was continued for better languages which is like an English language.
➢ The languages developed which were nearer to the English language for writing the
programs in 1960 were known as “High level languages”.
➢ The development of high level languages was very rapid because of the common man
can use it without much trouble.
Advantages:
➢ They are easy to learn and use.
➢ It doesn’t require any background of computer. Hardware as such they can be learned by
an ordinary man.
➢ They can easily be documented.
➢ These languages are portable because we can run these programs on any computer can’t
run on another computer. This is the most advantage of High level language.
➢ The modifications in the program can be easily made.
➢ The programs written by using these languages are independent of structure of the
program.
Disadvantages:
➢ One has to learn the special rules for writing programs in a particular High level
language.
➢ The operation speed is slow when compared to the operation time in machine language.
➢ A High level language program occupies a large memory.
➢ Extensive Hardware support is required.
Advantages:
➢ Smaller code
➢ Reduced development time and maintenance cost
➢ Easy to programmers
➢ Doesn’t require a high knowledge on program
ALGORITHM
Algorithm is a very popular technique used to obtain solution for a given problem.
Definition: - An algorithm is defined as a finite set of steps that provide a chain of actions
for solving a problem.
Procedure for writing an algorithm:-
An Algorithm is a well organized and textual computational module that
receives one or more input values and provides one or more output values.
• These well defined steps are arranged in a sequence that processes given input into
output.
• The steps of the algorithm are written using English like statements which are easy to
understand.
• This will enable the reader to translate each step into a program.
• Every step is known as instruction.
• An algorithm is set to be accurate only when it provides the exact required output.
• If the procedure is lengthy then sub divided the procedure into small parts as it make
easy to solve the problem.
Analyzing an Algorithm:-
When one writes an algorithm, it is essential to know how to analyses the algorithm.
• Analyzing the algorithm refers to calculating the resources such as computer memory,
processing time, logic gates and so on …..
• Time is most important resource because the program developed should be faster in
processing.
• The analysis can also be made by reading the algorithm for logical accuracy, tracing
the algorithm and checking with the data.
• An efficient algorithm must be developed utilizing minimum system resources such as
cpu time and memory.
• Timing analysis depends up on the input required.
Categories of Algorithm
The steps in an algorithm can be divided into three categories, namely
➢ Sequence
➢ Selection and
➢ Iteration
Sequence
➢ The steps described in an algorithm are performed successively one by one without
skipping any step.
➢ The sequence of steps defined in an algorithm should be simple and easy to understand.
➢ Each instruction of such an algorithm is executed, because no selection procedure or
conditional branching exists in a sequence algorithm.
Example:
// adding two timings
Step 1: start
Step 2: read h1, m1, h2, m2
Step 3: m=m1+m2
Step 4: h= h1 + h2 + m/60
Step 5: m=m mod 60
Step 6: write him
Step 7: stop
Selection
➢ We understand that the algorithms written in sequence fashion are not reliable. There
must be a procedure to handle operation failure occurring during execution.
➢ The selection of statements can be shown as follows
if(condition)
Statement-1;
else
Statement-2;
➢ The above syntax specifies that if the condition is true , statement-1 will be executed
otherwise statement-2 will be executed.
Iteration
➢ In a program, sometimes it is very necessary to perform the same action for a number of
times.
➢ If the same statement is written repetitively, it will increase the program code.
➢ To avoid this problem, iteration mechanism is applied.
➢ The statement written in an iteration block is executed for a given number of times based
on certain condition.
Example:
Step 1 : start
Step 2 : read n
Step 3 : repeat step 4 until n>0
Step 4 : (a) r=n mod 10
(b) s=s+r
(c) n=n/10
Step 5 : write s
Step 6 : stop
FLOWCHART
Introduction:-
A flowchart is an alternative technique for solving a problem. Instead of
descriptive steps, we use pictorial representation for every step.
Definition:-
Flowchart is a diagrammatic or graphical or pictorial representation of various steps
involved I the solution of the problem.
• A complete flowchart enables us to organize the problem into a plan of actions i.e. it
specifies what comes first, second, third . . . .
• Flowchart also represents the flow of data.
• The designer draws the flowchart for designing the product.
• It is a working map of the final product.
• It is an easy way to solve the complex problems because it makes the reader to flow
the process quickly from the flowchart incited of going through text.
• A flowchart is a set of symbols that indicates various operations in a program.
• For every process there is a corresponding symbol in the flowchart.
• Once the algorithm is written, its pictorial representation can be done using flowchart
symbol.
• Some of the commonly used flowchart symbols are listed below.
Start/Stop
Card
Decision
Summing Junction
Connector
OR
Process
Collate
Input/output
Sort
Loop Extract
Sequential Access
Process delay
Storage
Direct Access
Manual Input
Storage