Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve.

Similar presentations


Presentation on theme: "CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve."— Presentation transcript:

1 CSC 107 – Programming For Science

2 Announcements  Textbook available from library’s closed reserve

3 Your First C++ Program #include using std::cout; int main() { /* Hi, Mom. This is a comment that goes over 2 line. */ cout << “Hello world!”; return 0; // This comment goes to the line’s end }

4 Pre-processor Directives  Code “pre-processed” before compilation  No need to request it --- automatically occurs  Easier-to-read code results from this process  Just like using comments -- notice a recurring theme?  Pre-processor directives start with #  One directive per line & nothing else on the line  Directives should not span multiple lines

5 Symbolic Constants  Directive can be used to name a constant  Any/all lines BELOW directive can use this constant  Pre-processor replaces name with value  Compiler sees value as if that were written there  When reading the code, programmer sees name  Makes code much easier to read, write, debug  Names traditionally in all CAPITAL letters  THIS IS NOT REQUIRED  THIS IS NOT REQUIRED, but “good style”

6 What You Write And Work With #define PI 3.1415962 #define AVOGADRO 6.022E23 #define MY_NAME “Matthew Hertz” #define DUMB_EXAMPLE MY_NAME double area = PI * (r * r); cout << MY_NAME; cout << DUMB_EXAMPLE;

7 What The Compiler Sees #define PI 3.1415962 #define AVOGADRO 6.022E23 #define MY_NAME “Matthew Hertz” #define DUMB_EXAMPLE MY_NAME double area = PI * (r * r); cout << MY_NAME; cout << DUMB_EXAMPLE;

8 What The Compiler Sees #define AVOGADRO 6.022E23 #define MY_NAME “Matthew Hertz” #define DUMB_EXAMPLE MY_NAME double area = 3.1415962 * (r * r); cout << MY_NAME; cout << DUMB_EXAMPLE;

9 What The Compiler Sees #define AVOGADRO 6.022E23 #define MY_NAME “Matthew Hertz” #define DUMB_EXAMPLE MY_NAME double area = 3.1415962 * (r * r); cout << MY_NAME; cout << DUMB_EXAMPLE;

10 What The Compiler Sees #define MY_NAME “Matthew Hertz” #define DUMB_EXAMPLE MY_NAME double area = 3.1415962 * (r * r); cout << MY_NAME; cout << DUMB_EXAMPLE;

11 What The Compiler Sees #define DUMB_EXAMPLE “Matthew Hertz” double area = 3.1415962 * (r * r); cout << “Matthew Hertz”; cout << DUMB_EXAMPLE;

12 What The Compiler Sees double area = 3.1415962 * (r * r); cout << “Matthew Hertz”; cout << “Matthew Hertz”;

13 What The Compiler Sees double area = 3.1415962 * (r * r); cout << “Matthew Hertz”; cout << “Matthew Hertz”;

14 Variables  Variable  Variable gives name to address where data stored  When variable created, its initial value is unknown  Assignments update memory location with new value  Locations in memory updated by assignment ONLY  When variable is used in program…  …uses current value at that memory location  Just about everything (interesting) uses variables

15 Variable Declarations  Variables must be declared before can be used  Way of getting computer to make space for variable  States how to interpret memory in future uses  Allows the compiler to check if uses are legal  Declarations must include two pieces:  Each variable must have legal, unique name  Type of data that the variable stores

16 Variable Names  Begin with letter or underscore ( _ )  Then use any letters, numbers, or underscore  C++ case-sensitive when naming variables  Will treat as different Mass, mass, & masS  Unique name * needed for each variable  Computer wouldn't know which of 1,000 bob s to use  Reserved words are… reserved and can't be used  Includes all types listed on p. 83 of book  void, unsigned, class also reserved words

17 Variable Name Conventions  Usually names begin with lowercase letter  Helps clarify variables & symbolic constants  Best if name specifies datum variable stores  Split multiple uses into multiple variables  Some things always make for bad names  tmp, b, l (lowercase letter L)  Anything would not say to grandparent, priest, boss…

18 Variable Name Conventions

19 Data Types  Each variable also has data type  How program treats variable’s value defined by this  Single true or false value held by bool  C/C++ defines 7 numeric data types  Integer types: short, int, long, long long  Decimal types: float, double, long double not really standardized  Ranges for each type is not really standardized  Non-negative versions using unsigned ______  char data type can hold a character

20 Representing Text  Most computers you find follow ASCII standard ASCII  American Standard Code for Information Interchange  256 (= 2 8 ) possible characters in extended definition  Since computers are stupid, need to set fixed size  Computers use 0 s & 1 s ONLY – its all they know  Number still stored, but character is displayed  For number 97, a is printed  Prints & for number 38  For number 55, 7 is printed

21 ASCII Table

22 There Is No Character  For computer, there are no characters  Add to actual number just like normal addition: ’M’ + 3 = 77 + 3 = 80 (’P’) ’0’ + 5 = 48 + 5 = 53 (’5’) 9 + ’1’ = 49 + 9 = 58 (’:’) ’1’+’0’ = 49 + 48= 97 (’a’)  Can also use to subtract, divide, any other operation

23 Writing Variable Declarations ;  Single variable declared as: type name; double goodNameExample; short bad;  Can also declare multiple variables at once: int i, j; long double k, l, m, n, o, p; float thisIsAReallyLongName, thisIsAnotherLongName;

24 Writing Variable Declarations  Could also specify initial value for variable  Variable, constant, literal, or expression can be used int i = 0.0; long j = -1; long double k = -0.000232847812; long l = j, many, minusJ = -j; char c = 'i'; char newLine = '\n'; char tab = '\t';

25 Writing Variable Declarations  Could also specify initial value for variable  Variable, constant, literal, or expression can be used int i = 0.0; long j = -1; long double k = -0.000232847812; long l = j, many, minusJ = -j; char c = 'i'; char newLine = '\n'; char tab = '\t';

26 Constants  Constants very similar to variables  Must be declared with a data type and unique name  const data_type var_name declares variable  Value of constant fixed when declared, however  Variables & constants treated and used similarly

27 Your Turn  Get in groups & work on following activity

28 For Next Lecture  Read sections 6.1 – 6.7 for Wed.  What operations exist for us to use with variables?  What can we use these variable to do anything?  How are data types used when computing something?  What do we mean by order of operations?  Week #1 weekly assignment due Tuesday  Problems available on Angel & should be doable  If problem takes more than 10 minutes, TALK TO ME!


Download ppt "CSC 107 – Programming For Science. Announcements  Textbook available from library’s closed reserve."

Similar presentations


Ads by Google