Главная » Просмотр файлов » Н. Джехани - Язык Ада (1988)

Н. Джехани - Язык Ада (1988) (1160771), страница 9

Файл №1160771 Н. Джехани - Язык Ада (1988) (Н. Джехани - Язык Ада (1988)) 9 страницаН. Джехани - Язык Ада (1988) (1160771) страница 92019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 9)

Операция (А геш В) определяется отно- шением А = (А/В) и В + (А геш В) где А и  — целые, / — операция целочисленного деления, а.(А геш В) имеет знак А и абсолютное значение меньшее, чем абсолютная величина В. С другой стороны, (А шоо В) имеет знак В и абсолютное значение меньшее, чем абсолютная величина В. Согласно такому ограничению, (А шее) В) определяется отно- шением А = В а Х + (А шее) В) где )ч) — некоторое целое. Тип аегулоп та Лги пааеого опеааида деастаие Гип левого операида о ар целый Фиксированный Фиксированный Фиксированный деление Универсальный гпип с фиксированной пючкой, т. е.

тип с произвольной точностью, не доступен пользователю. Значения этого типа должны явно преобразовываться в значения фиксированного типа, прежде чем они могут использоваться. 1.3.2.6. Операции наивысшего старшинства ~4.5.6] 1.4. Операторы [5] В данном разделе обсуждаются традиционные (такие как, например, в языке Паскаль) операторы языка Ада. Операторы, относяшиеся к параллельному выполнению, к исключительным ситуациям и включению машинного кода, выходят за рамки данного раздела.

Умножение Фиксированный целый Фиксированный целый Фиксированный Фиксированный Тот жа что и у левого операнда Тот же, что и у правого операнда Универсальный Гйиксироваиный Тот же, что и у левого операнда Универсальиый ФиксиРованный 1.4.1. Пустой операпюр [5.Ц В языке Ада присутствует оператор, который ничего не делает. Этот оператор есть пи!1; 17устой оператор используется в тех ситуациях, когда не нужно выполнять каких-либо действий, однако по синтаксису языка Ада требуется присутствие по крайней мере одного оператора. 1.4.2.

Присваивание [5.2] Оператор присваивания имеет форму Ч:= Е; где Ч вЂ” нмя переменной, а Š— это выражение. Выполнение оператора присваивания вызывает присваивание значения Е переменной, обозначенной через Ч. Тип Ч должен быть таким же, как и тип Е.

Более того, значение Е должно удовлетворять ограничениям, наложенным на тип Ч. Присваивание разрешено для всех типов. Например, полным массивам, отрезкам нли записям можно непосредственно присвоить значения. 1.4.3. Условный оператор [5.31 Условный оператор Ы имеет форму Ы логическое выраясение !Ьеп последовательность — операторов 1е!яЫ логическое- выражение Свеи последовательность операторов ! 1е1яе последовательность — операторов1 епд Ы; Выполняется последовательность операторов, соответствующая первому логическому выражению, если оно имеет значение !гпе.

В противном случае выполняется последовательность операторов, соответствующая части е!зе (если она присутствует). Следующий фрагмент программы, иллюстрирующий использование условного оператора, заимствован из абстрактной версии программы сортировки массива по методу быстрой сортировки, проведенной в конце данной главы. Ы один элемент Евеп ппП; е1зЫ два элемента Свеи упорядочить их е1зЫ более чем два элемента Сиеп разделить массив на две части и отсортировать каждую часть епд Ы 41 Вее ение 1.4.4. Операпюр выбора [5.41 Оператор выбора саяе используется для выбора одной последовательности операторов из нескольких возможных.

Он имеет вид саяе выражение 1я ггйеп вариант 1 ~ вариант ) = > последовательность операторов ггйеп вариант ~ ~ вариант ) = > последовательность-операторов| епд саяе; Выразсение в операторе выбора должно быть дискретного типа. Выполняется последовательность операторов, соответствующая тому варианту, который совпадает со значением выражения. Вариант должен быть статическим выражением дискретного типа или дискретного диапазона.

Вариант, являющийся дискретным диапазоном, — это сокращенная форма для списка вариантов, представляющих эти значения их диапазона. Варианты должны покрывать все возможные значения выражения в операторе выбора и взаимно исключать друг друга. Вариант огйегя можно задавать для последней альтернативы как сокращенное название всех оставшихся возможных значений выражения.

Примером оператора выбора является фрагмент программы-интерпретатора для бесскобочной польской нотации саяе С И ггйеп '+' => АРО; ягйеп ' — ' = > ЯЗВТВАСТ,' пйеп '*' = > М13ЬТ1Р1Х ягйеп '/' = > 1з1Ч1РЕ; ягйеп оГЬегя = >Р15Т ОХ БТАСК; епд саяе; Оператор выбора понятнее и более зффективен при реализации, чем многочисленные ветвления с использованием условного оператора И С = '+ ' ГЬеп АР1З; е1гй1 С = ' — ' ГЬеп ЯЗВТКАСТ, е!яИ С = "' ГЬеп МУЬТ1Р1У; е!яИ С = '/' 1Ьеп Р1Ч11зЕ; е1яе РОТ ОХ БТАСК; епд И; Оператор выбора в отличие от условного оператора можно использовать только в случае выбора, зависящего от значений дискретного выражения. 1.4.5. Циклы [5.51 Оператор цикла имеет три формы: ьнЫ1е логическое выражение 1оор последовательность операторов епд 1оор; аког параметр цикла 1п [гегегяе1 дискретный диапазон 1оор последовательность — операторов епд 1оор; 42 Глвва ! !оор последовательность операторов епй 1оор; Первый цикл, называемый циклом ггвйе, выполняется повторно до тех пор, пока логическое выражение имеет значение ТЛЕ.

Например, следующий цикл выполняется до тех пор, пока не достигнут конец файла Р. Операторы внутри цикла копируют значения из файла Р в файл К: гг!г!!е по! Ег(О ОР Р11.Е(Р) 1оор КЕА1)(Р, Х); %)К!ТЕ(К, Х); епо !оор; При второй форме, называемой циклом !ог, цикл выполняется по одному разу для Каждого значения из дискретного диапазона с параметром цикла, равным этому значению. Параметру цикла значения присваиваются в возрастающем порядке, когда отсутствует ключевое слово гечегяе, и в убывающем порядке, когда гегегяе присутствует. Параметр цикла явно не описывается. Он определяется неявно своим присутствием в цикле и имеет тип специфированного дискретного диапазона.

Параметр цикла локален по отношению к циклу, и его значение нельзя изменить в теле цикла. Ему нельзя присвоить никакое значение и его нельзя передавать процедуре каким-либо образом, позволяющим изменить его значение. Параметр цикла выступает в качестве константы внутри тела цикла. В следующем примере цикл выполняется для каждого значения индекса массива А, за исключением последнего, и при этом значения индексов присванваются параметру 1 в убывающем порядке: — из программы вычислений полинома по схеме — Горнера, приведенной в конце главы 1ог 1 !и гегегве А'Р1КБТ..А'(.АКТ вЂ” ! !оор — параметр цикла 1 описывается неявно своим — присутствием в заголовке цикла Я.1М: = ЯЗМ Ч + А(1); епд 1оор; Цикл 1ог не выполняется ни разу, если специфирован пустой диапазон. Например, следующий цикл не выполняется вообще, если ЬАБТ равно О.

1ог Л !и 1..!.АКТ 1оор — поиск в таблице ЯТ записей со значением — Х в поле 1(э Ы ВТ (1).1О = Х гйеп ге!нги ТК()Е; евд 11; епд !оор; Третья форма цикла используется тогда, когда не подходит ни цикл 1ог, ни цикл ггййе. В этой форме цикл повторяется до тех пор, пока выход из него ие будет указан явно, например с помощью операторов ехй, ге!вгп или йо!о, или неявно при возникновении исключительной ситуации. Третья форма цикла используется также для выражения бесконечных циклов, встречающихся в задачах йвв вняв (параллельных программах), которые никогда не должны останавливаться. Примерами таких программ являются часы, которые идут постоянно, а также бесконечный процесс чтения символов из буфера и выдача их в виде прописных букв. Второй из приведенных примеров иллюстрируется фрагментом программы: 1оор ВУРРЕК.КЕАО(Х); Р()Т((ЗРРЕК(Х)); епд 1оор; Выполнение оператора В()РЕЕК.КЕАР приостанавливается, когда буфер пуст и возобновляется при появлении в нем хотя бы одного символа.

1.4.5.1. Имена циклов Цикл можно пометить, написав перед ним идентификатор, например Помеченный цикл должен завершаться этим же именем, например епй 1оор 14 Метки циклов используются в операторах выхода. Пометка циклов полезна также в случае, когда циклы глубоко вложены друг в друга и когда первая и последняя строки цикла текстуально далеко разнесены. 1.4.6. Блоки 15.61 Блок — это последовательность операторов, которой предшествует множество локальных описаний и за которой следует последовательность реакций на исключительные ситуации (реакция на исключительные ситуации обсуждается в гл. 5 об исключениях). Блок может быть помеченным точно так же, как и цикл. 1 дес1аге описательная часть) Ьей)п последовательность операторов 1ехсерпоп обработчики исключений) епй; Блоки используются для ограничения области действия описаний и реакций на исключительные ситуации на те операторы, с которыми они логически связаны.

В отсутствие блоков эти описания будут «видимы» для всех других операторов и не будет возможности управлять реакциями на исключительные ситуации, возникающими в этих операторах. Память для объектов, описанных в блоке, распределяется при входе в блок и освобождается при выходе из него. Предположим, например, что необходимо написать фрагмент программы, обмениваюшей значения двух строк А и В типа 8ТК1Хб (1..80). бес)аге ТЕМР:ВТК1Ь(0(1..80); пива г Ьейш ТЕМР:= А; А:= В; В:= ТЕМР; епд; ТЕМР— это локальная по отношению к операторам переменная, которую они используют. ТЕМР невидима для других операторов в остальной части программы.

Характеристики

Тип файла
DJVU-файл
Размер
4,41 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее