Presentation is loading. Please wait.

Presentation is loading. Please wait.

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy.

Similar presentations


Presentation on theme: "Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy."— Presentation transcript:

1 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy Walters, and Godfrey Muganda (Revisions by EL Jones, Ph.D., Florida A&M University) Chapter 1: Introduction to Computers and Programming

2 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Topics 1.1 Why Program? 1.2 Computer Systems: Hardware and Software 1.3 Programs and Programming Languages 1.4 What Is a Program Made of? 1.5 Input, Processing, and Output 1.6 The Programming Process 1-2

3 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1.1 Why Program? Computer – programmable machine designed to follow instructions Program – instructions in computer memory to make it do something Programmer – person who writes instructions (programs) to make computer perform a task SO, without programmers, no programs; without programs, the computer cannot do anything 1-3

4 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1.2 Computer Systems: Hardware and Software Main Hardware Component Categories 1.Central Processing Unit (CPU) 2.Main memory (RAM) 3.Secondary storage devices 4.Input Devices 5.Output Devices 1-4

5 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Main Hardware Component Categories 1-5

6 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Central Processing Unit (CPU) Includes Control Unit –Retrieves and decodes program instructions –Coordinates computer operations Arithmetic & Logic Unit (ALU) –Performs mathematical operations 1-6

7 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley The CPU's Role in Running a Program Cycle through: Fetch: get the next program instruction from main memory Decode: interpret the instruction and generate a signal Execute: route the signal to the appropriate component to perform an operation 1-7

8 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Main Memory Holds both program instructions and data Volatile – erased when program terminates or computer is turned off Also called Random Access Memory (RAM) 1-8

9 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Main Memory Organization Bit –Smallest piece of memory –Stands for binary digit –Has values 0 (off) or 1 (on) Byte –Is 8 consecutive bits Word –Usually 4 consecutive bytes –32-bit computers –64-bit computers (contemporary) 1-9 0 1 1 0 0 1 1 1 8 bits1 byte

10 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Secondary Storage Non-volatile - data retained when program is not running or computer is turned off Comes in a variety of media –magnetic: floppy or hard disk drive, internal or external –optical: CD or DVD drive –flash: USB flash drive 1-10

11 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Input Devices Used to send information to the computer from outside Many devices can provide input –keyboard, mouse, microphone, scanner, digital camera, disk drive, CD/DVD drive, USB flash drive 1-11

12 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Output Devices Used to send information from the computer to the outside Many devices can be used for output –Computer screen, printer, speakers, disk drive, CD/DVD recorder, USB flash drive 1-12

13 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley STOP HERE 1A BEGIN 1B 1-13

14 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Software Programs That Run on a Computer Operating system software … programs that –manage hardware resources and programs on computer –how many programs can run at once? Single tasking - one program at a time (MS-DOS) Multitasking – multiple programs (UNIX,Windows,OS X) –how many people can use computer at the same time? Single user – MS-DOS, early versions of Windows Multiuser - UNIX Application software –programs that provide services to the user. Ex: word processing, games, programs to solve specific problems 1-14

15 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1.3 Programs and Programming Languages Program a set of instructions directing a computer to perform a task Programming Languages “15 languages you need to know in 2015” JavaJavaScriptC#PHP C++ PythonCSQL Ruby Objective-CPerl.NET Visual BasicRSwift 1-15

16 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Programs and Programming Languages Types of languages –Low-level: used for communication with computer hardware directly. –High-level: closer to human language 1-16

17 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Compilation: from a High-level Program to an Executable File (e.g., hello.run) 1-17

18 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley From a High-level Program to an Executable File a)Create file containing the program with a text editor (e.g., pico). b)Run preprocessor to convert source file directives to source code program statements (#include lines). c)Run compiler to convert source program statements into machine instructions (g++). 1-18

19 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley From a High-level Program to an Executable File d)Run linker to connect hardware-specific library code to machine instructions, producing an executable file. (g++) Steps b) through d) are often performed by a single command or button click. Errors occurring at any step will prevent execution of the step that follows. 1-19

20 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley STOP HERE 1B BEGIN 1C 1-20

21 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1.4 What Is a Program Made Of? Common elements in programming languages: –Key/reserved words (predefined meaning) –Programmer-defined identifiers (rules apply) –Operators (e.g., + for “add, * for multiply) –Punctuation (symbols that organize, e.g., comma (,), semicolon(;), parentheses, etc.) –Syntax ( rules of “grammar” ) 1-21

22 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Example Program 1 #include using namespace std; int main() { int num1 = 5, num2, sum; num2 = 12; sum = num1 + num2; cout << "The sum is " << sum; return 0; } 1-22

23 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Example Program 2 #include using namespace std; int main() { int num1 = 5, num2, sum; cout << “Enter second number: “; cin >> num2 sum = num1 + num2; cout << “The sum is “ << sum; return 0; } 1-23

24 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Key Words Also known as reserved words Have a special meaning in C++ Can not be used for another purpose Written using lowercase letters Examples in program (shown in green) : using namespace std; int main() 1-24

25 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Programmer-Defined Identifiers Names made up by the programmer Not part of the C++ language Used to represent various things, such as variables (memory locations) Example in program (shown in green) : double num1 1-25

26 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Variables A variable is a name for a cell in computer memory (RAM) where a value can be stored. The memory cell (variable) holds a data value A variable must be defined (established / “born” / declared) before it can be used Example variable definition (declaration): - double num1; 1-26

27 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Operators Used to perform operations on data Many types of operators –Arithmetic: +, -, *, / –Assignment: = –Input: >> - Output: << Examples in program (shown in green) : num2 = 12; sum = num1 + num2; cin >> num2; cout << sum; 1-27

28 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Punctuation Characters that mark the end of a statement, separate items in a list, and separate elements of a statement. Example in program (shown in green) : int main ( ) { double num1, num2=3, num3; num1=5; cout << sqrt(num2); } 1-28

29 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Lines vs. Statements In a source (.cpp) file, A line is all of the characters entered before a carriage return (ENTER key). Blank lines improve the readability of a program. Here are four sample lines. Line 3 is blank: double num1 = 5, num2, sum; num2 = 12; sum = num1 + num2; 1-29

30 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Lines vs. Statements In a source file, A statement is an instruction to the computer to perform an action. A statement may contain keywords, operators, programmer-defined identifiers, and punctuation. A statement may fit on one line, or it may occupy multiple lines. Here is a single statement that uses two lines: double num1 = 5, num2, sum; 1-30

31 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley STOP HERE 1C BEGIN 1D 1-31

32 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1.5 IPO: Input-Process-Output Most programs fit this model: (add3.cpp) 1)Input: Gather input data -from keyboard -from files on disk drives 2)Process the input data 3)Output: Display or save the results as output -send it to the screen/monitor or printer -and/or write it to a file 1-32

33 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1.6 The Programming Process 1.Define what the program is to do. 2.Visualize the program running on the computer (design the “dialogue/conversation” between the program and the user. 3.Use design tools to create a model of the program. Hierarchy charts, flowcharts, pseudocode, etc. 4.Check the model for logical errors. 5.Write the program source code. 1-33

34 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1.6 The Programming Process 6.Compile the source code. 7. Correct any errors found during compilation (debug syntax bugs). 8. Link the program to create an executable file. 9. Run the program using test data for input. 10. Correct any errors found while running the program (debug logic bugs). Repeat steps 4 - 10 as many times as necessary. 1-34

35 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley The Programming Process (cont.) 11. Validate the results of the program. Does the program do what was defined in step 1? Software testing – specialized career path. 1-35

36 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1.6 The Programming Process 1. Define what the program is to do. a) Goal: Calculate income tax on income, given a tax rate. b) Make examples to clarify: Tax rate 10%, income 10,000  tax = 1,000. Tax rate 0% (??), income 40,000  tax = 0 Tax rate 1.5% (??), income 500  tax = 7.50 1-36

37 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1.6 The Programming Process 2.Visualize the program running on the computer ( “dialogue/conversation” between the program and the user) a) How does program ask for inputs? Note: etiquette demands requesting it clearly. Please enter income:  this is called a PROMPT Please enter tax rate: Please enter tax rate (0.0– 100.0): (better?) Please enter tax rate (0.00 – 1.00): (better?) Please enter tax rate (5% as 0.05): (best?) b) How does program display outputs? Note: etiquette demands labeling it clearly. 7.50 (never!!) Tax = 7.50 (better?) 1-37

38 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1.6 The Programming Process 3.Use design tools to create a model of the program. Informal steps ( pseudo-code ) 1. Read tax rate 2. Read income 3. Calculate tax = income * (tax rate) 4. Display the amount of tax. 4.Check the model for logical errors. Desk check by re-calculating using the examples from step 1. 1-38

39 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Standard Program Shell (starter) #include using namespace std; int main() { // Declare variables. // I: Read inputs. // P: Perform calculations. // O: Display outputs return 0; } 1-39

40 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1.6 The Programming Process 5. Write the program source code ( coding ). What’s needed in the program: 1. standard program shell 2. Variables for inputs, output: - what type of value (decimal, float in C++) - syntax for declaring a variable: ; 3. Input statements with prompts (etiquette) 4. Calculation statements (algebraic formula) - syntax for “assignment statement”: variable = ; 5. Output statements with labels (etiquette) 1-40

41 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1.6 The Programming Process (on your own) 6.Compile the source code. 7. Correct any errors found during compilation (debug syntax bugs). 8. Link the program to create an executable file. 9. Run the program using test data for input. 10. Correct any errors found while running the program (debug logic bugs). Repeat steps 4 - 10 as many times as necessary. 11. Validate the results of the program. Does the program do what was defined in step 1? 1-41

42 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley STOP HERE 1D 1-42

43 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy Walters, and Godfrey Muganda


Download ppt "Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy."

Similar presentations


Ads by Google