Глава 23. Проверка баланса скобок

Постановка задачи
Идеи реализации
Стек
Разработка
Готовая программа

В файле встречаются скобки нескольких видов, например, круглые, квадратные и фигурные. Напишем программу balance.pl, которая проверит, сбалансированы эти скобки или нет.

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

Программа будет читать символы со стандартного ввода, то есть после своего запуска будет ожидать ввода символов с клавиатуры. Чтобы обозначить конец ввода, в Linux следует ввести символ (End Of Transmission — конец передачи). Для этого нужно нажать Ctrl+D:

Другой вариант использования программ, читающих со стандартного ввода — переадресация ввода из файла. Вместо того, чтобы вводить символы вручную, поместим их в файл, и поместим после команды ./balance.pl знак <, а затем имя файла:

Наконец, можно перенаправить на стандартный ввод команды ./balance.pl стандартный вывод какой-то другой команды. Это может быть команда cat, которая просто выводит содержимое файла на стандартный вывод. Для присоединения стандартного вывода одной команды к стандартному вводу другой между командами вставляется знак конвейера |:

Информатика-54© А. Н. Швец