
Compound if statements
Good day,
This is where I start, below is a practice and my solution for a problem statement that I have to right an algorithm for.
Is my solution correct?
Will my if statement compare the 3 values and come up with the best by?
Please enlighten me...
Problem Statement
Rebecca needs to buy a bag of Milie meal. She wrote down the prices of 500 g, 750 g and 1 kg of Milie meal. Determine which one of the packets is the best buy. Do the calculations and display which packet she should buy. The user should be prompted to enter the prices for all three packets.
My answer is as follows
variables used:
price500g real
price750g real
price1kg real
bestBuy string
if price500g * 2 < price1kg AND price750g + 250 then
bestBuy = 500g
else
price750g + price750g / 3 < price500g * 2 and price1kg then
bestBuy = 750g
else
price1kg < price500g * 2 AND price750g + price750g / 3
bestBuy = 1kg
endif
endif
endif
~Display results
display "The Milie meal to buy is", bestbuy
end

Well let's take a look...
Code:
if price500g * 2 < price1kg AND price750g + 250
Change the bold to price750g*(4/3) . This would give us the price for 1000g (equivalent).
Code:
price750g + price750g / 3 < price500g * 2 and price1kg then
We found the price of 500g in the first part, so you don't need to multiply price500g*2, instead we need to divide price1kg by two.
Code:
price1kg < price500g * 2 AND price750g + price750g / 3
The first part looks good but for the second part we need to multiply price750g by four and divide that by 3.
For example...
Code:
price500g
price750g
price1kg
if(price500g < (price750g*2/3) && price500g < price1kg/2)
bestBuy = price500g;
else if()
.
.
.
else if()
.
.
.
Of course the programming language would determine exactly how that looks.