Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal]Табуляция ф-ций


Автор: zarya 23.1.2008, 00:51
Табулировать ф-цию Y=(e^x+e^-x)/(e^x-e^-x)    на промежутке [-3;3] ,где А=-3,В=3; с шагом H=0.5
A,B,H-ввод с клавиатуры
Примеч.:для рассчетов использовать следующ. формулы:
H= B-A/n-1; Xi=A+i*H; Yi=F(Xi); i=0,1,2....,n-1

Автор: kemiisto 24.1.2008, 13:29
Код

program example;

function f(x: real): real;
begin
  if x = 0 then
    f := 0
  else
    f := (exp(x) + exp(-x)) / (exp(x) - exp(-x));
end;

var
  i, n: integer;
  a, b, h, x, y: real;

begin
  write('a = ');
  readln(a);
  write('b = ');
  readln(b);
  write('h = ');
  readln(h);
  writeln('x    ', 'y');
  n := trunc((b - a) / h) + 1;
  x := a;
  for i := 1 to n do
  begin
    y := f(x);
    writeln(x:4:1, ' ', y:10:9);
    x := x + h;
  end;
  readln;
end.


При x = 0 табулируемая функция не определена! Но я возвращаю 0! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)