Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРОЛОГ.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
603.14 Кб
Скачать

23 34 7 9 4 Сумнечет.

Здесь слова (некоторые команды уже были рассмотрены раньше) интерпретируются следующим образом:

От : до ;

 определяет новое слово СУМНЕЧЕТ;

0 (или 2)

 помещает в стек число 0 (или 2) ;

DO

удаляет из стека два элемента (например, i и j) и выполняет слова до LOOP i-j раз;

IF

 если вверх стека  0, то выполняются слова между IF и ELSE, иначе между ELSE и THEN;

.

печатает символ из стека.

Трассировка программы

Слово

Стек

Комментарий

23

23

34

23 34

7

23 34 7

9

23 34 7 9

4

23 34 7 9 4

Задает количество элементов массива

СУМНЕЧЕТ

23 34 7 9 4

Загрузить в память определение

0

23 34 7 9 4 0

SWAP

23 34 7 9 0 4

0

23 34 7 9 0 4 0

DO

23 34 7 9 0

Удалить значения, управляющие циклом

SWAP

23 34 7 0 9

DUP

23 34 7 0 9 9

2

23 34 7 0 9 9 2

MOD

23 34 7 0 9 1

IF

23 34 7 0 9

TOS5=1; выполнить от IF до ELSE

+

23 34 7 9

ELSE

23 34 7 9

Пропустить до THEN

DROP

23 34 7 9

Пропускается

THEN

23 34 7 9

Пропускается

LOOP

23 34 7 9

Возврат к DO

DO

23 34 7 9

SWAP

23 34 9 7

DUP

23 34 9 7 7

2

23 34 9 7 7 2

MOD

23 34 9 7 1

IF

23 34 9 7

TOS=1; выполнить от IF до ELSE

+

23 34 16

ELSE

23 34 16

Пропустить до THEN

DROP

23 34 16

Пропускается

THEN

23 34 16

Пропускается

LOOP

23 34 16

Возврат к DO

DO

23 34 16

SWAP

23 16 34

DUP

23 16 34 34

2

23 16 34 34 2

MOD

23 16 34 0

IF

23 16 34

TOS=0; выполнить от ELSE до THEN

+

23 16 34

Пропускается

ELSE

23 16 34

DROP

23 16

THEN

23 16

LOOP

23 16

Возврат к DO

DO

23 16

SWAP

16 23

DUP

16 23 23

2

16 23 23 2

MOD

16 23 1

IF

16 23

TOS=1; выполнить от IF до ELSE

+

39

ELSE

39

Пропустить до THEN

DROP

39

Пропускается

THEN

39

Пропускается

LOOP

39

Больше итераций нет

;

39

Возврат из СУМНЕЧЕТ

.

<стек пуст>

Напечатать результат

1Последовательность рассмотрения этих причин не связана с их важностью или каким-либо приоритетом.

2 Интересно отметить, что непосредственно на APL было сделано само формальное описание System/360 и это является единственным таким случаем.

3

4

5

30