courses:programming:pr_cw_spring_requirements

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
courses:programming:pr_cw_spring_requirements [2024/03/18 12:42]
sergey_tinyakov created
courses:programming:pr_cw_spring_requirements [2024/04/26 23:29] (current)
sergey_tinyakov
Line 6: Line 6:
  
 Если сборка курсовой работы реализована через системы автоматизации,​ то программа с курсовой работы должна называться **''​cw''​**! Если сборка курсовой работы реализована через системы автоматизации,​ то программа с курсовой работы должна называться **''​cw''​**!
 +
 +===== Оси координат и начало отсчёта =====
 +
 +Началом оси координат является **верхний левый угол**. Ось X расположена __по горизонтали и растёт вправо__. Ось Y расположена __по вертикали и растёт вниз__
  
 ===== Обязательные флаги ===== ===== Обязательные флаги =====
  
-  * ''​--input'',​ ''​-i'':​ Задаёт __имя входного__ изображения. При необходимости (если требуется по заданию),​ флаг может принимать несколько аргументов+  * ''​--input'',​ ''​-i'':​ Задаёт __имя входного__ изображения. При необходимости (если требуется по заданию),​ флаг может принимать несколько аргументов. Если флаг отсутствует,​ то предполагается,​ что имя входного изображения передаётся последним аргументом
   * ''​--output'',​ ''​-o'':​ Задаёт __имя выходного__ изображения. При необходимости (если требуется по заданию),​ флаг может принимать несколько аргументов   * ''​--output'',​ ''​-o'':​ Задаёт __имя выходного__ изображения. При необходимости (если требуется по заданию),​ флаг может принимать несколько аргументов
   * ''​--info'':​ Печатает информацию об изображении и завершает работу   * ''​--info'':​ Печатает информацию об изображении и завершает работу
Line 22: Line 26:
   * Если флаг отвечает за координаты для рисования (например,​ для рисования линии) и координаты находится вне границ изображения,​ то необходимо **продолжить обработку** так, как если бы можно было выходить за рамки изображения. Пример:​ допустим на вход подано изображение размером ''​100x100''​ пикселей,​ начало отрезка ''​0.0'',​ а конец отрезка ''​200.200''​. В таком случае должна быть нарисована диагональ. Если же начало отрезка было ''​150.130'',​ то на изображении ничего не должно быть нарисовано,​ так как линия проходить за границами обрабатываемого изображения   * Если флаг отвечает за координаты для рисования (например,​ для рисования линии) и координаты находится вне границ изображения,​ то необходимо **продолжить обработку** так, как если бы можно было выходить за рамки изображения. Пример:​ допустим на вход подано изображение размером ''​100x100''​ пикселей,​ начало отрезка ''​0.0'',​ а конец отрезка ''​200.200''​. В таком случае должна быть нарисована диагональ. Если же начало отрезка было ''​150.130'',​ то на изображении ничего не должно быть нарисовано,​ так как линия проходить за границами обрабатываемого изображения
   * Если флаг отвечает за координаты для области и координаты находится вне границ изображения,​ то необходимо **продолжить обработку** до максимально/​минимально возможного значения координат   * Если флаг отвечает за координаты для области и координаты находится вне границ изображения,​ то необходимо **продолжить обработку** до максимально/​минимально возможного значения координат
-  * Если были введены аргументы для флага, который не принимает аргументов,​ то+  * Если были введены аргументы для флага, который не принимает аргументов ​или введены лишние аргументы, то
       * **Завершить работу** с ошибкой       * **Завершить работу** с ошибкой
       * **Вывести пользователю сообщение**,​ что данные аргументы будут проигнорированы. Например,​ ''​Аргументы '​best_arg'​ и '​another_best_arg'​ проигнорирован,​ так как флаг '​--info'​ не принимает аргументов''​       * **Вывести пользователю сообщение**,​ что данные аргументы будут проигнорированы. Например,​ ''​Аргументы '​best_arg'​ и '​another_best_arg'​ проигнорирован,​ так как флаг '​--info'​ не принимает аргументов''​
   * Если введён аргумент,​ который не соответствует ожидаемому шаблону,​ то необходимо **завершить работу** с ошибкой   * Если введён аргумент,​ который не соответствует ожидаемому шаблону,​ то необходимо **завершить работу** с ошибкой
   * Если введён некорректный флаг или не хватает флагов для задания параметров,​ то необходимо **завершить работу** с ошибкой   * Если введён некорректный флаг или не хватает флагов для задания параметров,​ то необходимо **завершить работу** с ошибкой
 +  * Если имена входного и выходного файлов совпадают,​ то необходимо **завершить работу** с ошибкой
  
 ===== Необязательные дополнения к курсовой работе ===== ===== Необязательные дополнения к курсовой работе =====
courses/programming/pr_cw_spring_requirements.1710765776.txt.gz · Last modified: 2024/03/18 12:42 by sergey_tinyakov