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

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

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

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

Например, присваивание Х(1..5)(2):=Х(1..5)(2) + 1.0; эквивалентно присваиванию Х(2) : = Х(2) + 1.0; Значения массива, называемые агрегапюм, конструируются непосредственно нз значений компонент. Агрегаты массива могут использоваться для присваивания значений объектам индексируемого типа нли в выражениях. Агрегаты массива можно образовать, используя позиционное сопоппавление, именное сопоставление или нх композицию. Агрегат должен быть полным, т. е.

значения должны задаваться всем компонентам составного значения. Тип агрегата, если он не задан явно, определяется из контекста. Тип агрегата может задаваться явно путем указания имени типа или подтнпа: Т'агрегагп где Т вЂ” это тип или подтип. Такая квалификация требуется в том случае, когда тип агрегата нельзя однозначно определить из контекста. Тип агрегата должен быть таким же, как и тип явно заданного типа или подтипа.

Ниже приведены примеры агрегатов и отрезков: (1, 2, 3, 4, 5) одномерный массив значений с пятью элементами; заданный с использоданием позиционного указания; значение 1-го элемента равно 1 (1..10 = > 5.5) одномерный массив значений с 10 элементами, каждый из которых имеет значение 5.5; при конструировании агрегата используется именное указание САЯР'(1 ( 45 = > "', о(пегз => ' ') одномерный массив значений типа САКР (тип агрегата указан явно), значения компонент 1 и 45 равны '*', а остальные компоненты имеют значения ' '. Диапазон индекса определяется из типа САКР. Вариант о!вега должен указываться последним. ('Т', 'е', 'з', З') одномерный массив символов "Тез1 " то же самое, что и в предыдущем примере; "..." — альтернативная форма записи одномерных агрегатов типа СНАКАСТЕК Вве нннв М:= (1..25 = > (1..25 = > 0.0)); в правой части присваивания указан двумерный массив агрегатных значений.

Он описывается как массив из 25 одномерных массивов, элементы которого равны 0.0. Здесь использовано именное указание Х(1..5):= (2 = > 5.0, 1 ! 3..5 = > 0.0); отрезку массива Х присваивается агрегат из 5. элементов; второй элемент агрегата равен 5.0, в то время как элементы 1, 3, 4 и 5 имеют значения 0.0 Границы позиционных агрегатов или агрегатов, содержащих вариант о(йегз, определяются из контекста [4.3.2). Х-мерный агрегат массива записывается как одномерный агрегат, содержащий (Х вЂ” 1)-мерный массив значений. 1.2.4.5. Атрибуты массивов 13.6.2) Следующие атрибуты определены для всех объектов индексируемого типа или ограниченного индексируемого подтипа А: А'НКЯТ Нижняя граница первого индекса; то же са- мое, что и А'Е)КВТ(1). А'Е(КЗТ(Х) Нижняя граница Х-го индекса.

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

Область значений массива — это множество правильных индексов для массива, в то время как диапазон (КА)чОЕ) массива — это множество значений элементов. 1.2.5. Записи 13.71 Запись — зто составной объект из компонент, каждая из которых имеет имя и которые могут быть различных типов (компоненты записи являются гетерогенными, в то время как компоненты массива — гомогенными). Именуемый тип определяется следующим образом: косого описание компонент ~ пвП епд гесоп1 Описание компонент определяет одну или более компонент. Их тип задается именем типа или подтипа, за которым следует факультативное ограничение Если запись не содержит компонент, то описание именуемого типа должно содержать зарезервированное слово ппП; такая запись называется пустой записью.

Компонента С объекта именуемого типа К указывается с помощью поименованной компоненты К.С. Вот некоторые примеры именуемых типов: гуре РОБ1Т1ОХ Ь гесогд Х, У: Р(.ОАТ; епо гесоп1; гуре БЕО1.1ЕХСЕ Ь гесогя( БЕО: ЯТК1ХО (1..МАХ 31ЕЕ); Е: РОБ1Т1ЧЕ ганге 1..МАХ Б1г.Е; епо гесоп1; гуре ПАТЕ Ь гесоп1 УЕАК: 1ХТЕОЕК гапйе 1901..2099; МОХТН: 1ХТЕОЕК гапке 1..12; РАУ: 1ХТЕОЕК ганге 1..31; епо гесоп1; Объектам именуемого типа можно задать неявные начальные значения, указав их для компонент записи при описании именуемого типа'з.

Неявные начальные значения могут быть подавлены явным указанием необходимых начальных значений. Например, всем объектам типа РОЯТ(ОХ можно задать неявные начальные значения (0.0, 0.0), описав РОЯТ1ОХ следующим образом: гуре РОБ1Т1ОХ Ь гесоп1 Х, У: Р ОАТ:= 0.0; епд гесоп1 В результате после задания описаний Р1: РОЯ1Т1ОХ; — неявная инициализация Р2: РОЯ1Т1ОХ:= (1.0, 1.0); — явная инициализация Р1.Х и Р1Х имеют значения 0.0, а Р2.Х и Р2Ч вЂ” значения 1.0. н Неявные значения лля объектов типа Т можно указывать только в случае, если Т вЂ” именуемый тип! Ввв вняв 33 Использование записей покажем на примере функции )г1БТА)чСЕ (длина), которая вычисляет расстояние между двумя точками (х7, у7) и (х2, у2) по формуле Описание функции )г!БТА)чСЕ имеет вид (впсбоп 1)1БТА(чСЕ (Р1, Р2: РОБ1Т10)ч) гегвгп Р ОАТ 1я )зей)п ге(пгп Б()КТ ((Р1.Х вЂ” Р2.Х) вв2 + (РЬ г' — Р2.г) *э2); епо; где Б()КТ вЂ” это определяемая пользователем функция вычисления квадратного корня.

1.2.5.1. Агрегаты записи 14.3.11 Значения записи, называемые агрегатами записи, можно непосредственно сконструировать из значений компонент. Агрегаты записи можно присваивать объектам именуемого типа. Значения должны задаваться всем компонентам независимо от того, существуют или нет неявные начальные значения всех компонент. Подобно агрегатам массивов, агрегаты записи могут быть позиционными или именными, В следующем примере агрегата записи используется тип РОБ1Т10)ч, опреде- ленный ранее, а также тип СОМРЬЕХ, имеющий описание гуре СОМРЬЕХ )в гесоп) К, 1: РЬОАТ; епд гесогй; Примером агрегата записи является (5.0, 6.0) Позиционное указание возможно, если тип можно определить из контекста; в противном случае агрегат необходимо квалифицировать с помощью типа, как показано в следующих примерах.

Тип агрегата указывается явно. РОБ(Т10(ч" (5.0, 6.0) СОМРЬЕХ' (5.0, 6.0) 1.2.6. Ссылочные типы 13.8, 4.1.31 Статические объекты создаются при их указании в описании. Динамические объекты создаются динамически и явно во время выполнения программы. Для создания динамических объектов используется генератор пев7. Число динамических объектов в отличие от числа статических объектов не фиксируется в программе — они могут по желанию создаваться и уничтожаться во время выполнения программы. Динамические объекты в отличие от статических объектов не Глава у имеют явных имен. На них ссылаются с помощью объектов ссылочного типа, которые указывают на инхп. Генератор пегч возвращает значение ссылочного типа после того, как создан динамический объект. Это и есть то значение, которое необходимо использовать для ссылки на динамический объект.

Это значение ссылочного типа можно присвоить более чем одному объекту того же самого ссылочного типа. Таким образом, на динамический объект можно ссылаться, используя один или более объектов ссылочного типа; говорят, что объект, на который можно ссылаться с помощью двух или более объектов, обладает синонимией. Ссылочный тип определяется следующим образом: ассеяз Т «ограничение! где Т вЂ” имя типа или подтипа, а ограничение — это дискриминант или ограничение индекса.

Объекты такого ссылочного типа используются для ссылки на объекты типа Т. Значение пн!1 связывается со всеми ссылочными типами. Все объекты ссылочного типа получают значение ппй в качестве неявного начального значения. Значение пв!1 показывает, что не существует объекта, на который можно ссылаться с помощью объекта ссылочного типа. Использование этого значения для ссылки на динамический объект приводит к возникновению ошибки. Приведем несколько примеров описаний ссылочных типов: !уре Т1ТЬЕ !и ассезз БТК1ХО «1, 40); — ссылки на строки длины 40 !уре 1.ОСАТ1ОХ !з асеева РОБ1Т1ОХ; гуре Р«О«)КЕ !я асеева ОЕОМЕТК1С Р«О!)КЕ; Динамические объекты создаются во время выполнения программы с помощью вызова генератора, который имеет вид пезч Т !«выралгение) ~ 'агрегат ~ дискриминант или ограничение индекса « где Т вЂ” имя типа или подтипа.

Во время создания объекта ему можно явно задать начальное значение. Если Т вЂ” неограниченный тип, то ограничение или начальное значение задаются прн создании динамического объекта типа Т. Используя описания объектов ссылочного типа Т1, Т2: Т1ТЬЕ; А, В: ЬОСАТ1ОХ; Р: Р1013КЕ; " Ссьзлочные типы — зто действительно указатели! В языке Ада используется другая терминология во избежание появления ассоциаций с ненадежностью, обычно присущей указателям. Также отметим, что в языке Ада на ссылочные типы накладывается больше ограничений по сравнению с числом ограничений, которое имеют указатели в других языках программирования. Отсутствие ограничений на указатели, как зто имеет место в языке ПЛ/1, позволяет указателям ссылаться на объекты любых типов.

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

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

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

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