intro to programming chapter 1 part 2 problem solving

45
Intro to Programming Chapter 1 Part 2 Problem Solving

Upload: letitia-tucker

Post on 29-Jan-2016

232 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Intro to Programming  Chapter 1 Part 2  Problem Solving

Intro to Programming

Chapter 1 Part 2

Problem Solving

Page 2: Intro to Programming  Chapter 1 Part 2  Problem Solving

Problem Solving

The purpose of writing a program is to solve a problem

The general steps in problem solving are:

• Understand the problem• Dissect the problem into manageable pieces• Design a solution• Consider alternatives to the solution and refine it• Implement the solution• Test the solution and fix any problems that exist

Page 3: Intro to Programming  Chapter 1 Part 2  Problem Solving

Problem Solving

Many software projects fail because the developer didn't really understand the problem to be solved

We must avoid assumptions and clarify ambiguities

As problems and their solutions become larger, we must organize our development into manageable pieces

This technique is fundamental to software development

Page 4: Intro to Programming  Chapter 1 Part 2  Problem Solving

Java

A programming language specifies the words and symbols that we can use to write a program

A programming language employs a set of rules that dictate how the words and symbols can be put together to form valid program statements

The Java programming language was created by Sun Microsystems, Inc.

It was introduced in 1995 and it's popularity has grown quickly since

It is an object-oriented language

Page 5: Intro to Programming  Chapter 1 Part 2  Problem Solving

Java Program Structure

In the Java programming language:• A program is made up of one or more classes• A class contains one or more methods• A method contains program statements

These terms will be explored in detail throughout the course

A Java application always contains a method called main

See Lincoln.java (page 27)

Page 6: Intro to Programming  Chapter 1 Part 2  Problem Solving

Lincoln.java

//******************************************************************** // Lincoln.java Author: Lewis/Loftus/Cocking // // Demonstrates the basic structure of a Java application. //********************************************************************

public class Lincoln { //----------------------------------------------------------------- // Prints a presidential quote. //----------------------------------------------------------------- public static void main (String[] args) { System.out.println ("A quote by Abraham Lincoln:");

System.out.println ("Whatever you are, be a good one."); } }

Page 7: Intro to Programming  Chapter 1 Part 2  Problem Solving

7

Java Program Structure

public class MyProgram

{

}

// comments about the class

class header

class body

Comments can be placed almost anywhere

Page 8: Intro to Programming  Chapter 1 Part 2  Problem Solving

8

Java Program Structure

public class MyProgram

{

}

public static void main (String[] args)

{

}

// comments about the class

// comments about the method

method headermethod body

Page 9: Intro to Programming  Chapter 1 Part 2  Problem Solving

9

Comments

Comments in a program are called inline documentation

They should be included to explain the purpose of the program and describe processing steps

They do not affect how a program works

Java comments can take three forms:

// this comment runs to the end of the line

/* this comment runs to the terminating symbol, even across line breaks */

/** this is a javadoc comment */

Page 10: Intro to Programming  Chapter 1 Part 2  Problem Solving

10

Identifiers

Identifiers are the words a programmer uses in a program

An identifier can be made up of letters, digits, the underscore character ( _ ), and the dollar sign

Identifiers cannot begin with a digit

Java is case sensitive - Total, total, and TOTAL are different identifiers

By convention, Java programmers use different case styles for different types of identifiers, such as• title case for class names - Lincoln

• upper case for constants - MAXIMUM

Page 11: Intro to Programming  Chapter 1 Part 2  Problem Solving

Identifiers

Sometimes we choose identifiers ourselves when writing a program (such as Lincoln)

Sometimes we are using another programmer's code, so we use the identifiers that they chose (such as println)

Often we use special identifiers called reserved words that already have a predefined meaning in the language

A reserved word cannot be used in any other way

Page 12: Intro to Programming  Chapter 1 Part 2  Problem Solving

12

Reserved Words

The Java reserved words:

abstractbooleanbreakbytecasecatchcharclassconstcontinuedefaultdodouble

elseextendsfalsefinalfinallyfloatforgotoifimplementsimportinstanceofint

interfacelongnativenewnullpackageprivateprotectedpublicreturnshortstaticstrictfp

superswitchsynchronizedthisthrowthrowstransienttruetryvoidvolatilewhile

Page 13: Intro to Programming  Chapter 1 Part 2  Problem Solving

Homework:

Read pp. 24 (bottom) to 32Multiple Choice p 50 # 1.6 – 1.8True/False p 50 # 1.1, 1.5, 1.7Short Answer p 51 # 1.7 & 1.8

Page 14: Intro to Programming  Chapter 1 Part 2  Problem Solving

Writing your first program:

Log onto your computer Make a new folder in your h:\drive:

• MyJavaWork

Open Jcreator (find in Math Shortcuts under Start menu)• File New Blank Workspace

Page 15: Intro to Programming  Chapter 1 Part 2  Problem Solving

Click on Finish

Page 16: Intro to Programming  Chapter 1 Part 2  Problem Solving

Setting up your projects:

File Open Workspace

Page 17: Intro to Programming  Chapter 1 Part 2  Problem Solving
Page 18: Intro to Programming  Chapter 1 Part 2  Problem Solving

Workspace Opened:

Page 19: Intro to Programming  Chapter 1 Part 2  Problem Solving

Make a new project:

File New Project• Empty Project Next

Page 20: Intro to Programming  Chapter 1 Part 2  Problem Solving

Name each project:

First Program Finish Finish

Page 21: Intro to Programming  Chapter 1 Part 2  Problem Solving

Name your file

Put your curser on your project name: First Program• File New File Empty Java File Next

Page 22: Intro to Programming  Chapter 1 Part 2  Problem Solving

Entering the file name

Type the name of your file: HelloWorld• You do not need to type in the .java

extension – it is automatic

Click on Finish

Page 23: Intro to Programming  Chapter 1 Part 2  Problem Solving

Write your first program

Page 24: Intro to Programming  Chapter 1 Part 2  Problem Solving

Build your Project

Build Build Project

Page 25: Intro to Programming  Chapter 1 Part 2  Problem Solving

Run Your Project

Once your output at the bottom of the screen says

“process completed” then choose”

Run Run Project

If you do not see “process completed” you will see error messages. You must fix your errors and build again before running the project.

Page 26: Intro to Programming  Chapter 1 Part 2  Problem Solving

Program with output at bottom:

Page 27: Intro to Programming  Chapter 1 Part 2  Problem Solving

Your Turn:

Click on Workspace Chapter 1 Programs Go to File New Project Empty Project

• Name your next project Second Program• Be sure your file path is directed to your h:\drive and the

MyJavaWork folder

Once you have a new project, click on the project name • Go to File New File Empty Java File• Name this file Greeting• Click on Finish• Type the code for a new program that will print some sort of

greeting to the screen instead of “Hello World!”

Page 28: Intro to Programming  Chapter 1 Part 2  Problem Solving

Use the following as a start:

Add your own comments

Page 29: Intro to Programming  Chapter 1 Part 2  Problem Solving
Page 30: Intro to Programming  Chapter 1 Part 2  Problem Solving

30

White Space

Spaces, blank lines, and tabs are called white space

White space is used to separate words and symbols in a program

Extra white space is ignored

A valid Java program can be formatted in many ways

Programs should be formatted to enhance readability, using consistent indentation

See Lincoln2.java (page 33)

See Lincoln3.java (page 34)

Page 31: Intro to Programming  Chapter 1 Part 2  Problem Solving

Lincoln2.java

//******************************************************************** // Lincoln2.java Author: Lewis/Loftus/Cocking // // Demonstrates a poorly formatted, though valid, program. //********************************************************************

public class Lincoln2{public static void main(String[]args){ System.out.println("A quote by Abraham Lincoln:"); System.out.println("Whatever you are, be a good one.");}}

Page 32: Intro to Programming  Chapter 1 Part 2  Problem Solving

Lincoln3.java //******************************************************************** // Lincoln3.java Author: Lewis/Loftus/Cocking // // Demonstrates another valid program that is poorly formatted. //********************************************************************

public class Lincoln3 { public static void main ( String [] args ) { System.out.println ( "A quote by Abraham Lincoln:" ) ; System.out.println ( "Whatever you are, be a good one." ) ; } }

Page 33: Intro to Programming  Chapter 1 Part 2  Problem Solving

33

Language Levels

There are four programming language levels:• machine language• assembly language• high-level language• fourth-generation language

Each type of CPU has its own specific machine language

The other levels were created to make it easier for people to read and write programs

Page 34: Intro to Programming  Chapter 1 Part 2  Problem Solving

34

Programming Languages

A program must be translated into machine language before it can be executed on a particular type of CPU

A compiler is a software tool which translates source code into a specific target language

Often, that target language is the machine language for a particular CPU type

The Java approach is somewhat different

Page 35: Intro to Programming  Chapter 1 Part 2  Problem Solving

35

Java Translation

The Java compiler translates Java source code into a special representation called bytecode

Java bytecode is not the machine language for any traditional CPU

Another software tool, called an interpreter, translates bytecode into machine language and executes it

Therefore the Java compiler is not tied to any particular machine

Java is considered to be architecture-neutral

Page 36: Intro to Programming  Chapter 1 Part 2  Problem Solving

36

Java Translation

Java sourcecode

Machinecode

Javabytecode

Javainterpreter

Bytecodecompiler

Javacompiler

Page 37: Intro to Programming  Chapter 1 Part 2  Problem Solving

Development Environments

There are many environments for developing Java software:

• Sun Java Development Kit (JDK)• Sun Forte for Java• Borland JBuilder• MetroWerks CodeWarrior• Microsoft Visual J++• Eclipse

• ** JCreator LE• ** BlueJ

Though the details of these environments differ, the basic compilation and execution process is essentially the same

Page 38: Intro to Programming  Chapter 1 Part 2  Problem Solving

38

Syntax and Semantics

The syntax rules of a language define how we can put together symbols, reserved words, and identifiers to make a valid program

The semantics of a program statement define what that statement means (its purpose or role in a program)

A program that is syntactically correct is not necessarily logically (semantically) correct

A program will always do what we tell it to do, not what we meant to tell it to do

Page 39: Intro to Programming  Chapter 1 Part 2  Problem Solving

39

Errors

A program can have three types of errors

The compiler will find syntax errors and other basic problems (compile-time errors)

• If compile-time errors exist, an executable version of the program is not created

A problem can occur during program execution, such as trying to divide by zero, which causes a program to terminate abnormally (run-time errors)

A program may run, but produce incorrect results, perhaps using an incorrect formula (logical errors)

Page 40: Intro to Programming  Chapter 1 Part 2  Problem Solving

Basic Program Development

errors

errors

Edit andsave program

Compile program

Execute program andevaluate results

Page 41: Intro to Programming  Chapter 1 Part 2  Problem Solving

Homework:

Read pp. 33 – 41Short Answer p 52 # 1.9

Page 42: Intro to Programming  Chapter 1 Part 2  Problem Solving

Introduction to Graphics

The last one or two sections of each chapter of the textbook focus on graphical issues

Most computer programs have graphical components

A picture or drawing must be digitized for storage on a computer

A picture consists of pixels, and each pixel is stored separately

Page 43: Intro to Programming  Chapter 1 Part 2  Problem Solving

Representing Color

A black and white picture can be stored using one bit per pixel (0 = white and 1 = black)

A colored picture requires more information; there are several techniques for representing colors

For example, every color can be represented as a mixture of the three additive primary colors Red, Green, and Blue

In Java, each color is represented by three numbers between 0 and 255 that collectively are called an RGB value

Page 44: Intro to Programming  Chapter 1 Part 2  Problem Solving

Coordinate Systems

Each pixel can be identified using a two-dimensional coordinate system

When referring to a pixel in a Java program, we use a coordinate system with the origin in the top-left corner

Y

X(0, 0)

(112, 40)

112

40

Page 45: Intro to Programming  Chapter 1 Part 2  Problem Solving

Programming Assignment

Do programming exercises from the text pp 52 - 53:• 1.1, 1.3 – 1.6

Read pp. 42 – 44.