Нарисовать силовые линии электрического поля - Pascal ABC

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

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

Добрый день! Скоро защита диплома и я как среднестатистический студент забивал , на это на протяжении года. Но настал день X. И по практической части мне нужно нарисовать СИЛОВЫЕ ЛИНИИ ЭЛЕКТРИЧЕСКОГО ПОЛЯ. Помогите пожалуйста. Картинку я прикреплю
Спойлер

Решение задачи: «Нарисовать силовые линии электрического поля»

textual
Листинг программы
  1. uses graphABC;
  2. var x1,x2,yc,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,r1,r2,r3,r4,i:integer;
  3.     u,du:real;
  4. begin
  5. setwindowsize(400,400);
  6. centerwindow;
  7. yc:=200;
  8. x1:=100;
  9. x2:=300;
  10. setpencolor(clSkyBlue);
  11. setbrushcolor(clSkyBlue);
  12. circle(x1,yc,15);
  13. circle(x2,yc,15);
  14. r1:=20;
  15. r2:=70;
  16. r3:=50;
  17. r4:=60;
  18. setpencolor(clBlack);
  19. u:=0;
  20. du:=pi/4;
  21. for i:=1 to 8 do
  22.  begin
  23.   x3:=x1+round(r1*cos(u));
  24.   y3:=yc-round(r1*sin(u));
  25.   x4:=x1+round(r2*cos(u));
  26.   y4:=yc-round(r2*sin(u));
  27.   x5:=x1+round(r4*cos(u));
  28.   y5:=yc-round(r4*sin(u));
  29.   x6:=x1+round(r3*cos(u-pi/70));
  30.   y6:=yc-round(r3*sin(u-pi/70));
  31.   x7:=x1+round(r3*cos(u+pi/70));
  32.   y7:=yc-round(r3*sin(u+pi/70));
  33.   line(x3,y3,x4,y4);
  34.   line(x5,y5,x6,y6);
  35.   line(x5,y5,x7,y7);
  36.   line(x6,y6,x7,y7);
  37.   u:=u+du;
  38.  end;
  39. u:=0;
  40. for i:=1 to 8 do
  41.  begin
  42.   x3:=x2+round(r1*cos(u));
  43.   y3:=yc-round(r1*sin(u));
  44.   x4:=x2+round(r2*cos(u));
  45.   y4:=yc-round(r2*sin(u));
  46.   line(x3,y3,x4,y4);
  47.   x5:=x2+round(r3*cos(u));
  48.   y5:=yc-round(r3*sin(u));
  49.   x6:=x2+round(r4*cos(u-pi/80));
  50.   y6:=yc-round(r4*sin(u-pi/80));
  51.   x7:=x2+round(r4*cos(u+pi/80));
  52.   y7:=yc-round(r4*sin(u+pi/80));
  53.   line(x3,y3,x4,y4);
  54.   line(x5,y5,x6,y6);
  55.   line(x5,y5,x7,y7);
  56.   line(x6,y6,x7,y7);
  57.   u:=u+du;
  58.  end;
  59. setfontsize(12);
  60. setfontstyle(fsBold);
  61. textout(x1-4,yc-10,'+');
  62. textout(x2-3,yc-10,'-');
  63. end.

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

  1. Импортируется библиотека graphABC.
  2. Объявляются переменные x1, x2, yc, x3, y3, x4, y4, x5, y5, x6, y6, x7, y7, r1, r2, r3, r4, i, u, du.
  3. Устанавливается размер окна.
  4. Вычисляются координаты центров окружностей x1, yc, x2, yc, x3, y3, x4, y4, x5, y5, x6, y6, x7, y7.
  5. Окружности рисуются с помощью функции circle.
  6. Устанавливаются цвета линий и текста.
  7. Задаются начальные значения для силовых линий.
  8. Задаются параметры для вычисления углов между линиями.
  9. Задаются координаты точек для линий.
  10. Рисуются линии с помощью функции line.
  11. Выводится текст с помощью функции textout.
  12. Завершается программа.

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


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

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

11   голосов , оценка 3.636 из 5

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

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

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