Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


Ghost, вводи табуляцию! Твой код сложно читать.
Конструкцию
PHP код: Выделить весь код

//проверяем первый символ

if s[1]='(' then 
  kolvoskobok
:=else begin
       kolvoskobok
:=0;
       if ( 
not (s[1in ['a'..'z''!''0''1']) ) then begin
              proverka
:=1
              exit; 
        
end// if ( not (s[1] in ...
   
end;// else if s[1]='(' 

я не понимаю.
Мы первым условием смотрим на s[1] зачем проверка на другие символы?
Ладно, если работает, то пусть будет.
А вот это что?
PHP код: Выделить весь код

//проверяем последний символ

if s[length(s)] in ['&','+','-','~','@','|','/','!','('then begin proverka:=length(s); exit; end;
proverka:=0

В любом случае после выполнения этого кода проверка будет равно нулю!
Или exit - безусловный выход из процедуры? Это знаете ли моветон. (Я не спорю, есть случаи когда Exit применим, но это явно не тот случай)

Блок
//проверяем оставшиеся символы
переписать с использованием конструкции case of

Где формулировка задачи?
Где возможные варианты написания формул? (Интересно наличие там символов '&',''~','@','|', а умножение кстати где?)
Это отправная точка, из-за чего весь сыр-бор собственно.

ИМХО
можно попробовать получить строение формулы, и сравнить с известными конструкциями.
Как дальше делать по шагам, не скажу

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Последний раз редактировалось lxa85, 18-12-2009 в 06:25. Причина: про exit

Это сообщение посчитали полезным следующие участники:

Отправлено: 06:22, 18-12-2009 | #3