Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2021, 23:16   #1
Pavel143
Новичок
Джуниор
 
Регистрация: 20.11.2020
Сообщений: 3
По умолчанию Рекурсия

Необходимо вычислить значение выражения по формуле, задание 8, я так понимаю, что нужно читать цифры до знака, потом сам знак, потом второе число вызовом рекурсии, потом действие делаем, записываем в первое число и делаем то же самое, но я вообще без понятия как это сделать, есть только такой набросок на лк...
Код:
Function CountFunc: Integer;
Var
  c,op: Char;
  x,y: Integer;
Begin
  Read(c);
  If (c>='0') and (c<='9') then
    Result:=Ord(c)-Ord('0')
  else
  Begin
    x:=CountFunc;
    read(op);
    y:=CountFunc;
    case op of
      '+': Result:=x+y;
      '-': Result:=x-y;
      '*': Result:=x*y;
    End;
    Read(c);
  End
End;

Begin
  writeln(CountFunc);
  readln;
End.
Изображения
Тип файла: jpg Screenshot_4.jpg (11.9 Кб, 0 просмотров)
Тип файла: png Screenshot_5.png (78.6 Кб, 13 просмотров)
Pavel143 вне форума Ответить с цитированием
Старый 16.04.2021, 11:11   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Первое, что нужно, это искать открывающиеся скобочки, дальше искать закрывающиеся с учетом вложенности и, выделив таким образом скобку, рекурсивно вычислять значение выражения внутри скобки.
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рекурсия McJordan Паскаль, Turbo Pascal, PascalABC.NET 5 18.12.2010 19:46
Рекурсия ldinka135 Паскаль, Turbo Pascal, PascalABC.NET 5 31.08.2010 12:57
Рекурсия dusya9992 Паскаль, Turbo Pascal, PascalABC.NET 4 29.08.2010 14:14
Рекурсия DrDre Паскаль, Turbo Pascal, PascalABC.NET 0 25.08.2010 21:50
рекурсия shelest Помощь студентам 3 14.04.2010 10:12