Programming Taskbook


E-mail:

Пароль:

Регистрация пользователя   Восстановление пароля

English

ЮФУ

Электронный задачник по программированию

©  М. Э. Абрамян (Южный федеральный университет), 1998–2017

 

Задания | Обзор

Next


Обзор

Задачник Programming Taskbook содержит следующие базовые группы учебных заданий (в скобках указано общее количество заданий для каждой группы и, после косой черты, количество заданий, доступных для выполнения в свободно распространяемом варианте PT4Mini):

  • Begin — ввод и вывод данных, оператор присваивания (40/40),
  • Integer — целые числа (30/30),
  • Boolean — логические выражения (40/40),
  • If — условный оператор (30/6),
  • Case — оператор выбора (20/5),
  • For — цикл с параметром (40/9),
  • While — цикл с условием (30/8),
  • Series — последовательности (40/7),
  • Proc — процедуры и функции (60/7),
  • Func — функции (вариант группы Proc для языков Python и Ruby) (60/7),
  • Minmax — минимумы и максимумы (30/6),
  • Array — одномерные массивы (140/15),
  • Matrix — двумерные массивы (100/8),
  • String — символы и строки (70/8),
  • File — двоичные файлы (90/13),
  • Text — текстовые файлы (60/10),
  • Param — составные типы данных в процедурах и функциях (70/9),
  • Recur — рекурсия (30/12),
  • Dynamic и Dynamic (obj) — динамические структуры данных (80/17),
  • Tree и Tree (obj) — деревья (100/20),

В формулировках заданий не используются понятия и имена, специфические для конкретного языка программирования.

Если о типе исходных или результирующих числовых данных в задании ничего не сказано, то предполагаются вещественные данные. Исключение составляют группы заданий Dynamic и Tree, в которых все числовые данные считаются целыми, и в формулировках заданий это особо не оговаривается.

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

Если в задании не указан максимальный размер исходных массивов, то его можно считать равным 10 для одномерных и 10 × 10 для двумерных массивов.

При описании элементов одномерных и двумерных массивов используется понятие порядкового номера элемента, причем начальный элемент массива A размера N всегда имеет порядковый номер 1 и обозначается в формулировках заданий как A1, а конечный элемент этого же массива имеет порядковый номер N и обозначается как AN. Аналогично, начальный элемент двумерного массива B обозначается как B1,1. Кроме того, понятие порядкового номера применяется к строкам и столбцам двумерных массивов (матриц): начальная строка и начальный столбец матрицы размера M × N имеют порядковый номер 1, конечная строка — номер M, а конечный столбец — номер N. Подобный подход не зависит от выбора языка программирования и соответствует традиционно используемой в математике нумерации элементов векторов и матриц.

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

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

Если в используемом языке программирования отсутствует понятие «процедура», то под процедурой в формулировках заданий групп Proc, Param и Dynamic надо понимать функцию, не имеющую возвращаемого значения.

Формулировки заданий групп Dynamic и Tree приводятся в двух вариантах: первый вариант (см. разделы «Dynamic» и «Tree») ориентирован на применение указателей и предназначен для языков Pascal и C++, второй вариант (см. разделы «Dynamic (obj)» и «Tree (obj)») ориентирован на применение объектов и предназначен для языков C#, Visual Basic .NET, Python, Java и Ruby. В реализации задачника для системы PascalABC.NET доступны оба варианта групп Dynamic и Tree (для вариантов групп Dynamic и Tree, ориентированных на использование объектов, используются названия ObjDyn и ObjTree соответственно). В реализации задачника для языка Visual Basic группы Dynamic и Tree отсутствуют.


Next

 

Рейтинг@Mail.ru

Разработка сайта:
М. Э. Абрамян, В. Н. Брагилевский

Последнее обновление:
05.02.2017