Incremental Programming

Slides:



Advertisements
Similar presentations
Write a program step by step. Step 1: Problem definition. Given the coordinate of two points in 2-D space, compute and print their straight distance.
Advertisements

CMSC 104, Version 9/011 Arithmetic Operators Topics Arithmetic Operators Operator Precedence Evaluating Arithmetic Expressions In-class Project Incremental.
PSEUDOCODE & FLOW CHART
1 Modularity In “C”. 2 General Syntax data_type function_Name (parameter list) { … return expression; // return output } Body of the function is a compound.
Computer Science 1620 Programming & Problem Solving.
Basic Input/Output and Variables Ethan Cerami New York
Goals of Course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices.
IPC144 Introduction to Programming Using C Week 1 – Lesson 2
CMSC 104, Version 9/011 Incremental Programming Topics Review of Incremental Programming Example of Incremental Programming Reading None.
Creating your first C++ program
1 計算機程式設計 Introduction to Computer Programming Lecture01: Introduction and Hello World 9/10/2012 Slides modified from Yin Lou, Cornell CS2022: Introduction.
Arithmetic Operators Topics Arithmetic Operators Operator Precedence
Lecture 4: Calculating by Iterating. The while Repetition Statement Repetition structure Programmer specifies an action to be repeated while some condition.
CMSC 1041 Examples Using Top-Down Design and Functions to Simplify Code and Create Modules.
CMSC 104, Version 8/061L10ArithmeticOps.ppt Arithmetic Operators Topics Arithmetic Operators Operator Precedence Evaluating Arithmetic Expressions In-class.
Computer Programming A simple example /* HelloWorld: A simple C program */ #include int main (void) { printf (“Hello world!\n”); return.
Sudeshna Sarkar, IIT Kharagpur 1 Programming and Data Structure Sudeshna Sarkar Lecture 3.
CMSC 104, Section 301, Fall Lecture 18, 11/11/02 Functions, Part 1 of 3 Topics Using Predefined Functions Programmer-Defined Functions Using Input.
L071 Introduction to C Topics Compilation Using the gcc Compiler The Anatomy of a C Program Reading Sections
CMSC 104, Version 8/061L16IncrementalProg.ppt Incremental Programming Topics Review of Incremental Programming Example of Incremental Programming Reading.
Repetition statements
Algorithm: procedure in terms of
Chapter 4 C Program Control Part I
2008/11/19: Lecture 18 CMSC 104, Section 0101 John Y. Park
- Standard C Statements
2008/09/22: Lecture 6 CMSC 104, Section 0101 John Y. Park
Lecture 7: Repeating a Known Number of Times
Introduction to C Language
Algorithms Problem: Write pseudocode for a program that keeps asking the user to input integers until the user enters zero, and then determines and outputs.
Introduction to C Topics Compilation Using the gcc Compiler
Lecture2.
Arrays in C.
Arithmetic Operators Topics Arithmetic Operators Operator Precedence
Arrays, Part 1 of 2 Topics Definition of a Data Structure
IPC144 Introduction to Programming Using C Week 2 – Lesson 1
The while Looping Structure
Arithmetic Operators in C
Arithmetic Operators Topics Arithmetic Operators Operator Precedence
2008/11/12: Lab 5/Lecture 17 CMSC 104, Section 0101 John Y. Park
Functions, Part 1 of 3 Topics Using Predefined Functions
Arithmetic Operators in C
1) C program development 2) Selection structure
The while Looping Structure
Creating your first C program
The ‘while’ loop ‘round and ‘round we go.
Arrays, Part 1 of 2 Topics Definition of a Data Structure
Example Using Functions
Arrays, Part 1 of 2 Topics Definition of a Data Structure
Arrays, Part 1 of 2 Topics Definition of a Data Structure
Lecture3.
Solutions to In-Class Problems
Arrays, Part 1 of 2 Topics Definition of a Data Structure
Examples Example Problems, their Algorithms, and their C Source Code.
Functions, Part 4 of 4 Topics: Coding Practice Reading: None
Conversion Check your class notes and given examples at class.
Functions, Part 1 of 3 Topics Using Predefined Functions
More Loops Topics Relational Operators Logical Operators for Loops.
Dale Roberts, Lecturer IUPUI
Variables in C Topics Naming Variables Declaring Variables
Functions, Part 3 of 3 Topics: Coding Practice Reading: None
CSCE 206 Lab Structured Programming in C
The while Looping Structure
Functions, Part 1 of 3 Topics Using Predefined Functions
2008/11/19: Lecture 18 CMSC 104, Section 0101 John Y. Park
Arrays, Part 1 of 2 Topics Definition of a Data Structure
Arrays, Part 1 of 2 Topics Definition of a Data Structure
Incremental Programming
The while Looping Structure
Arrays, Part 2 of 2 Topics Array Names Hold Address How Indexing Works
and Functions to Simplify Code
Presentation transcript:

Incremental Programming Topics Review of Incremental Programming Example of Incremental Programming Reading None.

Incremental Programming Review It is best not to take the “big bang” approach to coding. Write your code in incomplete but working pieces. For example, for your projects, Don’t write the whole program at once. Just write enough to display the user prompt on the screen. Get that part working first (compile and run). Next, write the part that gets the value from the user, and then just print it out.

Increment Programming Review (con’t) Get that working (compile and run). Next, change the code so that you use the value in a calculation and print out the answer. Continue this process until you have the final version. Get the final version working. Bottom line: Always have a working version of your program!

Example of Incremental Programming Problem: Write an interactive program that allows the user to calculate the interest accrued on a savings account. The interest is compounded annually. The user must supply the principal amount, the interest rate, and the number of years over which to compute the interest.

Rough Algorithm Print explanation of the program Get <principal> from user Get <interest rate> from user Get <number of years> from user <amount> = <principal> While (<number of years> > 0 ) amount = amount + (amount X <interest rate>) <number of years> = <number of year> + 1 End_while <interest accrued> = <amount> - <principal> Display report

Report Design Interest rate : 7.0000 % Period : 20 years Principal at start of period : 1000.00 Interest accrued : 2869.68 Total amount at end of period : 3869.68

Version #1 /* Filename: interest.c * Author: Sue Bogar * Date written: 11/14//99 * Description: This program computes the interest accrued in an account * that compounds interest annually. */ #include <stdio.h> int main ( ) { /* Print Instructions */ printf (“This program computes the interest accrued in an account that\n”); printf (“compounds interest annually. You will need to enter the amount\n”); printf (“of the principal, the interest rate and the number of years.\n\n”); return 0; }

Output #1 This program computes the interest accrued in an account that compounds interest annually. You will need to enter the amount of the principal, the interest rate and the number of years.

Version #2 /* Filename: interest.c * Author: Sue Bogar * Date written: 11/14//99 * Description: This program computes the interest accrued in an account * that compounds interest annually. */ #include <stdio.h> int main ( ) { float principal, rate ; int years ; /* Print Instructions */ printf (“This program computes the interest accrued in an account that\n”) ; printf (“compounds interest annually. You will need to enter the amount\n”) ; printf (“of the principal, the interest rate and the number of years.\n\n”) ; /* Get input from user */ printf (“Enter the principal amount : “) ; scanf (“%f”, &principal) ; printf (“Enter the interest rate as a decimal (for 7%% enter .07) : “) ; scanf (“%f”, &rate) ; printf (“Enter the number of years : “) ; scanf (“%d”, &years) ; printf (“\nprincipal = %f, rate = %f, years = %d\n”, principal, rate, years ) ; return 0 ; }

Output #2 This program computes the interest accrued in an account that compounds interest annually. You will need to enter the amount of the principal, the interest rate and the number of years. Enter the principal amount : 1000.00 Enter the interest rate as a decimal (for 7% enter .07) : .07 Enter the number of years : 20 principal = 1000.000000, rate = 0.070000, years = 20

Version #3 /* Filename: interest.c * Author: Sue Bogar * Date written: 11/14//99 * Description: This program computes the interest accrued in an account * that compounds interest annually. */ #include <stdio.h> int main ( ) { float principal, rate, amount, interest ; int years, i ; /* Print Instructions */ printf (“This program computes the interest accrued in an account that\n”); printf (“compounds interest annually. You will need to enter the amount\n”); printf (“of the principal, the interest rate and the number of years.\n\n”); /* Get input from user */ printf (“Enter the principal amount : “); scanf (“%f”, &principal); printf (“Enter the interest rate as a decimal (for 7%% enter .07) : “) ; scanf (“%f”, &rate); printf (“Enter the number of years : “); scanf (“%d”, &years);

Version #3 (con’t) /* Save the original principal amount by varying another variable, amount */ amount = principal; /* Calculate total amount in the account after the specified number of years */ for ( i = 0 ; i < 1 ; i++ ) { amount += amount * rate ; } /* Calculate accrued interest */ interest = amount - principal ; printf (“\nprincipal = %f, rate = %f, years = %d\n”, principal, rate, years ) ; printf (“amount = %f, interest = %f\n”); return 0 ;

Output #3 This program computes the interest accrued in an account that compounds interest annually. You will need to enter the amount of the principal, the interest rate and the number of years. Enter the principal amount : 1000.00 Enter the interest rate as a decimal (for 7% enter .07) : .07 Enter the number of years : 20 principal = 1000.000000, rate = 0.070000, years = 20 amount = 1070.000000, interest = 70.000000

Version #4 /* Filename: interest.c * Author: Sue Bogar * Date written: 11/14//99 * Description: This program computes the interest accrued in an account * that compounds interest annually. */ #include <stdio.h> int main ( ) { float principal, rate, amount, interest ; int years, i ; /* Print Instructions */ printf (“This program computes the interest accrued in an account that\n”); printf (“compounds interest annually. You will need to enter the amount\n”); printf (“of the principal, the interest rate and the number of years.\n\n”); /* Get input from user */ printf (“Enter the principal amount : “); scanf (“%f”, &principal); printf (“Enter the interest rate as a decimal (for 7%% enter .07) : “) ; scanf (“%f”, &rate); printf (“Enter the number of years : “); scanf (“%d”, &years);

Version #4 (con’t) /* Save the original principal amount by varying another variable, amount */ amount = principal; /* Calculate total amount in the account after the specified number of years */ for ( i = 0 ; i < 2 ; i++ ) { amount += amount * rate ; } /* Calculate accrued interest */ interest = amount - principal ; printf (“\nprincipal = %f, rate = %f, years = %d\n”, principal, rate, years ) ; printf (“amount = %f, interest = %f\n”); return 0 ;

Output #4 This program computes the interest accrued in an account that compounds interest annually. You will need to enter the amount of the principal, the interest rate and the number of years. Enter the principal amount : 1000.00 Enter the interest rate as a decimal (for 7% enter .07) : .07 Enter the number of years : 20 principal = 1000.000000, rate = 0.070000, years = 20 amount = 1144.900000, interest = 144.900000

Version #5 /* Filename: interest.c * Author: Sue Bogar * Date written: 11/14//99 * Description: This program computes the interest accrued in an account * that compounds interest annually. */ #include <stdio.h> int main ( ) { float principal, rate, amount, interest ; int years, i ; /* Print Instructions */ printf (“This program computes the interest accrued in an account that\n”); printf (“compounds interest annually. You will need to enter the amount\n”); printf (“of the principal, the interest rate and the number of years.\n\n”); /* Get input from user */ printf (“Enter the principal amount : “); scanf (“%f”, &principal); printf (“Enter the interest rate as a decimal (for 7%% enter .07) : “) ; scanf (“%f”, &rate); printf (“Enter the number of years : “); scanf (“%d”, &years);

Version #5 (con’t) /* Save the original principal amount by varying another variable, amount */ amount = principal; /* Calculate total amount in the account after the specified number of years */ for ( i = 0 ; i < years ; i++ ) { amount += amount * rate ; } /* Calculate accrued interest */ interest = amount - principal ; printf (“\nprincipal = %f, rate = %f, years = %d\n”, principal, rate, years ) ; printf (“amount = %f, interest = %f\n”); return 0 ;

Output #5 This program computes the interest accrued in an account that compounds interest annually. You will need to enter the amount of the principal, the interest rate and the number of years. Enter the principal amount : 1000.00 Enter the interest rate as a decimal (for 7% enter .07) : .07 Enter the number of years : 20 principal = 1000.000000, rate = 0.070000, years = 20 amount = 3869.680000, interest = 2869.680000

Final Version /* Filename: interest.c * Author: Sue Bogar * Date written: 11/14//99 * Description: This program computes the interest accrued in an account * that compounds interest annually. */ #include <stdio.h> int main ( ) { float principal, rate, amount, interest ; int years, i ; /* Print Instructions */ printf (“This program computes the interest accrued in an account that\n”); printf (“compounds interest annually. You will need to enter the amount\n”); printf (“of the principal, the interest rate and the number of years.\n\n”); /* Get input from user */ printf (“Enter the principal amount : “); scanf (“%f”, &principal); printf (“Enter the interest rate as a decimal (for 7%% enter .07) : “) ; scanf (“%f”, &rate); printf (“Enter the number of years : “); scanf (“%d”, &years);

Final Version (con’t) /* Save the original principal amount by varying another variable, amount */ amount = principal; /* Calculate total amount in the account after the specified number of years */ for ( i = 0 ; i < years ; i++ ) { amount += amount * rate ; } /* Calculate accrued interest */ interest = amount - principal ; /* Print report */ printf (“Interest rate : %.4f %%\n”, 100 * rate ) ; printf (“ Period : %d years\n\n”, years ) ; printf (“ Principal at start of period : %9.2f”, principal ); printf (“ Interest accrued : %9.2f”, interest ); printf (“Total amount at end of period : %9.2f”, amount); return 0 ;

Final Output This program computes the interest accrued in an account that compounds interest annually. You will need to enter the amount of the principal, the interest rate and the number of years. Enter the principal amount : 1000.00 Enter the interest rate as a decimal (for 7% enter .07) : .07 Enter the number of years : 20 Interest rate : 7.0000 % Period : 20 years Principal at start of period : 1000.00 Interest accrued : 2869.68 Total amount at end of period : 3869.68

No “Big Bang,” Please! We now have a working program that we are convinced is logically correct and that solves the problem. Would we have this much confidence in our program if we had used the “big bang” approach? I doubt it!