Показать сообщение отдельно
  #3  
Старый 15.04.2012, 18:45
Аватар для Admin
Admin Admin вне форума
Администратор
 
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,564
Версия Delphi: Delphi 7
Репутация: выкл
По умолчанию

Цитата:
Процедура для генерации формулы (математического выражения) во время выполнения программы (т.е. в ран-тайм).Библиотеки и модули, используемые этой процедурой стандартные... достаточно скопировать, вставить и передать необходимые параметры процедуре.

++FORMULA (F:STRING; VAR otvet:EXTENDED; perem:array of char; znperem:array of real; usevar:boolean);++
где:
F - строка, которая хранит формулу //string
otvet - результат //extended
perem - массив переменных //array of char
znperem - массив значений для переменных //array of real
usevar - показывает процедуре будет ли она работать с переменными //boolean

Например: если надо решить формулу: x+cos(y/sqrt(7)), где x и y переменные, в процедуру надо передать параметры следующего вида:

FORMULA ('x+cos(y/sqrt(7))',rezultat,['x','y'],[1.32,2.5],true)

Одно примечание: надо уследить, чтобы переменные (н/р: ['x','y']), которые передаются процедуре в символьнои типе, не были одинаковы с переменными используемыми в программе. Например возьмем объявление процедуры в программе в выше упомянутом виде, но вместо переменной rezultat напишем y (FORMULA ('x+cos(y/sqrt(7))',y,['x','y'],[1.32,2.5],true)), то процедура выдаст ошибку!!! Также переменные для передачи в процедуру не должны входить в стандартные функции, т.е. если формула такая - sin(90)+100+(5*cos(45)), то не могут быть использованы переменные:s,i,n,o,c p.s.: sorry за большой комментарий((}
..........
Ответить с цитированием