Sunteți pe pagina 1din 12

Name:_______________________

Covers Chapters 3 and 4

CSCI 1301 Introduction to Programming


Armstrong Atlantic State University
Instructor: Y. Daniel Liang

Part I: Multiple Choice Questions.


1.

Analyze the following code:


// Enter an integer
String numString = JOptionPane.showInputDialog(null,
"Enter a number:",
"Exam Input", JOptionPane.QUESTION_MESSAGE);
int number = Integer.parseInt(numString);
if (number <= 0)
System.out.println(number);
a.
b.
c.
d.
e.

2.

The if statement is wrong, because it does not have the else


clause;
System.out.println(number); must be placed inside braces;
If number is zero, number is displayed;
If number is positive, number is displayed.
number entered from the input cannot be negative.

What is the output of the following code: (Please indent the


statement correctly first. This will help you read the program.)
int x = 9;
int y = 8;
int z = 7;
if (x > 9)
if (y > 8)
System.out.println("x > 9 and y > 8");
else if (z >= 7)
System.out.println("x <= 9 and z >= 7");
else
System.out.println("x <= 9 and z < 7");
a.
b.
c.
d.

3.

x > 9 and y > 8;


x <= 9 and z >= 7;
x <= 9 and z < 7;
None of the above.

Analyze the following code:


String numString = JOptionPane.showInputDialog(null,
"Enter a number:",
"Exam Input", JOptionPane.QUESTION_MESSAGE);
int number = Integer.parseInt(numString);

if (number <= 0)
System.out.println(number);
System.out.println(number);
a.
b.
c.
d.
e.
4.

number
number
number
number
All of

is always printed out at least once;


is printed out twice if number is zero;
is printed out twice if number is negative;
is printed out once if number is positive.
the above.

What is y after the following switch statement?


int x = 0;
int y = 0;
switch (x + 1) {
case 0: y = 0;
case 1: y = 1;
default: y = -1
}
a.
b.
c.
d.

5.

1
-1
0
None of the above

Analyze the following code.


int x = 0;
int y = ((x<100) && (x>0)) ? 1: -1;
a.
b.
c.
d.

The code has a syntax error because & must be &&.


y becomes 1 after the code is executed.
y becomes -1 after the code is executed.
None of the above.

6.

Which
a.
b.
c.
d.
e.

of
(1
(x
(x
a,
a,

7.

Which of the following expression is equivalent to (x > 1).


a.
b.
c.
d.
e.

8.

the following is not a valid boolean expression.


< x < 100)
= 1) || (x != 1)
=< 5) && (x>=5)
b, and c are all correct
b, and c are all wrong

x >= 1
!(x <= 1)
!(x = 1)
!(x < 1)
None of the above

Analyze the following two code fragments.


(i)
int x = 5;
if (0 < x) && (x < 100)

System.out.println("x is between 1 and 100");


(ii)
int x = 5;
if (0 < x && x < 100)
System.out.println("x is between 1 and 100");
a.
b.
c.
d.
e.
9.

The first fragment has a syntax error on the second line.


The second fragment has a syntax error on the second line.
Both fragments produce the same output.
Both fragments compile, but produce different result.
None of the above.

Analyze the following fragment.


double x = 0;
double d = 1;

switch (d + 4) {
case 5: x++;
case 6: --x;
}
a.
The required break keyword is missing in the switch
statement.
b.
The required default keyword is missing in the switch
statement
c.
The switch control variable cannot be double
d.
a, b, and c are all correct.
e.
a, b, and c are all incorrect.
10.

Analyze the following code.


int x = 0;

a.
b.
c.
d.

if (x > 0)
{
System.out.println("x");
}
The symbol x is always printed.
The value of variable x is always printed.
Nothing is printed because x > 0 is false.
None of the above.

11.
Which
least once.
a.
b.
c.
d.
12.

of the loop statements always have their body executed at


The while loop
The do-while loop
The for loop
None of the above

Analyze the following code.


int x = 1;
while (0 < x) & (x < 100)
System.out.println(x++);

a.
b.
c.
d.
e.
13.

The
The
the
The
not
The
The

loop runs for ever.


code does not compile because the loop body is not in
braces.
code does not compile because (0 < x) & (x < 100) is
enclosed in a pair of parentheses.
number 1 to 99 are displayed.
number 2 to 100 are displayed.

Analyze the following code.


double sum = 0;
for (double d = 0; d < 10; sum += sum + d)
d += 0.1;
}
a.
b.
c.
d.

14.

The program has a syntax error because the adjustment


statement is incorrect in the for loop.
The program has a syntax error because the control variable
in the for loop cannot be of the double type.
The program compiles but does not stop because d would
always be less than 10.
The program compiles and runs fine.

What is y after the following for loop statement is executed?


int y = 0;
for (int i = 0; i < 10; ++i)
y += 1;
}
a.
b.

15.

9
10
c.
d.
e.

11
12
None of the above.

What balance after the following code is executed?


int balance = 10;
while (balance >= 1) {
if (balance < 9) continue;
balance = balance - 9;
}
a.
b.
c.
d.
e.

16.

-1
0
1
2
The loop does not end

What is the value of balance after the following code is executed?

int balance = 10;


while (balance >= 1) {
if (balance < 9) break;
balance = balance - 9;
}
a.
b.
c.
d.
e.
17.

1
0
1
2
None of the above

What is x after evaluating


x = (2 > 3) ? 2 : 3;
a.
b.
c.
d.

2
3
4
None of the above

18. Analyze the following code:


boolean even = ((231 % 2) == 0);
if (even = true)
System.out.println("It is even!");
else
System.out.println("It is odd!");
a.
b.
c.
d.
e.

The program
The program
The program
The program
None of the

has a syntax error


has a runtime error
displays It is odd!
displays It is even!
above

19. Analyze the following code:

(A)

if (income <= 10000)


tax = income * 0.1;
else if (income <= 20000)
tax = 1000 + (income 10000) * 0.15;
else
tax = 1000 + 1500 + (income 20000) * 0.18;

if (income <= 20000)


tax = 1000 + (income 10000) * 0.15;

else if (income <= 10000)


tax = income * 0.1;
else if (income <= 20000)
tax = 1000 + (income 10000) * 0.15;
else
tax = 1000 + 1500 + (income 20000) * 0.18;
(C) if (income <= 10000)
tax = income * 0.1;

else if (income > 10000 && income <= 20000)


tax = 1000 + (income 10000) * 0.15;
else
tax = 1000 + 1500 + (income 20000) * 0.18;

(B)

a.
b.
c.
d.

A and B are equivalent.


A and C are equivalent.
B and C are equivalent.
A, B and C are equivalent.

Part II. (1 pts)

Correctly indent the following statement.

if (i > 0) if
(j > 0)
x = 0; else
if (k > 0) y = 0;
else z = 0;
Part III. (5 pts) Identify and fix errors in the following code:
public class Test
{
public static void main(string[] args)
{
for (int i = 0; i < 10; i++);
{
if (j > i) then
j++
else
j--;
}
}
}

Part IV. (5 pts) Show the printout of the following code:


public class Test {
public static void main(String[] args) {
int i = 1;
while (i <= 4) {
int num = 1;
for (int j = 1; j <= i; j++) {
System.out.print(num + "bb");
num *= 3;
}
System.out.println();
i++;
}
}
}
Part V: (5 pts each):
1. Write a program that prints numbers from 1 to 50, but for numbers that
are multiples of 5, print HiFive, and for numbers that are divisible by
both 2 and 3, print Georgia.

2.

Write a loop that computes

1 2 3
98 99
...

2 3 4
99 100

3. Write a loop that displays the following pattern.


12345678987654321
234567898765432
3456789876543
45678987654
567898765
6789876
78987
898
9

Key for Exam2


Part I: Multiple Choice Questions.
1. c
2. d
3. e
4. b
5. c
6. e
7. b
8. a
9. c
10. a
11. b
12. c
13. d
14. b
15. e
16. c
17. b
18. d
19. b
Part II. (1 pts) Correctly indent the following statement.
if (i > 0)
if (j > 0)
x = 0;
else if (k > 0)
y = 0;
else z = 0;
Part III. (5 pts) Identify and fix errors in the following code:
public class Test
{
public static void main(string[] args) // should be String
{
for (int i = 0; i < 10; i++); // should remove ;
{
if (j > i) then // should remove then // j not defined
j++
// miss ;
else
j--;
}
}
}
Part IV. (5 pts) Show the printout of the following code:

10

1bb
1bb3bb
1bb3bb9bb
1bb3bb9bb27bb
Part V:
(a)
import javax.swing.JOptionPane;
public class Test {
/**Main method*/
public static void main(String[] args) {
// Prompt the user to enter sales amount
String doubleString = JOptionPane.showInputDialog(
"Enter sales amount:");
// Convert string to double
double salesAmount = Integer.parseInt(doubleString);
// Compute sales commission
double salesCommission = 0;
if (salesAmount <= 5000)
salesCommission = salesAmount * 0.08;
else if (salesAmount <= 10000)
salesCommission = 5000 * 0.08 + (salesAmount - 5000) * 0.1;
else
salesCommission = 5000 * 0.08 + 10000 * 0.1 +
(salesAmount - 10000) * 0.12;

// Display results
System.out.println("Sales commission is " + salesCommission +
" for sales amount of " + salesAmount);

}
(b)
import javax.swing.JOptionPane;
public class Test {
/**Main method*/
public static void main(String[] args) {
double sum = 0;
for (int i = 1; i <= 99; i++)
sum += sum + (i * 1.0 / (i + 1));

// Display results
System.out.println("Sum is " + sum);

11

(c)
public class Test {
/**Main method*/
public static void main(String[] args) {
for (int row = 1; row <= 9; row++) {
// Print spaces
for (int column = 1; column < row; column++)
System.out.print(" ");
for (int column = row; column <= 9; column++)
System.out.print(column);
for (int column = 8; column >= row; column--)
System.out.print(column);
}

System.out.println();

}
}

12

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