Приобрести нержавеющий полотенцесушитель российские Москва с доставкой
Вычисление формул. Часть 1
Автор: Administrator   

Рассмотрим первую часть функции, вычисляющей значение формул. Пожалуй это самая трудная функция во всей программе. Именно на ней держится вся программа вычисления таблиц истинности.


function istinnost (s:ShortString): shortstring;
//функция вычисляет значение формулы
var k,i,kon,nach:byte;
f,skobka:shortstring;
flag:boolean;
begin
//убираем лишние скобки, т.е. выражения типа (((0))) превращаем в 0
for i:=2 to length(skobka)-1 do
begin
if ((skobka[i]= '0') or (skobka[i] = '1')) then
begin
k:=0;
while k<255 do
begin
if ((i-k=1) or (i+k = length(s))) then break;
if ((skobka[i-k-1]='(') and (skobka[i+k+1]=')')) then inc(k) else break;
end;
delete(skobka,(i-k),k);
delete(skobka,(i-k+1),k);
end;
end;
//начинаем основную обработку формулы, каждую скобку по отдельности
repeat

  1. Анализ результатов
  2. Метод наискорейшего спуска
  3. Метод шагов по оврагу
 
Маленькие полезные программы, Powered by Joomla!; Joomla templates by SG