Как сделать граф в паскале
Pascal: Занятие № 4 часть II. Графика в Паскале
Графика в Паскале
Для работы с графикой в pascal abc используется модуль GraphABC. Для его подключения используется следующий код:
Система координат в Паскале соответствует экранной системе координат и выглядит следующим образом:
Управление цветом
Для того, чтобы использовать цвет, необходимо применить этот цвет к инструменту перо:
или использовать для заливки:
После чего можно использовать процедуры для рисования геометрических фигур.
clBlack – черный
clPurple – фиолетовый
clWhite – белый
clMaroon – темно-красный
clRed – красный
clNavy – темно-синий
clGreen – зеленый
clBrown – коричневый
clBlue – синий
clSkyBlue – голубой
clYellow – желтый
clCream – кремовый
clAqua – бирюзовый
clOlive – оливковый
clFuchsia – сиреневый
clTeal – сине-зеленый
clGray – темно-серый
clLime – ярко-зеленый
clMoneyGreen – цвет зеленых денег
clLtGray – светло-серый
clDkGray – темно-серый
clMedGray – серый
clSilver – серебряный
Точки, отрезки и ломаные
Для отображения точки в паскале используется процедура:
uses GraphABC; begin SetPixel(300,200,clred); end.
Для рисования линии используется:
uses GraphABC; begin SetPenColor(clgreen); line(100,50,500,250); end.
Для установки размеров графического окна используется процедура
Рисование фигур
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 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.
Работа с графикой в PascalABC
После запуска PascalABC, по умолчанию, запускается текстовый режим. Для работы с графикой служит отдельное графическое окно.
Чтобы его открыть, необходимо подключить модуль GraphABC. В этом модуле содержится набор процедур и функций, предназначенных для работы с графическим экраном, а также некоторые встроенные константы и переменные, которые могут быть использованы в программах с графикой.
С их помощью можно создавать разнообразные графические изображения и сопровождать их текстовыми надписями.
Подключение осуществляется в разделе описаний.
Формат подключения модуля GraphABC:Uses GraphABC;
Графический экран PascalABC (по умолчанию) содержит 640 точек по горизонтали и 400 точек по вертикали. Начало отсчета – левый верхний угол экрана. Ось x направлена вправо, а ось y –вниз. Координаты исчисляются в пикселях.
Все команды библиотеки GraphABC являются подпрограммами и описаны в виде процедур и функций. Для того, что бы команда выполнилась необходимо указать команду и задать значения параметров.
Управление графическим окном
После запуска PascalABC, по умолчанию, запускается текстовый режим. Для работы с графикой служит отдельное графическое окно.
Чтобы его открыть, необходимо подключить модуль GraphABC. В этом модуле содержится набор процедур и функций, предназначенных для работы с графическим экраном, а также некоторые встроенные константы и переменные, которые могут быть использованы в программах с графикой.
С их помощью можно создавать разнообразные графические изображения и сопровождать их текстовыми надписями.
Подключение осуществляется в разделе описаний.
Формат подключения модуля GraphABC:Uses GraphABC;
Графический экран PascalABC (по умолчанию) содержит 640 точек по горизонтали и 400 точек по вертикали. Начало отсчета – левый верхний угол экрана. Ось x направлена вправо, а ось y –вниз. Координаты исчисляются в пикселях.
Все команды библиотеки GraphABC являются подпрограммами и описаны в виде процедур и функций. Для того, что бы команда выполнилась необходимо указать команду и задать значения параметров.
Процедуры рисования графических примитивов
Процедуры, используемые для работы с цветом
Процедуры для работы с текстом
Цвета в PascalABC
Пример графической программы, рисующей изображение дома:
Рисунок в PascalABC
Программа, рисующая фигурку:
Практическая работа за компьютером
Задание 1. Определите координаты и составьте программу, выводящую на экран рисунок дома и дерева.
Программа будет иметь вид:
Задание 2. Используя оператор цикла и введя переменную для пересчета координат по оси x, постройте “поселок”, состоящий из 5 домов. Внесите соответствующие дополнения и изменения в предыдущую программу.
Весь наш «поселок» выстроился вдоль горизонтальной оси экрана — оси X. Построение рисунка начинается с левого верхнего угла стены первого дома — точки с координатами (100, 50). Координата Y не изменяется. Чтобы начать рисовать второй домик, нужно координату X увеличить на 150 (50 точек — ширина первого дома и 100 точек — расстояние между домиками).
Выберем в качестве параметра цикла целочисленную переменную X.
Для всех элементов нашего рисунка абсолютное значение координаты X заменим на относительное. Например, для стены дома процедура для рисования запишется следующим образом:
Отличное подспорье в подготовке к уроку. Спасибо
Большое спасибо.Хорошо представлен материал, удобнее чем в справке языка.
Спасибо! Доступно и методически грамотно изложено.
Спасибо большое! Просто и доступно!
Прекрасно и доходчиво изложен материал.Очень мне помог.Спасибо
Давно пользуюсь Вашими разработками. Большое спасибо.
Ищу урок о преобразовании компьютерной системы координат в математическую в PascalABC.
Для Visual Basic у Вас такой урок есть.
Очень помогло!! спасибо за такую информацию
Графы и их реализация с помощью Pascal
Описание презентации по отдельным слайдам:
Методика решения задач раздела «Графы» и их реализация при помощи Pascal ABC Нижний Новгород, 2017 Факультет естественных, математических и компьютерных наук Кафедра информатики и информационных технологий в образовании КУРСОВАЯ РАБОТА ПО ДИСЦИПЛИНЕ «МЕТОДИКА ОБУЧЕНИЯ ИНФОРМАТИКЕ» Выполнил Студент(ка) очного отделения Комиссаров Д.Н. Научный руководитель канд.пед.наук, доцент, Панова И.В.
Объект исследования: – процесс обучения программирования в старшей школе. Предмет исследования: – среда ABC Pascal при обучении программирования в старшей школе.
Цель исследования Цель – проанализировать среду ABC Pascal и разработать урок на тему «решения задач раздела «Графы» и их реализация при помощи Pascal ABC».
Задачи исследования 1)Рассмотреть общую характеристику среды ABC Pascal; 2)Рассмотреть методику преподавания программирования в школе; 3)Рассмотреть классификацию изучаемых школе языков программирования; 4)Провести обзор методических пособий по теме исследования; 5)Разработать урок«решения задач раздела «Графы» и их реализация при помощи Pascal ABC» для старшей школы.
Методы исследования Теоретические методы: Сравнение обобщение анализ Эмпирические методы изучение литературы по теме исследования.
Структура работы ВВЕДЕНИЕ ГЛАВА 1. ТЕОРЕТИКО-МЕТОДОЛОГИЧЕСКИЕОСНОВЫ СРЕДЫ ABC PASCAL 1.1 Общая характеристика среды ABC Pascal 1.2 Методика преподавания программирования в школе 1.3 Классификация изучаемых в старшей школе языков программирования 1.4 Сравнительный анализ методических пособий ГЛАВА 2. ПРАКТИЧЕСКАЯ ЧАСТЬ 2.1 Разработка урока «Графы и их исследование с использованием языка объектно-ориентированного программирования» ЗАКЛЮЧЕНИЕ СПИСОК ЛИТЕРАТУРЫ
Общая характеристика Pascal ABC Язык Паскаль был разработан в 1970 г. Никлаусом Виртом как язык, обеспечивающий строгую типизацию и интуитивно понятный синтаксис. Он был назван в честь французского математика, физика и философа Блеза Паскаля. Одной из целей создания языка Паскаль Никлаус Вирт считал обучение студентов структурному программированию. До сих пор Паскаль заслуженно считается одним из лучших языков для начального обучения программированию. Его современные модификации, такие как Object Pascal, широко используются в промышленном программировании (среда Delphi). Панова И.В.
Методика преподавания программирования в средней школе При построении обучения учащихся теме «Алгоритмизация и программирование» каждый учитель информатики сталкивается с огромным количеством вопросов: как построить изложение материала, какие использовать методические разработки, в какой форме проводить занятия, какие составить практические задания, какой материал использовать учащимся при изучении и другие. Перед началом обучения учителю необходимо выбрать язык программирования с учетом интересов учащихся, их направленности и структуры образовательного процесса в школе. Безусловно, в начале обучения необходимо изучать алгоритмический язык, что является основой для формирования алгоритмического мышления, для понимания и правильного построения алгоритмических конструкций. Так в учебниках Н. Д. Угриновича «Информатика и информационные технологии. Учебник для 10-11 классов» и «Информатика и ИКТ Для более углубленного изучения может быть использована система PascalABC, в ней реализован диалект языка Паскаль, который позволяет решать довольно сложные задачи с использованием различных средств, таких, как модули и объекты. К системе также прилагается специально разработанный электронный задачник, используемый для практического обучения решению задач. Панова И.В.
Классификация в старшей школе языков программирования Языки программирования в школьном курсе информатики принято делить на две группы: учебные языки (КуМир, Робик, Рапира, АЯ) и профессиональные языки (BASIC, Pascal, Си, Visual Basic, С++…), профессиональные в свою очередь делятся на процедурные и объектно- ориентированные. Панова И.В.
Сравнительный анализ методических пособий Для анализа были выбраны основные УМК и учебники по информатике, используемые в обучении: М. Е. Фиошин «Информатика и ИКТ» 10-11 класс ; Н. Д. Угринович «Информатика и ИКТ» 10 класс ; К. Ю. Поляков «Информатика» 10-11 класс Панова И.В.
Разработка урока»Графы» и их исследования при помощи Pascal ABC В рамках элективного курса профильного обучения, следует большое внимание уделять программированию. Как правило, раздел «Графы» не предусматривает, реализации решения данных задач при помощи средств программирования. Однако, данная реализация возможна. В данном разделе я решил привести пример решения олимпиадной задачи, при помощь Pascal ABC. Панова И.В.
Задача Условия задачи: Каждый элемент квадратной матрицы размеренности N x N равен нулю, либо единице. Найдите количество «островов», образованных единицами. Под «островом» понимается группа единиц (либо одна единица), со всех сторон окруженная нулями (или краями матрицы). Единицы относятся к одному «острову», если из одной из них можно перейти к другой «наступая» на единицы, расположенные в соседних клетках. Соседними являются клетки, граничащие по горизонтали или вертикали. Панова И.В.
Реализация с помощью графа Итак. Ученику предоставляется матрица и его задача составить по матрице граф. Соединять можно только те вершины, которые не окружены 0. Панова И.В.
Реализация задачи на Pascal. Блок схема. Панова И.В.
Как сделать граф в паскале
страницы: 1 2 3 4
Элементы теории графов: основные понятия и определения. Способы представления графов и деревьев. Примеры применения деревьев в программировании.
Содержание
Чуть–чуть истории
Особенно приятно то, что в данном случае Россия — родина пусть и не новой породы слонов, но зато нового научного направления!
Графы: определения и примеры
Неориентированные графы
Таблица 11.1. Примеры неориентированных графов
Граф | Вершины | Ребра |
---|---|---|
Семья | Люди | Родственные связи |
Город | Перекрёстки | Улицы |
Сеть | Компьютеры | Кабели |
Домино | Костяшки | Возможность |
Дом | Квартиры | Соседство |
Лабиринт | Развилки и тупики | Переходы |
Метро | Станции | Пересадки |
Листок в клеточку | Клеточки | Наличие общей границы |
Например, три графа на рис. 11.1 совпадают, а два графа на рис. 11.2 — различны.
Рис. 11.1. Три способа изображения одного графа
Рис. 11.2. Пример двух разных графов
Рис. 11.3. Псевдограф
Длина пути — количество рёбер, из которых этот путь состоит. Например, длина уже упомянутых путей adbc и abc (см. рис. 11.1 ) — 3 и 2 соответственно.
Рис. 11.4. Несвязный граф
Рис. 11.5. Граф Эйлера
Тема №3 Графический модуль GraphABC
Тема №3 Графический модуль GraphABC
Система ABC Pascal обладает великолепной графической библиотекой. Для ее модключения после заголовка программы необходимо написать Uses GraphABC. Модуль GraphABC содержит константы, типы, процедуры и функции для рисования в графическом окне. Они подразделяются на несколько групп:
* Действия со шрифтом
* Действия с точками и прямоугольниками
* Действия с рисунками
* Действия с графическим окном
Рассмотрим сразу пример:
Program Gr01;
Uses GraphABC;
begin
Line(0,0, WindowWidth, WindowHeight)
Line(0,WindowHeight, WindowWidth, 0)
Процедура SetWindowSize устанавливает размер графического окна 256?256 пикселей.
Процедура SetPenColor определяет цвет рисования линий. Функция RGB возвращает цвет, заданный своими Red, Green, Blue компонентами. Процедура Line рисует линию из точки, заданной первой парой координат, в точку, заданную второй парой координат. Функции WindowWidth и WindowHeight возвращают текущие значения ширины и высоты графического окна (следовательно, если вы поменяете размер окна в процедуре SetWindowSize, то линии все равно будут проводиться из угла в угол).
* Координата x растет слева на право от 0 до значения WindowWidth
* Координата y растет сверху вниз от 0 до значения WindowHeight
Как известно восприятие цвета у человека трехцветное. Основываясь на этом, в графических библиотеках используется именно такое трехкомпонентное представление цвета. Цвет задается с помощью функции rgb(Red, Green,Blue)
* Red – число от 0 до 255, соответствующее интенсивности красной компоненты
* Green – число от 0 до 255, соответствующее интенсивности зеленой компоненты
* Blue – число от 0 до 255, соответствующее интенсивности синей компоненты
Функция формирует целое число (integer), которое может использоваться везде в графической библиотеке, где требуется указание цвета. Есть несколько предопределенных цветов:
clMoneyGreen – цвет зеленых денег
Задание стиля и цвета пера
* SetPenColor(цвет) – устанавливает цвет пера, задаваемый параметром color.
* SetPenWidth(ширина) – устанавливает ширину пера.
* SetPenStyle(стиль) – устанавливает стиль пера (сплошной, пунктир и т.п.), возможные значения указаны в таблице (стиль применим только к ширине пера 1 пиксел)
Текущее перо используется для рисования линий, прямоугольников, ломаных, окружностей, эллипсов, дуг и т.п.
Uses GraphABC;
begin
Circle (256,256,WindowHeight div 2);
Задание стиля и цвета кисти
* SetBrushColor(цвет) – устанавливает цвет кисти
* SetBrushPicture(имя файла) – устанавливает в качестве образца для закраски кистью образец, хранящийся в файле, при этом текущий цвет кисти при закраске игнорируется.
* ClearBrushPicture – очищает рисунок-образец, выбранный для кисти.
* SetBrushStyle(стиль) – устанавливает стиль кисти, задаваемый параметром bs.
Возможные стили кисти:
bsSolid bsClear bsCross bsDiagCross bsHorizontal bsBDiagonal bsVertical bsFDiagonal
Текущей кистью закрашиваются все замкнутые фигуры, контур фигур рисуется текущим пером. Чтобы нарисовать не закрашенную фигуру, используйте SetBrushColor(bsClear).
Program Gr03;
Uses GraphABC;
begin
Некоторые графические примитивы[6]
* Line(x1, y1, x2, y2) – рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2).
* Circle(x,y,r) – рисует окружность с центром в точке (x,y) и радиусом r.
* Ellipse(x1, y1, x2, y2) – рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).
* Rectangle(x 1,y1,x2,y2) – рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2).
* RoundRect(x 1,y1,x2,y2,w,h) – рисует прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев.
* Arc(x,y, r, a1,a2) – рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки).
* Pie(x,y,r,a1,a2) – рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc).
* Chord(x,y, r, a1,a2) – рисует фигуру, ограниченную дугой окружности и отрезком, соединяющим ее концы (параметры процедуры имеют тот же смысл, что и в процедуре Arc).
* FloodFill(x,y,color) – закрашивает область одного цвета, начиная с точки (x,y) цветом color.
Напишите программу, использующую не менее трех процедур рисования, которая рисовала бы несложный рисунок (домик, автомобиль, и т.п.)
Пример решения задания
Program avto;
var i : integer;
begin
SetPenStyle (psClear); // верхняя часть автомобиля
setBrushColor (ClAqua); // окна
setBrushColor (Clgreen); // корпус
setBrushColor (ClYellow); // фары
setBrushColor (ClLightGray); // бампер
SetPenStyle (psSolid); // двери
setBrushColor (ClBlack); // колеса
Читайте также
Графический цвет
Графический цвет Графический цвет — это обычное графическое изображение, которым закрашиваются линии или заливки. Таким графическим изображением может быть содержимое как обычного графического файла, так и другой канвы.Графический цвет создают в три этапа.Первый этап
Графический цвет
Графический цвет Графический цвет — это обычное графическое изображение, которым закрашиваются линии или заливки. Таким графическим изображением может быть содержи- мое как обычного графического файла, так и другой канвы.Графический цвет создают в три этапа.Первый
1.3. Графический интерфейс и консоль
Графический интерфейс
Графический интерфейс Отличие всех программ, работающих в операционной среде Windows, – это графический настраиваемый интерфейс. Это относится и к программам Microsoft Office. Пользователь в определенных пределах сам может выбирать вид, размер и функции рабочих окон и
Графический редактор
Графический редактор Теперь, когда мы ознакомились с графическими методами, настало время написать простейший графический редактор с минимальными возможностями. В этом приложении можно будет рисовать при помощи стилуса линии, а также прямые цветные линии из трех
1.2.1 Графический контекст
1.2.1 Графический контекст Прежде чем начать работу с графикой, программа должна выделить себе специальную структуру данных и получить указатель на нее. Эта структура называется графическим контекстом (Graphic Context (GC)). Указатель на GC используется в качестве одного из
Модуль GraphABC
Модуль GraphABC Модуль GraphABC представляет собой простую графическую библиотеку и предназначен для создания несобытийных графических и анимационных программ в процедурном и частично в объектном стиле. Рисование осуществляется в специальном графическом окне, возможность
Типы и переменные модуля GraphABC
Типы и переменные модуля GraphABC Color = System.Drawing.Color; Тип цвета Point = System.Drawing.Point; Тип точки GraphABCException = class(Exception) end; Тип исключения GraphABC RedrawProc: procedure; Процедурная переменная перерисовки графического окна. Если равна nil, то используется стандартная
События модуля GraphABC
События модуля GraphABC Графическая программа продолжает выполняться даже после того как выполнены все операторы основной программы. Графическое окно реагирует на события мыши, клавиатуры, событие изменения размеров окна и событие закрытия окна. Данные события определены
Компьютерра №33 (605) Тема номера: Выставки ТЕМА НОМЕРА SIGGRAPH 2005
Компьютерра №33 (605) Тема номера: Выставки ТЕМА НОМЕРА SIGGRAPH 2005 В начале августа в Лос-Анджелесе прошла выставка SIGGRAPH 2005. Полное название этого мероприятия звучит следующим образом: 32-я Международная конференция по компьютерной графике и интерактивным технологиям
2.6.2. Графический редактор Paint
2.6.2. Графический редактор Paint Для работы над изображениями и рисунками и создания собственных в Windows встроен графический редактор — Paint, что в переводе с английского значит «рисовать, писать красками». Редактор не сложный и умеет выполнять простые операции с рисунками. С
ТЕМА НОМЕРА: Как родилась эта тема
ТЕМА НОМЕРА: Как родилась эта тема Автор: Владимир ГуриевОбычно мы стараемся придумать на первое апреля что-нибудь веселое, но последние несколько лет редакции и без первого апреля живется все лучше и веселее, так что настроения шутить у нас не было, и в тематическом