В системе программирования pascal abc составьте программы для создания следующих изображений
3 Фрагмент статьи из ВикиУчебника 3 Checked Ширина радио-кнопки. Высота радио-кнопки. Текст на радио-кнопки. Цвет фона радио-кнопки. Цвет текста радио-кнопки. Позиция радио-кнопки форме. Будет ли меняться размер радио-кнопки, подгоняясь под размер содержимого, или будет отображаться лишь та часть содержимого, умещающаяся на радиокнопке. Видна ли радио-кнопка. Определяет установлена ли радио-кнопка или нет. TrackBar (ползунок) System.Windows.Forms.TrackBar - класс ползунка. Синтаксис его создания: name := new TrackBar(); name - имя ползунка. Minimum Maximum Value Orientation TickStyle TickFrequency Ширина ползунка. Ширина ползунка. Позиция ползунка на форме. Виден ли ползунок. Минимальное значение ползунка. Максимальное значение ползунка. Текущее значение ползунка. Ориентация ползунка. System.Windows.Forms.Orientation.Horizontal - горизонтальная System.Windows.Forms.Orientation.Vertical - вертикальная Контролирует как отображаются деления. System.Windows.Forms.TickStyle.Both - с двух сторон System.Windows.Forms.TickStyle.BottomRight - деления либо снизу (для горизонтального ползунка) или справа (для вертикального полузнка) System.Windows.Forms.TickStyle.TopLeft - деления либо сверху (для горизонтального ползунка) или слева (для вертикального полузнка) System.Windows.Forms.TickStyle.None - не отображаются Расстояние между делениями.
5 Фрагмент статьи из ВикиУчебника 5 SelectedItem Items.Item[k] Integral Выбранный элемент выпадающего списка. K-ый элемент выпадающего списка. Указывает будет ли подгоняться размер выпадающего списка под размер элементов, чтобы был видны названия всех элементов полностью. Click Событие SelectedIndexChanged Ниже a - выпадающий список. Функция a.items.add a.items.clear Описание Хранит ссылку на процедуру, которая выполнится при щелчке по выпадающему списку. Хранит ссылку на процедуру, которая выполнится при смене выбранного элемента выпадающего списка. Описание Добавляет в выпадающий список элемент. Удаляет все элементы выпадающего списка. GroupBox System.Windows.Forms.GroupBox- класс фрейма. Синтаксис его создания: name := new GroupBox(); name - имя фрейма. Ширина фрейма. Высота фрейма. Текст на в заголовке фрейма. Позиция фрейма на форме. В качестве значения должна быть точка System.Drawing.Point. Будет ли меняться размер фрейма, подгоняясь под размер содержимого, или будет отображаться лишь та часть содержимого, умещающаяся на кнопке. Виден ли фрейм. SplitContainer System.Windows.Forms.SplitContainer - класс элемента разделения окна. Синтаксис его создания: name := new SplitContainer(); name - имя элемента разделения окна. Ширина элемента разделения окна. Высота элемента разделения окна. Позиция элемента разделения окна на форме.
6 Фрагмент статьи из ВикиУчебника 6 Orientation Panel1 Panel2 В качестве значения должна быть точка System.Drawing.Point. Будет ли меняться размер элемента разделения окна, подгоняясь под размер содержимого, или будет отображаться лишь та часть содержимого, умещающаяся на элементе разделения окна. Виден ли элемент разделения окна. Ориентация элемента разделения окна. System.Windows.Forms.Orientation.Horizontal - горизонтальная System.Windows.Forms.Orientation.Vertical - вертикальная Имя виджета, входящего в левую или верхнюю часть элемента разделения окна. Имя виджета, входящего в правую или нижнюю часть элемента разделения окна. MenuStrip (главное меню) System.Windows.Forms.MenuStrip - класс главного меню. Синтаксис его создания: name := new MenuStrip (); name - имя главного меню. GripStyle Цвет фона главного меню. Цвет текста меню. Ниже a - главное меню. Процедура Видим ли объект для перемещения меню, находящийся слева. объект перемещения меню спрятан - System.Windows.Forms.ToolStripGripStyle.Hidden объект перемещения меню виден- System.Windows.Forms.ToolStripGripStyle.Visisble a.items.add(k) Добавляет подменю k в главное меню. ToolStripMenuItem (подменю) System.Windows.Forms.ToolStripMenuItem - класс подменю. Синтаксис его создания: name := new ToolStripMenuItem (); name - имя подменю. Ниже b - подменю. Цвет фона заголовка подменю. Цвет текста заголовка подменю. Процедура b.dropdownitems.add(t,i,act) Добавляет пункт в подменю b.
9 Фрагмент статьи из ВикиУчебника 9 Оригинал статьи здесь: D0%B2_Windows_Forms
После запуска PascalABC, по умолчанию, запускается текстовый режим. Для работы с графикой служит отдельное графическое окно.
Чтобы его открыть, необходимо подключить модуль GraphABC. В этом модуле содержится набор процедур и функций, предназначенных для работы с графическим экраном, а также некоторые встроенные константы и переменные, которые могут быть использованы в программах с графикой.
С их помощью можно создавать разнообразные графические изображения и сопровождать их текстовыми надписями.
Подключение осуществляется в разделе описаний.
Формат подключения модуля GraphABC:Uses GraphABC;
Графический экран PascalABC (по умолчанию) содержит 640 точек по горизонтали и 400 точек по вертикали. Начало отсчета – левый верхний угол экрана. Ось x направлена вправо, а ось y –вниз. Координаты исчисляются в пикселях.
Все команды библиотеки GraphABC являются подпрограммами и описаны в виде процедур и функций. Для того, что бы команда выполнилась необходимо указать команду и задать значения параметров.
Управление графическим окном
После запуска PascalABC, по умолчанию, запускается текстовый режим. Для работы с графикой служит отдельное графическое окно.
Чтобы его открыть, необходимо подключить модуль GraphABC. В этом модуле содержится набор процедур и функций, предназначенных для работы с графическим экраном, а также некоторые встроенные константы и переменные, которые могут быть использованы в программах с графикой.
С их помощью можно создавать разнообразные графические изображения и сопровождать их текстовыми надписями.
Подключение осуществляется в разделе описаний.
Формат подключения модуля GraphABC:Uses GraphABC;
Графический экран PascalABC (по умолчанию) содержит 640 точек по горизонтали и 400 точек по вертикали. Начало отсчета – левый верхний угол экрана. Ось x направлена вправо, а ось y –вниз. Координаты исчисляются в пикселях.
Все команды библиотеки GraphABC являются подпрограммами и описаны в виде процедур и функций. Для того, что бы команда выполнилась необходимо указать команду и задать значения параметров.
Процедуры рисования графических примитивов
Процедуры, используемые для работы с цветом
Процедуры для работы с текстом
Цвета в PascalABC
Пример графической программы, рисующей изображение дома:
Программа, рисующая фигурку:
Практическая работа за компьютером
Задание 1. Определите координаты и составьте программу, выводящую на экран рисунок дома и дерева.
Программа будет иметь вид:
Задание 2. Используя оператор цикла и введя переменную для пересчета координат по оси x, постройте “поселок”, состоящий из 5 домов. Внесите соответствующие дополнения и изменения в предыдущую программу.
Весь наш «поселок» выстроился вдоль горизонтальной оси экрана — оси X. Построение рисунка начинается с левого верхнего угла стены первого дома — точки с координатами (100, 50). Координата Y не изменяется. Чтобы начать рисовать второй домик, нужно координату X увеличить на 150 (50 точек — ширина первого дома и 100 точек — расстояние между домиками).
Выберем в качестве параметра цикла целочисленную переменную X.
Для всех элементов нашего рисунка абсолютное значение координаты X заменим на относительное. Например, для стены дома процедура для рисования запишется следующим образом:
Сформулируем условие выполнения цыклических действий для нашей задачи.Какие координаты имеет левый верхний угол пятого дома? Конечное значение выбранного нами параметра цикла x = 700. Тогда условие выполнения цикла записывается так: x
Для начала написания непосредственно кода программы надо знать ее структуру: как правильно записываются команды, в каком порядке.
На первом занятии вы узнаете:
- Какова структура программы на языке Паскаль.
- Как написать простейшую программу.
Для создания программ можно использовать среду программирования Pascal ABC.
Структура программы
Программа на языке Паскаль начинается с заголовка, имеющего следующий вид:
За ним идет раздел описаний, в котором должны быть описаны все идентификаторы (константы, переменные, типы, процедуры, функции, метки), которые будут использованы в программе.
После раздела описаний идет раздел операторов, который начинается со служебного слова begin (начало) и заканчивается служебным словом end (конец).
В этом разделе задаются действия над объектами программы, описанными в предыдущем разделе. Операторы в этом разделе отделяются друг от друга точкой с запятой. После последнего слова end ставится точка.
Общий вид программы:
В разделе описаний не обязательно должны быть все разделы.
В наших первых программах будет только один раздел — раздел Var (variable — переменная), в котором мы будем объявлять те переменные, которые будем использовать в разделе операторов.
Как написать простейшую программу
Рассмотрим простейшую задачу с линейным алгоритмом.
Для записи программы с линейным алгоритмом нам нужно описать входные и выходные данные, нужны процедуры для вводы и вывода данных и оператор присваивания.
Задача. Ввести с клавиатуры два числа. Вывести на экран их произведение.
Пояснения к программе
Имя этой программы example_1.
Из разделов описаний имеется лишь один — раздел переменных. Он начинается со служебного слова var, после которого идет последовательность объявления переменных, разделенных точкой с запятой.
В каждом объявлении перечисляются через запятую имена переменных одного типа, после чего ставится двоеточие и указывается тип переменных.
В нашем примере описаны три переменные: все они (a, b и rez) имеют целый тип (integer).
После описательной части идет раздел операторов, начинающийся со служебного слова begin.
Первый встречающийся оператор — это writeln(‘текст’); — записать (вывести) на экран текст, заключенный между апострофами, ln добавляется в конце этого оператора для того, чтобы курсор автоматически переходил на следующую строку при выводе на экран текстов или результатов выполнения программы.
Следующий оператор — это readln(a,b); — читать данные с клавиатуры.
В данном случае во время выполнения программы необходимо ввести два целых числа через пробел, тогда переменной a присваивается значение, равное первому введенному числу, а переменной b присваивается значение, равное второму введенному числу.
Например, вы ввели числа 12 и 45, тогда a = 12, а b = 45. В конце этого оператора также можно ставить ln.
После этих двух операторов стоит оператор присваивания: rez := a * b; (:= — это знак присваивания в языке Паскаль). Переменная rez получит значение, равное произведению числа a на число b .
Следующий оператор — это снова оператор writeln(‘текст’,rez) — он выведет на экран текст, заключенный между апострофами, а за ним значение переменной rez.
Завершает раздел операторов end с точкой.
Выполнение программы
Введите два целых числа через пробел
Коротко о главном
Программа на языке Pascal состоит из заголовка, раздела описаний и раздела операторов.
Если программа содержит несколько операторов, то они разделяются знаком точки с запятой.
Начало и конец раздела операторов обозначаются ключевыми словами begin и end. После слова end в конце текста программы всегда ставиться точка. Она означает, что программа закончена.
Команда вывода на экран — write(‘текст’) и writeln(‘текст’) отличаются положением курсора после выполнения команды. Команда write(‘текст’) оставляет курсор на той же строке, что и текст, а writeln переводит курсор на новую строку.
Компиляция выполняется клавишей F9. Для выполнения программы надо нажать Ctrl+9.
Проверь себя!
Для работы с графикой в pascal abc используется модуль GraphABC. Для его подключения используется следующий код:
uses GraphABC; begin . end.
Система координат в Паскале соответствует экранной системе координат и выглядит следующим образом:
Управление цветом
Для того, чтобы использовать цвет, необходимо применить этот цвет к инструменту перо:
- SetPenColor(color) — устанавливает цвет пера, задаваемый параметром color;
- setBrushColor(color) — устанавливает цвет кисти, задаваемый параметром color;
- либо для палитры RGB: SetPenColor(rgb(0-255, 0-255, 0-255));
или использовать для заливки:
После чего можно использовать процедуры для рисования геометрических фигур.
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.
Ломаные можно рисовать с помощью процедур 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.
Задание 0: При помощи операторов SetPenColor(), LineTo (x2, y2) и MoveTo (x1, y1) нарисовать квадрат и равносторонний треугольник.
[Название файла: L4_2task0.pas ]
Для установки размеров графического окна используется процедура
Рисование фигур
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.
Задание 1: «Лягушка»
[Название файла: L4_2task1.pas ]
Задание 2: «Корона»
[Название файла: L4_2task2.pas ]
Функция random для использования окраски
Задание 3: Нарисовать горизонтальный ряд окружностей радиусом 10 на расстоянии 100 от верхнего края экрана и с такими горизонтальными координатами 50, 80, 110, 140, … , 290.
* раскрасить круги случайным цветом
[Название файла: L4_2task3.pas ]
Задание 4: «Круги на воде».
Нарисуйте пару десятков концентрических окружностей, то есть окружностей разного радиуса, но имеющих общий центр.
[Название файла: L4_2task4.pas ]
Задание 5:
Воспроизвести изображение при помощи программы:
[Название файла: L4_2task5.pas ]
Нарисовать штриховку на Паскале можно, используя процедуры рисования прямоугольника и линии:
Программа будет выглядеть следующим образом:
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.
[Название файла: L4_2task6.pas ]
Анимация в Паскале
Анимация в программировании заключается в том, что сначала рисуется фигура цветным инструментом, затем с тем же координатами рисуется та же фигура белым цветом. После чего происходит сдвиг фигуры и действия повторяются.
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.
Задание 7: Выполнить анимацию движения квадрата по следующей траектории:
Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.
Рабочие листы и материалы для учителей и воспитателей
Более 2 500 дидактических материалов для школьного и домашнего обучения
Столичный центр образовательных технологий г. Москва
Получите квалификацию учитель математики за 2 месяца
от 3 170 руб. 1900 руб.
Количество часов 300 ч. / 600 ч.
Успеть записаться со скидкой
Форма обучения дистанционная
- Онлайн
формат - Диплом
гособразца - Помощь в трудоустройстве
311 лекций для учителей,
воспитателей и психологов
Получите свидетельство
о просмотре прямо сейчас!
Практическая работа
ТЕМА : Работа с графикой в среде P ascal ABC
ЦЕЛЬ: изучить методы и свойства создания и обработки изображений в графическом режиме среды P ascal ABC.
Теоретические сведения:
Для работы в графическом режиме используются свыше 50 стандартных процедур и функций.
Putpixel(X,Y, Cvet ); - процедура, которая выдаёт на экран точку с координатами X,Y и цветом Cvet ;
Сleardevice; - процедура, которая очищает экран и устанавливает значения всех графических параметров, предусмотренные по умолчанию;
Line(X1,Y1,X2,Y2);-процедура, которая проводит прямую линию из точки с координатами(X1,Y1) в точку (X2,Y2) текущим цветом. Положение текущего указателя не изменяется;
Setcolor(Сolor);-процедура, которая устанавливает цвет видимого изображения, задаваемый параметром Color;
Setb k color(Сolor);-процедура, которая устанавливает цвет фона, задаваемый параметром Color;
Rectangle(X1,Y1,X2,Y2); - процедура, которая рисует прямоугольник с координатами(X1,Y1) – верхний левый угол и (X2,Y2) – нижний правый угол, используя стандартный цвет закраски;
Bar(X1,Y1,X2,Y2); - процедура, которая рисует закрашенный прямоугольник с координатами (X1,Y1) – верхний левый угол, и (X2,Y2) – нижний правый угол, используя стандартный цвет закраски;
Circle(X,Y, Radius); - процедура, которая рисует окружность с центром(X,Y) и радиусом Radius;
El l ipse(X,Y, нач.угол,кон.угол,Xradius,Yradius ); - процедура, которая рисует дугу эллипса с центром (X,Y) и с радиусами Xradius (по оси X), Yradius (по оси Y) от начального угла «Нач.угол» до конечного угла «Кон.угол». Значения Нач.угол=0 и Кон.угол=360 приведут к вычерчиванию полного эллипса. Углы задаются в градусах по направлению против часовой стрелки;
Setfillstyle (образец, цвет); - процедура, устанавливающая заданный пользователем образец заполнения (число от 0 до 12) и цвет закраски (число от 0 до 15) .
Floodfill ( x , y , граница); - процедура, заполняет ограниченную замкнутую область, начиная с точки х,у до границы указанного цвета.
Outtext xy ( x , y ,Tex t ) - процедура, которая выдает на экран строку Text, начиная с точки (X,Y). Положение текущего указателя не изменяется;
У компьютера есть специальная функция, которая выдает случайные числа. Ее обозначение - Random и означает оно “случайный“. Еще эту функцию называют генератором случайных чисел. Обращаясь к этой функции, мы получаем случайные действительные числа, равномерно распределенные в интервале [0;1], а если задаем ее как random ( n ), где n – число типа word , то получаем целые числа, случайно распределенные в интервале от 0 до n .
Пусть (X,Y)- координаты некоторой точки на экране, случайно выбранные компьютером.
Чтобы нарисовать «звездное небо» из n звезд, надо выбрать случайным образом N раз координаты x , y и случайно же задавать цвет рисования. Программа :
VAR X,Y, N,: integer; ( *)
Begin write(‘ звезд =’); readln( N);
For i:=1 to n do begin
PUTP I X E L (X, Y, C )
Пусть (X,Y)- координаты некоторой точки на экране, случайно выбранные компьютером.
(X+5;Y+10)- координаты точки, находящейся несколько сбоку. Нарисуем КОСОЙ ДОЖДИК.
VAR X,Y, N: integer;
Begin write(‘ линий =’); readln( N);
For i:=1 to n do begin
В результате выполнения этой программы весь экран покрывается “косыми дождинками”.
Компьютер снова и снова задумывает координаты точки и чертит отрезок-дождинку на экране. Рисование будет продолжаться до тех пор, пока не будет нарисовано ‘n’ линий.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ:
1. Изучить графический режим работы с экраном с использованием средств ТР.
2. Изучить необходимые сведения, указанные выше
3. Составить текст программы и выполнить программу
4. Предъявить преподавателю результаты работы программы.
5. Оформить отчет по выполненной лабораторной работе, защитить и сдать его преподавателю.
(оценки, конечно, устанавливаются преподавателем. Здесь проводится приблизительная градация в зависимости от номера задания. 9 либо 10 ставится, если есть развернутые ответы на вопросы)
1. Нарисовать «звездное небо» (см. Программу *). Добавить к нему луну (месяц).
2. На небе нарисовать N планет (координаты задаются явно или случайным образом )
3. А). Добавьте к предыдущему рисунку «метеоритный дождь» (см. Программу**).
Б) Измените программу так, чтобы дождинки стали длиннее.
В) Измените направление дождя.
Г) Сделайте дождинки разными. Используйте для этого переменную L – длину дождинки: L= RANDOM(10).
4. Наберите программу, в результате выполнения которой экран покрывается:
А) горизонтальными линиями;
Б) вертикальными линиями;
В) и горизонтальными, и вертикальными линиями.
5. Постройте в центре экрана семейство концентрических (с общим центром) окружностей произвольного радиуса.
6. Нарисуйте в центре экрана ЗВЕЗДУ (для выполнения этого задания рисунок лучше предварительно создать на листе бумаги (в масштабе), чтобы правильно определить координаты).
7. Нарисуйте ПРАЗДНИЧНЫЙ САЛЮТ из трех звезд. Окрасьте их
8. Измените программу ЗВЕЗДНОЕ НЕБО. Для изображения звезды используйте окружность с R, равным 1 (либо 2 либо, по желанию, произвольным). Координаты х и у звезд выбирайте случайно (см. Программу (*)), цвет окружности тоже можно устанавливать случайно.
9. Напишите программу, выводящую на экран множество разноцветных закрашенных прямоугольников.
10. Объедините все созданные Вами программы в общую демонстрационную программу, используя операторы С LEARDEVICE (очистка экрана) и READLN ;. Подпишите каждый кадр( settextstyle ( N ,0, r ); outtext xy ( x , y ,Tex t ). N , r подберите опытным путем. 0-текст располагается горизонтально; 1- вертикально).
САМОСТОЯТЕЛЬНАЯ РАБОТА ( оценка определяется номером выполненного задания).
Выполните на экране компьютера следующие графические построения:
1. Треугольник с вершинами 1(10,10), 2(300,470), 3(630,10);
2. Прямоугольник с вершинами 1(50,50) 2(400,50), 3(400,200), 4(50,20)
3. Шестиугольник с вершинами 1(100,100), 2(200,10), 3(300,10), 4(400,100), 5(300,190), 6(200,190).
4. Нарисуйте куб.
5. Нарисуйте 2 куба, со сторонами в 2 раза меньше сторон исходного.
6. Нарисуйте 3 куба, имеющие стороны длиной 10,20 и 30 единиц соответственно.
7. Выведите на экран 5 вложенных квадратов. Попробуйте закрашивать их поочерёдно разными цветами.
8. С помощью команды рисования закрашенного прямоугольника выведите на экран рисунки «ШТАНГА», «ПИРАМИДА» и «РОБОТ».
9. Постройте на экране «ЗАМОК». Воспользуйтесь всеми известными вам возможностями операторов LINE, RECTANGLE , окрашивания.
КОНТРОЛЬНЫЕ ВОПРОСЫ:
1. Почему реальные звездное небо и метеоритный дождь у Вас на экране состоят из меньшего количества звезд либо линий, чем n , заданное в программе (*)?
2. Сколько параметров в операторе ELLIPSE необходимо для изображения верхнего (нижнего) полуовала? Какие они?
Читайте также: