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

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

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

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

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

textual
Листинг программы
  1. uses vcl;
  2. var
  3.   MainForm: Form;
  4.   L:TextLabel;
  5.   E:Edit;
  6.   B1,B2: Button;
  7.   P:PaintBox;
  8. procedure B1Click;
  9. var x,y,mx,my:real;
  10.     n,i,x0,y0:integer;
  11. begin
  12. n:=strtoint(E.Text);
  13. mx:=10;
  14. my:=20;
  15. for i:=1 to n do
  16.  begin
  17.   x0:=P.width div 2-200+random(401);
  18.   y0:=45+random(51);
  19.   x:=-pi;
  20.   P.Canvas.Pen.Color:=clWhite;
  21.   while x<=pi do
  22.    begin
  23.     if x=-pi then P.Canvas.MoveTo(x0+round(x*mx),y0-round(sin(x)*my))
  24.     else P.Canvas.LineTo(x0+round(x*mx),y0-round(sin(x)*my));
  25.     x:=x+0.01;
  26.    end;
  27.  end;
  28. end;
  29. procedure B2Click;
  30. begin
  31.   MainForm.Close;
  32. end;
  33.  
  34. begin
  35.   randomize;
  36.   MainForm:=Form.Create(Screen.Width div 2-250,Screen.Height div 2-250,500,500);
  37.   MainForm.Caption:='SIN';
  38.   L:=TextLabel.Create(20,435,30,25);
  39.   L.Caption:='N=';
  40.   E:=Edit.Create(50,430,100,25);
  41.   B1:=Button.Create(200,430,100,25);
  42.   B1.Caption:='ГЌГ*ðèñîâГ*ГІГј';
  43.   B1.OnClick:=B1Click;
  44.   B2:=Button.Create(350,430,100,25);
  45.   B2.Caption:='Âûõîä';
  46.   B2.OnClick:=B2Click;
  47.   P:=PaintBox.Create(20,20,450,400);
  48.   P.Canvas.Brush.Color:=clBlue;
  49.   P.Canvas.rectangle(0,0,P.width,P.height);
  50. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы