Построить график функции в паскале abc

Построить график функции в паскале abc

Построение графиков функций в PascalABC

Для начала создадим "шапку" программы, где укажем имя программы и опишем переменные, которые нам могут понадобиться:

Назначение каждой из описанных переменных станет ясно по ходу написания программы. Скажем лишь, что Х0 и У0 — это экранные координаты центра графика, т.е. нулевых значений по Х и У в пересчете на экранные координаты.

Теперь начинаем тело программы. Задаем размер окна и рисуем оси Х и У:

Теперь всего необходимо "изобразить" координатные сетки и подписи по оси Х.

Ну вот и настала пора "нарисовать" и сами графики:

Первая функция пускай будет парабола, опущенная на 4 единицы ниже оси Х: у=х 2 -4

Рисуем второй график. Что-нибудь вроде синуса, например У=7sin(Х) .

На предыдущих страницах мы рассмотрели процедуры для работы с точками в Паскале, а также познакомились с некоторыми другими процедурами. Теперь пришло время использовать эти знания в построении графиков функций в паскале.

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

Договоримся ещё об одном: систему будем строить с положительными и отрицательными значениями по обеим осям. Поскольку многие используют ещё турбо паскаль, то в конце страницы будет приведены две программы: одна – для PascalABC и PascalABC.Net, другая – для Turbo Pascal и Free Pascal.

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

Пусть (xLeft; yLeft) – координаты левого верхнего угла декартовой системы координат в графическом окне PascalABC.Net, (xRight; yRight) – соответственно координаты правого нижнего угла. Следующая задача – провести оси координат OX и OY. Будем считать, что нам нужны все четыре четверти координат. В этом случае обе оси будут иметь положительные и отрицательные значения. Чтобы правильно поставить центр координат (x; y), необходимо знать границы изменения аргумента x по оси OX и значения функции f по оси OY.

Итак, отложим по оси ОХ числа от a до b с интервалом dx, по оси OY – числа от fmin до fmax с разницей dy; причем обязательные условия: a≤0, b≥0, fmin≤0, fmax≥0. Для правильного отображения засечек на осях необходимо также, чтобы dx было делителем a и b, а dy было делителем fmin и fmax, и эти числа придется выбирать самостоятельно для каждого интервала. Но сначала нам придется познакомиться с таким понятием как масштаб системы координат в графическом окне паскаля. Что такое масштаб?

Читайте также:  Виды выравнивания текста в word

Масштаб – это величина, или коэффициент, показывающий, сколько пикселей графического окна паскаля приходится на единицу оси системы координат. Например, по оси ОХ нужно расположить числа от -4 до 16 (всего 20 единиц), а ширина графического окна паскаля равна 1000 пикселей; тогда на единицу величины оси ОХ приходится 1000:20=50 пикселей/единицу. Это и есть масштаб по оси ОХ. Чтобы узнать, сколько пикселей содержат n единиц, надо просто умножить n на 50.

График функции будем строить по точкам, используя процедуру SetPixel(x, y, c), где x, y – координаты точки в графическом окне паскаля, c – цвет точки. Для рисования осей координат ОХ и OY воспользуемся процедурой Line(x1, y1, x2, y2), где (x1; y1) – координаты начальной точки, (x2; y2) – координаты конечной.

Последовательность такова: сначала строим систему координат, а после (в самом конце) вычисляем значения функции, вычисляем соответствующие координаты точки в графическом окне и ставим точку (x, y), закрашенную в зеленый цвет. Откройте PascalABC или PascalABC.Net, скопируйте следующий код и запустите программу:

Только не нужно забывать, что в PascalABC цвет имеет тип ColorType, а PascalABC.Net тип цвета Color – это синоним System.Drawing.Color.

Итак, запустив программу, вы должны увидеть следующее:

А теперь программа для тех, у кого нет PascalABC, но есть Turbo Pascal или Free Pascal. Итак, скопируйте нижеприведенный код в блокнот, сохраните в формате .pas и откройте в турбо паскале, потом запустите (ctrl+F9):

Если все сделано правильно, вы должны увидеть такой график функции:

Вообще, построение графиков – это одно из постейших заданий, с которым может столкнуться программист на практике. Наиболее сложным вариантом есть применение графики в создании игр, таких, как европейская рулетка. Если вы захотите играть в европейскую рулетку, то реалистичная графика игры первой бросается в глаза.

Простейший игровой автомат – это обычная игра, но с использованием функции Random(N), возвращающей случайное число от 0 до N-1. Это значит, что нажимая на кнопки, выбирая разные фишки, бросая кубики, шарики и т.п. каждый раз вы будете получать случайный результат, так как функция Random генерирует случайные числа с привязкой к текущему времени. Также в играх подобного типа обязательное использование таймера для создания плавности перехода. Позже в этом разделе мы напишем небольшие игры и посмотрим, как это работает.

Читайте также:  Маткад портабл для виндовс 10

Устанавливая рекомендуемое программное обеспечение вы соглашаетесь
с лицензионным соглашением Яндекс.Браузера и настольного ПО Яндекса .

Выбранный для просмотра документ Zadaniya na urok (po variantam).docx

Набрать программу. Скомпилировать. Сохранить.

var x0, y0, x1, y1, k: integer;

x0:=320; y0:=200; k:=20;

Набрать программу. Скомпилировать. Сохранить.

var x0, y0, x1, y1, k: integer;

x0:=320; y0:=200; k:=20;

Увеличьте шаг в 10 раз. Скомпилируйте. Сохраните.

Увеличьте шаг на 100 раз. Скомпилируйте. Сохраните.

Измените промежуток на котором строится график функции на [-5, 10]. Скомпилируйте. Сохраните.

Измените промежуток на котором строится график функции на [-10, 20]. Скомпилируйте. Сохраните.

Измените функцию на: 1) tg ( x ) ; 2) sin ( x )+2* x .

Измените функцию на: 1) ctg ( x ) ; 2) tg ( x )+2.

Выведите на экран график функции только в I и IV четвертях (воспользоваться функциями из задания на 8 баллов). Скомпилируйте. Сохраните.

Выведите на экран график функции только в II и III четвертях (воспользоваться функциями из задания на 8 баллов). Скомпилируйте. Сохраните.

Измените цвет фона, цвет графика функции, цвет координатных осей. Скомпилируйте. Сохраните.

Измените цвет фона, цвет графика функции, цвет координатных осей. Скомпилируйте. Сохраните.

Выбранный для просмотра документ конспект.doc

Лицей №1 имени А.С. Пушкина

План-конспект урока по информатике (11 класс)

Тема: “Построение графиков”

способствовать формированию умений построения графиков в среде Pascal ABC , укреплять меж предметные связи с математикой, акцентировать внимание на прикладной роли программирования;

способствовать воспитывать у учащихся самостоятельность в работе;

способствовать развитию мышление, память, внимание.

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

Подведение итогов урока

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

Организую внимание учащихся, предлагаю сесть.

— Здравствуйте. Сегодня у нас на уроке работа с графиками в Pascal ABC . Целью нашего занятия – научится строить графики в Pascal ABC .

2. Объяснение нового материала

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

— Давайте вспомним, в каких программах Вы уже строили графики? (Microsoft Excel)

Верно. А теперь давайте разберемся пример, как же построить график функции в Pascal ABC .

Задание: Составить программу, которая строит график зависимости y ( x )=0,4 x +2 sin 3 x на промежутке [-15;15].

var x0, y0, x1, y1, k: integer;

SetWindowSize(640,400); // размер окна

x0:=320; // координаты начала отсчета

line(20,y0, 620,y0); //ось абсцисс

line(x0,20, x0,380); //ось ординат

setPenColor(clRed); //цвет пера

y:=0.4*x+2*sin(3*x); // задание функции

x1:=trunc(x0+x*k); // экранные координаты

3. Задание на дом

§7 (п. 7.3) №1а страница 84.

4. Практическая работа

На карточках по вариантам.

Набрать программу. Скомпилировать. Сохранить.

var x0, y0, x1, y1, k: integer;

Читайте также:  Как построить сечение четырехугольной призмы

x0:=320; y0:=200; k:=20;

line(20,y0, 620,y0); line(x0,20, x0,380);

Увеличьте шаг в 10 раз. Скомпилируйте. Сохраните.

Измените промежуток на котором строится график функции на [-5, 10]. Скомпилируйте. Сохраните.

Измените функцию на: 1) tg ( x ) ; 2) sin ( x )+2* x .

Выведите на экран график функции только в I и IV четвертях (воспользоваться функциями из задания на 8 баллов). Скомпилируйте. Сохраните.

Измените цвет фона, цвет графика функции, цвет координатных осей. Скомпилируйте. Сохраните.

Набрать программу. Скомпилировать. Сохранить.

var x0, y0, x1, y1, k: integer;

x0:=320; y0:=200; k:=20;

line(20,y0, 620,y0); line(x0,20, x0,380);

Увеличьте шаг на 100 раз. Скомпилируйте. Сохраните.

Измените промежуток на котором строится график функции на [-10, 20]. Скомпилируйте. Сохраните.

Измените функцию на: 1) ctg ( x ) ; 2) tg ( x )+2.

Выведите на экран график функции только в II и III четвертях (воспользоваться функциями из задания на 8 баллов). Скомпилируйте. Сохраните.

Измените цвет фона, цвет графика функции, цвет координатных осей. Скомпилируйте. Сохраните.

5. Подведение итогов урока

— С какой новой возможностью мы познакомили?

— Какие сложности возникли при выполнении заданий?

Выбранный для просмотра документ Пример.pptx

Описание презентации по отдельным слайдам:

program Grafik; uses GraphABC; var x0, y0, x1, y1, k: integer; x, y: real; begin Составить программу, которая строит график зависимости y(x)=0,4x+2sin3x на промежутке [-15;15]. SetWindowSize(640,400); // размер окна x0:=320; // координаты начала отсчета y0:=200; line(20,y0, 620,y0); //ось абсцисс line(x0,20, x0,380); //ось ординат k:=20; // шаг setPenColor(clRed); //цвет пера x:=-15; While x 300/600 ч.

Устанавливая рекомендуемое программное обеспечение вы соглашаетесь
с лицензионным соглашением Яндекс.Браузера и настольного ПО Яндекса .

  • Головач Александр ГригорьевичНаписать 11368 27.11.2015

Номер материала: ДВ-200565

Устанавливая рекомендуемое программное обеспечение вы соглашаетесь
с лицензионным соглашением Яндекс.Браузера и настольного ПО Яндекса .

    27.11.2015 1038
    27.11.2015 3545
    27.11.2015 2969
    27.11.2015 591
    27.11.2015 4713
    27.11.2015 1105
    27.11.2015 1970

Не нашли то что искали?

Вам будут интересны эти курсы:

Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение редакции может не совпадать с точкой зрения авторов.

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

Ссылка на основную публикацию
Adblock detector