СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Построение графиков функций: y=|x| , y=x^2, y=1/x^3 , y=exp(x) в среде Turbo Pascal

Категория: Информатика

Нажмите, чтобы узнать подробности

Выполнив практическую работу, обучающиеся научатся составлять программы построения графиков функций: y=|x|  (абсолютное значение х), y=x2 (парабола),  y=1/x3 (гипербола), y=exp(x) (экспоненциальная функция) в среде Turbo Pascal.

Просмотр содержимого документа
«Построение графиков функций: y=|x| , y=x^2, y=1/x^3 , y=exp(x) в среде Turbo Pascal»

22






МУНИЦИПАЛЬНОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ДОПОЛНИТЕЛЬНОГО ОБРАЗОВАНИЯ ДЕТЕЙ

«СТАНЦИЯ ЮНЫХ ТЕХНИКОВ ГОРОДА ЕВПАТОРИИ РЕСПУБЛИКИ КРЫМ»

(МБОУДОД "СЮТ")


297402, Российская Федерация, Республика Крым, город Евпатория, ул. Революции, д. 75, тел. (06569) 3-03-30,

е-mail: [email protected]



План-конспект учебного занятия

кружок «Компьютер и информационные технологии», группа 2 – А


Тема учебного занятия: «Построение графиков функций: y= , y=, y= , y=exp(x) в среде Turbo Pascal».


Цель учебного занятия: формирование у детей знаний и умений работы с языком программирования Pascal, организация работы по усвоению детьми основных понятий, принципов работы с данным языком.


Задачи учебного занятия:

Образовательная:

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

  • обеспечить усвоение основных задач, входящих в содержание темы учебного занятия;

  • научить составлять программы построения графиков функций: y= (абсолютное значение х), y= (парабола), y= (гипербола), y=exp(x) (экспоненциальная функция) в среде Turbo Pascal;

  • формировать умение правильно и грамотно выражать свои мысли.


Развивающая:

  • развивать творческие способности, память, мышление обучающихся, навыки индивидуальной практической деятельности.


Воспитательная:

  • воспитывать аккуратность, внимательность, вежливость, дисциплинированность и бережное отношение к вычислительной технике.


Тип учебного занятия: формирование новых знаний, навыков и умений.


Методы работы: объяснительно-иллюстративный, практическая работа.


Формы работы: индивидуальная, групповая.


Оборудование: персональные компьютеры, доска, мел.


Дидактические материалы: карточки с заданиями.


Ход учебного занятия.

  • Организационный момент;

  • ТБ при работе за компьютером;

  • Актуализация опорных знаний:

  • Мотивация учебной деятельности обучающихся:

  • Выполнение практической работы;

  • Физкультминутка;

  • Итоги учебного занятия:

  • Вы научились составлять программы построения графиков функций: y= (абсолютное значение х), y= (парабола), y= (гипербола), y=exp(x) (экспоненциальная функция) в среде Turbo Pascal.


1. Организационный момент.

Приветствие, проверка присутствующих. Объяснение хода учебного занятия.


2. ТБ при работе за компьютером.


3. Актуализация опорных знаний:


Основные принципы работы с языком Pascal.

Pascal – один из самых известных языков программирования. Создан в 1968 – 1969 годах швейцарским ученым Никлаусом Виртом, был назван в честь французского математика и физика Блеза Паскаля, и используется для обучения программированию по сей день.





Перед началом работы следует напомнить, что язык Pascal – это совокупность трёх составляющих: алфавита, синтаксиса (правил написания объектов языка) и семантики (правил использования этих объектов).
Алфавит Pascal состоит из:

  1. Прописных и строчных букв латиницы: A...Z, a…z;

  2. Цифр: 0...9;

  3. Специальных символов: + — * / = .,:; ‘ # ( ) { } [ ] и их комбинаций: «=» «


Задача же синтаксиса и семантики состоит в том чтобы, правильно написать раздел программы и правильно составить ее структуру, в противном же случае ваша программа будет работать неправильно (или же не работать вовсе!).

Структура программы выглядит так:

Program «имя программы»; — заголовок программы;
(Примечание: в конце строки ставится точка с запятой, не во всех, но в большинстве) 
Uses (название библиотеки); здесь подключаются библиотеки, которые дают дополнительные возможности при создании программ;
Label (имя метки); здесь, если необходимо, прописываются метки, позволяющие переходить в разные места программы (о них позже);
Const тут указываем переменные с постоянной величиной, например, p=3.14;
Var тут через запятую перечисляем все переменные, а затем, указываем тип данных (Пример: Var: K, L, M: integer; N, O: real; (если несколько типов));
Begin (здесь без точки с запятой)
Дальше следует основной блок программы;
end. – конец программы (обязательно после “end” точка, если только это конец программы, а не операторные скобки).


Следует заметить, что из вышеперечисленных разделов обязательными есть только «Var», «Begin» и «end», остальные же могут применяться, если это требуется в ходе выполнения поставленной задачи. 

Для использования графических возможностей Турбо Паскаля необходимо в блоке описания uses подключить графический модуль Graph. Перечислим набор графических функций и процедур, основные из которых рассмотрены ниже.


Модуль Graph

ТР обладает достаточно разнообразными средствами для работы со стандартным VGA экраном (возможно также использование и и других типов видеоадаптеров).

VGA адаптер имеет разрешение 640х480 пиксель (точка (0,0) в левом верхнем углу экрана), 16 цветов.

Перед началом работы с графикой необходимо ее инициализировать, а по окончании - "закрыть". Все графические процедуры и функции находятся в модуле Graph, поэтому также необходимо его подключение.


Общая структура графической программы:

Uses crt, graph;

var Gd, Gm: Integer;

begin

Gd: = Detect;

InitGraph (Gd, Gm, 'c: \bp\bgi');

...

{Здесь построение изображения}

...

ReadKey;

CloseGraph;

end.

Путь c: \bp\bgi указывает расположение файла egavga. bgi (драйвер графического адаптера). На разный компьютерах этот путь может быть разным. Если файл egavga. bgi поместить в каталог с программой, то путь можно не указывать.


Основные графические процедуры и функции:

Построение фигур

PutPixel (x,y,c) - отображает на экране точку с координатами (x,y) и цветом c

Line (x1,y1,x2,y2) - рисует линию с началом в точке (x1,y1) и концом - (x2,y2)

Rectangle (x1,y1,x2,y2) - рисует контур прямоугольника с диагональю (x1,y1) - (x2,y2)

Bar (x1,y1,x2,y2) - рисует закрашенный прямоугольник с диагональю (x1,y1) - (x2,y2)

Circle (x,y,r) - рисует окружность с центром (x,y) и радиусом r

Ellipse (x,y,ba,ea,xr,yr) - рисует дугу эллипса с центром в (x,y), горизонтальным и вертикальным радиусом xr и yr, и начальным и конечным углом ba и ea

FillEllipse (x,y,xr,yr) - рисует закрашенный эллипс с центром в (x,y), горизонтальным и вертикальным радиусом xr и yr


Определение цветов и стилей

GetPixel (x,y) - возвращает цвет пиксела с координатами (x,y)

SetColor (c) - устанавливает цвет изображения (для линий) (смотри таблицу1)

SetFillStyle (p,c) - устанавливает текущий стиль и цвет c (для "закрашенных" фигур)

FloodFill (x,y,b) - закрашивает замкнутую область с внутренней точкой (x,y) и цветом контура b


Работа с текстом

OutTextXY (x,y,st) - выводит на экран строку st с позиции (x,y)

SetTextStyle (f,d,s) - устанавливает шрифт f, его направление d и размер


Таблица1


Сообщения об ошибках.


function GraphErrorMsg (ErrorCode: integer): String; Возвращает строку сообщения об ошибке для заданного кода ErrorCode.


function GraphResult: integer; Возвращает код ошибки для последней графической операции.



Графические процедуры


Arc (x,y: integer; St,En,R: word);{рисование дуги, где x,y - коорд. центра дуги, R - радиус, St, En - нач. и конечный углы. }




ClearDevice; {очистка экрана}

Circle (x,y: integer; R: word);{окружность радиуса R

cцентром в точке (x,y) }

CloseGraph; {закрытие графики}

InitGraph (gd,gm: integer; Path: string);{инициализация графики, где

gd - графический драйвер,

gm - графический режим,

Path - путь размещения файла

с расширением. bgi. }

Line (x1,y1,x2,y2: integer); {рисование линии, проходящей через две точки:

с координатами (x1,y1) и (x2,y2) }

LineRel (dx,dy: integer);{рисование линии: dx, dy- приращения

координат к координатам текущей позиции курсора}


LineTo (x,y: integer);{рисование линии, проходящую через текущую позицию курсора и точку с координатами (x,y) }

Moveto (x,y: integer);{задание координат текущей точки}

OutText (T: string);{вывод текста в текущую точку}

OutTextXY (x,y: integer; T: string);{вывод текста в точку с координатами х, у}

Rectangle (x1,y1,x2,y2: integer);{рисование прямоугольника: (x1,y1) и (x2,y2) - координаты противоположных вершин}

PutPixel (x,y: integer; c: word);{выводит точку с координатами (х, у) цветом с}



Графические функции


GetMaxX - определяет максимальный размер экрана по оси x.

GetMaxY - определяет максимальный размер экрана по оси y.

GetX - координата текущей позиции курсора по оси x.

GetY - координата текущей позиции курсора по оси y.


Машинные координаты.

Начало машинной системы координат, направление осей, а также максимальные значения координат монитора показаны на рисунке


На рисунке приведена также машинная (xm, ym) и физическая (x,y) системы координат. Для изображения на экране точки с физическими координатами (x,y) необходимо определить ее машинные координаты (xm, ym). Расчетные формулы имеют следующий вид (попробуйте самостоятельно получить эти формулы):


xm=x0+x*Mx,

ym=y0-y*My,


где Mx, My-масштабы соответственно по осям x и y, которые показывают число пикселей в одной физической единице,


x, y - физические координаты точки,

xm, ym - машинные координаты точки,

x0, y0 - машинные координаты начала физической системы координат.



Пример. Нарисовать через весь экран горизонтальную и вертикальную линии, пересекающиеся в центре монитора.

Этапы разработки программы сведены в таблицу.


Таблица

N

Этапы программирования

Выполнение

1.

Постановка задачи

Нарисовать через весь экран горизонтальную и вертикальную линии, пересекающиеся в центре монитора.

2.

Математическое описание

Изобразим вид экрана с указанием координат

требуемых линий


3.

Разработка структограммы

4.

Написание программы

Program P5;

Uses graph; {подключениеграф. модуля}

Var gd,gm: integer;

Begin

gd: =detect; {определениеграф. драйвера}

InitGraph (gd,gm,’ ‘); {инициализация

графики}

Line (0, round (GetMaxY/2), GetMaxX,

Round (GetMaxY/2)); {гориз. лин. }

Line (round (GetMaxX/2),0,Round (GetMaxX/2), GetMaxY);

{вертик. лин. }

Readln; {пустойввод}

CloseGraph; {закрытие графики}

End.

5.

Отладка и получение результатов

Выполнить самостоятельно



4. Мотивация учебной деятельности обучающихся:

Создавая Паскаль, Вирт преследовал 2 цели:

  • во-первых, разработать язык, пригодный для обучения программированию как систематической дисциплине;

  • во-вторых, реализация языка должна быть эффективной и надежной на существующих вычислительных машинах.


Одним из достоинств языка Pascal является то, что он воплотил в себе идею структурного программирования, суть которой заключается в том, что с помощью нескольких конструкций можно выразить в принципе любые алгоритмы: линейные, ветвление, циклические конструкции.

Это был самый первый простой язык (ord pascal) для программирования, помогающий решить множество практических задач прошлого столетия (1970 год). Он был разработан группой ученых. С расширением платформ были созданы новые версии этой программы, а Pascal стал классическим языком программирования.


5. Выполнение практической работы.

Задание 1. Написать программу построения графика функции y= (абсолютное значение х) для xϵ [-4; 4].

Решение.

Program GRAFABS; {заголовок программы}

uses Graph, crt; {подключение библиотек}

var a,b,i,dx,dy,dx1: integer; x,y: real; s:string; {описание переменных, используемых в программе}

begin {начало основной программы}

a:=Detect; {автоматическое определение аппаратуры}

dx:=getmaxx div 2; {определяем середину координатной оси ОХ. Функцию getmax можно посмотреть, нажав Ctrl+F1}

dy:=getmaxy div 2; {определяем середину координатной оси ОY}

InitGraph(a,b,’C:\BP\BGI’); {переход в графический режим}

line(dx,0,dx,getmaxy); {рисуем координатную ось ОY}

line(0,dy,getmaxx,dy); {рисуем координатную ось ОХ}

line(getmaxx,dy,getmaxx-10,dy-5); {рисуем верхнюю стрелочку по координатной оси ОХ}

line(getmaxx,dy,getmaxx-10,dy+5); {рисуем нижнюю стрелочку по координатной оси ОХ }

OutTextXY(getmaxx-15,dy-15,’X’); {выводим надпись Х по оси ОХ}

line(dx,0,dx-5,10); {рисуем левую стрелочку по координатной оси ОY}

line(dx,0,dx+5,10); {рисуем правую стрелочку по координатной оси ОY}

OutTextXY(dx+15,10,’Y’); {выводим надпись Y по оси ОY}

dx1:=dx div 4; {определяем интервалы рисования}

setlinestyle(2,0,1); {процедура задаёт толщину и форму линии. 2 – вид, 0 – образец, 1 – толщина}

for i:=1 to 4 do {определяем четыре интервала рисования штриховых линий}

begin {начало подпрограммы}

line(dx+dx1*i,0,dx+dx1*i,getmaxy); {рисуем от оси ОY вправо вертикальные штриховые линии}

line(dx-dx1*i,0,dx-dx1*i,getmaxy); {рисуем от оси ОY влево вертикальные штриховые линии }

str(i,s); {процедура вывода строковой переменной}

OutTextXY(dx+dx1*i-10,dy+10,s); {рисуем номера интервалов справа}

OutTextXY(dx-dx1*i+10,dy+10,’-‘+s); {рисуем номера интервалов слева. + операция конкатенации или склеивания}

end; {окончание подпрограммы}

setlinestyle(2,0,1); {процедура задаёт толщину и форму линии. 2 – вид, 0 – образец, 1 – толщина}

for i:=1 to 4 do {определяем четыре интервала рисования штриховых линий}

begin {начало подпрограммы}

line(0,dy-dx1*i,getmaxx,dy-dx1*i); {рисуем горизонтальные штриховые линии вверх от оси ОХ}

line(0,dy+dx1*i,getmaxx,dy+dx1*i); {рисуем горизонтальные штриховые линии вниз от оси ОХ }

str(i,s); {процедура вывода строковой переменной}

OutTextXY(dx -10,dy-dx1*i+10,s); {рисуем номера интервалов сверху по ОY}

OutTextXY(dx-15,dy+dx1*i-10,’-‘+s); {рисуем номера интервалов снизу по ОY}

end; {конец подпрограммы}

OutTextXY(dx -10,dy +10,’0’); {обозначаем начало координат}

setcolor(7); {делает 7-ой цвет, светло-серый, в палитре цветом текущего рисунка (Line, Circle)}

OutTextXY(dx +17,dy +50,’Grafik funkzii: y=abs(x)’); {вывод названия графика функции}

x:=0; {начальное значение х}

while xdo {оператор цикла с предусловием для положительных значений х}

begin {начало подпрограммы}

x:=x+0.01; {задание приращения аргумента}

y:=abs(x); {определение функции}

setcolor(7); {задание цвета рисования. 7 – светло- серый }

circle(round(dx+dx1*x),round(dy-dx1*y),1); {рисуем прямую окружностями, функция round округляет значения до целого}

end; {конец подпрограммы}

x:=0; {начальное значение х}

while x-4 do {оператор цикла с предусловием для отрицательных значений х}

begin {начало подпрограммы}

x:=x-0.01; {задание приращения аргумента}

y:=abs(x); {определение функции}

setcolor(7); {задание цвета рисования. 7 – светло- серый }

circle(round(dx+dx1*x),round(dy-dx1*y),1); {рисуем прямую окружностями, функция round округляет значения до целого}

end; {конец подпрограммы}

readkey; {оператор, позволяющий вернуться в программу нажатием любой клавиши}

end. {конец программы}


Задание 2. Написать программу построения графика функции y= (парабола) для xϵ [-3; 3].

Решение.

Program PARABOLA; {заголовок программы}

uses Graph, crt; {подключение библиотек}

var a,b,i,dx,dy,dx1: integer; x,y: real; s:string; {описание переменных, используемых в программе}

begin {начало основной программы}

a:=Detect; {автоматическое определение аппаратуры}

InitGraph(a,b,’C:\BP\BGI’); {переход в графический режим}

for i:=0 to 640 do {прямой оператор цикла}

begin {начало основной программы}

putpixel(i,240,15); {рисуем координатную ось ОХ}

putpixel(320,i,15); { рисуем координатную ось ОY}

delay(10); {задежка 10 миллисекунд, показывает рисование осей координат}

end; {окончание подпрограммы}

dx:=getmaxx div 2; {определяем середину координатной оси ОХ. Функцию getmax можно посмотреть, нажав Ctrl+F1}

dy:=getmaxy div 2; {определяем середину координатной оси ОY}

line(getmaxx,dy,getmaxx-10,dy-5); {рисуем верхнюю стрелочку по координатной оси ОХ}

line(getmaxx,dy,getmaxx-10,dy+5); {рисуем нижнюю стрелочку по координатной оси ОХ}

OutTextXY(getmaxx-15,dy-15,’X’); {выводим надпись Х по оси ОХ}

line(dx,0,dx-5,10); {рисуем левую стрелочку по координатной оси ОY}

line(dx,0,dx+5,10); {рисуем правую стрелочку по координатной оси ОY}

OutTextXY(dx+15,10,’Y’); {выводим надпись Y по оси ОY}

dx1:=dx div 4; {определяем интервалы рисования}

setlinestyle(2,0,1); {процедура задаёт толщину и форму линии. 2 – вид, 0 – образец, 1 – толщина}

for i:=1 to 4 do {определяем четыре интервала рисования штриховых линий}

begin {начало подпрограммы}

line(dx+dx1*i,0,dx+dx1*i,getmaxy); {рисуем от оси ОY вправо вертикальные штриховые линии}

line(dx-dx1*i,0,dx-dx1*i,getmaxy); {рисуем от оси ОY влево вертикальные штриховые линии }

str(i,s); {процедура вывода строковой переменной}

OutTextXY(dx+dx1*i-10,dy+10,s); {рисуем номера интервалов справа}

OutTextXY(dx-dx1*i+10,dy+10,’-‘+s); {рисуем номера интервалов слева. + операция конкатенации или склеивания}

end; {окончание подпрограммы}

setlinestyle(2,0,1); {процедура задаёт толщину и форму линии. 2 – вид, 0 – образец, 1 – толщина}

for i:=1 to 4 do {определяем четыре интервала рисования штриховых линий}

begin {начало подпрограммы}

line(0,dy-dx1*i,getmaxx,dy-dx1*i); {рисуем горизонтальные штриховые линии вверх от оси ОХ}

line(0,dy+dx1*i,getmaxx,dy+dx1*i); {рисуем горизонтальные штриховые линии вниз от оси ОХ }

str(i,s); {процедура вывода строковой переменной}

OutTextXY(dx -10,dy-dx1*i+10,s); {рисуем номера интервалов сверху по ОY}

OutTextXY(dx-15,dy+dx1*i-10,’-‘+s); {рисуем номера интервалов снизу по ОY}

end; {конец подпрограммы}

OutTextXY(dx -10,dy +10,’0’); {обозначаем начало координат}

setcolor(3); {делает 3-ый цвет, бирюзовый, в палитре цветом текущего рисунка (Line, Circle)}

OutTextXY(dx +35,dy +50,’Parabola. Grafik funkzii: y=’); {вывод названия графика функции y=}

x:=0; {начальное значение х}

while xdo {оператор цикла с предусловием для положительных значений х}

begin {начало подпрограммы}

x:=x+0.01; {задание приращения аргумента}

y:= x*x; {определение функции: парабола}

setcolor(3); {задание цвета рисования. 3 – бирюзовый }

circle(round(dx+dx1*x),round(dy-dx1*y),1); {рисуем параболу окружностями, функция round округляет значения до целого}

end; {конец подпрограммы}

x:=0; {начальное значение х}

while x-3 do {оператор цикла с предусловием для отрицательных значений х}

begin {начало подпрограммы}

x:=x-0.01; {задание приращения аргумента}

y:= x*x; {определение функции: парабола}

setcolor(3); {задание цвета рисования. 3 – бирюзовый }

circle(round(dx+dx1*x),round(dy-dx1*y),1); {рисуем параболу окружностями, функция round округляет значения до целого}

end; {конец подпрограммы}

readkey; {оператор, позволяющий вернуться в программу нажатием любой клавиши}

end. {конец программы}


Задание3. Написать программу построения графика функции ), y= (гипербола) для xϵ [-4; 4].

Решение.

Program GIPERBOL; {заголовок программы}

uses Graph, crt; {подключение библиотек}

var a,b,i,dx,dy,dx1: integer; x,y: real; s:string; {описание переменных, используемых в программе}

begin {начало основной программы}

a:=Detect; {автоматическое определение аппаратуры}

InitGraph(a,b,’C:\BP\BGI’); {переход в графический режим}

dx:=getmaxx div 2; {определяем середину координатной оси ОХ. Функцию getmax можно посмотреть, нажав Ctrl+F1}

dy:=getmaxy div 2; {определяем середину координатной оси ОY}

line(dx,0,dx,getmaxy); {рисуем координатную ось ОY}

line(0,dy,getmaxx,dy); {рисуем координатную ось ОХ}

line(getmaxx,dy,getmaxx-10,dy-5); {рисуем верхнюю стрелочку по координатной оси ОХ}

line(getmaxx,dy,getmaxx-10,dy+5); {рисуем нижнюю стрелочку по координатной оси ОХ }

OutTextXY(getmaxx-15,dy-15,’X’); {выводим надпись Х по оси ОХ}

line(dx,0,dx-5,10); {рисуем левую стрелочку по координатной оси ОY}

line(dx,0,dx+5,10); {рисуем правую стрелочку по координатной оси ОY}

OutTextXY(dx+15,10,’Y’); {выводим надпись Y по оси ОY}

dx1:=dx div 4; {определяем интервалы рисования}

setlinestyle(2,0,1); {процедура задаёт толщину и форму линии. 2 – вид, 0 – образец, 1 – толщина}

for i:=1 to 4 do {определяем четыре интервала рисования штриховых линий}

begin {начало подпрограммы}

line(dx+dx1*i,0,dx+dx1*i,getmaxy); {рисуем от оси ОY вправо вертикальные штриховые линии}

line(dx-dx1*i,0,dx-dx1*i,getmaxy); {рисуем от оси ОY влево вертикальные штриховые линии }

str(i,s); {процедура вывода строковой переменной}

OutTextXY(dx+dx1*i-10,dy+10,s); {рисуем номера интервалов справа}

OutTextXY(dx-dx1*i+10,dy+10,’-‘+s); {рисуем номера интервалов слева. + операция конкатенации или склеивания}

end; {окончание подпрограммы}

setlinestyle(2,0,1); {процедура задаёт толщину и форму линии. 2 – вид, 0 – образец, 1 – толщина}

for i:=1 to 4 do {определяем четыре интервала рисования штриховых линий}

begin {начало подпрограммы}

line(0,dy-dx1*i,getmaxx,dy-dx1*i); {рисуем горизонтальные штриховые линии вверх от оси ОХ}

line(0,dy+dx1*i,getmaxx,dy+dx1*i); {рисуем горизонтальные штриховые линии вниз от оси ОХ }

str(i,s); {процедура вывода строковой переменной}

OutTextXY(dx -10,dy-dx1*i+10,s); {рисуем номера интервалов сверху по ОY}

OutTextXY(dx-15,dy+dx1*i-10,’-‘+s); {рисуем номера интервалов снизу по ОY}

end; {конец подпрограммы}

OutTextXY(dx -10,dy +10,’0’); {обозначаем начало координат}

setcolor(2); {делает 2-ый цвет, серый, в палитре цветом текущего рисунка (Line, Circle)}

OutTextXY(dx +10,dy +50,’Giperbola. Grafik funkzii: y=1/x*x*x’); {вывод названия графика функции}

x:=0; {начальное значение х}

while xdo {оператор цикла с предусловием для положительных значений х}

begin {начало подпрограммы}

x:=x+0.01; {задание приращения аргумента}

y:=1/x*x*x; {определение функции}

setcolor(2); {задание цвета рисования. 2 –серый }

circle(round(dx+dx1*x),round(dy-dx1*y),1); {рисуем гиперболу окружностями, функция round округляет значения до целого}

end; {конец подпрограммы}

x:=0; {начальное значение х}

while x-4 do {оператор цикла с предусловием для отрицательных значений х}

begin {начало подпрограммы}

x:=x-0.01; {задание приращения аргумента}

y:=1/x*x*x; {определение функции}

setcolor(2); {задание цвета рисования. 2 – серый }

circle(round(dx+dx1*x),round(dy-dx1*y),1); {рисуем гиперболу окружностями, функция round округляет значения до целого}

end; {конец подпрограммы}

readkey; {оператор, позволяющий вернуться в программу нажатием любой клавиши}

end. {конец программы}


Задание4. Написать программу построения графика функции y=exp(x) (экспоненциальная функция) для xϵ ]-10; 3[.

Решение.

Program EXPONENZ; {заголовок программы}

uses Graph, crt; {подключение библиотек}

var a,b,i,dx,dy,dx1: integer; x,y: real; s:string; {описание переменных, используемых в программе}

begin {начало основной программы}

a:=Detect; {автоматическое определение аппаратуры}

InitGraph(a,b,’C:\BP\BGI’); {переход в графический режим}

dx:=getmaxx div 2; {определяем середину координатной оси ОХ. Функцию getmax можно посмотреть, нажав Ctrl+F1}

dy:=getmaxy div 2; {определяем середину координатной оси ОY}

line(dx,0,dx,getmaxy); {рисуем координатную ось ОY}

line(0,dy,getmaxx,dy); {рисуем координатную ось ОХ}

line(getmaxx,dy,getmaxx-10,dy-5); {рисуем верхнюю стрелочку по координатной оси ОХ}

line(getmaxx,dy,getmaxx-10,dy+5); {рисуем нижнюю стрелочку по координатной оси ОХ }

OutTextXY(getmaxx-15,dy-15,’X’); {выводим надпись Х по оси ОХ}

line(dx,0,dx-5,10); {рисуем левую стрелочку по координатной оси ОY}

line(dx,0,dx+5,10); {рисуем правую стрелочку по координатной оси ОY}

OutTextXY(dx+15,10,’Y’); {выводим надпись Y по оси ОY}

dx1:=dx div 10; {определяем интервалы рисования}

setlinestyle(2,0,1); {процедура задаёт толщину и форму линии. 2 – вид, 0 – образец, 1 – толщина}

for i:=1 to 10 do {определяем десять интервалов рисования штриховых линий}

begin {начало подпрограммы}

line(dx+dx1*i,0,dx+dx1*i,getmaxy); {рисуем от оси ОY вправо вертикальные штриховые линии}

line(dx-dx1*i,0,dx-dx1*i,getmaxy); {рисуем от оси ОY влево вертикальные штриховые линии }

str(i,s); {процедура вывода строковой переменной}

OutTextXY(dx+dx1*i-10,dy+10,s); {рисуем номера интервалов справа}

OutTextXY(dx-dx1*i+10,dy+10,’-‘+s); {рисуем номера интервалов слева. + операция конкатенации или склеивания}

end; {окончание подпрограммы}

setlinestyle(2,0,1); {процедура задаёт толщину и форму линии. 2 – вид, 0 – образец, 1 – толщина}

for i:=1 to 10 do {определяем десять интервалов рисования штриховых линий}

begin {начало подпрограммы}

line(0,dy-dx1*i,getmaxx,dy-dx1*i); {рисуем горизонтальные штриховые линии вверх от оси ОХ}

line(0,dy+dx1*i,getmaxx,dy+dx1*i); {рисуем горизонтальные штриховые линии вниз от оси ОХ }

str(i,s); {процедура вывода строковой переменной}

OutTextXY(dx -10,dy-dx1*i+10,s); {рисуем номера интервалов сверху по ОY}

OutTextXY(dx-15,dy+dx1*i-10,’-‘+s); {рисуем номера интервалов снизу по ОY}

end; {конец подпрограммы}

OutTextXY(dx +3,dy +10,’0’); {обозначаем начало координат}

{writeln(‘Задайте основание степени с=’,c);

readln(c);}

setcolor(2); {делает 2-ый цвет, серый, в палитре цветом текущего рисунка (Line, Circle)}

OutTextXY(dx +21,dy +50,’Grafik funkzii: y=ex’); {вывод названия графика функции}

OutTextXY(dx +172,dy +43,’x’); {показатель функции}

x:=0; {начальное значение х}

while xdo {оператор цикла с предусловием для положительных значений х}

begin {начало подпрограммы}

x:=x+0.01; {задание приращения аргумента}

y:=exp(x); {определение функции}

setcolor(2); {задание цвета рисования. 2 –серый }

circle(round(dx+dx1*x),round(dy-dx1*y),1); {рисуем гиперболу окружностями, функция round округляет значения до целого}

end; {конец подпрограммы}

x:=0; {начальное значение х}

while x-10 do {оператор цикла с предусловием для отрицательных значений х}

begin {начало подпрограммы}

x:=x-0.01; {задание приращения аргумента}

y:=exp(x); {определение функции}

setcolor(2); {задание цвета рисования. 2 – серый }

circle(round(dx+dx1*x),round(dy-dx1*y),1); {рисуем гиперболу окружностями, функция round округляет значения до целого}

end; {конец подпрограммы}

readkey; {оператор, позволяющий вернуться в программу нажатием любой клавиши}

end. {конец программы}


Сохраните Вашу работу и покажите её педагогу.

6. Физкультминутка.

7. Итоги учебного занятия

Ответьте на следующие вопросы:

  1. Что нового Вы узнали, решив задания на учебном занятии?

  2. Задания были сложными? Задания были интересными?

  3. Над изучением каких тем в разделе «Изучение языка программирования Pascal» Вы хотели бы ещё поработать?






22




Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!