Методическое пособие Построение графиков в модуле GraphABC языка программирования ABCPascal 9 - 11 класс
методическая разработка по информатике и икт (9 класс)

Методическое пособие

Построение графиков в модуле GraphABC
языка программирования ABCPascal

9 - 11 класс

 

Скачать:

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


Подписи к слайдам:

Слайд 1

учитель информатики и ИКТ Пунгер Ирина Евгеньевна ГБОУ школа 297 Пушкинского района г. Санкт-Петербург

Слайд 2

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 кол - во делений ОХ и ОУ кол-во повторений тела цикла подписи делений задаем цвет линии рисуем вертикальные линии (промежуточные линии сетки) рисуем горизонтальные линии (промежуточные линии сетки)

Слайд 3

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 ; задаем цвет линии (черный) задаем толщину осей координат рисуем ось ОУ рисуем стрелочки на оси ОУ рисуем ось ОХ рисуем стрелочки на оси ОХ создаем подписи делений преобразует целое число к строке подписи коор-т полож. ось ОХ подписи коор-т отриц. ось ОХ преобразует целое число к строке подписи коор-т полож. ось ОУ подписи коор-т отриц. ось ОУ

Слайд 4

procedure sinus(a,b,c: integer); var x,y: real; xscreen,yscreen: integer; begin x:=-keox; while x

Слайд 5

procedure parabola(a,b,c: real); var x,y: real; xscreen,yscreen: integer; begin x:=-keox; while x

Слайд 6

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 . инициализация задаем размер деления ширина плоскости высота плоскости находим начало координат находим количество точек, в которых вычисляется значение функции задаем размер экрана вызов процедуры (рисуем оси) (строим синус) (строим параболу)

Слайд 7

Справка языка программирования 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

                                                                        {тело цикла}

      end;


Основные функции в модуле GraphABC

Функция – это вспомогательный алгоритм (подпрограмма), результатом работы которого является некоторое значение.

Примеры:

  • вычисление;
  • расчет значений по сложным формулам;
  • ответ на вопрос (простое число или нет?).

Зачем?

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

Определение размеров графического окна (все размеры графического окна, а так же координаты указываются в пикселях)

<переменная>:=WindowWidth; - возвращает текущую ширину графического окна.

<переменная>:=WindowHeight; - возвращает текущую высоту графического окна.

Установка размеров графического окна.

SetWindowWidth(ширина) - устанавливает ширину графического окна.

SetWindowHeight(высота) - устанавливает высоту графического окна.

SetWindowSize(ширина,высота) - устанавливает ширину и высоту графического окна.

Графические примитивы.

  1. Линия
  2. Прямоугольник
  3. Окружность 
  4. Эллипс
  5. Сектор
  6. Дуга
  7. Точка

Линия

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 класса)....

Методическое пособие "Построение кусочно заданных функций"

Понятие о кусочных функциях, построение графика кусочной функции....