Нарисованный домик в паскале


  • Графическое изображение, созданное в PascalABCПосле запуска PascalABC, по умолчанию, запускается текстовый режим. Для работы с графикой служит отдельное графическое окно.

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

    С их помощью можно создавать разнообразные графические изображения и сопровождать их текстовыми надписями.

    Подключение осуществляется в разделе описаний.

    Формат подключения модуля GraphABC:

    Uses GraphABC;

    Графический экран PascalABC (по умолчанию) содержит 640 точек по горизонтали и 400 точек по вертикали. Начало отсчета – левый верхний угол экрана. Ось x направлена вправо, а ось y –вниз. Координаты исчисляются в пикселях.

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

    Управление графическим окном

    Управление графическим окном

    Управление графическим окном

    Процедуры рисования графических примитивов

    Процедуры рисования графических примитивов

    Процедуры, используемые для работы с цветом

    Процедуры для работы с цветом

    Процедуры для работы с текстом

    Процедуры для работы с текстом

    Цвета в PascalABC

    Цвета в PascalABC

    Пример графической программы, рисующей изображение дома:

    Program нарисованный домик в паскале Domik; uses Graphabc; //подключение модуля GraphABC begin SetWindowWidth(800); //ширина окна программы SetWindowHeight(600); //высота окна программы SetPenWidth(3); //толщина пера SetFontSize(18); //размер шрифта SetFontColor(clRed); //цвет шрифта SetFontStyle(fsBold); //жирный стиль шрифта TextOut(100,100,'Домик'); //текст Rectangle(200, 300, 600,600); //дом Circle(400,225, 40); //круг SetBrushColor(clAqua); //цвет заливки окна FillRect(300, 400,500,500); //процедура заливки окна rectangle(300,400,500,500); //окно Line(400,400,400,500); // окно Line(300,450,500,450); //окно Line(200,300,400,150); //крыша Line(400,150,600,300); //крыша Line(480,210,480,160); //труба Line(480,160,520,160); //труба Line(520,160,520,240); //труба end. Рисунок в PascalABC

    Рисунок в PascalABC

    Программа, рисующая фигурку:

    Program Figurka; uses GraphABC; begin SetWindowSize(500, 500); //задаем размер графического окна SetPenWidth(3); //устанавливаем стиль пера SetBrushColor(clFuchsia); //устанавливаем цвет кисти Circle(225,160,50); //рисуем окружность Line(225,160,225,180); //рисуем линии Line( 210,190,240,190); Line( 225,210,225,250); Line( 100,100,200,260); Line( 200,260,400,260); Line( 210,350,200,480); Line(240,350,250,480); Rectangle(200,230,250,350); //рисуем прямоугольник SetBrushColor(clLime); FillRect(0, 480,500,500); //рисуем закрашенный прямоугольник SetBrushColor(clWhite); Circle(205,150,10); Circle(245,150,10); end.

    Рисунок в PascalABC

    Практическая работа за компьютером

    Задание 1. Определите координаты и составьте программу, выводящую на экран рисунк  дома и дерева.

     

    domok-2

    Программа будет иметь вид:

    Program domik_2; uses GraphABC; var i: integer; паскале st:string; begin SetWindowSize(500, 500); {Коричневая стена} SetPenWidth(2); SetBrushColor(clBrown); FillRect(100,50,150,100); {Крыша желтого цвета} SetPenColor(clBrown); Line(125,25,80,75); Line(125,25,170,75); FloodFill(125, 30,clYellow); {Крона дерева} SetPenColor(clGreen); SetBrushColor(clGreen); Ellipse(100,150,150,200); {ствол дерева} SetBrushColor(clBrown); FillRect(120,200,130,230); end.

    Задание 2. Используя оператор цикла и введя переменную для пересчета координат по оси  x, постройте “поселок”, состоящий из 5 домов. Внесите соответствующие дополнения и изменения в предыдущую программу.

    Рисунок в PascalABC

    Весь наш “поселок” выстроился вдоль горизонтальной оси экрана – оси X. Построение рисунка начинается с левого верхнего угла стены первого дома – точки с координатами (100, 50). Координата Y не изменяется. Чтобы начать рисовать второй домик, нужно координату X увеличить на 150 (50 точек – ширина первого дома и 100 точек – расстояние между домиками).

    Выберем в качестве параметра цикла целочисленную переменную X.

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

    FillRect(x,50,x+50,100);

    Сформулируем условие выполнения цыклических действий для нашей задачи.Какие координаты имеет левый верхний угол пятого дома? Конечное значение выбранного нами параметра цикла x = 700. Тогда условие выполнения цикла записывается так: x<=700.

    Словесное описание алгоритма коротко можно записать так:

    Переменной цикла x присвоить начальное значение 100. Пока x<=700 выполнять серию действий “Нарисуй дом и дерево”, после каждого фрагмента рисунка увеличивать значение переменной цикла  на 150.

    Программа будет иметь вид:

    Program Domik; uses GraphABC; var i: integer; st:string; x:integer; begin SetWindowSize(800, 500); x:=100; While x<=700 do begin {Коричневая стена} SetPenWidth(2); SetBrushColor(clBrown); FillRect(x,50,x+50,100); {Крыша желтого цвета} SetPenColor(clBrown); Line(x+25,25,x-20,75); Line(x+25,25,x+70,75); FloodFill(x+25, 30,clYellow); {Крона дерева} SetPenColor(clGreen); SetBrushColor(clGreen); Ellipse(x,150,x+50,200); {ствол дерева} SetBrushColor(clBrown); FillRect(x+20,200,x+30,230); x:=x+150; end; end.

    Поделиться с друзьями



    Источник: http://gospodaretsva.com/rabota-s-grafikoj-v-pascalabc.html


    Поделись с друзьями



    Рекомендуем посмотреть ещё:


    Закрыть ... [X]

    Как нарисовать в паскале как в паскале нарисовать - Легкая выкройка длинного платья

    Нарисованный домик в паскале Нарисованный домик в паскале Нарисованный домик в паскале Нарисованный домик в паскале Нарисованный домик в паскале Нарисованный домик в паскале Нарисованный домик в паскале

    ШОКИРУЮЩИЕ НОВОСТИ