Deniskotvitsky6422
?>

Постройте дерево, соответствующее арифметическому выражению. запишите это выражения в префиксной и постфиксной формах: (a+b)*(c+2*d) (2*a-3*d)*c+2*b 3*a-(2*b+c)*d

Информатика

Ответы

Vasilevna_Shabanova1502
Деревья строятся просто: добавляем узел – операцию, которая выполняется последней, и к ней два потомка – аргументы этой операции. Например, для выражения 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 * -
Постройте дерево, соответствующее арифметическому выражению. запишите это выражения в префиксной и п
Постройте дерево, соответствующее арифметическому выражению. запишите это выражения в префиксной и п
Постройте дерево, соответствующее арифметическому выражению. запишите это выражения в префиксной и п
Станислав Валерий1696

Меньше чем 3-х основание СС быть не может. (Сама догадайся почему ;-)  

 

Делим:  

 

23 : 3 = 7 ост. 2 — подходит  

23 : 4 = 5 ост. 3 — не подходит  

23 : 5 = 4 ост. 3 — не подходит  

23 : 6 = 3 ост. 5 — не подходит  

23 : 7 = 3 ост. 2 — подходит  

23 : 8 = 2 ост. 7 — не подходит  

23 : 9 = 2 ост. 5 — не подходит  

23 : 10 = 2 ост. 3 — не подходит  

23 : 11 = 2 ост. 1 — не подходит  

23 : 12 = 1 ост. 11 — не подходит  

23 : 13 = 1 ост. 10 — не подходит  

23 : 14 = 1 ост. 9 — не подходит  

23 : 15 = 1 ост. 8 — не подходит  

23 : 16 = 1 ост. 7 — не подходит  

23 : 17 = 1 ост. 6 — не подходит  

23 : 18 = 1 ост. 5 — не подходит  

23 : 19 = 1 ост. 4 — не подходит  

23 : 20 = 1 ост. 3 — не подходит  

23 : 21 = 1 ост. 2 — подходит  

23 : 22 = 1 ост. 1 — не подходит  

23 : 23 = 1 ост. 0 — не подходит  

 

Далее для всех СС больше 23 остаток будет 23. Следовательно нет смысла их рассматривать.  

 

Итого: 2, 7 и 21.

Olesyamilenina8

"...напечатает сначала 2, потом - 6" -- это значит a=2 и b=6?


про пятеричные записи ничего не понял...  :) И ИМХО к чему такие сложности? И для чего нам комп и программа? Я подправил исходную прогу чтобы она выдавала все числа подходящие по условию

var x,a,b: longint;


begin

   for var i := 999 DownTo 100 do begin

       a := 0;

       b := 1;

       x := i;

       while x>0 do begin

           if x mod 2 > 0 then a := a+1 else b := b+(x mod 5);

           x := x div 5;

       end;

       if (a = 2) and (b = 6) then writeln('x = ', i, ' a = ', a, ' b = ',b);

   end;

end.


прога проводит расчет для всх трехзначных чисел от 999 до 100

итого мы видим что максимальное подходящее число это 960

при необходимости прогу можно переделать чтобы она находила только максимальное число.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Постройте дерево, соответствующее арифметическому выражению. запишите это выражения в префиксной и постфиксной формах: (a+b)*(c+2*d) (2*a-3*d)*c+2*b 3*a-(2*b+c)*d
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

oslopovavera
Daniil1945
Konstantinovna Ilyukhin1618
dg9792794674
krispel9
Михайлов
Vera_Shuklin
kuharhuks
saryba
gardenkafe
mariia39
elizabetmaslova3
agusarevich283
Aleksandrovich1669
ИринаАлександровна