Download presentation
Presentation is loading. Please wait.
Published byBraiden Sibbett Modified over 9 years ago
1
CSC 107 – Programming For Science
2
Final Exam Fri., Dec. 14 th from 12:30PM – 2:30PM in SH1028 For exam, plan on using full 2 hours If major problem, come talk to me ASAP Exam covers material from entire semester Open-book & open-note so bring what you’ve got My handouts, solutions, & computers are not allowed Cannot collaborate with a neighbor on the exam Problems will be in a similar style to midterms
3
Positional Notation To convert d n... d 3 d 2 d 1 d 0 into decimal: From base-b d 0 * b 0 d 1 * b 1 d 2 * b 2 d 3 * b 3 … + d n * b n
4
Converting Decimal To Base-b General way to convert from decimal to base-b: While decimal number ≠ 0 Divide decimal number by b Move remainder to left end of answer Replace decimal number with quotient
5
Programming Using cin Used to read one or more values at once: cin >> variable ; cin >> variable1 >> variable2 ; Reads where last cin stopped reading input Automatically skips past whitespace Data type of variable determines what is read Stops reading at first non-usable value in input If input is not usable, will set variable equal to 0
6
Using cout to Print Already seen how to print text using cout cout << “Hello World” << endl; Prints out whatever is placed between quotes endl goes to next line and prints out immediately Can format output in variety of ways Print numbers to preset level of precision Use fixed format versus which ever makes sense
7
Priority of Operations Equations can become very complex 4 + 5 * 6 * 9 - 2 + 1 = …? Very Very strict order of operations used by computer ( ) Solve from inner- to outermost + (positive) & - (negative) Solve from right to left * & % & / (division) Solve from left to right + (addition) & - (subtraction) Solve from left to right use lots of parentheses My suggestion: use lots of parentheses
8
Compound Assignment Operators Short simple operators that allow us to be lazy Save some typing for several common actions Lowest priority operation; expression evaluated first OperatorEquivalent C++ Expression a += 2;a = a + 2;a = a + 2; b -= d;b = b – d;b = b – d; c *= 4 + 5.6;c = c * (4 + 5.6); d /= 0.3 * e;d = d / (0.3 * e);
9
Mathematical Functions Add #include at top of file All these functions return a value Will NOT change argument’s value sin( x ), cos( x ), tan( x ), asin( x ), atan( x ), log10( x ), sqrt( x ), log( x ), exp( x ), pow( x, y ), floor( x ), ceil( x )
10
Relational Operators < ( less than) > ( greater than) <= ( less than of equal to) >= ( greater than of equal to) != ( inequality ≠) == ( equality – if two things have same value) assignment (=) NOT the same as assignment (=)
11
NOT Gate Simplest gate: computes opposite of input Output false when input true Output true when input false !a Written in C++ as !a ("bang a") a is gate’s input a !a!a!a!a true false a
12
OR Gate Equivalent to addition in Boolean algebra If either input is true is going to be checked true when either a OR b are true; false otherwise a || b Written in C++ as a || b a & b are inputs ab a || b false true false true a b
13
AND Gate Equivalent to multiplication in Boolean algebra If both inputs are true is going to be checked True when a AND b are true; false otherwise a && b Written in C++ as a && b a & b are inputs ab a && b false true false true a b
14
if (…) statement First evaluates expression in parenthesis Add opening brace ( { ) after closing parenthesis Can now write all statements to execute Add closing brace ( } ) to show where if ends If expression false, execution restarts at that point If expression is true, executes code in block Skips over block, when expression is false
15
if – else if – else Usage Must begin with if statement at the start This is required; what would we be saying else to? Only Only required part of this entire process Can then have zero or more else if s Tests can be anything; do not have to be related Until one is true, will be examined one-by-one Execute 1 st clause where true expression is found Only at the very end can have else clause If nothing else matches then else is executed
16
Executing switch Statement 1. Evaluates expression 2. Finds matching case or default (if it exists) If no default, may not have match - skips switch 3. Execution starts at 1 st matching label Execution will continue until break; found Will continue into next case if break; is not hit 4. Restarts running after switch once break hit May reach end of switch without a break Continues running code after switch
17
while Loop while (expression) { statement;... } Evaluates expression to find its value If true, executes entire loop body Re-check after each pass through loop, only Continue with loop while expression checks true
18
for Loop
19
Function Definition
20
return Statement
21
Declaring Arrays
22
String Theory!
23
Program Basics For Files All built-in file I/O code means adding to header #include #include Place with other #include s to use files in program Even if no files are used, no cost to adding this line Must specify namespace of file I/O code, also If you really want, this can be done individual but… using namespace std; much easier and probably habit by now anyway
24
Opening a File Within program, may use file in 2 possible ways To read file, ifstream variables will be needed Need variable of type ofstream to write to file Open ofstream 2 different ways depending on use ofstream nukeIt("byebye.txt"); ofstream begone; begone.open("erasedOld.dat"); ofstream keepIt("saved", ios::app); ofstream faithAlone; faithAlone.open("preserve", ios::app); 3
25
Read File W/ ifstream Variable Used to read one or more values at once: ifstream myFile; myFile >> variable ; myFile >> variable1 >> variable2 ; Starts where last read stopped reading input Automatically skips past whitespace Data type of variable determines what is read Stops at first non-usable value found in the input If input is not usable, will set variable equal to 0
26
Print to File With ostream Easy to output: output via ostream variable ofstream outFile; outFile << “Hello World” << endl; Prints out whatever is placed between quotes Value of variable printed if variable not in quotes
27
Declaring an Pointer
28
& and * Operators variable & operator gets the address of a variable Used only with variables Used only with variables, including array elements Types must match, no automatic promotion possible Pointers to pointers okay, but needs to be type ** Follow the pointer to get value at location with * Only used with pointers, as * could also be multiply double x, *y = &x; int *a, *b = &a; float *c = a, d = *a;
29
Pointers versus Arrays Both types of variables store an address Can be assigned to one another if types match To access value, can either use * or [ index ] *p same as p[0] - they are "synonyms" in C++ Arithmetic works similarly - *(p+5) same as p[5] Do not get carried away exploiting this idea Unlike arrays, memory not reserved for pointer Arrays not used to alias other variables (usually)
30
Using struct s variables Can assign struct variables to one another Variables must be of identical struct types Copies value of all fields but still remain independent Locations will be same, since pointers & arrays aliased In all other situation, must use fields Cannot add, multiply, compare struct variables For any legal use, individual fields always available Arrays of struct s can also be declared Within the array, each entry is struct variable
31
“Subtle” Hint
32
For Final You can use on this final: Your textbook & notes At the same time, you may NOT use: Computer, calculator, cell phone, or similar Copies of daily activities and/or solutions Friends, Romans, countrymen or their ears
33
How to Prepare for Midterm DODON'T Redo activities, labs, weekly… Make cheat sheets for the test Review how parts of C/C++work Assume notes replace studying Ever, ever invade Russia in winter Assume you'll pass cause you're cute
34
How to Prepare for Midterm DODON'T Redo activities, labs, weekly… Make cheat sheets for the test Review how parts of C/C++work Assume notes replace studying Ever, ever invade Russia in winter Assume you'll pass cause you're cute
35
How to Prepare for Midterm DODON'T Redo activities, labs, weekly… Make cheat sheets for the test Review how parts of C/C++work Add post-its to important pages Assume notes replace studying Ever, ever invade Russia in winter Drink case of 40s before test Use post-its as clothing
36
Final Exam Schedule Lab Mastery Exam is: Tues., Dec. 11 th 2:45PM – 3:45PM in SH1008 Final Exam is: Fri., Dec. 14 th from 12:30PM – 2:30PM in SH1028
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.