Использование типа данных «объект» - Turbo Pascal
Формулировка задачи:
Составить программу для решения этого кода с использованием типа данных «объект».
Решение задачи: «Использование типа данных «объект»»
textual
Листинг программы
uses crt,graph; var x0,a:integer; type trg=object x,y,r,c:integer; procedure init(ax,ay,ar,ac:integer); procedure postr; procedure show; procedure hide; procedure move(dy:integer); end; procedure trg.init; begin x:=ax; y:=ay; r:=ar; c:=ac; end; procedure trg.postr; var ax,ay,bx,by,cx,cy:integer; begin ax:=x;ay:=y-r; bx:=x-round(r*cos(pi/6));by:=y+round(r*sin(pi/6)); cx:=x+round(r*cos(pi/6));cy:=y+round(r*sin(pi/6)); line(ax,ay,bx,by); line(bx,by,cx,cy); line(cx,cy,ax,ay); end; procedure trg.show; begin setcolor(c); postr; end; procedure trg.hide; begin setcolor(getbkcolor); postr; end; procedure trg.move; begin hide; y:=y+dy; x:=x0-round(sin(y*pi/180)*a); show; delay(10); end; var t:trg; x,y,r,dy:integer; begin x:=0; initgraph(x,y,''); x0:=getmaxX div 2; a:=100; r:=10; t.x:=getmaxX div 2; t.y:=r; t.init(x,y,r,14); while t.y+r<getmaxY do t.move(1); while t.y-r>0 do t.move(-1); readln end.
Объяснение кода листинга программы
- В начале кода используются необходимые библиотеки crt и graph.
- Объявляются переменные x0, a, trg типа object и сами переменные x, y, r, c типа integer.
- В типе trg определяются методы init, postr, show, hide, move.
- В методе init переменные x, y, r, c инициализируются значениями ax, ay, ar, ac соответственно.
- Метод postr не делает ничего, он предназначен для использования в методе move.
- Метод show просто устанавливает цвет фона с помощью функции setcolor и вызывает метод postr.
- Метод hide также устанавливает цвет фона, но вместо postr вызывает метод hide.
- Метод move принимает параметр dy и выполняет следующие действия:
- скрывает текущую фигуру
- создает новые координаты для точек x, y, x0, y0
- вычисляет новые координаты для точек x, y, x0, y0 с помощью формул из задачи
- рисует линии между новыми точками
- вызывает метод move снова через 10 миллисекунд.
- Создается объект t типа trg с начальными значениями x, y, r, 14.
- Вычисляется максимальное значение x и y с помощью функции getmaxX и getmaxY.
- Переменные x0 и a инициализируются значениями x и y соответственно.
- Переменная r инициализируется значением 10.
- Переменная t.x и t.y инициализируются значениями x0 и r соответственно.
- Вызывается метод init для объекта t с аргументами x, y, r, 14.
- Запускается цикл while, который выполняется до тех пор, пока y + r меньше максимального значения y.
- Внутри цикла вызывается метод move для объекта t с аргументом 1.
- После завершения цикла вызывается метод readln для остановки программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д