connecting with computer science, 2e chapter 15 programming ii

51
Connecting with Computer Science, 2e Chapter 15 Programming II

Upload: susanna-riley

Post on 31-Dec-2015

223 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Connecting with Computer Science, 2e Chapter 15 Programming II

Connecting with Computer Science, 2e

Chapter 15Programming II

Page 2: Connecting with Computer Science, 2e Chapter 15 Programming II

Objectives

• In this chapter you will:– Gain an understanding of the basics of high-level

programming languages, using Java and C++ as examples

– Learn about variable types in Java and C++ and how they’re used

– Explore the different control structures in Java and C++

2

Page 3: Connecting with Computer Science, 2e Chapter 15 Programming II

Why You Need to Know About... Programming Languages

• Time, money, and effort go into learning computer programming languages – The only real way to learn is practice, practice, and

more practice• After reading this chapter, you must sit down at the

computer and practice the concepts frequently

3

Page 4: Connecting with Computer Science, 2e Chapter 15 Programming II

Java and C++ Programming Languages

• Criteria for choosing a programming language:– Tasks to perform

– Programmer’s skill level

– Program’s lifetime

– Software complexity being designed

• C++ and Java characteristics– Support an object-oriented environment

– Usable on different operating systems

– Provide strong foundation for learning how to program

– Provide a springboard to other languages

4

Page 5: Connecting with Computer Science, 2e Chapter 15 Programming II

Learning to Cook with Java and C++

• Four ingredients to write programs:– Variables– Operators– Control structures– Objects

• Java and C++ high-level programming languages provide computer interaction– Without speaking in binary 1s and 0s

5

Page 6: Connecting with Computer Science, 2e Chapter 15 Programming II

Learning to Cook with Java and C++

• Java history:– Designed for Internet use– Introduced by Sun Microsystems in 1995– Intended for small tasks or small applications (i.e.,

“applets”)• No need to write entire programs

– Developed into full-blown programming language• Language of choice to develop communication

devices and media applications (e.g., PDAs, cell phones, Internet, and networks)

6

Page 7: Connecting with Computer Science, 2e Chapter 15 Programming II

Learning to Cook with Java and C++

• Java’s advantages:– Uses familiar syntax– Very portable– Powerful and popular

• C++ history:– Created by Bjarne Stroustrup at Bell Labs in 1983– Based on C with added features – Added “object-oriented programming” language– Offers simplified memory management and access

to low-level memory

7

Page 8: Connecting with Computer Science, 2e Chapter 15 Programming II

Variables

• Have specific effects on a program’s outcome

• Must have an identifier or name prior to use

• Declaration: statement associating an identifier with a variable, an action, or another programming element– When declared, you specify attributes:

• Identifier (name)

• Type (character, numeric, Boolean, and so forth)

• Content

– Example: int numTicketsBought;

8

Page 9: Connecting with Computer Science, 2e Chapter 15 Programming II

Variable Naming Conventions

• Rules for declaring a variable in Java or C++– Use only letters, underscores, numbers– Begin name with a letter– Avoid Java and C++ reserved words

• Reserved word– Keyword with a specific instructional meaning

• Name cannot be used for a variable

• Programming language already using it as an instruction

9

Page 10: Connecting with Computer Science, 2e Chapter 15 Programming II

Variable Types

• Java and C++ are strongly typed– Must declare type of data a variable can hold

• Major Java data types:– Six number-related data types– One character related– One for true and false (Boolean)

• Major C++ data types– Adds a type for signed or unsigned numbers

• Syntax for declaring a variable:type variableName;

10

Page 11: Connecting with Computer Science, 2e Chapter 15 Programming II

Integer Data Types

• Used for positive and negative whole numbers– Java example

• int studentTickets;• float studentFees;• double studentTuition;• byte studentGrade;

– C++ example• int studentTickets;• float studentFees;• unsigned int totalPoints;

11

Page 12: Connecting with Computer Science, 2e Chapter 15 Programming II

12

Table 15-2, C++ integer data types

Table 15-1, Java integer data types

Integer Data Types

Page 13: Connecting with Computer Science, 2e Chapter 15 Programming II

Floating-Point Data Types

• Used for positive and negative numbers containing decimals– Examples of declaring variables in both languages:

• float salary;• double billGatesSalary;

13

Page 14: Connecting with Computer Science, 2e Chapter 15 Programming II

14

Table 15-4, C++ floating-point data types

Table 15-3, Java floating-point data types

Floating-Point Data Types

Page 15: Connecting with Computer Science, 2e Chapter 15 Programming II

Character Data Type

• Used for variables holding only one character– Example: char studentMiddleInit;

15

Table 15-5, Java character data type

Table 15-6, C++ character data types

Page 16: Connecting with Computer Science, 2e Chapter 15 Programming II

Boolean Data Type

• Used for only one of two values: true or false

• Java and C++– Cannot associate a number with a Boolean value– Rely on “true” or “false”

• Java Boolean variable declaration:– boolean deserveRaise;

• C++ Boolean variable declaration:– bool deserveRaise;

16

Page 17: Connecting with Computer Science, 2e Chapter 15 Programming II

17

Table 15-7, Java Boolean data type

Table 15-8, C++ Boolean data type

Boolean Data Type

Page 18: Connecting with Computer Science, 2e Chapter 15 Programming II

String Data Type

• Stores a piece of information – Not a number– Contains more than one character– Terminates with a null character ( ‘\0’ )

• Declared using double quotes

• Uses the String or string keywords– Examples of an empty string:

• String sName; //Java String• string sName; //C++ string

18

Page 19: Connecting with Computer Science, 2e Chapter 15 Programming II

String Data Type

• Examples of a string with contents assigned: – String sName = "Joe Blow"; //Java– string sName = "Joe Blow"; //C++

• Concatenation operator– The (+) operator– Process of combining or joining strings into one value

19

Page 20: Connecting with Computer Science, 2e Chapter 15 Programming II

Hungarian Notation

• Variable-naming method– Adds a letter at the beginning of a variable name

• Indicates data type

20

Table 15-9, Hungarian notation examples

Page 21: Connecting with Computer Science, 2e Chapter 15 Programming II

Variable Content

• When variable is declared:– Use an equal sign (=) to assign a value immediately

• Variable initialization: supplying value when variable is first declared

• Do not always have to initialize a variable– Programming language may assign a default value

– Example:• int iStudentCount;• iStudentCount = 456;

– Could also be written as: • int iStudentCount = 456;

21

Page 22: Connecting with Computer Science, 2e Chapter 15 Programming II

Variable Content

• Assigning a value to a character variable– Enclose in single quotes– Example:

• char cMiddleInit;• cMiddleInit = 'S';

– Alternative: • char cMiddleInit = 'S';

22

Page 23: Connecting with Computer Science, 2e Chapter 15 Programming II

Variable Content

• Assigning a value to a string variable– Enclose in double quotes– Example:

• String sMiddleName = "S"; //Java• string sMiddleName = "S"; //C++

23

Page 24: Connecting with Computer Science, 2e Chapter 15 Programming II

Java and C++ Control Structuresand Program Flow

• Four types of control structures:– Invocation– Top down– Selection– Repetition

• Correct use allows for a(n):– Readable program– Easy to maintain program

24

Page 25: Connecting with Computer Science, 2e Chapter 15 Programming II

Invocation

• The main() function block of code– Tells operating system the starting point

• Function: block of code performing a task– Can return a value

• Example: Save_Ferris.java file

25

1 public class Save_Ferris2 {3public static void main(String[] args)4 {5 System.out.println("I could have been the Walrus!");6 }7 }

Page 26: Connecting with Computer Science, 2e Chapter 15 Programming II

Invocation

• Parameters: received value assigned to a variable– Used by a block of source code

• Passing parameters as values– Enter them on same line

• After Java program name

– Example: C:\>hello 10

• C++ has a main() function in every program– Software engineers often include other files of

source code to perform common task

26

Page 27: Connecting with Computer Science, 2e Chapter 15 Programming II

Invocation

• C++ allows words inside parentheses– Indicates parameters receiving data when the

program runs• Parameters allow users to pass data to main() and

then use the data in the program

– Examples:• //C++ main receiving parameters• int main(int argc, char *argv[])

27

Page 28: Connecting with Computer Science, 2e Chapter 15 Programming II

Top Down ( or Sequence )

• Used when program statements executed in sequential order– Starting at the top and working down to the bottom

28

Page 29: Connecting with Computer Science, 2e Chapter 15 Programming II

Blocks of Code

• Sequence of several statements enclosed with opening and closing braces– Indicates a relation– Makes program more readable and accurate– Braces are used most often when working with

invocation, selection, repetition control structures• Example:

29

Page 30: Connecting with Computer Science, 2e Chapter 15 Programming II

Java Output Data

• Java System.out statement sends data to output device

• Insertion point: where the cursor is placed– Two methods to output data:

• System.out.print(expression);• System.out.println(expression);

30

Page 31: Connecting with Computer Science, 2e Chapter 15 Programming II

31

Table 15-10 Java output statements

Java Output Data

Page 32: Connecting with Computer Science, 2e Chapter 15 Programming II

C++ Output Data

• C++ cout statement– Sends data to output device– Uses redirection symbols (<<) to direct output– Example:

• cout << "15 + 10 = " << iResult <<endl;

• Instructs compiler to direct anything following the << symbols to the defined output device

32

Page 33: Connecting with Computer Science, 2e Chapter 15 Programming II

33

Table 15-11, Sample C++ output statements

C++ Output Data

Page 34: Connecting with Computer Science, 2e Chapter 15 Programming II

Input Data

• Java System.in– Method to retrieve data from the input device– Must create a new variable from the Scanner class

• Reads characters from input stream (keyboard)

• Places them into another variable acting as a memory buffer for storing the entered string

– Input assigned to a string variable declared by making a call to the next() method

• C++ cin >> someData;– Used to retrieve data from input device

34

Page 35: Connecting with Computer Science, 2e Chapter 15 Programming II

Back to Control Structures

• Java and C++ invocation– Implemented by calling functions and methods– Function: performs a task, can return a value– Method: function belonging to a class

• Java equals() method– System passes control to code associated with equals()

– Carries out the statements– Makes the comparison– Returns a Boolean value

35

Page 36: Connecting with Computer Science, 2e Chapter 15 Programming II

Selection

• First write algorithm with pseudocode– Ensures program meets language requirements– Guide or template for writing source code

• Recall Chapter 14 algorithm converting Celsius to Fahrenheit temperatures and vice versa

• See corresponding code on pages 531–533

36

Page 37: Connecting with Computer Science, 2e Chapter 15 Programming II

if and if-else Statements

• Used to weigh results of decision making– Result exists for every choice

• Syntax:

37

if (condition) {

one or more statements; }

Page 38: Connecting with Computer Science, 2e Chapter 15 Programming II

if and if-else Statements

• Condition – Expression returning true or false value– May add an else part to the control structure

• Performs a function if the if control structure evaluates to a false value

• Syntax:

38

if (condition) {

one or more statements; }else {

one or more statements; }

Page 39: Connecting with Computer Science, 2e Chapter 15 Programming II

if-else-if Statement

• Corrects problem in if-else statement– User enters incorrect input value

• Allows certain blocks of code to execute– Depends on variable’s state in the program while it is

running– Easy to use– Makes program more flexible

39

Page 40: Connecting with Computer Science, 2e Chapter 15 Programming II

switch Statement

• Nesting– Putting one control structure inside another

• Decreases code’s readability

• switch statement:– Allows testing of many options– Groups blocks of code to be executed depending on

results– Test expression’s value

• Jump to some location in the switch statement

• Expression must be a scalar data type

40

Page 41: Connecting with Computer Science, 2e Chapter 15 Programming II

switch Statement

• break statement at end of each case– Informs system to quit

processing case statements

– Sends control to end of the switch statement

• Syntax:

41

switch (expression){ case value_1:

statement_1; break;case value_2:

statement_2;break;

case value_3:statement_3;break;

default:statement_4;break;

}

Page 42: Connecting with Computer Science, 2e Chapter 15 Programming II

Repetition ( Looping )

• Allows repeating statements multiple times– No statement retyping

• Three statements:– for– while– do-while

42

Page 43: Connecting with Computer Science, 2e Chapter 15 Programming II

for Statement

• Used to repeat a group of statements a known number of times

• Variable declaration– Declare and initialize a variable– Declare counter variable

• Example: int iCount

• Syntax:

43

for (variable declaration; expression; increment/decrement){

statement(s);}

Page 44: Connecting with Computer Science, 2e Chapter 15 Programming II

while Statement

• Processes a group of statements a certain number of times– Like the for loop

• Precondition loop– Loop checks the expression before any source code

in the loop is executed• Might never be executed

– Difference between for and while loops• while statement doesn’t provide a specified area for

updating the counter

44

Page 45: Connecting with Computer Science, 2e Chapter 15 Programming II

while Statement

• Syntax:

45

while (expression){

statements;}

Page 46: Connecting with Computer Science, 2e Chapter 15 Programming II

do-while Statement

• Used when looping is based on an expression and statements are repeated before the expression is evaluated– Mainly when processing a table

• Postcondition loop– Executes at least one time before the expression is

evaluated

• Syntax:

46

do{

statement(s);} while (expression);

Page 47: Connecting with Computer Science, 2e Chapter 15 Programming II

One Last Thought

• Most programming languages use the four major control structures discussed in this chapter

• Organizations select a programming language based on application’s needs

• Programmers may need to update skills– C++ and Java is a good start– Must practice to become proficient

• Software engineers’ responsibility: write easy-to-read and easy-to-maintain structured programs

47

Page 48: Connecting with Computer Science, 2e Chapter 15 Programming II

Summary

• Java: high-level programming language designed for the Internet

• C++: high-level programming language based on the C language– Incorporates object-oriented principles

• Variables:– Integer (int), character (char), floating point,

Boolean, and string– “Initializing a variable”: assigning a value to a

variable

48

Page 49: Connecting with Computer Science, 2e Chapter 15 Programming II

Summary

• Four high-level programming language control structures:– Invocation, top down, selection, repetition

• Java uses methods for the invocation

• C++ uses methods and functions

• Output data:– Java uses the System.out statement – C++ use the cout statement with the << redirection

symbols

49

Page 50: Connecting with Computer Science, 2e Chapter 15 Programming II

Summary

• Input data:– Java Scanner class gathers input– C++ uses the cin statement

• Selection control structures:– C++ and Java use if, if-else, if-else-if, switch• switch statement is used only with scalar variables

• Repetition:– C++ and Java use for, while, do-while loops

• Practice, practice, and more practice50

Page 51: Connecting with Computer Science, 2e Chapter 15 Programming II

The End

51