Programming Taskbook


E-mail:

Пароль:

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

English

ЮФУ SMBU

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

©  М. Э. Абрамян (Южный федеральный университет, Университет МГУ-ППИ в Шэньчжэне), 1998–2024

 

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

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 и Julia) (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. Подобный подход не зависит от выбора языка программирования и соответствует традиционно используемой в математике нумерации элементов векторов и матриц.

Вместе с тем, поскольку в большинстве современных языков программирования массивы и другие коллекции всегда индексируются от 0, в задачник, начиная с версии 4.19, были добавлены варианты групп Series, Minmax, Array и Matrix, в которых вместо порядковых номеров используются индексы, начинающиеся с 0. Новые варианты групп получили имена ZSeries, ZMinmax, ZArray, ZMatrix (префикс Z в этих именах можно интерпретировать как «zero-indexed»).

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

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

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

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


Next

 

Рейтинг@Mail.ru

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

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