Учебная система программирования вводный курс
УРОК 6. Построение графиков функций на языке Паскаль Построение графиков в паскаль АВС осуществляется в режиме графического вывода, то есть с подключением модуля GraphABC как вы делали на 5 уроке. Разберем пример для построения графика функции Y=X+2. Program Grafik; - название программы uses GraphABC; - вызов графического модуля var x,y: integer; - объявление переменных begin line (500,0,500,500); - рисуем координатную сетку – ось Y line (0,250,1000,250); - рисуем координатную сетку – ось X for x:=0 to 200 do – начало цикла, задаем число рассчитываемых точек от 0 до 200 begin y:=x+2; - вычисляем значение функции Y SetPixel(x+500,250-y,RGB (0,0,0)); - рисуем точку с координатами X, Y end end.
УРОК 6. Построение графиков функций на языке Паскаль Разберем строку SetPixel(x+500,250-y,RGB (0,0,0)); - более подробно. Оператор SetPixel закрашивает точку с координатами x,y цветом RGB с тремя параметрами, определяющими интенсивность трех лучей : красного, синего, желтого. RGB (0,0,0) – черный цвет, RGB (255,255,255) – белый. Промежуточные значения обозначают все остальные цвета. Увеличение координаты х на 500, а координаты y на 250 позволяет расположить график функции относительно условного центра нашей координатной сетки : х=500, y=255, а не в левом верхнем углу экрана. При этом мы сможем наблюдать и отрицательные значения функций. Смотри следующий пример.
Program Grafik; uses GraphABC; var x,y: integer; begin line (500,0,500,500); line (0,250,1000,250); for x:=-100 to 200 do begin y:=x+2; SetPixel(x+500,250-y,RGB (0,0,0)); end end. График функции с отрицательными значениями Х
УРОК 6. Построение графиков функций на языке Паскаль Ограничения вывода на координатную плоскость. Так как значения координатной плоскости экрана не могут принимать отрицательные значения, мы в работе программы должны предусмотреть прерывание работы программы или цикла, если значения координат ХY точки графика функции становятся меньше нуля. Досрочное завершение цикла осуществляется оператором break. Смотри следующий пример:
УРОК 6. Построение графиков функций на языке Паскаль Program Grafik; uses GraphABC; var x,y,k: integer; - дополнительно вводим переменную к в которой будем отслеживать значения переменной Y (для наглядности) begin line (500,0,500,500); line (0,250,1000,250); for x:=-100 to 200 do begin y:=x+2; SetPixel(x+500,250-y,RGB (0,0,0)); k:=250-y; if k<0 then break; - проверка значений переменной Y/ Если Y<0 то цикл прерывается. end end.
УРОК 6. Построение графиков функций на языке Паскаль Program Grafik; uses GraphABC; var x,y: integer; begin line (500,0,500,500); line (0,250,1000,250); for x:=-100 to 200 do begin y:=x+2; SetPixel(x+500,250-y,RGB (0,0,0)); if 250-y<0 then break; end end. Вариант программы без использования переменной К является более оптимальным.
УРОК 6. Построение графиков функций на языке Паскаль Вывод символьной информации в графическое окно. Program Grafik; uses GraphABC; var x,y,i: integer; begin line (500,0,500,500); line (0,250,1000,250); for x:=-100 to 200 do begin i:=i+1; y:=x+2; SetPixel(x+500,250-y,RGB (0,0,0)); if 250-y<0 then break; end; TextOut(5,45,функция построена на отрезке от '+IntToStr(x-i)+' до '+IntToStr(x)); end. Строка, выводящая текст на экран с позиции х=5,y=45 Оператор, превращающий численный тип данных в строковый Счетчик цикла, считает количество итераций (повторов)
УРОК 6. Построение графиков функций на языке Паскаль Задания: Составьте программы для построения указанных трех вариантов графиков линейной функции. Они должны выглядеть так: Линейная функция. Если переменные y и x связаны уравнением 1-ой степени: A x + B y = C, где по крайней мере одно из чисел A или B не равно нулю, то графиком этой функциональной зависимости является прямая линия. Если C = 0, то она проходит через начало координат, в противном случае - нет. Графики линейных функций для различных комбинаций A, B, C А=0, В0 А 0, В=0 С=0
УРОК 6. Построение графиков функций на языке Паскаль