java programming
java programming
A program is a set of instructions that tells the computer what to do. Computer programming
(often shortened to programming or coding), is the process of writing, testing,
debugging/troubleshooting and maintaining act of instructions (source code) for solving a problem
with the computer. A source code is written in an acceptable computer programming language.
The code may be a modification of an existing source or something completely new.
The purpose of programming is to create a program that exhibits a certain described behavior
(customization). The process of writing source code requires expertise in many different subjects,
including knowledge of the application domain. Alternatively. Programming is the craft of
transforming requirements into something that a computer can execute. Problem solving on
computer is a task of expressing the solution to the problem in terms of simple concepts,
operations and computer code(program) to obtain the results.
To achieve this aim, you may proceed as follows.
1. First, understand the problem clearly:- Decide what you want to be calculated by the computer.
What will be the input data required? (if any). This is the problem formulation.
2. Write the steps of computation that are necessary to arrive at the solution. This is setting up the
algorithm.
3. Prepare a flowchart corresponding to the algorithm.
4. Develop the computer program. Test and run it on the computer.
There is an ongoing debate on the extent to which the writing of programs is an art, a craft or an
engineering discipline. Good programming is generally considered to be the measured application
art, craft and engineering, with the goal of producing an efficient and maintainable software
(program) solution. The discipline differs from many other technical professions in that
programmers generally do not need to be licensed or pass any standardized (or governmentally
regulated) certification tests in order to call themselves “programmers” or even “software
engineers”.
Features of a good computer program
1) Reliability
Any developed program for a particular application can be depended upon to do what it is
supposed to accomplish. How often the results of a program are correct. This depends on
prevention of resulting from data conversion and prevention of errors resulting from buffer
overflows, underflows and zero division.
2) Meeting Users Needs:
Any developed system has a purpose for which it is developed. A developed program is a
failure if it cannot meet the objectives for which it is proposed and designed, that is, if the
potential users cannot use it either because it is too complex or too difficult. The usability of an
application analysis involving the user.
3) Development on time within Budgets:
Estimates of time and cost for writing computer programs have frequently been under or over
estimated. The components of a structured disciplined approach to programming are:
i) Proper control and management of time and cost required.
ii) Increased programmer productivity
iii) More accurate estimates.
4) Error-Free Set of Instruction
Almost all large set of programs contain errors. If a program is designed and developed in a
disciplined structured approach, it minimizes the likelihood of errors and facilitates
detection/correction of such errors during program testing.
5) Error-Resistant Operations:
A good program should be designed in such a way that it can perform validation run on each
input data to determine whether or not they meet the criteria set for them. Eg Reasonableness
check, Existence check, Dependency check, etc.
6) Maintainable Code:
A good program design will always be easy to change or modify when the need arises.
Programs should be written with the maintenance activity in mind. The structure, coding and
documentation of the program should allow another programmer to understand the logic of the
program and to make a change in one part of a program without unknowingly introducing an
error in another part of the same program.
7) Portable Code:
A good program design will be transferable to a different computer having a language translator
for that language without substantial changes or modification
8) Readability:
The program codes will be easy for a programmer to read and understand the logic involved in
the programming.
9) Storage Saving:
A good program design is not to be verbous, that is, it will not be allowed to be unnecessary
long, thereby consuming much storage that will be required for processing data and storage of
information produced from processing.
10) Efficiency:
The amount of system resources a program consumes (processor time, memory space, slow
devices, network bandwidth and to some extent even user interaction), the less the better.
11) Robustness:
How well a program anticipates situations of data type conflict and other incompatibilities that
result in run time errors and program halts. The focus is mainly on user interaction and
handling of
12) Usability:
The clarity and intuitiveness of a programs output can make or break it’s success. This involves
a wide range of textual and graphical elements that makes a program easy and comfortable to
use.
System Development Cycle
Most IT projects work in cycles. First, the needs of the computer users must be analyzed. This task
is often performed by a professional Systems Analysts who will ask the users exactly what they
would likethe system to do, and then draw up plans on how this can be implemented on a real
computer based system.
The programmer will take the specifications from the Systems Analyst and then convert the broad
brushstrokes into actual computer programs. Ideally at this point there should be testing and input
from the users so that what is produced by the programmers is actually what they asked for.
Finally, there is the implementation process during which all users are introduced to the new
systems, which often involves an element of training. Once the users start using the new system,
they will often suggest new improvements and the whole process is started all over again.
These are methodologies for defining a systems development cycle and often you will see four key
stages, as listed below.
Feasibility Study
Design
Programming
Implementation
Concept of Algorithm
An algorithm is a set of instructions to obtain the solution of a given problem. Computer needs
precise and well-defined instructions for finding solution of problems. If there is any ambiguity, the
computer will not yield the right results. It is essential that all the stages of solution of a given
problem be specified in details, correctly and clearly moreover, the steps must also be organized
rightly so that a unique solution is obtained.
A typical programming task can be divided into two phases:
(a) Problem solving phase
In this stage an ordered sequence of steps that describe solution of the problem is produced.
Their sequence of steps can be called anti-Algorithm
(b) Implementation Phase
In this phase, the program is implemented in some programming languages.
Algorithm may be set up for any type of problems, mathematical/scientific or business. Normally
algorithms for mathematical and scientific problems involve mathematical formulars. Algorithms
for business problems are generally descriptive and have little use of formula.
Features of an Algorithm
1. It should be simple
2. It should be clear with no ambiguity
3. It should head to unique solution of the problem
4. It should involve a finite number of steps to arrive at a solution
5. It should have the capability to handle unexpected situation.
Methods of Representing Algorithm
Algorithms are statements of steps involved in solving a particular problem. The steps to the
solutions are broken into series of logical steps in English related form. Programs are written to
solve real life problems.
There can’t be a solution if there is no recognized problem and once a problem exist, one must take
certain step in order to get a desired solution. The following methods could be used to represent
an algorithm.
Methods of English like form
Methods of Flowchart
Methods of Pseudo code
Methods of Decision table
Methods of Data flow Diagram (DFD)
Pseudo code
A pseudo code is the English-like representation of the program logic. It does not make use of
standard symbols like the flowchart. It is a sequential step by step arrangements of the instructions
to be performed to accomplish a task. It is an informal and artificial language that helps
programmers develop algorithms.
Example 1
Write a pseudo code for findings the area of a room.
Solution:
• Begin process
• Input room length
• Input room width
• Multiply length by width to get area
• Print area
• End process
Solution for example 3 (below under pseudo code)
• Step 1: Input M1, M2, M3, M4
• Step 2: Grade ← (M1 + M2 + M3 + M4)/4
• Step 3: If (Grade < 50) then
• Print “FALL”
• Print “Pass”
• End it.
Example 2
Write a Pseudo code for finding the greatest of 3 numbers represented as A, B, and C.
Solution
• Begin process
• Input A,B,C
• If A>B then big = A
• Else big = B
• If big >C then bigst = big
Else bigst = C
Example 3
Write an Algorithm to determine a student’s final grade and indicate whether it is passing or failing.
The final grade is calculated as the average of four marks.
Solution
• Input a set of 4 marks
• Calculate their average by summing and dividing by 4.
• If average is below 50
Print “Fail”
else
Print “Pass”
English-like form
The English form of representing as algorithm entails breaking down the solution steps of the
problem into
single and sequential English words. The steps are represented in English to say what action should
be
taken in such a step.
Example 1
Develop an algorithm to obtain a book on computer from your school library located on the fourth
floor of
the building. You are to proceed to the library from your ground floor classroom.
1. Start from the classroom
2. Climb the stairs to the 4th floor and reach the library
3. Search a book on computer
4. Have the book issued
5. Return to your classroom
6. Stop.
Note: The above algorithm solution of example 1, has been written in simple and clear English way.
There is no
Example 2
Develop an algorithm to find the average of four numbers stored in variables A,B,C,D
Solution
1. Start
2. Read values in variables A,B,C,D
3. Calculate the average as (A+B+C+D)/4 and store the result in P.
4. Write the value stored in P
5. Stop.
Example 3
Develop and algorithm to find the average of four numbers stored in variables A, B, C, D. When the
value
of variable A is zero, no averaging is to be done.
Solution
1. Start
2. Read values stored in variable A,B,C.D
3. If the value of A is Zero, then jump to step 6
4. Calculate the average of A, B, C, D and store the result in variable P.
5. Write the value of P
6. Stop.
Flowchart
Flowchart is a representation of the algorithm using standard symbols. Each symbols has a new
function. The Algorithm steps determine which symbol to use to represent it in the flow each step
is linked to another step by using the directional arrows.
Example Write an algorithm and draw a flowchart to convert the length in feet to centimeter.
Solution
(Pseudocode)
• Input the length in feet (Lft)
• Calculate the length in an (LCM) by multiplying LFT with 30
• Print Length in Cm (LCM)
Flow Chart Symbols and Flow Chart For Mailing Letter
[Type the document title]
18
Step 1: Input Lft
Step 2: Lcm ← Lft * 30
Step 3: Print Lcm
Step 4: Stop
Decision table
A decision table is a form of truth table that structures the logic of a problem into simple YES and
No form. It is easily adapted to the needs of business data processing. It is a rectangle divided into
four sections called quadrants. It provides a structure for showing logical relationships between
conditions that exist and actions to be taken as a result of these conditions.
The quadrants of a decision table are called the condition steeb, the condition entry, the action
stub and the action entry respectively.
1. The number of condition is used to determine the number of entries by using the formula, where
n is the number of condition.
2. Halving method is used to form the entries in the condition entry e.g if the number of conditions
in a question is 3, then the no of entries will be 23 =8. Therefore in the condition entry box, the first
row will have 4 Ys and 4 Ns. The second row will have 2Ys and 2Ns by 2.Finally the 3rd row will have
1Y and 1N into 4
1 Condition stub:- This gives a list of all the conditions that are relevant to the system.
2 Condition entry: - Shows a YES or NO entry (abbreviated to Y for YES and N for NO) whether listed
condition is present or absent.
3 Action stubs: - This quadrant gives a list of all the actions that could be taken by the system,
based on the conditions.
4 Action entry: - This quadrant indicates whether a specific action will be taken or will not be
taken .
Action stub Action entry
The condition entries
i Y is an indication that the condition is present
ii N is an indication that the condition is not present
iii - or blank is an indication that the condition was not tested.
The action entries
i X is an indication that the listed action to be taken.
ii blank is an indication that the action is not to be taken.
Advantages of Decision Tables
1. They are simple, practicable and economical .All that is regarded to developed a decision table is
a piece of paper and a pencil
2. It makes the system designer to express the logic of the problem in direct and concise terms,
whichresults in the development of an effective and efficient program.
3. It is useful in program documentation i.e decision tables provide a quick and easily understood
over view of the system.
4. It is an excellent communication device to breach the gap between the computer personnel who
are responsible for developing the system and the non data processing personnel who use the out
put of the system.
5. Decision tables are easy to update.
6. It is easy to lean how to use decision table.
7. The complexity and the amount of detail that can be handed by a decision table is un-limited.
Disadvantages
1 Total sequence: The total sequence of an operation is not clearly shown in the decision table i.e
no overall picture is given as with flowcharts.
2 Logic: Where the logic of a system is simple flowcharts always serve the purpose better.
Data flow Diagrams
A data flow diagram shows the flow of the data among a set of components. The components may
be tasks, software components, or even abstractions of the functionality that will be included in the
software system. The actors are not included in the data flow diagrams. The sequence of actions
can often be inferred from the sequence of activity boxes.
Rules and Interpretations for correct data flow diagrams.
1) Boxes are processes and must be verb phrases
2) Arcs represent data and must be labeled with noun phrases.
3) Control is not shown. Some sequencing may be inferred from the ordering.
4) A process may be a one – time activity, or it may imply a continuous processing.
5) Two arcs coming out of a box may indicate that both output are produced or that one or the
other is produced.
The flowchart
A flowchart is a pictorial representation of an Algorithm or of the plan of solution of a problem. It
indicates the process of solution, the relevant operations and computations, point of decision and
other information that are part of the solution. Flowcharts are of particular importance for
documenting a program. Special geometrical symbols are used to construct flowcharts. Each
symbol represents an activity. The activity could be input/out of data, computation/processing of
data, taking a decision, terminating the solution, etc. The symbols are joined by arrows to obtain a
complete flowchart.
Example 1
Draw a flowchart to find the average of four numbers stored in variables A,B,C,D
Solution
Uses of flowcharts
1 It gives us an opportunity to see the entire system as a whole.
2 It makes us to examine all possible logical outcomes in any process.
3 It provides a tool for communicating i.e a flowchart helps to explain the system to others.
4 To provide insight into alternative solutions.
5 It allows us to see what will happen if we change the values of the variable in the system.
ADVANTAGES OF USING FLOWCHART
1. Communication flowcharts are visual aids for communicating the logic of a system to all
concerned.
2. Documentation: flowcharts are a means of documentation because:
3 The analyst/ programmers may leave the arrangement or they may forget the logic of the
program.
4 Changes to the procedure are more easily catered for (modification).
5 Flowchart can be understood by new staff coming to the company
6 Analysis: flowcharts help to clarify the logic of a system i.e the overall picture of the organization
can be seen.
7 Consistency: A flowchart is a consistent system of recording. It brightens @ the relationships
between different parts of a system.
DISADVANTAGES OF USING FLOWCHART
1. Complex logic :- Where the logic of a problem is complex, the flowchart quickly becomes
clustered and lacks clarity.
2. Alterations:- If alterations are required the flowchart may require redrawing completely.
3. Reproduction :- As the flowchart symbols cannot be typed, reproduction of flowchart is often a
problem.
Basic Coding Structures
All computer programs can be coded using only three logic structures (or programs) or
combinations of these structures:
1. Simple sequence
2. Selection
3. Repetition
The three structures are useful in a disciplined approach to programming because
1.The program is simplified. Only the three building blocks are used, and there is a single point of
entry into the structure and a single point of exit.
2. The three coding structures allow a program to be read from top to bottom making the logic of
the program more visible for checking and for maintenance.
Simple Sequence
The simple-Sequence structure consists of one action followed by another. In other words, the flow
of control is first to perform operation A and the to perform operation B.. A simple sequence is
flowcharted as two process symbols connected by a flowline.
Selection
The selection structure consists of a test for condition followed by two alternative paths for the
program to follow. The programs selects one of the program control paths depending on the test of
the condition. After performing one of two paths, the program control returns to a single point.
This pattern can be termed IF .. ELSE because the logic can be stated (for condition P and
operations C and D): IF P (is true), perform C; ELSE perform D . A flowchart for the selection
structure consists of a decision symbol followed by two paths, each with a process symbol, coming
together following the operation symbols.
(a) Single alternative – This structure has the form:
[IF condition, Then:]
[End of IF structure]