SlideShare una empresa de Scribd logo
1 de 61
1
          Chapter 1 – Introduction to Computers
                 and C++ Programming
     Outline
     1.1     Introduction
     1.2     What is a Computer?
     1.3     Computer Organization
     1.4     Evolution of Operating Systems
     1.5     Personal Computing, Distributed Computing and
     Client/Server Computing
     1.6     Machine Languages, Assembly Languages, and High-Level
             Languages
     1.7     History of C and C++
     1.8     C++ Standard Library
     1.9     Java
     1.10    Visual Basic, Visual C++ and C#
     1.11    Other High-Level Languages
     1.12    Structured Programming
     1.13    The Key Software Trend: Object Technology
     1.14    Basics of a Typical C++ Environment
     1.15    Hardware Trends

© 2003 Prentice Hall, Inc. All rights reserved.
2
          Chapter 1 – Introduction to Computers
                 and C++ Programming
     Outline
     1.16           History of the Internet
     1.17           History of the World Wide Web
     1.18           World Wide Web Consortium (W3C)
     1.19           General Notes About C++ and This Book
     1.20           Introduction to C++ Programming
     1.21           A Simple Program: Printing a Line of Text
     1.22           Another Simple Program: Adding Two Integers
     1.23           Memory Concepts
     1.24           Arithmetic
     1.25           Decision Making: Equality and Relational Operators
     1.26           Thinking About Objects: Introduction to Object Technology
                    and the Unified Modeling Language




© 2003 Prentice Hall, Inc. All rights reserved.
3
                                                  1.1 Introduction

      • Software
              – Instructions to command computer to perform actions and
                make decisions
      • Hardware
      • Standardized version of C++
              – United States
                     • American National Standards Institute (ANSI)
              – Worldwide
                     • International Organization for Standardization (ISO)
      • Structured programming
      • Object-oriented programming

© 2003 Prentice Hall, Inc. All rights reserved.
4
                                1.2               What is a Computer?

      • Computer
              – Device capable of performing computations and making
                logical decisions
      • Computer programs
              – Sets of instructions that control computer’s processing of
                data
      • Hardware
              – Various devices comprising computer
                     • Keyboard, screen, mouse, disks, memory, CD-ROM,
                       processing units, …
      • Software
              – Programs that run on computer

© 2003 Prentice Hall, Inc. All rights reserved.
5
                               1.3 Computer Organization

      •        Six logical units of computer
              1. Input unit
                     •      “Receiving” section
                     •      Obtains information from input devices
                             – Keyboard, mouse, microphone, scanner, networks, …
              1. Output unit
                     •      “Shipping” section
                     •      Takes information processed by computer
                     •      Places information on output devices
                             – Screen, printer, networks, …
                             – Information used to control other devices




© 2003 Prentice Hall, Inc. All rights reserved.
6
                               1.3 Computer Organization

      •        Six logical units of computer
              3. Memory unit
                     •      Rapid access, relatively low capacity “warehouse” section
                     •      Retains information from input unit
                            – Immediately available for processing
                     •      Retains processed information
                            – Until placed on output devices
                     •      Memory, primary memory
              4. Arithmetic and logic unit (ALU)
                     •      “Manufacturing” section
                     •      Performs arithmetic calculations and logic decisions




© 2003 Prentice Hall, Inc. All rights reserved.
7
                               1.3 Computer Organization

      •        Six logical units of computer
              5. Central processing unit (CPU)
                     •      “Administrative” section
                     •      Supervises and coordinates other sections of computer
              5. Secondary storage unit
                     •      Long-term, high-capacity “warehouse” section
                     •      Storage
                             – Inactive programs or data
                     •      Secondary storage devices
                             – Disks
                     •      Longer to access than primary memory
                     •      Less expensive per unit than primary memory


© 2003 Prentice Hall, Inc. All rights reserved.
8
                    1.4 Evolution of Operating Systems

      • Early computers
              – Single-user batch processing
                     • Only one job or task at a time
                     • Process data in groups (batches)
                     • Decks of punched cards
      • Operating systems
              – Software systems
              – Manage transitions between jobs
              – Increased throughput
                     • Amount of work computers process




© 2003 Prentice Hall, Inc. All rights reserved.
9
                    1.4 Evolution of Operating Systems

      • Multiprogramming
              – Many jobs or tasks sharing computer’s resources
              – “Simultaneous” operation of many jobs
      • Timesharing
              – 1960s
              – Special case of multiprogramming
              – Users access computer through terminals
                     • Devices with keyboards and screens
                     • Dozens, even hundreds of users
              – Perform small portion of one user’s job, then moves on to
                service next user
              – Advantage:
                     • User receives almost immediate responses to requests


© 2003 Prentice Hall, Inc. All rights reserved.
10
            1.5 Personal Computing, Distributed
          Computing, and Client/Server Computing
      • Personal computers
              –    1977: Apple Computer
              –    Economical enough for individual
              –    1981: IBM Personal Computer
              –    “Standalone” units
      • Computer networks
              – Over telephone lines
              – Local area networks (LANs)
      • Distributed computing
              – Organization’s computing distributed over networks



© 2003 Prentice Hall, Inc. All rights reserved.
11
            1.5 Personal Computing, Distributed
          Computing, and Client/Server Computing
      • Workstations
              – Provide enormous capabilities
              – Information shared across networks
      • Client/server computing
              – File servers
                     • Offer common store of programs and data
              – Client computers
                     • Access file servers across network
      • UNIX, Linux, Microsoft’s Window-based systems




© 2003 Prentice Hall, Inc. All rights reserved.
12
                1.6 Machine Languages, Assembly
              Languages, and High-level Languages
      •        Three types of computer languages
              1. Machine language
                     •      Only language computer directly understands
                     •      “Natural language” of computer
                     •      Defined by hardware design
                             – Machine-dependent
                     •      Generally consist of strings of numbers
                             – Ultimately 0s and 1s
                     •      Instruct computers to perform elementary operations
                             – One at a time
                     •      Cumbersome for humans
                     •      Example:
                                 +1300042774
                                 +1400593419
                                 +1200274027

© 2003 Prentice Hall, Inc. All rights reserved.
13
                1.6 Machine Languages, Assembly
              Languages, and High-level Languages
      •        Three types of computer languages
              2. Assembly language
                     •      English-like abbreviations representing elementary computer
                            operations
                     •      Clearer to humans
                     •      Incomprehensible to computers
                             – Translator programs (assemblers)
                                 • Convert to machine language
                     •      Example:
                                LOAD      BASEPAY
                                ADD       OVERPAY
                                STORE GROSSPAY



© 2003 Prentice Hall, Inc. All rights reserved.
14
                1.6 Machine Languages, Assembly
              Languages, and High-level Languages
      •        Three types of computer languages
              3. High-level languages
                     •      Similar to everyday English, use common mathematical
                            notations
                     •      Single statements accomplish substantial tasks
                             – Assembly language requires many instructions to
                                 accomplish simple tasks
                     •      Translator programs (compilers)
                             – Convert to machine language
                     •      Interpreter programs
                             – Directly execute high-level language programs
                     •      Example:
                                 grossPay = basePay + overTimePay


© 2003 Prentice Hall, Inc. All rights reserved.
15
                                   1.7 History of C and C++

      • History of C
              – Evolved from two other programming languages
                     • BCPL and B
                        – “Typeless” languages
              – Dennis Ritchie (Bell Laboratories)
                     • Added data typing, other features
              – Development language of UNIX
              – Hardware independent
                     • Portable programs
              – 1989: ANSI standard
              – 1990: ANSI and ISO standard published
                     • ANSI/ISO 9899: 1990


© 2003 Prentice Hall, Inc. All rights reserved.
16
                                   1.7 History of C and C++

      • History of C++
              –    Extension of C
              –    Early 1980s: Bjarne Stroustrup (Bell Laboratories)
              –    “Spruces up” C
              –    Provides capabilities for object-oriented programming
                     • Objects: reusable software components
                        – Model items in real world
                     • Object-oriented programs
                        – Easy to understand, correct and modify
              – Hybrid language
                     • C-like style
                     • Object-oriented style
                     • Both

© 2003 Prentice Hall, Inc. All rights reserved.
17
                                  1.8 C++ Standard Library

      • C++ programs
              – Built from pieces called classes and functions
      • C++ standard library
              – Rich collections of existing classes and functions
      • “Building block approach” to creating programs
              – “Software reuse”




© 2003 Prentice Hall, Inc. All rights reserved.
18
                                                  1.9 Java

      • Java
              – 1991: Sun Microsystems
                     • Green project
              – 1995: Sun Microsystems
                     • Formally announced Java at trade show
              –    Web pages with dynamic and interactive content
              –    Develop large-scale enterprise applications
              –    Enhance functionality of web servers
              –    Provide applications for consumer devices
                     • Cell phones, pagers, personal digital assistants, …




© 2003 Prentice Hall, Inc. All rights reserved.
19
                 1.10 Visual Basic, Visual C++ and C#

      • BASIC
              – Beginner’s All-Purpose Symbolic Instruction Code
              – Mid-1960s: Prof. John Kemeny and Thomas Kurtz
                (Dartmouth College)
      • Visual Basic
              – 1991
                     • Result of Microsoft Windows graphical user interface (GUI)
                         – Developed late 1980s, early 1990s
              – Powerful features
                     • GUI, event handling, access to Win32 API, object-oriented
                       programming, error handling
              – Visual Basic .NET


© 2003 Prentice Hall, Inc. All rights reserved.
20
                 1.10 Visual Basic, Visual C++ and C#

      • Visual C++
              – Microsoft’s implementation of C++
                     • Includes extensions
                     • Microsoft Foundation Classes (MFC)
                     • Common library
                         – GUI, graphics, networking, multithreading, …
                         – Shared among Visual Basic, Visual C++, C#
      • .NET platform
              – Web-based applications
                     • Distributed to great variety of devices
                         – Cell phones, desktop computers
              – Applications in disparate languages can communicate


© 2003 Prentice Hall, Inc. All rights reserved.
21
                 1.10 Visual Basic, Visual C++ and C#

      • C#
              – Anders Hejlsberg and Scott Wiltamuth (Microsoft)
              – Designed specifically for .NET platform
              – Roots in C, C++ and Java
                     • Easy migration to .NET
              – Event-driven, fully object-oriented, visual programming
                language
              – Integrated Development Environment (IDE)
                     • Create, run, test and debug C# programs
                     • Rapid Application Development (RAD)
              – Language interoperability



© 2003 Prentice Hall, Inc. All rights reserved.
22
                       1.11 Other High-level Languages

      • FORTRAN
              – FORmula TRANslator
              – 1954-1957: IBM
              – Complex mathematical computations
                     • Scientific and engineering applications
      • COBOL
              – COmmon Business Oriented Language
              – 1959: computer manufacturers, government and industrial
                computer users
              – Precise and efficient manipulation of large amounts of data
                     • Commercial applications



© 2003 Prentice Hall, Inc. All rights reserved.
23
                       1.11 Other High-level Languages

      • Pascal
              – Prof. Niklaus Wirth
              – Academic use




© 2003 Prentice Hall, Inc. All rights reserved.
24
                            1.12 Structured Programming

      • Structured programming (1960s)
              – Disciplined approach to writing programs
              – Clear, easy to test and debug, and easy to modify
      • Pascal
              – 1971: Niklaus Wirth
      • Ada
              – 1970s - early 1980s: US Department of Defense (DoD)
              – Multitasking
                     • Programmer can specify many activities to run in parallel




© 2003 Prentice Hall, Inc. All rights reserved.
25
                  1.13 The Key Software Trend: Object
                              Technology
      • Objects
              – Reusable software components that model real world items
              – Meaningful software units
                     • Date objects, time objects, paycheck objects, invoice objects,
                       audio objects, video objects, file objects, record objects, etc.
                     • Any noun can be represented as an object
              – More understandable, better organized and easier to maintain
                than procedural programming
              – Favor modularity
                     • Software reuse
                         – Libraries
                             • MFC (Microsoft Foundation Classes)
                             • Rogue Wave

© 2003 Prentice Hall, Inc. All rights reserved.
26
            1.14 Basics of a Typical C++ Environment

      • C++ systems
              – Program-development environment
              – Language
              – C++ Standard Library




© 2003 Prentice Hall, Inc. All rights reserved.
27
            1.14 Basics of a Typical C++ Environment
                                                                            Program is created in
                                                      Editor
Phases of C++ Programs:                                          Disk       the editor and stored
                                                                            on disk.

                                                  Preprocessor              Preprocessor program
     1. Edit
                                                                 Disk
                                                                            processes the code.
                                                                            Compiler creates
                                                     Compiler    Disk       object code and stores
     2. Preprocess                                                          it on disk.
                                                                            Linker links the object
                                                      Linker     Disk       code with the libraries,
     3. Compile                                                   Primary
                                                                            creates a.out and
                                                                            stores it on disk
                                                                  Memory
                                                      Loader
     4. Link                                                                Loader puts program
                                                                            in memory.
                                                        Disk
     5. Load                                                            .
                                                                        .
                                                                        .
                                                                        .
                                                                        .
                                                                        .



                                                                  Primary
     6. Execute                                          CPU
                                                                  Memory

                                                                            CPU takes each
                                                                            instruction and
                                                                            executes it, possibly
                                                                            storing new data
                                                                        .
                                                                        .
                                                                        .
                                                                        .   values as the program
                                                                        .
                                                                        .
                                                                            executes.
© 2003 Prentice Hall, Inc. All rights reserved.
28
            1.14 Basics of a Typical C++ Environment

      • Input/output
              – cin
                     • Standard input stream
                     • Normally keyboard
              – cout
                     • Standard output stream
                     • Normally computer screen
              – cerr
                     • Standard error stream
                     • Display error messages




© 2003 Prentice Hall, Inc. All rights reserved.
29
                                      1.15 Hardware Trends
    • Capacities of computers
           – Approximately double every year or two
           – Memory used to execute programs
           – Amount of secondary storage
                   • Disk storage
                   • Hold programs and data over long term
           – Processor speeds
                   • Speed at which computers execute programs




© 2003 Prentice Hall, Inc. All rights reserved.
30
                                1.16 History of the Internet

      • Late 1960s: ARPA
              – Advanced Research Projects Agency
                     • Department of Defense
              – ARPAnet
              – Electronic mail (e-mail)
      • Packet switching
              – Transfer digital data via small packets
              – Allow multiple users to send/receive data simultaneously
                over same communication paths
      • No centralized control
              – If one part of network fails, other parts can still operate


© 2003 Prentice Hall, Inc. All rights reserved.
31
                                1.16 History of the Internet

      • TCP/IP
              – Transmission Control Protocol (TCP)
                     • Messages routed properly
                     • Messages arrived intact
              – Internet Protocol (IP)
                     • Communication among variety of networking hardware and
                       software
                     • Current architecture of Internet
      • Bandwidth
              – Carrying capacity of communications lines




© 2003 Prentice Hall, Inc. All rights reserved.
32
                    1.17 History of the World Wide Web

      • World Wide Web
              –    1990: Tim Berners-Lee (CERN)
              –    Locate and view multimedia-based documents
              –    Information instantly and conveniently accessible worldwide
              –    Possible worldwide exposure
                     • Individuals and small businesses
              – Changing way business done




© 2003 Prentice Hall, Inc. All rights reserved.
33
            1.18 World Wide Web Consortium (W3C)

      • World Wide Web Consortium (W3C)
              –    1994: Tim Berners-Lee
              –    Develop nonproprietary, interoperable technologies
              –    Standardization organization
              –    Three hosts
                     • Massachusetts Institute of Technology (MIT)
                     • France’s INRIA (Institut National de Recherche en
                       Informatique et Automatique)
                     • Keio University of Japan
              – Over 400 members
                     • Primary financing
                     • Strategic direction


© 2003 Prentice Hall, Inc. All rights reserved.
34
            1.18 World Wide Web Consortium (W3C)

      • Recommendations
              – 3 phases
                     • Working Draft
                         – Specifies evolving draft
                     • Candidate Recommendation
                         – Stable version that industry can begin to implement
                     • Proposed Recommendation
                         – Considerably mature Candidate Recommendation




© 2003 Prentice Hall, Inc. All rights reserved.
35
                          1.19 General Notes About C++
                                  and This Book
      • Book geared toward novice programmers
              – Stress programming clarity
              – C and C++ are portable languages
      • Portability
              – C and C++ programs can run on many different computers
      • Compatibility
              – Many features of current versions of C++ not compatible
                with older implementations




© 2003 Prentice Hall, Inc. All rights reserved.
36
               1.20 Introduction to C++ Programming

      • C++ language
              – Facilitates structured and disciplined approach to computer
                program design
      • Following several examples
              – Illustrate many important features of C++
              – Each analyzed one statement at a time
      • Structured programming
      • Object-oriented programming




© 2003 Prentice Hall, Inc. All rights reserved.
37
                                    1.21 A Simple Program:
                                     Printing a Line of Text
      • Comments
              –    Document programs
              –    Improve program readability
              –    Ignored by compiler
              –    Single-line comment
                     • Begin with //
      • Preprocessor directives
              – Processed by preprocessor before compiling
              – Begin with #




© 2003 Prentice Hall, Inc. All rights reserved.
38
1
2
     // Fig. 1.2: fig01_02.cpp
     // A first program in C++.
                                                    Single-line comments.                     Outline
3                      Function main
     #include <iostream>                returns an
4                      integer value. begins Preprocessor directive to
                        Left brace {          function
5    // function main   body.                include input/output Statements end with afig01_02.cpp
                      begins program execution appears
                                   Function main                  stream
                                             header file <iostream>.                   (1 of 1)
6    int main()                    exactly once in every C++ semicolon ;.
7    {                             program..
8       std::cout << "Welcome to C++!n";                                              fig01_02.cpp
9                        Corresponding right brace }                                 output (1 of 1)
10      return 0;   //   ends function body.
                         indicate that program ended successfully
11                             Name cout belongs to operator.
                                        Stream insertion
12   } // end function   main namespace std.

                                     Keyword return is one of
Welcome to C++!
                                     several means to exit
                                     function; value 0 indicates
                                     program terminated
                                     successfully.




                                                                                     © 2003 Prentice Hall, Inc.
                                                                                     All rights reserved.
39
                                    1.21 A Simple Program:
                                     Printing a Line of Text
      • Standard output stream object
              – std::cout
              – “Connected” to screen
              – <<
                     • Stream insertion operator
                     • Value to right (right operand) inserted into output stream
      • Namespace
              – std:: specifies using name that belongs to “namespace”
                std
              – std:: removed through use of using statements
      • Escape characters
              – 
              – Indicates “special” character output

© 2003 Prentice Hall, Inc. All rights reserved.
40
                                    1.21 A Simple Program:
                                     Printing a Line of Text


               Escape Sequence                    Description

               n                                 Newline. Position the screen cursor to the
                                                  beginning of the next line.
               t                                 Horizontal tab. Move the screen cursor to the next
                                                  tab stop.
               r                                 Carriage return. Position the screen cursor to the
                                                  beginning of the current line; do not advance to the
                                                  next line.
               a                                 Alert. Sound the system bell.
                                                Backslash. Used to print a backslash character.
               "                                 Double quote. Used to print a double quote
                                                  character.




© 2003 Prentice Hall, Inc. All rights reserved.
41
1
2
     // Fig. 1.4: fig01_04.cpp
     // Printing a line with multiple statements.
                                                                                            Outline
3    #include <iostream>
4
                                                                                   fig01_04.cpp
5    // function main begins program execution      Multiple stream insertion      (1 of 1)
6    int main()                                     statements produce one line of
7    {                                              output.
8       std::cout << "Welcome ";                                                   fig01_04.cpp
9       std::cout << "to C++!n";                                                  output (1 of 1)
10
11      return 0;   // indicate that program ended successfully
12
13   } // end function main

Welcome to C++!




                                                                                   © 2003 Prentice Hall, Inc.
                                                                                   All rights reserved.
42
1
2
     // Fig. 1.5: fig01_05.cpp
     // Printing multiple lines with a single statement
                                                                                        Outline
3    #include <iostream>
4
                                                                               fig01_05.cpp
5    // function main begins program execution Using newline characters   to
                                               print on multiple lines.        (1 of 1)
6    int main()
7    {
8       std::cout << "WelcomentonnC++!n";                                  fig01_05.cpp
9                                                                              output (1 of 1)
10      return 0;   // indicate that program ended successfully
11
12   } // end function main

Welcome
to

C++!




                                                                               © 2003 Prentice Hall, Inc.
                                                                               All rights reserved.
43
                           1.22 Another Simple Program:
                               Adding Two Integers
      • Variables
              – Location in memory where value can be stored
              – Common data types
                     • int - integer numbers
                     • char - characters
                     • double - floating point numbers
              – Declare variables with name and data type before use
                     int integer1;
                     int integer2;
                     int sum;
              – Can declare several variables of same type in one declaration
                     • Comma-separated list
                     int integer1, integer2, sum;

© 2003 Prentice Hall, Inc. All rights reserved.
44
                           1.22 Another Simple Program:
                                Adding Two Integers
      • Variables
              – Variable names
                     • Valid identifier
                        – Series of characters (letters, digits, underscores)
                        – Cannot begin with digit
                        – Case sensitive




© 2003 Prentice Hall, Inc. All rights reserved.
45
                           1.22 Another Simple Program:
                                Adding Two Integers
      • Input stream object
              – >> (stream extraction operator)
                     • Used with std::cin
                     • Waits for user to input value, then press Enter (Return) key
                     • Stores value in variable to right of operator
                         – Converts value to variable data type
      • = (assignment operator)
              – Assigns value to variable
              – Binary operator (two operands)
              – Example:
                             sum = variable1 + variable2;




© 2003 Prentice Hall, Inc. All rights reserved.
46
1
2
     // Fig. 1.6: fig01_06.cpp
     // Addition program.
                                                                                                Outline
3    #include <iostream>
4
                                                                                       fig01_06.cpp
5    // function main begins program execution
                                                                                       (1 of 1)
6    int main()
7    {                                  Declare integer variables.
8       int integer1; // first number to be input by user
9       int integer2; // second number to be input by user
10      int sum;
                                   Use stream extraction
                       // variable in which sum will be stored
11                                   operator with standard input
12      std::cout << "Enter first    stream to obtain user input.
                                    integern"; // prompt
13      std::cin >> integer1;                     // read an integer
14
15      std::cout << "Enter second integern"; // prompt
16      std::cin >> integer2;      Calculations // read an integer output
                                                can be performed in
                                                                 Stream manipulatoralternative for
                                                                          statements:
17                                 lines 18 and 20:              std::endl outputs a
18      sum = integer1 + integer2; // assign result to sum
19
                                                                 newline, then “flushes output
                                   std::cout << "Sum is " << integer1 + integer2 << std::endl;
20      std::cout << "Sum is " << sum << std::endl; // print sum buffer.”
21
22      return 0;   // indicate that program ended successfully
23
24   } // end function main                               Concatenating, chaining or
                                                          cascading stream insertion
                                                          operations.


                                                                                       © 2003 Prentice Hall, Inc.
                                                                                       All rights reserved.
47
Enter first integer
45
                                Outline
Enter second integer
72
                       fig01_06.cpp
Sum is 117
                       output (1 of 1)




                       © 2003 Prentice Hall, Inc.
                       All rights reserved.
48
                                    1.23 Memory Concepts

      • Variable names
              – Correspond to actual locations in computer's memory
              – Every variable has name, type, size and value
              – When new value placed into variable, overwrites previous
                value
              – Reading variables from memory nondestructive




© 2003 Prentice Hall, Inc. All rights reserved.
49
                                    1.23 Memory Concepts

      std::cin >> integer1;                         integer1     45
              – Assume user entered 45


      std::cin >> integer2;                         integer1     45
              – Assume user entered 72              integer2     72



      sum = integer1 + integer2;                    integer1     45
                                                    integer2     72
                                                           sum   117




© 2003 Prentice Hall, Inc. All rights reserved.
50
                                            1.24   Arithmetic

      • Arithmetic calculations
              – *
                     • Multiplication
              – /
                     • Division
                     • Integer division truncates remainder
                         – 7 / 5 evaluates to 1
              – %
                     • Modulus operator returns remainder
                        – 7 % 5 evaluates to 2




© 2003 Prentice Hall, Inc. All rights reserved.
51
                                            1.24            Arithmetic

      • Rules of operator precedence
               – Operators in parentheses evaluated first
                     • Nested/embedded parentheses
                        – Operators in innermost pair first
               – Multiplication, division, modulus applied next
                     • Operators applied from left to right
               – Addition, subtraction applied last
      Operator(s)    • Operators applied from leftof evaluation (precedence)
                           Operation(s)      Order to right

      ()                         Parentheses              Evaluated first. If the parentheses are nested, the
                                                          expression in the innermost pair is evaluated first. If
                                                          there are several pairs of parentheses “on the same level”
                                                          (i.e., not nested), they are evaluated left to right.
      *, /, or %                 Multiplication Division Evaluated second. If there are several, they re
                                 Modulus                 evaluated left to right.
      + or -                     Addition                 Evaluated last. If there are several, they are
                                 Subtraction              evaluated left to right.


© 2003 Prentice Hall, Inc. All rights reserved.
52
                   1.25 Decision Making: Equality and
                          Relational Operators
      • if structure
              – Make decision based on truth or falsity of condition
                     • If condition met, body executed
                     • Else, body not executed
      • Equality and relational operators
              – Equality operators
                     • Same level of precedence
              – Relational operators
                     • Same level of precedence
              – Associate left to right




© 2003 Prentice Hall, Inc. All rights reserved.
53
                   1.25 Decision Making: Equality and
                          Relational Operators

Standard algebraic                  C++ equality    Example     Meaning of
equality operator or                or relational   of C++      C++ condition
relational operator                 operator        condition
Relational operators
>                                   >               x > y       x is greater than y
<                                   <               x < y       x is less than y

≥                                   >=              x >= y      x is greater than or equal to y

≤                                   <=              x <= y      x is less than or equal to y

Equality operators
=                                   ==              x == y      x is equal to y

≠                                   !=              x != y      x is not equal to y




© 2003 Prentice Hall, Inc. All rights reserved.
54
                   1.25 Decision Making: Equality and
                          Relational Operators
      • using statements
              – Eliminate use of std:: prefix
              – Write cout instead of std::cout




© 2003 Prentice Hall, Inc. All rights reserved.
55
1
2
     // Fig. 1.14: fig01_14.cpp
     // Using if statements, relational
                                                                                               Outline
3    // operators, and equality operators.
4    #include <iostream>
                                                                                      fig01_14.cpp
5
                                                                                      (1 of 2)
6    using std::cout;   // program uses cout
7    using std::cin;    // program uses cin        using statements eliminate
8    using std::endl;   // program uses endl       need for std:: prefix.
9
10                                 Declare variables.
     // function main begins program execution
11   int main()
12   {
13      int num1; // first number write cout and cin
                              Can to be read from user
14                            without std:: prefix.
        int num2; // second number to be read from user
15
16      cout << "Enter two integers, and I will tell youn"
                                   if structure compares values
17           << "the relationships they satisfy: ";
18      cin >> num1 >> num2;
                                   of num1 and num2 to test for
                               // read two integerscondition is true
                                                  If                    (i.e.,
19                                   equality.      values are equal), execute this
20      if ( num1 == num2 )
                                     if structure compares values
                                                    statement.
21         cout << num1 << " is   equal num1<< num2 condition fortrue (i.e.,
                                     of to " and num2 to test is
                                                    If << endl;
22                                   inequality.    values are not equal), execute
23      if ( num1 != num2 )                         this statement.
24         cout << num1 << " is not equal to " << num2 << endl;
25




                                                                                      © 2003 Prentice Hall, Inc.
                                                                                      All rights reserved.
56
26
27
        if ( num1 < num2 )
           cout << num1 << " is less than " << num2 << endl;
                                                                                   Outline
28
29      if ( num1 > num2 )
                                                                           fig01_14.cpp
30         cout << num1 << " is greater than " << num2 << endl;
                                                                  Statements of 2) be split over
                                                                           (2 may
31
32      if ( num1 <= num2 )
                                                                  several lines.
33         cout << num1 << " is less than or equal to "                    fig01_14.cpp
34              << num2 << endl;                                           output (1 of 2)
35
36      if ( num1 >= num2 )
37         cout << num1 << " is greater than or equal to "
38              << num2 << endl;
39
40      return 0;   // indicate that program ended successfully
41
42   } // end function main

Enter two integers, and I will tell you
the relationships they satisfy: 22 12
22 is not equal to 12
22 is greater than 12
22 is greater than or equal to 12




                                                                          © 2003 Prentice Hall, Inc.
                                                                          All rights reserved.
57
Enter two integers, and I will tell you
the relationships they satisfy: 7 7
                                                   Outline
7 is equal to 7
7 is less than or equal to 7
                                          fig01_14.cpp
7 is greater than or equal to 7
                                          output (2 of 2)




                                          © 2003 Prentice Hall, Inc.
                                          All rights reserved.
1.26 Thinking About Objects: Introduction to
                                             58
           Object Technology and the Unified
                   Modeling Language
      • Object oriented programming (OOP)
              – Model real-world objects with software counterparts
              – Attributes (state) - properties of objects
                     • Size, shape, color, weight, etc.
              – Behaviors (operations) - actions
                     • A ball rolls, bounces, inflates and deflates
                     • Objects can perform actions as well
              – Inheritance
                     • New classes of objects absorb characteristics from existing classes
              – Objects
                     • Encapsulate data and functions
                     • Information hiding
                         – Communicate across well-defined interfaces

© 2003 Prentice Hall, Inc. All rights reserved.
1.26 Thinking About Objects: Introduction to
                                                 59
          Object Technology and the Unified
                   Modeling Language
      • User-defined types (classes, components)
              – Data members
                     • Data components of class
              – Member functions
                     • Function components of class
              – Association
              – Reuse classes




© 2003 Prentice Hall, Inc. All rights reserved.
1.26 Thinking About Objects: Introduction to
                                                 60
           Object Technology and the Unified
                    Modeling Language
      • Object-oriented analysis and design (OOAD)
        process
              – Analysis of project’s requirements
              – Design for satisfying requirements
              – Pseudocode
                     • Informal means of expressing program
                     • Outline to guide code




© 2003 Prentice Hall, Inc. All rights reserved.
1.26 Thinking About Objects: Introduction to
                                            61
          Object Technology and the Unified
                  Modeling Language
      • Unified Modeling Language (UML)
              – 2001: Object Management Group (OMG)
                     • Released UML version 1.4
              – Model object-oriented systems and aid design
              – Flexible
                     • Extendable
                     • Independent of many OOAD processes
                     • One standard set of notations
              – Complex, feature-rich graphical language




© 2003 Prentice Hall, Inc. All rights reserved.

Más contenido relacionado

La actualidad más candente

Operating System / System Operasi
Operating System / System Operasi                   Operating System / System Operasi
Operating System / System Operasi seolangit4
 
Computer basics--computer basics2
Computer basics--computer basics2Computer basics--computer basics2
Computer basics--computer basics2Makk Quak
 
01. 03.-introduction-to-infrastructure
01. 03.-introduction-to-infrastructure01. 03.-introduction-to-infrastructure
01. 03.-introduction-to-infrastructureMuhammad Ahad
 
Operating System
Operating SystemOperating System
Operating Systempuneet2home
 
CSE 370 - Introduction to Operating Systems
CSE 370 - Introduction to Operating SystemsCSE 370 - Introduction to Operating Systems
CSE 370 - Introduction to Operating SystemsDev Khare
 
CH08-Types of Utility programs and Operating System
CH08-Types of Utility programs and Operating SystemCH08-Types of Utility programs and Operating System
CH08-Types of Utility programs and Operating SystemSukanya Ben
 
Computer fundamentals day02
Computer fundamentals  day02Computer fundamentals  day02
Computer fundamentals day02SEO SKills
 
Operating system
Operating systemOperating system
Operating systemHaripritha
 
Operating Systems and Utility Programs
Operating Systems and Utility ProgramsOperating Systems and Utility Programs
Operating Systems and Utility ProgramsSamudin Kassan
 
RNUG - SUPERCHARGED HCL Notes V11 Upgrades: Turning the WORST Notes deploymen...
RNUG - SUPERCHARGED HCL Notes V11 Upgrades: Turning the WORST Notes deploymen...RNUG - SUPERCHARGED HCL Notes V11 Upgrades: Turning the WORST Notes deploymen...
RNUG - SUPERCHARGED HCL Notes V11 Upgrades: Turning the WORST Notes deploymen...Christoph Adler
 
05. performance-concepts-26-slides
05. performance-concepts-26-slides05. performance-concepts-26-slides
05. performance-concepts-26-slidesMuhammad Ahad
 

La actualidad más candente (20)

Operating System / System Operasi
Operating System / System Operasi                   Operating System / System Operasi
Operating System / System Operasi
 
Computer basics--computer basics2
Computer basics--computer basics2Computer basics--computer basics2
Computer basics--computer basics2
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 
Chapter 9
Chapter 9Chapter 9
Chapter 9
 
Computer basics
Computer basicsComputer basics
Computer basics
 
01. 03.-introduction-to-infrastructure
01. 03.-introduction-to-infrastructure01. 03.-introduction-to-infrastructure
01. 03.-introduction-to-infrastructure
 
Operating System
Operating SystemOperating System
Operating System
 
Cpp htp5e 01
Cpp htp5e 01Cpp htp5e 01
Cpp htp5e 01
 
CSE 370 - Introduction to Operating Systems
CSE 370 - Introduction to Operating SystemsCSE 370 - Introduction to Operating Systems
CSE 370 - Introduction to Operating Systems
 
Lecture 9 further permissions
Lecture 9   further permissionsLecture 9   further permissions
Lecture 9 further permissions
 
CH08-Types of Utility programs and Operating System
CH08-Types of Utility programs and Operating SystemCH08-Types of Utility programs and Operating System
CH08-Types of Utility programs and Operating System
 
Opearating System
Opearating  SystemOpearating  System
Opearating System
 
Computer fundamentals day02
Computer fundamentals  day02Computer fundamentals  day02
Computer fundamentals day02
 
Operating system
Operating systemOperating system
Operating system
 
Computing 8
Computing 8Computing 8
Computing 8
 
Unit i fundamentals
Unit i fundamentalsUnit i fundamentals
Unit i fundamentals
 
Operating Systems and Utility Programs
Operating Systems and Utility ProgramsOperating Systems and Utility Programs
Operating Systems and Utility Programs
 
RNUG - SUPERCHARGED HCL Notes V11 Upgrades: Turning the WORST Notes deploymen...
RNUG - SUPERCHARGED HCL Notes V11 Upgrades: Turning the WORST Notes deploymen...RNUG - SUPERCHARGED HCL Notes V11 Upgrades: Turning the WORST Notes deploymen...
RNUG - SUPERCHARGED HCL Notes V11 Upgrades: Turning the WORST Notes deploymen...
 
05. performance-concepts-26-slides
05. performance-concepts-26-slides05. performance-concepts-26-slides
05. performance-concepts-26-slides
 
10. compute-part-2
10. compute-part-210. compute-part-2
10. compute-part-2
 

Destacado

Tlpi chapter 38 writing secure privileged programs
Tlpi   chapter 38 writing secure privileged programsTlpi   chapter 38 writing secure privileged programs
Tlpi chapter 38 writing secure privileged programsShu-Yu Fu
 
TLPI - Chapter 44 Pipe and Fifos
TLPI - Chapter 44 Pipe and FifosTLPI - Chapter 44 Pipe and Fifos
TLPI - Chapter 44 Pipe and FifosShu-Yu Fu
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/CoreShay Cohen
 
Inter process communication using Linux System Calls
Inter process communication using Linux System CallsInter process communication using Linux System Calls
Inter process communication using Linux System Callsjyoti9vssut
 
Socket programming
Socket programmingSocket programming
Socket programmingharsh_bca06
 
30326851 -operating-system-unit-1-ppt
30326851 -operating-system-unit-1-ppt30326851 -operating-system-unit-1-ppt
30326851 -operating-system-unit-1-pptraj732723
 
Inter process communication
Inter process communicationInter process communication
Inter process communicationRJ Mehul Gadhiya
 
Application Layer and Socket Programming
Application Layer and Socket ProgrammingApplication Layer and Socket Programming
Application Layer and Socket Programmingelliando dias
 
KERNAL ARCHITECTURE
KERNAL ARCHITECTUREKERNAL ARCHITECTURE
KERNAL ARCHITECTURElakshmipanat
 
Ports & sockets
Ports  & sockets Ports  & sockets
Ports & sockets myrajendra
 
Inter process communication
Inter process communicationInter process communication
Inter process communicationMohd Tousif
 
Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]Ravindra Raju Kolahalam
 
Socket Programming Tutorial
Socket Programming TutorialSocket Programming Tutorial
Socket Programming TutorialJignesh Patel
 
Transition&amp;talent newsletter sierpień 2016
Transition&amp;talent newsletter sierpień 2016Transition&amp;talent newsletter sierpień 2016
Transition&amp;talent newsletter sierpień 2016LHHPolska
 
Network protocols and Java programming
Network protocols and Java programmingNetwork protocols and Java programming
Network protocols and Java programmingdifatta
 
7 Motivational Thoughts to Help You Finish Your Dissertation
7 Motivational Thoughts to Help You Finish Your Dissertation7 Motivational Thoughts to Help You Finish Your Dissertation
7 Motivational Thoughts to Help You Finish Your DissertationWiley
 
Video Tools for Teachers - Digital Video
Video Tools for Teachers - Digital VideoVideo Tools for Teachers - Digital Video
Video Tools for Teachers - Digital VideoNik Peachey
 

Destacado (20)

Tlpi chapter 38 writing secure privileged programs
Tlpi   chapter 38 writing secure privileged programsTlpi   chapter 38 writing secure privileged programs
Tlpi chapter 38 writing secure privileged programs
 
TLPI - Chapter 44 Pipe and Fifos
TLPI - Chapter 44 Pipe and FifosTLPI - Chapter 44 Pipe and Fifos
TLPI - Chapter 44 Pipe and Fifos
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/Core
 
Inter process communication using Linux System Calls
Inter process communication using Linux System CallsInter process communication using Linux System Calls
Inter process communication using Linux System Calls
 
Socket programming
Socket programmingSocket programming
Socket programming
 
30326851 -operating-system-unit-1-ppt
30326851 -operating-system-unit-1-ppt30326851 -operating-system-unit-1-ppt
30326851 -operating-system-unit-1-ppt
 
Inter process communication
Inter process communicationInter process communication
Inter process communication
 
Application Layer and Socket Programming
Application Layer and Socket ProgrammingApplication Layer and Socket Programming
Application Layer and Socket Programming
 
Basic socket programming
Basic socket programmingBasic socket programming
Basic socket programming
 
KERNAL ARCHITECTURE
KERNAL ARCHITECTUREKERNAL ARCHITECTURE
KERNAL ARCHITECTURE
 
Socket programming
Socket programmingSocket programming
Socket programming
 
Ports & sockets
Ports  & sockets Ports  & sockets
Ports & sockets
 
Ppt of socket
Ppt of socketPpt of socket
Ppt of socket
 
Inter process communication
Inter process communicationInter process communication
Inter process communication
 
Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]
 
Socket Programming Tutorial
Socket Programming TutorialSocket Programming Tutorial
Socket Programming Tutorial
 
Transition&amp;talent newsletter sierpień 2016
Transition&amp;talent newsletter sierpień 2016Transition&amp;talent newsletter sierpień 2016
Transition&amp;talent newsletter sierpień 2016
 
Network protocols and Java programming
Network protocols and Java programmingNetwork protocols and Java programming
Network protocols and Java programming
 
7 Motivational Thoughts to Help You Finish Your Dissertation
7 Motivational Thoughts to Help You Finish Your Dissertation7 Motivational Thoughts to Help You Finish Your Dissertation
7 Motivational Thoughts to Help You Finish Your Dissertation
 
Video Tools for Teachers - Digital Video
Video Tools for Teachers - Digital VideoVideo Tools for Teachers - Digital Video
Video Tools for Teachers - Digital Video
 

Similar a Cpphtp4 ppt 01

Similar a Cpphtp4 ppt 01 (20)

1. intro to comp & c++ programming
1. intro to comp & c++ programming1. intro to comp & c++ programming
1. intro to comp & c++ programming
 
cpphtp4_PPT_01.ppt
cpphtp4_PPT_01.pptcpphtp4_PPT_01.ppt
cpphtp4_PPT_01.ppt
 
Chapter 04 C++ Programmings Fundamental.
Chapter 04 C++ Programmings Fundamental.Chapter 04 C++ Programmings Fundamental.
Chapter 04 C++ Programmings Fundamental.
 
Platform-Technology.pdf
Platform-Technology.pdfPlatform-Technology.pdf
Platform-Technology.pdf
 
chapter01.ppt
chapter01.pptchapter01.ppt
chapter01.ppt
 
chapter01 (1).ppt
chapter01 (1).pptchapter01 (1).ppt
chapter01 (1).ppt
 
chapter01.ppt
chapter01.pptchapter01.ppt
chapter01.ppt
 
Ch 2
Ch 2Ch 2
Ch 2
 
Chtp401
Chtp401Chtp401
Chtp401
 
Computer1 test 2 prep: processing, software, storage
Computer1   test 2 prep:  processing, software, storageComputer1   test 2 prep:  processing, software, storage
Computer1 test 2 prep: processing, software, storage
 
Chap1
Chap1Chap1
Chap1
 
MIS Presentation Chapter III: Hardware
MIS Presentation Chapter III: Hardware MIS Presentation Chapter III: Hardware
MIS Presentation Chapter III: Hardware
 
Operating system.ppt (1)
Operating system.ppt (1)Operating system.ppt (1)
Operating system.ppt (1)
 
Introduction+to+java+2
Introduction+to+java+2Introduction+to+java+2
Introduction+to+java+2
 
Introduction & Background(Operating Systems).pptx
Introduction & Background(Operating Systems).pptxIntroduction & Background(Operating Systems).pptx
Introduction & Background(Operating Systems).pptx
 
Ch1 introducing computer systems
Ch1 introducing computer  systemsCh1 introducing computer  systems
Ch1 introducing computer systems
 
Introduction to Operating system CBSE
Introduction to Operating system CBSE Introduction to Operating system CBSE
Introduction to Operating system CBSE
 
Introduction to Operating System
Introduction to Operating SystemIntroduction to Operating System
Introduction to Operating System
 
Case mis ch04
Case mis ch04Case mis ch04
Case mis ch04
 
Computer and technology based on human theory
Computer and technology based on human theoryComputer and technology based on human theory
Computer and technology based on human theory
 

Último

Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxPoojaSen20
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 

Último (20)

YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 

Cpphtp4 ppt 01

  • 1. 1 Chapter 1 – Introduction to Computers and C++ Programming Outline 1.1 Introduction 1.2 What is a Computer? 1.3 Computer Organization 1.4 Evolution of Operating Systems 1.5 Personal Computing, Distributed Computing and Client/Server Computing 1.6 Machine Languages, Assembly Languages, and High-Level Languages 1.7 History of C and C++ 1.8 C++ Standard Library 1.9 Java 1.10 Visual Basic, Visual C++ and C# 1.11 Other High-Level Languages 1.12 Structured Programming 1.13 The Key Software Trend: Object Technology 1.14 Basics of a Typical C++ Environment 1.15 Hardware Trends © 2003 Prentice Hall, Inc. All rights reserved.
  • 2. 2 Chapter 1 – Introduction to Computers and C++ Programming Outline 1.16 History of the Internet 1.17 History of the World Wide Web 1.18 World Wide Web Consortium (W3C) 1.19 General Notes About C++ and This Book 1.20 Introduction to C++ Programming 1.21 A Simple Program: Printing a Line of Text 1.22 Another Simple Program: Adding Two Integers 1.23 Memory Concepts 1.24 Arithmetic 1.25 Decision Making: Equality and Relational Operators 1.26 Thinking About Objects: Introduction to Object Technology and the Unified Modeling Language © 2003 Prentice Hall, Inc. All rights reserved.
  • 3. 3 1.1 Introduction • Software – Instructions to command computer to perform actions and make decisions • Hardware • Standardized version of C++ – United States • American National Standards Institute (ANSI) – Worldwide • International Organization for Standardization (ISO) • Structured programming • Object-oriented programming © 2003 Prentice Hall, Inc. All rights reserved.
  • 4. 4 1.2 What is a Computer? • Computer – Device capable of performing computations and making logical decisions • Computer programs – Sets of instructions that control computer’s processing of data • Hardware – Various devices comprising computer • Keyboard, screen, mouse, disks, memory, CD-ROM, processing units, … • Software – Programs that run on computer © 2003 Prentice Hall, Inc. All rights reserved.
  • 5. 5 1.3 Computer Organization • Six logical units of computer 1. Input unit • “Receiving” section • Obtains information from input devices – Keyboard, mouse, microphone, scanner, networks, … 1. Output unit • “Shipping” section • Takes information processed by computer • Places information on output devices – Screen, printer, networks, … – Information used to control other devices © 2003 Prentice Hall, Inc. All rights reserved.
  • 6. 6 1.3 Computer Organization • Six logical units of computer 3. Memory unit • Rapid access, relatively low capacity “warehouse” section • Retains information from input unit – Immediately available for processing • Retains processed information – Until placed on output devices • Memory, primary memory 4. Arithmetic and logic unit (ALU) • “Manufacturing” section • Performs arithmetic calculations and logic decisions © 2003 Prentice Hall, Inc. All rights reserved.
  • 7. 7 1.3 Computer Organization • Six logical units of computer 5. Central processing unit (CPU) • “Administrative” section • Supervises and coordinates other sections of computer 5. Secondary storage unit • Long-term, high-capacity “warehouse” section • Storage – Inactive programs or data • Secondary storage devices – Disks • Longer to access than primary memory • Less expensive per unit than primary memory © 2003 Prentice Hall, Inc. All rights reserved.
  • 8. 8 1.4 Evolution of Operating Systems • Early computers – Single-user batch processing • Only one job or task at a time • Process data in groups (batches) • Decks of punched cards • Operating systems – Software systems – Manage transitions between jobs – Increased throughput • Amount of work computers process © 2003 Prentice Hall, Inc. All rights reserved.
  • 9. 9 1.4 Evolution of Operating Systems • Multiprogramming – Many jobs or tasks sharing computer’s resources – “Simultaneous” operation of many jobs • Timesharing – 1960s – Special case of multiprogramming – Users access computer through terminals • Devices with keyboards and screens • Dozens, even hundreds of users – Perform small portion of one user’s job, then moves on to service next user – Advantage: • User receives almost immediate responses to requests © 2003 Prentice Hall, Inc. All rights reserved.
  • 10. 10 1.5 Personal Computing, Distributed Computing, and Client/Server Computing • Personal computers – 1977: Apple Computer – Economical enough for individual – 1981: IBM Personal Computer – “Standalone” units • Computer networks – Over telephone lines – Local area networks (LANs) • Distributed computing – Organization’s computing distributed over networks © 2003 Prentice Hall, Inc. All rights reserved.
  • 11. 11 1.5 Personal Computing, Distributed Computing, and Client/Server Computing • Workstations – Provide enormous capabilities – Information shared across networks • Client/server computing – File servers • Offer common store of programs and data – Client computers • Access file servers across network • UNIX, Linux, Microsoft’s Window-based systems © 2003 Prentice Hall, Inc. All rights reserved.
  • 12. 12 1.6 Machine Languages, Assembly Languages, and High-level Languages • Three types of computer languages 1. Machine language • Only language computer directly understands • “Natural language” of computer • Defined by hardware design – Machine-dependent • Generally consist of strings of numbers – Ultimately 0s and 1s • Instruct computers to perform elementary operations – One at a time • Cumbersome for humans • Example: +1300042774 +1400593419 +1200274027 © 2003 Prentice Hall, Inc. All rights reserved.
  • 13. 13 1.6 Machine Languages, Assembly Languages, and High-level Languages • Three types of computer languages 2. Assembly language • English-like abbreviations representing elementary computer operations • Clearer to humans • Incomprehensible to computers – Translator programs (assemblers) • Convert to machine language • Example: LOAD BASEPAY ADD OVERPAY STORE GROSSPAY © 2003 Prentice Hall, Inc. All rights reserved.
  • 14. 14 1.6 Machine Languages, Assembly Languages, and High-level Languages • Three types of computer languages 3. High-level languages • Similar to everyday English, use common mathematical notations • Single statements accomplish substantial tasks – Assembly language requires many instructions to accomplish simple tasks • Translator programs (compilers) – Convert to machine language • Interpreter programs – Directly execute high-level language programs • Example: grossPay = basePay + overTimePay © 2003 Prentice Hall, Inc. All rights reserved.
  • 15. 15 1.7 History of C and C++ • History of C – Evolved from two other programming languages • BCPL and B – “Typeless” languages – Dennis Ritchie (Bell Laboratories) • Added data typing, other features – Development language of UNIX – Hardware independent • Portable programs – 1989: ANSI standard – 1990: ANSI and ISO standard published • ANSI/ISO 9899: 1990 © 2003 Prentice Hall, Inc. All rights reserved.
  • 16. 16 1.7 History of C and C++ • History of C++ – Extension of C – Early 1980s: Bjarne Stroustrup (Bell Laboratories) – “Spruces up” C – Provides capabilities for object-oriented programming • Objects: reusable software components – Model items in real world • Object-oriented programs – Easy to understand, correct and modify – Hybrid language • C-like style • Object-oriented style • Both © 2003 Prentice Hall, Inc. All rights reserved.
  • 17. 17 1.8 C++ Standard Library • C++ programs – Built from pieces called classes and functions • C++ standard library – Rich collections of existing classes and functions • “Building block approach” to creating programs – “Software reuse” © 2003 Prentice Hall, Inc. All rights reserved.
  • 18. 18 1.9 Java • Java – 1991: Sun Microsystems • Green project – 1995: Sun Microsystems • Formally announced Java at trade show – Web pages with dynamic and interactive content – Develop large-scale enterprise applications – Enhance functionality of web servers – Provide applications for consumer devices • Cell phones, pagers, personal digital assistants, … © 2003 Prentice Hall, Inc. All rights reserved.
  • 19. 19 1.10 Visual Basic, Visual C++ and C# • BASIC – Beginner’s All-Purpose Symbolic Instruction Code – Mid-1960s: Prof. John Kemeny and Thomas Kurtz (Dartmouth College) • Visual Basic – 1991 • Result of Microsoft Windows graphical user interface (GUI) – Developed late 1980s, early 1990s – Powerful features • GUI, event handling, access to Win32 API, object-oriented programming, error handling – Visual Basic .NET © 2003 Prentice Hall, Inc. All rights reserved.
  • 20. 20 1.10 Visual Basic, Visual C++ and C# • Visual C++ – Microsoft’s implementation of C++ • Includes extensions • Microsoft Foundation Classes (MFC) • Common library – GUI, graphics, networking, multithreading, … – Shared among Visual Basic, Visual C++, C# • .NET platform – Web-based applications • Distributed to great variety of devices – Cell phones, desktop computers – Applications in disparate languages can communicate © 2003 Prentice Hall, Inc. All rights reserved.
  • 21. 21 1.10 Visual Basic, Visual C++ and C# • C# – Anders Hejlsberg and Scott Wiltamuth (Microsoft) – Designed specifically for .NET platform – Roots in C, C++ and Java • Easy migration to .NET – Event-driven, fully object-oriented, visual programming language – Integrated Development Environment (IDE) • Create, run, test and debug C# programs • Rapid Application Development (RAD) – Language interoperability © 2003 Prentice Hall, Inc. All rights reserved.
  • 22. 22 1.11 Other High-level Languages • FORTRAN – FORmula TRANslator – 1954-1957: IBM – Complex mathematical computations • Scientific and engineering applications • COBOL – COmmon Business Oriented Language – 1959: computer manufacturers, government and industrial computer users – Precise and efficient manipulation of large amounts of data • Commercial applications © 2003 Prentice Hall, Inc. All rights reserved.
  • 23. 23 1.11 Other High-level Languages • Pascal – Prof. Niklaus Wirth – Academic use © 2003 Prentice Hall, Inc. All rights reserved.
  • 24. 24 1.12 Structured Programming • Structured programming (1960s) – Disciplined approach to writing programs – Clear, easy to test and debug, and easy to modify • Pascal – 1971: Niklaus Wirth • Ada – 1970s - early 1980s: US Department of Defense (DoD) – Multitasking • Programmer can specify many activities to run in parallel © 2003 Prentice Hall, Inc. All rights reserved.
  • 25. 25 1.13 The Key Software Trend: Object Technology • Objects – Reusable software components that model real world items – Meaningful software units • Date objects, time objects, paycheck objects, invoice objects, audio objects, video objects, file objects, record objects, etc. • Any noun can be represented as an object – More understandable, better organized and easier to maintain than procedural programming – Favor modularity • Software reuse – Libraries • MFC (Microsoft Foundation Classes) • Rogue Wave © 2003 Prentice Hall, Inc. All rights reserved.
  • 26. 26 1.14 Basics of a Typical C++ Environment • C++ systems – Program-development environment – Language – C++ Standard Library © 2003 Prentice Hall, Inc. All rights reserved.
  • 27. 27 1.14 Basics of a Typical C++ Environment Program is created in Editor Phases of C++ Programs: Disk the editor and stored on disk. Preprocessor Preprocessor program 1. Edit Disk processes the code. Compiler creates Compiler Disk object code and stores 2. Preprocess it on disk. Linker links the object Linker Disk code with the libraries, 3. Compile Primary creates a.out and stores it on disk Memory Loader 4. Link Loader puts program in memory. Disk 5. Load . . . . . . Primary 6. Execute CPU Memory CPU takes each instruction and executes it, possibly storing new data . . . . values as the program . . executes. © 2003 Prentice Hall, Inc. All rights reserved.
  • 28. 28 1.14 Basics of a Typical C++ Environment • Input/output – cin • Standard input stream • Normally keyboard – cout • Standard output stream • Normally computer screen – cerr • Standard error stream • Display error messages © 2003 Prentice Hall, Inc. All rights reserved.
  • 29. 29 1.15 Hardware Trends • Capacities of computers – Approximately double every year or two – Memory used to execute programs – Amount of secondary storage • Disk storage • Hold programs and data over long term – Processor speeds • Speed at which computers execute programs © 2003 Prentice Hall, Inc. All rights reserved.
  • 30. 30 1.16 History of the Internet • Late 1960s: ARPA – Advanced Research Projects Agency • Department of Defense – ARPAnet – Electronic mail (e-mail) • Packet switching – Transfer digital data via small packets – Allow multiple users to send/receive data simultaneously over same communication paths • No centralized control – If one part of network fails, other parts can still operate © 2003 Prentice Hall, Inc. All rights reserved.
  • 31. 31 1.16 History of the Internet • TCP/IP – Transmission Control Protocol (TCP) • Messages routed properly • Messages arrived intact – Internet Protocol (IP) • Communication among variety of networking hardware and software • Current architecture of Internet • Bandwidth – Carrying capacity of communications lines © 2003 Prentice Hall, Inc. All rights reserved.
  • 32. 32 1.17 History of the World Wide Web • World Wide Web – 1990: Tim Berners-Lee (CERN) – Locate and view multimedia-based documents – Information instantly and conveniently accessible worldwide – Possible worldwide exposure • Individuals and small businesses – Changing way business done © 2003 Prentice Hall, Inc. All rights reserved.
  • 33. 33 1.18 World Wide Web Consortium (W3C) • World Wide Web Consortium (W3C) – 1994: Tim Berners-Lee – Develop nonproprietary, interoperable technologies – Standardization organization – Three hosts • Massachusetts Institute of Technology (MIT) • France’s INRIA (Institut National de Recherche en Informatique et Automatique) • Keio University of Japan – Over 400 members • Primary financing • Strategic direction © 2003 Prentice Hall, Inc. All rights reserved.
  • 34. 34 1.18 World Wide Web Consortium (W3C) • Recommendations – 3 phases • Working Draft – Specifies evolving draft • Candidate Recommendation – Stable version that industry can begin to implement • Proposed Recommendation – Considerably mature Candidate Recommendation © 2003 Prentice Hall, Inc. All rights reserved.
  • 35. 35 1.19 General Notes About C++ and This Book • Book geared toward novice programmers – Stress programming clarity – C and C++ are portable languages • Portability – C and C++ programs can run on many different computers • Compatibility – Many features of current versions of C++ not compatible with older implementations © 2003 Prentice Hall, Inc. All rights reserved.
  • 36. 36 1.20 Introduction to C++ Programming • C++ language – Facilitates structured and disciplined approach to computer program design • Following several examples – Illustrate many important features of C++ – Each analyzed one statement at a time • Structured programming • Object-oriented programming © 2003 Prentice Hall, Inc. All rights reserved.
  • 37. 37 1.21 A Simple Program: Printing a Line of Text • Comments – Document programs – Improve program readability – Ignored by compiler – Single-line comment • Begin with // • Preprocessor directives – Processed by preprocessor before compiling – Begin with # © 2003 Prentice Hall, Inc. All rights reserved.
  • 38. 38 1 2 // Fig. 1.2: fig01_02.cpp // A first program in C++. Single-line comments. Outline 3 Function main #include <iostream> returns an 4 integer value. begins Preprocessor directive to Left brace { function 5 // function main body. include input/output Statements end with afig01_02.cpp begins program execution appears Function main stream header file <iostream>. (1 of 1) 6 int main() exactly once in every C++ semicolon ;. 7 { program.. 8 std::cout << "Welcome to C++!n"; fig01_02.cpp 9 Corresponding right brace } output (1 of 1) 10 return 0; // ends function body. indicate that program ended successfully 11 Name cout belongs to operator. Stream insertion 12 } // end function main namespace std. Keyword return is one of Welcome to C++! several means to exit function; value 0 indicates program terminated successfully. © 2003 Prentice Hall, Inc. All rights reserved.
  • 39. 39 1.21 A Simple Program: Printing a Line of Text • Standard output stream object – std::cout – “Connected” to screen – << • Stream insertion operator • Value to right (right operand) inserted into output stream • Namespace – std:: specifies using name that belongs to “namespace” std – std:: removed through use of using statements • Escape characters – – Indicates “special” character output © 2003 Prentice Hall, Inc. All rights reserved.
  • 40. 40 1.21 A Simple Program: Printing a Line of Text Escape Sequence Description n Newline. Position the screen cursor to the beginning of the next line. t Horizontal tab. Move the screen cursor to the next tab stop. r Carriage return. Position the screen cursor to the beginning of the current line; do not advance to the next line. a Alert. Sound the system bell. Backslash. Used to print a backslash character. " Double quote. Used to print a double quote character. © 2003 Prentice Hall, Inc. All rights reserved.
  • 41. 41 1 2 // Fig. 1.4: fig01_04.cpp // Printing a line with multiple statements. Outline 3 #include <iostream> 4 fig01_04.cpp 5 // function main begins program execution Multiple stream insertion (1 of 1) 6 int main() statements produce one line of 7 { output. 8 std::cout << "Welcome "; fig01_04.cpp 9 std::cout << "to C++!n"; output (1 of 1) 10 11 return 0; // indicate that program ended successfully 12 13 } // end function main Welcome to C++! © 2003 Prentice Hall, Inc. All rights reserved.
  • 42. 42 1 2 // Fig. 1.5: fig01_05.cpp // Printing multiple lines with a single statement Outline 3 #include <iostream> 4 fig01_05.cpp 5 // function main begins program execution Using newline characters to print on multiple lines. (1 of 1) 6 int main() 7 { 8 std::cout << "WelcomentonnC++!n"; fig01_05.cpp 9 output (1 of 1) 10 return 0; // indicate that program ended successfully 11 12 } // end function main Welcome to C++! © 2003 Prentice Hall, Inc. All rights reserved.
  • 43. 43 1.22 Another Simple Program: Adding Two Integers • Variables – Location in memory where value can be stored – Common data types • int - integer numbers • char - characters • double - floating point numbers – Declare variables with name and data type before use int integer1; int integer2; int sum; – Can declare several variables of same type in one declaration • Comma-separated list int integer1, integer2, sum; © 2003 Prentice Hall, Inc. All rights reserved.
  • 44. 44 1.22 Another Simple Program: Adding Two Integers • Variables – Variable names • Valid identifier – Series of characters (letters, digits, underscores) – Cannot begin with digit – Case sensitive © 2003 Prentice Hall, Inc. All rights reserved.
  • 45. 45 1.22 Another Simple Program: Adding Two Integers • Input stream object – >> (stream extraction operator) • Used with std::cin • Waits for user to input value, then press Enter (Return) key • Stores value in variable to right of operator – Converts value to variable data type • = (assignment operator) – Assigns value to variable – Binary operator (two operands) – Example: sum = variable1 + variable2; © 2003 Prentice Hall, Inc. All rights reserved.
  • 46. 46 1 2 // Fig. 1.6: fig01_06.cpp // Addition program. Outline 3 #include <iostream> 4 fig01_06.cpp 5 // function main begins program execution (1 of 1) 6 int main() 7 { Declare integer variables. 8 int integer1; // first number to be input by user 9 int integer2; // second number to be input by user 10 int sum; Use stream extraction // variable in which sum will be stored 11 operator with standard input 12 std::cout << "Enter first stream to obtain user input. integern"; // prompt 13 std::cin >> integer1; // read an integer 14 15 std::cout << "Enter second integern"; // prompt 16 std::cin >> integer2; Calculations // read an integer output can be performed in Stream manipulatoralternative for statements: 17 lines 18 and 20: std::endl outputs a 18 sum = integer1 + integer2; // assign result to sum 19 newline, then “flushes output std::cout << "Sum is " << integer1 + integer2 << std::endl; 20 std::cout << "Sum is " << sum << std::endl; // print sum buffer.” 21 22 return 0; // indicate that program ended successfully 23 24 } // end function main Concatenating, chaining or cascading stream insertion operations. © 2003 Prentice Hall, Inc. All rights reserved.
  • 47. 47 Enter first integer 45 Outline Enter second integer 72 fig01_06.cpp Sum is 117 output (1 of 1) © 2003 Prentice Hall, Inc. All rights reserved.
  • 48. 48 1.23 Memory Concepts • Variable names – Correspond to actual locations in computer's memory – Every variable has name, type, size and value – When new value placed into variable, overwrites previous value – Reading variables from memory nondestructive © 2003 Prentice Hall, Inc. All rights reserved.
  • 49. 49 1.23 Memory Concepts std::cin >> integer1; integer1 45 – Assume user entered 45 std::cin >> integer2; integer1 45 – Assume user entered 72 integer2 72 sum = integer1 + integer2; integer1 45 integer2 72 sum 117 © 2003 Prentice Hall, Inc. All rights reserved.
  • 50. 50 1.24 Arithmetic • Arithmetic calculations – * • Multiplication – / • Division • Integer division truncates remainder – 7 / 5 evaluates to 1 – % • Modulus operator returns remainder – 7 % 5 evaluates to 2 © 2003 Prentice Hall, Inc. All rights reserved.
  • 51. 51 1.24 Arithmetic • Rules of operator precedence – Operators in parentheses evaluated first • Nested/embedded parentheses – Operators in innermost pair first – Multiplication, division, modulus applied next • Operators applied from left to right – Addition, subtraction applied last Operator(s) • Operators applied from leftof evaluation (precedence) Operation(s) Order to right () Parentheses Evaluated first. If the parentheses are nested, the expression in the innermost pair is evaluated first. If there are several pairs of parentheses “on the same level” (i.e., not nested), they are evaluated left to right. *, /, or % Multiplication Division Evaluated second. If there are several, they re Modulus evaluated left to right. + or - Addition Evaluated last. If there are several, they are Subtraction evaluated left to right. © 2003 Prentice Hall, Inc. All rights reserved.
  • 52. 52 1.25 Decision Making: Equality and Relational Operators • if structure – Make decision based on truth or falsity of condition • If condition met, body executed • Else, body not executed • Equality and relational operators – Equality operators • Same level of precedence – Relational operators • Same level of precedence – Associate left to right © 2003 Prentice Hall, Inc. All rights reserved.
  • 53. 53 1.25 Decision Making: Equality and Relational Operators Standard algebraic C++ equality Example Meaning of equality operator or or relational of C++ C++ condition relational operator operator condition Relational operators > > x > y x is greater than y < < x < y x is less than y ≥ >= x >= y x is greater than or equal to y ≤ <= x <= y x is less than or equal to y Equality operators = == x == y x is equal to y ≠ != x != y x is not equal to y © 2003 Prentice Hall, Inc. All rights reserved.
  • 54. 54 1.25 Decision Making: Equality and Relational Operators • using statements – Eliminate use of std:: prefix – Write cout instead of std::cout © 2003 Prentice Hall, Inc. All rights reserved.
  • 55. 55 1 2 // Fig. 1.14: fig01_14.cpp // Using if statements, relational Outline 3 // operators, and equality operators. 4 #include <iostream> fig01_14.cpp 5 (1 of 2) 6 using std::cout; // program uses cout 7 using std::cin; // program uses cin using statements eliminate 8 using std::endl; // program uses endl need for std:: prefix. 9 10 Declare variables. // function main begins program execution 11 int main() 12 { 13 int num1; // first number write cout and cin Can to be read from user 14 without std:: prefix. int num2; // second number to be read from user 15 16 cout << "Enter two integers, and I will tell youn" if structure compares values 17 << "the relationships they satisfy: "; 18 cin >> num1 >> num2; of num1 and num2 to test for // read two integerscondition is true If (i.e., 19 equality. values are equal), execute this 20 if ( num1 == num2 ) if structure compares values statement. 21 cout << num1 << " is equal num1<< num2 condition fortrue (i.e., of to " and num2 to test is If << endl; 22 inequality. values are not equal), execute 23 if ( num1 != num2 ) this statement. 24 cout << num1 << " is not equal to " << num2 << endl; 25 © 2003 Prentice Hall, Inc. All rights reserved.
  • 56. 56 26 27 if ( num1 < num2 ) cout << num1 << " is less than " << num2 << endl; Outline 28 29 if ( num1 > num2 ) fig01_14.cpp 30 cout << num1 << " is greater than " << num2 << endl; Statements of 2) be split over (2 may 31 32 if ( num1 <= num2 ) several lines. 33 cout << num1 << " is less than or equal to " fig01_14.cpp 34 << num2 << endl; output (1 of 2) 35 36 if ( num1 >= num2 ) 37 cout << num1 << " is greater than or equal to " 38 << num2 << endl; 39 40 return 0; // indicate that program ended successfully 41 42 } // end function main Enter two integers, and I will tell you the relationships they satisfy: 22 12 22 is not equal to 12 22 is greater than 12 22 is greater than or equal to 12 © 2003 Prentice Hall, Inc. All rights reserved.
  • 57. 57 Enter two integers, and I will tell you the relationships they satisfy: 7 7 Outline 7 is equal to 7 7 is less than or equal to 7 fig01_14.cpp 7 is greater than or equal to 7 output (2 of 2) © 2003 Prentice Hall, Inc. All rights reserved.
  • 58. 1.26 Thinking About Objects: Introduction to 58 Object Technology and the Unified Modeling Language • Object oriented programming (OOP) – Model real-world objects with software counterparts – Attributes (state) - properties of objects • Size, shape, color, weight, etc. – Behaviors (operations) - actions • A ball rolls, bounces, inflates and deflates • Objects can perform actions as well – Inheritance • New classes of objects absorb characteristics from existing classes – Objects • Encapsulate data and functions • Information hiding – Communicate across well-defined interfaces © 2003 Prentice Hall, Inc. All rights reserved.
  • 59. 1.26 Thinking About Objects: Introduction to 59 Object Technology and the Unified Modeling Language • User-defined types (classes, components) – Data members • Data components of class – Member functions • Function components of class – Association – Reuse classes © 2003 Prentice Hall, Inc. All rights reserved.
  • 60. 1.26 Thinking About Objects: Introduction to 60 Object Technology and the Unified Modeling Language • Object-oriented analysis and design (OOAD) process – Analysis of project’s requirements – Design for satisfying requirements – Pseudocode • Informal means of expressing program • Outline to guide code © 2003 Prentice Hall, Inc. All rights reserved.
  • 61. 1.26 Thinking About Objects: Introduction to 61 Object Technology and the Unified Modeling Language • Unified Modeling Language (UML) – 2001: Object Management Group (OMG) • Released UML version 1.4 – Model object-oriented systems and aid design – Flexible • Extendable • Independent of many OOAD processes • One standard set of notations – Complex, feature-rich graphical language © 2003 Prentice Hall, Inc. All rights reserved.