Постройте график функции - C (СИ)
Формулировка задачи:
Постройте график функции y = x^3 на интервале [-3, 3]. Обозначьте оси координат, нарисуйте координатную сетку, укажите цены делений и пределы изменения координат x и y. Оси координат нарисуйте черным цветом, координатную сетку – серым, а график функции – зеленым.
Решение задачи: «Постройте график функции»
textual
Листинг программы
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
int main() {
HWND hWnd = FindWindowA("ConsoleWindowClass", NULL);
unsigned n = 1;
int coord_x = 100, coord_y = 100, dx = 0, dy = 0;
while (n) {
HWND hWnd = FindWindowA("ConsoleWindowClass", NULL);
HDC hdc = GetDC(hWnd);
MoveToEx(hdc, dx, dy, 0);
SetROP2(hdc, R2_WHITE);
LineTo(hdc, coord_x + dx, coord_y + dy);
Sleep(1000);
system("color 0F");
dx = 50;
}
_getch();
return 0;
}
Объяснение кода листинга программы
В этом коде происходит следующее:
- Включаются необходимые заголовочные файлы:
stdlib.hсодержит функции для работы с памятью, такие какmallocиfree.conio.hсодержит функции для работы с консолью, такие какprintfиscanf.windows.hсодержит функции для работы с Windows API, такие какFindWindowиGetDC.
- Создается окно консоли:
Функция
FindWindowиспользуется для поиска окна с указанным классом и именем. В данном случае мы ищем окно с классомConsoleWindowClass, которое является стандартным окном консоли Windows. - Задаются начальные координаты и размеры:
coord_xиcoord_yзадают начальные координаты линии на экране.dxиdyиспользуются для управления изменением координат по оси X и Y соответственно.
- Пока есть действие пользователя, выводится линия на экран:
- Функция
GetDCиспользуется для получения дескриптора контекста устройства ввода (DC), который необходим для рисования на экране. - Функция
MoveToExиспользуется для установки текущей позиции пера на экране. - Функция
LineToиспользуется для рисования линии на экране от текущей позиции пера до заданных координат. - Функция
Sleepиспользуется для задержки выполнения программы на указанное количество миллисекунд. - Команда
systemиспользуется для изменения цвета текста в консоли. В данном случае цвет изменяется на 15 (0F в шестнадцатеричном формате), что соответствует темно-синему цвету. - Значение
dxувеличивается на 50, чтобы создать эффект движения линии по оси X.
- Функция
- Ожидается нажатие клавиши пользователем:
Функция
_getchиспользуется для ожидания нажатия клавиши пользователем. - Возвращается 0, чтобы указать успешное выполнение программы.
Таким образом, этот код рисует линию на экране консоли, которая движется от начальных координат (
coord_x,coord_y) с шагом 50 по оси X каждую секунду. Цвет линии меняется на темно-синий с помощью командыsystem.