На экране нарисовать несколько произвольных закрашенных фигур - Turbo Pascal

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

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

Добрый вечер! Возникла пара вопросов при работе с нетипизированными файлами в Turbo Pascal 7.0 (а также и в 7.1). На всякий случай опишу условие задачи: на экране нужно нарисовать несколько произвольных закрашенных фигур; информацию (коордианаты, цвет, количество вершин и пр.) о данных фигурах записать в нетипизированный файл. Каждая запись файла имеет фиксированный размер. Сохранить файл на диске. Восстановить содержимое экрана из файла.

Код программы:

На строке, которая находится в

процедуре

getfrombuf

выдает ошибку disk read error. Эта ошибка говорит о том, что я пытаюсь прочитать что-то после конца файла. Так происходит в среде TurboPascal 7.0; к слову, в среде TurboPascal 7.1 вообще пишет BGI Error: Graphics not initialized (use InitGraph), хотя InitGraph я использую. В связи с ошибкой, хотелось бы узнать ответы на несколько ответов: 1)команде reset(f, q) передаются два параметра. Как я понял, параметр q передает размер записи. Это значит, что каждый элемент будет иметь размер равный q, или это означает, что максимальный размер файла равен q? 2)как корректно использовать такие процедуры, как BlockRead и BlockWrite? Если я правильно понял, то численный параметр, передаваемый в процедуру означает количество элементов записи/чтения? И что насчет того, что я передаю также на запись/чтение целый массив? За вопросы, простите, но информация в интернете однотипна и не очень легка для моего восприятия, поэтому и прошу помочь. Заранее спасибо!

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

textual
Листинг программы
var p:array[1.20] of pointtype;
     n:byte;
.................................
n:=5;
p[1].x:=
p[1].y:=
p[2].x:=
p[2].y:=    
..............
p[n+1]:=p[1];
setfillstyle(1,14);//1-сплошная заливка
fillpoly(n+1,p);
..................

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

  1. Создаётся переменная типа array[1.20] of pointtype, которая представляет собой массив из 20 точек.
  2. Задаётся переменная n типа byte, которая представляет собой количество точек в массиве.
  3. Значение переменной n присваивается 5.
  4. Для каждой точки в массиве (от 1 до n) присваиваются значения x и y.
  5. Значение переменной n увеличивается на 1 и присваивается значение n+1.
  6. Значение переменной n присваивается первому элементу массива.
  7. Массив точек заполняется значениями из первого элемента массива.
  8. Устанавливается стиль заполнения полигонов (в данном случае - сплошная заливка).
  9. Заполняется полигон, используя массив точек.

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


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

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

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