Графика pascalabc.NET
Формулировка задачи:
Ввести с клавиатуры число линий и построить фигуру
Решение задачи: «Графика pascalabc.NET»
textual
Листинг программы
uses graphABC; var n,da,db,x1,y1,x2,y2:integer; begin repeat write('Введите количество точек от 2 до 50 n='); readln(n); until n in [2..50]; clearwindow; da:=(windowwidth-100)div (n-1);//расстояние между точками ввверху db:=da div 4;//то же внизу if odd(n) then//если n нечетное begin x1:=windowwidth div 2-da*(n div 2); x2:=windowwidth div 2-db*(n div 2); end else //если четное begin x1:=windowwidth div 2-da*(n div 2-1)- da div 2; x2:=windowwidth div 2-db*(n div 2-1)- db div 2; end ; y1:=50; y2:=windowheight-50; for var i:=0 to n-1 do line(x1+i*da,y1,x2+i*db,y2); line(x1,y1,x1+(n-1)*da,y1); line(x2,y2,x2+(n-1)*db,y2); end.
Объяснение кода листинга программы
- Ввод количества точек от 2 до 50.
- Очистка окна.
- Вычисление расстояния между точками вверху и внизу.
- Если количество точек нечетное, то вычисление координат двух точек.
- Если количество точек четное, то вычисление координат двух точек.
- Вычисление координат нижней границы первой линии.
- Вычисление координат верхней границы первой линии.
- Вычисление координат нижней границы второй линии.
- Вычисление координат верхней границы второй линии.
- Цикл по рисованию линий.
- Рисование верхней линии.
- Рисование нижней линии.
- Рисование вертикальной линии слева.
- Рисование вертикальной линии справа.
- Конец программы.