Foreversoft.ru

IT Справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Цвета в паскаль авс

лабы по информатике, егэ

лабораторные работы и задачи по программированию и информатике, егэ по информатике

Pascal: Занятие № 4 часть II. Графика в Паскале

Графика в Паскале

Для работы с графикой в pascal abc используется модуль GraphABC. Для его подключения используется следующий код:

uses GraphABC; begin . end.

Система координат в Паскале соответствует экранной системе координат и выглядит следующим образом:

Управление цветом

Для того, чтобы использовать цвет, необходимо применить этот цвет к инструменту перо:

  • SetPenColor(color) — устанавливает цвет пера, задаваемый параметром color;
  • setBrushColor(color) — устанавливает цвет кисти, задаваемый параметром color;
  • либо для палитры RGB: SetPenColor(rgb(0-255, 0-255, 0-255));

или использовать для заливки:

  • FloodFill(x,y,color) — заливает область одного цвета цветом color, начиная с точки (x,y).
  • После чего можно использовать процедуры для рисования геометрических фигур.

    clBlack – черный
    clPurple – фиолетовый
    clWhite – белый
    clMaroon – темно-красный
    clRed – красный
    clNavy – темно-синий
    clGreen – зеленый
    clBrown – коричневый
    clBlue – синий
    clSkyBlue – голубой
    clYellow – желтый
    clCream – кремовый
    clAqua – бирюзовый
    clOlive – оливковый
    clFuchsia – сиреневый
    clTeal – сине-зеленый
    clGray – темно-серый
    clLime – ярко-зеленый
    clMoneyGreen – цвет зеленых денег
    clLtGray – светло-серый
    clDkGray – темно-серый
    clMedGray – серый
    clSilver – серебряный

    Точки, отрезки и ломаные

    Для отображения точки в паскале используется процедура:

    SetPixel(x,y,color) — Закрашивает один пиксел с координатами (x,y) цветом color

    uses GraphABC; begin SetPixel(300,200,clred); end.

    Для рисования линии используется:

    Line(x1,y1,x2,y2) — рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2)

    uses GraphABC; begin SetPenColor(clgreen); line(100,50,500,250); end.

    Ломаные можно рисовать с помощью процедур MoveTo (x1, y1) и LineTo (x2, y2) .
    Процедуры работают в паре: MoveTo передвигает курсор в определенную точку, а процедура LineTo рисует линию с этой точки до точки, определенной параметром данной процедуры.

    uses GraphABC; begin . SetPenColor(clblue); MoveTo (x1, y1); LineTo (x2, y2); LineTo (x3, y3); LineTo (x4, y4); LineTo (x5, y5); end.

    Для установки размеров графического окна используется процедура

    SetWindowSize(ширина, высота)

    Рисование фигур

    uses GraphABC; begin Rectangle(50,50,200,200); end.

    uses GraphABC; begin Rectangle(50,50,200,200); FloodFill(100,100,clBlue); end.

    Line(x1,y1,x2,y2);
    LineTo(x,y);

    uses GraphABC; begin setpenwidth(20); setpencolor(clred); moveTo(300,100); lineTo(500,300); lineto(100,300); lineto(300,100); floodfill(300,200,clgreen); end.

    uses GraphABC; begin Circle(500,200,100); FloodFill(500,200,clred); end.

    uses GraphABC; Begin SetPenWidth(10); Arc(300,250,150,45,135); end.

    Функция random для использования окраски

    * раскрасить круги случайным цветом

    Нарисовать штриховку на Паскале можно, используя процедуры рисования прямоугольника и линии:

    Программа будет выглядеть следующим образом:

    uses graphABC; var i, x1, x2, y1, y2, N: integer; h, x: real; begin x1 := 100; y1 := 100; x2 := 300; y2 := 200; N := 10; Rectangle (x1, y1, x2, y2); h := (x2 — x1) / (N + 1); x := x1 + h; for i:=1 to N do begin Line(round(x), y1, round(x), y2); x := x + h; end; end.

    Анимация в Паскале

    Анимация в программировании заключается в том, что сначала рисуется фигура цветным инструментом, затем с тем же координатами рисуется та же фигура белым цветом. После чего происходит сдвиг фигуры и действия повторяются.

    uses GraphABC; var x:integer; begin x:=40; repeat SetPenColor(clWhite); Circle(x,100,10); <Рисуем белую окружность>SetPenColor(clBlack); Circle(x,100,10); <Рисуем черную окружность>x:=x+1 <Перемещаемся немного направо>until x>600; end.

    Линии в Pascal: Line, LineTo, MoveTo

    На предыдущих страницах мы говорили об точках в Паскале: изучили процедуры GetPixel (определить цвет данного пикселя) и PutPixel, SetPixel (задать данному пикселю определенный цвет – там мы строили линии и не только с помощью точек). Здесь рассмотрим одни из наиболее важных процедур в графике Паскаля – построение линий Line, LineTo и вспомогательная для последней MoveTo.

    Читать еще:  Скачать музыку с вк безопасно

    Так чем же отличаются Line и LineTo, и зачем нужна загадочная MoveTo?

    ✎ Line(x1, y1, x2, y2) — Эта процедура соединяет отрезком точки (x1, y1) и (x2, y2).

    Теперь немного разукрасим отрезок и увеличим его толщину, так как в предыдущем примере по умолчанию цвет черный, а толщина линии 1 пиксель:

    Ниже представлены примеры программ случайных появляющихся отрезков в PascalABC.Net и Turbo Pascal/Free Pascal:

    ✎ Line(x1, y1, x2, y2, C) – Проводит отрезок от точки (x1, y1) до точки (x2, y2), закрашивая отрезок цветом C. Есть только в PascalABC.Net. Толщина линии при этом равна 1 пиксель и её изменить нельзя.

    ✎ MoveTo(x, y) – Устанавливает начальную точку (позицию) рисования в (x, y). Если эту процедуру не задействовать, то начальная точка по умолчанию принимается за (0, 0) – левый верхний угол окна. Процедура MoveTo используется совместно с LineTo (см. ниже).

    ✎ LineTo(x, y) – Рисует отрезок от точки, в которой на данный момент находится конец отрезка (текущая позиция), до точки (x, y); начальная позиция задается с помощью MoveTo (см. выше), а новая позиция переходит в точку (x, y). Данная процедура задействуется при построении последовательной цепочки линий (отрезков) – когда конец каждой линии является одновременно началом следующей.

    А как нарисовать звезду в паскале? Ниже представлен пример программы для рисования звезды в PascalABC.Net с указанным количеством концов. Все комментарии с в коде:

    Результат выполнения программы представлен на рисунке:

    Результат выполнения программы представлен на рисунке:

    ✎ LineTo(x, y, C) — Рисует отрезок от точки, в которой на данный момент находится конец отрезка (текущая позиция), до точки (x, y) цветом C. Начальная позиция задается с помощью MoveTo, а новая позиция переходит в точку (x, y). Толщина линии при этом равна 1 пиксель.

    LineTo(x, y) действует следующим образом. Пусть необходимо построить ломаную с вершинами в 10 точках (x, y), (x1, y1), (x2, y2), . (x9, y9). Для этого, естественно, можно использовать описанную выше процедуру Line(. ) и построить следующую последовательность линий:

    1) Line(x0, y0, x1, y1) ; 2) Line(x1, y1, x2, y2) ; 3) Line(x2, y2, x3, y3) ; . ; 9) Line(x8, y8, x9, y9) .

    Но в таком случае точки (x1, y1), (x2, y2), . (x8, y8) будут строится два раза – в конце предыдущего и начале следующего отрезков. Здесь можно проще поступить: процедурой MoveTo(x0, y0) задаем начальную точку ломаной линии, а после 9 раз используем процедуру LineTo:

    1) LineTo(x1, y1) ; 2) LineTo(x2, y2) ; 3) LineTo(x3, y3) ; . 9) LineTo(x9, y9) .

    И проще выглядит и результат тот же. Наиболее частое использование процедуры LineTo — при построении графиков фукнций, особенно, если точек построения мало.

    На этом все о линиях в паскале. А пока, если вам понадобится длительное хранение зерна, то вам не обойтись без сушильного шкафа от экан — он сохраненяет питательные вещества и соответствует стандарту ГОСТ.

    Урок информатики на тему «Графические возможности языка программирования Pascal ABC»

    Тип урока: комбинированный урок

    Читать еще:  Паскаль выход из цикла

    Цели урока:

    • Обучающие:
      • отработать умений и навыков по теме алгоритмизация и программирование;
      • закрепить знания по основам алгоритмизации и графическим возможностям программы Pascal ABC.
    • Развивающие:
      • развивать умения анализировать, сравнивать, систематизировать и обобщать;
      • развивать логическое мышление обучающихся, стремление к расширению кругозора;
    • Воспитывающие:
      • воспитание информационной культуры, внимания, усидчивости.

    Оборудование: интерактивная доска, проектор, карточки-задания, презентация

    План урока:

    1. Организационный момент – 3 мин.
    2. Актуализация ЗУНов – 7 мин.
    3. Подготовка к изучению нового материала – 3 мин.
    4. Объяснение нового материала – 12 мин.
    5. Практическая работа (закрепление изученного материала) – 15 мин.
    6. Подведение итогов урока – 4 мин.
    7. Домашнее задание – 1 мин.

    I. Организационный момент

    Приветствие ребят! Проверка присутствующих и готовность их к уроку!

    II. Актуализация ЗУНов

    Работа по карточкам

    I вариант:

    1) Переведите выражение из обычной записи в линейную:

    2) Переведите выражение из линейной записи в обычную математическую:

    3) Напишите программу нахождения значения выражения на языке программирования Pascal ABC:

    II вариант:

    1) Переведите выражение из обычной записи в линейную:

    2) Переведите выражение из линейной записи в обычную математическую:

    3) Напишите программу нахождения значения выражения на языке программирования Pascal ABC:

    III вариант:

    1) Переведите выражение из обычной записи в линейную:

    2) Переведите выражение из линейной записи в обычную математическую:

    3) Напишите программу нахождения значения выражения на языке программирования Pascal ABC:

    III. Подготовка к изучению нового материала

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

    Вопросы:

    1. Команда начала программы Pascal
    2. Оператор вывода информации на экран
    3. Оператор ввода информации на экран
    4. Команда, рисующая эллипс на экране
    5. Команда, устанавливающая цвет кисти
    6. Команда, рисующая отрезок на экране
    7. Команда, рисующая на экране прямоугольник
    8. Команда, рисующая на экране дугу окружности

    Ключевое слово GRAPHICA.

    Тема нашего урока: «Графические возможности языка программирования Pascal ABC»

    IV. Объяснение нового материала

    Компьютерная графика в Паскале – область информатики, изучающая методы и свойства обработки изображений с помощью программно-аппаратных средств.
    Представление данных на компьютере в графическом виде впервые было реализовано в середине 50-х годов. Сначала, графика применялась в научно-военных целях.
    Построение графических изображений в Паскале, исследование графиков функций, одной из важных и интересных тем программирования.
    Обычно экран компьютера находится в символьном режиме, а для переключения экрана в графический режим необходимо подключение модуля graphABC. В результате этого, экран очищается и переходит в цветной графический режим.
    При работе в графическом режиме изображение на экране строится из точек (пиксель). Каждый пиксель на экране имеет координаты (X,Y), которые образуются номерами столбцов (Х) и строк (Y). Нумерация начинается в верхнем левом углу. Именно в этом углу расположен пиксель с координатами (0,0). Координата Х растет вправо, координата Y – вниз.

    Любая графическая картинка формируется из простых геометрических фигур. Это точки, отрезки (линии), прямоугольники, окружности и т.д. Графические координаты принимают только целочисленные значения.
    Рисование различных геометрических фигур осуществляется с помощью специальных стандартных команд (процедур). Команды для работы в графическом режиме хранятся в библиотечном модуле GraphAbc, который описывается в разделе описаний с помощью зарезервированного слова Uses. В модуле GraphAbc с помощью команды setwindowsize(X,Y) можно задавать размеры графического окна.
    По умолчанию графическое окно будет принимать размеры экрана компьютера.

    Стандартные цвета с задаются символическими константами:

    Читать еще:  Как выучить паскаль с нуля самому
    clBlackчерныйclYellowжелтый
    clWhiteбелыйclNavyтемно-синий
    clRedкрасныйclMaroonтемно-красный
    clGreenзеленыйclPurpleфиолетовый
    clBrownкоричневыйclCreamкремовый
    clBlueсинийclAquaбирюзовый
    clSkyBlueголубойclOliveоливковый
    clFuchsiaсиреневыйclTealсине-зеленый
    clGrayтемно-серыйclMedGrayсерый
    clLimeярко-зеленыйclSilverсеребряный

    Процедура Line(x1,y1,x2,y2) вычерчивает прямую линию из точки (х1,y1) в точку (x2,y2) цветом установленным процедурой SetPenColor(c).
    Процедура Rectangle(x1,y1,x2,y2) рисует прямоугольник, где (х1,y1) координаты верхней левой точки, а (х2,y2) – правой нижней.
    Процедура FillRect(x1,y1,x2,y2: integer) – заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти.
    Процедура Сircle(x,y,r) рисует окружность с центром в точке (х,y) и радиусом r.
    Закрасить замкнутую фигуру можно с помощью процедуры FloodFill(х,у,c), (х,у) – координата точки внутренней области фигуры, c – цвет заливки.
    Процедура СlearWindow(color) устанавливает цвет графического окна. Закрасить прямоугольник и круг можно, используя команду закраски кистью SetBrushColor (color).

    Процедуры для ввода текста:

    TextOut(x,y: integer; s: string) – выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s);
    SetFontSize(size: integer) – устанавливает размер текущего шрифта в пикселях;
    SetFontColor(c: Color) – устанавливает цвет текущего шрифта;
    SetFontStyle(fs: integer) – устанавливает стиль текущего шрифта.

    А теперь попробуем нарисовать домик вместе.

    Пример программы рисования домика:

    (преподаватель демонстрирует и объясняет, а обучающиеся повторяют каждую строчку)

    Program dom;

    Uses graphABC;
    Begin

    line(100,100,150,50);
    line(150,50,200,100);
    line(200,100,100,100);
    floodfill(120,90,clgreen);

    SetBrushcolor(clred);
    textOut(150,110,’Дом’);
    end.«название программы (комментарий)»
    – переключаем экран в графический режим
    – команда начала программы
    «рисуем крышу»
    – рисуем линию с координатами (100,100,150,50)
    – рисуем линию с координатами (150,50,200,100)
    – рисуем линию с координатами (150,50,200,100)
    – заливаем область крыши зеленым цветом
    «рисуем фасад дома»
    – устанавливаем цвет кисти красный
    – рисуем прямоугольник с координатами(115,100,185,150)
    «рисуем окно»
    – устанавливаем цвет кисти синий
    – рисуем окружность с координатами (150,75,5)
    «рисуем дверь»
    – устанавливаем цвет кисти темно-серый
    – рисуем прямоугольник с координатами(125,120,140,140)
    «пишем текст»
    – устанавливаем цвет кисти красный
    – выводим текст «дом» на месте координат (150,110)
    – конец программы

    Измените размер домика и поменяйте цвета самостоятельно.

    V. Практическая работа (закрепление изученного материала)

    Напишите программу, рисующую снеговика и закрасьте его.

    Какие процедуры вам для этого понадобятся?

    Пример программы, рисующую снеговика.

    Program snegovik;
    uses graphABC;
    begin
    FloodFill(50, 80, clYellow);
    ellipse(120, 350, 280, 480);
    circle(200, 300, 60);
    circle(200, 210, 40);
    line(170, 120, 230, 120);
    line(160, 180, 240, 180);
    line(170, 120, 160, 180);
    line(230, 120, 240, 180);
    floodfill(200, 173, clblack);
    floodfill(200, 123, clblack);
    setbrushcolor(clblack);
    circle(190, 200, 5);
    circle(210, 200, 5);
    line(200, 210, 220, 220);
    line(200, 220, 220, 220);
    line(200, 210, 200, 220);
    floodfill(204, 214, clblack);
    setpenwidth(5);
    line(210, 230, 190, 230);
    line(70, 320, 170, 250);
    line(230, 250, 330, 300);
    line(327, 450, 327, 200);
    circle(200, 265, 10);
    circle(200, 300, 10);
    circle(200, 338, 10);
    circle(200, 390, 10);
    circle(200, 428, 10);
    circle(200, 460, 10);
    end.

    VI. Подведение итогов урока

    • Как переключить программу Pascal ABC из символьного режима в графический?
    • С помощью каких процедур можно получить высвечивание точки на экране, рисования линий, прямоугольников, окружностей?
    • Какая процедура позволяет закрашивать фигуры?
    • Какие цвета вы использовали? (Назовите на английском языке)

    VII. Домашнее задание

    Написать в тетради программу, рисующую новогоднюю ёлку.

    Ссылка на основную публикацию
    Adblock
    detector