User Tools

Site Tools


Sidebar






Old

project_kalashnikov

This is an old revision of the document!


Чекер для работы с выражениями

Задача

Общая постановка задачи

Вычисление выражений из файла.

На вход подается файл, в каждой строке которого есть инициализация переменной или вычисление выражения. Требуется вычислить выражение в контексте определенных раннее переменных или вывести номер строки с ошибкой.

Пример:
x:=10;
y:=14;
z:=(x+y)*5;
z+x*(12+y);
Результат:
380

Параметры

Программа получает параметры из входного потока и должна проверить их корректность. Параметры:

  • input_file
  • x0
  • y0
  • x1
  • y1
  • commands
  • input_file - BMP файл
  • x0 y0 левый верхний угол области (отсчет с точки 0, 0)
  • x1 y1 правый нижний угол области
  • commands - числовой массив неизвестной длины, который хранит в себе последовательность функций обработки входного файла. Массив заканчивается числом 4 - функцией сохранения результата в новом файле.

В случае, если программа получила некорректные параметры, то:

  • операционной системе возвращается ненулевой код возврата (return в main)
  • не создается выходного в файла
  • выводится сообщение об ошибке “Fail with <имя параметра>”.

Общие сведения

  • 24 бита на цвет
  • без сжатия
  • файл всегда соответствует формату (проверять не нужно)
  • обратите внимание на выравнивание; мусорные данные, если их необходимо дописать в файл для выравнивания, должны быть нулями.
  • обратите внимание на порядок записи пикселей
  • все поля стандартных BMP заголовков в выходном файле должны иметь те же значения что и во входном (разумеется кроме тех, которые должны быть изменены).
project_kalashnikov.1489412527.txt.gz · Last modified: 2022/12/10 09:08 (external edit)