Консультация № 161644
28.02.2009, 22:24
0.00 руб.
0 1 1
Процедуры и функции:
Даны действительные числа s,t. Получить g(1.2,s)+g(t,s)-g(2*s-1,s*t),
где g(a,b)= (a^2 + b^2)/(a^2 +2*a*b+3*b^2 +4)

Приложение:
и блок схему пожалуста на kolliian@mail.ru

Обсуждение

Неизвестный
01.03.2009, 11:25
общий
это ответ
Здравствуйте, Колян!
В приложении код, решающий Вашу несложную задачу
Одно не ясно, что делать, если в знаменателе получится ноль (на самом деле не только ноль, но и очень маленькое по модулю число. Если надо, то и это (насколько маленькое число) можно посчитать)

Приложение:
function g(a,b: Real): Real;
var r: Real;
begin
{сначала вычислим знаменатель. Он может быть равен нулю}
r := a*a +2*a*b + 3*b*b + 4;
if r = 0 then
begin
g := 0;
WriteLn('Деление на ноль. Результат неверный');
end
else
g := (a*a + b*b)/r
end;

VAR
s, t: Real;
BEGIN
WriteLn('Введите два действительных числа s и t');
WriteLn(' разделителями могут быть пробелы');
ReadLn(s, t);
WriteLn('g(1.2,s)+g(t,s)-g(2*s-1,s*t) = ',g(1.2,s)+g(t,s)-g(2*s-1,s*t));
END.
Форма ответа