By John Dirk
Programming Help for Beginners
Many novice programmers start a program with a “big bang” approach, meaning they want to write the whole program in one step and then only they would try to compile and run. However as humans we make many mistakes when programming, especially given that we have to use a programming language to do the job and most programming languages differ drastically from natural languages. Because it is very likely that we would make mistakes, we have to ensure that we leave room so that we could easily identify the mistakes we have made.
Incremental Programming Helps
The solution to this situation is to adopt an incremental approach in programming. The idea is to keep building your code using several small working pieces. The pieces of code would not do a complete job. Rather they will lay out the skeleton for the final complete program. Once you are convinced the correct skeleton is in place, you could go on and add muscle to the program.
Incremental Programming Process
In incremental programming, the program is incrementally built using several iterations. In each iteration of the program, it is compiled and run to ensure that whatever we have in a given increment is correct. It is very important to always have a working version of the program, no matter how much logic we have implemented so far. Here is a simple algorithm depicting the incremental programming process
Identify the main parts of the program
Write the initial stub to include all the parts
Compile and run to verify the correctness
Fix bugs if any
While whole program is not complete
Change the code to implement more logic
Compile and run to verify the correctness
Fix bugs if any
End while
Program complete
As you could notice in the above process, we always compile and run the program whenever we add some logic. The idea is to ensure that we write a clean program all the time. One would think that this is going to waste time as we compile and run the incomplete program many times. However this process going to save time rather than waste time in the long run. The rationale is that, when you write the whole program at once and try to compile, you would introduce many bugs at once to the program and it takes more time to debug. The incremental approach on the other hand cut down time to debug by eliminating bugs along the way.
An Example
Let’s look at a very simple example on how to apply incremental programming. The sample problem is to write a simple billing program for a coffee dispenser utility. The input to the program from the user would be the number of coffee cups. Given the number of coffee cups to dispense, the program is required to calculate the amount and display to the user.
The first step is to come up with the solution skeleton. The solution consists of main three steps.
1. get input
2. calculate amount
3. display result
The simplest skeleton one could write is:
#include
using namespace std;
int main()
{
cout
About the Author: john DIrk
http://www.programminghelp4u.com
Source: www.isnare.com