Практикум по курсу "Алгоритмизация и программирование". Часть 2. Андрианова А.А - 75 стр.

UptoLike

. Практикум по курсу «Алгоритмизация и программирование». Часть 2
Домашнее задание
1. Написать функции уничтожения стека и очереди.
2. Написать функции печати стека и очереди.
3. Дан односвязный список, содержащий целые числа. Написать функ-
цию, которая за один проход по списку распечатывает эти числа следующим
образом: сначала все четные числа в обратном порядке их следования в
списке, затем все нечетные числа в прямом порядке их следования. Для реше-
ния задачи использовать стек и очередь.
4. Дан односвязный список, содержащий целые числа. Написать функ-
цию, которая за один проход по списку распечатывает эти числа таким об-
разом, что сначала распечатаются все отрицательные числа, затем все поло-
жительные. Элементы, равные нулю, печататься не должны. Для решения за-
дачи использовать очередь.
5. Лабиринт задан в виде прямоугольной матрицы, в которой используют-
ся следующие обозначения: 0 возможен проход, 1 стена. Даны координа-
ты позиция путника в лабиринте. С помощью стека распечатать путь, по кото-
рому путник может выйти из лабиринта, если выход существует. Считается,
что путник вышел из лабиринта, если он находится на первой или последней
строке матрицы, или на первом или последнем столбце. Путник может дви-
гаться только по горизонтали или по вертикали.
6. Дана символьная строка с некоторым выражением, в котором могут со-
держаться скобки трех видов (), {}, []. Написать функцию проверки пра-
вильности расстановки скобок в этой строке.
Правильное скобочное выражение определяется следующим образом:
1) Строка, не содержащая скобок, является правильным скобочным
выражением.
2) Если строка A правильное скобочное выражение, то (A), [A], и
{A} – правильные скобочные выражения.
3) Если строки A и B правильные скобочные выражения, то AB
(конкатенация строк A и B) – правильное скобочное выражение.
Например, в выражениях [(A+B)*(A-B)+B и [(A+B]) нарушается второй
пункт определения правильного скобочного выражения. В первом выражении
75
            .       Практикум по курсу «Алгоритмизация и программирование». Часть 2
                                                      Домашнее задание

    1. Написать функции уничтожения стека и очереди.

    2. Написать функции печати стека и очереди.

    3. Дан односвязный список, содержащий целые числа. Написать функ-
цию, которая за один проход по списку распечатывает эти числа следующим
образом: сначала все четные числа в обратном порядке их следования в
списке, затем все нечетные числа в прямом порядке их следования. Для реше-
ния задачи использовать стек и очередь.

    4. Дан односвязный список, содержащий целые числа. Написать функ-
цию, которая за один проход по списку распечатывает эти числа таким об-
разом, что сначала распечатаются все отрицательные числа, затем – все поло-
жительные. Элементы, равные нулю, печататься не должны. Для решения за-
дачи использовать очередь.

    5. Лабиринт задан в виде прямоугольной матрицы, в которой используют-
ся следующие обозначения: 0 – возможен проход, 1 – стена. Даны координа-
ты позиция путника в лабиринте. С помощью стека распечатать путь, по кото-
рому путник может выйти из лабиринта, если выход существует. Считается,
что путник вышел из лабиринта, если он находится на первой или последней
строке матрицы, или на первом или последнем столбце. Путник может дви-
гаться только по горизонтали или по вертикали.

    6. Дана символьная строка с некоторым выражением, в котором могут со-
держаться скобки трех видов – (), {}, []. Написать функцию проверки пра-
вильности расстановки скобок в этой строке.
    Правильное скобочное выражение определяется следующим образом:
         1) Строка, не содержащая скобок, является правильным скобочным
         выражением.
         2) Если строка A – правильное скобочное выражение, то (A), [A], и
         {A} – правильные скобочные выражения.
         3) Если строки A и B – правильные скобочные выражения, то AB
         (конкатенация строк A и B) – правильное скобочное выражение.
    Например, в выражениях [(A+B)*(A-B)+B и [(A+B]) нарушается второй
пункт определения правильного скобочного выражения. В первом выражении

                                      75