Стакан перемещается на третье место, соответственно чашка на четвертое. Теперь известно, что кофе оказалось посередине, т.е. оно в стакане. Справа и слева чай и молоко. Т.е. в кружке либо чай, либо молоко и в чашке тоже. Но известно, что в бутылке минеральная вода, а по соседству с молоком - квас. В чашке - молоко, в кувшине квас, в кружке чай. кофе чай молоко квас минеральная вода бутылка - - - - + кружка + чашка + стакан + - - - - кувшин +
Если ввести X или Y значительно больше чем Z то программа на втором или тертьем условии выдаст false и закончит свою работу ничего не написав. Например: если указать X = 10 , Y = 2, Z = 3; то на первом условии будет true, потому что 10 +2 > 3 , но на третьем условии выдаст false потому что 2+3 < 10 но так как ничего не прописано на этот случай программа просто закончит свою работу. Что бы исправить этот баг необходимо все условия свести в одно: if ((x + y > z)and (x + z > y) and (y + z > x) ) then writeln('треугольник построить можно') else writeln('треугольник построить нельзя'); end.
Это решение так же является ответом на 3-й вопрос.
кофе чай молоко квас минеральная вода
бутылка - - - - +
кружка +
чашка +
стакан + - - - -
кувшин +
Что бы исправить этот баг необходимо все условия свести в одно:
if ((x + y > z)and (x + z > y) and (y + z > x) ) then
writeln('треугольник построить можно')
else
writeln('треугольник построить нельзя');
end.
Это решение так же является ответом на 3-й вопрос.