|
Процедура проверяет на правильность введённые вами логические формулы. Если формула введена не верно, программа выдает предупреждение.
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;
- Метод Рунге-Кутта решения системы уравнений
- Расчет динамики колонны
- Продолжаем расчитывать динамику
|