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 MODIFIED FOR CMPS 1043 – Computer Science I Midwestern State University – Department of Computer Science 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 receive input, follow instructions, produce output Program – instructions written in a special language and stored in computer memory to make it accomplish a task 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 * physical components that make up a computer 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 & decodes program instructions –Coordinates computer operations Arithmetic & Logic Unit (ALU) –Performs mathematical operations & comparisons Where are instructions & data stored? Registers 1-6

7 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley The CPU's Role in Running a Program Machine/Execution CYCLE : Fetch: get the next program instruction from main memory, copy into CPU Decode: interpret instruction & 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 (aka Memory) Holds both program instructions & data Volatile – erased when power is removed or computer turned off Also called Random Access Memory (RAM) or Memory 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 –8 consecutive bits –Addressable Word –Usually 4 consecutive bytes –Has an address 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 variety of media –optical: CD or DVD drive –flash: USB flash drive –magnetic: floppy & hard disk drive, internal or external 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 Software Programs That Run on a Computer Operating System Software –programs that manage the computer hardware & other programs that run on the computer –How many programs can run at once? Single tasking - one program at a time (MS-DOS) Multitasking – multiple programs at a time (UNIX, Windows XP/Vista/7/8) –How many people can use computer at the same time? Single user – MS-DOS, early versions of Windows Multiuser – UNIX, Windows Application Software –programs that provide services to the user. Ex: word processing, games, programs to solve specific problems 1-13

14 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 Language a language used to write programs 1-14

15 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 – Machine language, Assembly language – machine specific –High-level: closer to human language, English-like Well known high-level languages (p. 9) Basic, C, C++, C#, Java, COBOL, FORTRAN, Pascal, JavaScript, Python, Ruby, Visual Basic 1-15

16 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley From a High-level Program to an Executable File 1.Create file containing the program with a text editor.  What form is program file? ASCII (plain text) 2.Run preprocessor to convert source file directives to source code program statements. 3.Run compiler to convert source program statements into machine instructions. 1-16

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

18 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley From a High-level Program to an Executable File 1-18

19 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley ASCII Code Character code consisting or 8 (7) bits See Appendix A (page 1141) A0100 0001 B 0100 0010 a 0110 0001 ? 0011 1111 90011 1001 Others: EBCDIC, Unicode 1-19

20 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1.4 What Is a Program Made Of? Common elements in programming languages: –Key Words (Reserved Words) –Programmer-Defined Identifiers –Operators –Punctuation –Syntax 1-20

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

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

23 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-23

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

25 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Punctuation Characters that mark the end of a statement or separate items in a list Generally: semicolon & comma Example in program (shown in green) : double num1 = 5, num2, sum; num2 = 12; 1-25

26 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Lines vs. Statements In a source file, A line is all of the characters entered before a carriage return. 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-26

27 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 ; indicates the end of a statement A statement may contain keywords, operators, programmer-defined identifiers, 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-27

28 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Variables A variable is a named location in computer memory (in RAM) It holds a piece of data, that can change It must be defined before it can be used –Specify variable name & type Example variable definition: int num1; double num2; 1-28

29 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1.5 Input, Processing, and Output Three steps that many programs perform 1)Gather input data -from keyboard -from files on disk drives 2)Process the input data 3)Display the results as output -send it to the screen or a printer -write it to a file Input  Process  Output 1-29

30 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley ERRORS (aka Bugs) 1.Syntax: rule of format/structure are not followed 1.Detected during compilation 2.Misspellings, capitalizations, punctuation 2.Runtime (Exception) 1.Detected during execution of program 2.E.G. Variable with no value, divide by zero 3.Semantic – programmer meant one thing but wrote another 1.Detected after execution by programmer/user 2.E.G. Meant to + but *, Brackets misplaced { } 1-30

31 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Debugging Process Trace by hand –Play the “stupid” computer Use compiler Debugger Functions & Tools Incremental Development –Write small part of program –Compile & Run until correct –Add additional codes –Repeat 1-31

32 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Interpreter vs. Compiler For each instruction/command Decode the instruction Execute If there is a syntax or runtime error, STOP Basic (some versions) Python For the entire program Convert each instruction into machine code –If there is a syntax error, try to keep going but stop before execution Execute entire program –If there is a runtime error, stop execution C++, Pascal, Fortran 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. 3.Use design tools to create a model of program. Problem Solving Steps, Hierarchy charts, flowcharts, pseudo code, etc. 4.Check the model for logical errors. 5.Write the program source code. 6.Compile the source code. 1-33

34 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley The Programming Process (cont.) 7. Correct any errors found during compilation. 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. 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-34

35 Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Homework Vocabulary posted on the web site –Will be collected for grading!! RECOMMENDED –7E-Pg. 22 -25: 8E-Pg. 23-26:Questions 1 – 33 (will not be collected for grading, but will help you prepare for quizzes & test) 1-35


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