Ушкольника имеется: ручки - 1, скрепки - 3, маркера - 2, кубиков - 4, которые он разложил на парте в ряд. сколько имеется вариантов раскладки? требуемый для записи этого объем информации?
1) Program lapy; var lapy:integer; Begin Writeln('Сколько лап?'); Readln(lapy); If lapy=0 then Writeln('Это рыба'); if lapy=2 hten Writeln('Это птица'); if lapy=4 then Writeln('Это лось'); if lapy=6 then Writeln('Это жук'); if lapy=8 then Writeln('Это паук'); end. 2) Program kinotheatr; var mesto:integer; Begin Writel('Укажите Ваше место:'); Readln(mesto); if (mesto>=1) and (mesto<=10) then Writeln('Цена 150р.'); if (mesto>=11) and (mesto<=15) then Writeln('Цена 100р.'); if (mesto>=16) and (mesto<=20) then Writeln('Цена 75р.'); End.
Деревья строятся просто: добавляем узел – операцию, которая выполняется последней, и к ней два потомка – аргументы этой операции. Например, для выражения a + b операцией будет "+", а аргументами – a и b. Затем в таком же виде представляем аргументы этой операции, пока все аргументы не будут содержать выражений. Построенные деревья во вложении.
Префиксная форма записи заключается в том, что сначала записывается операция, потом префиксная запись её первого аргумента, потом второго аргумента. Это соответствует обходу дерева сверху вниз и слева направо, записываем, что сверху, потом идем вниз. Вот что получится в итоге: а) * + a b + c * 2 d б) + * - * 2 a * 3 d c * 2 b в) - * 3 a * + * 2 b c d
В постфиксной записи, наоборот, записываются сначала аргументы, потом операция. Это соответствует обходу дерева снизу-вверх. а) a b + c 2 d * + * б) 2 a * 3 d * - c * 2 b * + в) 3 a * 2 b * c + d * -