Как сделать координатную плоскость в паскале

Добавил пользователь Валентин П.
Обновлено: 05.10.2024

Данная разработка предназначена для учащихся 7-9 классов, изучающих программирование на языке Паскаль. Уроки позволят освоить элементы графики и анимации в ПаскальАВС. Процесс создания графики вызывает у учащихся особый интерес. Подобные уроки формируют у учащихся пространственное воображение, умение работать с координатной плоскостью, развиваются навыки программирования, а также способствуют развитию воображения и логического мышления, формированию чувства композиции и художественно-графических умений, навыков конструирования и проектирования, приобщению к творческому процессу и развитию терпения и трудолюбия.

ВложениеРазмер
Графика_Точка_Линия_Ломанная линия 1.4 МБ
Графика_Прямоугольник_Треугольник 428.26 КБ
Анимация 171.46 КБ

Предварительный просмотр:

Предварительный просмотр:

Урок 2 . Рисование фигур. Окраска фигур.

Цель : закрепление и систематизация знаний и умений учащихся при работе с графикой в Паскаль АВС.

развивающие - развитие приемов умственной деятельности, формирование и развитие функционального мышления учащихся, развитие познавательных потребностей учащихся, создание условий для приобретения опыта работы учащихся в среде ИКТ;

воспитательные - развитие познавательного интереса учащихся, основ коммуникативного общения, уверенности в собственных силах.

Тип урока : закрепления знаний.

Формы работы : фронтальная, индивидуальная.

Методы работы : частично-поисковый, репродуктивный.

Оборудование урока : ПК, мультимедийный проектор

Требования к результатам усвоения учебного материала.

Ученики должны знать:- язык программирования PascalАВС

- особенности работы в графическом режиме GraphАВС;

- стандартные процедуры и функции модуля GraphАВС;

- графические операторы языка программирования

Ученики должны уметь:

- строить элементарные изображения;

- работать в графическом режиме;

- правильно применять стандартные процедуры и функции модуля GraphАВС;

- применять базовые алгоритмические структуры при программировании

-производить необходимые действия с программой;

Прямоугольник в Паскале рисуется:

 Rectangle(x1,y1,x2,y2) — рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2) .

Фигуры с заливкой:

Треугольник рисуется процедурами:

Окружность можно нарисовать с помощью процедуры:

 Circle(x,y,r) — рисует окружность с центром в точке (x,y) и радиусом r .

 Arc(x,y,r,a1,a2) — Рисует дугу окружности с центром в точке (x,y) и радиусом r , заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки) .

Ф УНКЦИЯ RANDOM ДЛЯ ИСПОЛЬЗОВАНИЯ ОКРАСКИ

 SetPenColor(rgb(random(256), random(256), random(256))); — выбирает случайное число из 256-цветной палитры для красного, зеленого и синего.

Задание 3: Нарисовать горизонтальный ряд окружностей радиусом 10 на расстоянии 100 от верхнего края экрана и с такими горизонтальными координатами 50, 80, 110, 140, … , 290.

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

Задание 5:
Воспроизвести изображение при помощи программы:

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

uses Graphabc; //подключение модуля GraphABC

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 ) ; //труба

Рисунок в PascalABC

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

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 ) ; //рисуем закрашенный прямоугольник

Circle ( 205 , 150 , 10 ) ;

Circle ( 245 , 150 , 10 ) ;

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

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

Сформулируем условие выполнения циклических действий для нашей задачи.

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

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

Переменной цикла x присвоить начальное значение 100. Пока x

Самостоятельно составить программу.

Предварительный просмотр:

Урок 3. Анимация в Паскале

Цель: Изучить построение анимации в Паскаль

Закрепить знания детей об алгоритме построения анимации.

  • Понимать: Структуру построения программного кода.
  • Знать: Порядок и алгоритм анимированния объекта.
  • Уметь: Анимировать графические объекты.
  • Исследовать: Возможность сокращения длины алгоритма.

Задачи воспитания : Воспитать трудолюбие, самостоятельность, культуру речи, и общения.

Задачи развития: Развивать мышление, память, речь и другие психические процессы.

Тип урока: Формирование новых знаний и их закрепление.

Оборудование: Компьютеры, интерактивная доска, проектор, презентация.

Методы обучения: Иллюстративно-обьяснительный

Оборудование урока : ПК, мультимедийный проектор,язык программирования Паскаль АВС.

Как на языке программирования Паскаль АВС создать простейшую анимацию - иллюзию движения?

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

В этом уроке будет показано, как можно создать анимированное изображение с помощью модуля GraphABC.

Пример: Воспроизвести движение круга по горизонтали.

Circle ( x , 100 , 10 ) ;

Circle ( x , 100 , 10 ) ;

Теперь рассмотрим пример: создать движение нескольких (примитивных) фигур по заданной траектории.

Без чего мы обойтись не сможем, не сможем мы обойтись без нескольких инструментов:

Рисование средствами PascalABC происходит очень медленно. Пока оно идет, картинка на экране успевает много раз обновиться. Отсюда мерцание. То есть, мы видим не окончательную картинку, а процесс ее рисования. Окончательную картинку в общем-то не видим — как только она построилась, мы ее тут же стираем и начинаем новый цикл рисования. Для борьбы с этим эффектом придумали двойную буферизацию. Идея в том, чтобы сначала построить картинку в памяти (не выводя на экран), а затем отобразить новый кадр на экране целиком, без промежуточных вариантов, где не хватает половины лучиков. Для этого в начале программы вызываем процедуру LockDrawing.

Процедура ClearWindow (color);

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

После этого все команды рисования будут создавать картинку в памяти (в так называемом вторичном буфере). Непосредственно на экране ничего рисоваться не будет. После того, как очередной кадр анимации полностью отрисован (то есть перед ClearWindow), нужно вызвать процедуру Redraw;

Эта процедура вызовет перерисовку всей картины.

Нарисуем сначала четыре окружности.

SetWindowSize ( 400 , 400 ); //Размер окна

//Отрисовка четырех окружностей.

Circle ( 100 , 100 , 20 );

Circle ( 300 , 100 , 20 );

Circle ( 100 , 300 , 20 );

Circle ( 300 , 300 , 20 );

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

SetWindowSize ( 400 , 400 );

//Движение от первой точки до второй

for i := 100 to 300 do

Circle ( 100 , 100 , 20 );

Circle ( 300 , 100 , 20 );

Circle ( 100 , 300 , 20 );

Circle ( 300 , 300 , 20 );

Circle ( i , 100 , 20 );

//Движение от второй точки до третьей

for i := 100 to 300 do

Circle ( 100 , 100 , 20 );

Circle ( 300 , 100 , 20 );

Circle ( 100 , 300 , 20 );

Circle ( 300 , 300 , 20 );

Circle ( 300 , i , 20 );

//Движение от третьей точки до четвертой

for i := 300 downto 100 do

Circle ( 100 , 100 , 20 );

Circle ( 300 , 100 , 20 );

Circle ( 100 , 300 , 20 );

Circle ( 300 , 300 , 20 );

Circle ( i , 300 , 20 );

//Движение от четвертой точки до первой

for i := 300 downto 100 do

Circle ( 100 , 100 , 20 );

Circle ( 300 , 100 , 20 );

Circle ( 100 , 300 , 20 );

Circle ( 300 , 300 , 20 );

Circle ( 100 , i , 20 );

Задание 6: Выполнить анимацию движения квадрата по следующей траектории:

Задача №7 Создать проезжающий грузовик

По теме: методические разработки, презентации и конспекты

Презентация "Эффекты анимации"

Презентацию можно использовать для демонстрации эффектов анимации, используемых в MS Power Point.

Эффекты анимации

Описывает технологию создания анимации в программе Macromedia Flash.


Основы языка программирования .Паскаль

Разработка урока предусматривающая работу в Паскале.

Введение в Паскаль

Материал предназначен для студентов 1 курса.


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


Графика и анимация в Паскаль АВС

Данная разработка предназначена для учащихся 7-9 классов, изучающих программирование на языке Паскаль.Уроки позволят освоить элементы графики и анимации в ПаскальАВС. Процесс создания графики вызывает.


Памятка Треугольник Паскаля

Материал для проведения расчетов по математике на тему Треугольник Паскаля.

Всем Привет.
Если кто может подкиньте идею как лучше решить вот такую задачку:
Вводятся координаты точек А и В
(Xa; Ya) и (Xb; Yb)
Определить количество точек попавших в прямоугольную область,
ограниченную точками А и В.
Вывести количество найденных точек и их координаты. И ещё, точки вводятся с клавиатуры
и всё решение происходит не в графическом режиме. Заранее спасибо!

[COLOR="Red"]Глухих и слепых на форуме нет. Используй нормальный размер шрифта, а красный цвет вообще лучше не трогать.[/COLOR] / модератор /


Задания Д24 C1 № 2801

Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y — действительные числа) и определяет принадлежность точки заштрихованной области, включая её границы. Программист торопился и написал программу неправильно.

Си++Алгоритмический


Последовательно выполните следующее.

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D, E, F, G и H).

Точки, лежащие на границах областей, отдельно не рассматривать. В столбцах условий укажите "да", если условие выполнится, "нет", если условие не выполнится, "—" (прочерк), если условие не будет проверяться, "не изв.", если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите "не изв". В последнем столбце укажите "да" или "нет".

2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)

(y if (x*x+y*y>=4) and (x>= –2) and (y =0) then

(могут быть и другие способы доработки).


Задания Д24 C1 № 3597

Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (х, у — действительные числа) и определяет принадлежность точки заштрихованной области. Программист торопился и написал программу неправильно.

if x*x+y*y >= 4 then

IF x*x+y*y >= 4 THEN

если x*x+y*y >= 4 то

Последовательно выполните следующее:

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D, E, F, G и H).

Точки, лежащие на границах областей, отдельно не рассматривать. В столбцах условий укажите "да", если условие выполнится, "нет", если условие не выполнится, "—" (прочерк), если условие не будет проверяться, "не изв.", если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите "не изв". В последнем столбце укажите "да" или "нет".

2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)

(у if (х * х + у * у >= 4) and (у >= −2) and (у

(могут быть и другие способы доработки).


Задания Д24 C1 № 3629

Требовалось написать программу, при выполнении которой с клавиатуры считываются координаты точки на плоскости (x, y – действительные числа) и определяется принадлежность этой точки заданной закрашенной области (включая границы). Программист торопился и написал программу неправильно.

using namespace std;

Последовательно выполните следующее.

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D, E, F, G и H).

Точки, лежащие на границах областей, отдельно не рассматривать. В столбцах условий укажите "да", если условие выполнится, "нет", если условие не выполнится, "—" (прочерк), если условие не будет проверяться, "не изв.", если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите "не изв". В последнем столбце укажите "да" или "нет".

2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)

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

Расстояние между двумя точками на плоскости

Формула расстояния между двумя точками на плоскости

Далее пишем программу:

Информатика. 10 класс. Базовый уровень. (Семакин И. Г., Хеннер Е. К., Шеина Т. Ю.)
Работа 3.1, Уровень 1, Задача №2

При работе с графическим окном нужно учитывать две особенности. Во-первых, начало координат – точка (0, 0) – находится не где-то посредине окна, а в левом верхнем углу. Вторая особенность связана с первой: положительное направление оси OY показывает не вверх, а вниз (OX направлена вправо). Как мы видим, система координат в графическом окне Pascal отлична от той, к которой мы привыкли в математике – т.н. правой системе координат, в которой ось OX направлена вправо, ось OY – вверх, а начало координат, как правило, всегда стоит где-то посредине окна. И к этой особенности надо привыкать.

systema coorditat v graphicheskom okne

standartnoe preobrazovanie

preobrazovanie coordinat v pascale

В результате последних преобразований вышеуказанная система координат будет иметь следующий вид:

sistema coorninat posle preobrazovaniya

Как мы видим, здесь начало координат перемещено в центр графического окна, а ось OY направлена вверх. В результате этого стали доступны не только положительные координаты, но также отрицательные.

TextOut(x,y,s) – Вывод текста в графическое окно. При этом текст (строка s) записывается в прямоугольную область таким образом, что точка с координатами (x, y) находится в левом верхнем углу первой буквы;

Line(x1,y1,x2,y2) – Проводит отрезок от точки (x1, y1) до точки (x2, y2);

Circle(x,y,r) – Рисует окружность с центром (x, y) и радиусом r.

Здесь необходимо сделать некоторые пояснения:

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

Графики функций в паскале

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

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

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

border system coordinate

Итак, отложим по оси ОХ числа от a до b с интервалом dx, по оси OY – числа от fmin до fmax с разницей dy; причем обязательные условия: a≤0, b≥0, fmin≤0, fmax≥0. Для правильного отображения засечек на осях необходимо также, чтобы dx было делителем a и b, а dy было делителем fmin и fmax, и эти числа придется выбирать самостоятельно для каждого интервала. Но сначала нам придется познакомиться с таким понятием как масштаб системы координат в графическом окне паскаля. Что такое масштаб?

coordinate point

График функции будем строить по точкам, используя процедуру SetPixel(x, y, c), где x, y – координаты точки в графическом окне паскаля, c – цвет точки. Для рисования осей координат ОХ и OY воспользуемся процедурой Line(x1, y1, x2, y2), где (x1; y1) – координаты начальной точки, (x2; y2) – координаты конечной.

Итак, запустив программу, вы должны увидеть следующее:

graphic func

Если все сделано правильно, вы должны увидеть такой график функции:

graphic turbopascal

Вообще, построение графиков – это одно из постейших заданий, с которым может столкнуться программист на практике. Наиболее сложным вариантом есть применение графики в создании игр, таких, как европейская рулетка. Если вы захотите играть в европейскую рулетку, то реалистичная графика игры первой бросается в глаза.

Простейший игровой автомат – это обычная игра, но с использованием функции Random(N), возвращающей случайное число от 0 до N-1. Это значит, что нажимая на кнопки, выбирая разные фишки, бросая кубики, шарики и т.п. каждый раз вы будете получать случайный результат, так как функция Random генерирует случайные числа с привязкой к текущему времени. Также в играх подобного типа обязательное использование таймера для создания плавности перехода. Позже в этом разделе мы напишем небольшие игры и посмотрим, как это работает.

Работа с графикой в PascalABC

kotik 1

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

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

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

Подключение осуществляется в разделе описаний.
Формат подключения модуля GraphABC:Uses GraphABC;

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

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

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

10

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

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

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

Подключение осуществляется в разделе описаний.
Формат подключения модуля GraphABC:Uses GraphABC;

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

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

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

11

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

12

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

13

Цвета в PascalABC

14

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

domik

Рисунок в PascalABC

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

figurka

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

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

domok 21

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

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

poselok

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

Отличное подспорье в подготовке к уроку. Спасибо

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

Спасибо! Доступно и методически грамотно изложено.

Спасибо большое! Просто и доступно!

Прекрасно и доходчиво изложен материал.Очень мне помог.Спасибо

Давно пользуюсь Вашими разработками. Большое спасибо.
Ищу урок о преобразовании компьютерной системы координат в математическую в PascalABC.
Для Visual Basic у Вас такой урок есть.

Читайте также: