Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
72 views

An Overview of Computers and C++ Programming Language

C++

Uploaded by

dumbledoreaaaa
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
72 views

An Overview of Computers and C++ Programming Language

C++

Uploaded by

dumbledoreaaaa
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 53

An Overview of Computers and C++ Programming Language

Module 1

Objectives
To learn about the architecture of computers !! To learn about machine languages and higher-level programming languages !! To become familiar with your compiler !! To compile and run your first C++ program !! To recognize compile-time and run-time errors !! To describe an algorithm with pseudocode !! To understand the activity of programming
!!

Computer

What can you do with your computer?

Computer cont
Computers can carry out a wide range of tasks because they execute different programs, each of which directs the computer to work on a specific task. The computer itself is a machine that stores data (numbers, words, pictures), interacts with devices (the monitor, the sound system, the printer), and executes programs.

Computer cont
A computer program tells a computer, in minute detail, the sequence of steps that are needed to fulfill a task. Hardware The physical computer and peripheral devices are collectively called the hardware. Software The programs the computer executes are called the software.
5

What Is Programming?

Programming

is the act of designing and implementing computer programs.

The Anatomy of a Computer The CPU


!!

The CPU (central processing unit) !! heart of the computer !! executes one operation at a time !! performs program control and data processing

The Anatomy of a Computer The CPU


The CPU !! carries out arithmetic operations such as addition, subtraction, multiplication, and division !! fetches data from external memory or devices and stores data back. !! All data must travel through the CPU whenever it is moved from one location to another.
!!

The Anatomy of a Computer The CPU


!!

The computer stores data and programs in memory


!!

Primary memory - memory chips


Random access memory (RAM) (read-write memory) !! Read-only memory (ROM)
!!

!!

Secondary storage devices


disk drives !! CDs
!!

The Anatomy of a Computer Peripheral Devices


The user is the human using a program that a programmer wrote. !! The computer transmits information (called output) to the user through a display screen, speakers, and printers. !! The user can enter information (called input) for the computer by using a keyboard or a pointing device such as a mouse.
!!
squeak?!

10

The Anatomy of a Computer Schematic Design

11

What Is This?

The Electronic Numerical Integrator And Computer (The ENIAC)

Yes, ALL that is ONE computer!


(except the people)
12

High-Level Languages and the Compiler


High-level languages like C++ are independent of the processor type and hardware. !! The compiler
!!
!!

a special computer program, that translates the higher-level description (a program) into machine instructions for a particular processor. the compiler-generated machine instructions are different, but the programmer who uses the compiler need not worry about these differences.

!!

Low-level language: the machine code for a specific CPU


!!

13

Becoming Familiar with Your Programming Environment


!!

You will need to know how to start your C++ development environment. An IDE (integrated development environment) is where you will most likely work.

14

Becoming Familiar with Your Programming Environment


!!

You will become a typist because you will use an editor to type your C++ programs into the IDE. Your program is called a source file.

15

Becoming Familiar with Your Programming Environment


!!

You will need to learn how to compile and run your program in the IDE.

16

Becoming Familiar with Your Programming Environment


!!

Theres a lot going on behind the scenes in the IDE that you dont normally see. Anyone know?

!!

17

Becoming Familiar with Your Programming Environment


!!

The compiler translates C++ programs into machine code.

!!

The linker combines machine code with library code into an executable program.
18

The Edit-Compile-Run Loop


This process reflects the way programmers work
(shown as a flowchart)

19

Becoming Familiar with Your Programming Environment


You will need to know your computers file system: files, folders, and extensions. C++ program files typically have the extension: .cpp (or .cc or .cxx or even .C). !! You should be organized by creating folders for organizing your files.
!!

20

Becoming Familiar with Your Programming Environment


and you MUST know:

1.! 2.!

HOW TO BACK UP YOUR WORK. HOW TO SAVE YOUR WORK (same thing as backing up your work). HOW TO SAVE YOUR WORK BY BACKING IT UP (repeated so you will know this is very important).

3.!

21

Analyzing Your First Program

READY?????
22

Analyzing Your First Program


Lets analyze the classic first program that everyone writes: Hello World! !! Its job is to write the words Hello World! on the screen.
!!
1 #include <iostream> 2 3 using namespace std; 4 5 int main() 6{ 7 cout << "Hello, World!" << endl; 8 return 0; 9} ch01/hello.cpp

23

Analyzing Your First Program

24

Analyzing Your First Program


!!

The first line tells the compiler to include a service for stream input/output. It is needed to write on the screen.
ch01/hello.cpp

1 #include <iostream> 2 3 using namespace std; 4 5 int main() 6{ 7 cout << "Hello, World!" << endl; 8 return 0; 9}

25

Analyzing Your First Program


!!

The second line tells the compiler to use the standard namespace. This is used in conjunction with the first line to output -standard output.
1 #include <iostream> 2 3 using namespace std; 4 5 int main() 6{ 7 cout << "Hello, World!" << endl; 8 return 0; 9} ch01/hello.cpp

26

Analyzing Your First Program


!!

The next set of code defines a function. The name of this function is main.
ch01/hello.cpp

1 #include <iostream> 2 3 using namespace std; 4 5 int main() 6{ 7 cout << "Hello, World!" << endl; 8 return 0; 9}

27

Analyzing Your First Program


!!

The main function returns an integer (that is, a whole number without a fractional part, called int in C++) with value 0. This value indicates that the program finished successfully.
1 #include <iostream> 2 3 using namespace std; 4 5 int main() 6{ 7 cout << "Hello, World!" << endl; 8 return 0; 9}

ch01/hello.cpp

28

Analyzing Your First Program


To show output on the screen, we use an entity called cout. !! What you want seen on the screen is sent to the cout entity using the << operator (sometimes called the insertion operator): << "Hello, World!"
!!
1 #include <iostream> 2 3 using namespace std; 4 5 int main() 6{ 7 cout << "Hello, World!" << endl; 8 return 0; 9} ch01/hello.cpp

29

Analyzing Your First Program


!!

You can display more than one thing by re-using the << operator: << "Hello, World!" << endl;
ch01/hello.cpp

1 #include <iostream> 2 3 using namespace std; 4 5 int main() 6{ 7 cout << "Hello, World!" << endl; 8 return 0; 9}

30

Analyzing Your First Program


The output statement cout << "Hello World!" << endl;

! To display values on the screen, you send them to an entity called cout. ! The << operator denotes the send to command.

31

C++ for Everyone by Cay Horstmann Copyright 2012 by John Wiley & Sons. All rights reserved

Analyzing Your First Program


cout << "Hello World!" << endl; "Hello World!" is called a string. !! You must put those double-quotes around strings.
!! !!

The endl symbol denotes an end of line marker which causes the cursor to move to the next screen row.

32

Analyzing Your First Program


!!

Each statement in C++ ends in a semicolon.


ch01/hello.cpp

1 #include <iostream> 2 3 using namespace std; 4 5 int main() 6{ 7 cout << "Hello, World!" << endl ; 8 return 0 ; 9}

33

Error

ARGH!!!!
34

Common Error Omitting Semicolons


Common error Omitting a semicolon (or two)
1 #include <iostream> 2 3 using namespace std; 4 5 int main() 6{ 7 cout << "Hello, World!" << endl 8 return 0; 9} Oh No!

35

Error
Without that semicolon you actually wrote:
7! cout << "Hello, World!" << endl return 0; 8 }

which thoroughly confuses the compiler! This is a compile-time error or syntax error. A syntax error is a part of a program that does not conform to the rules of the programming language.

36

Error
Suppose you (accidentally of course) wrote: cot << "Hello World!" << endl;

! This will cause a compile-time error and the compiler will complain that it has no clue what you mean by cot. The exact wording of the error message is dependent on the compiler, but it might be something like Undefined symbol cot.
37

Errors How Many Errors?


The compiler will not stop compiling, and will most likely list lots and lots of errors that are caused by the first one it encountered. !! You should fix only those error messages that make sense to you, starting with the first one, and then recompile (after SAVING, of course!).
!!

38

Errors
C++
!!
!!

has free-form layout


int main(){cout<<"Hello, World!"<<endl;return 0;}

!!

!!

will work (but is practically impossible to read) A good program is readable.

39

Error
Consider this: cout << "Hollo, World!" << endl; Logic errors or run-time errors are errors in a program that compiles (the syntax is correct), but executes without performing the intended action.
really an error?

!!

!!

The programmer is responsible for inspecting and testing the program to guard against logic errors.

40

Error
Some kinds of run-time errors are so severe that they generate an exception: a signal from the processor that aborts the program with an error message. For example, if your program includes the statement cout << 1 / 0; your program may terminate with a divide by zero exception.

41

Error
!!

Every C++ program must have one and only one main function. Most C++ programs contain other functions besides main (more about functions later).

!!

42

Error
C++ !! is case sensitive. Typing:
int Main()

will compile but will not link. A link-time error occurs here when the linker cannot find the main function because you did not define a function named main. (Main is fine as a name but it is not the same as main and there has to be one main somewhere.)
43

Algorithms
An algorithm is a RECIPE

44

The Software Development Process


For each problem the programmer goes through these steps

45

Describing an Algorithm with Pseudocode


Pseudocode An informal description !! Not in a language that a computer can understand, but easily translated into a high-level language (like C++).
!!

46

Describing an Algorithm with Pseudocode


The method described in pseudocode must be !! Unambiguous/clear !! There are precise instructions for what to do at each step !! and where to go next. !! Executable !! Each step can be carried out in practice. !! Terminating !! It will eventually come to an end.

47

Describing an Algorithm with Pseudocode


Consider this problem:
!! !! !! !! !! !!

You have the choice of buying two cars. One is more fuel efficient than the other, but also more expensive. You know the price and fuel efficiency (in miles per gallon, mpg) of both cars. You plan to keep the car for ten years. Assume a price of gas is $4 per gallon and usage of 15,000 miles per year. You will pay cash for the car and not worry about financing costs.

Which car is the better deal?

48

Describing an Algorithm with Pseudocode


Step 1 Determine the inputs and outputs.

In our sample problem, we have these inputs: purchase price1 and fuel efficiency1 the price and fuel efficiency (in mpg) of the first car !! purchase price2 and fuel efficiency2 the price and fuel efficiency of the second car
!!

We simply want to know which car is the better buy. That is the desired output.

49

Describing an Algorithm with Pseudocode


Step 2 Break down the problem into smaller tasks. What will we do for each car?
1.! 2.!

3.! 4.!

The total cost for a car is purchase price + operating cost We assume a constant usage and gas price for ten years, so the operating cost depends on the cost of driving the car for one year. The operating cost is 10 x annual fuel cost The annual fuel cost is price per gallon x annual fuel consumed The annual fuel consumed is annual miles driven / fuel efficiency

50

Describing an Algorithm with Pseudocode


Step 3 Describe each subtask in pseudocode. You will need to arrange the steps so that any intermediate values are computed before they are needed in other computations.
For each car, compute the total cost as follows: annual fuel consumed = annual miles driven / fuel efficiency annual fuel cost = price per gallon x annual fuel consumed operating cost = 10 x annual fuel cost total cost = purchase price + operating cost If total cost1 < total cost2 Choose car1 Else Choose car2

51

Describing an Algorithm with Pseudocode


Step 4 Test your pseudocode by working a problem.
Use these sample values: !! Car 1: $25,000, 50 miles/gallon !! Car 2: $20,000, 30 miles/gallon FIRST CAR: annual fuel consumed = 15000 / 50 = 300 annual fuel cost = 4 x 300 = 1200 operating cost = 10 x 1200 = 12000 total cost = 25000 + 12000 = 37000 SECOND CAR:
(lets assume you can do the math) total cost = 40000

If total cost1 < total cost2 The algorithm says: choose the FIRST CAR

52

END OF MODULE 1

53

You might also like