В процедуре привести нетипизированный параметр к удобному для программиста типу - Turbo Pascal

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

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

А именно : В процедуре привести нетипизированный параметр к удобному для программиста типу( и нарисовать полигон). С полигоном разберусь,а вот само приведение не понимаю.(три раза вызвать процедуру ,каждый раз используя один из массивов из тела программы)

Решение задачи: «В процедуре привести нетипизированный параметр к удобному для программиста типу»

textual
Листинг программы
uses Graph;
Procedure MyPolygon(var p;x,y,n,c:integer);
begin
setcolor(c);
drawpoly(n,p)
end;
var p1: array [1..4] of pointtype;
    p2: array [1..5] of pointtype;
    x,y,i:integer;
    u:real;
begin
initgraph(x,y,'');
x:=100;
y:=240;
u:=pi/2;
for i:=1 to 4 do
 begin
  p1[i].x:=x+round(100*cos(u));
  p1[i].y:=y-round(100*sin(u));
  u:=u+2*pi/3;
 end;
x:=400;
y:=240;
u:=pi/2;
for i:=1 to 5 do
 begin
  p2[i].x:=x+round(100*cos(u));
  p2[i].y:=y-round(100*sin(u));
  u:=u+2*pi/4;
 end;
MyPolygon(p1,100,240,4,12);
MyPolygon(p2,400,240,5,9);
readln
end.

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

  1. Подключается библиотека Graph.
  2. Создается процедура MyPolygon, которая принимает в качестве параметров var p;x,y,n,c:integer.
  3. Создаются две переменные типа array [1..4] of pointtype — p1 и p2.
  4. Создаются три переменные — x, y и i — которые инициализируются значениями 100, 240 и 1 соответственно.
  5. Создается переменная u типа real и инициализируется значением pi/2.
  6. Для i от 1 до 4 выполняется цикл, в котором для каждого элемента массива p1 вычисляются координаты x и y с помощью формул x=x+round(100cos(u)) и y=y-round(100sin(u)), а затем устанавливаются значения cos(u) и sin(u) равными cos(u+2pi/3) и sin(u+2pi/3) соответственно. Значение u увеличивается на 2*pi/3.
  7. Для i от 1 до 5 выполняется цикл, в котором для каждого элемента массива p2 вычисляются координаты x и y с помощью формул x=x+round(100cos(u)) и y=y-round(100sin(u)), а затем устанавливаются значения cos(u) и sin(u) равными cos(u+2pi/4) и sin(u+2pi/4) соответственно. Значение u увеличивается на 2*pi/4.
  8. Вызываются процедуры MyPolygon(p1,100,240,4,12) и MyPolygon(p2,400,240,5,9) для создания двух полигонов.
  9. Выводится сообщение readln для завершения программы.

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


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

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

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