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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2009, 21:55   #1
Ghost_V
 
Регистрация: 16.05.2009
Сообщений: 3
Вопрос Сопоставление математическим формулам их названий

Всем доброго времени суток!

Нужно сделать программу, которая бы сопоставляла введённой математической формуле её название...
Я смог сделать только проверку на корректность введённой формулы, а что делать дальше - не знаю...

Вот что я пока что имею:
Код:
function proverka (s:ShortString): byte;
//функция проверяет правильность ввода функции
//kolvoskobok может быть отрицательным поэтому шотинт
var kolvoskobok:shortint;
i:byte;
begin

//проверяем первый символ
if s[1]='(' then kolvoskobok:=1 else
begin
kolvoskobok:=0;
if ( not (s[1] in ['a'..'z', '!', '0', '1']) ) then begin proverka:=1; exit; end;
end;

//проверяем последний символ
if s[length(s)] in ['&','+','-','~','@','|','/','!','('] then begin proverka:=length(s); exit; end;
proverka:=0;

//проверяем оставшиеся символы
for i:=2 to length(s) do
begin
if s[i]='(' then begin inc(kolvoskobok); if (s[i-1] in ['a'..'z',')','0','1']) then begin proverka:=i; exit; end; end
else if s[i]=')'then begin dec(kolvoskobok); if (s[i-1] in ['&','+','-','~','@','|','/','!','(']) then begin proverka:=i; exit; end; end
else if (s[i] in ['a'..'z','0','1']) then begin if (s[i-1] in ['a'..'z',')','0','1']) then begin proverka:=i; exit; end; end
else if (s[i] in ['&','+','-','~','@','|','/']) then begin if (s[i-1] in ['&','+','-','~','@','|','/','!','(']) then begin proverka:=i; exit; end; end
else if s[i]='!' then begin if (s[i-1] in ['a'..'z',')','!','0','1']) then begin proverka:=i; exit; end; end
else begin proverka:=i; exit; end;
end;

//проверяем количество скобок
if kolvoskobok <> 0 then proverka:=255;
end;
Насколько я понял, мне нужна что-то типа БД с самыми распространёнными мат. формулами, которая бы содержала саму формулу, + её название, а дальше, методом сравнения двух формул, введённой пользователем с теми, что находятся в базе я бы находил нужную...
Как бы это всё реализовать?
Ghost_V вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
макрос добавления названий для таблиц darklumen Microsoft Office Word 8 16.11.2010 23:00
Перемещение названий групп в окне БД Skolot Microsoft Office Access 3 12.03.2009 16:28
вопрос по математическим функциям - десятичный логарифм. на log10(x) marisha Помощь студентам 1 13.12.2008 10:14
Совпадение названий программ mutabor Свободное общение 3 25.10.2007 19:40
Перевод названий функций Rus-Eng??? Montana78 Microsoft Office Excel 2 15.06.2007 10:49