|
|
PROGRAM6586.PAS |
|
{* Перевод формулы в постфиксную запись *}Unit PROGRAM6586;Interface Implementation Begin writeln('Программа перевода формулы в постфиксную запись.'); End. Program Stack; Uses PROGRAM6586.pas; {* Эту строку можно удалить *} Type {* Используемые типы *} TList = ^List; List = Record inf : char; next : TList; End; Procedure AddToList( Var {* В работе нам потребуются переменные: *} L : TList; n : char); Var {* В работе нам потребуются переменные: *} cur : TList; Cur^.inf := n; Cur^.next := L; L := cur; Var {* В работе нам потребуются переменные: *} L : TList; Var {* Объявление переменных *} n : char); Var {* Объявление переменных *} cur : TList; Begin If L = Nil Then n := ' = ' Else Begin n; Cur := L; L := L^.next; Var {* Необходимые переменные *} MainList : TList; c : char; c2 : char; fIn : text; fOut : text; Begin MainList := Nil; Assign(fIn, 'Data.txt'); {* Подключение к файлу 'Data.txt' через переменную fIn *} Assign(fOut, 'Rez.txt'); {* Привязка переменной fOut к файлу 'Rez.txt' *} Reset(fIn); {* Чтение из файла через переменную fIn *} Rewrite(fOut); {* Запись в файл через переменную fOut *} While Not eof(fIn) Do {* Проверяем, не достигнут ли конец файла *} Begin Read(fIn, c); Case c Of '0'..'9' : Write(fOut, c); '(' : AddToList(MainList, c); ')': Begin GetFromList(MainList, c2); While c2'(' Do Begin Write(fOut, c2); GetFromList(MainList, c2); End; End; ' + ', ' - ': Begin GetFromList(MainList, c2); If Not (c2 In [' * ', ' / ', ' + ', ' - ']) Then AddToList(MainList, c2) Else While c2 In [' * ', ' / ', ' + ', ' - '] Do Begin Write(fOut, c2); GetFromList(MainList, c2); End; AddToList(MainList, c); End; ' * ', ' / ': Begin GetFromList(MainList, c2); If Not (c2 In [' * ', ' / ']) Then AddToList(MainList, c2) Else While c2 In [' * ', ' / '] Do Begin Write(fOut, c2); GetFromList(MainList, c2); End; AddToList(MainList, c); End; End; End; GetFromList(MainList, c); While c' = ' Do Begin write(fOut, c); GetFromList(MainList, c); End; Close(fIn); {* Закрыть файл fIn *} Close(fOut); {* Закрытие файла *} End...... 07.08.2014 - Breakpoint - точка остановки 07.08.2014 - Топ-10 самых популярных приложений в Facebook 18.11.2013 - Панель управления и персонализация системы. Windows Vista 18.11.2013 - Логические и физические диски. Windows Vista 18.11.2013 - Удаление файлов и папок 01.11.2013 - Программирование дисковых подсистем: возможности 31.10.2013 - Windows8 или Windows7? 31.10.2013 - Windows8, игры |
|
Non-commercial fansite
|