Download lab8_more-loops-model-answer

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CS110D Programming
Language I
Lab8 : More Loops (model answer)
Computer Science Department
Fall 2016
Lab Objectives:
After finishing this lab, the students will practice:
 Using different looping mechanisms.
 Using continue and break statements.
 Using nested control structures.
Lab Exercise 1:
Problem Description
For the given program segments, read the code and write the expected output in the space provided
below. [Note: Do not execute these statements on a computer.]
Program Segment
for (int i = 0; i <= 12; i++) {
if (i % 2 == 0) {
continue;
}
if (i == 7) {
break;
}
System.out.printf("%d \n", i);
}
Answer
Page|2
Program Segment
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 5; j++) {
System.out.printf("%4d \n", i*j);
}
System.out.println();
}
Answer
Program Segment
Int num = 4;
do {
System.out.println(num);
num+=4;
} while (num <= 20)
Answer
Page|3
Lab Exercise 2:
Problem Description
The process of finding the largest value (i.e., the maximum of a group of values) is used frequently in
computer applications. For example, a program that determines the winner of a sales contest would
input the number of units sold by each salesperson. The salesperson who sells the most units wins the
contest.
Draw the flow chart and write a java application using a do..while loop that inputs a series of 10
integers then determines and prints the largest integer. Your program should use at least the following
three variables:
A) Counter: A counter to count to 10 (i.e., to keep track of how many numbers
have been input and to determine when all 10 numbers have been processed).
B) Number: The integer most recently input by the user.
C) Largest: The largest number found so far.
Sample output
Enter number: 56
Enter number: -10
Enter number: 200
Enter number: 25
Enter number: 8
Enter number: 500
Enter number: -20
Enter number: 678
Enter number: 345
Enter number: 45
The Largest Number is 678
Flow chart
Draw Flow chart here
Page|4
Code
import java.util.Scanner;
public class LargestNum{
Public static void main(String[] args){
Scanner input = new Scanner(System.in);
int number, count = 0;
int largest = -100000000;
do {
System.out.println("Enter number: ");
number = input.nextInt();
if (number > largest){
largest = number;
}
count++;
} while (count<10)
System.out.println("Largest number is " + largest);
}
}
Follow-up Questions and Activities
Modify the code to allow the user to enter unknown number of integers that ends with -9999 as sentinel
value.
Code
import java.util.Scanner;
public class LargestNum{
Public static void main(String[] args){
Scanner input = new Scanner(System.in);
int number;
int largest = -100000000;
do {
System.out.println("Enter number or -9999 to exit: ");
number = input.nextInt();
if (number == -9999){
break;
}
if (number > largest){
largest = number;
}
} while (true)
System.out.println("Largest number is " + largest);
}
}
Page|5
Assignment Problem(s)
Question 1
Draw the flow chart and write a java application that asks the user to input the length and width
of a rectangle. Then it should draw this rectangle on the screen using stars. [Hint: Use a for loop]
Sample output
Page|6
Flow chart:
Draw the flow chart here
Code
import java.util.Scanner;
public class RegtanglePrint{
Public static void main(String[] args){
Scanner input = new Scanner(System.in);
int length, width;
System.out.print("Enter the length of the rectangle: ");
Length = input.nextInt();
System.out.print("Enter the width of the rectangle: ");
width = input.nextInt();
for (int i = 0; i < width; i++) {
for (int j = 0; j < length; j++) {
System.out.print(" * ");
}
System.out.println();
}
}
}
Page|7
Question 2
Draw the flow chart and write a java application using a do..while loop that asks the user to input a
sequence of integers. Then it should find and display each of the following:
a)
b)
c)
d)
Number of the integers.
Sum of the integers.
Number of odd integers.
Number of even integers.
[Hint: Use (-9999) as a sentinel value to end the sequence and skip an endless loop]
Flow chart:
Draw the flow chart here
Code
import java.util.Scanner;
public class NumSummary{
Public static void main(String[] args){
Scanner input = new Scanner(System.in);
int number, odd = 0, even = 0, sum = 0, count = 0;
do {
System.out.println("Enter number or -9999 to stop: ");
number = input.nextInt();
if (number == -9999)
break;
if (number % 2 == 0)
even++;
else
odd++;
sum += number;
count++;
} while (true)
System.out.println("Largest number is " + largest);
}
}
Page|8