80 likes | 210 Views
CSCI 125 & 161 Lecture 8. Martin van Bommel. Crafting a Program. Use comments to tell readers what they need to know, including difficult code Use indentation to show bodies of loops Use meaningful names Use convention for names - lastNumber Use standard idioms when appropriate
E N D
CSCI 125 & 161 Lecture 8 Martin van Bommel
Crafting a Program • Use comments to tell readers what they need to know, including difficult code • Use indentation to show bodies of loops • Use meaningful names • Use convention for names - lastNumber • Use standard idioms when appropriate • Avoid unnecessary complexity
Designing for Change • #define construct - symbolic constants #define symbol value • symbol - name for symbolic constant • value - replaces symbol in precompilation • Why? Easier to modify program
Named Constants • A variable whose content cannot be changed while program is running const double PI = 3.14159; • Variable still has data type and memory location, but is read-only
Simple Statements • Expression followed by semicolon • Assignments total = n1 + n2; • Function calls cout << ”Hello.\n”; • Useless statements n1 + n2;
Embedded Assignments • Assignment expression can be used as part of a larger expression in a statement • Its value is the value assigned z = (x = 6) + y; • x is assigned value 6, then z assigned 6 + y • Difficult to read • Used rarely and only when makes sense
Multiple Assignments • Embedded assignments useful to set several variables to the same value n1 = n2 = n3 = 0; • Assignment operator evaluated right to left • Avoid mixed types; e.g. double d and int i d = i = 1.5; • Assigns i value 1, thus 1 assigned to d
Math Library <cmath> Functions for performing math operations abs(x)absolute value of argument sqrt(x)square root of argument pow(y, x)yx sin(x)sine (argument in radians) cos(x) cosine (argument in radians) tan(x) tangent (argument in radians) log(x) natural logarithm exp(x) ex