Курсовая работа: Ссылочные типы. Динамические переменные

end

end;

Необходимо обратить внимание на введение вспомогательной переменной ссылочного типа ServiceVar для осуществления удаления элемента. Типична ошибка, связанная с попыткой решить эту задачу через dispose( StackHead ).

Разберем решение типичной задачи, связанной с обработкой стека.

Текст задания

Используя стек (считать уже описанными тип Stack с информационным элементом типа Char, функцию StackIsClear (проверка пустоты стека) и процедуры CreateStack (очистка стека), IncludeInStack (вставка элемента в стек), SelectFromStack (выборка элемента из стека)) решить следующую задачу: в текстовом файле f записана без ошибок формула следующего вида:

<формула>::= <цифра>|M(<формула>,<формула>)|m(<формула>,<формула>)

цифра::= 0|1|2|3|4|5|6|7|8|9

где M обозначает функцию max, а m √ min. Вычислить (как целое число) значение данной формулы (например, M( 5, m( 6, 8)): 6).

Решение

program StackSample;

type

FileType= File of Char;

var

Source: FileType;

function formula( var t: FileType ): integer;

type

TypeOfElem= Char;

Assoc= ^ElementOfStack;

ElementOfStack= record

Elem: TypeOfElem;

NextElem: Pointer

end;

Stack= Assoc;

var

S: Stack;

c, op, x, y: char;

procedure CreateStack ( var StackHead: Stack);

begin

К-во Просмотров: 590
Бесплатно скачать Курсовая работа: Ссылочные типы. Динамические переменные