Глава 14 Г
Добавлено: 26.02.2017 13:58:34
Я посмотрел в ответы, я немного понимаю код к этой главе, но не совсем понимаю, выбранный автором математический алгоритм, не могли бы вы мне его объяснить?
А так же почему здесь применяется оператор begin
Добавлено спустя 7 минут 48 секунд:
Код из "Ответы на а слабо!"
Не проще было бы просто воспользоваться операцией сравнения сравнив параметры окна и самого кирпича?
А так же почему здесь применяется оператор begin
- Код: Выделить всё
if (X>=Y) and (X>=Z)
then { X – длина кирпича }
if Y<Z
then begin Hk:=Y; Sk:=Z end
else begin Hk:=Z; Sk:=Y end
Добавлено спустя 7 минут 48 секунд:
Код из "Ответы на а слабо!"
- Код: Выделить всё
Г) В стене прорублено сквозное прямоугольное отверстие со сторонами A и B.
Пусть ваша программа определит, пройдет ли в него кирпич с ребрами X, Y, Z.
Соотношение между сторонами неизвестно, и программе самой следует выяснить высоту
и ширину, как отверстия, так и кирпича.
var A, B : integer; { стороны отверстия }
X, Y, Z : integer; { стороны кирпича }
H, S : integer; { высота и ширина отверстия, H <= S }
Hk, Sk : integer; { высота и ширина кирпича, Hk <= Sk}
begin
Write('Введит две стороны отверстия: '); Readln(A, B);
Write('Введите три стороны кирпича: '); Readln(X, Y, Z);
{ Формируем высоту (H) и ширину (S) отверстия }
if A<B
then begin H:=A; S:=B end
else begin H:=B; S:=A end;
{ Формируем высоту (Hk) и ширину (Sk) кирпича }
if (X>=Y) and (X>=Z)
then { X – длина кирпича }
if Y<Z
then begin Hk:=Y; Sk:=Z end
else begin Hk:=Z; Sk:=Y end
else if (Y>=X) and (Y>=Z)
then { Y – длина кирпича }
if X<Z
then begin Hk:=X; Sk:=Z end
else begin Hk:=Z; Sk:=X end
else { Z – длина кирпича }
if X<Y
then begin Hk:=X; Sk:=Y end
else begin Hk:=Y; Sk:=X end;
{ формируем решение }
if (H>=Hk) and (S>=Sk)
then Writeln ('Проходит')
else Writeln ('Не проходит');
Readln;
end.
Не проще было бы просто воспользоваться операцией сравнения сравнив параметры окна и самого кирпича?