Задания для самостоятельного выполнения
- Сложность:
- Rare
- Напишите программу по варианту, используя оператор цикла
while
(нечётные варианты) илиdo while
(чётные варианты). - Напишите программу, используя оператор цикла
for
. - Постройте график с использованием
gnuplot
. - Составьте блок-схемы.
- Оформите отчёт в
README.md
. Отчёт должен содержать:- Задание
- Описание проделанной работы
- Скриншоты результатов
- Блок-схемы
- График функции
- Ссылки на используемые материалы
- Сложность:
- Medium
- Используйте
gnuplot
напрямую из вашей программы, минуя файлы и перенаправление вывода. - Реализуйте анимацию построения графика.
- Сохраните анимированный график в формате
gif
.
- Сложность:
- Well-done
- Самостоятельно реализуйте построение графика с использованием любой графической библиотеки (sdl, raylib, opengl и т.д.)
Требования и ограничения
Программа должна выводить на экран таблицу вида:
0.000000 0.123456
0.100000 1.234567
0.200000 2.345678
...
1.000000 3.456789
Шаг изменения аргумента необходимо ввести с клавиатуры. Программа должна корректно выводить точки для любого положительного значения .
Указания по выполнению работы
Для использования математических функций в программу необходимо включить заголовочный файл <math.h>
, содержащий прототипы математических функций и макроопределения констант. Кроме того, при компиляции программы нужно указать ключ -lm
для подключения соответствующей библиотеки.
Математическая функция | Функция в C |
---|---|
sin(x) | |
cos(x) | |
tan(x) | |
asin(x) | |
acos(x) | |
atan(x) | |
log(x) | |
log10(x) | |
fabs(x) | |
sqrt(x) | |
pow(x, y) | |
exp(x) | |
отсутствует |
Работа с gnuplot
Когда вы уже написали программу, выводящую на экран таблицу, выполните следующее:
./prog > my_graph.txt
Здесь prog
- это исполняемый файл вашей программы, my_graph.txt
- файл, куда она будет осуществлять вывод вместо терминала.
Теперь создайте файл plot.gpi
со следующим содержимым:
#!/usr/bin/env -S gnuplot -persist
# set terminal png enhanced
# set output "my_graph.png"
set xlabel "x"
set ylabel "f(x)"
set grid
set title "График функции f(x)"
plot "my_graph.txt" with lines title "f(x)"
Выполните команду chmod +x plot.gpi
. Теперь строить график можно с помощью команды:
./plot.gpi
Теперь можно сохранить файл с графиком вручную с помощью кнопки в появившемся окне, или автоматически - раскомментировав вторую и третью строку в скрипте.
Для справки
- Статья “Gnuplot и с чем его едят” на Хабре
- Справка по синтаксису Latex
- Writing mathematical expressions
Варианты заданий
Вывести таблицу значений и построить график функции с заданным шагом: