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

Slides:



Advertisements
Similar presentations
 Computer hardware components are the physical pieces of the computer.  The major hardware components of a computer are: – The central processing.
Advertisements

COSC 120 Computer Programming
Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design First Edition by Tony Gaddis.
1 Fall 2008ACS-1903 Chapter 1 Topics Java History Java Programs Why Program? Computer Systems: Hardware and Software Programming Languages What Is a Program.
1 Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
Wednesday, 9/4/02, Slide #1 1 CS 106 Intro to CS 1 Wednesday, 9/4/02  Today: Introduction, course information, and basic ideas of computers and programming.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Sixth Edition by Tony Gaddis, Judy Walters,
Chapter 1: Introduction to Computers and Java
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages C++ Programming:
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 1 Introduction.
Chapter 1: Introduction To Computer | SCP1103 Programming Technique C | Jumail, FSKSM, UTM, 2005 | Last Updated: July 2005 Slide 1 Introduction To Computers.
Copyright 2003 Scott/Jones Publishing Brief Version of Starting Out with C++, 4th Edition Chapter 1 Introduction to Computers and Programming.
CS102 Introduction to Computer Programming
Introduction to Computers and Python. What is a Computer? Computer- a device capable of performing computations and making logical decisions at speeds.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 1 Introduction to Computers and Programming.
Why Program? Computer – programmable machine designed to follow instructions Program – instructions in computer memory to make it do something Programmer.
Chapter Introduction to Computers and Programming 1.
Introduction to Programming Dr Masitah Ghazali Programming Techniques I SCJ1013.
CHAPTER 4: INTRODUCTION TO COMPUTER ORGANIZATION AND PROGRAMMING DESIGN Lec. Ghader Kurdi.
CSC 125 Introduction to C++ Programming Chapter 1 Introduction to Computers and Programming.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
Introduction to Programming. Our Book in CS Why Program? Lets watch a video
© 2012 Pearson Education, Inc. All rights reserved. Starting Out with Java: From Control Structures through Data Structures Second Edition by Tony Gaddis.
Chapter 3 Computer Hard ware
Topics Introduction Hardware and Software How Computers Store Data
General Computer Science for Engineers CISC 106 Lecture 02 Dr. John Cavazos Computer and Information Sciences 09/03/2010.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Chapter 1: Introduction to Computers and Programming.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
Copyright © 2012 Pearson Education, Inc. Chapter 1 Introduction to Computing and Programming.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 1 Introduction to Computers and Programming.
 Why?  Because it can be programmed to do more than one specific task. ◦ Accountants ~ tax forms etc. ◦ Machinists ~ control drilling, lathes etc. ◦
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 1 October 20, October 20, 2015October 20, 2015October 20,
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Java: From Control Structures through Objects Third Edition.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 1 Introduction to Computers and Programming.
A.Abhari CPS1251 Topic 1: Introduction to Computers Computer Hardware Computer components Connecting Computers Computer Software Operating System (OS)
Computer Programming (1) Code & No.: CS 102 CREDIT HOURS: 5 UNIT Lecture 3.0 hours/week Lab: 2.0 hour/on every week a. This course introduces the students.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy.
Introduction عزيزتي الطالبة : يهدف هذا المبحث من تمكينك من التعرف الى مفهوم لغات البرمجة وتعلم أسياسيات لغة البرمجة من خلال دراسة أجزاء من لغة C++ وكتابة.
Brief Version of Starting Out with C++ Chapter 1 Introduction to Computers and Programming.
1. COMPUTERS AND PROGRAMS Rocky K. C. Chang September 6, 2015 (Adapted from John Zelle’s slides)
Chapter 11  Getting ready to program  Hardware Model  Software Model  Programming Languages  Facts about C++  Program Development Process  The Hello-world.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming Dr. Halla Abdel Hameed.
©2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. Introduction to Computers and Computing.
Copyright © 2014, 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Eighth Edition by Tony Gaddis,
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 1: An Overview of Computers and Programming Languages.
Chapter 1: Introduction to Computers and Programming.
© 2012 Pearson Education, Inc. All rights reserved. Starting Out with Java: From Control Structures through Data Structures Second Edition by Tony Gaddis.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved. Chapter 1: Introduction to Computers and Programming.
Chapter 1: Introduction to Computers and Programming
BASIC PROGRAMMING C SCP1103 (02)
Chapter 1: An Overview of Computers and Programming Languages
Engineering Problem Solving With C An Object Based Approach
Topics Introduction Hardware and Software How Computers Store Data
Chapter 1: An Overview of Computers and Programming Languages
BASIC PROGRAMMING C SCP1103 (02)
Chapter 1: An Overview of Computers and Programming Languages
C++ Programming: From Problem Analysis to Program Design
Chapter 1: Introduction to Computers and Programming
Topics Introduction Hardware and Software How Computers Store Data
Chapter 1: Introduction to Computers and Programming
Chapter 1: Introduction to Computers and Programming
Presentation transcript:

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

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

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

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

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

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

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

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

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 bits1 byte

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 as many times as necessary. 11. Validate the results of the program. Does the program do what was defined in step 1? 1-34

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 : 8E-Pg :Questions 1 – 33 (will not be collected for grading, but will help you prepare for quizzes & test) 1-35