Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
lanc3r
0 / 0 / 4
Регистрация: 17.12.2009
Сообщений: 102
#1

Узнать, является ли строчка формулой. БНФ с рекурсией. - Pascal

14.05.2010, 21:10. Просмотров 477. Ответов 0
Метки нет (Все метки)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
program lanc;
type
 st20=string[20];
function cifra(s:st20):boolean;
begin
 cifra:=pos(s,'0123456789')>0;
end;
function znak(s:st20):boolean;
begin
 znak:=pos(s,'+-*')>0;
end;
function formula(s:st20):boolean;
Var
   k:longint;
begin
  k:=pos(s,'+-*');
 if length(s)=1 then
  formula:=cifra(s)
 else
  formula:=(formula(copy(s,1,k)))and(znak(copy(s,k,1))and
  (formula(copy(s,k+1,length(s)-k))));
end;
Var
 s:st20;
begin
 writeln('vvedite stroky');
 readln(s);
 if formula(s) then
  writeln('stroka yavlyaetsa formuloy')
 else
  writeln('stroka ne yavlyaetsa formuloy');
  readln;
end.
собственно что-то попытался написать. ну так как я бинарное дерево, прога не работает. выдает стек оверфлоу при попытке задать строку более одного символа) вообще условие такое
<formula>::=<cifra>|(<formula><znak><formula>) , gde | - Либо
<znak>::=+|-|*
<cifra>::=0|1...|9

Добавлено через 2 часа 39 минут
неужели никто не может помочь?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2010, 21:10
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Узнать, является ли строчка формулой. БНФ с рекурсией. (Pascal):

БНФ в Паскаль
Доброго времени суток! Народ подскажите где можно почитать по данной теме? или...

Блок схема (БНФ)
Привет Создание блок схем сразу скажу, не мое...и поэтому надеюсь на ваши...

Узнать, является ли пользователь админом
Не запущена ли программа от имени админа, а может ли пользователь запустить ее...

БНФ
помогите пожалуйста! дан пример &lt;A&gt;::=&lt;B&gt;a|a ...

Получить действительный матрицу А( n,m) Первая строка которого задана формулой C1j=2*j+3, вторая строка задается формулой С2j=2+1/j, а каждая следующая строка есть сумма предыдущих.
Получить действительный матрицу А( n,m) Первая строка которого задана формулой...

Проверить является ли строчка числом
Нужно проверить является ли строка введенная в поле (edit) числом. Может есть...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2010, 21:10
Привет! Вот еще темы с решениями:

Является ли это рекурсией?
#include &lt;iostream&gt; using namespace std; int lol (void); int lol2...

Как узнать какая строчка выделена в списке ListView?
Всем привет. Как узнать какая строчка выделена в списке ListView?подскажите...

Как узнать, есть ли в переменной нужная мне строчка?
Здравствуйте! Есть переменная с большим объёмом информации, как мне узнать,...

Проверить, является ли строка палиндромом. С рекурсией и без рекурсии
В один код вместе написать с рекурсией и без рекурсии. Проверить строку на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru