Warm-up Exercises

  1. Write an explicit conversion from a double variable myDoubleVar to an int variable called myIntVar. You don’t need to re-declare those variables. Assuming myDoubleVar’s value is 5.89, what value would be stored in myIntVar?

Solution

myIntVar = (int)myDoubleVar; The value stored in myDoubleVar would be 5.

  1. Declare and initialize two integer variables, x and y. Choose any values you want. Then write necessary commands to display the result of following 3 mathematical operations: addition, multiplication, and remainder (modulo) of x and y.

EXAMPLES OF OUTPUT

x = 5 and y = 3

5 + 3 = 8
5 * 3 = 15
5 % 3 = 2

x = 4 and y = 2

4 + 2 = 6
4 * 2 = 8
4 % 2 = 0

Solution

int x = 6;
int y = 8;
 
Console.WriteLine($"{x} + {y} = {x + y}");
Console.WriteLine($"{x} * {y} = {x * y}");
Console.WriteLine($"{x} % {y} = {x % y}");
  1. Write a command that performs implicit conversion between two numeric datatypes. Then, write a command that performs explicit conversion between two numeric datatypes. Add a comment above both commands to clearly indicate which command is implicit and which one is explicit.

Solution

// Implicit Conversion: from int to double
int num = 23;
double bigNum = num;
 
// Explicit Conversion: from double to int
double myDouble = 54.873
int myInt = (int)myDouble;

Questions

  1. Comment briefly on the type decimal and format C it can be used with in a C# code.

    Solution

    The decimal type is the most precise of the numeric types, and it can be used with the C format specifier to display values representing amounts of currency.

  2. What can you learn from this UML class diagram?

Account
- name : string
+ SetName(accountName : string)
+ GetName() : string

Solution

This diagram shows a class called "Account", which contains a private variable of type string called "name" and two public methods. The method called "SetName" has a void return type and has a parameter of type string called "accountName". The method called "GetName" returns a string value and has no parameters.
  1. Can conversion between two number types change value of a number? Provide an example case.

    Solution

    Yes, in the case of floats being converted into integers, the value must be truncated. For example, the value 4.876f, when converted into a integer, will become 4.

  2. Assume you have an int variable named myAge whose value is 24. What would be displayed on the screen by the following? Console.WriteLine($"{myAge * 2}");

Solution

48

  1. Give the values of a and b after the following four instructions have been executed.
int a, b;
a = 2;
b = a * 2 + 1;
a -= 1;

Solution

The value of a is 1 and the value of b is 5.

  1. Give the values of c and d after the following four instructions have been executed.
int c = 3, d;
d = 2 + c;
c = d * 2;
d += 2;

Solution

The value of c is 10, and the value of d is ‘7’.

  1. Is there an error in the following code? Explain the error or give the value of b after the second statement is executed.
float a = 3.7f;
int b = (int)a;

Solution

The value of b is 3.

  1. Is there an error in the following code? Explain the error or give the value of b after the second statement is executed.
decimal a = 1.6M;
int b = (int)a + a;

Solution

The code produces an error because the second statement performs a math operation resulting in a decimal value and attempts to assign said value to an integer variable.

  1. If one of the operator’s operand is of type float and the other is of type int, what will be the type of the result of the operation?

Solution

The result of the operation will be of type float.

  1. What is the return type of the operation 12.4 * 3?

Solution

The return type of the operation is float.

  1. Give the values of a and b after the following four instructions have been executed.
int a, b;
a = 4;
b = a * 3 + 1;
a /= 2;

Solution

The variable a = 2, and the variable b = 13

  1. There is an error in the following code, at the second line. Explain the error and how you could fix this using a cast operator, without changing the datatype of the b variable.
decimal a = 2.5M;
int b = a / 2;

Solution

Since the operation a / 2 results in a decimal value, attempting to store it in an int variable results in an error. This can be fixed by casting the value of a, like so: int b = (int)a / 2;

  1. What is the return type of the operation 12.4 * 3?

Solution

double

Problems

  1. Write down, on a piece of paper, a fully compilable program that initializes an int variable named persons with the value 5, an int variable named bottles with the value 3, and a double variable named litersPerBottle with the value 1.5. Initialize a variable named litersPerPerson with the value resulting from a math expression calculating the number of liters that each person would receive if split equitably, and make sure that this variable is of the type which can properly store the resulting value. Write a statement that displays its value.

Place a delimited comment with your name and the date of writing at the top of the program.

Solution

/* Student Name
 *  Jan 15, 2018 */
 
int persons = 5;
int bottles = 3;
double litersPerBottle = 1.5;
 
double litersPerPerson = (bottles * litersPerBottle) / persons;
Console.Write($"Each person would receive {litersPerPerson} liters.");