Смекни!
smekni.com

Программирование на языках высокого уровня (стр. 5 из 5)

В данном примере список L можно представить в виде:

LB

5

F

6

TEMP

16

EST

17

. . .


SPISOK

3

nil

Далее программа составляет новый список, состоящий из элементов списка L (имен идентификаторов программы, а также чисел их вхождений в тексте программы), отсортированных в алфавитном порядке.

Изначально список Est будет иметь один элемент (первый элемент списка L). Далее элементы из списка L по очереди будут добавляться в список Est. Список Est будет формироваться по алфавиту, то есть вначале список Еst содержит один элемент:

LB

5

nil

Далее программа выберет из списка L следующий элемент:

F

6

Имя F младше по алфавиту имени LB, соответственно список Est будет преобразован в следующий список:

F

6

LB

5

nil

И так далее до тех пор пока список L не кончится. Программа проверяет старше ли имя идентификатора элемента списка L имени идентификатора изначально первого элемента списка Est. Если да, то программа переходит к сравнению имени идентификатора элемента списка L со следующим именем идентификатора элемента списка Est. Как только список Est заканчивается или же имя идентификатора списка L будет младше имени идентификатора элемента списка Est, то программа вставляет элемент списка L после предыдущего элемента списка Est.

В итоге программа распечатает на экран содержание списка Est, что в данном примере будет выглядеть следующим образом:

A=4; B=4; C=7; CH=44; E=6; EST=17; F=6; FEST=10; FST=10; K=14; L=33; LB=5; P=14; PEST=4; RECSPISOK=2; S=19; SPISOK=3; ST=75; TEMP=16;

Далее программа ждет нажатия на клавишу "Enter". После этого программа завершает работу.