Computers and. Why Program?

Similar documents
Chapter 3: Computer Hardware Components: CPU, Memory, and I/O

lesson 1 An Overview of the Computer System

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Primary Memory. Input Units CPU (Central Processing Unit)

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX

Computers. Hardware. The Central Processing Unit (CPU) CMPT 125: Lecture 1: Understanding the Computer

1.1 Electronic Computers Then and Now

Obj: Sec 1.0, to describe the relationship between hardware and software HW: Read p.2 9. Do Now: Name 3 parts of the computer.

CSCA0102 IT & Business Applications. Foundation in Business Information Technology School of Engineering & Computing Sciences FTMS College Global

Computer Logic (2.2.3)

Chapter 6. Inside the System Unit. What You Will Learn... Computers Are Your Future. What You Will Learn... Describing Hardware Performance

Computer Basics: Chapters 1 & 2

Introduction to Computers and Programming

Machine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory.

Python Programming: An Introduction to Computer Science

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

1 PERSONAL COMPUTERS

Overview of MIS Professor Merrill Warkentin

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

Chapter 8 Memory Units

Parts of a Computer. Preparation. Objectives. Standards. Materials Micron Technology Foundation, Inc. All Rights Reserved

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

Python Programming: An Introduction to Computer Science

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.

Objectives. Python Programming: An Introduction to Computer Science. Lab 01. What we ll learn in this class

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.

3 SOFTWARE AND PROGRAMMING LANGUAGES

Chapter 1. The largest computers, used mainly for research, are called a. microcomputers. b. maxicomputers. c. supercomputers. d. mainframe computers.

Chapter One Introduction to Computer

Sequential Program Execution

Introduction To Computers: Hardware and Software

Tech Application Chapter 3 STUDY GUIDE

Block diagram of typical laptop/desktop

An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008

Computer Organization

Licensed to: CengageBrain User

Lab 2 - CMPS 1043, Computer Science I Introduction to File Input/Output (I/O) Projects and Solutions (C++)

How To Store Data On A Computer (For A Computer)

Appendix K Introduction to Microsoft Visual C++ 6.0

What's in a computer?

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

Bachelors of Computer Application Programming Principle & Algorithm (BCA-S102T)

Hardware: Input, Processing, and Output Devices. A PC in Every Home. Assembling a Computer System

Definition of Computers. INTRODUCTION to COMPUTERS. Historical Development ENIAC

Basic Concepts of Information Technology (IT)

Graphic Communication

Main Memory & Backing Store. Main memory backing storage devices

Visual Studio 2008 Express Editions

Chapter 4 System Unit Components. Discovering Computers Your Interactive Guide to the Digital World

Computer Layers. Hardware BOOT. Operating System. Applications

File System Management

ZIMBABWE SCHOOL EXAMINATIONS COUNCIL. COMPUTER STUDIES 7014/01 PAPER 1 Multiple Choice SPECIMEN PAPER

Introduction to Information System Layers and Hardware. Introduction to Information System Components Chapter 1 Part 1 of 4 CA M S Mehta, FCA

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

Understanding Digital Components

Chapter One Introduction to Programming

Creating a Simple Visual C++ Program

Basics of Computer 1.1 INTRODUCTION 1.2 OBJECTIVES

Chap-02, Hardware and Software. Hardware Model

Lesson 06: Basics of Software Development (W02D2

Chapter 1. Introduction to Computers, Programs, and Java

Discovering Computers Living in a Digital World

A Computer Glossary. For the New York Farm Viability Institute Computer Training Courses

Chapter 1 Introduction to Computers, Programs, and Java

COMPUTER BASICS. Seema Sirpal Delhi University Computer Centre

Writing Assignment #2 due Today (5:00pm) - Post on your CSC101 webpage - Ask if you have questions! Lab #2 Today. Quiz #1 Tomorrow (Lectures 1-7)

The Central Processing Unit:

#820 Computer Programming 1A

Software: Systems and Application Software

Chapter 8: Installing Linux The Complete Guide To Linux System Administration Modified by M. L. Malone, 11/05

CHAPTER 1 ENGINEERING PROBLEM SOLVING. Copyright 2013 Pearson Education, Inc.

Computer Programming I & II*

C Programming. for Embedded Microcontrollers. Warwick A. Smith. Postbus 11. Elektor International Media BV. 6114ZG Susteren The Netherlands

File Management Windows XP Word What is File Management?

TEST CHAPTERS 1 & 2 OPERATING SYSTEMS

Memory is implemented as an array of electronic switches

Chapter 12 Programming Concepts and Languages

File Management Using Microsoft Windows

Chapter 1. Dr. Chris Irwin Davis Phone: (972) Office: ECSS CS-4337 Organization of Programming Languages

An Incomplete C++ Primer. University of Wyoming MA 5310

Module 1 Introduction to Information and Communication Technologies

2. Advance Certificate Course in Information Technology

Programming Languages

Figure 1. Front and Back of a Computer Case

Chapter 13: Program Development and Programming Languages

CSCA0201 FUNDAMENTALS OF COMPUTING. Chapter 5 Storage Devices

C++ Programming: From Problem Analysis to Program Design, Fifth Edition. Chapter 3: Input/Output

Introduction to programming

Computer Hardware HARDWARE. Computer Hardware. Mainboard (Motherboard) Instructor Özgür ZEYDAN

Database Fundamentals

EKT150 Introduction to Computer Programming. Wk1-Introduction to Computer and Computer Program

Running your first Linux Program

Maryland Technology Literacy Standards for Students

GCSE. Mark Scheme for January Computing (Pilot) General Certificate of Secondary Education Unit A451: Computer systems and programming

McGraw-Hill The McGraw-Hill Companies, Inc.,

How To Understand The Computer (For A Computer)

Password Changer for DOS User Guide

ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER

Transcription:

Chapter 1: Introduction to Computers and Programming 11 1.1 Why Program? 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 12 1.2 Computer Systems: Hardware and Software SO, without programmers, no programs; without programs, a computer cannot do anything Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-3

Main Hardware Component Categories: Main Hardware Component Categories 1. Central Processing Unit (CPU) 2. Main Memory 3. Secondary Memory / Storage 4. Input Devices 5. Output Devices Figure 1-1 1 Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-5 Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-6 Central Processing Unit (CPU) CPU Organization Comprised of: Control Unit Retrieves and decodes program instructions Coordinates activities of all other parts of computer Arithmetic & Logic Unit Hardware optimized for high-speed numeric calculation Hardware designed for true/false, yes/no decisions Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-7 Figure 1-2 Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-8

Main Memory Main Memory It is volatile. Main memory is erased when program terminates or computer is turned off Also called Random Access Memory (RAM) Organized as follows: bit: smallest piece of memory. Has values 0 (off, false) or 1 (on, true) byte: 8 consecutive bits. Bytes have addresses Addresses Each byte in memory is identified by a unique number known as an address Other units for measuring memory sizes: Kilobyte (KB) = 1024 bytes Megabyte (MB) = 1024 KB Gigabyte (GB) = 1024 MB Terabyte (TB) = 1024 GB Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-9 Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-10 Main Memory Secondary Storage In the above figure, the number 149 (10010101 in binary) is stored in the byte with the address 16, and the number 72 (1001000 in binary) is stored at address 23. Non-volatile: data retained when program is not running or computer is turned off Comes in a variety of media: magnetic: floppy disk, hard drive optical: CD-ROM, DVD Flash drives, connected to the USB port Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-11 Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-12

Input Devices Output Devices Devices that send information to the computer from outside Many devices can provide input: Keyboard, mouse, scanner, digital it camera, microphone Disk drives, CD drives, and DVD drives Output is information sent from a computer program to the outside world. The output is sent to an output device Many devices can be used for output: t Computer monitor and printer Disk drives Writable CD and DVD drives Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-13 Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-14 Software Programs That Run on a Computer Categories of software: Operating system: programs that t manage the computer hardware and the programs that run on them. Examples: Windows, UNIX, Linux, MacOS Application software: programs that provide services to the user. They solve specific problems. Examples : word processing, games, programs to solve specific problems 13 1.3 Programs and Programming Languages Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-15

Programs and Programming Languages Example Algorithm for Calculating Gross Pay A program is a set of instructions that the computer follows to perform a task A programming language is a special language used to write computer programs We start with an algorithm, which is a set of well-defined steps for solving a problem Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-17 Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-18 Machine Language g Machine Language g Although the previous algorithm defines the steps for calculating the gross pay, it is not ready to be executed on the computer. The computer only executes machine language g instructions. Machine language instructions are binary numbers, such as 1011010000000101 Rather than writing programs in machine language, programmers use high level programming languages. Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-19 Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-20

Programs and Programming Languages Types of languages: Low-level: used for communication with computer hardware directly. Often written in binary machine code (0 s/1 s) directly. High-level: closer to human language Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-21 Some Well-Known Programming Languages (Table 1-1 1on Page 9) BASIC FORTRAN COBOL C# C C++ Java Python Ruby Visual Basic JavaScript Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-22 From a High-level Program to an Executable File From a High-level Program to an Executable File a) Create file containing the program with a text editor. b) Run preprocessor to convert source file directives to source code program statements. c) Run compiler to convert source program into machine instructions. d) Run linker to connect hardware-specific code to machine instructions,,producing an executable file. Steps b c or even b d are often performed by a single command or button click. Errors detected at any step will prevent execution of following steps. Source Code Preprocessor Modified Source Code Compiler Object Code Linker Executable Code Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-23 Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-24

Integrated Development Environments (IDEs) Integrated Development Environments (IDEs) An integrated development environment, or IDE, combine all the tools needed to write, compile, and debug a program into a single software application. Examples are Microsoft Visual Studio, Turbo C++ Explorer, CodeWarrior, etc. Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-25 Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-26 What Is a Program Made Of? 14 1.4 What Is a Program Made Of? A program is a text file containing lines of codes in some programming language Common elements in programming languages: Key Words Programmer-Defined Identifiers Operators Punctuation Syntax Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-28

Program 1-1 1 Key Words 1 // This program calculates the user's s pay. 2 #include <iostream> 3 using namespace std; 4 5 int main() 6 { 7 double hours, rate, pay; 8 9 // Get the number of hours worked. 10 cout << "How many hours did you work? "; 11 cin >> hours; 12 13 // Get the hourly pay rate. 14 cout << "How much do you get paid per hour? "; 15 cin >> rate; 16 17 // Calculate the pay. 18 pay = hours * rate; 19 20 // Display the pay. 21 cout << "You have earned $" << pay << endl; 22 return 0; 23 } (Note: The line numbers are not part of the program) Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-29 Also known as reserved words Have a special meaning in C++ Can not be used for any other purpose Key words in the Program 1-1: using, namespace,, int,, double,, and return. In Visual Studio, key words will be displayed d in blue color Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-30 Key Words Programmer-Defined Identifiers 1 // This program calculates the user's pay. 2 #include <iostream> 3 using namespace std; 4 5 int main() 6 { 7 double hours, rate, pay; 8 9 // Get the number of hours worked. 10 cout << "How many hours did you work? "; 11 cin >> hours; 12 13 // Get the hourly pay rate. 14 cout << "How much do you get paid per hour? "; 15 cin >> rate; 16 17 // Calculate the pay. 18 pay = hours * rate; 19 20 // Display the pay. 21 cout << "You have earned $" << pay << endl; 22 return 0; 23 } Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-31 Names made up by the programmer Not part of the C++ language Used to represent various things: variables (memory locations), functions, etc. In Program 1-1: hours,, rate,, and pay. Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-32

Programmer-Defined Identifiers Operators 1 // This program calculates the user's pay. 2 #include <iostream> 3 using namespace std; 4 5 int main() 6 { 7 double hours, rate, pay; 8 9 // Get the number of hours worked. 10 cout << "How many hours did you work? "; 11 cin >> hours; 12 13 // Get the hourly pay rate. 14 cout << "How much do you get paid per hour? "; 15 cin >> rate; 16 17 // Calculate the pay. 18 pay = hours * rate; 19 20 // Display the pay. 21 cout << "You have earned $" << pay << endl; 22 return 0; 23 } Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-33 Used to perform operations on data Many types of operators: Arithmetic ti - ex: +,-,*,/ Assignment ex: = Some operators in Program1-1: << >> = * Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-34 Operators Punctuation 1 // This program calculates the user's pay. 2 #include <iostream> 3 using namespace std; 4 5 int main() 6 { 7 double hours, rate, pay; 8 9 // Get the number of hours worked. 10 cout << "How many hours did you work? "; 11 cin >> hours; 12 13 // Get the hourly pay rate. 14 cout << "How much do you get paid per hour? "; 15 cin >> rate; 16 17 // Calculate the pay. 18 pay = hours * rate; 19 20 // Display the pay. 21 cout << "You have earned $" << pay << endl; 22 return 0; 23 } Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-35 Characters that mark the end of a statement, or that separate items in a list In Program 1-1:, and ; Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-36

Punctuation Syntax 1 // This program calculates the user's pay. 2 #include <iostream> 3 using namespace std; 4 5 int main() 6 { 7 double hours, rate, pay; 8 9 // Get the number of hours worked. 10 cout << "How many hours did you work? "; 11 cin >> hours; 12 13 // Get the hourly pay rate. 14 cout << "How much do you get paid per hour? "; 15 cin >> rate; 16 17 // Calculate the pay. 18 pay = hours * rate; 19 20 // Display the pay. 21 cout << "You have earned $" << pay << endl; 22 return 0; 23 } Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-37 The rules of grammar that must be followed when writing a program Controls the use of key words, operators, programmer-defined symbols, and punctuation Rules for programming g languages g are more rigid than English Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-38 Lines and Statements A program is usually written in a sequence of lines and statements Most lines contain meaningful information Some lines are empty to make the program more readable Most lines contain one statement which is a complete instruction that causes the computer to do something Ex: cout << How many hours did you work? ; Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-39 Variables A variable is a named storage location in the computer s memory for holding a piece of data. In Program 1-1 we used three variables: The hours variable was used to hold the hours worked The rate variable was used to hold the pay rate The pay variable was used to hold the gross pay Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-40

Variable Definitions Variable Definitions To create a variable in a program you must write a variable definition (also called a variable declaration) Here is the statement from Program 1-1 that defines the variables: double hours, rate, pay; There are many different types of data, which you will learn about in this course. A variable holds a specific type of data. The variable definition iti specifies the type of data a variable can hold, and the variable name. Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-41 Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-42 Variable Definitions Once again, line 7 from Program 1-1: double hours, rate, pay; The word double specifies that the variables can hold double-precision floating gp point numbers. (You will learn more about that in Chapter 2) 15 1.5 Input, Processing, and Output Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-43

Input, Processing, and Output Three steps that a program typically performs: 1) Gather input data: from keyboard from files on disk drives 2) Process the input data 3) Display the results as output: send dit to the screen write to a file 16 1.6 The Programming Process Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-45 The Programming g Process The Programming g Process The programming process consists of several steps, which include designing, creating, testing, and debugging activities Software engineering is related to the whole process of developing computer software Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-47 Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-48

Procedural and Object-Oriented Programming 17 1.7 Procedural and Object-Oriented Programming Procedural programming: focus is on the process. Procedures/functions (sequence of instructions) are written to perform specific tasks. Object-oriented programming: focus is on objects, which contain data and the procedures to manipulate the data. Messages are sent to objects to perform operations. C++ support both programming methods. Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-50 Procedural and Non-procedural Paradigms Two traditional programming paradigms: 1) procedural implementation ti of an algorithm; the programmer specifies exactly how a problem solution must be coded 2) nonprocedural specifying the goal and let the system determine how to accomplish it; focusing on what is to be accomplished C++ consists of both paradigms Copyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-51