# Subgoals

## Section1.8Expressions-WE3-P1

### Subsection1.8.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.8.2Expressions-WE3-P1

Given
int alpha = 2, beta = 1, delta = 3, eta, gamma;
double omega = 2.5, theta = -1.3, kappa = 3.0, lambda, rho;


#### ExercisesExercises

##### 1.
Q17: lambda = beta * theta;
• valid
• invalid
##### 2.
Q18: eta = alpha * kappa;
• valid
• invalid
##### 3.
Q19: alpha = beta + delta;
• valid
• invalid
##### 4.
Q20: beta = beta * alpha;
• valid
• invalid