Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Второй пример исполнения программы SIM_BUK






0) До выполнения программы осуществляется распределение свободного участка памяти под переменные величины, описанные в разделе переменных программы (рис.11.20). Содержимое выделенных участков памяти - неопределенное;

  ОП  
n ? под хранение данного типа BYTE (1Б)
C ? под хранение данного типа LAT_ALFREAL (1Б)
X ? под хранение данного типа LAT_ALFREAL (1Б)

Рис. 11.20. – Содержимое ОП

1) выполняется обращение к процедуре вывода:

WRITELN('Введите латинскую букву')

Вычисляется фактический параметр-выражение. Получается строка символов. Она выводится на экран. На экране, начиная с текущего положения курсора, появляется сообщение:

Введите латинскую букву

, и курсор переводится в начало следующей строки экрана дисплея;

2) выполняется обращение к процедуре ввода:

READLN (С)

Программа ожидает получения информации в виде одного символа с клавиатуры ПЭВМ. Человек набирает эту информацию, например, Z и нажимает клавишу ввод (Return или Enter). Значение 'Z' поступает в память под именем С. Содержимое оперативной памяти после этого показано на рис. 11.21.

  ОП  
n ? под хранение данного типа BYTE (1Б)
C 'Z' под хранение данного типа LAT_ALFREAL (1Б)
X ? под хранение данного типа LAT_ALFREAL (1Б)

Рис. 11.21. – Содержимое ОП после ввода

3) исполняется оператор присваивания:

n: = ORD('A') + ORD('Z') - ORD(С)

Вначале вычисляется выражение, стоящее в правой части оператора. В стеке для вычисления выражения последовательно слева направо вычисляются значения всех трех функций. Получаются значения 65, 90 и 90. Затем к значению 65 добавляется 90, получается 155. Затем из 155 вычитается 90, получается 65. Значение 65 записывается в память под именем n (рис. 11.22);

 

n: =   +   -   (65)
  ord('A') + ord('Z') - ord(c)  

Рис. 11.22. – Выполнение оператора присваивания n: =ord('A')+ord('Z')-ord(c)

4) исполняется оператор присваивания (рис. 11.23):

X: = СHR(n)

 

x: = 'A' ('A')
  chr(n)  

Рис. 11.23. – Выполнение оператора присваивания x: =chr(n)

В результате в памяти под именем X помещается значение 'A'. В результате после

  ОП  
n   под хранение данного типа BYTE (1Б)
C 'Z' под хранение данного типа LAT_ALFREAL (1Б)
X 'A' под хранение данного типа LAT_ALFREAL (1Б)

Рис. 11.24. – Содержимое ОП после 4 шага

выполнения этого шага имеем содержимое оперативной памяти, приведенное на рис. 11.24.

5) выполняется обращение к процедуре вывода:

WRITELN('Буква ', X, ' симметрична букве ', С)

 

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

Буква A симметрична букве Z


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.009 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал