- •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. Работа с текстом
- •Контрольные вопросы
- •Заключение
- •Библиографический список
22.7. Построение дуг и окружностей
Процедура вычерчивания окружности текущим цветом имеет следующий формат:
Cicrle(x,y,r:word);
где x,y– координаты центра окружности,r– ее радиус. Например, фрагмент программы обеспечит вывод ярко-зеленой окружности с радиусом 50 пикселей и центром в точке (450, 100):
SetColor(LightGreen); Circle(450, 100, 50); Дуги можно вычертить с помощью процедуры:
Arc(x,y:integer,a,b,R:integer);
где x,y- центр окружности,a,b- начальный и конечный углы в градусах,R– радиус. Для задания углов используется полярная система координат. Цвет для вычерчивания устанавливается процедуройSetColor. В случаеa=0 иb=360, вычерчивается полная окружность. Например, выведем дугу красного цвета от 0 до 90° в уже вычерченной с помощью Circle(450, 100, 50) окружности:
SetColor(Red); Arc(450, 100, 0, 90, 50);
Для построения эллиптических дуг предназначена процедура:
Ellipse(x,y:integer,a,b,Rx,Ry:integer);
где x,y– центр эллипса,Rx,Ry -горизонтальная и вертикальная оси. В случаеa=0 иb=360 вычерчивается полный эллипс.
Например, построим голубой эллипс: SetColor (9); Ellipse (100, 100, 0, 360, 50, 50);
Фон внутри эллипса совпадает с фоном экрана. Чтобы создать закрашенный эллипс, используется специальная процедура:
FillEllipse (x,y:integer,Rx,Ry:integer);
Закраска эллипса осуществляется с помощью процедуры:
SetFillStyle(a,b:word);
где а– стиль закраски (таблица 4),b– цвет закраски (таблица 1).
Например, нарисуем ярко-красный эллипс, заполненный редкими точками зеленого цвета: SetFillStyle (WideDotFill,Green); { установка стиля заполнения} SetColor (12); {цвет вычерчивания эллипса} FillEllipse(300, 150, 50, 50);
Таблица 22.6
Стандартные стили заполнения
Константа |
Значение |
Маска |
1 |
2 |
3 |
EmptyFill |
0 |
Заполнение цветом фона |
SolidFill |
1 |
Заполнение текущим цветом |
LineFill |
2 |
Заполнение символами --, цвет – color |
LtslashFill |
3 |
Заполнение символами // нормальной толщины, цвет – color |
SlashFill |
4 |
Заполнение символами // удвоенной толщины, цвет – color |
BkslashFill |
5 |
Заполнение символами \\ удвоенной толщины, цвет – color |
LtbkSlahFill |
6 |
Заполнение символами \\ нормальной толщины, цвет – color |
HatchFill |
7 |
Заполнение вертикально-горизонтальной штриховкой тонкими линиями, цвет – color |
Окончание табл. 22.6 | ||
1 |
2 |
3 |
XhatchFill |
8 |
Заполнение штриховкой крест-накрест по диагонали «редкими» тонкими линиями, цвет – color |
InterLeaveFill |
9 |
Заполнение штриховкой крест-накрест по диагонали «частыми» тонкими линиями, цвет – color |
WideDotFill |
10 |
Заполнение «редкими» точками |
CloseDotFill |
11 |
Заполнение «частыми» точками |
UserFill |
12 |
Заполнение по определенной пользователем маске заполнения, цвет – color |
Для построения секторов можно использовать следующие процедуры:
PieSlice(x,y:integer,a,b,R:word);
которая рисует и заполняет сектор круга. Координаты x,y– центр окружности, сектор рисуется от начального углаaдо конечного углаb, а закрашивание происходит при использовании специальных процедур;
Sector(x,y:integer,a,b,Rx,Ry:word);
которая создает и заполняет сектор в эллипсе. Координаты x,y– центр,Rx,Ry– горизонтальный и вертикальный радиусы, и сектор вычерчивается от начального углаaдо конечного углаb.
Пример 22.9: SetFillStyle (10, 10); {установка стиля} SetColor (12); {цвет вычерчивания} PieSlice (100, 100, 0, 90, 50);Пример 22.10:SetFillStyle (11, 9); {установка стиля} SetColor (LightMagenta);{цвет вычерчивания} Sector (300, 150, 180, 135, 60, 70)