Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Информационная модель
Разработаем информационную модель. Входная переменная С и выходная переменная Х могут принимать любые значения из диапазона 'A'..'Z'. Так как тип диапазон является нестандартным, то мы должны ему дать имя, например, LAT_ALF. Промежуточное данное - n, порядковый номер искомой литеры типа BYTE (см. литерный тип данных СHAR). Таблица 11.2. Информационная модель задачи
TYPE LAT_ALF='A'..'Z'; Программная модель PROGRAM SIM_BUK; { Назначение: нахождение в латинском алфавите буквы симметричной заданной относительно центра алфавита. }
TYPE LAT_ALF='A'..'Z';
VAR n {код искомой буквы (промежуточная инф.)}: BYTE; C {заданная латинская буква (вход.инф.)}, X {искомая латинская буква (выход.инф.)}: LAT_ALF;
BEGIN
{Ввод исходной информации} WRITELN('Введите латинскую букву'); READLN (C);
{Расчет по формулам} n: = ORD('A') + ORD('Z') - ORD(C); X: = CHR(n);
{Вывод результирующей информации} WRITELN('Буква ', X, ' симметрична букве ', C)
END.
Первый пример исполнения программы SIM_BUK 0) До выполнения программы осуществляется распределение свободного участка памяти под переменные величины, описанные в разделе переменных программы (рис.11.19). Содержимое выделенных участков памяти - неопределенное;
Рис. 11.19. – Содержимое ОП 1) выполняется обращение к процедуре вывода: WRITELN('Введите латинскую букву') Вычисляется фактический параметр-выражение. Получается строка символов. Она выводится на экран. На экране, начиная с текущего положения курсора, появляется сообщение: Введите латинскую букву , и курсор переводится в начало следующей строки экрана дисплея; 2) выполняется обращение к процедуре ввода: READLN (С) Программа ожидает получения информации в виде одного символа с клавиатуры ПЭВМ. Человек набирает эту информацию, например, ю и нажимает клавишу ввод (Return или Enter). Эта информация должна поступить в память под именем С, но происходит прерывание решения задачи (она снимается с решения), о чем свидетельствует сообщение: Error 201: Range СheСk error (ошибка при проверке границ) Действительно, множество значений для переменной С лежит в диапазоне от 'A'..'Z' (определяется типом LAT_ALF), значение 'ю' выходит за границу этого диапазона, поэтому происходит ошибка при проверке попадания значения в границы множества.
|