Иллюстрированный самоучитель по Perl

Вопросы и Упражнения

Вопросы для самоконтроля

  1. Какие формы обращения к подпрограмме вы знаете?
  2. Что такое область видимости переменной?
  3. Как ограничить область видимости переменной?
  4. Чем отличаются переменные, объявленные при помощи функции ту о от переменных, объявленных при помощи функции local ()?
  5. Каким образом данные передаются в подпрограмму и из подпрограммы?
  6. Что такое передача параметров по ссылке и по значению?
  7. Какой тип данных называется typegiob?
  8. Как осуществить передачу по ссылке параметра-массива?
  9. В каких случаях функция local () не может быть заменена функцией my ()?
  10. Что такое прототип?
  11. Какие значения будут иметь переменные $х, @list1, @list2 после выполнения программы
#!/usr/bin/perl
$х = 0;
@list1 = (1, <strong>2</strong>, 3);
@list2 = funcO; sub func {
local ($x);
$x = 1;
@list1 = (4, 5, 6); ___
} "X
\

Упражнения

  1. Напишите подпрограмму, которая выводит пронумерованный список своих аргументов.
  2. Напишите подпрограмму, которая выводит пронумерованный список своих аргументов в обратном порядке.
  3. Напишите подпрограмму, которая подсчитывает число символов из стандартного ввода и выводит результат.
  4. Напишите подпрограмму, которая выводит свои параметры-массивы в обратном порядке по элементам.
  5. Напишите подпрограмму, которая для двух своих параметров-массивов осуществляет взаимный обмен элементов с одинаковыми индексами.
  6. Одной из известных задач, для решения которых применяется рекурсия, является задача о Ханойских башнях.
  7. На плоскости установлены три стержня: а, b, с (рис. 11.1).

На стержень а нанизаны n дисков, расположенных по возрастанию диаметра. Необходимо переместить диски со стержня а на стержень с, используя стержень b и соблюдая следующие ограничения: можно перемещать только один диск одновременно, диск большего диаметра никогда не может находиться на диске меньшего диаметра.

Напишите подпрограмму, которая описывает последовательность переноса дисков в ходе решения задачи, выводя сообщения вида:

Перенос диска со стержня а на стержень с.

Иллюстрированный самоучитель по Perl › Подпрограммы и функции › Вопросы и Упражнения
Рис. 11.1. Задача о Ханойских башнях

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.