Schedule‎ > ‎

### Midterm 1 Review Supplement

#### Instructions

1. Complete the following handwritten on paper and make sure to put your name on your paper.
2. Your work will be reviewed and graded, so make it presentable.
3. The following problems are due before the test starts.
4. Review of your work by another student is required for full credit. Add the following at the top of the first page of your paper:

Reviewed by: reviewing student's name

Discuss the issues and correct any problems found during the review.

#### Review Topics

• A. Data Types
• B. Variables and Assignment
• C. Counting and Arithmetic
• D. Characters and ASCII
• E. Strings and Substrings
• F. Test Conditions
• G. Tracing `if`-statements
• H. Tracing Summing Loops
• I.   Arrays

#### A. Data Types (4m)

1. Write the letter and heading for this problem on your paper.
2. Review data types in lesson 3.1.3.
3. On your paper, create three columns with these headings:
NumberType/errorDescription of type/error
4. For each of the following number examples in C++ code, write the information about the number under the above column headings. If there is an error, write "error" and explain why in the description. For example: (4m)
 3 int A positive integer
1. `3`
2. `-3`
3. `3.0`
4. `3.14`
5. `3 14/100`
6. `300,000`
7. `3e5`
5. Review your work with another student in the class and correct any problems.

#### Test Yourself (optional)

1. The problem with the following code snippet is ________.
```int value;
value = 1.23;
```
1. The "value" variable is never initialized.
2. The data type for the "value" variable is not specified.
3. The "value" variable is never assigned a value.
4. The "value" variable is assigned a decimal value, but it can store only a whole number value.
2. In an airline reservation system, the cost of an airline ticket is required. The data type that should be used to store this value is a single ________.
1. int
2. long
3. double
4. short

### B. Variables and Assignment

1. Write the letter and heading for this problem on your paper.
2. Review lesson 3.1.5: (Variable) Summary.
3. On your paper, write the problem number (1a, 1b, ..., 2) and a solution to the following problems: (8m)
1. Declare a single variable and assign the variable a value for storing each of the following types of data:
1. Dollars and cents
2. The count of the number of people in a room
3. A single letter
4. Whether or not a door is open or closed.
5. A sequence of characters making up a person's name.
2. Write the value of a and b on your paper after the following code snippet executes
```int a = 10;
int b = 20;
a = b;
```
a is ________ b is ________
3. Write the value of a and b on your paper after the following code snippet executes
```int a = 7;
int b = 5;
a = b;
b = 3;
```
a is ________ b is ________
4. Review your work with another student in the class and correct any problems.

#### Test Yourself (Optional)

1. The problem with the following code snippet is ________.
```int value;
value = 1.23;
```
1. The "value" variable is never initialized.
2. The data type for the "value" variable is not specified.
3. The "value" variable is never assigned a value.
4. The "value" variable is assigned a decimal value, but it can store only a whole number value.

### C. Counting and arithmetic (3m)

1. Write the letter and heading for this problem on your paper.
2. Review lesson 2.3.6: (Arithmetic) Summary.
3. On your paper, write the problem number and a solution for the following problems:
1. First operation performed in `1 + 2 * 3 / 4 % 5` is ________.
2. The value of x after the following code executes is ________.
```double x = 9 / 4;
```
3. The value of x after the following arithmetic expression and assignment is ________.
```double x = 1 + 2 * 3 / 4 % 5;
```
4. Write the following math expression as C++ code:
4. Review your work with another student in the class and correct any problems.

Hint: Verify your computations by trying them in C++.

#### Test Yourself (Optional)

1. Of the following, the one that is NOT a complete statement for adding 1 to `numAnts` is ________.
1. `numAnts + 1;`
2. `numAnts = numAnts + 1;`
3. `numAnts = 1 + numAnts;`
4. `numAnts = numAnts + 1 / 1;`

### D. Characters and ASCII

1. Write the letter and heading for this problem on your paper.
2. Review lesson 3.2.1: Type `char`.
3. On paper, write the question numbers and the value of `ch` after executing each of the following statements. (3m)
1. `char ch = '0' + 3;`;
2. `char ch = 'A' + 3;`;
3. `char ch = 'd' - 'a' + 'A';`;
4. `char ch = 'D' - 'A' + 'a';`;
4. Review your work with another student in the class and correct any problems.

Hint: Verify your computations by displaying ch in C++. Then remember that `ch` is a `char` and we must write as a literal `char`.

### E. Strings and Substrings

1. Write the letter and heading for this problem on your paper.
2. Review lesson 3.3.2: String Functions.
3. On paper, write the question numbers and the code to extract the last word from each of the following strings. (3m)
1. `string str = "Do. Or do not. There is no try."; // George Lucas (Yoda)`;
2. `string str = "Whether You Believe You Can Do a Thing or Not, You Are Right."; // Henry Ford`;
3. `string str = "It always seems impossible until it's done."; // Nelson Mandela`;
4. `string str = "If you're going through hell, keep going."; // Winston Churchill`;
5. `string str = "No one can make you feel inferior without your consent."; // Eleanor Roosevelt`;
4. You can include the period as part of the last word.
5. Review your work with another student in the class and correct any problems.

Hint: Verify your substring by displaying the code in C++.

### F. Test Conditions

1. Write the letter and heading for this problem on your paper.
2. Review lesson 3.3.2: Relational Operators.
3. On paper, write the question numbers and the value (`true` or `false`) of the following test conditions, given `x = 3``y = 7`. (3m)
1. `(x != y)`
2. `(x == y)`
3. `(x < y)`
4. `(x >= y)`
5. `(x <= 42`)
4. Review your work with another student in the class and correct any problems.

### G. Tracing `if`-statements

1. Write the letter and heading for this problem on your paper.
2. Review the first half of section 3.3.6: (Conditional) Summary.
3. On your paper, write the problem numbers and a solution to the following problems: (4m)
1. The value of x after the following code executes is ________.
```int x = 7;
if (x == 3) {
x = 1;
}
```
2. The value of x after the following code executes is ________.
```int x = 3;
int y = 4;
if (x < y)
{
x = y;
}
```
3. The value of x after the following code executes is ________.
```int x = 5;
if (x > 3)
{
x = x - 2;
}
else
{
x = x + 2;
}
```
4. The value of x after the following code executes is ________.
```int x = 1;
if (x > 0)
{
x = x + 5;
}
else if (x > 1)
{
x = x + 2;
}
else
{
x = x + 7;
}
```
4. Review your work with another student in the class and correct any problems.

### H. Tracing Summing Loops

1. Write the letter and heading for this problem on your paper.
2. Review how to process a sequence of inputs in lesson 5.3.3.
3. For the following code, on your paper trace the value of variables `number` and `sum`, including the initial values, if the user enters: `3, 5, -1`
```int number = 1; // remember to includes these values in the trace
int sum = 0;

while (number > 0)
{
cin >> number;
sum = sum + number;
}
cout << sum << endl;
```
numbersum

4. After tracing, write the final value of sum and circle the answer.
5. Review your work with another student in the class and correct any problems.

### I.  Arrays

1. Write the letter and heading for this problem on your paper.
2. Review lesson 6.2 Array Basics.
3. On paper, write the question numbers and the code to print out each element in these arrays.
1. an array of doubles named arrayDouble which holds:  1.0, 2.5, 3.7, 9.9, 0.0
2. a string named myString initialized to "Hello"
4. Review your work with another student in the class and correct any problems.

Hint: Verify your array code by displaying the code in C++.