Группы заданий
Ниже перечислены все базовые группы заданий, включенные в электронный задачник Programming Taskbook версии 4.11 (в скобках указывается количество заданий в данной группе).
Begin
— ввод и вывод данных, оператор присваивания (40),Integer
— целые числа (30),For
— цикл с параметром (40),Boolean
— логические выражения (40),If
— условный оператор (30),Case
— оператор выбора (20),While
— цикл с условием (30),Series
— последовательности (40),Proc
— процедуры и функции (60),Minmax
— минимумы и максимумы (30),Array
— одномерные массивы (140),Matrix
— двумерные массивы (матрицы) (100),String
— символы и строки (70),File
— двоичные (типизированные) файлы (90),Text
— текстовые файлы (60),Param
— составные типы данных в процедурах и функциях (70),Recur
— рекурсия (30),Dynamic
— динамические структуры данных (80),Tree
— деревья (100),ExamBegin
— ЕГЭ по информатике: базовые алгоритмы (100),ExamTaskC
— ЕГЭ по информатике: задачи повышенной сложности (100).
В варианте задачника для системы PascalABC.NET имеются две дополнительные группы ObjDyn и ObjTree, в содержательном отношении идентичные группам Dynamic и Tree, однако использующие в формулировках объектную терминологию (группы Dynamic и Tree ориентированы на использование указателей).
Для выполнения заданий из задачника Programming Taskbook к программе необходимо подключить
модуль PT4
.
Используя конструктор учебных заданий PT4TaskMaker, можно создавать новые группы заданий, включая в них новые задания или импортируя имеющиеся задания из других групп.
Замечания о формулировках заданий и используемых в них данных
Если о типе исходных или результирующих числовых данных в задании ничего не сказано, то предполагаются вещественные данные. Исключение составляет группы заданий Dynamic и Tree (а также ObjDyn и ObjTree), в которой все числовые данные считаются целыми, и в формулировках заданий это особо не оговаривается.
При обработке наборов вещественных чисел следует предполагать, что все элементы набора являются различными (таким образом, любой набор вещественных чисел содержит единственный минимальный и единственный максимальный элемент). В наборах целых чисел могут присутствовать одинаковые элементы; в частности, наборы целых чисел могут содержать несколько минимальных и максимальных элементов. Аналогичные предположения справедливы для числовых массивов, а также для файлов, содержащих числовые данные.
Во всех заданиях на обработку массивов (как одномерных, так и двумерных) начальное значение любого индекса считается равным 1. Если в задании не указан максимальный размер исходных массивов, то его можно считать равным 10 для одномерных и 10 ´ 10 для двумерных массивов.
При описании элементов одномерных и двумерных массивов используется понятие порядкового номера элемента, причем начальный элемент массива A размера N всегда имеет порядковый номер 1 и обозначается в формулировках заданий как A1, а конечный элемент этого же массива имеет порядковый номер N и обозначается как AN. Аналогично, начальный элемент двумерного массива B обозначается как B1,1. Кроме того, понятие порядкового номера применяется к строкам и столбцам двумерных массивов (матриц): начальная строка и начальный столбец матрицы размера M × N имеют порядковый номер 1, конечная строка — номер M, а конечный столбец — номер N. Подобный подход не зависит от выбора языка программирования и соответствует традиционно используемой в математике нумерации элементов векторов и матриц.
Максимальный размер исходных файлов не указывается, поэтому при решении заданий на файлы не следует использовать вспомогательные массивы, содержащие все элементы исходных файлов, однако допускается использование вспомогательных файлов. Все исходные файлы считаются существующими, за исключением специально оговоренных случаев, в которых существование исходных файлов требуется проверять в ходе выполнения задания.
Под размером двоичного типизированного файла всегда подразумевается количество содержащихся в нем элементов указанного типа (а не количество байтов, как это принято в операционной системе). В формулировках заданий предполагается, что элементы двоичных файлов, как и элементы массивов, нумеруются от 1.
Задания, связанные с ЕГЭ по информатике
Начиная с версии 4.10, задачник Programming Taskbook включает набор групп заданий, связанных с ЕГЭ по информатике и ИКТ. Эти группы начинаются с префикса Exam; они доступны для программных сред языков Pascal (в том числе PascalABC.NET) и C++.
В базовый набор заданий включены две группы Exam: группа ExamBegin, содержащая задания на освоение базовых алгоритмов, включенных в кодификатор ЕГЭ по информатике и ИКТ, и группа ExamTaskC, содержащая типовые задания повышенного уровня сложности, включенных в ЕГЭ в качестве заданий группы С. Каждая из групп состоит из 100 учебных заданий; 20 заданий каждой группы доступны для выполнения в мини-варианте задачника.
Особенностью групп Exam является то, что при их выполнении не требуется использовать специальные средства ввода-вывода, входящие в задачник. Для того чтобы максимально приблизить вид программы, выполняющей задание, к виду, требуемому на экзамене, в задачнике реализован специальный механизм, позволяющий оформлять ввод-вывод данных с применением стандартных средств используемого языка программирования: процедур Read/Readln-Write/Writeln для языка Pascal и стандартных потоков ввода-вывода cin-cout для языка C++.
При использовании заданий групп Exam сохраняются основные особенности задачника: автоматическое предоставление программе учащегося исходных данных и автоматическая проверка правильности предложенного решения. Следует отметить, что эти особенности оказываются наиболее полезными при решении задач повышенной сложности (группа ExamTaskC), так как в них, как правило, должны использоваться наборы исходных данных большого размера.
При выполнении заданий групп Exam учащийся должен обеспечивать надлежащее форматирование выходных данных (в других группах заданий это не требуется, поскольку средства вывода электронного задачника выполняют форматирование автоматически).
Отказ от использовании специальных средств ввода-вывода приводит к тому, что любые ошибки ввода-вывода уже не обрабатываются задачником и обычно приводят к сообщениям об ошибке времени выполнения. Это обстоятельство несколько затрудняет поиск ошибок, но в то же время позволяет приблизить его к реальному процессу отладки программы, не использующему «подсказки» задачника.