рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Графические построения

Графические построения - раздел Программирование, ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ СТРУКТУРЫ При Построении Графических Изображений Вы Использовали Только Одну Из Известн...

При построении графических изображений Вы использовали только одну из известных Вам алгоритмических структур (СЛЕДОВАНИЕ). Освоение других структур позволяет использовать их для получения сложных графических изображений.

Рассматривая некоторое изображение в виде совокупности одноименных объектов (точек, отрезков и т.д.), можно прийти к пониманию возможности использования для получения всего изображения алгоритмической структуры ПОВТОРЕНИЕ.

Примеры программ:

Пример 1. Получение изображения отрезка прямой. Пусть требуется получить изображение горизонтального отрезка с началом в точке (0, 240). Будем рассматривать отрезок как совокупность точек, и использовать для получения изображения отрезка процедуру PutPixel. Поместим ее в тело цикла с параметром For. Таким образом получим изображение 640 точек с координатами (k, 240) при k=0, 1, 2, 3, …, 639; в результате соседние пиксели сольются в горизонтальный отрезок. Program PUT_LINE; Uses Graph ; Var a, b, k : Integer ; Begin a:=Detect ; InitGraph (a, b, '') ; {горизонтальная прямая} For k:=0 To 639 do PutPixel (k, 240, 14) ; {14 – желтый цвет} Readln ; CloseGraph End.
Пример 2. Получение изображения семи параллельных отрезков равной длины. 0 100 500 639     Требуемое изображение можно рассматривать как совокупность отрезков. Концы отрезков: (100, y), (500, y), где y=50; 90; …; 290; значение y изменяется с шагом 40. Таким образом, можно организовать цикл While с условием выполнения цикла y ≤ 290. В цикле будем использовать процедуру вывода отрезка прямой и изменение значения y на 40 (величину шага). Эта идея реализована в программе LINE7_1 (метод 1). Возможно также использование цикла с параметром For, где параметр цикла (например, переменная k) указывает количество полученных изображений отрезка: k = 1, 2, …, 7. Тело цикла имеет такой же вид, как и в методе 1. Данная идея реализована в программе LINE7_2. Program LINE7_1; {метод 1} Uses Graph ; Var a, b, y: Integer ; Begin a:=Detect; InitGraph (a, b, ''); y:=50; While y<=290 Do Begin Line (100, y, 500, y); y:=y+40 End; Readln; CloseGraph End.
Program LINE7_2; {метод 2} Uses Graph ; Var a, b, k, y: Integer ; Begin a:=Detect; InitGraph (a, b, ''); y:=50; For k:=1 to 7 do Begin Line (100, y, 500, y); y:=y+40 End; Readln; CloseGraph End.
Пример 3. Использование счетчика случайных чисел позволяет получать случайно расположенные на экране изображения. Покажем это на примере программы вывода на экран заданного количества случайно расположенных точек: 1) программа предлагает ввести количество требуемых точек (N); 2) случайным образом формирует координаты точки 0 ≤ x ≤ 639, 0 ≤ y ≤ 479 и цвет точки 1 ≤ C ≤ 15; 3) изображает точку на экране, замедляя на миллисекунды процесс перехода к получению изображения следующей точки (регулирует скорость рисования). Переменная k – параметр цикла (счетчик), целочисленная переменная, которая используется для подсчета количества выводимых точек. Program STARS; {Звездное небо} Uses Crt, Graph ; Var a, b, N, k, x, y, C: Integer ; Begin ClrScr; Write ('Количество точек='); Readln (N); Randomize; a:=Detect; InitGraph (a, b, ''); For k:=1 To N do Begin x:= Random (640); y:= Random (480); C:= Random (15)+1; PutPixel (x, y, C); Delay (1000) End; Readln; CloseGraph End.
Пример 4. Программа закраски прямоугольника различными цветами: смена цвета должна осуществляться после нажатия на клавишу “Enter”. Пример основан на выполнении многократных действий: получение изображения прямоугольника, заполненного некоторым цветом. Пусть i – номер цвета заполнения; i = 0, 1, 2, …, 15. Таким образом, уместно использование цикла For. В цикле следует задать стиль заполнения области (1 – сплошной текущий цвет) и изобразить закрашенный прямоугольник, например, с диагональными точками (220, 200), (450, 300). Program BAR_16; Uses Graph ; Var a, b, i : Integer ; Begin a:=Detect ; InitGraph (a, b, '') ; For i:=0 To 15 do Begin SetFillStyle (1, i); Bar (220, 200, 450, 300); Readln End; CloseGraph End.

Возможность выбора построения того или иного изображения, представленная в алгоритме (и соответственно, в программе) в виде некоторой вариативности, обеспечивается использованием алгоритмической структуры ВЕТВЛЕНИЕ.

Примеры программ:

Пример 5. Написать программу, которая по желанию пользователя выведет на экран изображение треугольника или прямоугольника.
Пусть Р – переменная, по значению которой пользователь будет принимать решение о выводе требуемого изображения: треугольника (при Р = 1) или прямоугольника (при Р ≠ 1). 0 180 240 320 400 480 639     Будем получать изображение треугольника с вершинами в точках (240, 70), (400, 370), (180, 300), а прямоугольника – в диагональных точках (240, 70) и (480, 300). Program TRE_PR; Uses Graph ; Var a, b : Integer ; P : Byte ; Begin Writeln ('Сделайте выбор:') ; Writeln ('1 - треугольник') ; Writeln ('не 1 - прямоугольник'); Readln (P); a:=Detect; InitGraph (a, b, ''); If P=1 Then Begin Line (240, 70, 400, 370); Line (400, 370, 180, 300); Line (180, 300, 240, 70) End Else Rectangle (240,70,480,300); Readln; CloseGraph End.

1. Напишите программы получения изображений:

1) десяти параллельных вертикальных отрезков равной длины; 2) шахматной доски;

3) пешеходного перехода; 4) случайного количества случайно расположенных окружностей (треугольников, отрезков).

2. С клавиатуры задаются значения двух переменных. Если они равны, выведите на экран изображение равнобедренного, иначе – разностороннего треугольника.

3. С клавиатуры задаются значения длин сторон параллелограмма. Если они равны, выведите на экран изображение квадрата, иначе – прямоугольника.

4. Напишите программу закраски произвольного треугольника различными цветами (смена цвета должна осуществляться после нажатия на клавишу “Enter”).

* 5. Напишите программу, которая по желанию пользователя выведет на экран изображение равнобедренного, равностороннего или разностороннего треугольника, квадрата, прямоугольника, параллелограмма или ромба.

– Конец работы –

Эта тема принадлежит разделу:

ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ СТРУКТУРЫ

Условный оператор... Если в процессе вычислительной работы появляется более одного направления хода... При решении задач в системе ИнтАл Вы использовали две формы записи команды ветвления сокращенную и полную Аналогично...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Графические построения

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Алгоритмическая структура ВЕТВЛЕНИЕ
В языке Паскаль выделяются два класса операторов: простые и управляющие (структурные). Простой оператор не содержит в своей записи других операторов, а его выполнение не связано с анализом некоторы

Логические величины и выражения
Довольно часто на поставленный вопрос Вы получаете ответ «да» или «нет». Величины, которые могут принимать одно из двух значений «истина» (TRUE) или «ложь» (FALSE), называют логическими. Им соответ

Алгоритмическая структура ПОВТОРЕНИЕ
В системе программирования ИнтАл Вы познакомились с командами повторения, которые мы выделим в такие алгоритмические структуры: 20.1. ПОКА – цикл с предусловием (WHILE)

Смешанные алгоритмы
Для решения задач часто бывает необходимо организовать перебор нескольких значений переменных, что приводит к, так называемым, вложенным циклам. При этом каждый внутренний цикл

Программирование движущихся объектов
Выделим два подхода к решению задач моделирования движений средствами языка программирования: 1. «Нарисуй – сотри – и нарисуй в новом месте». Этот способ реализовать легко: нужно организов

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги