Introduction
|
Firstly we will discuss here Fundamental concept of Problem solving. Then This chapter gives the viewer/reader an overview of C language and tells about the structure of C program and various component of a C program. C language allows us to create custom data types.
|
Problems are the undesirable situations that prevent any software from fully achieving its objectives.
|
When we wish to transform the existing situation into a more desired one, problem occurs, and a need for solving the problem arises.
|
Defining a problem clearly in terms of goals and objectives helps largely in problem solving.
|
There are three related terms that need to be well understood to successfully solve the problem:
|
1. Mission: It is the broad statement of the purpose of the organization.
|
2. Goals: It is the general statement of what is to be accomplished.
|
3. Objectives: It is the statement of measurable results to be achieved in a specified time frame.
|
Problem solving strategies
|
The most popular method of problem solving is to divide and conquer. This means that the problem has to be divided into smaller problems, each of which must be solved to get the complete solution.
|
For instance, if it is required to find the second smallest element in an array, the problem could be divided into two parts viz.
|
Arranging the elements in the array in ascending or descending order and then getting the second smallest element form the sorted array.
|
This strategy is called divide and conquer.
|
If you want to find the sum of the digits in a number, it can be divided into 3 parts:
|
1. Finding modulus of 10 i.e. finding the remainder when the number is divided by 10.
|
2. Adding the remainder to a sum whose initial value is zero.
|
3. Dividing the number by 10 and then repeating the process from (1) again till the quotient is zero
|
Program design & implementation
|
There are two types of designing approach:
|
1. Top down design.
|
2. Bottom up design.
|
Both have been describe together with examples.
|
Any problem can be dealt with two ways, viz. top down or bottom up. A simple example is given here to illustrate the concept.
|
Sorting an array of numbers involves the following two steps:
|
1. Comparison
|
2. Exchange
|
1. Top down design:
|
At the top level, an algorithm has to be formulated to carry out sorting. Once the algorithm is confirmed, then the algorithms for comparison and exchange are formulated, before implementation of the entire algorithm.
|
Therefore, in this approach, one begins from the top level without bothering about the minute details for implementation, to start with.
|
2. Bottom up design:
|
The bottom up approach is just the reverse. The lower level tasks are first carried out and are then integrated to provide the solution.
|
In this method, lower level structures of the program are developed first and then progressivelyhigher level structures are created.
|
Here the algorithms for exchange and comparison will be formulated before formulating thealgorithm for the whole problem.
|
In any case, dividing the problem into small tasks and then solving each task provides the solution.
|
If the program development is assumed to be a single task and the program statements are developed in sequence, then it is quite likely that the program may not work.
|
Therefore, either the top down or bottom up methodology has to be adopted for dividing the problem into smaller modules and then solving it.
|
Difference between Top design and Bottom up approach:
|
In the top down methodology, the overall structure is defined before getting into details, but in thebottom up approach, the details are worked out first before defining the overall structure.
|
Implementation
|
A good program is one which contains a main function and the main function calls procedures or sub-programs or functions to carry out specific tasks.
|
The subprograms are dependent on the main program. They do what the main program asks them to do.
|
Each language gives different names to sub-programs. Sub programs are known as functions in C.
|
The quality of program will also get enhanced when the program is made modular as mentioned above with functions.
|
Each function will receive input and may return some output to the called program.
|
By dividing the problem into a number of functions, the problem can be divided and conquered.
|
This facilities focus on small programs and dealing with one problem at a time
|
Introduction to C |
Introduction
|
C is general-purpose, structured
programming language, developed by Denis Ritchie in 1972 atBell
lab USA.
|
Its instructions consist of terms
that resemble algebraic expressions, augmented by certain English keywords
such as if, else, for, do and while.
|
In this respect C resembles other
high-level structured programming languages such as Pascal andFORTRAN.
|
C also contains certain additional
features, however, that allow it to be used at a lower level, thus bridging
the gap between machine language and the more conventional high-level
languages.
|
This flexibility allows C to be used
for system programming as well as for applications programming.
|
C is characterized by the ability to
write very concise source programs, due in part to the large number of
operators included within the language.
|
It has a relatively small instruction
set, though actual implementations include extensive library functions which
enhance the basic instructions.
|
C compilers are
easily available for computers of all sizes, and C interpreters are
becoming increasingly common.
|
The compilers are
usually compact, and they generate object programs that are small and highly
efficient when compared with programs compiled from other high-level
languages.
|
The interpreters are
less efficient, though they are easier to use when developing a new program.
|
Many programmers begin with an interpreter,
and then switch to a compiler once the program has been
debugged (i.e., once all of the programming errors have been removed).
|
How to open C program code window
|
Before opening C on your computer.
Please ensure that C compiler has been loaded or not. If not
then please load it first and then try any of the following ways to open C
which suit your computer setting.
|
1.Start>>Program >> Turbo
c.
|
2. If turbo C icon
is present on your computer desktop then simply click
on it.
|
3. My computer >>c:\>> tc (folder)>> bin (folder)
>> tc.exe (icon).
|
4. Or make sure the path where you
have loaded the C on your computer and try to run it from there.
|
Description of C code window
|
1. =: Interface to
external programs.
|
2. File: File
related option such as opening and saving file.
|
3. Edit: Cut,Copy,Paste
operation.
|
4. Search: Find,Find
& Replace operation.
|
5. Run: Compile and
run the file currently loaded in the text editor. And debugging
such as setting/clearing trace points can be performed from this menu.
|
6. Compile: The menu
item compiles a source file to an object file or an .exe file.
|
7. Debug: Provides
interactive debugging. Variables can be examined/set/cleared, and we can
watch variables change during execution.
|
8. Project: This
menu item controls Borland C++'s handling of large programs
that are in multiple source file.
|
9. Option: Default
option are set during installation . The user can change any option at any
time through this menu.
|
10. Windows: Windows
operation include zoom, arranging windows on the screen , and closing
windows.
|
11. Help: Borland C++ includes
a context sensitive help capability. Select Help or press f1 for
general Help, Shift f1 for indexed help or Ctrl f1 for
context sensitive help.
|
Editing File
|
||||||||||||
To open a new file, first press Alt
F then Enter key, File pull down will activated,
select new and then press Enter key, the
display will be change into a blank screen of text editor having
file name NONAME00.C, on which you can start entering your code
through keyboard.
|
||||||||||||
To open existing file press Alt
F and then Enter, from the activated file pull down menu
selectOpen, A Open Dialoge Box will appear, select
desired file name path and press Enter.
|
||||||||||||
|
||||||||||||
2. The
data types: The power of the programming language depends, among other
thing, on the range of different types of data it can handle.
|
||||||||||||
3.
Constants: A constant is a fix value that doesn't change while program
execution.
|
||||||||||||
4.
Variable: A variable is an entity whose value can change during program
execution.
|
||||||||||||
5.
Keywords: Keywords are those word which have been assigned specific
meaning in C language. Keywords should not be used as variable names to avoid
problem.
|
||||||||||||
Note: Above
given all the term has been discussed in details in next section.
|
More Topics