pascalabcnet/PABCNetHelp/ForEducation/PT4/Groups.html

133 lines
12 KiB
HTML
Raw Permalink Normal View History

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
<link rel="StyleSheet" href="../../default.css">
</head>
<body>
<h1>Группы заданий</h1>
<hr>
<p>Ниже перечислены все базовые группы заданий, включенные в электронный задачник <b>Programming Taskbook</b>
версии&nbsp;4.11 (в&nbsp;скобках указывается количество заданий в данной группе).
<ul>
<li><code>Begin</code> &#151; ввод и вывод данных, оператор присваивания (40),
<li><code>Integer</code> &#151; целые числа (30),
<li><code>For</code> &#151; цикл с параметром (40),
<li><code>Boolean</code> &#151; логические выражения (40),
<li><code>If</code> &#151; условный оператор (30),
<li><code>Case</code> &#151; оператор выбора (20),
<li><code>While</code> &#151; цикл с условием (30),
<li><code>Series</code> &#151; последовательности (40),
<li><code>Proc</code> &#151; процедуры и функции (60),
<li><code>Minmax</code> &#151; минимумы и максимумы (30),
<li><code>Array</code> &#151; одномерные массивы (140),
<li><code>Matrix</code> &#151; двумерные массивы (матрицы) (100),
<li><code>String</code> &#151; символы и строки (70),
<li><code>File</code> &#151; двоичные (типизированные) файлы (90),
<li><code>Text</code> &#151; текстовые файлы (60),
<li><code>Param</code> &#151; составные типы данных в процедурах и функциях (70),
<li><code>Recur</code> &#151; рекурсия (30),
<li><code>Dynamic</code> &#151; динамические структуры данных (80),
<li><code>Tree</code> &#151; деревья (100),
<li><code>ExamBegin</code> &#151; ЕГЭ по информатике: базовые алгоритмы (100),
<li><code>ExamTaskC</code> &#151; ЕГЭ по информатике: задачи повышенной сложности (100).
</ul>
<p>В варианте задачника для системы PascalABC.NET имеются две дополнительные группы ObjDyn и ObjTree,
в содержательном отношении идентичные группам Dynamic и Tree, однако использующие
в формулировках объектную терминологию (группы Dynamic и Tree ориентированы на использование указателей).
</p>
<p>Для выполнения заданий из задачника <b>Programming Taskbook</b> к программе необходимо подключить
<a href="IO.html">модуль <code>PT4</code></a>.
<p>Используя <a href="..\MakeModules\tmaker_main.htm"><i>конструктор учебных заданий</i> <b>PT4TaskMaker</b></a>, можно создавать новые группы заданий,
включая в них новые задания или импортируя имеющиеся задания из других групп.
</p>
<h2>Замечания о формулировках заданий и используемых в них данных</h2></p>
<p>Если о типе исходных или результирующих числовых данных в задании ничего не сказано,
то предполагаются <i>вещественные</i> данные. Исключение составляет группы заданий
Dynamic и Tree (а также ObjDyn и ObjTree),
в которой все числовые данные считаются <i>целыми</i>, и в формулировках заданий это особо не оговаривается.</p>
<p>При обработке наборов <i>вещественных</i> чисел следует предполагать, что все элементы набора
являются <i>различными</i> (таким образом, любой набор вещественных чисел содержит единственный
минимальный и единственный максимальный элемент). В наборах <i>целых</i> чисел могут
присутствовать <i>одинаковые</i> элементы; в частности, наборы целых чисел могут содержать
несколько минимальных и максимальных элементов. Аналогичные предположения справедливы для числовых массивов,
а также для файлов, содержащих числовые данные.</p>
<p>Во всех заданиях на обработку <i>массивов</i> (как одномерных, так и двумерных) начальное значение
любого индекса считается равным&nbsp;1. Если в задании не указан максимальный размер исходных массивов,
то его можно считать равным&nbsp;10 для одномерных и&nbsp;10&nbsp;<font face="Symbol">&#180;</font>&nbsp;10 для двумерных массивов.</p>
<p>При описании элементов одномерных и двумерных массивов используется понятие <i>порядкового
номера элемента</i>, причем начальный элемент массива <i>A</i> размера <i>N</i> всегда имеет порядковый
номер&nbsp;1 и обозначается в формулировках заданий как <i>A</i><sub>1</sub>, а конечный элемент этого же
массива имеет порядковый номер&nbsp;<i>N</i> и обозначается как <i>A</i><sub><i>N</i></sub>. Аналогично,
начальный элемент двумерного массива <i>B</i> обозначается как <i>B</i><sub>1,1</sub>. Кроме того,
понятие порядкового номера применяется к <i>строкам</i> и <i>столбцам</i> двумерных массивов (матриц):
начальная строка и начальный столбец матрицы размера <i>M</i>&nbsp;&#215;&nbsp;<i>N</i> имеют порядковый номер&nbsp;1,
конечная строка &#151; номер&nbsp;<i>M</i>, а конечный столбец &#151; номер&nbsp;<i>N</i>. Подобный подход
не зависит от выбора языка программирования и соответствует традиционно используемой в математике
нумерации элементов векторов и матриц.</p>
<p>Максимальный размер исходных <i>файлов</i> не указывается, поэтому при решении заданий на файлы не следует
использовать вспомогательные массивы, содержащие все элементы исходных файлов, однако допускается
использование <i>вспомогательных файлов</i>. Все исходные файлы считаются существующими, за исключением
специально оговоренных случаев, в которых существование исходных файлов требуется проверять
в ходе выполнения задания.</p>
<p>Под <i>размером</i> двоичного типизированного файла всегда подразумевается количество
содержащихся в нем <i>элементов</i> указанного типа (а не количество байтов, как это принято
в операционной системе). В формулировках заданий предполагается, что элементы двоичных файлов,
как и элементы массивов, нумеруются от&nbsp;1.</p>
</p>
<a name="exam"></a>
<h2>Задания, связанные с ЕГЭ по информатике
</h2>
<p>Начиная с версии 4.10, задачник Programming Taskbook включает набор групп заданий, связанных с ЕГЭ по информатике
и ИКТ. Эти группы начинаются с префикса Exam; они доступны для программных сред языков
Pascal (в том числе PascalABC.NET) и C++.
</p>
<p>В базовый набор заданий включены две группы Exam: группа ExamBegin,
содержащая задания на освоение базовых алгоритмов, включенных в кодификатор ЕГЭ по информатике и ИКТ,
и группа ExamTaskC, содержащая типовые задания повышенного уровня
сложности, включенных в ЕГЭ в качестве заданий группы С. Каждая из групп состоит из 100 учебных заданий;
20 заданий каждой группы доступны для выполнения в <a href="About.html#mini">мини-варианте задачника</a>.
</p>
<p>Особенностью групп Exam является то, что при их выполнении не требуется использовать специальные
средства ввода-вывода, входящие в задачник. Для того чтобы максимально приблизить вид программы,
выполняющей задание, к виду, требуемому на экзамене, в задачнике реализован специальный механизм,
позволяющий оформлять ввод-вывод данных с применением <i>стандартных средств используемого языка
программирования</i>: процедур Read/Readln-Write/Writeln для языка Pascal и стандартных потоков
ввода-вывода cin-cout для языка C++.
</p>
<p>При использовании заданий групп Exam сохраняются основные особенности задачника: автоматическое предоставление
программе учащегося исходных данных и автоматическая проверка правильности предложенного решения.
Следует отметить, что эти особенности оказываются наиболее полезными при решении задач повышенной
сложности (группа ExamTaskC), так как в них, как правило,
должны использоваться наборы исходных данных большого размера.
</p>
<p>При выполнении заданий групп Exam учащийся должен обеспечивать надлежащее <i>форматирование</i> выходных данных
(в других группах заданий это не требуется, поскольку
средства вывода электронного задачника выполняют форматирование автоматически).
</p>
<p>Отказ от использовании специальных средств ввода-вывода приводит к тому, что любые ошибки ввода-вывода
уже не обрабатываются задачником и обычно приводят к сообщениям об ошибке времени выполнения.
Это обстоятельство несколько затрудняет поиск ошибок, но в то же время
позволяет приблизить его к реальному процессу отладки программы, не использующему &laquo;подсказки&raquo;
задачника.
</p>
</body>
</html>