и уметь следующее:
знать и настраивать программную среду, используемого им языка;
уметь работать с текстовыми файлами, уметь вводить и выводить информацию в текстовые файлы по заданному формату;
уметь использовать процедуры и функции;
знать, что такое рекурсия, и уметь применять ее в программировании;
знать основы теории графов
уметь писать процедуры сложения, вычитания и умножения для работы с многоразрядными числами («длинная» арифметика);
знать, что такое динамическое программирование и уметь применять его при решении нестандартных задач;
уметь решать задачи по вычислительной геометрии на плоскости (нахождение точки пересечения двух отрезков на плоскости и т. п.).