Тему курсовой работы выбирает студент, но в каждой группе вариант должен выбираться не более одного раза.
````hide 1. Генератор арифметических примеров
Разработать программу для генерации примеров для контрольных работ по
арифметике. На экране настройки вводятся следующие опции:
![Настройки генератора](50914.png)
Сгенерированные примеры вместе с ответами вывести в указанный файл,
разделяя пустой строкой, в следующем виде:
```
4 : (1 + 1) =
Ответ: 2
2 + 3 =
Ответ: 5
```
Перед и после знака арифметического действия выводить один пробел.
---
Генерацию можно производить следующим образом:
Задать случайным образом результат в указанном диапазоне.
1. Выбрать арифметическое действие
2. Выбрать число в указанном диапазоне - это 1-й операнд
3. Рассчитать 2-й операнд
4. Если 2-й операнд вне диапазона, перейти к шагу 1
5. Выбрать случайно N от 0 до общЧислоДействий-1
// N - число действий для разложения 1-го операнда
6. M=общЧислоДействий-N-1
// M - число действий для разложения 2-го операнда
7. Если N>0, то разложить 1-й операнд с помощью рекурсивного применения
этого алгоритма, иначе использовать число в качестве левого операнда
8. Если M>0, то разложить 2-й операнд с помощью рекурсивного применения
этого алгоритма, иначе использовать число в качестве правого операнда
Для представления примера использовать следующий класс:
> конструктор(целое число)\
конструктор(пример* левая часть, char действие, пример* правая часть) // для смены знака левая часть = nullptr\
действие() // char\
приоритет действия() // int, для уменьшения количества выводимых скобок\
вывод(ostream &)
[Ввод настроек генератора с помощью библиотеки nuklear](50884-4.html)