ВУЗ:
Составители:
Рубрика:
))(( XLnYY
eX
⋅
=
.
Создадим функцию с именем power и двумя вещественными па-
раметрами A и B, которая будет возвращать результат возведения A в
степень B. Обработчик события bbRunСlick нашей учебной формы чи-
тает из компонента edInput текст и пытается выделить из него два числа,
разделенных хотя бы одним пробелом. Если это удалось сделать, он об-
ращается к функции power дважды: сначала возводит первое число х в
степень второго числа y, затем х возводится в степень y.
procedure TfmExample.bbRunClick(Sender: TObject);
Function Power(A, B: Real): Real;
{Функция возводит число А в степень В. Поскольку логарифм
отрицательного числа не существует, реализуется проверка
значения А: отрицательное значение заменяется на положитель-
ное, для нулевого числа результат равен нулю. Кроме того,
любое число в нулевой степени дает единицу.}
begin
if А > 0 then
Result:= Ехр(В * Ln(A)) else if A < 0 then
Result:= Ехр(В * Ln(Abs(A))) else if В = 0 then
Result:= 1 else
Result:= 0;
end; // Power var
S: String;
X, Y: Real; begin
{Читаем строку из edinput и выделяем из нее два вещественных
числа, разделенных хотя бы одним пробелом.}
S:= edinput.Text;
if (S = '') or (pos(' ' ,S) = 0) then
Exit; // Нет текста или в нем нет пробела - прекращаем
// дальнейшую работу
try
// Выделяем первое число:
X:= StrToFloat(copy(S, I, pos(' ', S) - 1));
// Если успешно, удаляем символы до пробела // и выделяем
второе число:
Delete (S, 1, pos (' ', S));
Y:= StrToFloat(Trim(S));
except
Exit; // Завершаем работу при ошибке преобразования
end;
mmOutput.Lines.Add(FloatToStr(Power(X, Y)));
mmOutput.Lines.Add(FloatToStr(Power(X, -Y)));
end;
61
Страницы
- « первая
- ‹ предыдущая
- …
- 59
- 60
- 61
- 62
- 63
- …
- следующая ›
- последняя »
