Cтраница 2
Программа на рис. 2.10 обеспечивает прибавление числа 49 к содержимому каждой из десяти ячеек памяти путем модификации кодов команд. [16]
Макропроцессор, объединенный с первым просмотром ассемблера. [17] |
Программа, объединяющая первый просмотр ассемблера и макропроцессора, может оказаться слишком большой, чтобы уместиться в основной памяти некоторых машин. [18]
Программа на ПЛ / 1 сама по себе является хорошим документом. Например, описание модуля может содержать структуру ПЛ / 1-данных и список операторов обработки этих данных. В этой связи уместно напомнить высказывание, что большинство операционных систем - это простые программы со сложными структурами данных. [19]
Программа содержит две фазы. Предварительная фаза проверяет синтаксис используемой канонической системы. Основная фаза просматривает входную строку, устанавливает, удовлетворяет ли она описанию, заданному посредством канонической системы, и генерирует необходимый перевод. [20]
Программа, приведенная на рис. 5.12, иллюстрирует правила применения глобальных, автоматических локальных и статических локальных переменных. Эта переменная сразу выводится на печать, чтобы показать, что глобальная переменная х скрыта от main. Эта переменная выводится на печать, чтобы показать, что переменная х нового блока скрывает переменную внешнего блока main. Переменная х со значением 7 автоматически разрушается, когда блок прекращает работу, и локальная переменная х внешнего блока main печатается еще раз, чтобы показать, что она уже не скрыта. В программе определены три функции таким образом, что каждая из них не получает никаких аргументов и ничего не возвращает. При вызове функции а эта переменная выводится на печать, увеличивается и печатается еще раз перед выходом из функции. Локальные переменные, объявленные как static, сохраняют свои значения даже вне обычной области действия локальной переменной. При вызове функции b печатается значение х, затем х увеличивается и печатается еще раз перед выходом из функции. Функция с не объявляет никаких переменных. При следующем вызове функции с печатается значение глобальной переменной, она умножается на 10 и печатается еще раз перед выходом из функции. В заключение программа печатает значение локальной переменной х в main еще раз, чтобы показать, что ни один из вызовов функций не изменил значение х, поскольку функции ссылались на переменные в других областях действия. [21]
Программы, которые мы обсуждали, имели в основном структуру функций, которые вызывают другие функции, подчиняясь строгой иерархии. Для некоторых типов задач полезно иметь функции, которые вызывают сами себя. Рекурсивная функция - это функция, которая вызывает саму себя или непо-спрттственно или т гчзои-ет ТТЙПРЗ anvrvio ФУНКЦИЮ. [22]
Программа старшинство операций - наиболее сложная, поскольку она проводит грамматический разбор полного арифметического выражения. Она использует правила старшинства операций ( приведены в упражнениях 1 и 7 гл. Грамматический разбор заканчивается, когда встречается разделитель, и последняя строка матрицы и символ остаются на вершине стека. Программы имя пере-менной и старшинство операций являются хорошими примерами возможного разделения функций между фазами интерпретации и синтаксического анализа. [23]
Программа, приведенная на рис. 5.15, вычисляет z - oe число Фибоначчи, вызывая рекурсивную функцию fibonacci. Обратите внимание, что числа Фибоначчи имеют тенденцию быстрого роста. [24]
Программа, интенсивно использующая функции, по сравнению с монолитной ( т.е. состоящей из одной части) программой без функций имеет потенциально большое число вызовов, а это увеличивает процессорное время программы. Но монолитные программы трудны для написания, тестирования, отладки, сопровождения и развития. [25]
Двумерное адресное пространство. [26] |
Программа адресует свое адресное пространство с помощью двух операндов - имени сегмента и смещения внутри. [27]
К расчету пластинки. [28] |
Программа должна быть универсальной, пригодной для широкого круга практических задач. [29]
Программа Робертса [22] строит описание сцены по фотографии. Это описание трехмерно, поскольку программа устанавливает координаты х, у, г всех углов тела. В качестве начала координат выбирается точка ( программа вычисляет ее положение) в трехмерном пространстве, в которой нужно установить камеру, чтобы получить исходную фотографию. Описание строится при помощи заранее заданных моделей. [30]