Рекомендуется к изучению в разделе «Программирование» курса ИКТ с 5 класса средней школы.
Используемая программная поддержка: Паскаль АВС
Основные педагогические направления курса
Главная цель курса – формирование навыков операционного и логического стиля мышления, изучение основных алгоритмических структур, создание базы для изучения языка программирования Паскаль
Исходя из этого возникают 2 направления курса:
1. Практическое – приобретение навыков общения с машиной
2. Алгоритмическое – формируется представление об алгоритмах , складывается операционный и логический стиль мышления.
Методические рекомендации к курсу
Рекомендуется к изучению в разделе «Программирование» курса " Информатика и ВТ
Дополнительные часы отнести на факультативные занятия
Содержание и методика курса нацелены на формирование творческих, исследовательских качеств учащихся. Появляется еще одно направление – творчество.
По данной методике начальных знаний по программированию не требуется.
Ученик перед освоением данного курса должен обладать знаниями основ работы на ПК.
Материал данного пособия можно включать в тематическое планирование, как автономный курс.
Данный курс является пропедевтическим перед изучением языков программирования (Pascal, Delphi)
Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Просмотр содержимого документа
«Паскаль АВС - основы графики. Учебное пособие »
МАОУ «Лицей №121» города Казани
Паскаль АВС – основы графики
Автор учебного пособия
Семагина Елена Николаевна –
учитель информатики
Декабрь 2014г.
Введение
Современные компьютеры могут выполнять разнообразные действия – читать, писать, вычислять и рисовать. Компьютер готов выполнить любое из данных заданий, если он получит последовательность точных и ясных инструкций – программу. Можно купить готовые программы – игры, текстовые, графические и музыкальные редакторы и т.д. Но можно и самому составить программу для компьютера. Это научит вас самостоятельно управлять компьютером. Свое общение с компьютером вы будете осуществлять с помощью языка программирования, который называется Паскаль. Данное пособие основывается на версию Паскаль АВС
Данное учебное пособие поможет вам изучить основные алгоритмические структуры языка, используя графику
Координаты
Основные понятия.
Любая, в том числе и графическая информация, может быть представлена с помощью чисел. Нарисуем на листе в клетку 2 взаимно перпендикулярные прямые. Клетки делят видимые части прямых на равные промежутки. Длина промежутка – единичный отрезок. За начало отсчета на каждой прямой выберем точку О пересечения этих прямых.
Н
Рис. 1
а рис. 1 показана координатная плоскость с декартовой прямоугольной системой координат. Горизонтальная прямая – ось X, вертикальная прямая – ось Y. Точка О называется началом координат. Каждая точка на координатной плоскости имеет свой точный адрес. Это пара чисел: первое число – расстояние от начала координат по оси Х, второе – по оси Y. Эти числа называются координатами точки. Оси координат разбивают плоскость на четыре части, которые называются координатными четвертями.(рис.2) Задания
Отметьте на координатной плоскости точки с координатами (адресами). Считать сторону каждой клеточки 10 точек. A(0,40); B(30,-30); C(-30,20); D(30,20);E(-30,30);
Соедините отрезки AB, BC,CD, DE, EA. Какой рисунок получился?
Начертите и разместите оси, считая сторону каждой клеточки равной 10. Отметьте точки, координаты которых приведены на карточке (см. приложение № 1). Соедините их в заданной последовательности.
Пронумеруйте каждую точку рисунка и выпишите координаты каждой точки (см. приложение № 2 рис 1-4).
Координаты экрана
В графическом режиме экран напоминает лист миллиметровки, так как он разбит на крошечные квадратики – пиксели. Они настолько малы, что похожи на точки. Пиксели на экране образуют строки и столбцы, которые можно пронумеровать целыми числами.
Строк – 400;
Столбцов – 640;
Начало отсчета помещено в левый верхний угол. Горизонтальная ось направлена вправо, вертикальная вниз.
Графический экран как бы перевернут вверх ногами и является зеркальным отражением первой координатной четверти.
Каждая точка (пиксель) на экране однозначно определяется парой координат (X, Y), где
Эти процедуры необходимо ставить перед раскрашиваемой фигурой.
uses GraphABC;
begin
SetWindowCaption('выборзакрашивания ');
SetWindowHeight(400);
SetWindowWidth(640);
SetPenColor(clRed);
SetPenWidth(5);
SetBrushColor(clYellow);
SetBrushStyle(bsCross );
Circle(60,100,40);
Ellipse(120,20,200,180);
end.
Практическая работа
В Паскале открыть файл *.pas (программа “Колобок”)
Добавить в программу “Колобок” процедуры раскрашивания
Рабочую программу сохранить в файле gr6_*.pas (*- номер компьютера)
FloodFill(x,y,c); - заливает замкнутую область цветом c, начиная с точки (x,y).
usesGraphABC;
begin
SetWindowCaption('заливка замкнутой области');
SetPenColor(clAqua);
line(80,160,80,40);
line(80,40,160,160);
line(80,160,160,160);
SetBrushColor(clYellow);
SetBrushStyle(bsBDiagonal);
floodfill(100,100,clFuchsia);
end.
Практическая работа 2
В Паскале открыть файл *.pas (программа “Кораблик”)
Добавить в программу “Кораблик” процедуры раскрашивания
Рабочую программу сохранить в файле gr6_*.pas (*- номер компьютера)
4. Создание рисунка в конкретных координатах
Практическая работа 1
Набрать программу “Свой рисунок” и запустить на выполнение
К каждому объекту программы записать комментарий в фигурных скобках например - {домик}
Рабочую программу сохранить в файле gr7_*.pas (*- номер компьютера)
5. Оператор присваивания
X:=Y;
X - имя переменной
Переменная – это то, что изменяется при выполнении программы
Каждой переменной необходимо дать неповторяющееся имя. В качестве имен можно использовать последовательность латинских букв, цифр, знак подчеркивания. Имена должны начинаться с буквы
Примеры
X
Y
Y1
Radius_1
При выполнении программы имя переменной не меняется, а значение может изменяться несколько раз.
Y – любое выражение
Выражения могут состоять из чисел, имен переменных, знаков арифметических операций, функций.
Выполнение оператора присваивания:
Оперативная память компьютера состоит из ячеек, в которых могут храниться числа, символы, строки и т. д., в закодированном виде.
Для каждого типа выделяются ячейки разной длины и поэтому нужно указывать в программе какого типа каждая переменна, в разделе описания переменных Var
Пример
Var X,Y:Integer;
Переменным X,Y выделяются ячейки для целых чисел.
Все переменные, используемые в программе, должны быть описаны в разделе описания переменных Var.
Практическая работа 1
Найти раздел описания переменных и выписать его в тетрадь
Выписать в тетрадь переменные, которые используются в программе
Каждая ячейка имеет свой адрес, который при выполнении оператора присваивания, ставится в соответствие с именем переменной.
Н
100 400
апример
X:=100; X
Y
200
:=200; Y
X:=Y*2;
Задание 1
K:=50;
M:=100;
T:=K+M;
M:=M+T;
Выполнить операторы присваивания и результат занести в соответствующие ячейки
Описать данные переменные в разделе Var
6.Получение нового цвета
RGB(x,y,z);
X - интенсивность красного цвета (0-255)
Y - интенсивность зеленого цвета (0-255)
Z - интенсивность синего цвета (0-255)
uses GraphABC,crt;
var c:integer;
begin
SetWindowCaption('новый цвет');
SetWindowHeight(400);
SetWindowWidth(640);
c:=RGB(200,200,200);
SetPenColor(c);
SetBrushColor(c);
circle(60,100,40);
ellipse(120,20,200,180);
end.
Задание 2
Провести исследование цветовой палитры и сделать вывод
7. Вывод объекта в относительных координатах.
Если возникнет необходимость передвинуть в пределах зкрана выведенный объект, то надо пересчитывать координаты всех составляющих его процедур. Для того, чтобы избежать эту трудоемкую работу существует способ вывода объекта в относительных координатах.
Пример
Приложение №2 «Колобок»
Составляем программу относительно выбранной точки
Выбираем точку на экране М(X,Y). Она может быть любой. Координаты этой точки присваиваются переменным X и Y. Далее по очереди записываем все операторы относительно значений X и Y
uses GraphABC;
var x,y:integer;
begin
SetWindowCaption('в относит. коорд.');
SetPenColor(clAqua);
SetBrushColor(clYellow);
X:=100;
Y:=100;
circle(X,Y,40);
Ellipse(X-90,Y+20,x-30,y+40);
Ellipse(X+90,Y+20,x+30,y+40);
end.
Далее программу пишем самостоятельно
Для того, чтобы изменить положение объекта на экране, надо изменить значение X и Y.
Практическая работа 1
В Паскале составить программу «Колобок»
В разделе Var описать переменные X,Y
Раскрасить рисунок
Перенести рисунок на середину экрана.
Рабочую программу сохранить в файле gr7_*.pas (*- номер компьютера)
Задание 1
Программа «Кораблик» в относительных координатах
Программа «Свой рисунок» в относительных координатах. Размеры рисунка не более 60х60
8. Оператор повторения.
Повторение используется, если в программе есть операторы, которые нужно выполнить несколько раз
Пример
Выводим на экран цепочку из шариков R=10 с шагом 20 точек
1 шарик X=10; Y=50;
2 шарик X=30; Y=50;
3 шарик X=50; Y=50;
.
.
.
Координата Y не изменяется
Координата Х изменяется на 20 точек (шаг шарика)
Значение координаты Х для второго шарика равна значению координаты Х для первого шарика +20 точек и т.д.
Координата Х следующего шарика равна координате Х предыдущего шарика + 20 точек
Х:=Х+20;
Для решения задачи необходимо повторять вывод шариков с Х=20 до Х=640
Повторять –Repeat
До – Until
uses GraphABC;
var x,y:integer;
begin
SetWindowCaption('в относит. коорд.');
SetWindowHeight(400);
SetWindowWidth(700);
X:=-10; Y:=200;//начальные координаты шарика
Repeat //повторять
X:=X+40; //изменение координаты Х шарика
circle(X,Y,20);//вывод шарика на экран
UntilX=640;// условие выхода из цикла
end.//условие окончания работы оператора
Практическая работа 1
Составить программу по рисунку и запустить на выполнение
Задать цвет фона, цвет шариков
Рабочую программу сохранить в файле gr8_*.pas (*- номер компьютера)
Общий вид оператора повторения
Repeat
M1;
M2;
:
Mk;
Until N;
Repeat – повторять;
Until – до;
M1, M2,…, Mk – операторы .
N – выражение, имеющее логическое значение (условие окончания повторения)
Выполняется:
Выполняются операторы M1, M2,…, Mk;
Вычисляется значение N;
Если N – истина, то оператор повторения заканчивает свою работу, иначе (если N-ложь) перейти к пункту 1
Среди операторов, которые повторяются, обязательно должен присутствовать оператор, изменяющий значение выражения N;
Задания 1
Вывести на экран цепочку из шариков по вертикали R=10, X=150, шаг =30, цвет синий.
Вывести на экран цепочку из квадратиков по горизонтали сторона=10, шаг=20, цвет красный.
Вывести на экран цепочку из шариков по диагонали R=10, шаг =30, цвет меняется.
Вывести на экран цепочку из шариков R=10, X=150, шаг =30, цвет меняется
Вывести на экран цепочку из шариков, у которых увеличивается радиус X=150, шаг =30, R=3, 6, 9….,
Вывести на экран цепочку из шариков по контуру прямоугольника (см приложение № 2)
9. Движение объекта
В примере к рисунку шарик перемещается по экрану, оставляя следы.
Если перед выводом нового шарика стереть старый (предыдущий), то мы увидим движущийся по экрану шарик. Один из способов стереть «старый» шарик с экрана, это поставить на него заплатку цветом фона
Пример «Движение шарика»
uses GraphABC,crt; var x,y:integer; begin SetWindowCaption('в относит. коорд.'); SetWindowHeight(400); SetWindowWidth(640); X:=-10; Y:=200;//начальные координаты шарика Repeat //повторять X:=X+40; //изменение координаты Х шарика SetPenColor(clRed); //контур шарика красный SetBrushColor(clRed);//шарик закрашивается красным цветом Ellipse(X,Y,x+20,y+20);//вывод шарика на экран Delay(100);//задержка шарика на экране SetPenColor(clWhite);//контур шарика цвета фона SetBrushColor(clWhite);//шарик закрашивается цветом фона Ellipse(X,Y,x+20,y+20);//вывод шарика на экран Until X=640;// условие выхода из цикла end. Практическая работа 1
В Паскале открыть файл gr8_*.pas (*- номер компьютера)
Набрать программу «Движение шарика » и запустить на выполнение
Рабочую программу сохранить в файле gr9_*.pas (*- номер компьютера)
Задание 2
Создать программу «Движение объекта»
Создать программу «Движение кораблика»
Создать программу «Движение своего рисунка»
10. Оператор условия
10.1. Знакомство с оператором условия
Ветвление используется, когда нужно записать выбор тех или иных действий (в зависимости от какого либо условия)
Пример
Вывести на экран цепочку из шариков по горизонтали.
При Х от 1 до 400 шарики выводить красного цвета, а при Х от 401 до 800 – синего
Сформулируем условие:
Если Хто выводим красный шарик, иначе выводим синий шарик
Запишем это условие на Паскале:
IfXThen { выводим красный шарик }Else {выводим синий шарик}
Добавить в программу оператор условия и запустить на выполнение
Рабочую программу сохранить в файле gr11_*.pas (*- номер компьютера)
10.2.Общий вид оператора условия
If Q Then B1 [Else B2];
Q - выражение, принимающее логическое значение;
B1, B2 – любые операторы, в единственном числе;
Выполняется:
Вычисляется выражение Q, которое имеет логическое значение.
Если это значение истина, то выполняется оператор B1. Если же Q имеет значение ложь, то в случае полной формы условного оператора выполняется оператор B1 , а в случае неполной формы управление передается следующему оператору программы.
Перед Else;не ставится
Задание 1 Вывести на экран цепочку из шариков. (см. приложение №2 )
10.3. Использование составного оператора
Если по смыслу задачи, в зависимости от условий, надо выполнять либо одну, либо другую группу операторов, то их надо превратить в один составной оператор (заключить в операторные скобки):
Begin
операторы;
End;
If Q Then
Begin
A1;
A2;
:
An;
End
Else
Begin
B1;
B2;
:
Bn;
End;
11.Оператор перехода
Оператор перехода имеет вид:
Goto M;
M - метка. Все метки должны быть описаны в разделе описания меток;
LabelA1,A2,A3;
A1,A2,A3 – метки (имена меток см. имена переменных)
Записывается перед разделом операторов:
Begin
В рассмотренных выше программах операторы выполнялись в том порядке, в каком они были записаны. Изменить этот порядок можно с помощью оператора перехода. Он прерывает естественную последовательность операторов: следом за ним выполняется оператор, помеченный указанной меткой.
Оператор Goto Met; передает управление на оператор с меткой Met.
Пример
Программа, изменяющая цвет шарика (бесконечно)
uses GraphABC,crt;
label 1;
var x,y,kr,cin,c:integer;
begin
SetWindowCaption('в относит. коорд.');
SetWindowHeight(400);
SetWindowWidth(850);
kr:=rgb(200,0,0);
cin:=rgb(0,0,200);
c:=kr;
1:If C=kr Then C:=cin Else C:=kr;
SetPenColor(c);
delay(200);
SetBrushColor(c);
circle(60,100,40);
goto 1;
end.
Практическая работа 1
Набрать программу и запустить на выполнение
Рабочую программу сохранить в файле gr10_*.pas (*- номер компьютера)
12. Работа с генератором случайных чисел
Функция, формирующая случайное число
Random(X);
X- параметр, указывающий диапазон значений случайного числа. Если Х задан, то 0RezX, а если Х не задан, то 0Rez
Пример
Вывести на экран 20 шариков
на случайное место (в пределах экрана)
случайного цвета (1..255 цветов)
случайного радиуса (1..50 точек)
uses GraphABC,crt;
label 1;
var x,y,k,r,c:integer;
begin
SetWindowCaption('в относит. коорд.');
SetWindowHeight(600);
SetWindowWidth(800);
K:=0;
repeat
K:=K+1;
C:=rgb(random(255),random(255),random(255));
X:=random(800);
Y:=random(600);
R:=random(60);
SetPenColor(c);
SetBrushColor(c);
circle(x,y,r);
delay(100);
UntilK=50;
end.
13. Вложенные повторения
Задача
Заполнить весь экран цепочками из шариков
Разделим решение на несколько этапов
Выделить тот элемент рисунка, который повторяется на экране (в данной задаче это шарик)
Выбрать из рисунка одну строку из повторяющихся элементов и составить программу вывода ее на экран.
Для вывода любой другой строки надо изменить только координату У
Для вывода всех строк по порядку надо изменять координату У с помощью оператора повторения
uses GraphABC,crt;
var x,y:integer;
begin
SetWindowCaption('в относит. коорд.');
SetWindowHeight(440);
SetWindowWidth(640);
Y:=-10;
Repeat
X:=0;Y:=Y+20;//изменение координаты У у строки
Repeat
X:=X+20; //изменение координаты Х шарика
SetPenColor(clRed);
SetBrushColor(clRed);
Ellipse(X,Y,x+20,y+20);
Until X=600;
Until Y=400;
end.
Практическая работа 1
Запустить файл kr.exe
Выделить элемент рисунка, который повторяется
Выписать в тетрадь цветовую гамму рисунка
Набрать программу по аналогии с файлом kr.exe и запустить на выполнение