These are just simply logic problems.

Just work each each part before `&&`

and `||`

parts, and write down whether those parts are `true`

or `false`

then work out the next part(s).

Once you broken it down to something like `true && false`

or `false || true`

(or something), then you can simplify it to one word `true`

or `false`

by using conditional rules you've learned earlier.

Recall that if something is `true`

in an `&&`

expression, and something else in the same expression is `false`

then the entire expression becomes `false`

since you are explicitly checking that each sub-expression is true by using `and`

. Likewise, recall that if any part of an `||`

expression is `true`

, then checking stops and the entire expression becomes `true`

due to explicitly checking that **any part** of the conditional is `true`

.

Does that make sense?

So, for example:

`( ((8 > 5 || 2 < 3) && (true || false)) && (!true || 1000 != 50*4) )`

This can thus be simplified to:

`( ((false || true) && (true || false)) && (false || true) )`

Then

`( ((true) && (true)) && (true) )`

Then

`( ((true)) && (true) )`

Finally:

`( true )`

Does that make sense?