Завдання. Потрібно скласти програму побудови на екрані дисплея графіка функції
Вирішення цього завдання зручно проводити в наступному порядку:
1. Визначити межі значень аргументу, в межах яких буде будуватися графік. Позначимо їх наступним чином: Xmin - нижня межа, Хmax - верхня межа.
2. Для даної області значень аргументу визначити граничні значення функції: Ymin і Ymax. Ці значення необов'язково повинні бути точними. Вони можуть бути оціночними знизу і зверху відповідно.
3. Поставити кордону графічного вікна, в межах якого буде малюватися графік: [Xgmin. Xgmax,] [Ygmin. Ygmax]. Оскільки в графічних координатах вертикальна вісь спрямована вниз, то
Таким чином, ми маємо дві системи координат: (X, Y), яку назвемо системою математичних координат (в літературі частіше використовують термін «світові координати»), і (Xg, Yg) - систему графічних координат. Неважко отримати формулу, яка б пов'язала графічні і математичні координати:
Тут квадратні дужки означають округлення до цілого значення (функція Round).
Побудова графіка функції може проводитися або точковим методом, або кусочно-лінійним. При першому способі графік будується як послідовність точок, розташованих максимально близько. Проводиться «попікселевий» перебір значень аргументу в інтервалі [Xgmin. Xgmax] з виставленням точок з відповідними координатами Y.
При кусково-лінійному методі задається крок # 916; Х і розраховується послідовність значень (Хi, Yi):
Приклад. Складемо програму побудови графіка функції
для х належить [0; 2л], використовуючи перший (точковий) метод.
З умови задачі випливає, що Xmin = 0, Хтax = 2л. У цих межах функція sin x змінюється від -1 до 1. Тому Fmin = -1, Fmax = 1.
Виберемо наступні кордону графічного вікна:
Графік будується в вигляді послідовності точок з математичними координатами
Крок h вибирається мінімально можливим, відповідним кроку графічної сітки:
Наведені вище формули перекладу математичних координат в графічні візьмуть вигляд:
Разом з графіком функції будуються осі координат. Ось X має координату Yg = 90, вісь Y- координату Xg = 10.
Var Driver, Mode: Integer;
X: Real; Xg, Yg, I: Integer;