Chapter 8: Introduction to High-Level Language Programming - PowerPoint PPT Presentation

1 / 51
About This Presentation
Title:

Chapter 8: Introduction to High-Level Language Programming

Description:

Invitation to Computer Science, Java Version, Third Edition. 8. Figure ... Some Java Terminology. Invitation to Computer Science, Java Version, Third Edition ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 52
Provided by: csg3
Learn more at: http://www.cs.gsu.edu
Category:

less

Transcript and Presenter's Notes

Title: Chapter 8: Introduction to High-Level Language Programming


1
Chapter 8 Introduction to High-Level Language
Programming
  • Invitation to Computer Science,
  • Java Version, Third Edition

2
Objectives
  • In this chapter, you will learn about
  • Where do we stand?
  • High-level languages
  • Introduction to Java
  • Virtual data storage
  • Statement types

3
Objectives (continued)
  • Meeting expectations
  • Managing complexity
  • Object-oriented programming
  • Graphical programming
  • The big picture Software engineering

4
Where Do We Stand?
  • Early days of computing
  • Programmers were satisfied with assembly language
  • Programs mostly written by very technically
    oriented people
  • Later decades
  • Programmers demanded a more comfortable
    programming environment
  • Programs were now also written by nontechie
    people

5
High-Level Languages
  • High-level programming languages
  • Called third-generation languages
  • Created to overcome deficiencies of assembly
    language
  • Expectations of a high-level language program
  • The programmer need not manage the details of the
    movement of data items within memory nor exactly
    where those items are stored

6
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
  • Program will be portable
  • Programming statements will be closer to standard
    English and use standard mathematical notation

7
Introduction to Java A Simple Java Program
  • Comments
  • Give information to human readers of code
  • Class header
  • Announces that a class is about to be defined
  • Class
  • A collection of methods
  • Method
  • A section of code that performs a service

8
  • Figure 8.2 A Simple Java Program

9
Running a Java Program
  • File containing the Java code
  • Same name as the class
  • File extension .java
  • Example TravelPlanner.java
  • Running a Java program
  • Program compiled
  • Example File TravelPlanner.class created
  • Translation to object code completed program
    linked, loaded, and executed

10
Virtual Data Storage
  • Identifiers
  • Names in a programming language
  • Keyword
  • Has a special meaning in Java
  • Java is a case-sensitive, free-format language
  • Variable
  • A named location in memory
  • Must be declared before it can be used

11
  • Figure 8.4
  • Some of the Java Primitive Data Types

12
Virtual Data Storage (continued)
  • An array
  • Groups together a collection of memory locations,
    all storing data of the same type

Figure 8.5 A 12-Element Array Hits
13
Statement Types
  • Input/output statements
  • 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 users screen or to a file

14
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 the usual sequential
    flow

15
Input Statements
  • A prompt
  • A message that tells the user what kind of input
    the program wants
  • Console class
  • Not a standard Java class written for this book
  • Can be used to handle both the prompt and the
    retrieval of the value in one statement

16
Input Statements (continued)
  • Methods
  • readInt
  • readDouble
  • readChar
  • Syntax
  • variable1 Console.readInt(prompt)
  • variable2 Console.readDouble(prompt)
  • variable3 Console.readChar(prompt)

17
Output Statements
  • Output to the screen
  • System.out.println(string)
  • The string can be
  • Empty
  • System.out.println()
  • Literal string
  • System.out.println("Here's your answer." )
  • Composed of two or more items
  • System.out.println("Give me" 5)

18
The Assignment Statement
  • General form
  • variable expression
  • Expression is evaluated first the result is
    written into the memory location specified on the
    left

19
The Assignment Statement (continued)
  • Examples
  • B 2
  • Suppose that B is an integer variable
  • A B C
  • Suppose that A, B, and C are integer variables
  • Letter 'm'
  • Suppose that Letter is a variable of type char

20
Control Statements
  • Types of control mechanisms
  • Sequential
  • Instructions are executed in order
  • Conditional
  • The choice of which instructions to execute next
    depends on some condition
  • Looping
  • A group of instructions may be executed many times

21
Control Statements (continued)
  • Sequential is default mode of execution
  • Conditional flow of control
  • Evaluation of a Boolean condition (also called a
    Boolean expression)
  • The programming statement to execute next is
    based on the value of the Boolean condition (true
    or false)

22
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

23
  • Figure 8.10
  • Conditional Flow of Control
  • (If-Else)

24
  • Figure 8.11
  • If-Else with Empty Else

25
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

26
  • Figure 8.13
  • While Loop

27
Meeting Expectations
  • Java meets the four expectations for a high-level
    programming language
  • Expectations
  • The programmer need not manage the details of the
    movement of data items within memory nor pay any
    attention to where specifically they are stored

28
Meeting Expectations (continued)
  • Expectations (continued)
  • The 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

29
Managing Complexity Divide and Conquer
  • Divide and conquer
  • Divide the problem into small pieces
  • In a computer program
  • Divide the code into modules or subprograms, each
    of which does some part of the overall task
  • Empower these modules to work together to solve
    the original problem

30
  • Figure 8.20 Structure Charts

31
Using Methods
  • Method
  • A module of code in Java
  • Named using ordinary Java identifiers
  • By custom, name starts with a lowercase letter

32
Using Methods (continued)
  • Two types of methods
  • void method
  • Does not pass any value back to the main method
  • nonvoid method
  • Returns a single new value back to the main
    method
  • Overall form of a method invocation
  • class-identifier.method-identifier(argument list)

33
Writing Methods
  • General form of the method header
  • scope-indicator return-indicator
    identifier(parameter list)
  • Arguments in Java are passed by value
  • A variable declared within a method can be used
    only within that method
  • Return statement
  • Syntax
  • return expression

34
  • Figure 8.27
  • Some Java Terminology

35
Object-Oriented Programming What Is It?
  • 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, and both components are
    encapsulated with the class

36
What Is It? (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

37
Java and OOP
  • Java is an object-oriented programming language
  • Static method
  • Can be invoked by giving the class name, a dot,
    the method name, and a list of arguments
  • Objects Instances of a class
  • Instance variables Properties
  • Instance methods Services

38
Java and OOP (continued)
  • Syntax to request an object to invoke a method
  • object-identifier.method-identifier(argument
    list)
  • Calling object
  • The object that invokes a method

39
What Have We Gained?
  • Two major advantages of OOP
  • Software reuse
  • A more natural world view

40
Graphical Programming Graphics Hardware
  • Bitmapped display
  • The screen is made up of thousands of individual
    picture elements, or pixels, laid out in a
    two-dimensional grid
  • Frame buffer
  • Memory that stores the actual screen image
  • Terminal hardware displays the frame buffer value
    of every individual pixel on the screen

41
  • Figure 8.34
  • Pixel Numbering System in a Bitmapped Display

42
Graphics Software
  • Graphics library
  • Contains a collection of software routines that
    control the setting and clearing of pixels
  • Abstract Windowing Toolkit (AWT)
  • Contains routines that allow users to create
    powerful interfaces
  • Swing components
  • Even more powerful GUI components than AWT

43
Graphics Software (continued)
  • Graphics class
  • Contains drawing commands that allow you to
  • Draw geometric shapes (lines, rectangles, ovals,
    polygons, and so on)
  • Set, change, and define colors
  • Fill in or shade objects
  • Create text in a range of fonts and sizes
  • Produce graphs and charts

44
The Big Picture Software Engineering
  • Software life cycle
  • The overall sequence of steps needed to complete
    a large-scale software project
  • Implementation represents a relatively small part
    of the cycle

45
  • Figure 8.36
  • Steps in the Software Development Life Cycle

46
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

47
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

48
The Software Life Cycle (continued)
  • Algorithm selection or development, and analysis
  • Coding
  • Debugging
  • Testing, verification, and benchmarking
  • Documentation
  • Maintenance

49
Modern Environments
  • Integrated Development Environment (IDE) speeds
    program development by providing
  • A text editor
  • A file manager
  • A compiler
  • A linker and loader
  • Tools for debugging

50
Summary
  • In a high-level language, the programmer
  • Need not manage storage nor movement of data
    values in memory
  • Can use more powerful program instructions that
    are more like natural language
  • Can write a much more portable program
  • Java is an object-oriented, high-level
    programming language

51
Summary (continued)
  • In Java, an if-else statement can be used to
    create a conditional flow of control
  • In Java, a while loop can be used for iteration
  • Software life cycle Overall sequence of steps
    needed to complete a large-scale software project
Write a Comment
User Comments (0)
About PowerShow.com