Реферат Курсовая Конспект
Графические построения - раздел Программирование, ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ СТРУКТУРЫ При Построении Графических Изображений Вы Использовали Только Одну Из Известн...
|
При построении графических изображений Вы использовали только одну из известных Вам алгоритмических структур (СЛЕДОВАНИЕ). Освоение других структур позволяет использовать их для получения сложных графических изображений.
Рассматривая некоторое изображение в виде совокупности одноименных объектов (точек, отрезков и т.д.), можно прийти к пониманию возможности использования для получения всего изображения алгоритмической структуры ПОВТОРЕНИЕ.
Примеры программ:
Пример 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. Напишите программу, которая по желанию пользователя выведет на экран изображение равнобедренного, равностороннего или разностороннего треугольника, квадрата, прямоугольника, параллелограмма или ромба.
– Конец работы –
Эта тема принадлежит разделу:
Условный оператор... Если в процессе вычислительной работы появляется более одного направления хода... При решении задач в системе ИнтАл Вы использовали две формы записи команды ветвления сокращенную и полную Аналогично...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Графические построения
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов