Ю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 лет ). Далее проверка существования факультета и проверка времени обучения.

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

 

Калачьов Андрій Сергійович
Калачьов Андрій Сергійович

Latest posts by Калачьов Андрій Сергійович (see all)

5 thoughts on “Ю2.23

  1. — забыл поставить метки (ключевые слова)
    — ссылку на ideOne нужно делать «кликабельной». Т.е. при наборе текста нажимаете кнопку link и вводите адрес. (Это если не знать язык html, что пока и не требуется)
    — Что вы такое интересное проверяете в 9-й строке? Какое это трёхзначно число при делении на 100 даст 10? Даже с округлением. Как-то сложно вы находите число сотен в трёхзначном числе. А вот с числом десятков легко справились, молодец. Может и сотни также сделать?
    — Пример ошибочного теста: 521 2009. Программа утверждает, что можно учиться дольше шести лет. Это противоречит условию.

    • -Метки поставил.
      -Ссылку добавил.
      -В 9 строке я проверяю частный случай — когда первое число 10 (социологический факультет) и тогда число будет 4х значное, например 1005: номер факультета — 10, последняя цифра года поступления 0, 5-группа.
      -Проверку на несуществующую группу исправил, теперь все работает нормально.

Добавить комментарий