Лабораторная работа 1 для студентов курса “Основы программирования” 1 курса кафедры ИУ5 МГТУ им Н.Э. Баумана.
Познакомиться с базовыми основами написания консольных приложений на C++. Освоить основы работы механизмов ввода и вывода, ветвления.
Зайдите в свою локальную директорию с репозиторием для выполнения лабораторных работ. Заберите ветку с соответствующей лабораторной работой из общего репозитория (в лабораторной работе 0 был отмечен меткой upstream):
git pull upstream
или
git pull upstream lab_1
Переключитесь на ветку с текущей лабораторной работой:
git checkout lab_1
Свяжите ветку локального репозитория с вашим удаленным репозиторием:
git push --set-upstream origin lab_1
Вывести на экран показания часов.
Исходные данные - часы и минуты в формате целых чисел. Результат должен быть представлен в смешанной текстово-числовой форме с учетом падежных окончаний, например:
Использовать следующие границы частей суток:
Предусмотреть механизм обработки ошибок и вывода соответствующего сообщения в случае ввода недопустимых показаний часов. Например:
Создание программы - процесс сложный. Поэтому практически с любого этапа возможен возврат на предыдущие этапы для исправления ошибок или принятия других проектных решений. Чаще всего такого рода возвраты являются следствием ошибок, допущенных при разработке алгоритма.
Для уменьшения ошибок в алгоритмах программ, при их разработке следует использовать метод пошаговой детализации.
При использовании данного метода разработку алгоритмов выполняют поэтапно. На первом этапе описывают решение поставленной задачи, выделяя подзадачи и считая их решенными. На следующем - аналогично описывают решение подзадач, формулируя уже подзадачи следующего уровня. Процесс продолжают до тех пор, пока не дойдут до подзадач, алгоритмы решения которых очевидны. При этом, описывая решение каждой задачи, желательно использовать не более одной-двух конструкций, таких как цикл или ветвление, чтобы четче представлять структуру программы.
Определяем общую структуру программы.
Разбиение сложного алгоритма на подзадачи следует выполнять таким образом, чтобы каждая подзадача имела физический смысл и правильность ее выполнения можно было бы проверить, не выполняя последующие действия.
Детализируем операцию ввода и контроля исходных данных. После завершения разработки детального алгоритма первой подзадачи алгоритм следует закодировать, заменяя, если необходимо, неразработанные подзадачи «заглушками», выполнить и отладить. Например, для ввода и контроля исходных данных остальные действия не требуются и для отладки этого блока функции-заглушки не требуются. Функция-заглушка не выполняет никаких действий, а только печатает свое имя. Это позволит обнаружить и устранить возможные ошибки на ранней стадии их возникновения и существенно сократить общее время разработки программы.
Не следует сразу кодировать всю программу, так как в этом случае значительно сложнее обнаруживать и исправлять ошибки.
Детализируем подзадачу определения времени суток. Ее удобнее выполнить до обработки часов, так как при выводе результатов падежные окончания могут измениться. Например, вместо 15 часов нужно напечатать 3 часа дня.