- •1.Технология программирования. Основные понятия и подходы 8
- •Технология программирования. Основные понятия и подходы
- •1.1. Технология программирования и основные этапы ее развития
- •1.2. Жизненный цикл и этапы разработки программного обеспечения
- •Контрольные вопросы
- •2.Разработкаструктуры программы и модульное программирование
- •2.1. Цель модульного программирования
- •2.2. Основные характеристики программного модуля
- •2.3. Методы разработки структуры программы
- •Контрольные вопросы
- •3.Тестирование и отладка программного средСтВа
- •3.1. Принципы и виды отладки программного средства
- •3.2. Заповеди отладки программного средства
- •3.3. Автономная отладка программного средства
- •3.3. Комплексная отладка программного средства
- •Контрольные вопросы
- •4. Обеспечение качества программного средства
- •4.1. Общая характеристика процесса обеспечения качества программного средства
- •4.2. Обеспечение легкости применения программного средства
- •4.3. Обеспечение эффективности программного средства
- •4.4. Обеспечение сопровождаемости программного средства
- •Контрольные вопросы
- •5. Документирование программных средств составление программной документации
- •5.1. Виды программных документов
- •5.2. Пояснительная записка
- •5.3. Руководство пользователя
- •5.4. Руководство системного программиста
- •5.5. Основные правила оформления программной документации
- •Контрольные вопросы
- •6. Объектный подход к разработке программных средств
- •6.1. Объекты и отношения в программировании. Сущность объектного подхода к разработке программных средств
- •6.2. Особенности объектного подхода к разработке внешнего описания программного средства
- •6.3. Особенности объектного подхода на этапе конструирования программного средства
- •Контрольные вопросы
- •7. Постановка и алгоритмизация задач
- •7.1. Понятие алгоритма
- •7.2. Способы описания алгоритмов
- •Условные обозначения блоков
- •7.3. Структурные схемы алгоритмов
- •Контрольные вопросы
- •8. Основы языка
- •8.1. Алфавит языка
- •8.2. Структура программы
- •Контрольные вопросы
- •9. Типы данных
- •9.1. Целые типы
- •9.2. Вещественные типы
- •9.3. Логический тип
- •9.4. Символьный тип
- •9.5. Выражения
- •Арифметические операции
- •Операция отрицания
- •Операции конъюнкция, дизъюнкция, «исключающее» или
- •Приоритет операций
- •9.6. Константы
- •9.7. Совместимость типов данных
- •Контрольные вопросы
- •10. Линейные алгоритмы
- •10.1. Пустой и составной операторы
- •10.2. Оператор присваивания
- •10.3. Простейший ввод и вывод
- •Контрольные вопросы
- •11. Разветвляющиеся алгоритмы
- •11.1. Оператор перехода
- •11.2. Условный оператор
- •11.3. Оператор выбора
- •Контрольные вопросы
- •12. Циклические алгоритмы
- •12.1. Циклы с параметром
- •12.2. Циклы с условием
- •Контрольные вопросы
- •13. Пользовательские типы данных
- •13.1. Перечисляемый тип
- •13.2. Тип - диапазон
- •13.3. Массивы
- •13.4. Записи
- •13.5. Множества
- •Контрольные вопросы
- •14. Работа со строками
- •Контрольные вопросы
- •15. Процедуры и функции
- •15.1. Параметры-значения
- •15.2. Параметры-переменные
- •15.3. Параметры-константы
- •15.4. Открытые параметры-массивы
- •15.5. Бестиповые параметры
- •15.6. Процедурные типы
- •15.7. Рекурсия
- •Контрольные вопросы
- •16. Типизированные константы
- •Контрольные вопросы
- •17. Модули
- •Interface
- •Implementation
- •Interface
- •18.2. Поиск с барьером
- •83.3. Двоичный (бинарный) поиск
- •Контрольные вопросы
- •19. Алгоритмы сортировки
- •19.1. Сортировка выбором
- •19.2.Сортировка обменом (методом «пузырька»)
- •19.3. Сортировка включением
- •Контрольные вопросы
- •20. Файлы
- •20.1. Текстовые файлы
- •20.2. Компонентные файлы
- •20.3. Бестиповые файлы
- •20.4. Последовательный и прямой доступ
- •Контрольные вопросы
- •21.Программирование с использованием динамической памяти
- •21.1. Указатели и операции над ними
- •21.2. Процедуры и функции, работающие с указателями
- •Контрольные вопросы
- •22. Модуль crt (основные возможности)
- •Контрольные вопросы
- •22. Модуль graph (основные возможности)
- •22.1. Базовые процедуры и функции
- •22.2. Экран и окно в графическом режиме
- •22.3. Вывод точки
- •22.4. Вывод линии
- •22.5. Построение прямоугольников
- •22.6. Построение многоугольников
- •22.7. Построение дуг и окружностей
- •22.8. Работа с текстом
- •Контрольные вопросы
- •Заключение
- •Библиографический список
Контрольные вопросы
Сформулируйте назначение модуля Crt.
Перечислите функции и процедуры модуля Crt.
Укажите специфику задания координат.
Перечислите стандартные процедуры и функции модуля Crt.
22. Модуль graph (основные возможности)
Экран дисплея ПК представляет собой прямоугольное поле, состоящее из большого количества точек. Дисплей может работать в текстовом и графическом режимах. Но в отличие от текстового режима в графическом режиме имеется возможность изменять цвет каждой точки.
Чтобы сделать процесс графического программирования более эффективным, фирма Borland International разработала специализированную библиотеку Graph (в этом библиотечном модуле содержатся графические процедуры и функции), набор драйверов, позволяющих работать с разными типами мониторов, и набор шрифтов для вывода на графический экран текстов разной величины и формы.
Аппаратная поддержка графики ПК обеспечивается двумя основными модулями: видеомонитором и видеоадаптером.
Видеоадаптер– это сложное электронное устройство. Конструктивно он представляет собой самостоятельную электронную плату или может быть встроен в системную плату.
Какой бы адаптер ни был установлен на компьютере, мы можем использовать один и тот же набор графических процедур и функций Турбо Паскаля благодаря тому, что их конечная настройка на конкретный адаптер осуществляется автоматически. Эту настройку выполняют графические драйверы.
Запуск и завершение работыв графической системе осуществляется следующим образом:
подключить модуль Graph (библиотеку графических процедур): uses Graph;
установить графический режим: описываем переменные, которые определяют графический драйвер и монитор:
var d,m:integer; - задаем команду ПК для самовыбора значений переменных:
d:=Detect; (detect - драйвер сам определяет лучший режим) - инициализируем графический режим:
InitGraph(d,m,’указывается путь к драйверу’);С этого момента все графические средства доступны пользователю. Завершить работу в графической системе:CloseGraph;
22.1. Базовые процедуры и функции
Для построения изображений на экране используется система координат. Отсчет начинается от верхнего левого угла экрана, который имеет координаты (0,0). Значение Х (столбец) увеличивается слева направо, значение Y (строка) увеличивается сверху вниз. Чтобы строить изображения, необходимо указывать точку начала вывода. В текстовых режимах эту точку указывает курсор, который присутствует на экране. В графических режимах видимого курсора нет, но есть невидимый текущий указатель CP (Current Pointer). Фактически это тот же курсор, но он невидим.
Таблица 22.1
Процедуры модуля Graph
Процедура |
Формат |
Действие |
1 |
2 |
3 |
SetColor |
SetColor(a: word); |
Устанавливает цвет, которым будет осуществляться рисование |
SetBkColor |
SetBkColor(a: word); |
Устанавливает цвет фона |
SetFillStyle |
SetFillStyle(a, b: word); a - стиль закраски, b - цвет |
Устанавливает стиль и цвет закраски |
SetLineStyle |
SetLineStyle(a, b, c: word); а - стиль линии, b- образец построения линии (может устанавливаться пользователем), с-толщина линии |
Устанавливает стиль и толщину линии |
SetTextStyle |
SetTextStyle(a, b, c: word); |
Устанавливает шрифт, стиль и размер текста |
SetFillPattern |
SetFillPattern(Pattern: FillpatternType; Color: word); Pattern – маска |
Выбирает шаблон заполнения, определенный пользователем |
ClearDevice |
ClearDevice; |
Очищает экран и устанавливает текущий указатель в начало |
SetViewPort |
SetViewPort(x1,
y1, x2, y2: integer, Clip: |
Устанавливает текущее окно для графического вывода |
ClearViewPort |
ClearViewPort |
Очищает окно |
Продолжение таблицы 22.1 | ||
1 |
2 |
3 |
PutPixel |
PutPixel(a, b, c: integer); |
Рисует точку цветом с в (x,y) |
Line |
Line(x1, y1, x2, y2: integer); |
Рисует линию от (x1,y1) к (x2,y2) |
Rectangle |
Rectangle(x1, y1, x2, y2: integer); |
Рисует прямоугольник с диагональю от (x1,y1) к (x2,y2) |
Bar |
Bar(x1, y1, x2, y2: integer); |
Рисует закрашенный прямоугольник |
Bar3D |
Bar3D(x1,
y1, x2, y2, d: integer; a: |
Рисует трехмерную полосу (параллелепипед) |
Circle |
Circle(x, y, r: word); |
Рисует окружность радиуса r с центром в точке (x,y) |
Arc |
Arc(x, y, a, b, R: integer); a, b- начальный и конечный углы в градусах |
Рисует дугу из начального угла к конечному, используя (x,y) как центр |
Ellipse |
Ellipse(x, y, a, b, Rx, Ry: integer); a, b – начальный и конечный углы в градусах |
Рисует эллиптическую дугу от начального угла к конечному, используя (x,y) как центр |
FillEllipse |
FillEllipse(x, y, Rx, Ry: integer); Rx, Ry – вертикальная и горизонтальная оси |
Рисует закрашенный эллипс |
MoveTo |
MoveTo(x, y: integer); |
Передвигает текущий указатель в (x,y) |
MoveRel |
MoveRel(x, y: integer); |
Передвигает текущий указатель на заданное расстояние от текущей позиции на x по горизонтали и на y по вертикали |
OutText |
OutText(text: string); |
Выводит текст от текущего указателя |
OutTextxy |
OutTextxy(x, y: integer; text: string); |
Выводит текст из (x, y) |
Окончание табл.22.1 | ||
1 |
2 |
3 |
FloodFill |
FloodFill (x,y,: integer; цвет: word); |
Заполняет ограниченную область, используя текущий шаблон и цвет заполнения |
Sector |
Sector (x, y, a, b, Rx, Ry: integer); a, b - начальный и конечный углы в градусах |
Рисует и заполняет сектор эллипса |
Таблица 22.2
Функции модуля Graph
GetBkColor |
Возвращает текущий фоновый цвет |
GetColor |
Возвращает текущий цвет |
GetX |
Возвращает координату X текущей позиции |
GetY |
Возвращает координату Y текущей позиции |
GetPixel |
Возвращает цвет точки в (x, y) |