Вопросы и Упражнения
Вопросы для самоконтроля
1. Что такое ссылка?
2. Объясните разницу между жесткой и символической ссылкой.
3. Все ли корректно в следующем фрагменте:
$href = \%hash; $$href[0] = 17;
4. Каким будет значение переменной $b после выполнения следующих операторов:
$а = 1; $b = ref $a;
5. Что обозначает каждое из выражений:
$$а[0]; ${$а[0]}; $а › [0]; '$а[0];
6. Приведите пример неявного создания ссылки.
7. $arr_ref – ссылка на анонимный массив. Как с ее помощью обратиться к третьему элементу этого массива? Напишите выражение.
8. Что такое "замыкание"?
Упражнения
1. Добавьте текст, содержащий последовательность операций, которые надо применить к переменной $b, чтобы получить значение переменной $а:
$а = 7; $b = \\\\$а;
В упражнениях 2-4 используйте результаты, полученные в примерах 9.1-9.3.
2. Вывести на экран все дни 2000 года, приходящиеся на воскресенья. Вывод должен содержать строку-заголовок, например:
"All 2000 " Sundays are: "
…и по одной строке на каждый месяц года В виде:
<название месяца> <дни месяца>
3. Вывести на экран календарь на второй квартал года в виде:
<название месяца> <Monday> <дни месяца> <Sunday> <дни месяца>
4. Вывести на экран календарь на первую неделю любого месяца. Вывод должен содержать строку-заголовок и по одной строке на каждый день недели в виде:
<название месяца> <день месяца> <название дня недели>
5. Треугольником Паскаля называется следующая бесконечная таблица чисел:
Рис. 9.4. Треугольник Паскаля
Каждое число в этой таблице равно сумме двух чисел, стоящих над ним слева и справа. Предложите структуру данных для хранения первых строк треугольника Паскаля. Напишите программу, заполняющую первые 32 строки и выводящую их на печать.