В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
пороло1
пороло1
05.05.2022 17:36 •  Информатика

лучший ответ кылым
Лайк басам ​


лучший ответ кылым Лайк басам ​

Показать ответ
Ответ:
korobkovaangelina
korobkovaangelina
06.08.2022 01:00
Деревья строятся просто: добавляем узел – операцию, которая выполняется последней, и к ней два потомка – аргументы этой операции. Например, для выражения 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 * -
Постройте дерево, соответствующее арифметическому выражению. запишите это выражения в префиксной и п
Постройте дерево, соответствующее арифметическому выражению. запишите это выражения в префиксной и п
Постройте дерево, соответствующее арифметическому выражению. запишите это выражения в префиксной и п
0,0(0 оценок)
Ответ:
ktt9
ktt9
17.03.2020 04:20
// PascalABC.Net 3.0, сборка 1052
const
  Rus=['А'..'Я'];
var
  s:string;
  i,k,t:integer;
  c,c1,tc,sc:char;
  f:array['А'..'а'] of byte; // 'а' - это для 'Ё'
  ch:array['А'..'а'] of char;
begin
  Write('Введите строку: '); Readln(s);
  for c:='А' to 'а' do begin f[c]:=0; ch[c]:=c end;
  k:=0;
  for i:=1 to Length(s) do begin
    c:=UpCase(s[i]);
    if c in Rus then begin Inc(f[c]); Inc(k) end
    else
      if c='Ё' then begin Inc(f['а']); Inc(k) end;
  end;
  Writeln('Количество русских букв равно ',k);
  { сортировка массива со счетчиком количества букв }
  for c1:='А' to Pred('а') do
  for c:='А' to Pred('а') do
    if f[c]<f[Succ(c)] then begin
      t:=f[c]; tc:=ch[c]; sc:=Succ(c);
      f[c]:=f[sc]; ch[c]:=ch[sc];
      f[sc]:=t; ch[sc]:=tc
    end;
  Writeln('Частота встретившихся букв');
  c:='А';
  while (c<='а') and (f[c]>0) do begin
    if ch[c]='а' then ch[c]:='Ё';
    Writeln(ch[c],' - ',f[c]);
    Inc(c)
  end;
end.

Тестовое решение:
Введите строку: Когда я был парнишкой, носил я брюки клёш
Количество русских букв равно 33
Частота встретившихся букв
К - 4
И - 3
Л - 3
О - 3
А - 2
Б - 2
Н - 2
Р - 2
Ш - 2
Я - 2
Г - 1
Д - 1
Й - 1
П - 1
С - 1
Ы - 1
Ю - 1
Ё - 1
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота