Главная / Программирование /
Язык программирования Python / Тест 13
Язык программирования Python - тест 13
Упражнение 1:
Номер 1
Какие функции выполняет SWIG?
Ответ:
 (1) создает интерфейсные файлы 
 (2) интерпретирует заголовочные файлы C/C++ 
 (3) интерпретирует интерфейсные файлы собственного формата 
 (4) компилирует и компонует модуль расширения для Python 
Номер 2
Какие функции выполняет Pyrex?
Ответ:
 (1) создает файлы на C/C++ из файлов на Pyrex 
 (2) на основе C/C++ кода создает файлы на Python 
 (3) интерпретирует Pyrex-файлы в код Python 
 (4) компилирует и компонует модуль расширения для Python 
Номер 3
Для чего нужен Pycaml?
Ответ:
 (1) создает файлы модуля расширения Python на C/C++ из кода ocaml 
 (2) создает файлы модуля расширения Python на Ocaml 
 (3) позволяет встроить интерпретатор Python в программу на Ocaml 
 (4) позволяет использовать Python-библиотеки из Ocaml 
Номер 4
Что позволяет делать Jython?
Ответ:
 (1) встраивать интерпретатор Python в Java-программы 
 (2) использовать в Python Java-классы 
 (3) писать Java-аплеты в синтаксисе Python 
 (4) встраивать в обычный Python Java-код 
Номер 5
Насколько полно C API Python охватывает средства языка Python?
Ответ:
 (1) только основные вызовы интерпретатора 
 (2) меньше половины возможностей 
 (3) значительная часть возможностей 
 (4) практически все возможности 
Упражнение 2:
Номер 1
С помощью какого макроса удобнее всего определить строку документации при использовании C API?
Ответ:
 (1) PyDoc_VAR
 
 (2) PyDoc_STR
 
 (3) PyDoc_STRVAR
 
 (4) PyDoc
 
Номер 2
Какие функции C API обеспечивают разбор переданных аргументов?
Ответ:
 (1) PyArg_ParseTuple
 
 (2) PyArg_ParseTupleAndKeywords
 
 (3) Py_BuildValue
 
 (4) Py_Initialize
 
Номер 3
Какой макрос уменьшает счетчик ссылок объекта на единицу?
Ответ:
 (1) PyMem_Free
 
 (2) PyMem_Del
 
 (3) Py_DECREF
 
Номер 4
Где мог встретиться следующий фрагмент кода?
%module gugu
%typemap(out) char * {
char i;
$result = PyTuple_New(6);
Ответ:
 (1) это код на языке Pyrex 
 (2) это код модуля расширения на C 
 (3) это код из интерфейсного файла SWIG 
 (4) это код OCaml 
Номер 5
Где мог встретиться следующий фрагмент кода?
if a < 5:
a = 1000
Ответ:
 (1) это код на языке Pyrex 
 (2) это код модуля расширения на C 
 (3) это код из интерфейсного файла SWIG 
 (4) это код на Python 
Упражнение 3:
Номер 1
Какие из следующих программ (модулей) лучше написать в виде модулей расширения на языке более низкого уровня, чем Python?
Ответ:
 (1) программу для запуска других программ 
 (2) модуль матричных вычислений 
 (3) обработку файла лога с помощью регулярных выражений 
 (4) производительный HTTP-прокси сервер 
Номер 2
Какие из следующих программ (модулей) лучше написать в виде модулей расширения на языке более низкого уровня, чем Python?
Ответ:
 (1) управление приложением с графическим интерфейсом пользователя 
 (2) преобразование файла с видеоданными из одного формата в другой 
 (3) программу для формирования квартального отчета небольшой организации 
 (4) генерацию примеров для тестирования, требующая частой переделки 
Номер 4
В каких из перечисленных ниже случаев удобнее встроить интерпретатор Python в программную систему?
Ответ:
 (1) когда система позволяет вызывать внешние сценарии 
 (2) когда системе требуется функциональность, которую пользователю удобнее описать на языке сценария, но система изначально написана на C/C++ 
 (3) система доступна в виде бинарной библиотеки 
 (4) система поставляется как пакет прикладных программ 
Номер 5
В каком случае целесообразно написать модуль расширения, а не модуль на чистом Python (в предположении, что программная система пишется на Python)?
Ответ:
 (1) требуемая от модуля функциональность доступна в виде бинарной библиотеки 
 (2) система требует большой гибкости, но не требует высокой производительности 
 (3) предполагается, что модуль будет часто использоваться, но изменения в нем будут довольно редкими 
 (4) от модуля требуется высокая производительность