Построение sin(x) через vcl - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Добрый день. Прошу помочь, требуется, чтобы к программе был подключен модуль vcl, в котором создана форма и в нее вводится количество. От этого числа(которое введено), программа рисует столько графиков y=sin(x) белого цвета. И, если это возможно, то ограничить высоту для построения от 0 до 150 по y(вниз).

Решение задачи: «Построение sin(x) через vcl»

textual
Листинг программы
uses vcl;
var
  MainForm: Form;
  L:TextLabel;
  E:Edit;
  B1,B2: Button;
  P:PaintBox;
procedure B1Click;
var x,y,mx,my:real;
    n,i,x0,y0:integer;
begin
n:=strtoint(E.Text);
mx:=10;
my:=20;
for i:=1 to n do
 begin
  x0:=P.width div 2-200+random(401);
  y0:=45+random(51);
  x:=-pi;
  P.Canvas.Pen.Color:=clWhite;
  while x<=pi do
   begin
    if x=-pi then P.Canvas.MoveTo(x0+round(x*mx),y0-round(sin(x)*my))
    else P.Canvas.LineTo(x0+round(x*mx),y0-round(sin(x)*my));
    x:=x+0.01;
   end;
 end;
end;
procedure B2Click;
begin
  MainForm.Close;
end;
 
begin
  randomize;
  MainForm:=Form.Create(Screen.Width div 2-250,Screen.Height div 2-250,500,500);
  MainForm.Caption:='SIN';
  L:=TextLabel.Create(20,435,30,25);
  L.Caption:='N=';
  E:=Edit.Create(50,430,100,25);
  B1:=Button.Create(200,430,100,25);
  B1.Caption:='ГЌГ*ðèñîâГ*ГІГј';
  B1.OnClick:=B1Click;
  B2:=Button.Create(350,430,100,25);
  B2.Caption:='Âûõîä';
  B2.OnClick:=B2Click;
  P:=PaintBox.Create(20,20,450,400);
  P.Canvas.Brush.Color:=clBlue;
  P.Canvas.rectangle(0,0,P.width,P.height);
end.

Объяснение кода листинга программы

  1. Создается форма с именем MainForm.
  2. Создается метка TextLabel и устанавливается ее положение и размер.
  3. Создается Edit с именем E.
  4. Создаются две кнопки B1 и B2 с различными названиями и устанавливаются их положение и размер.
  5. Устанавливается обработчик события для кнопки B1Click.
  6. Внутри обработчика события B1Click создаются переменные x, y, mx и my типа real.
  7. Создается цикл for, который выполняется n раз (n - это значение, введенное в Edit).
  8. Внутри цикла создаются случайные координаты x0 и y0 типа integer.
  9. Вычисляется значение x как -π.
  10. В цикле while x <= π выполняется следующее:
    • Если x равно -π, то перемещается курсор к точке (x0 + round(xmx), y0 - round(sin(x)my)).
    • Иначе, рисуется линия от точки (x0 + round(xmx), y0 - round(sin(x)my)) до текущей точки.
    • Значение x увеличивается на 0.01.
  11. После завершения цикла while, значение x становится больше π, поэтому цикл завершается.
  12. Устанавливается обработчик события для кнопки B2Click.
  13. Форма закрывается при нажатии на кнопку B2Click.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5
Похожие ответы