# Subgoals

## Section1.2Expressions-WE1-P1

### Subsection1.2.1Subgoals for evaluating an assignment statement

1. Determine resultant data type of expression
2. Update variable for pre-increment or pre-decrement operators (side effect)
3. Evaluate arithmetic expression according to operator precedence
4. If an assignment statement (=), is Left Hand Side (LHS) a variable? Check data type of value against data type of variable.
5. Update variable for post-increment or post-decrement operators (side effect)
For all given problems below indicate if the code is valid or invalid. Each problem is independent of the others (e.g. Question 2 does not depend on Question 1, only the “Given” code).

### Subsection1.2.2Expressions-WE1-P1

Given
int alpha, beta = 1, gamma;
double omega = 2.5, theta, lambda;


#### ExercisesExercises

##### 1.
Q1: alpha = beta;
• valid
• invalid
##### 2.
Q2: alpha = omega;
• valid
• invalid
##### 3.
Q3: theta = 22;
• valid
• invalid
##### 4.
Q4: omega = gamma;
• valid
• invalid
##### 5.
Q5: theta = lambda;
• valid
• invalid