programming methodology (1). iteration learning objectives explain the term iteration; repeat a...

Post on 31-Mar-2015

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Programming Methodology (1)

Iteration

Learning objectives

• explain the term iteration;

• repeat a section of code with a for loop;

• repeat a section of code with a while loop;

• repeat a section of code with a do...while loop;

• select the most appropriate loop for a particular task;

• explain the term input validation and write simple validation routines.

When to use a loop?

Display a square of stars (five by five) on the screen as follows:

* * * * *

* * * * *

* * * * *

* * * * *

* * * * *

System.out.println("*****");

System.out.println("*****");

System.out.println("*****");

System.out.println("*****");

System.out.println("*****");

REPEAT 5 times{

}System.out.println("*****");

The ‘for’ loop

for ( ; ; ){

}

start counter test counter change counter

// instruction(s) to be repeated go here

i = 1 i++i <= 5

System.out.println(“*****”);

int i;

Variable Scope

public static void main (String [] args){

}

if ( /* some test */){

}

int x;

int y;

x = 10;

System.out.print(x);

System.out.print(y);System.out.print(y);

y = x+1;

for ( ; ; ){

}

i = 1 i++i <= 5

System.out.println(“*****”);

RUN*************************

i 123456int i;

int i = 1

Different ways of using the loop counter

for ( ; ; ){

}

i ++i <= 5

System.out.println(“*****”);

*****

***************

int i = 1

for ( ; ; ){

}

i = i + 2i <= 5

System.out.println(“*****”);

*****

***************

int i = 1

for ( ; ; ){

}

i = i + 2i <= 10

System.out.println(“*****”);

*****

***************

int i = 1

for ( ; ; ){

}

i = i + 2i <= 10

System.out.println(“*****”);

RUN*************************

i 1357911

int i = 1

for ( ; ; ){

}

start counter test counter change counter

// instruction(s) to be repeated go here

int i = 10 i--i >= 1

System.out.println( i );

RUN

109876

i 1098765

54321

43210

The body of the loop

for ( ; ; ){

}

i ++i <= 3

System.out.println(“First line”);

*****

int i = 1

for ( ; ; ){

}

i ++i <= 3

System.out.println(“First line”);

*****

int i = 1

System.out.println(“Second line”);

First lineSecond lineFirst lineSecond lineFirst lineSecond line

for ( ; ; ){

}

i --i >= 1

System.out.println( i );

*****

int i = 10

10987654321

for ( ; ; ){

}

i --i >= 1

if ( i > 5 ){

System.out.println( i );}

int i = 10

109876

Nested loops

for (int i = 1; i <= 5; i++){

}

System.out.println("*****");

for (int i = 1; i <= 5; i++){

}

System.out.print("*");

System.out.println( );

System.out.print("*");System.out.print("*");

System.out.print("*");System.out.print("*");

for (int i = 1; i <= 5; i++){

}

for (int j = 1; j <= 5; j++){

} System.out.print("*");

System.out.println( );

Allowing the user to fix the size of the square

* * * * *

* * * * *

* * * * *

* * * * *

* * * * *

Allowing the user to fix the size of the square

* * *

* * *

* * *

for (int i = 1; i <= 5 ; i++) { for (int j = 1; j <= 5 ; j++) {

System.out.print("*"); } System.out.println( );}

System.out.println("Size of square?");num = sc.nextInt();

num; i++)

num; j++)

Running the program

Size of square?

8

* * * * * * * ** * * * * * * ** * * * * * * ** * * * * * * ** * * * * * * ** * * * * * * ** * * * * * * ** * * * * * * *

Size of square?

3

* * ** * ** * *

Running the program

Non-fixed repetitions

The ‘while’ loop

3422

Error!

7343

Error!

1234

CASH

System.out.print(“Enter PIN: ”);

pin = sc.nextInt( );

System.out.print(“Invalid PIN, please re-enter: ”);

pin = sc.nextInt( );

System.out.println(“Correct PIN, have some money! ”);

while ( ){

}

*/ test goes here */pin != 1234

RUN

Enter PIN: 1234

Correct PIN, have some money!

5555

4321

Correct PIN, have some money!

Invalid PIN, please re-enter:

Invalid PIN, please re-enter: 1234

Input Validation

import java.util.*;public class DisplayResult{ public static void main(String[] args) { int mark; Scanner sc = new Scanner (System.in); System.out.println("What exam mark did you get?"); mark = sc.nextInt(); if (mark >= 40) { System.out.println("Congratulations, you passed"); } else { System.out.println("I‘m sorry, but you failed"); } System.out.println("Good luck with your other exams"); }}

CHECK MARK HERE

System.out.println("What exam mark did you get?");

mark = sc.nextInt( );

if (mark >= 40) { System.out.println("Congratulations, you passed");}else{ System.out.println("I‘m sorry, but you failed");}System.out.println("Good luck with your other exams");

CHECK MARK HERESystem.out.println(“Invalid mark: please re-enter“);mark = sc.nextInt( );

while ( )

{

}

mark > 100mark < 0 ||

Sample Program Run

What exam mark did you get?

101

Invalid mark: please re-enter

-10

Invalid mark: please re-enter

10

I'm sorry, but you failed

Good luck with your other exams

The ‘do…while’ loop

// some code here

// some code here

// some code goes here

{

}

while ( /*test goes here*/ )do

;

import java.util.*;

public class FindCost4{ public static void main(String[] args ) {

double price, tax;Scanner sc = new Scanner(System.in);

}}

// code for rest of program here

char reply;

System.out.print (“Enter another product (y/n)?: ”);reply = sc.next().charAt(0);

{

} while ( );

?

reply == ‘y’ reply == ‘Y’||

do

Sample Program Run

*** Product Price Check ***Enter initial price: 50Enter tax rate: 10 Cost after tax = 55.0 Enter another product (y/n)?: y

*** Product Price Check ***Enter initial price: 70Enter tax rate: 5

Cost after tax = 73.5 Enter another product (y/n)?: n

Menu Driven Programs

*** Product Price Check ***

[1] Enter Price

[2] Enter tax

[3] Calculate Cost

[4] Quit

Enter choice [1-4]: 1

Enter initial price: 12.5

*** Product Price Check ***

[1] Enter Price

[2] Enter tax

[3] Calculate Cost

[4] Quit

Enter choice [1-4]: 1

Enter initial price: 100

*** Product Price Check ***

[1] Enter Price

[2] Enter tax

[3] Calculate Cost

[4] Quit

Enter choice [1-4]: 2

Enter tax rate: 12.5

*** Product Price Check ***

[1] Enter Price

[2] Enter tax

[3] Calculate Cost

[4] Quit

Enter choice [1-4]: 3

Cost = 112.5

*** Product Price Check ***

[1] Enter Price

[2] Enter tax

[3] Calculate Cost

[4] Quit

Enter choice [1-4]: 4

Goodbye!

Menu Driven Timetable Program

*** Lab Times ***

[1] TIME FOR GROUP A

[2] TIME FOR GROUP B

[3] TIME FOR GROUP C

[4] QUIT

Enter choice [1-4]: 2

1.OOp.m

*** Lab Times ***

[1] TIME FOR GROUP A

[2] TIME FOR GROUP B

[3] TIME FOR GROUP C

[4] QUIT

Enter choice [1-4]: 5

Options 1-4 only!

*** Lab Times ***

[1] TIME FOR GROUP A

[2] TIME FOR GROUP B

[3] TIME FOR GROUP C

[4] QUIT

Enter choice [1-4]: 1

10.OOa.m

*** Lab Times ***

[1] TIME FOR GROUP A

[2] TIME FOR GROUP B

[3] TIME FOR GROUP C

[4] QUIT

Enter choice [1-4]: 3

11.00a.m

*** Lab Times ***

[1] TIME FOR GROUP A

[2] TIME FOR GROUP B

[3] TIME FOR GROUP C

[4] QUIT

Enter choice [1-4]: 4

Goodbye

// code to declare variables

System.out.println(“[1] TIME FOR GROUP A”);System.out.println(“[2] TIME FOR GROUP B”);System.out.println(“[3] TIME FOR GROUP C”);System.out.println(“[4] QUIT”);

System.out.print(“Enter choice [1-4]: “);

choice = sc.next().charAt(0);switch(choice){

}

case ‘1’:case ‘2’:case ‘3’:

default:

System.out.println(“10.00a.m”);System.out.println(“1.00p.m”);System.out.println(“11.00a.m”);

System.out.println(“Options 1-4 only!”);

{

} choice != ‘4’

case ‘4’: System.out.println(“Goodbye”);

// CODE TO DISPLAY MENU

// CODE TO ENTER CHOICE

// CODE TO PROCESS CHOICE

do

while( );

char choice;

break;break;

break;break;

public class IterationQ3

{

public static void main(String[] args)

{

for(int i=1; i<=10; i++)

{

if (i%2 == 0)

{

System.out.println(i);

}

}

}

}

2

4

6

8

10

1i = 234567891011

Assignment

Aaron’s Shop

Guitar (£100) - How many?:

Aaron’s Shop

Guitar (£100) - How many?: 2

Aaron’s Shop

Guitar (£100) - How many?: 2

Total cost required?

Aaron’s Shop

Guitar (£100) - How many?: 2

Total cost required? n

Aaron’s Shop

Guitar (£100) - How many?: 2

Total cost required? n

Piano (£900) - How many?:

Aaron’s Shop

Guitar (£100) - How many?: 2

Total cost required? n

Piano (£900) - How many?: 1

Aaron’s Shop

Guitar (£100) - How many?: 2

Total cost required? n

Piano (£900) - How many?: 1

Total cost required?

Aaron’s Shop

Guitar (£100) - How many?: 2

Total cost required? n

Piano (£900) - How many?: 1

Total cost required? y

Aaron’s Shop

Guitar (£100) - How many?: 2

Total cost required? n

Piano (£900) - How many?: 1

Total cost required? y

Total cost so far = £1100

Aaron’s Shop

Guitar (£100) - How many?: 2

Total cost required? n

Piano (£900) - How many?: 1

Total cost required? y

Total cost so far = £1100

Mike (£45) - How many?:

Aaron’s Shop

Guitar (£100) - How many?: 2

Total cost required? n

Piano (£900) - How many?: 1

Total cost required? y

Total cost so far = £1100

Mike (£45) - How many?: 0

Using a for loop, write a program that displays a "6 times" multiplication table; the output should look like this:

1 6 = 62 6 = 123 6 = 184 6 = 245 6 = 306 6 = 367 6 = 428 6 = 489 6 = 54

10 6 = 6011 6 = 6612 6 = 72

Using a for loop, write a program that displays a "6 times" multiplication table; the output should look like this:

1 6 = 62 6 = 123 6 = 184 6 = 245 6 = 306 6 = 367 6 = 428 6 = 489 6 = 54

10 6 = 6011 6 = 6612 6 = 72

top related