34
состояние вычислительного процесса и обусловить этим выполнение или
невыполнение данной команды. Аналог подобного подхода на более высоком
уровне программирования — таблицы решений [8]. Спроектированный и
построенный в 1946 году в Великобритании Аланом Тьюрингом компьютер
ACE включал в команду адрес следующей подлежащей исполнению команды.
Все же можно с полным основанием назвать описанную модель
вычислений традиционной — именно так работает подавляющее
большинство современных ЭВМ и именно на нее ориентированы
большинство из существующих языков программирования.
Контрольные вопросы и упражнения
1.
Что входит в понятие модели вычислений?
2.
Почему архитектура большинства современных компьютеров носит имя
фон Неймана? Заслуженно ли это?
3.
Опишите основные элементы «фон-неймановской» архитектуры ЭВМ.
В чем ее недостатки?
4.
Процедурная,
императивная
и
традиционная
парадигмы
программирования — это одно и то же?
5.
Из каких этапов состоит цикл работы «фон-неймановского»
компьютера?
6.
Существуют ли альтернативные архитектуры ЭВМ? В чем их
преимущества и недостатки?
7.
Представьте себя инженером-конструктором компьютера. Как бы вы
построили ЭВМ?
Базовые
понятия и конструкции
императивных языков
Программа на императивном языке содержит последовательность
предписаний, или инструкций, которые должен выполнить компьютер. Эти
предписания в ассемблере принято называть командами, а в языках
высокого уровня —
операторами. Фрагмент программы может выглядеть
следующим образом:
<
оператор
1
>
<
оператор
2
>
<
оператор
3
>
…
<
оператор
n
>
В некоторых языках программирования операторы нумеруются.
35
Пример на языке Бейсик:
10 INPUT "Введите A и B";A,B
20 D=A+B
30 PRINT "Сумма введенных чисел равна",D
Данная программа может быть исполнена интерпретатором Бейсика,
позволяя подсчитать сумму двух введенных чисел. Номер строки
позволяет ссылаться (продолжить исполнение с нее) на строку с
определенным номером.
Пример на языке Бейсик:
GOTO 20
Сейчас, однако, нумерация строк — скорее анахронизм. Вместо них
используется аппарат
меток, являющихся необязательным, но
допустимым префиксом строки программы, что позволяет нарушить
естественный ход выполнения программы,
выполнив переход к метке.
Пример на языке Си:
goto label;
Пример на языке Java:
break label;
Пример на ассемблере PDP-11:
BR MET
Достарыңызбен бөлісу: