introduction to c++ computer science. quote... “language is the only instrument of science….”...

79
Introduction to C++ Computer Science

Upload: brandon-cox

Post on 26-Dec-2015

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Introduction to C++

Computer Science

Page 2: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Quote...

“Language is the only instrument of science….”

Samuel Johnson

Page 3: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Q: What is C++ C++ is a compiled, object-oriented

language It is the “successor” to C, a procedural

language (the “++” is called the successor operator in C++)

C was derived from a language called B which was in turn derived from BCPL

C was developed in the 1970’s by Dennis Ritchie of AT&T Bell Labs

C++ was developed in the early 1980’s by Bjarne Stroustrup of AT&T Bell Labs.

Most of C is a subset of C++

Page 4: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

People & Programs User: an individual who runs, or

executes, a program Programmer: an individual who

creates, or writes, a program

Page 5: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

C++ Program

Consists of… Declarations

Define the use of various identifiers, thus creating the elements used by the program (computer)

Statements Or executable statements,

representing actions the computer will take on the user’s behalf

Page 6: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Identifiers Names for various entities used in a

program; used for... Variables: values that can change

frequently Constants: values that never changes Functions: programming units that

represents complex operations Parameters: values that change

infrequently

Page 7: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Simple C++ Program#include <iostream.h>

int main()

{

// Declarations

// Statements

return 0;

}

Compiler directive: Tells the compiler what to do before compiling

This one includes source code from another file

Page 8: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Simple C++ Program#include <iostream.h>

int main()

{

// Declarations

// Statements

return 0;

}

Main function

Page 9: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Simple C++ Program#include <iostream.h>

int main()

{

// Declarations

// Statements

return 0;

}

Header for main function

States… data type

for the return value

identifier for function

list of arguments between parenthesis(none for this function)

Page 10: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Simple C++ Program#include <iostream.h>

int main()

{

// Declarations

// Statements

return 0;

}

Braces enclose the body of the function

They represent the start and end of the function

Page 11: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Simple C++ Program#include <iostream.h>

int main()

{

// Declarations

// Statements

return 0;

}

Declarations and statements

Main body of function (or main part)

“//” represents the start of a comment

Page 12: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Simple C++ Program#include <iostream.h>

int main()

{

// Declarations

// Statements

return 0;

}

Return statement

specifies the value the function returns

All (almost) declarations and statements end with a semi-colon “;”

Page 13: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Simple C++ Program#include <iostream.h>

int main()

{

// Declarations

// Statements

return 0;

}

This program doesn’t do anything!

Page 14: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Sample C++ Program#include <iostream.h>

void main()

{

int number;

cout << “Enter a number” << endl;

cin >> number;

cout << “You entered: “ << number << endl;

}

Variable declaration

The identifier number is declared as being of data type int, or integer

Page 15: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Sample C++ Program#include <iostream.h>

void main()

{

int number;

cout << “Enter a number” << endl;

cin >> number;

cout << “You entered: “ << number << endl;

}

coutthe output statement for C++

Note the direction of “<<“

endl represents an end-of-line

Page 16: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Sample C++ Program#include <iostream.h>

void main()

{

int number;

cout << “Enter a number” << endl;

cin >> number;

cout << “You entered: “ << number << endl;

}

cinthe input statement for C++

Note the direction of “>>”

Page 17: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Sample C++ Program#include <iostream.h>

void main()

{

int number;

cout << “Enter a number” << endl;

cin >> number;

cout << “You entered: “ << number << endl;

}

Did you copy this down?

You had better, since this will be the first program you’ll try!

Page 18: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Sample C++ Program#include <iostream.h>

void main()

{

int number;

cout << “Enter a number” << endl;

cin >> number;

cout << “You entered: “ << number << endl;

}

That means right now!

Page 19: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Assignment Assignment is an operation that

assigns the value of an expression to a variable

Ex.Total = 2 + 3 + 5

First, the expresssion “2 + 3 + 5” is evaluated

Then, this value is assigned to the variable “Total”

Page 20: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Assignment When a variable is declared, space is

allocated in the computer’s memory for the variable

Each data type requires a different number of bytes in memory for storing a variable

int - 2float - 4double - 8char, bool - 1

Page 21: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Assignment When a variable

is assigned a value, the value is placed into the variable’s memory location

10

Total

Total = 2 + 3 + 5;

Page 22: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Arithmetic Operations Addition: 2 + 3 Subtraction: 5 - 2 Multiplication: 10 * 4 Division: 12 / 3

Page 23: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Order of Operations Arithmetic expressions are

evaluated according to the following order of operations

At each level, operations are evaluated left to right

(1) Parenthesis, Functions(2) Multiplication, Division(3) Addition, Subtraction

Page 24: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Parenthesis Parenthesis are used to alter the

order with which operations are evaluated

Ex.4 + 5 * 2 equals 14(4 + 5) * 2 equals 18

Page 25: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Here we go! Problem: To determine the average of

three numbers Task: Request, from the user, three

numbers, compute the average and the three numbers, and print out the original values and the computed average

Do it! You have 20 minutes!

Page 26: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

FunctionsComputer Science I

Page 27: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Q: What is a function? A programming unit Similar to mathematical functions Example:

f(x) = x2 + 5x + 7 For x = 2, f(2) = (2)2 =5(2) + 7 = 21

Page 28: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Q: What is a function? It has...

... arguments ... a name

(identifier) ... a value it

returns ... a bodyint foo(int x)

{int result;result = x*x + 5*x + 7;return result;}

Page 29: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Procedural Abstraction Think “Black Box” ! When using a function, you only

need to be concerned with what it does, not how it does it

When writing a function, you need to be concerned with the how

Page 30: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Example: Cube it!int cubeIt(int x){

int result;result = x*x*x;return result;

}

int cubeIt(int x){

int result;result = x;result = x*result;result = x*result;return result;

}

Page 31: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Decision StatementsComputer Science I

Page 32: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Q: What is a decision? Something that represents a

branching point in a solution Outcomes are often dependent on

initial conditions

Page 33: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Decisions in Programs Without decision statements (or

other dynamic control structures), programs are static

Static programs do exactly the same things each time they are executed

Dynamic programs do not

Page 34: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Boolean Algebra Based on values that are either

True or False True and False values are often

represented by 1’s and 0’s, respectively

Page 35: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Logical Operations: And A B Expression is

True iff A and B are both true

T FT T FF F F

Page 36: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Logical Operations: Or A B Expression is

True if either A or B are True

Note: Also True when A and B are both True

T FT T TF T F

Page 37: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Logical Operations: Exercises

A = True, B = True, C = False1. A B2. A C3. A B C4. (A B) (A C)

Page 38: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Relational Operations A < B “A less than B” A > B “A greater than B” A = B “A equal to B” A B “A less than or equal to B”

“A not greater than B” A B “A greater than or equal to B”

“A not less than B” A B “A not equal to B”

“A less than or greater than B”

Page 39: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Relational Operations: Exercises

A = 5, B = 3, C = -71. A < B2. A C3. (A < C) (B < C)

Page 40: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Boolean Operations: C++ A B A B A < B A > B A = B A B A B A B

A && B A | | B A < B A > B A = = B A > = B A < = B A < > B

Page 41: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Try this!Problem: You’d like to go see a movie. The movie costs $8.00, a soda costs

$2.50 and a large popcorn costs $4.50. Based on the amount of money in your

pocket, determine whether you could...(a) See the movie and buy a soda, (b) See the movie, and buy soda and popcorn, or(c) Stay home

Page 42: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Know? Movie costs $8.00 Soda costs $2.50 Popcorn costs $4.50 How much money I have in my

pocket

Page 43: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Need? Cost of movie and soda Cost of movie, soda and popcorn Way to select one of the three

options(that is, make a decision!)

Page 44: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Do? Option (a) costs $10.50 Option (b) costs $15.00 Option (c) costs nothing What next?

Page 45: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

How would I write this? First, we need to decide how to

organize our solution Should we “hard code” the costs of

the movie, soda and popcorn into the algorithm?

Should we input these values? Let’s take another look at that

problem!

Page 46: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

How would I write this? The problem

statement tells us the individual costs

So, let’s assume they’re fixed or constant

No need to ask the user for them

Problem: You’d like to go see a movie. The movie costs $8.00, a soda

costs $2.50 and a large popcorn costs $4.50.

Based on the amount of money in your pocket, determine whether you could...(a) See the movie and buy a soda,(b) See the movie, and buy soda and popcorn, or(c) Stay home

Page 47: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

How would I write this? Another question: Should we pre-

compute the cost of each option? Or, should we let the program do this? Since we’ve already stated that the

item costs are fixed, it would seem logical to pre-compute the cost of each option Movie: $8.00 Movie & soda: $10.50 All three: $15.00

Page 48: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

How would I write this? Next, we need to make sure we

have a complete algorithmInput MoneyIf (Money < $10.50) then

Display “Stay home.”else If (Money < $15.00) then

Display “Go to a movie;buy a soda.”else Display “Go to a movie; buy a

soda and popcorn.”

Almost done!

Page 49: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

How would I write this? Determine how we wish to organize

our program Do we want one function? Or, should we create a few functions? Let’s two functions: One to input Money from the user

And a second to determine the outcome

Page 50: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

How would I write this? Here’s the prototypes for the

functions

int getMoney()

void showResults(int myMoney)

Page 51: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Program Okay, now we get to use our

algorithm and program design to create a program

Well, what are you waiting for?

Do It!!!

Page 52: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Multiway Branching If statements can be used for

multiway branching That is, choosing one of n mutually

exclusive outcomes But what about n outcomes that

are not totally unique?

Page 53: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Multiway Branching Consider the following problem:

Each year, a local middle school requires students to purchase supplies based on their grade level. 6th graders need pencils and five notebooks. 7th graders also need a calculator. 8th graders add to this a 3-ring binder with loose leaf paper.

Page 54: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Multiway Branching We could use a nested If statement to

handle this, but there is an alternative Whenever we need to represent a decision

step, with n possible outcomes, where the outcomes form subsets of each

other, and/or the outcomes are chosen based upon

unique scalar values for a control expression,

we can use a Case (switch) structure

Page 55: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Multiway Branching Case

When Grade = 8th3-ring binderloose leaf paper

When Grade = 7thcalculator

When Grade = 6thpencils5 notebooks

Page 56: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Multiway Branching In C++ ...switch (grade){

case 8:cout << “3-ring binder, loose leaf, “;

case 7:cout << “calculator, “;

case 6:cout << “5 notebooks, & pencils.” <<

endl;} When the switch is encountered, control jumps to the

matching case statement and continues until either a break is found or the end of the switch

Page 57: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Multiway Branching Here’s an example with a few break’s

cout << “Your lunch period comes “;switch (grade) {

case 8:cout << “first.” << endl;break;

case 7:cout << “second.” << endl;break;

case 6:cout << “third.” << endl;

} No final break

Page 58: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

LoopsComputer Science I

Page 59: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Q: What is a Loop? A control structure that allows for a

sequence of steps to be repeated a certain number of times

This sequence of steps is called the body of the loop

Page 60: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Q: What is a Loop? There are three basic loop

structures in programming: For While Repeat

Page 61: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

While loop

Condition

Body

T

F

Look familiar?

What if you added a change step to the end of the body?

Page 62: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

For loop

Condition

Body

T

F

Page 63: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

While loop

Condition

Body

T

F

A while loop is a control structure where the body is repeated as long as the condition is true

Page 64: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

While loop

Condition

Body

T

F

When the condition is false, the body is bypassed, and flow continues with the next part of the algorithm

Page 65: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Example: Sequential searchk 0found Falsewhile (k<size) (found)

do if A[k] = target

then found True

else k = k + 1

(k<size) (found)

if A[k] = targetthen found Trueelse k = k + 1

T

F

Page 66: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Example: Sequential searchk = 0;

found = False;

while ((k<size) && (!found))

if (A[k] == target)

found = True;

else k = k + 1;

(k<size) (found)

if A[k] = targetthen found Trueelse k = k + 1

T

F

Page 67: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

ArraysComputer Science I

Page 68: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Q: What is an array? An array is a data structure

consisting of one or more indexed members

An array is like a row of mailboxes at the post office

Each box is numbered in sequence (indices), and …

Each box contains the same type of stuff (datatype)

Page 69: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

An array could be drawn like …

g d a f c z l

0 1 2 3 4 5 6

Page 70: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

An array could be drawn like …

g d a f c z l

0 1 2 3 4 5 6

Each box is numbered in sequence

Page 71: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

An array could be drawn like …

g d a f c z l

0 1 2 3 4 5 6

Each box has the same datatype

Page 72: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

An array is declared by …int X[10]; Where int is the common datatype for

all elements in the array, X is the name of the array (identifier),

and … 10 is the size of the array, or how many

elements are in the array Indices for a C++ array always begin

with 0

Page 73: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Example: Student Grades

// Declare array

double stGrades[7];

:

// Assign value to array element

stGrades[5] = 87;

:

// Display array element

cout << stGrades[3] << endl;

Page 74: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Problem: Create a program that will ask the

user for three (3) numbers, determine the average, and then display the original numbers and the average

Hint: You might wish to use a loop as well as an array!

Page 75: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

StringsComputer Science I

Page 76: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

What is a string? A string is a sequence of characters Example:

nc9*hNB98B&^v*&G Blank spaces are characters Each character requires one byte of

storage in memory Each character is represented by a one

byte character code, usually an ASCII code

Page 77: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Strings A literal is a string bounded by

quotation marks Example:

“nc9*hNB 98B&^v*&G” Notice the blanks spaces in the

sequence - they are characters!

Page 78: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Strings In C++, we declare string variables

as follows char string_identifier[length];

string_identifier is the name of the string variable

length represents the length of the string, or how many characters are in the sequence

Page 79: Introduction to C++ Computer Science. Quote... “Language is the only instrument of science….” Samuel Johnson

Strings Example:

void main()

{

char name[24];

cout << “Enter your name: “;

cin >> name;

cout << “Your name is “ << name << endl;

}