Не получается нарисовать координатную сетку:( - Pascal

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

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

Помогите пожалуйста нарисовать координатную сетку 25х25 тонкими линиями,а то хоть убейте не получается Вот моя уточка,и к ней нужна сеточка
Uses crt,Graph;
 
Const utka : Array [1..26] Of PointType = ((x: 175; y: 25),
                                 (x: 225; y: 25),
                                 (x: 275; y: 75),
                                 (x: 275; y: 100),
                                 (x: 325; y: 75),
                                 (x: 275; y: 125),
                                 (x: 300; y: 175),
                                 (x: 250; y: 150),
                                 (x: 225; y: 175),
                                 (x: 275; y: 225),
                                 (x: 275; y: 300),
                                 (x: 350; y: 325),
                                 (x: 300; y: 350),
                                 (x: 250; y: 350),
                                 (x: 200; y: 375),
                                 (x: 250; y: 400),
                                 (x: 175; y: 425),
                                 (x: 125; y: 375),
                                 (x: 75; y: 350),
                                 (x: 25; y: 275),
                                 (x: 50; y: 150),
                                 (x: 125; y: 200),
                                 (x: 175; y: 175),
                                 (x: 125; y: 125),
                                 (x: 125; y: 75),
                                 (x: 175; y: 25));
  Var Gd, Gm : Integer;
Begin
 clrscr;
  Gd:=Detect;
  InitGraph(Gd, Gm, 'C:\BP\BGI'); 
  If GraphResult <> grOk Then Halt(1);
  PutPixel(225,100,14);
  SetColor(14);
  SetLineStyle(SolidLn,3,ThickWidth);
  DrawPoly(SizeOf(utka) Div SizeOf(PointType), utka);
  ReadLn;
  CloseGraph;
 End.
Заранее большое спасибо за любую помощь

Решение задачи: «Не получается нарисовать координатную сетку:(»

textual
Листинг программы
Uses crt,Graph;
 
Const utka : Array [1..26] Of PointType = ((x: 175; y: 25),
                                 (x: 225; y: 25),
                                 (x: 275; y: 75),
                                 (x: 275; y: 100),
                                 (x: 325; y: 75),
                                 (x: 275; y: 125),
                                 (x: 300; y: 175),
                                 (x: 250; y: 150),
                                 (x: 225; y: 175),
                                 (x: 275; y: 225),
                                 (x: 275; y: 300),
                                 (x: 350; y: 325),
                                 (x: 300; y: 350),
                                 (x: 250; y: 350),
                                 (x: 200; y: 375),
                                 (x: 250; y: 400),
                                 (x: 175; y: 425),
                                 (x: 125; y: 375),
                                 (x: 75; y: 350),
                                 (x: 25; y: 275),
                                 (x: 50; y: 150),
                                 (x: 125; y: 200),
                                 (x: 175; y: 175),
                                 (x: 125; y: 125),
                                 (x: 125; y: 75),
                                 (x: 175; y: 25));
  Var Gd, Gm,i: Integer;
Begin
 clrscr;
  Gd:=Detect;
  InitGraph(Gd, Gm, 'C:\BP\BGI'); 
  If GraphResult <> grOk Then Halt(1);
  PutPixel(225,100,14);
  SetColor(14);
  SetLineStyle(SolidLn,3,ThickWidth);
  DrawPoly(SizeOf(utka) Div SizeOf(PointType), utka);
  setcolor(8);
  setlinestyle(1,0,1);
  for i:=1 to 17 do
  line(25,25*i,350,25*i);
  for i:=1 to 14 do
  line(25*i,25,25*i,425);
  ReadLn;
  CloseGraph;
 End.

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

В данном коде используется библиотека Graph для создания графической среды.

  1. Строка Var Gd, Gm,i: Integer; объявляет три переменные типа Integer: Gd, Gm и i. Переменная Gd используется для работы с графическим дисплеем, а переменная Gm - для хранения информации о графическом устройстве. Переменная i используется для цикла.
  2. Строка Begin начинает выполнение программы.
  3. Строка clrscr; очищает экран перед началом работы с графикой.
  4. Строка Gd:=Detect; устанавливает переменную Gd равной значению функции Detect, которая возвращает идентификатор графического устройства.
  5. Строка InitGraph(Gd, Gm, 'C:\BP\BGI'); инициализирует графическую среду с использованием переданного идентификатора устройства, хранящегося в переменной Gd, и имени каталога, хранящегося в переменной Gm.
  6. Строка If GraphResult <> grOk Then Halt(1); проверяет результат инициализации графической среды и, если он не равен grOk (что означает успешную инициализацию), программа завершается.
  7. Строка PutPixel(225,100,14); рисует точку с координатами 225,100,14 на графике.
  8. Строка SetColor(14); устанавливает цвет точки на черный.
  9. Строка SetLineStyle(SolidLn,3,ThickWidth); устанавливает стиль линии для последующего рисования полигонов.
  10. Строка DrawPoly(SizeOf(utka) Div SizeOf(PointType), utka); рисует полигон, используя массив utka и устанавливая его размер в соответствии с размером типа PointType.
  11. Строка setcolor(8); устанавливает цвет фона на белый.
  12. Строка setlinestyle(1,0,1); устанавливает стиль линии для последующего рисования линий.
  13. Цикл for i:=1 to 17 do выполняет цикл от 1 до 17 и рисует линию с координатами 25,25i, 350,25i.
  14. Цикл for i:=1 to 14 do выполняет цикл от 1 до 14 и рисует линию с координатами 25i,25,25i,425.
  15. Строка ReadLn; считывает символ новой строки из стандартного ввода и ожидает ввода пользователя.
  16. Строка CloseGraph; закрывает графическую среду.

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


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

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

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