Ну я вообще-то старался авторский "дизайн" сохранить, просто малость код оптимизировать. Кроме того, предложенный вариант не "отсекает" минимум баллов для получения тройки, т.е. возможны оценки 0 и 1, что не есть правильно. А вообще - конечно, если с самого начала решать, то что-то в этом роде и получится.