This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
project_kalashnikov [2017/03/13 13:42] tatyana.berlenko created |
project_kalashnikov [2022/12/10 09:08] (current) |
||
---|---|---|---|
Line 7: | Line 7: | ||
Вычисление выражений из файла. | Вычисление выражений из файла. | ||
- | На вход подается файл, в каждой строке которого есть инициализация переменной или вычисление выражения. Требуется вычислить выражение в контексте определенных раннее переменных или вывести номер строки с ошибкой. | + | На вход подается файл, в каждой строке которого есть инициализация переменной или вычисление выражения. Требуется вычислить выражение в контексте определенных раннее переменных или вывести сообщение об ошибке. |
<file> | <file> | ||
Line 21: | Line 21: | ||
==== Параметры ==== | ==== Параметры ==== | ||
- | Программа получает параметры из входного потока и должна проверить их корректность. | + | Входной параметр: |
- | Параметры: | + | * input_file - текстовый файл с выражением |
- | * input_file | + | |
- | * x0 | + | |
- | * y0 | + | |
- | * x1 | + | |
- | * y1 | + | |
- | * commands | + | |
- | * input_file - BMP файл | + | ==== Обработка ошибок в файле ==== |
- | * x0 y0 левый верхний угол области (отсчет с точки 0, 0) | + | |
- | * x1 y1 правый нижний угол области | + | |
- | * commands - числовой массив неизвестной длины, который хранит в себе последовательность функций обработки входного файла. Массив заканчивается числом 4 - функцией сохранения результата в новом файле. | + | |
- | В случае, если программа получила некорректные параметры, то: | + | Возможные ошибки: |
+ | * некорректное число скобок (есть неоткрытые/незакрытые скобки) | ||
+ | * неинициализированы переменные | ||
+ | * отсутствует ; в конце строки | ||
+ | * деление на ноль | ||
+ | |||
+ | (можно согласовать добавление любых ошибок с преподавателем). | ||
+ | |||
+ | В случае, если в текстовом файле есть ошибки, то: | ||
* операционной системе возвращается ненулевой код возврата (return в main) | * операционной системе возвращается ненулевой код возврата (return в main) | ||
* не создается выходного в файла | * не создается выходного в файла | ||
- | * выводится сообщение об ошибке "Fail with <имя параметра>". | + | * выводится сообщение об ошибке "Fail in <строка c ошибкой>". |
- | + | * сообщение об ошибке выводится для каждой ошибки. | |
- | ==== Общие сведения ==== | + | |
- | * 24 бита на цвет | ||
- | * без сжатия | ||
- | * файл всегда соответствует формату (проверять не нужно) | ||
- | * обратите внимание на выравнивание; мусорные данные, если их необходимо дописать в файл для выравнивания, должны быть нулями. | ||
- | * обратите внимание на порядок записи пикселей | ||
- | * все поля стандартных BMP заголовков в выходном файле должны иметь те же значения что и во входном (разумеется кроме тех, которые должны быть изменены). | ||