Методическое пособие Построение графиков в модуле GraphABC языка программирования ABCPascal 9 - 11 класс
методическая разработка по информатике и икт (9 класс)
Методическое пособие
Построение графиков в модуле GraphABC
языка программирования ABCPascal
9 - 11 класс
Скачать:
Вложение | Размер |
---|---|
Презнтация Построение графиков в PascalABC | 605 КБ |
Пособие | 100 КБ |
Предварительный просмотр:
Подписи к слайдам:
uses graphABC; var m,ww,wh,x0,y0,keox,keoy:integer; procedure osi; var i: integer s: string; begin setpencolor(rgb(100,100,100)); for i:=1 to keox do begin line(x0+m*i,0,x0+m*i,wh); line(x0-m*i,0,x0-m*i,wh); end ; for i:=1 to keoy do begin line(0,y0+m*i,ww,y0+m*i); line(0,y0-m*i,ww,y0-m*i); end ; m – цена деления ; ww - ширина плоскости ; wh - высота плоскости ; x 0, y 0 - начало координат ; keox , keoy кол - во делений ОХ и ОУ кол-во повторений тела цикла подписи делений задаем цвет линии рисуем вертикальные линии (промежуточные линии сетки) рисуем горизонтальные линии (промежуточные линии сетки)
setPencolor(rgb(0,0,0)); setpenwidth(3); line(x0,0,x0,wh); line(x0+3,15,x0,0); line(x0-3,15,x0,0); line(0,y0,ww,y0); line(ww-15,y0+3,ww,y0); line(ww-15,y0-3,ww,y0); for i:=1 to keox do begin s:=intToStr(i); textOut(x0+m*i,y0+2,s); textOut(x0-m*i,y0+2,'-'+s); end ; for i:=1 to keoy do begin s:=intToStr(i); textOut(x0-14,y0-i*m,s); textOut(x0-14,y0+i*m,'-'+s); end ; end ; задаем цвет линии (черный) задаем толщину осей координат рисуем ось ОУ рисуем стрелочки на оси ОУ рисуем ось ОХ рисуем стрелочки на оси ОХ создаем подписи делений преобразует целое число к строке подписи коор-т полож. ось ОХ подписи коор-т отриц. ось ОХ преобразует целое число к строке подписи коор-т полож. ось ОУ подписи коор-т отриц. ось ОУ
procedure sinus(a,b,c: integer); var x,y: real; xscreen,yscreen: integer; begin x:=-keox; while x procedure parabola(a,b,c: real); var x,y: real; xscreen,yscreen: integer; begin x:=-keox; while x begin m:=50; ww:=800; wh:=700; x0:= ww div 2; y0:= wh div 2; keox:= ww div 2 div m; keoy:=wh div 2 div m; setwindowSIze(ww,wh); osi; sinus(1,1,0); parabola(1/2,-1,-1); end . инициализация задаем размер деления ширина плоскости высота плоскости находим начало координат находим количество точек, в которых вычисляется значение функции задаем размер экрана вызов процедуры (рисуем оси) (строим синус) (строим параболу) Справка языка программирования ABCPascal
Предварительный просмотр:
Государственное бюджетное общеобразовательное учреждение средняя общеобразовательная школа №297 Пушкинского района Санкт-Петербурга
Методическое пособие
Построение графиков в модуле GraphABC
языка программирования ABCPascal
9 - 11 класс
подготовила
Пунгер Ирина Евгеньевна
учитель информатики и ИКТ
г. Санкт-Петербург
2022 г.
Система Pascal ABC предназначена для обучения программированию на языке Паскаль. Эта среда близка к стандартным по возможностям языка программирования и иметь достаточно богатые и современные библиотеки стандартных подпрограмм.
Система Pascal ABC основана на языке Delphi Pascal и призвана осуществить постепенный переход от простейших программ к модульному, объектно-ориентированному, событийному и компонентному программированию.
Модуль растровой графики GraphABC обходится без объектов, хотя его возможности практически совпадают с графическими возможностями Borland Delphi. Он доступен в несобытийных программах и позволяет легко создавать анимацию без мерцания.
В языке Pascal ABC имеются арифметические операции с типизированными указателями (в стиле языка C), а также тип complex, предназначенный для работы с комплексными числами.
Компилятор Pascal ABC является компилятором переднего плана (front-end). Это означает, что он не генерирует исполняемый код в виде .exe-файла, а создает в результате компиляции дерево программы в памяти, которое затем выполняется с помощью встроенного интерпретатора. В итоге скорость работы программы примерно в 20 раз медленнее скорости работы этой же программы, откомпилированной в среде Borland Pascal, и в 50 раз медленнее.
Синтаксис, общий вид программы
Программа – это алгоритм, записанный на каком-либо языке программирования (набор команд для компьютера).
Команда – это описание действий, которые должен выполнить компьютер.
Из чего состоит программа?
program <имя программы>;
const …;{константы}
var …; {переменные}
begin
… {основная программа}
end.
Константа – постоянная величина, имеющая имя.
Переменная – изменяющаяся величина, имеющая имя (ячейка памяти).
Процедура – вспомогательный алгоритм, описывающий некоторые действия (рисование окружности).
Функция – вспомогательный алгоритм для выполнения вычислений (вычисление квадратного корня, sin).
Имена программы, констант, переменных могут включать
- латинские буквы (A-Z)
- цифры
- знак подчеркивания _
Имена НЕ могут включать
- русские буквы
- пробелы
- скобки, знаки +, =, !, ? и др.
Переменные
Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы.
Типы переменных:
- integer { целая }
- real { вещественная }
- char { один символ }
- string { символьная строка }
- boolean { логическая }
Объявление переменных (выделение памяти):
var a, b: integer;
Q: real;
s1, s2: string;
Как изменить значение переменной?
Оператор – это команда языка программирования высокого уровня.
Оператор присваивания - служит для изменения значения переменной.
Общая структура:
<имя переменной> := <выражение>;
Арифметическое выражение может включать
- константы
- имена переменных
- знаки арифметических операций
- вызовы функций
- круглые скобки
Пример:
program qq;
var a, b: integer;
begin
a := 5;
b := a + 7;
a := (a + 3)*(b – 5);
end.
Алгоритмические структуры
Базовая структура следование - образуется из последовательности действий, следующих одно за другим.
Базовая структура ветвление - обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран.
Структура ветвление существует в четырех основных вариантах:
• если-то:
• если-то-иначе:
• выбор:
• выбор – иначе:
Общий вид:
If <условие> then begin
действия 1;
end
else begin
действия 2
end;
Базовая структура цикл – это многократное выполнение одинаковой последовательности действий (тело цикла)
- цикл с известным числом шагов
- цикл с неизвестным числом шагов (цикл с условием)
Общий вид:
Увеличение переменной на 1:
for <переменная> := <НачЗнач> to <КонЗнач> do begin
{тело цикла}
end;
Уменьшение переменной на 1:
for <переменная>:=<НачЗнач> downto <КонЗнач> do begin
{тело цикла}
Основные функции в модуле GraphABC
Функция – это вспомогательный алгоритм (подпрограмма), результатом работы которого является некоторое значение.
Примеры:
- вычисление;
- расчет значений по сложным формулам;
- ответ на вопрос (простое число или нет?).
Зачем?
- для выполнения одинаковых расчетов в различных местах программы
- для создания общедоступных библиотек функций
Определение размеров графического окна (все размеры графического окна, а так же координаты указываются в пикселях)
<переменная>:=WindowWidth; - возвращает текущую ширину графического окна.
<переменная>:=WindowHeight; - возвращает текущую высоту графического окна.
Установка размеров графического окна.
SetWindowWidth(ширина) - устанавливает ширину графического окна.
SetWindowHeight(высота) - устанавливает высоту графического окна.
SetWindowSize(ширина,высота) - устанавливает ширину и высоту графического окна.
Графические примитивы.
- Линия
- Прямоугольник
- Окружность
- Эллипс
- Сектор
- Дуга
- Точка
Линия
LineTo(x,y) - рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y).
Line(x1,y1,x2,y2) - рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2).
SetPenColor(color) - устанавливает цвет пера, задаваемый параметром color.
Используемые цвета
clBlack –черный clPurple – фиолетовый clWhite – белый clMaroon – темно-красный clRed – красный clNavy – темно-синий clGreen – зеленый clBrown – коричневый clBlue – синий clSkyBlue – голубой clYellow – желтый clCream – кремовый | clAqua – бирюзовый clOlive – оливковый clFuchsia – сиреневый clTeal – сине-зеленый clGray – темно-серый clLime – ярко-зеленый clMoneyGreen – цвет зеленых денег clLtGray – светло-серый clDkGray – темно-серый clMedGray – серый clSilver – серебряный |
SetPenWidth(n) - устанавливает ширину (толщину) пера, равную n пикселям.
SetPenStyle(номер от 1 до 6 или название) - устанавливает стиль пера, задаваемый номером или символической константой (см. справочную систему). По умолчанию задается стиль 6 – сплошная линия. Стиль можно применить только для линии стандартной толщины (1 пиксель).
Прямоугольник
Rectangle(x1,y1,x2,y2) - рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2).
FloodFill(x,y,color) - заливает замкнутую область одного цвета цветом color, начиная с точки (x,y).
SetPenWidth(w); SetPenColor(color) - цвет и толщина контура
Окружность
Circle(x,y,r) - рисует окружность с центром в точке (x,y) и радиусом r.
Эллипс
Ellipse(x1,y1,x2,y2) - рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).
Дуга окружности
Arc(x,y,r,a1,a2) - рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки).
Сектор
Arc(x,y,r,a1,a2) - рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки).
Точка
SetPixel(x,y,color) - закрашивает один пиксель с координатами (x,y) заданным цветом.
MoveTo(x,y) - передвигает невидимое перо к точке с координатами (x,y).
Заливка кистью
SetBrushColor(color) - устанавливает цвет кисти.
Заливка кистью распространяется на замкнутый контур, описание которого следует за процедурой установки цвета кисти.
SetBrushStyle(номер от 0 до 7 или название) - устанавливает стиль кисти, задаваемый номером или символической константой (см. справочную систему). По умолчанию задается стиль 0 – сплошная заливка цветом.
Заливка кистью (цветом и стилем) распространяется на замкнутый контур, описание которого следует за процедурами установки цвета и стили кисти.
Цветовая палитра RGB
Цвет можно задавать и с помощью функции RGB(r,g,b), где r, g и b – целые числа в диапазоне от 0 до 255.
Функция возвращает целое значение, являющееся кодом цвета, который содержит красную, зеленую и синюю составляющие с интенсивностями r, g и b соответственно (0 соответствует минимальной интенсивности,
255 – максимальной).
RGB(255,255,255) – белый цвет
RGB(0,0,0) – черный цвет
RGB(255,0,0) – красный цвет
RGB(0,255,0) – зеленый цвет
RGB(0,0,255) – синий цвет
Можно сгенерировать случайный цвет:
RGB(Random(255),Random(255),Random(255))
ClearWindow; - очищает графическое окно белым цветом.
ClearWindow(color); - очищает графическое окно указанным цветом.
Вывод текста в графическое окно
Текст можно вывести с помощью операторов GotoXY(x,y) и Write(‘текст’), подключив дополнительно модуль Crt.
TextOut(x,y,’строка’); - выводит строку текста в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст).
Действия со шрифтом
По умолчанию установлен шрифт, имеющий наименование MS Sans Serif.
SetFontColor(color) - устанавливает цвет шрифта.
SetFontSize(sz) - устанавливает размер шрифта в пунктах.
SetFontStyle(fs) - устанавливает стиль шрифта.
Стили шрифта задаются именованными константами:
fsNormal – обычный;
fsBold – жирный;
fsItalic – наклонный;
fsBoldItalic – жирный наклонный;
fsUnderline – подчеркнутый;
fsBoldUnderline – жирный подчеркнутый;
fsItalicUnderline – наклонный подчеркнутый;
fsBoldItalicUnderline – жирный наклонный подчеркнутый.
Описание процедур и функций
Процедура или функция представляет собой последовательность операторов, которая имеет имя, список параметров и может быть вызвана из различных частей программы. Функции, в отличие от процедур, в результате своего выполнения возвращают значение. Для единообразия функции и процедуры называются подпрограммами.
Любая используемая в программе процедура или функция должна быть предварительно описана в разделе описаний.
Описание процедуры имеет вид:
procedure имя(список формальных параметров);
раздел описаний
begin
операторы
end;
Описание функции имеет вид:
function имя(список формальных параметров): тип возвращаемого значения;
раздел описаний
begin
операторы
end;
Операторы подпрограммы, окаймленные операторными скобками begin/end, называются телом этой подпрограммы.
Список формальных параметров вместе с окружающими скобками может отсутствовать. Он состоит из одной или нескольких секций, разделенных символом ";". Каждая секция состоит из списка переменных, перечисляемых через запятую, после которого следуют двоеточие и тип. Каждая секция может предваряться служебным словом var, что указывает на то, что параметры передаются по ссылке
Раздел описаний процедуры или функции устроен так же, как и раздел описаний основной программы. Здесь описываются так называемые локальные переменные и константы, типы а также вложенные процедуры и функции. Все такие локальные объекты доступны лишь внутри данной подпрограммы и не видны извне.
Параметры процедур и функций
Параметры, указываемые при описании подпрограммы, называются формальными. Параметры, указываемые при вызове подпрограммы, называются фактическими.
Если формальный параметр описан со служебным словом var, то его называют параметром-переменной и говорят, что он передается по ссылке. Если же параметр описан без слова var, то его называют параметром-значением и говорят, что он передается по значению.
Если параметр передается по значению, то при вызове подпрограммы значения фактических параметров присваиваются соответствующим формальным параметрам. Например, пусть имеется следующее описание процедуры:
procedure PrintSquare(i: integer);
begin
writeln(i*i);
end;
Тогда при вызове PrintSquare(5*a-b) значение 5*a-b будет вычислено и присвоено переменной i, после чего выполнится тело процедуры.
Если параметр передается по ссылке, то при вызове подпрограммы фактический параметр заменяет собой в теле процедуры соответствующий ему формальный параметр. В итоге любые изменения формального параметра-переменной внутри процедуры приводят к соответствующим изменениям фактического параметра. Например, если описана процедура
procedure Mult2(var a: integer);
begin
a:=a*2;
end;
то после вызова Mult(d) значение d увеличится в 2 раза.
В качестве фактического параметра-значения можно указывать любое выражение, тип которого совпадает с типом формального параметра или неявно к нему приводится. В качестве фактического параметра-переменной можно указывать только переменную, тип которой в точности совпадает с типом формального параметра.
Приложение
procedure osi;
var i: integer;
s: string;
begin
setpencolor(rgb(100,100,100));
for i:=1 to keox do begin
line(x0+m*i,0,x0+m*i,wh);
line(x0-m*i,0,x0-m*i,wh);
end;
for i:=1 to keoy do begin
line(0,y0+m*i,ww,y0+m*i);
line(0,y0-m*i,ww,y0-m*i);
end;
//------------------------------
setPencolor(rgb(0,0,0));
setpenwidth(3);
line(x0,0,x0,wh);
line(x0+3,15,x0,0);
line(x0-3,15,x0,0);
line(0,y0,ww,y0);
line(ww-15,y0+3,ww,y0);
line(ww-15,y0-3,ww,y0);
for i:=1 to keox do begin
s:=intToStr(i);
textOut(x0+m*i,y0+2,s);
textOut(x0-m*i,y0+2,'-'+s);
end;
for i:=1 to keoy do begin
s:=intToStr(i);
textOut(x0-14,y0-i*m,s);
textOut(x0-14,y0+i*m,'-'+s);
end;
end;
procedure sinus(a,b,c: integer);
var
x,y: real;
xscreen,yscreen: integer;
begin
x:=-keox;
while x
y:=a*sin(b*x)+c;
xscreen:=round(x0+x*m);
yscreen:=round(y0-y*m);
putpixel(xscreen,yscreen,clred);
x:=x+0.001;
end;
end;
procedure parabola(a,b,c: real);
var
x,y: real;
xscreen,yscreen: integer;
begin
x:=-keox;
while x
y:=a*x*x+b*x+c;
xscreen:=round(x0+x*m);
yscreen:=round(y0-y*m);
putpixel(xscreen,yscreen,clblue);
x:=x+0.001;
end;
end;
begin
//---------------Инициализация -----------
m:=50;
ww:=800;
wh:=700;
x0:= ww div 2;
y0:= wh div 2;
keox:= ww div 2 div m;
keoy:=wh div 2 div m;
setwindowSIze(ww,wh);
//Оси
osi;
//график
sinus(1,1,0);
parabola(1/2,-1,-1);
end.
По теме: методические разработки, презентации и конспекты
Алгоритмы построения графиков с модулем
Электронное пособие создано для элективного курса "Уравнения, неравенства и графики с модулем". В нем приводятся алгоритмы построения графиков с модулем трёх видов,а далее применяются эти алгоритмы к ...
Учебно-методическое пособие"артикли имен существительных в английском языке"
пояснительна записка, правила, тренировочные упражнения, тесты...
Методическое пособие по программе "Домашнее чтение" для учащихся 3-х классов школ с преподаванием ряда предметов на английском языке
Данное методическое пособие разработано в рамках программы «Домашнее чтение», предназначенной для учащихся 3-х классов школ с преподаванием ряда предметов на английском языке. Цикл занятий основан на ...
Методическое пособие к курсу «Американская литература» для учащихся 9-х классов школ с преподаванием ряда предметов на английском языке
Методическое пособие к курсу «Американская литература» для учащихся 9-х классов школ с преподаванием ряда предметов на английском языке Данное методическое пособие разработано в рамках программы ...
Конспект урока по теме "Построение графиков функций в MS Excel 2007" 8 класс
Конспект урока по теме "Построение графиков функций в MS Excel 2007" 8 класс. Конспект составлен в соответствии с требованиями ФГОС второго поколения....
Учебно-методическое пособие "Проведение диагностических работ по английскому языку" в 5 классе
Данное учебно-методическое пособие поможет провести диагностику знаний в 5 классе по Unit 2 (учебник "Enjoy English" авторов Биболетовой М.З. для 5 класса)....
Методическое пособие "Построение кусочно заданных функций"
Понятие о кусочных функциях, построение графика кусочной функции....