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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2011, 08:39   #1
GreenDay
Пользователь
 
Аватар для GreenDay
 
Регистрация: 02.11.2010
Сообщений: 21
По умолчанию Циклоида в паскале

Здраствуйте. Помогите пожалуйста вот в этом коде расставить риски для координатныч осей:
Код:
program xz;
uses graph;
var a,x,y,xmin,xmax,h:real;
    ymin,t,ymax,cx,cy,tmax,tmin,l:real;
    i,j,o,jmax,s:integer;
    z:string;
    grD,grM:integer;
begin
  write('Введите а *: ');
  readln(a);
  write('Введите L: ');
  readln(l);
  grD:=detect;
  InitGraph(grD,grM,'');
  ymin:=-10; ymax:=10; o:=10;s:=150;
  xmin:=-10; xmax:=10; h:=0.01;
  tmin:=-19; tmax:=19;
  Outtextxy(45,15, 'X=a(t-Lsin(t))');
  Outtextxy(45,25, 'Y=(1-Lcos(t))');
  Outtextxy(45,33,'a=0.5');
  OutTextxy(495,10,'Y');
  OutTextxy(1000,360, 'X');
  cx:=(getmaxx-10)/(xmax-xmin);
  jmax:=getmaxy-5;
  cy:=jmax/(ymax-ymin);
  I:=round(-xmin*cx);
  j:=jmax-round(-ymin*cy);
  setcolor(4);
  line(i,5,i,jmax);
  line(10,j,getmaxx-10,j);
  t:=tmin;
  Str(l:5:1,z);
      begin
    Setcolor(15);
    OutTextxy(44,44, 'l=');
    OutTextxy(50,44,z);
  end;
  write(l:1:1);
  while t<=tmax do
    begin
      x:=a*(t-l*(sin(t)));
      y:=(1-L*cos(t));
      i:=round(cx*(x-xmin));
      j:=jmax-round(cy*(y-ymin));
      putpixel(i,j,2);
      t:=t+h;
    end;
  readln;
end.

Последний раз редактировалось GreenDay; 23.03.2011 в 08:48.
GreenDay вне форума Ответить с цитированием
Старый 23.03.2011, 17:02   #2
GreenDay
Пользователь
 
Аватар для GreenDay
 
Регистрация: 02.11.2010
Сообщений: 21
По умолчанию

Оперативности тут не занимать=)
да и желанием кажется тоже-)
GreenDay вне форума Ответить с цитированием
Старый 23.03.2011, 20:33   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вывести риски абсолютно не сложно.
Проблема в том, что они должны означать (ну, какова цена деления шкалы) ?!
если Вы расскажите подробно, где эти риски должны быть (например, на иллюстрации покажете - только не забудьте указать величины входных параметров - a и L ), я постараюсь помочь..

p.s. если риски нужны "просто, чтобы было" - тогда это вообще не проблема!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.03.2011, 20:22   #4
GreenDay
Пользователь
 
Аватар для GreenDay
 
Регистрация: 02.11.2010
Сообщений: 21
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
вывести риски абсолютно не сложно.
Проблема в том, что они должны означать (ну, какова цена деления шкалы) ?!
если Вы расскажите подробно, где эти риски должны быть (например, на иллюстрации покажете - только не забудьте указать величины входных параметров - a и L ), я постараюсь помочь..

p.s. если риски нужны "просто, чтобы было" - тогда это вообще не проблема!
Риски нужны для красоты, не более)
должны быть на оси абсцисс
цена деления любая
а 0.5, Л 1

Последний раз редактировалось GreenDay; 25.03.2011 в 21:26.
GreenDay вне форума Ответить с цитированием
Старый 06.04.2011, 08:17   #5
GreenDay
Пользователь
 
Аватар для GreenDay
 
Регистрация: 02.11.2010
Сообщений: 21
По умолчанию

Ну в общем вот, график с рисками.
Спс за помощь, че=)
Код:
program xz;
uses graph;
var a,x,y,xmin,xmax,h:real;
    ymin,t,ymax,cx,cy,tmax,tmin,l:real;
    i,j,o,jmax,s,n:integer;
    z:string;
    grD,grM:integer;
begin
  write('Введите a *: ');
  readln(a);
  write('Введите L: ');
  readln(l);
  grD:=detect;
  InitGraph(grD,grM,'');
  ymin:=-10; ymax:=10; o:=10;s:=150;
  xmin:=-10; xmax:=10; h:=0.01;
  tmin:=-19; tmax:=19;
  Outtextxy(45,15, 'X=a(t-Lsin(t))');
  Outtextxy(45,25, 'Y=(1-Lcos(t))');
  Outtextxy(45,33,'a=0.5');
  OutTextxy(495,10,'Y');
  OutTextxy(1000,360, 'X');
  cx:=(getmaxx-10)/(xmax-xmin);
  jmax:=getmaxy-5;
  cy:=jmax/(ymax-ymin);
  I:=round(-xmin*cx);
  j:=jmax-round(-ymin*cy);
  setcolor(4);
  line(i,5,i,jmax);
  line(10,j,getmaxx-10,j);
  t:=tmin;
  Str(l:5:1,z);
  for n:=-10 to 10 do
    begin
      setcolor(2);
      I:=round(cx*(n-xmin));
      line(i,350,i,360);
      end;
    Setcolor(15);
    OutTextxy(44,44, 'l=');
    OutTextxy(50,44,z);
  while t<=tmax do
    begin
      x:=a*(t-l*(sin(t)));
      y:=(1-L*cos(t));
      i:=round(cx*(x-xmin));
      j:=jmax-round(cy*(y-ymin));
      putpixel(i,j,2);
      t:=t+h;
    end;
  readln;
end.
GreenDay вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
на ПАСКАЛЕ ddeman666 Помощь студентам 2 19.04.2010 19:57
L=2*pi*R и S=pi*R на паскале. MjRed Помощь студентам 1 02.02.2009 09:52
привет всем! помогите пожалуйста решить две задачи на паскале. я в паскале полный ноль. Пищенок Саша Паскаль, Turbo Pascal, PascalABC.NET 5 20.01.2009 13:46
БД На Паскале igorjouk Помощь студентам 12 21.11.2008 13:22