Графическое решение системы уравнений средствами языка программирования Си
Ход урока
I. Сообщение темы и постановка целей урока
Науки информатика и математика очень тесно связаны между собой. ИКТ являются мощным инструментом и средством при решении многих прикладных задач, в том числе и в математике. Одной из таких задач является построение графиков математических функций. Сегодня на уроке вы будете учиться строить на экране графики математических функций с помощью системы программирования
II. Повторение и актуализация знаний учащихся
Какая библиотека отвечает за операторы графики? (Ответ: бибилотека grafics.h);
Каким оператором выводится на экран точка с координатами (х,у)? (Ответ: Putpixel(x,y, color) x,y – координаты точки, color – цвет задается английским названием или компонентами RGB (R,G,B)).
Каким оператором выводится на экран отрезок прямой? (Ответ: отрезок прямой от текущей позиции графического курсора до точки с координатами (х,у) выводится оператором LineTo(x,y)).
III. Объяснение нового материала.
Проблема: Построить в окне формы график функции y=2x на промежутке (-10,10), начало координат расположить в центре окна.
Анализ условия задачи
График любой математической функции представляет собой бесконечное множество точек. На практике для построения графика функции на бумаге достаточно вычислить координаты нескольких (иногда больше, иногда меньше) важных точек и соединить их плавной линией, форма которой приблизительно известна. Формальному исполнителю (которым является система программирования) для построения графика точек потребуется очень много. И чем меньше будет промежуток между двумя соседними точками, тем точнее будет график. Отсюда вывод: функция должна быть протабулирована с достаточно маленьким шагом табуляции, например h=0,01(или 1). Напомню, для табуляции функции используется циклический алгоритм:
x:=xmin; h=1;
While x<=xmax do
{
y:= sqr(x);
x:=x+h;
end;
Для построения гладкой непрерывной линии соседние точки соединяем отрезками при помощи метода LineTo(х,y).
1. Экранная система координат
По условию задачи, центр системы координат, в которой нужно построить график, должен располагаться в центре формы. Но система координат формы расположена по-другому, а именно: центр системы координат формы совпадает с верхним левым углом формы, а ось ОУ направлена вниз, как на рис. Единичный отрезок экранной системы координат равен одному пикселю.
2. Смещение системы координат
Для того, чтобы график функции располагался в центре формы, центр экранной системы координат и все точки графика функции надо сместить на dx точек по горизонтали и dy точек по вертикали, где , .
3. Масштабирование
Для того, чтобы построить график в заданной области рисования, нужно задать величину единичного отрезка в пикселях. Он может быть абсолютным, например 50 пикселей, или зависеть от промежутка построения графика. В нашем случае, коэффициент масштабирования (единичный отрезок) .
4. Переворачиваем график
Ось ОУ в экранной системе координат направлена вниз. Поэтому, для нормального отображения графика, необходимо построить его зеркальное, относительно оси ОХ, отображение, т.е. у= - у.
5. Окончательные формулы преобразования математических координат в экранные
6. Текст процедуры
void Plot() // строим графики
{
moveto(0, 10000); // ставим за пределами поля
for (float x = - w / 2 / e; x < w / 2 / e; x += 0.01) //делаем перебор с шагом +0.01
lineto(w / 2 + (int)(x * (float)e), h / 2 - (int)(x * x * (float)e)); // чертим график у=х^2
}
IV. Закрепление
Построить в окне формы график функции y=sinx на промежутке , начало координат расположить в центре формы.
Дописать в программе из предыдущего задания рисование меток целых чисел на осях координат.
Построить в окне формы график функции на промежутке , начало координат расположить так, чтобы ось ОХ совпала с нижним краем формы.
Построить окружность с центром в начале координат и радиусом равным 3.
V. Домашнее задание
Алгоритм построения графика функций по конспекту урока.
Внести изменения в программный код процедуры (в тетради), чтобы рисование графика происходило не на форме, а в поле рисунка, расположенного на форме.
VI. Подведение итогов урока.
Анализ полученных на экранах учеников графиков, рефлексия учащихся и самооценивание.
Подведение итогов и вывод о том, что по алгоритму, разобранному на уроке, можно построить график любой функции, заданной на любом промежутке, т.е. данный алгоритм является универсальным.