Ada (798525), страница 2

Файл №798525 Ada (Ada) 2 страницаAda (798525) страница 22019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Примеры:3.14100.00.0Символьные литералы обозначают одиночные символы, и для их обозначенияиспользуются одинарные кавычки. Например:'a''b'Примечание:В отличие от языка Паскаль, в Аде нельзя производить присваиваниесимвольного литерала строковой переменной (подробности о работе состроками в Аде мы пока отложим на потом).Строковые литералы предназначены для обозначения строковых значений, и для ихобозначения используются двойные кавычки.

Например:"это строковый литерал""a"-- это тоже строковый литерал, хотя и односимвольныйПримечание:Строковый литерал не может непосредственно содержать символ табуляции,хотя значение строковой переменной или константы - может. Это достигаетсяпутем конкатенации строки и символа, или вставкой символа в строку.1.4.4 Зарезервированные словаНекоторые слова, такие как with, procedure, is, begin, end и т.д., являютсячастью самого языка программирования. Такие слова называют зарезервированными(или ключевыми) и они не могут быть использованы в программе в качестве именидентификаторов. Полный список зарезервированных слов Ады приводится ниже:abortelsenewreturnabselsif* abstractnotendreverseacceptnullentryselectaccessexception* aliasedexitallseparateofsubtypeorandforarrayfunctionothers* taggedouttaskatterminategenericbegingotobodyconstantthenpragmatypeprivateifcasepackageinprocedure* protectedis* untiluseraisedeclarerangedelaylimiteddeltaloopdigitsdorecordrecordwhenwhilewhilerenamesmod* requeuexorПримечание:Зарезервированные слова помеченные звездочкой введены стандартом Ada95.1.5 Методы Ады: подпрограммы, операции и знаки операцийМетодами Ады являются подпрограммы (процедуры и функции), а также операции изнаки операций (возможно более корректно будет звучать: с помощью подпрограммосуществляется реализация действий, выполняемых операциями и знакамиопераций).

Необходимо отметить, что стандарт Ады строго различает понятия знаковопераций (operators) и операций (operations).Знаки операций представляются следующими символами (или комбинациямисимволов): "=", "/=", "<", ">", "<=", ">=", "&", "+", "-", "/", "*". Другие знакиопераций выражаются зарезервированными словами: "and", "or", "xor", "not","abs", "rem", "mod", - или могут состоят из нескольких зарезервированных слов:"and then", "or else".

Ада позволяет осуществлять программисту совмещение(overloading) знаков операций (в современной литературе по Си++ это частоназывается как "перегрузка операторов").В общем случае, совмещением (overloading) называют механизм, которыйпозволяет различным сущностям использовать одинаковые имена.Использование "use type" делает знаки операций именованных типов локальновидимыми. Кроме того, их можно сделать локально видимыми используя локальноепереименование.Операции включают в себя присваивание, проверку принадлежности диапазону илюбые другие именованные операции.

Операции, также как и знаки операций,допускают совмещение.Следует заметить, что Ада накладывает некоторые ограничения на использованиесовмещений: совмещения не допускаются для операций присваивания и проверкипринадлежности диапазону, а также для знаков операций "and then" и "or else".Операция присваивания обозначается комбинацией символов ":=". Онапредопределена для всех нелимитированных типов. Операция присваивания неможет быть совмещена или переименована.

Присваивание запрещено длялимитированных типов. Необходимо подчеркнуть, что операция присваивания в Аде,в отличие от языков C/C++, не возвращает значение и не обладает побочнымиэффектами.Еще одной разновидностью операций является операция проверки принадлежностидиапазону, которая обозначается с помощью зарезервированного слова "in". Длявыполнения проверки на не принадлежность "in" может комбинироваться с "not" "not in".

Проверка на принадлежность диапазону разрешена для всех типов Ады,включая лимитированные.Другие операции могут быть описаны программистом. Как правило, описания такихопераций выполняются в спецификации пакета, а реализация операций выполняетсяс помощью соответствующих подпрограмм.1.6 Инструкции, выражения и элаборацияОчевидно, что исполнение инструкций осуществляется во время выполненияпрограммы с целью выполнить какие-либо действия. Также, во время выполненияпрограммы осуществляются вычисления различных выражений для получениязначений каких-либо типов. Кроме того, во время выполнения программыпроисходит вычисление различных имен, которые указывают на соответствующиеобъекты (содержащие какие-либо значения) или другие сущности (такие какподпрограммы и типы).Некоторые конструкции языка содержат описательные части, сопровождаемыепоследовательностями инструкций.

Например, тело процедуры может иметьследующий вид:procedure P( ... ) isI: Integer := 1; -- описательная часть...begin...-- последовательность инструкцийI := I * 2;...end P;Перед выполнением тела процедуры происходит элаборация (elaboration) всехописаний, которые указаны в описательной части. Последовательность элаборацииописаний определяется порядком их следования в описательной части. Эффект отэлаборации описаний заключается в создании сущностей, определенных в описаниях,и в выполнении прочих действий, которые специфичны для описаний.

Например,элаборация описания переменной может осуществить инициализацию этойпеременной значением, которое определяется результатом вычисления какого-либовыражения. Достаточно часто значения подобных выражений могут быть вычисленыв процессе компиляции программы.После завершения элаборации, осуществляется исполнение последовательностиинструкций, в порядке их следования (за исключением случаев, когда осуществляетсяпередача управления в какое-либо другое место, отличное от последующейинструкции).

Инструкция присваивания позволяет заменить значение переменнойрезультатом вычисления выражения того же самого типа. Обычно, присваиваниеосуществляется простым побитовым копированием значения, которое получено врезультате вычисления выражения. Однако, в случае нелимитированныхконтролируемых типов, после осуществления побитового копирования, пользователь(при необходимости) может определить дополнительную последовательностьдействий. Инструкции case и if позволяют осуществлять выбор выполненияопределенной последовательности инструкций, полагаясь на результат вычислениякакого-нибудь выражения.

Инструкция loop позволяет повторять выполнениепоследовательности каких-либо инструкций, согласно выбранной схемы итерации,или до обнаружения инструкции exit. Инструкция goto осуществляет передачууправления в место отмеченное соответствующей меткой.Выражения могут быть использованы в различном контексте, как в описаниях, так ив инструкциях. Используемые в языке Ада выражения, во многом подобнывыражениям, которые используются в большинстве современных языковпрограммирования.

Они могут содержать обращения к переменным, константам илитералам, кроме того они могут использовать любые операции, которые возвращаютзначения. Результатом вычисления любого выражения является значение. Каждоевыражение имеет определенный тип, который известен на этапе компиляции.Во многих случаях результаты вычисления выражений и ограничения подтиповопределяются статически (существует возможность отключения некоторыхдинамических проверок ограничений подтипов с помощью использованиясоответствующих опций компилятора). Более того, достаточно часто компилятор Адытребует чтобы вычисление некоторых выражений и подтипов осуществлялось наэтапе компиляции программы.

Например, в общем случае вся информация обописании известна во время компиляции, следовательно, элаборация во времявыполнения программы не потребует выполнения какого-либо машинного кода. Языкопределяет механизмы согласно которых Ада-компиляторы могут осуществлятьпредварительную элаборацию некоторых модулей, то есть, реальные действия,которые необходимы для осуществления элаборации, выполняются однократно, наэтапе компиляции программы, вместо того, чтобы выполнять их при каждом запускепрограммы.1.7 Директивы компилятораБывают случаи, когда в исходном тексте необходимо указывать какую-либодополнительную информацию, которая предназначена сугубо для компилятора.Например, такая информация может предоставлять компилятору дополнительныесведения о режимах трансляции программного модуля, который компилируется втекущий момент времени (оптимизация генерируемого двоичного кода, вставкаотладочного кода и т.д.) или управлять распечаткой листинга трансляции.Для Ады, как и для многих других современных языков и сред программирования,такими средствами передачи дополнительной информации компилятору являютсядирективы компилятора.

При указании директивы компилятору Ада используетзарезервированное слово pragma. Общий вид указания директивы компиляторуследующий:pragma < имя_директивы > ( < параметры_директивы > );Стандарт языка Ада определяет 39 директив, список которых представлен вприложении L (Annex L) руководства по языку программирования Ада (RM-95).Кроме того, конкретная реализация компилятора может обеспечиватьдополнительные директивы компилятора которые, как правило, описываются всопроводительной документации компилятора.Выражаясь не строго, можно заметить, что директивы компилятора не изменяютобщий смысл программы.2.

Скалярные типы данных языка Ада.К скалярным типам относятся типы данных которые определяют соответствующиеупорядоченные множества значений. Эта глава описывает скалярные типы данных Ады, а такжеатрибуты и операции допустимые для этих типов.Предопределенный пакет Standard содержит описания стандартных типов, таких как Integer,Float, Boolean, Character и Wide_Character, а также определяет операции, которыедопускается производить над этими типами.Следующие знаки операций допустимы для всех скалярных типов:=, /=<, <=, >, >=in, not inпроверка на равенство/не равенствоменьше, меньше или равно, больше, больше или равнопроверка принадлежности к диапазонуПеред тем как приступить к непосредственному детальному обсуждению скалярных типов Ады,необходимо сделать некоторое общее введение в систему типов языка Ада2.1 Введение в систему типов языка АдаДанные - это то, что обрабатывает программа.

Практически, любой современный языкпрограммирования определяет свои соглашения и механизмы для разделения данных на разныетипы. Известно, что Ада - это язык со строгой типизацией. И хотя это не единственное свойствоАды, но, пожалуй, это свойство наиболее широко известно.Понятие типа данных Ады подразумевает, что:1. каждый тип данных имеет свое имя2.

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

Тип файла
PDF-файл
Размер
646,98 Kb
Материал
Тип материала
Высшее учебное заведение

Список файлов учебной работы

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