cs 102 / cs 107 - introduction to programming midterm exam...

8
CS 102 / CS 107 - Intro. to Programming, Midterm Exam #1, page 1 of 8 CS 102 / CS 107 - Introduction to Programming Midterm Exam #1 - Prof. Reed Fall 2010 What is your name?: ___________________________ There are two sections: I. True/False . . . . . . . . . . . . . . . . . . . . . 60 points; ( 30 questions, 2 points each) II. Multiple Choice . . . . . . . . . . . . . . . 40 points; ( 10 questions, 4 points each) --------------- 100 points total This test is worth 10% of your final grade. Please fill in your answers on the bubble form. After the test you may keep these pages, but you must turn in your bubble form. This test is open book and open notes. You have 50 minutes. For the multiple choice problems, select the best answer for each one and select the appropriate letter on your answer sheet. Be careful - more than one answer may seem to be correct. Many questions are tricky. Some problems ask you to determine whether something is valid. Something is valid if it would not gen- erate a compiler error and would execute without the program crashing. I. True/False: (2 points each) T F 1. In Java a class called Book should be stored in a file called Book.java T F 2. In Eclipse it is possible to step through a program one line at a time, however to do this you must enclose the code in the program inside of special comment markers. T F 3. If you want to use Eclipse to develop your Java programs, your compute must also have a Java Development Kit (JDK) installed. T F 4. Java programs can be compiled and run from the command line. T F 5. The main() method in a Java program must always call a mainLoop() method, otherwise the program cannot run. T F 6. The name of a Java class must begin with a capital letter, otherwise the program will not run. T F 7. Variable names in Java by convention use mixed case, where the words are concatenated together and the first letter of each word is capitalized. T F 8. In a Java program a method that does not return anything can either have a return type of void or have no return type listed at all. T F 9. Java methods are private by default, which means they cannot be called from outside of that file. T F 10. The ASCII code value for ’A’ is decimal 65 T F 11. The ASCII code value for ’a’ is decimal 95 T F 12. The decimal value 23 in binary is 11011 T F 13. Binary numbers use a left-most digit of 2 to represent negative numbers

Upload: lekhue

Post on 28-Aug-2018

266 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: CS 102 / CS 107 - Introduction to Programming Midterm Exam ...logos.cs.uic.edu/107/Tests/Midterm1/Midterm1Fall2010withAnswers.pdf · CS 102 / CS 107 - Intro. to Programming, Midterm

CS 102 / CS 107 - Intro. to Programming, Midterm Exam #1, page 1 of 8

CS 102 / CS 107 - Introduction to ProgrammingMidterm Exam #1 - Prof. Reed

Fall 2010

What is your name?: ___________________________

There are two sections:I. True/False. . . . . . . . . . . . . . . . . . . . . 60 points; ( 30 questions, 2 points each)II. Multiple Choice . . . . . . . . . . . . . . . 40 points; ( 10 questions, 4 points each)

--------------- 100 points total

This test is worth 10% of your final grade. Please fill in your answers on the bubble form. After the test you may keep these pages, but you must turn in your bubble form. This test is open book and open notes. You have 50 minutes.

• For the multiple choice problems, select the best answer for each one and select the appropriate letter on your answer sheet.

• Be careful - more than one answer may seem to be correct. Many questions are tricky.• Some problems ask you to determine whether something is valid. Something is valid if it would not gen-

erate a compiler error and would execute without the program crashing.

I. True/False: (2 points each)

T F 1. In Java a class called Book should be stored in a file called Book.java

T F 2. In Eclipse it is possible to step through a program one line at a time, however to do this you must enclose the code in the program inside of special comment markers.

T F 3. If you want to use Eclipse to develop your Java programs, your compute must also have a Java Development Kit (JDK) installed.

T F 4. Java programs can be compiled and run from the command line.

T F 5. The main() method in a Java program must always call a mainLoop() method, otherwise the program cannot run.

T F 6. The name of a Java class must begin with a capital letter, otherwise the program will not run.

T F 7. Variable names in Java by convention use mixed case, where the words are concatenated together and the first letter of each word is capitalized.

T F 8. In a Java program a method that does not return anything can either have a return type of void or have no return type listed at all.

T F 9. Java methods are private by default, which means they cannot be called from outside of that file.

T F 10. The ASCII code value for ’A’ is decimal 65

T F 11. The ASCII code value for ’a’ is decimal 95

T F 12. The decimal value 23 in binary is 11011

T F 13. Binary numbers use a left-most digit of 2 to represent negative numbers

Page 2: CS 102 / CS 107 - Introduction to Programming Midterm Exam ...logos.cs.uic.edu/107/Tests/Midterm1/Midterm1Fall2010withAnswers.pdf · CS 102 / CS 107 - Intro. to Programming, Midterm

CS 102 / CS 107 - Intro. to Programming, Midterm Exam #1, page 2 of 8

T F 14. Single line comments using // can be nested inside block comments using /* */

T F 15. A single System.out.println( ...) statement can cause 3 output lines to be displayed.

T F 16. Several System.out.print( ...) statements can cause a single line of output to be displayed.

T F 17. Each opening brace { must have a corresponding closing brace }

T F 18. Variables that are of type boolean can be used interchangeably with variables of type int

T F 19. Variables that are of type int can be stored into double variables, but double variables cannot be conversely stored into an int variable.

T F 20. float and double variables are exactly the same. Those two variable declarations can be used interchangeably.

T F 21. To end a Java program both the break or the exit statement may be used.

T F 22. A do loop (also called a do-while loop) is the best choice for displaying a menu and handling the user response.

T F 23. The section of code shown below would compile and run and give as output: 3

T F 24. The section of code shown below would compile and run:

T F 25. Any code that can be written with a switch-case statement could also be written with multiple if-else statements.

T F 26. The following statements in Java would be useful for helping check if the length of a String is 3 characters long.

T F 27. The output of the following lines of code is: Not Done End

int sum = 0;for( int i=0; i<=3; i++)

sum += i;System.out.println( sum);

int sum = 0;for( ; ; )

;System.out.println( sum);

String name = "123";if( name.length() = 3) { System.out.println("Length is three.");}

boolean Done = false;if (Done = false) System.out.println("Not"); if( Done = true)

System.out.println("Done ");else System.out.println("Undecided ");System.out.println("End");

Page 3: CS 102 / CS 107 - Introduction to Programming Midterm Exam ...logos.cs.uic.edu/107/Tests/Midterm1/Midterm1Fall2010withAnswers.pdf · CS 102 / CS 107 - Intro. to Programming, Midterm

CS 102 / CS 107 - Intro. to Programming, Midterm Exam #1, page 3 of 8

T F 28. The output of the following statements is: 10 Done

T F 29. The following code prints the words: 1 Done

T F 30. The following Java program could have all the spaces and new-line characters removed so that it was all on one line, and it would still compile, run, and give the same output.

int y = 4;int z = 6;System.out.print( "" + z + y);System.out.println(" Done");

char c=’a’;switch (c){ case ’a’: System.out.print("1"); case ’b’: System.out.print("2"); case ’c’: System.out.print("3"); }System.out.println(" Done");

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

int x = 5;int y = x+2;System.out.println("x+y:" + x + y);

}}

Reed
Pen
Reed
Pen
Reed
Pen
Reed
Pen
Reed
Pen
Reed
Pen
Reed
Pen
Reed
Pen
Reed
Pen
Reed
Pen
Reed
Pen
Reed
Pen
Page 4: CS 102 / CS 107 - Introduction to Programming Midterm Exam ...logos.cs.uic.edu/107/Tests/Midterm1/Midterm1Fall2010withAnswers.pdf · CS 102 / CS 107 - Intro. to Programming, Midterm

CS 102 / CS 107 - Intro. to Programming, Midterm Exam #1, page 4 of 8

II. Multiple Choice (4 points each)

31. What is the output of the code segment shown below:

a) 3 5 8b) 4 5 8c) 4 5 9d) 3 6 9e) None of the above

32. Assume the code segment shown below, where method swapValues2 is called. Output of this segment of code is:

a) 73b) 37c) 10d) Does not compilee) None of the above

int i=3, j=5;int k = i+++j;System.out.println(i + " " + j + " " + k);

// ... other codeint x = 3, y = 7;

System.out.println( change( x, y) ); // ... other code

public int change(int x, int y){

int temp = yy = x;x = temp;return x + y;

}

Page 5: CS 102 / CS 107 - Introduction to Programming Midterm Exam ...logos.cs.uic.edu/107/Tests/Midterm1/Midterm1Fall2010withAnswers.pdf · CS 102 / CS 107 - Intro. to Programming, Midterm

CS 102 / CS 107 - Intro. to Programming, Midterm Exam #1, page 5 of 8

33. The output of the following code in Java is equivalent to:

a) 3 * 9b) 3 + 9c) 39d) 93e) None of the above

34. Consider the program segment given below. Its output is:

a) Value is: 3b) Value is: 7c) Value is: 10d) Does not compilee) None of the above

35. Consider the code given below. If its output is: 12 16 20 24 15 20 25 3018 24 30 36

what are the values for variables start, end, first and last?

a) int start=7, end=3, first=6, last=4;b) int start=4, end=7, first=3, last=6;c) int start=7, end=4, first=6, last=3;d) int start=3, end=7, first=4, last=6;e) None of the above

int value = 3; int limit = 9; int result = 0;

for(int x=0; x<limit; x++) { result = result + value;

} System.out.println( result);

int value = 0;for( int i=0; i<7; i++) {

value += i%2;}System.out.println("Value is: " + value);

for( int i=start; i<=end; i++) { for( int j=first; j<last; j++) { System.out.printf("%5d",i*j); } System.out.println(); }

Reed
Pen
Reed
Pen
Reed
Pen
Reed
Pen
Page 6: CS 102 / CS 107 - Introduction to Programming Midterm Exam ...logos.cs.uic.edu/107/Tests/Midterm1/Midterm1Fall2010withAnswers.pdf · CS 102 / CS 107 - Intro. to Programming, Midterm

CS 102 / CS 107 - Intro. to Programming, Midterm Exam #1, page 6 of 8

36. What is the output of the code given in the two columns below when an object of type Confuse is cre-ated and used to call method startUp()?

a) 7b) 6c) 12d) 11e) None of the above

class Confuse{ private int x; private int y; public Confuse() { x = 3; y = 6; } private void first(int z) { x = z; y++; } private void second(int s, int t) { setXY( (y+t), (x-s)); s = 1; t = 3; }

private void setXY( int s, int y) { x = s; this.y = y;

first( y); }

private void display() { System.out.println(x + y); }

public void startUp() { first( y); second( y, x);

display(); } }//end class Confuse

public int first(int x, int y) {

int z=0;for (int i=0; i<y; i++) {

z += 1;}return z;

}

public int second(int x, int y) {

int z=1;for (int i=0; i<y; i++) {

z = first( y, x);}return z;

}

37. Consider method second shown at right, which itself uses method first. For positive numbers, how would you best describe the return value of method second?

a) x + yb) x * xc) x * yd) x ye) None of the above

Page 7: CS 102 / CS 107 - Introduction to Programming Midterm Exam ...logos.cs.uic.edu/107/Tests/Midterm1/Midterm1Fall2010withAnswers.pdf · CS 102 / CS 107 - Intro. to Programming, Midterm

CS 102 / CS 107 - Intro. to Programming, Midterm Exam #1, page 7 of 8

38. What would be the output of the method call: method38( 1324));

a) 4b) 1c) 10d) Compiler errore) None of the above

39. Consider ClassA given below, along with the driver class ClassADriver for it.

When running method doIt() in the ClassADriver class, the output will be:a) value is: 5b) value is: 6c) value is: 7d) doesn’t compilee) None of the above

void method38( int number) { int x = number; int count = 0;

while ( x > 0) { x = x / 10; count++; } for( int i=0; i<count/2; i++) { number = number / 10; } System.out.println( number%10); }

class ClassADriver{

public void doIt(){

int value = 7;ClassA instance1 = new ClassA( value);instance1.x = value - 1;instance1.changeValue( 2);System.out.println("value is: " +

instance1.x);}

}//end ClassADriver

class ClassA {

private int x;

public ClassA(){ x = 1;

}

public ClassA( int x){ this.x = x+1;

}

public void changeValue(int val) {

x = x + val;}

}//end ClassA

Page 8: CS 102 / CS 107 - Introduction to Programming Midterm Exam ...logos.cs.uic.edu/107/Tests/Midterm1/Midterm1Fall2010withAnswers.pdf · CS 102 / CS 107 - Intro. to Programming, Midterm

CS 102 / CS 107 - Intro. to Programming, Midterm Exam #1, page 8 of 8

40. Consider the method shown below. When passed a String, what does it return?

a) Every other letter of the original String, starting with the firstb) Every other letter of the original String, starting with the secondc) The original String with all duplicate letters eliminatedd) Only the letters from the original String that had duplicatese) None of the above

public String method40( String theWord) { char c; String newWord = "";

for( int i=0; i<theWord.length(); i++) { c = theWord.charAt( i);

newWord = ""; for( int j=0; j<theWord.length(); j++) { if( (j<=i)) { newWord = newWord + theWord.charAt( j); } else if( theWord.charAt( j) == c) { newWord = newWord + theWord.charAt( j); } } theWord = newWord; } return newWord;

}