Chapter 8: Introduction to High-level Language Programming. Invitation to Computer Science, C++ Version, Third Edition

Similar documents
Glossary of Object Oriented Terms

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

Curriculum Map. Discipline: Computer Science Course: C++

Software Development Phases

PART-A Questions. 2. How does an enumerated statement differ from a typedef statement?

KITES TECHNOLOGY COURSE MODULE (C, C++, DS)

WORKSPACE WEB DEVELOPMENT & OUTSOURCING TRAINING CENTER

C++ INTERVIEW QUESTIONS

Chapter 13: Program Development and Programming Languages

Chapter 13: Program Development and Programming Languages

Course MS10975A Introduction to Programming. Length: 5 Days

Computing Concepts with Java Essentials

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation

I PUC - Computer Science. Practical s Syllabus. Contents

Chapter 2: Algorithm Discovery and Design. Invitation to Computer Science, C++ Version, Third Edition

Basics of I/O Streams and File I/O

Fundamentals of Java Programming

Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha

TECHNOLOGY Computer Programming II Grade: 9-12 Standard 2: Technology and Society Interaction

Programming and Software Development CTAG Alignments

Java Application Developer Certificate Program Competencies

The C Programming Language course syllabus associate level

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

CSCI 253. Object Oriented Programming (OOP) Overview. George Blankenship 1. Object Oriented Design: Java Review OOP George Blankenship.

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

Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C

PROG0101 Fundamentals of Programming PROG0101 FUNDAMENTALS OF PROGRAMMING. Chapter 3 Algorithms

WESTMORELAND COUNTY PUBLIC SCHOOLS Integrated Instructional Pacing Guide and Checklist Computer Math

Java (12 Weeks) Introduction to Java Programming Language

PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON

MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE

COMPUTER SCIENCE (5651) Test at a Glance

OKLAHOMA SUBJECT AREA TESTS (OSAT )

VB.NET Programming Fundamentals

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

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

Course Title: Software Development

Chapter 1 An Introduction to Computers and Problem Solving

50 Computer Science MI-SG-FLD050-02

Chapter 3: Restricted Structures Page 1

Computer Science III Advanced Placement G/T [AP Computer Science A] Syllabus

High-Level Programming Languages. Nell Dale & John Lewis (adaptation by Michael Goldwasser)

Object-Oriented Design Guidelines

Sources: On the Web: Slides will be available on:

FLORIDA STATE COLLEGE AT JACKSONVILLE COLLEGE CREDIT COURSE OUTLINE. Introduction to Programming with Visual Basic.NET

Appendix K Introduction to Microsoft Visual C++ 6.0

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

Informatica e Sistemi in Tempo Reale

Algorithms, Flowcharts & Program Design. ComPro

Embedded Software Development with MPS

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

AP Computer Science AB Syllabus 1

Multichoice Quetions 1. Atributes a. are listed in the second part of the class box b. its time is preceded by a colon. c. its default value is

Chapter One Introduction to Programming

Specialized Programme on Web Application Development using Open Source Tools

Part 1 Foundations of object orientation

AP Computer Science A - Syllabus Overview of AP Computer Science A Computer Facilities

NATIONAL CERTIFICATES (VOCATIONAL)

CS 111 Classes I 1. Software Organization View to this point:

Cobol. By: Steven Conner. COBOL, COmmon Business Oriented Language, one of the. oldest programming languages, was designed in the last six

language 1 (source) compiler language 2 (target) Figure 1: Compiling a program

Ch 7-1. Object-Oriented Programming and Classes

AP Computer Science Java Subset

Chapter 12. Development Tools for Microcontroller Applications

Introduction to Programming System Design. CSCI 455x (4 Units)

Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition

Specialized Programme on Web Application Development using Open Source Tools

El Dorado Union High School District Educational Services

Pseudo code Tutorial and Exercises Teacher s Version

Johannes Sametinger. C. Doppler Laboratory for Software Engineering Johannes Kepler University of Linz A-4040 Linz, Austria

Java EE Web Development Course Program

Higher Computing Science Course Assessment Specification (C716 76)

C++ Language Tutorial

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Fundamentals of Programming and Software Development Lesson Objectives

EMC Publishing. Ontario Curriculum Computer and Information Science Grade 11

Candle Plant process automation based on ABB 800xA Distributed Control Systems

Computer Programming I & II*

THE OPEN UNIVERSITY OF TANZANIA

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

We will learn the Python programming language. Why? Because it is easy to learn and many people write programs in Python so we can share.

COWLEY COLLEGE & Area Vocational Technical School

Storage Classes CS 110B - Rule Storage Classes Page 18-1 \handouts\storclas

Programming in Java Course Technology, a part of Cengage Learning.

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

DATA STRUCTURES USING C

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

Computer Programming. Course Details An Introduction to Computational Tools. Prof. Mauro Gaspari:

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. CISY 105 Foundations of Computer Science

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

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.

Python Programming: An Introduction to Computer Science

Software Testing Strategies and Techniques

Essentials of Computer Programming. Computer Science Curriculum Framework

Visual Studio 2008 Express Editions

Comp151. Definitions & Declarations

Transcription:

Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition

Objectives In this chapter, you will learn about: High-level languages Introduction to C++ Virtual data storage Statement types Putting the pieces together Invitation to Computer Science, C++ Version, Third Edition 2

Objectives Managing complexity Object-oriented programming Graphical programming The big picture: software engineering Invitation to Computer Science, C++ Version, Third Edition 3

Where Do We Stand? Early days of computing Programmers were satisfied with assembly language Programs written by technically oriented people Later decades Programmers demanded a more comfortable programming environment Programs could be written by nontechie people Invitation to Computer Science, C++ Version, Third Edition 4

High-level Languages High-level programming languages Called third-generation languages Overcame deficiencies of assembly language Programmer didn t need to manage details of data storage or movement Invitation to Computer Science, C++ Version, Third Edition 5

High-level Languages (continued) Expectations of a high-level language program (continued) Programmer can take a macroscopic view of tasks; primitive operations can be larger Programs will be portable Code will be closer to standard English and use standard mathematical notation Invitation to Computer Science, C++ Version, Third Edition 6

Figure 8.1 Transitions of a High-level Language Program Invitation to Computer Science, C++ Version, Third Edition 7

Figure 8.2 A Simple C++ Program Invitation to Computer Science, C++ Version, Third Edition 8

Figure 8.3 The Overall Form of a Typical C++ Program Invitation to Computer Science, C++ Version, Third Edition 9

Introduction to C++ Some components of program in Figure 8.2 Comments Give information to human readers of code Include directive The linker includes object code from a library Using directive Tells compiler to look in a namespace for definitions not mentioned in the program Invitation to Computer Science, C++ Version, Third Edition 10

Virtual Data Storage Identifiers: names in a programming language Keywords: have special meanings in C++ C++: case-sensitive, free-format language Data items can be constants or variables Invitation to Computer Science, C++ Version, Third Edition 11

Virtual Data Storage (continued) A declaration of a data item tells Whether the item is a constant or a variable The identifier used to name the item The data type of the item Invitation to Computer Science, C++ Version, Third Edition 12

Figure 8.5 Some of the C++ Standard Data Types Invitation to Computer Science, C++ Version, Third Edition 13

Virtual Data Storage (continued) An array Groups together a collection of memory locations, all storing data of the same type Figure 8.6 A 12-Element Array Hits Invitation to Computer Science, C++ Version, Third Edition 14

Statement Types Input/output statement Input statement Collects a specific value from the user for a variable within the program Output statement Writes a message or the value of a program variable to the user s screen or to a file Invitation to Computer Science, C++ Version, Third Edition 15

Statement Types (continued) Assignment statement Assigns a value to a program variable Control statement Directs the flow of control Can cause it to deviate from usual sequential flow Invitation to Computer Science, C++ Version, Third Edition 16

Input/Output Statements Example Pseudocode C++ Get value for Radius cin >> Radius; cin: input stream Code for extraction operator (>>) and the definition of the cin stream come from the iostream library and std namespace Invitation to Computer Science, C++ Version, Third Edition 17

Input/Output Statements (continued) Example Pseudocode C++ Print the value of Circumference cout << Circumference; cout: output stream Code for the insertion operator (<<) and the definition of the cout stream come from the iostream library and std namespace Invitation to Computer Science, C++ Version, Third Edition 18

The Assignment Statement General form Pseudocode Set the value of variable to arithmetic expression C++ variable = expression; 1. Expression on the right is evaluated 2. The result is written into the memory location named on the left Invitation to Computer Science, C++ Version, Third Edition 19

Control Statements Types of control mechanisms Sequential Instructions are executed in order Conditional Choice of which instructions to execute next depends on some condition Looping Group of instructions may be executed many times Invitation to Computer Science, C++ Version, Third Edition 20

Control Statements (continued) Default mode of execution: sequential Conditional flow of control Evaluation of a Boolean condition (also called a Boolean expression) Which programming statement to execute next is decided based on the value of the Boolean condition (true or false) Invitation to Computer Science, C++ Version, Third Edition 21

Control Statements (continued) Conditional flow of control (continued) if-else statement if (Boolean condition) S1; else S2; if variation of the if-else statement if (Boolean condition) S1; Invitation to Computer Science, C++ Version, Third Edition 22

Figure 8.12 Conditional Flow of Control (If-Else) Invitation to Computer Science, C++ Version, Third Edition 23

Figure 8.13 If-Else with Empty Else Invitation to Computer Science, C++ Version, Third Edition 24

Control Statements (continued) Looping (iteration) The loop body may be executed repeatedly based on the value of the Boolean condition while statement while (Boolean condition) S1; Invitation to Computer Science, C++ Version, Third Edition 25

Figure 8.14 While Loop Invitation to Computer Science, C++ Version, Third Edition 26

Putting the Pieces Together At this point, we can: Perform input and output Assign values to variables Direct the flow of control using conditional statements or looping For a complete program, we need to: Assemble the statements in the correct order Fill in the missing pieces Invitation to Computer Science, C++ Version, Third Edition 27

Meeting Expectations C++ meets the four expectations for a high-level programming language Expectations Programmer need not manage details of the movement of data items within memory, nor pay any attention to where they are stored Invitation to Computer Science, C++ Version, Third Edition 28

Meeting Expectations (continued) Expectations (continued) Programmer can take a macroscopic view of tasks, thinking at a higher level of problem-solving Programs written in high-level languages will be portable rather than machine-specific Programming statements in a high-level language Will be closer to standard English Will use standard mathematical notation Invitation to Computer Science, C++ Version, Third Edition 29

Managing Complexity: Divide and Conquer Divide and conquer To solve a problem, divide it into smaller pieces In a computer program Divide the code into modules (subprograms), each doing a part of the overall task Empower these modules to work together to solve the original problem Invitation to Computer Science, C++ Version, Third Edition 30

Figure 8.19 A Structure Chart Figure 8.20 A More Detailed Structure Chart Invitation to Computer Science, C++ Version, Third Edition 31

Using Functions Function A module of code in C++ Named using ordinary C++ identifiers Subtask functions: optional The main function: mandatory Invitation to Computer Science, C++ Version, Third Edition 32

Using Functions (continued) To invoke a subtask function, the main function gives Name of the function Argument list for the function Argument list: list of identifiers for variables that concern that function Any function can have its own constant and variable declarations Invitation to Computer Science, C++ Version, Third Edition 33

Writing Functions A function header consists of: Return indicator: classifies a function as a void or a nonvoid function Function identifier Parameter list By default, arguments in C++ are passed by value Invitation to Computer Science, C++ Version, Third Edition 34

Figure 8.24 The Outline for a C++ Function Invitation to Computer Science, C++ Version, Third Edition 35

Figure 8.29 Some C++ Terminology Invitation to Computer Science, C++ Version, Third Edition 36

Object-Oriented Programming Object-oriented programming (OOP) A program is a simulation of some part of the world that is the domain of interest Each object is an example drawn from a class of similar objects Key elements of OOP Encapsulation A class consists of its subtask modules and its properties Both are encapsulated in the class Invitation to Computer Science, C++ Version, Third Edition 37

Object-Oriented Programming (continued) Key elements of OOP (continued) Inheritance Once a class A of objects is defined, a class B of objects can be defined as a subclass of A Polymorphism One name, the name of the service to be performed, has several meanings, depending on the class of the object providing the service Invitation to Computer Science, C++ Version, Third Edition 38

What Have We Gained? Two major advantages of OOP Software reuse A more natural world view Invitation to Computer Science, C++ Version, Third Edition 39

Graphical Programming: Graphics Primitives Bitmapped display The screen is made up of thousands of pixels, laid out in a two-dimensional grid Frame buffer Memory that stores the actual screen image The terminal hardware displays on the screen the frame buffer value of every individual pixel Invitation to Computer Science, C++ Version, Third Edition 40

Figure 8.34 Pixel Numbering System in a Bitmapped Display Invitation to Computer Science, C++ Version, Third Edition 41

Graphics Primitives (continued) Graphics library Software containing a collection of functions that control the setting and clearing of pixels Virtually all modern programming languages come with a graphics library Invitation to Computer Science, C++ Version, Third Edition 42

The Big Picture: Software Engineering Software life cycle Overall sequence of steps needed to complete a large-scale software project Implementation represents a relatively small part of the cycle Invitation to Computer Science, C++ Version, Third Edition 43

Figure 8.37 Steps in the Software Development Life Cycle Invitation to Computer Science, C++ Version, Third Edition 44

Scaling Up Programs written by students No longer than a few hundred lines Real-world programs 2, 3, or 4 orders of magnitude larger Large-scale software development Extensive planning and design needed A team of programmers needed Software engineering Invitation to Computer Science, C++ Version, Third Edition 45

The Software Life Cycle Each step in the software development life cycle Has a specific purpose and activities Should result in a written document The feasibility study Problem specification Program design Invitation to Computer Science, C++ Version, Third Edition 46

The Software Life Cycle (continued) Algorithm selection or development, and analysis Coding Debugging Testing, verification, and benchmarking Documentation Maintenance Invitation to Computer Science, C++ Version, Third Edition 47

Modern Environments Integrated Development Environment (IDE) speeds development by providing A text editor A file manager A compiler A linker and loader Tools for debugging Invitation to Computer Science, C++ Version, Third Edition 48

Summary In a high-level language, the programmer: Need not manage storage Can think about the problem at a higher level Can use more powerful and more naturallanguage-like program instructions Can write a much more portable program Invitation to Computer Science, C++ Version, Third Edition 49

Summary C++ is an object-oriented, high-level programming language if-else statement creates a conditional flow of control while loop can be used for iteration Software life cycle: overall sequence of steps needed to complete a large-scale software project Invitation to Computer Science, C++ Version, Third Edition 50