Об особенностях использования некоторых групп учебных заданий
для языков Python и R
Язык Python
Группа Case. Поскольку в языке Python до версии 3.10 отсутствовал оператор выбора,
задания из группы Case следует выполнять с использованием полного варианта
оператора if: ifelifelse.
Группа Series. При выполнении заданий из данной группы не требуется
использовать сложные типы данных (в частности, списки); достаточно
последовательно сохранять элементы исходных данных
в одной целочисленной или вещественной переменной
и выполнять их немедленную обработку.
Группа Func. Данная группа была разработана
специально для языка Python и подобных ему языков (Ruby, Julia и R). Входящие в нее задания аналогичны заданиям
из стандартной группы Proc, однако формулировки части заданий
изменены с учетом особенностей языка Python, связанных с передачей параметров
(в языке Python нельзя передавать по ссылке параметры скалярных типов,
и в то же время функции могут возвращать набор значений, представленный в виде кортежа).
Для языков Python, Ruby, Julia и R группа Func полностью аналогична группе ZFunc.
Группы Array и Matrix.
Поскольку в языке Python отсутствует встроенный тип
«массив», в данных группах надо использовать другие встроенные типы,
связанные с обработкой последовательностей (в частности, списки).
Для хранения матриц (двумерных таблиц чисел) следует использовать
списки, состоящие из числовых списков, хранящих строки или столбцы матрицы.
Соответствующие примеры приведены в разделе «Обработка последовательностей».
Поскольку индексирование списков и других структур данных в языке Python начинается с 0,
удобнее использовать группы ZArray и ZMatrix, в которых предполагается,
что наборы данных индексируются от 0.
Группа File. Стандартные функции языка Python, связанные с вводом-выводом
данных для двоичных файлов, не предусматривают прямой обработки числовых типов, поэтому при чтении
и записи числовых данных могут потребоваться специальные методы unpack и pack,
реализованные в модуле struct (см. соответствующие примеры
в разделе «Обработка файлов»).
Язык R
Группа Case. Поскольку в языке R отсутствует оператор выбора,
задания из группы Case следует выполнять с использованием оператора if: ifelse ifelse.
Группа Series. При выполнении заданий из данной группы не требуется
использовать векторы из нескольких элементов; достаточно
последовательно сохранять элементы исходных данных
в одной целочисленной или вещественной переменной (векторе длины 1)
и выполнять их немедленную обработку.
Группа Func. Как было отмечено выше при рассмотрении языка Python,
данная группа была разработана специально для языка Python и подобных ему языков (Ruby, Julia и R).
Входящие в нее задания аналогичны заданиям
из стандартной группы Proc, однако формулировки части заданий
изменены с учетом особенностей языка Python, связанных с передачей параметров
(в языке Python нельзя передавать по ссылке параметры скалярных типов,
и в то же время функции могут возвращать набор значений, представленный в виде кортежа).
Для языков Python, Ruby, Julia и R группа Func полностью аналогична группе ZFunc.
Группы Array и Matrix.
В языке R для обработки одномерных и двумерных последовательностей
надо использовать встроенные типы vector «вектор» и matrix «матрица».
Соответствующие примеры приведены в разделе «Обработка последовательностей».
Индексирование элементов векторов и матриц в R выполняется от 1, что соответствует
нумерации элементов последовательностей, принятой в группах Array и Matrix.
|