Получу ли я диплом с отличием?

Как узнать, какой ожидается диплом (при помощи Python)

Вывод программы в терминале

Хороший студент часто задаётся вопросом: хватит ли его "четвёрок" и "пятёрок" для получения "красного диплома", т.е. документа о высшем образовании с отличием? Для ответа на этот вопрос можно воспользоваться приводимой в настоящей заметке программой на языке Python. Всё, что нужно — это вооружиться собственной зачётной книжкой и внести в программу все оценки, полученные за период обучения.

Диплом с отличием выдается при следующих условиях (Порядок выдачи документов государственного образца о высшем профессиональном образовании, заполнения, хранения и учета соответствующих бланков документов):

Таким образом, средний балл по диплому должен быть не менее 4,75; при этом выпускник не может иметь ни одной "тройки". Вузы также могут выдавать значки "Отличник учёбы" тем выпускникам, которые учились на одни "пятёрки" (их средний балл составляет 5,00). Программа позволяет определить, может ли выпускник рассчитывать на данную награду своим трудам.

Главная функция

Скриншот функции main

Следуя методу нисходящей разработки, алгоритм программы разбит на серию подзадач, которые реализованы в отдельных функциях. Главная функция main содержит стержневую логику программы и поочерёдно передаёт поток управления 4 другим функциям:

Получение оценок

Скриншот функции get_marks

Функция get_marks получает от пользователя входные данные — все оценки за период обучения. Получение оценок реализовано в виде цикла while, который повторяется, пока сигнальная метка flag имеет значение True, т.е. пока не введено число 0.

В случае, если пользователь ввёл данные, не соответствующие целому числу, данная функция ловит исключение ValueError, а также уведомляет пользователя, что введено целочисленное значение, не относящееся к диапазону оценок (3-5) и не являющееся сигнальной меткой окончания ввода данных (0).

Функция возвращает значения total (сумма всех оценок), quantity (количество всех оценок) и satisfactory (количество оценок "удовлетворительно"), которые передаются для обработки в другие функции.

Расчёт среднего балла

Скриншот функции calc_average

Функция calc_average получает для обработки данные из переменных total и quantity и рассчитывает средний балл (результат деления суммы всех оценок на их количество). Возвращаемое значение — average (средний балл).

Поскольку пользователь мог не ввести ни одной оценки, функция отслеживает случаи, когда переменная quantity равна 0, и перехватывает исключение ZeroDivisionError (деление на ноль). В этом случае средний балл считается равным 0, а пользователь уведомляется о том, что введённых данных недостаточно для расчёта.

Определение уровня диплома

Скриншот функции determine_grade

Функция determine_grade получает аргументы average и satisfactory для определения того, какой документ об образовании (с отличием, без отличия) положен пользователю, а также может ли он рассчитывать на значок "Отличник учёбы". Если satisfactory больше нуля, то пользователь сразу же лишается права на "красный диплом"...

Возвращаемое значение — grade (уровень диплома). Для случая, когда средний балл пользователя равен 0, предусмотрено специальное значение переменной grade.

Показ уровня диплома

Скриншот функции show_grade

Функция show_grade использует параметрическую переменную grade для вывода сообщения о том, какой диплом получит пользователь (и получит ли он значок "Отличник учёбы"). Если для расчёта grade использовался средний балл, равный 0, то пользователю сообщается, что уровень документа об образовании в данном сеансе не может быть определён.

Полный код программы

Полный код программы представлен на скриншоте.

Полный код программы

Также программу можно скачать и запустить у себя на компьютере: average_mark.py. Но для этого у вас должен быть установлен интерпретатор Python 3-й версии. Если вы хотите потестировать код онлайн, можно это сделать в своём браузере при помощи онлайнового IDE repl.it: average_mark.

Пользователю программы не обязательно быть выпускником: вы сможете проверить, насколько ваши претензии соответствуют требованиям к получению диплома с отличием, на любом курсе обучения. Но дальше вам придётся подтверждать своё желание получить "красный диплом" новыми оценками, а также, при необходимости, корректировать процесс подготовки к промежуточным аттестациям и государственной итоговой аттестации, чтобы повысить уровень получаемого диплома. Помните самое главное правило: никаких "троек"!