По моему скромному опыту, такая путаница вызвана попыткой решить проблему и написать код одновременно.
Попробуйте сначала решить проблему.
Получить листбумаги и нарисуйте блок-схему, которая показывает шаги и решения.
например, последнее поле может быть:
EOF: Y = Стоп, N = вернуться к «Читать следующую строку»
Выберите 3 примера испытаний, например
- В текущем месяце
- В прошлом году
- Больше года
Проработайте эти примеры на вашей блок-схеме и убедитесь, что результат правильный.Если нет, измените блок-схему и переделайте тестовые примеры.
Когда вы будете счастливы, «переведите» блок-схему на английский язык, и у вас будет рабочий псевдокод.