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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2011, 11:18   #1
Parada
 
Регистрация: 23.03.2011
Сообщений: 5
Вопрос паскаль. графика

здравствуйте)
нужно построить график функции Y=sin(x)/cos(x)/(x+1). максимальное значение на оси Oy должно быть 6, а получается 1.8, как было первоначально. что нужно исправить? или, может, есть примеры для подобной функции?

Код:
Procedure Graphic(c,d:real); { построение графика функции }
var
ga,gm,error:integer;
X,Y:real;
A,MX,MX007,MX01,MX03,MX09,MSX,MY,MY09,MY005,MSY,I:integer;
ST:string[4];
begin
  ga:=detect;   {-тип драйвера и адаптера }
  gm:=detect;   { режим работы адаптера }
{ инициализация графического режима: }
  InitGraph (ga, gm, ' ');
  error:= GraphResult;
{ результат инициализации: }
  if Error<> grOK then
     begin
        writeln (Ошибка! графический режим не найден ' ,#10#13, GraphErrorMsg (Error));
        halt;
     end;
{ определение используемых значений, возвращает текущее значение разрешения по горизонтали }
MX:=GetMaxX;  MX007:=Round (0.07*MX);
     MX01:=Round (0.1*MX);
     MX03:=Round (0.3*MX);
     MX09:=Round (0.9*MX);
{ Возвращает текущее значение разрешения по вертикали }
MY:=GetMaxY; MY09:=Round (0.9*MY);
           		    MY005:=Round (0.05*MY);
SetColor (12);   
{ рисование осей }
Line (5,MY09,MX-70,MY09);   { ось X}
Line (MX01-20,MY005,MX01-20,MY-9);   { ось Y}
{ рисование стрелок }
Line (MX-80,MY09-3,MX-70,MY09);   {--X--\}
Line (MX-80,MY09+3,MX-70,MY09);   {--X--/}
Line (MX-595,MY005,MX-589,MY005+10);   {/--Y--}
Line (MX-595,MY005,MX-600,MY005+10);   {\--Y--}
{ надписи по осям  X и Y }
SetTextStyle (0,0,2);  {шрифт}
SetColor (14); 
OutTextXY (MX-625,MY005,'Y');  { вывод последовательности символов  в точке (Х, У) }
OutTextXY (MX-80,MY-35,'X');
SetTextStyle (0,0,1);
SetColor (12);   
{ разметка оси Y}
MSY:=Round( MY09/2);   { масштаб по оси Y}
Y:=0;   { начальное значение Y}
while Y<=6 do
   begin
      str (Y:4:1,ST);   { строка для надписи по Y}
      A:=Round (MY09-MSY*Y);   { ордината в пикселях }
      Line (MX-600,A,MX-590,A);   { черточки по оси Y}
      OutTextXY (MX-637,A-8,ST);
      Y:=Y+0.2;   { изменение значения Y}
   end;
{ разметка оси Х}
MSX:=Round (MX09/50);   { масштаб по оси Х }
X:=0;   { начальное значение Х}
while X<=40 do
   begin
      str (X:4:0,ST);   { строка для надписи по X }
      A:=Round (MX007+MSX*X);   { абсцисса в пикселях }
      Line (A,MY09+3,A,MY09-3);   { черточки по оси X }
      OutTextXY (A-25,MY09+15,ST);
      X:=X+5;   { изменение значения X }
   end;
SetColor (2); 
{начало рисования кривой }
X:=c;   { начальное значение X }
while X<=d do
   begin
      Y:=sin(x)/cos(x)/(x+1);
      PutPixel (Round (MX007+MSX*X), Round(MY09-MSY*Y), 2);   { рисование точки }
      X:=X+0.001;   { изменение значения X}
      if abs(X)<1E-8 then X:=0;   { уточнение значения X}
   end;
SetColor (15);   
SetTextStyle (1,0,2);
OutTextXY(MX-550,MY-450,' график функции Y=sin(x)/cos(x)/(x+1)');
{readln; }
while not keypressed do;
closegraph;   { восстановление текстового режима }
end;
Parada вне форума Ответить с цитированием
Старый 05.06.2011, 19:28   #2
Parada
 
Регистрация: 23.03.2011
Сообщений: 5
По умолчанию

все, не нужно
Parada вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль(графика) masterlomaster Помощь студентам 3 15.03.2011 22:16
Паскаль графика Asira Помощь студентам 19 28.12.2009 21:42
графика паскаль locky7fm Помощь студентам 8 19.04.2009 23:41
ПАСКАЛЬ ГРАФИКА glasian Помощь студентам 19 17.06.2008 04:26