0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 1
1

Спирали Котеса на Pascal ABC

26.06.2019, 17:42. Показов 636. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, форумчане! Помогите с проблемкой, пожалуйста! Мне необходимо написать программу, которая выводит в полярной или декартовой (на выбор) системе координат график спирали Котеса, окно должно масштабироваться. Единственная формула есть на википедии https://en.wikipedia.org/wiki/Cotes%27s_spiral
Вот что я намудрил по коду на Pascal ABC.Net

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
uses graphABC;
var x0,y0,d,i,x1,y1,fn,fk:integer;
    r,a,f,x,xr,yr,m:real;
    s:string;
begin
write('a=');readln(a);
x0:=windowwidth div 2;
y0:=windowheight div 2;
{КООРДИНАТНАЯ  СЕТКА}
d:=round((y0-40)/(round(a)));{шаг по оси радиуса в пикселях}
m:=2*(y0-40);{масштаб для графика}
setpencolor(clBlue);
setbrushstyle(bsClear);
for i:=1 to round(a) do
 begin
  {рисуем окружности}
  circle(x0,y0,i*d);
  {пишем шкалу}
  str(i/a:0:1,s);
  textout(x0-i*d+5,y0+10,s);
 end;
f:=30;{шаг по кругу=30 град}
for i:=1 to 12 do{делим на 12 частей}
 begin
  {рисуем радиусы пунктиром}
  Setpenstyle(psDash);
  x1:=x0+round((y0-40)*cos(i*f*pi/180));
  y1:=y0-round((y0-40)*sin(i*f*pi/180));
  line(x0,y0,x1,y1);
  {пишем подписи}
  str(i*30,s);
  if (x1>=x0)and(y1<y0) then textout(x1+10,y1-15,s)
  else if (x1>=x0)and(y1>=y0) then textout(x1+10,y1+10,s)
  else if (x1<x0)and(y1<y0) then textout(x1-40,y1-15,s)
  else if(x1<x0)and(y1>=y0)then textout(x1-40,y1+10,s)
 end;
{рисуем осевые линии сплошной линией}
Setpenstyle(psSolid);
line(10,y0,windowwidth-10,y0);
line(x0,0,x0,windowheight);
textout(x0+5,y0+10,'0');
textout(25,y0+10,'A');
{ГРАФИК}
x:=0;{начальный угол}
while x<=360 do{полный оборот}
 begin
    r:=cos(a*x);{уравнение в полярных координатах}
    xr:=r*cos(x);{приведение к Декартовым}
    yr:=r*sin(x);
    x1:=x0+round(m*xr/2);{приведение к экранным}
    y1:=y0-round(m*yr/2);
    setpixel(x1,y1,clRed);
    x:=x+0.01;
 end;
end.
Да это не тот код, но переделываю под формулу в википедии у меня не получается график. Как исправить данный код, чтоб все работало? Помогите, пожалуйста, очень надо!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.06.2019, 17:42
Ответы с готовыми решениями:

Turbo Pascal, Pascal ABC, Free Pascal, PascalABC.NET - в чем разница?
Всем привет, решил изучать Паскаль, но на форуме увидел 4 его версии - Turbo Pascal, Pascal ABC,...

Различия трансляторов Pascal ABC.Net и Turbo/Borland Pascal
Пожалуйста, объясните различия между компиляторами Pascal ABC.Net и Turbo/Borland Pascal

Нужно перевести программу с Turbo Pascal в Pascal ABC.NET
Вот есть программный код , но он для турбо паскаля, помогите перевести его в АБС.NET Program...

Можно как-то переделать код из Turbo Pascal чтобы он работал в pascal abc.net?
Сделайте пожалуйста, я просто не вникаю uses Graph, Crt; var grDriver: integer; grMode:...

0
26.06.2019, 17:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.06.2019, 17:42
Помогаю со студенческими работами здесь

Перевод программы с Turbo Pascal на Pascal ABC.NET
написала программу в паскаль турбо на рабочем компьютере. перенесла в паскаль авсNet так как дома...

Нужно переделать программу,написанную на Turbo Pascal в ту,чтобы работала на Pascal ABC.NET пожалуйста
program lab2; uses Crt; const Nmax = 15; { MAX element mnozestva A } type T =...

Нужно переделать программу,написанную на Turbo Pascal в ту,чтобы работала на Pascal ABC.NET пожалуйста
program lab3; uses Crt; const Output_File_Name = 'output.txt'; { ima faila dlya vivoda...

Чем отличаются Turbo Pascal и Pascal ABC?
Чем отличаются турбо паскаль и abc? Просто у меня windows7 последняя теперь стоит, и там турбо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru