0% found this document useful (0 votes)
77 views31 pages

Writing Your First Programs: Mr. Dave Clausen La Cañada High School

The document provides an overview of good programming practices for writing first programs, including planning thoroughly, handling frustration, and following six key steps: 1) analyzing the problem, 2) developing an algorithm, 3) documenting the program, 4) coding the program, 5) running the program, and 6) testing the results. It also covers top-down design, using pseudocode, basic C++ components, data types, output, and formatting.

Uploaded by

Mohsin Yousuf
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
77 views31 pages

Writing Your First Programs: Mr. Dave Clausen La Cañada High School

The document provides an overview of good programming practices for writing first programs, including planning thoroughly, handling frustration, and following six key steps: 1) analyzing the problem, 2) developing an algorithm, 3) documenting the program, 4) coding the program, 5) running the program, and 6) testing the results. It also covers top-down design, using pseudocode, basic C++ components, data types, output, and formatting.

Uploaded by

Mohsin Yousuf
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 31

Writing Your First Programs Chapter 2

Mr. Dave Clausen La Caada High School http://www.lcusd.net/lchs/dclausen/

Program Development Top Down Design


q

Planning is a critical issue


Dont type in code off the top of your head

Programming Takes Time


Plan on writing several revisions Debugging your program

Programming requires precision


One misplaced semi-colon will stop the program
12/31/11 Mr. Dave Clausen 2

Exercise in Frustration
q q q q q q

Plan well (using paper and pencil) Start early Be patient Handle Frustration Work Hard Dont let someone else do part of the program for you. Understand the Concepts Yourself!
12/31/11 Mr. Dave Clausen 3

Six Steps To Good Programming Habits #1


q

1. Analyze the Problem


Formulate a clear and precise statement of what is to be done. Know what data are available Know what may be assumed Know what output is desired & the form it should take Divide the problem into subproblems

12/31/11

Mr. Dave Clausen

Six Steps To Good Programming Habits #2


q

2. Develop an Algorithm
Algorithm:
a finite sequence of effective statements that when applied to the problem, will solve it.

Effective Statement:
a clear unambiguous instruction that can be carried out.

Algorithms should have:


a specific beginning and ending that is reached in a reasonable amount of time (Finite amount of time).

12/31/11

Mr. Dave Clausen

Six Steps To Good Programming Habits #3


q

3. Document the Program


Programming Style Comments Descriptive Variable Names Pre & Post Conditions Output

12/31/11

Mr. Dave Clausen

Six Steps To Good Programming Habits #4-5


q

4. Code the Program


After algorithms are correct Desk check your program

5. Run the Program


Syntax Errors (semi colon missing, etc.) Logic Errors (divide by zero, etc.)
12/31/11 Mr. Dave Clausen 7

Six Steps To Good Programming Habits


q

6. Test the Results


Does it produce the correct solution? Check results with paper and pencil. Does it work for all cases?
Border, Edge, Extreme Cases

Revise the program if not correct.

12/31/11

Mr. Dave Clausen

Steps in Coding
Edit the program Compile the program Run the program

Syntax errors

Run-time and logic errors


12/31/11 Mr. Dave Clausen 9

The Software Lifecycle


Analysis -----------Verify Design -----------Verify

Implementation ------------------Test Integration ------------Test

Maintenance
12/31/11 Mr. Dave Clausen 10

Top Down Design


q

Subdivide the problem into major tasks


Subdivide each major task into smaller tasks
Keep subdividing until each task is easily solved.

q q

Each subdivision is called stepwise refinement. Each task is called a module We can use a structure chart to show relationships between modules.
12/31/11 Mr. Dave Clausen 11

Top Down Design

S M S u b t a s k S u b

t r u

c t u T

r e

a r t

a in t a s k

a s k S u b t a s k

12/31/11

Mr. Dave Clausen

12

Top Down Design


q

Pseudocode
is written in English with C++ like sentence structure and indentations. Major Tasks are numbered with whole numbers Subtasks use decimal points for outline.

12/31/11

Mr. Dave Clausen

13

Structure Chart for The Checkbook Problem


Update checkbook Get Information Perform Computations Display Results

12/31/11

Mr. Dave Clausen

14

Second-Level Refinement
Update checkbook Get Information Get Starting Balance
12/31/11

Perform Computations Get Transaction Amount

Display Results

Get Transaction Type

Mr. Dave Clausen

15

Pseudocode

Checkbook.cpp
12/31/11 Mr. Dave Clausen 16

Writing Programs
q

C++ Vocabulary
reserved words
have a predefined meaning that cant be changed

library identifiers
words defined in standard C++ libraries

programmer supplied identifiers


defined by the programmer following a well defined set of rules

12/31/11

Mr. Dave Clausen

17

Writing Programs
q

Words are CaSe SeNsItIvE


For constants use ALL CAPS (UPPERCASE) For reserved words and identifiers use lowercase

Syntax
rules for construction of valid statements, including
order of words punctuation
12/31/11 Mr. Dave Clausen 18

Library Identifiers
q

Predefined words whose meanings could be changed. Examples:


iostream
cin cout

iomanip
setprecision setw

math
pow sin sqrt
12/31/11 Mr. Dave Clausen 19

Identifiers
q

Must start with a letter of the alphabet or underscore _ (we will not use underscores to start identifiers) length determined by compiler
Turbo C++ Win 4.5 32 characters Borland C++ unlimited Codewarrior 255 characters aim for 8 to 15 characters

common use is to name variables & constants


12/31/11 Mr. Dave Clausen 20

Basic Program Components


q q q q q q

Comments Preprocessor Directives Constant Declaration Section Type Declaration Section Function Declarations Main Program Heading: int main( )
Declaration Section Statement Section

12/31/11

Mr. Dave Clausen

21

A Sample Program reserved words


Reswords.doc Reswords.cpp

12/31/11

Mr. Dave Clausen

22

Writing Code in C++


q

Executable Statement
basic unit of grammar
library identifiers, programmer defined identifiers, reserved words, numbers and/or characters

A semicolon almost always terminates a statement


usually not needed AFTER a right curly brace }
Exception: declaring user defined types.

Programs should be readable noformat.cpp format.cpp


q
12/31/11 Mr. Dave Clausen 23

Simple Data Types


q

Type int
represent integers or whole numbers Some rules to follow:
Plus signs do not need to be written before the number Minus signs must be written when using negative #s Decimal points cannot be used Commas cannot be used Leading zeros should be avoided (octal or base 8 #s) limits.h int_max int_min
12/31/11 Mr. Dave Clausen 24

Simple Data Types


q

Type double
used to represent real numbers many programmers use type float, the AP Board likes the extra precision of double avoid leading zeros, trailing zeros are ignored limits.h, float.h
dbl_max, dbl_min, dbl_dig

12/31/11

Mr. Dave Clausen

25

Simple Data Types


q

Type char
used to represent character data
a single character which includes a space See Appendix 4 in our text

must be enclosed in single quotes eg. d Escape sequences treated as single char
\n \ \ \t newline apostrophe double quote tab
Mr. Dave Clausen 26

12/31/11

Simple Data Types


q

Strings
used to represent textual information string constants must be enclosed in double quotation marks eg. Hello world!
empty string new line char or string \n the word \hello\ (puts quotes around hello )

String variables use: #include apstring.h


use quotes for user supplied libraries must build a project for apstring (Chapter 3)
12/31/11 Mr. Dave Clausen 27

Output
q

#include <iostream.h>
cout pronounced see-out cout << \n; cout << endl; cout << Hello world!; cout << Hello world! << endl;

printadd.cpp
12/31/11 Mr. Dave Clausen 28

Formatting Integers
q

#include <iomanip.h>
manipulators)

(input/output

right justify output


cout << setiosflags (ios::right);

specify field width


cout << setw(10) << 100 (output: *******100, where * represents a space.)

specify decimal precision


cout<<setiosflags (ios::fixed | ios::showpoint | ios::right)<< setprecision (2);
12/31/11 Mr. Dave Clausen 29

Setprecision
q

Precision is set and will remain until the programmer specifies a new precision
The decimal uses one position Trailing zeros are printed the specified number of places Leading plus signs are omitted Leading minus signs are printed and use 1 position Digits are rounded, not truncated.

12/31/11

Mr. Dave Clausen

30

Test Programs
q

q q q q

Test programs are short programs written to provide an answer to a specific question. You can try something out Play with C+ + Ask what if questions Experiment: try and see

12/31/11

Mr. Dave Clausen

31

You might also like