📘 О чем эта работа
Отчёт посвящён трём учебным задачам по программированию на C++: модульная реализация функции SumRange для подсчёта суммы целых чисел на отрезке, рекурсивная реализация перестановки цифр числа (reverseDigits) и набор функций для обработки файла с записями о Нобелевских лауреатах с использованием пользовательской структуры Laureate. Объект — алгоритмы и модули, предмет — реализация, тестирование и проверка корректности ввода/вывода.
📚 Что внутри
В работе подробно представлены конкретные элементы реализации и сопроводительная документация:
- Группа А — функция SumRange(A,B): спецификация, таблица сообщений (C1: 'Ошибка ввода! Введите целые числа.', C2: 'Введите A, B, C:', C3, C4), алгоритм, блок-схема и готовый код на C++ с проверкой ввода и примерами тестов (например, A=1,B=3,C=5 → sum1=6,sum2=12).
- Группа Б — рекурсивная функция reverseDigits(n): спецификация, вспомогательная функция countDigits, проверка на наличие нулей в десятичной записи (сообщение 'Ошибка ввода! Число содержит 0.'), алгоритм рекурсии и реализация с использованием pow для формирования обратного числа; приведены тесты (1234→4321, 777→777 и т.д.).
- Группа В — пользовательская структура Laureate (fio, work, field, year): таблицы спецификаций полей, функции ввода inputData(), поиска по году, фамилии, разделу науки, поиск двукратных лауреатов и поиск самой «коллаборативной» работы; в тексте есть пример инициализации массива из 5 записей (Иванов И.И., Смирнов П.П. и др.) и реализация функции mostCollaborativeWork() с использованием map.
📊 Для кого подходит
Подходит студентам начальных курсов и преподавателям курсов по программированию и алгоритмам: направления 'Программная инженерия', 'Прикладная информатика' и смежные. Полезна для лабораторной отчётности, демонстрации приёма модульного проектирования, рекурсии и работы со структурами и массивами в C++.
✨ Особенности
Включены реальные фрагменты кода на C++, подробные таблицы входных/выходных параметров и диапазонов типов (например, диапазон int), наборы тестов с граничными и ошибочными случаями, обработка ошибок ввода, готовая структура данных Laureate и примеры использования STL (map) для подсчёта совпадений. Все модули общаются через список параметров, как требует задание по модульному программированию.
❓ Частые вопросы
Подойдет ли для моего ВУЗа?
Структура соответствует стандартным требованиям к лабораторным работам: цель, алгоритмы, спецификации, таблицы тестов и исходный код.
Можно ли адаптировать?
Да. Код и таблицы параметров легко менять: можно расширить массив лауреатов, заменить ввод с консоли на чтение из файла, адаптировать проверки и типы для других требований.