Ada (798525)

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

Текст из файла

1. Элементарные понятия.1.1 "Сюрпризы" переводной терминологииПрежде чем приступить к непосредственному знакомству с Адой, естьнеобходимость заметить, что в англоязычной литературе, посвященнойвычислительной технике в целом и программированию в частности, достаточно частовстречаются такие английские термины как operator, operation и statement. Присложившейся практике перевода такой документации на русский язык, эти термины,как правило, переводят следующим образом:operationоперацияoperatorоперация, операторstatementоператорНа первый взгляд, проблема перевода данных терминов достаточно безобидна.Однако, при таком традиционном подходе, добившись приемлемой благозвучностиизложения материала, достаточно сложно избежать неоднозначностей и дажепутаницы при обсуждении некоторых основополагающих вопросов.

Также стоитособо отметить, что стандарт языка Ада строго различает такие понятия.В действительности, смысловое значение данных терминов, при их употреблении ванглоязычной документации, как правило, имеет следующее русскоязычноетолкование:operationнепосредственно обозначает понятие операции, функции или какого-либо действия, в совокупности составляющеговыполнение команды (или набора команд) процессораoperatorобозначает понятие знака или обозначения операции, функции или какого-либо действия, что подразумевает не столькосамо действие для выполнения операции, сколько обозначение операции в тексте программыstatementэлемент текста программы, выражающий целостное законченное действие (или набор действий)Таким образом, исходя из всего выше сказанного, в данной работе, для достиженияоднозначности, принято следующее соответствие терминов:operationоперацияoperatorзнак операцииstatementинструкцияХотя такое решение выглядит несколько не привычно, оно не должно вызватьтрудности при рассмотрении материала представленного в этой работе.1.2 Первая программаДля того, чтобы дать "почувствовать", что представляет из себя программанаписанная на языке Ада рассмотрим простую программу.

Традиционно, перваяпрограмма - это программа которая выводит на экран приветствие: "Hello World!". Небудем нарушать традицию. Итак, на Аде такая программа будет иметь следующийвид:with Ada.Text_IO;use Ada.Text_IO;procedure Hello isbeginPut_Line("Hello World!");end Hello;Давайте детально рассмотрим из каких частей состоит текст этой программы. Строка"procedure Hello is" является заголовком процедуры и она указывает имянашей процедуры.

Далее, между зарезервированными словами begin и end,располагается тело процедуры Hello. В этом примере тело процедуры оченьпростое и состоит из единственной инструкции "Put_Line("Hello World!");".Эта инструкция осуществляет вывод приветствия на экран, вызывая процедуруPut_Line.

Процедура Put_Line располагается в пакете текстового ввода/выводаAda.Text_IO, и становится доступной благодаря спецификации контекста винструкциях "with Ada.Text_IO;" и "use Ada.Text_IO;" (спецификацияконтекста необходима для указания используемых библиотечных модулей). Здесь,спецификатор контекста состоит из двух спецификаторов: спецификаторасовместности with и спецификатора использования use. Cпецификаторсовместности with указывает компоненты которые будут использоваться в данномкомпилируемом модуле. Cпецификатор использования use делает именаиспользуемых объектов непосредственно доступными в данном компилируемоммодуле.Программа Hello настолько проста, что в ней нет ни переменных, ни какой-либообработки данных, поэтому, несколько забегая вперед, приведем общий видпроцедуры.with ...

;use ... ;procedure < имя процедуры > ... is. . .спецификаторы контекста, указывающие используемые модули (могут отсутствовать)спецификация процедуры, определяющая имя процедуры и ее параметры (если они есть)описательная (или декларативная) часть, которая может содержать описания типов, переменных,констант и подпрограммbegin. .

.end < имя процедуры >;исполняемая часть процедуры, которая описывает алгоритм работы процедурыздесь, указание имени процедуры не является обязательнымНеобходимо заметить, что в отличие от языков С/C++, которые имеет функцию main,и языка Паскаль, который имеет program, в Аде, любая процедура без параметровможет быть подпрограммой main (другими словами - головной программой). Такимобразом, процедура без параметров может быть выбрана как головная программа вовремя линковки.Теперь, приведем еще один простой пример, в котором, для выдачи сообщенияприветствия, используется ранее рассмотренная процедура Hello:with Hello;-- указывает на использование показанной ранее-- процедуры Helloprocedure Use_Hello isbeginHello;-- вызов процедуры Helloend Use_Hello;1.3 Библиотека и компилируемые модулиВ общем случае, программа на языке Ада представляет собой один или несколькопрограммных модулей, которые могут компилироваться как совместно, так ираздельно.

Кроме того, программные модули являются основой построениябиблиотек Ады, поэтому их также называют библиотечными модулями.Программные модули бывают четырех видов:•Подпрограммы - Являются основным средством описания алгоритмов.Различают два вида подпрограмм: процедуры и функции. Процедура - этологический аналог некоторой именованной последовательности действий.Функция - логический аналог математической функции - используется длявычисления какого-либо значения.•Пакет - Основное средство для определения набора логическивзаимосвязанных понятий.

В простейшем случае в пакете специфицируютсяописания типов и общих объектов. В более общем случае в нем могутспецифицироваться группы взаимосвязанных понятий, включающихподпрограммы, причем, некоторые описываемые в пакете сущности могутбыть "скрыты" от пользователя, что дает возможность предоставления доступатолько к тем ресурсам пакета, которые необходимы пользователю и,следовательно, должны быть для него доступны.•Задача или задачный модуль - Средство для описания последовательностидействий, причем, при наличии нескольких таких последовательностей онимогут выполняться параллельно.

Задачи могут быть реализованы намногомашинной или многопроцессорной вычислительной конфигурации, либона единственном процессоре в режиме разделения времени. Синхронизациядостигается путем обращения ко входам, которые подобно подпрограммаммогут иметь параметры, с помощью которых осуществляется передача данныхмежду задачами.•Настраиваемые модули - Средство для параметризации подпрограмм илипакетов. В ряде случаев возникает необходимость обрабатывать объекты,которые отличаются друг от друга количеством данных, типами или какимилибо другими количественными или качественными характеристиками.

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

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

Согласно требований стандарта,реализация должна поддерживать как минимум 200-символьные строки исходноготекста (максимальная длина лексических элементов - не определена).1.4.1 КомментарииНачнем с комментариев. Для облегчения понимания алгоритма работы программы, втекст программы могут, и должны помещаться комментарии. Комментарийначинается с двух символов дефиса "--" и продолжается до конца строки. Пример:-- это комментарий--- это тоже комментарий1.4.2 ИдентификаторыТеоретически, согласно требований стандарта, идентификаторы могут быть любойдлины, однако, длина может быть ограничена реализацией конкретного компилятора.Общие правила таковы:1.

Идентификатор может состоять из букв, цифр и символов подчеркивания.2. Идентификатор обязан начинаться с символа.3. В идентификаторе нельзя использовать несколько символов подчеркиванияподряд.4. Символ подчеркивания не может быть первым и последним символом видентификаторе.5.

Все идентификаторы в ADA не зависят от регистра символов.Например:Apple, apple, APPLEMax_Velocity_Attained-- один и тот же идентификаторMinor_Number_Minor__Revision-- недопустимо, завершающий символ - подчеркивание-- недопустимо, последовательность подчеркиваний1.4.3 ЛитералыЛитералы служат для явного указания значения некоторого типа, сохраняемого впрограмме. Различают числовые, символьные и строковые литералы.Числовые литералы, как не трудно догадаться, используются для представлениячисленных значений. Они могут содержать в себе символы подчеркивания (дляудобочитаемости), однако, они не могут начинаться или заканчиваться символомподчеркивания, или содержать более одного символа подчеркивания подряд.Различают числовые литералы для представления целочисленных и вещественныхзначений.Примеры целочисленных литералов, представляющих значение числа 2000:20002_0002E3-- для целочисленных литералов разрешена экспоненциальная форма2E+3Возможно представление чисел в разных системах счисления, например,представление десятичного числа 12 может быть задано следующими литералами:2#1100# -- двоичная система счисления8#14#-- восьмеричная10#12#-- десятичная (здесь, указана явно)16#C#-- шестнадцатиричная7#15#-- семиричнаяЛитералы, описывающие вещественные значения, содержат точку и обязаны иметьхотя бы по одной цифре до и после точки.

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

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

Тип файла PDF

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

Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.

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

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