Sunteți pe pagina 1din 36

Chapter 1: An Overview of Computers

and Programming Languages

Java Programming:
From Problem Analysis to Program Design,
Second Edition
Chapter Objectives
 Learn about different types of computers.
 Explore the hardware and software components of a
computer system.
 Learn about the language of a computer.
 Learn about the evolution of programming
languages.
 Examine high-level programming languages.
 Discover what a compiler is and what it does.

Java Programming: From Problem Analysis to Program Design, Second Edition 2


Chapter Objectives
 Examine a Java program.
 Examine how a Java program is processed.
 Become aware of the Internet and World Wide
Web.
 Learn what an algorithm is and explore problem-
solving techniques.
 Become aware of structured and object-oriented
programming design methodologies.

Java Programming: From Problem Analysis to Program Design, Second Edition 3


Introduction
 Computers have greatly affected our daily lives—
helping us complete many tasks.

 Computer programs (software) are designed


specifically for each task.

 Software is created with programming languages.

 Java is an example of a programming language.

Java Programming: From Problem Analysis to Program Design, Second Edition 4


An Overview of the
History of Computers
 1950s: Very large devices available to a select few.

 1960s: Large corporations owned computers.

 1970s: Computers got smaller and cheaper.

 1990s: Computers got cheaper and faster and were


found in most homes.

Java Programming: From Problem Analysis to Program Design, Second Edition 5


Elements of a Computer System
A computer has two components:

 Hardware

 Software

Java Programming: From Problem Analysis to Program Design, Second Edition 6


Hardware Components
of a Computer
 Central processing unit (CPU)

 Main memory

Java Programming: From Problem Analysis to Program Design, Second Edition 7


Central Processing Unit

 Control unit (CU)

 Arithmetic logic unit (ALU)

 Program counter (PC)

 Instruction register (IR)

Java Programming: From Problem Analysis to Program Design, Second Edition 8


Hardware Components of a Computer

Java Programming: From Problem Analysis to Program Design, Second Edition 9


Main Memory
 Ordered sequence of cells (memory cells).

 Directly connected to CPU.

 All programs must be brought into main memory


before execution.

 When power is turned off, everything in main


memory is lost.

Java Programming: From Problem Analysis to Program Design, Second Edition 10


Main Memory with
100 Storage Cells

Java Programming: From Problem Analysis to Program Design, Second Edition 11


Secondary Storage
 Provides permanent storage for information.
 Examples of secondary storage:
 Hard disks
 Floppy disks
 Zip disks
 CD-ROMs
 Tapes

Java Programming: From Problem Analysis to Program Design, Second Edition 12


Input Devices
 Devices that feed data and computer programs into
computers.

 Examples:

 Keyboard

 Mouse

 Secondary storage

Java Programming: From Problem Analysis to Program Design, Second Edition 13


Output Devices
 Devices that the computer uses to display results.

 Examples:
 Printer

 Monitor

 Secondary storage

Java Programming: From Problem Analysis to Program Design, Second Edition 14


Software
 Software consists of programs written to perform
specific tasks.

 Two types of programs:

 System programs

 Application programs

Java Programming: From Problem Analysis to Program Design, Second Edition 15


System Programs
 System programs control the computer.

 The operating system is first to load when you turn


on a computer.

Java Programming: From Problem Analysis to Program Design, Second Edition 16


Operating System (OS)
 The OS monitors the overall activity of the computer
and provides services.
 Example services:
 Memory management
 Input/output
 Activities
 Storage management

Java Programming: From Problem Analysis to Program Design, Second Edition 17


Application Programs
 Written using programming languages.
 Perform a specific task.
 Run by the OS.
 Example programs:
 Word processors
 Spreadsheets
 Games

Java Programming: From Problem Analysis to Program Design, Second Edition 18


Language of a Computer

 Machine language is the most basic language of a


computer.
 A sequence of 0s and 1s.
 Every computer directly understands its own
machine language.
 A bit is a binary digit, 0 or 1.
 A byte is a sequence of eight bits.

Java Programming: From Problem Analysis to Program Design, Second Edition 19


Language of a Computer

Java Programming: From Problem Analysis to Program Design, Second Edition 20


Evolution of
Programming Languages

 Early computers programmed in machine language.


 Assembly languages were developed to make
programmer’s job easier.
 In assembly language, an instruction is an easy-to-
remember form called a mnemonic.
 Assembler: Translates assembly language
instructions into machine language.

Java Programming: From Problem Analysis to Program Design, Second Edition 21


Instructions in Assembly and
Machine Languages

Java Programming: From Problem Analysis to Program Design, Second Edition 22


Evolution of
Programming Languages
 High-level languages make programming easier.
 Closer to spoken languages.
 Examples:
 Basic
 FORTRAN
 COBOL
 C/C++
 Java

Java Programming: From Problem Analysis to Program Design, Second Edition 23


Evolution of
Programming Languages
To run a Java program:

1. Java instructions need to be translated into an


intermediate language called bytecode.

2. The bytecode is interpreted into a particular


machine language.

Java Programming: From Problem Analysis to Program Design, Second Edition 24


Evolution of
Programming Languages
 Compiler: A program that translates a program
written in a high-level language into the
equivalent machine language.
 (In the case of Java, this machine language is the
bytecode.)

 Java Virtual Machine (JVM): A hypothetical


computer developed to make Java programs
machine independent.
Java Programming: From Problem Analysis to Program Design, Second Edition 25
A Java Program
public class ASimpleJavaProgram
{
public static void main(String[] args)
{
System.out.println("My first Java program.");
System.out.println("The sum of 2 and 3 = " + 5);
System.out.println("7 + 8 = " + (7 + 8));
}
}

Sample Run:
My first Java program.
The sum of 2 and 3 = 5
7 + 8 = 15

Java Programming: From Problem Analysis to Program Design, Second Edition 26


Processing a Java Program
 Two types of Java programs are applications and
applets.
 Source program: Written in a high-level language.
 Loader: Transfers the compiled code (bytecode)
into main memory.
 Interpreter: Reads and translates each bytecode
instruction into machine language and then
executes it.

Java Programming: From Problem Analysis to Program Design, Second Edition 27


Processing a Java Program

Java Programming: From Problem Analysis to Program Design, Second Edition 28


Problem-Analysis-Coding-
Execution Cycle
 Algorithm: A step-by-step, problem-solving process
in which a solution is arrived at in a finite amount of
time.

Java Programming: From Problem Analysis to Program Design, Second Edition 29


Problem-Solving Process

1. Analyze the problem: Outline solution


requirements and design an algorithm.

2. Implement the algorithm in a programming


language (Java) and verify that the algorithm
works.

3. Maintain the program: Use and modify if the


problem domain changes.

Java Programming: From Problem Analysis to Program Design, Second Edition 30


Problem-Analysis-Coding-Execution Cycle

Java Programming: From Problem Analysis to Program Design, Second Edition 31


Programming Methodologies
Two basic approaches to programming design:

 Structured design

 Object-oriented design

Java Programming: From Problem Analysis to Program Design, Second Edition 32


Structured Design
1. A problem is divided into smaller sub-problems.

2. Each sub-problem is solved.

3. The solutions of all sub-problems are combined to


solve the problem.

Java Programming: From Problem Analysis to Program Design, Second Edition 33


Object-Oriented Design (OOD)
 In OOD, a program is a collection of interacting
objects.
 An object consists of data and operations.
 Steps in OOD:
1. Identify objects.
2. Form the basis of the solution.
3. Determine how these objects interact.

Java Programming: From Problem Analysis to Program Design, Second Edition 34


Chapter Summary
 A computer system is made up of hardware and
software components.
 Computers understand machine language; it is easiest
for programmers to write in high-level languages.
 A compiler translates high-level language into
machine language.
 The Java steps required to execute a program are
edit, compile, load, and execute.

Java Programming: From Problem Analysis to Program Design, Second Edition 35


Chapter Summary
 An algorithm is a step-by-step, problem-solving
process in which a solution is arrived at in a finite
amount of time.
 The three steps of the problem-solving process are
analyze the problem and design an algorithm,
implement the algorithm in a programming language,
and maintain the program.
 The two basic approaches to programming design are
structured design and object-oriented design.

Java Programming: From Problem Analysis to Program Design, Second Edition 36

S-ar putea să vă placă și