Exam 1 CS 143

advertisement
Sample Exam 1
CS 143
(60 points closed book)
1.
Compute and indicate the value of each legal expression. Indicate whether the value is an
integer or a floating-point value. If the expression is not legal, simply write ILLEGAL.
(4)
a.
913 % 9 * 17
b.
279 % 17 + 13.0
c.
7.7 % 2
d.
72 * 3 / 2 * 6
2.
Indicate in outline form the major steps in an sentinel-controlled loop. (4)
3.
Write a complete C++ program (without comments) that computes the volume of a sphere, the
volume of a sphere is 4R / 3 , where R is the radius. The program should prompt for and
read in the radius. The program should print the volume, appropriately labeled. Define PI
to be a constant equal to 3.14159. Remember that the program MUST BE A COMPLETE WORKING
PROGRAM BUT NOT DOCUMENTED. (5)
3
4.
Given:
bool EqualTo;
int num1, num2;
Write one C++ statement to assign to EqualTo true if num1 is equal to num2, false
otherwise. You should assume that num1 and num2 have values. (3)
5.
Given the following program:
#include <iostream.h>
const int LIMIT = 9;
// SHOW YOUR TRACE OVER HERE!!
int main()
{
int sum, i, number;
bool finished;
sum = 0;
i = 1;
finished = false;
while (i <= LIMIT && !finished)
{
cin >> number;
if (number > 0)
sum = sum + number;
else if (number < 0)
finished = true;
i++;
}
cout << "Sum is " << sum << endl << "Number is " << number
<< endl << "i is " << i << endl;
return 0;
}
And given the following input data values
9
7
13
5
0
2
6
-3
-5
2
3
4
0
Trace the program above, making sure to show the values of the variables during execution
of the program and what is output by the program!!
(8)
Assume that x is an int variable for problems 6-7.
6.
What value is assigned to x by the following nested-if statement assuming that x has an
initial value of 4? (2)
if (x >= 3)
x = x + 1;
else if (x >= 6)
x = x + 7;
// x will have a value of _____________________
7.
What value is assigned to x by the following if statements assuming that x has an initial
value of 4? (2)
if (x >= 3)
x = x + 1;
if (x >= 6)
x = x + 7;
// x will have a value of _____________________
8.
What causes the error message "else with no matching if" when this code fragment is
compiled? In other words, indicate the correction to be made to get this section of code
to compile correctly. You may assume that this if statement is in a program that would
otherwise compile. (2)
if (mileage < 24.0)
{
cout << "Gas" << endl;
cout << "guzzler" << endl;
};
else
cout << "Fuel efficient" << endl;
9.
Write ONE nested if statement to display a message indicating the educational level of a
student based on his/her number of years of schooling. (0, none; 1 through 6, elementary
school; 7 through 8, middle school; 9 through 12, high school; > 12, college). Print a
message to indicate bad data as well. You are given: (6)
int num_years; // this represents the number of years of schooling;
...
cin >> num_years;
// WRITE OUT MESSAGE INDICATING THE EDUCATIONAL LEVEL (use ONE nested if)
10.
Write a C++ program segment that reads a list of integers until either a –1 value is found
or the end of file condition is true.
After leaving the loop, print either “-1 found” or “-1
NOT found”, whichever is the case.
Declare the variables you need to use, and just write the
program segment NOT an entire program. (6)
11.
Complete the following C++ program to find and print the smallest positive odd integer in
a collection of HowMany positive integers where the value of HowMany will be the first
data item read. (You may assume that there are NO negative integers in the list.)
(You may assume that the smallest odd integer will never be 2147483647, which represents
the largest odd integer stored in 32 bits, which has a name called INT_MAX)
Use batch processing and NOT interactive processing.
If the following were sample input:
6
23
2
11
4
22
19
(12)
|
|
|
The corresponding output would be:
|
|
(Write an error message if there
were no odd integers)
SMALLEST ODD IS 11
#include <iostream.h>
#include <limits.h>
int main()
{
int val, smallest_odd, count, HowMany;
cin >> _________________ ;
smallest_odd = INT_MAX; // largest integer for 32-bit integer
count = 1;
// initialize counter
while (________________________________________)
{
cin >> val;
// counter-controlled loop
if (______________________________) // test to see if val is odd
{
if (val < smallest_odd)
}
_________________________________;
// end if
__________________________;
} // end while
// change smallest_odd
// update the counter: count
if (___________________________________)
cout << "NO ODD #'S FOUND." << endl;
else
cout << “SMALLEST ODD IS " << smallest_odd <<
return 0;
endl << endl;
}
12.
5
34
41
32
-1
59
12
13
c.
Given the following input:
(6 pts)
|
|
|
a.
What is the value of summing the input if end of file processing
is used?
_________________________
|
|
|
|
b.
What is the value of summing the input if a sentinel of -1 is used?
_____________
What is the value of summing the input if a count-controlled loop is used and the first
number in the file indicates how many numbers to sum?
_______________
Download