Ю2.23

Задание: В Алтайском гос университете принято, что старшая цифра трехзначного номера студенческой группы обозначает номер факультета, средняя – последнюю цифру года поступления, младшая – порядковый номер группы. Продолжительность обучения — не более 6 лет (магистратура). Дан номер группы студента АГУ и текущий год. Напечатать в каком году он поступил и на каком факультете учиться. Например гр.432, 1996г. — факультет математический, год поступления 1993.  Для справки приведены номера факультетов:1–исторический, 2 – экономический, 3 – юридический, 4 – математический, 5 – физический, 6 – химический, 7 – биологический, 8 – филологический, 9 – географический, 10-социологический.

Тестирование. Предусмотреть невозможные ситуации. Например гр 521, год 2001.

135 2014 работает
341 2008 работает
005 2014 работает
4995 2014 не работает
521 2009 не работает
10101 2014 не работает
91 2014 не работает
135 2014 Исторический факультет  Год поступления 2013
341 2008 Юридический факультет  Год поступления 2004
005 2014 Социологический факультет  Год поступления 2010

Решение:

Код программы C++:

Ссылка на ideone Java: http://ideone.com/sLff6T

 

Для начала определяем первую цифру группы — a1, вторую цифру группы — a2, последнюю цифру года — b1.

Далее проводим проверку, что бы выяснить, существует ли эта группа (не больше 4х цифр, если первая 10; не меньше 3х цифр; время обучения не больше 6 лет ). Далее проверка существования факультета и проверка времени обучения.

Если все условия выполняются, то выводим название факультета и год поступления.

 

Related Images: