Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Доработка программы: добавить действия по пунктам меню - PascalABC.NET


Рекомендуемые сообщения

плиз, доделайте программу.
У меня есть меню и мне надо вставить туда программу в пункт «Нарисовать астроиду", и в пункт "Справка" написать текст
Код меню:

PascalВыделить
 
uses  GraphABC;
const
  x0 = 150;
  y0 = 200;
  w = 100;
  step = 120;
  n = 3;
  kv1=0;
  kv2=1;
  kv3=2;
var f:integer;
Q: array[1..3] of string= ('Нарисовать астроиду','Справка','Выход');
  procedure menu(f: integer);
var i:integer;
begin
for i:=1 to 3 do
begin
setfontsize(10);
if f=i then setfontcolor(clred) else setfontcolor(clgreen);
textout(200,100+i*30,Q[i]);
end;
end;
Procedure choose;
begin
case f of
1: begin; textout (1,1,'да');end;
3: halt;
end;
end;
procedure up;
begin if f=1 then f:=3 else f:=f-1; clearwindow; menu(f); end;
procedure down ;
begin if f=3 then f:=1 else f:=f+1; clearwindow; menu(f); end;
procedure KeyDown(Key: integer);                         
begin
case Key of
VK_Up: up;
VK_Down: down;
VK_Enter: begin; choose;end;
end;
end;
begin                 
f:=1;
menu(f);
OnKeyDown := KeyDown;
end.
Код программы:
uses
graphabc;
var
r, xc, yc, x1, y1: integer;
x, y, t: real;
s: string;
 
begin
repeat
write('Vvedite radius [50..200] r=');
readln(r);
until r in [50..200];
SetWindowSize(400, 400);
xc := WindowWidth div 2;
yc := WindowHeight div 2;
line(0, yc, 2 * xc, yc);
line(xc, 0, xc, 2 * yc);
t := 0;
while t <= 2 * pi do
begin
x := r * (sqr(cos(t)) * cos(t));
y := r * (sqr(sin(t)) * sin(t));
x1 := xc + round(x);
y1 := yc - round(y);
putpixel(x1, y1, clGreen);
t := t + 0.001;
end;
SetBrushColor(clGreen);
//setfillstyle(6, 12);
//floodfill(xc, yc, clGreen);
textout(50, 40, 'Astroida');
textout(50, 60, 'x=r*cos^3(t) y=r*sin^3(t)');
str(r, s);
textout(50, 80, 'pri R=' + s);
end.
Текст у меню "Справка":
Астроида это кривая, которую описывает фиксированная точка круга, с середины касаясь неподвижного круга раза большего радиуса, и катится по нему без скольжения

 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...