Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2014, 20:21   #1
Valik93
Пользователь
 
Регистрация: 29.11.2010
Сообщений: 21
Сообщение Вычисление функциn

Проверьте пожалуйста, не правильно выводит y.
Протабулировать функцию на интервале 0,1 <=x <=1,25 c шагом h = 0,1:
Y=8x^2+3x+2/ln(sin(Пx))

Код:
program pr;
const
  Xn=0.1;
  Xk=1.25;
  h=0.1;
var
  x,y,Q,p:real;
begin
x:=Xn;
 while x<=Xk do
begin
 
 Q:=8*sqr(x)+3*x+2;
 p:=ln(sin(Pi*x));
 if Q=0 then 
 begin
  writeln('x=', x:4:1 ,',y ne shysh');
end
else
begin
 y:=Q/p;
 writeln('x=', x:4:1, ',y=' , y:4:1 );
 x:=x+h;
 end;
 end;
readln;
end.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Stilet; 20.02.2014 в 22:31.
Valik93 вне форума Ответить с цитированием
Старый 20.02.2014, 22:33   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а так?
Код:
program pr;
const
  Xn = 0.1;
  Xk = 1.25;
  h = 0.1;
var
  x, y, Q, p1, p2 : real;
begin
  x := Xn;
  while x <= Xk do
  begin
    Q := 8 * sqr(x) + 3 * x + 2;
    p1 := sin(Pi * x);
    p2 := 0;
    if p1>0 then p2 := ln( p1);
    if p2 = 0 then
      writeln('x=', x:4:2, ', y ne shysh')
    else
    begin
      y := Q / p2;
      writeln('x=', x:4:2, ', y=', y:4:2);
    end;
    x := x + h;
  end;
  readln;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.02.2014, 22:41   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Может:
Код:
 while x<=Xk do begin
 Q:=8*sqr(x)+3*x+2;
 p:=sin(Pi*x);
 if (p=1)or(p<0) then     begin
  writeln('x=', x:4:1 ,',y ne shysh');
 end else begin
  writeln('x=', x:4:1, ',y=' , (Q/ln(p)):4:1 );
 end;
x:=x+h;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.02.2014, 22:47   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

да хрен редьки не слаще! Можно и так!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.02.2014, 22:53   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
да хрен редьки не слаще!
Когда я свой хрен сеял, твоя редька еще не взошла
Так что накладочка и вышла.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
(Cи++) Вычисление f(x) Uefa Помощь студентам 2 07.09.2013 12:51
Вычисление (С) Forgotten Помощь студентам 5 19.02.2012 17:10
вычисление значения функции и переменных, вычисление площади треугольника, определение расстояния между точками на турбо паскале _4Alex4_ Помощь студентам 2 14.12.2011 01:43
Вычисление felmor Паскаль, Turbo Pascal, PascalABC.NET 0 26.12.2008 17:45
вычисление f(x) felmor Паскаль, Turbo Pascal, PascalABC.NET 0 24.12.2008 22:11