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

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

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

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

Системное программирование поддерживается за счет доступа к системно-зависимым параметрам и управлением точностью при представлении данных. Язык Ада вводит строгую дисциплину программирования, направленную на то, чтобы сделать программы более удобочитаемыми, надежными, переносимыми, модульными, эффективными и т. д. — т. е.

обладающими всеми качествами хорошей программы. Например, программист должен объявить все объекты, использовать объекты в соответствии с их типами и обращаться к объектам только в соответствии с правилами видимости языка Ада. Пусть ранее программист исйолиоиил цли ~тих целей и~ь1к, ие облидао1ций той строгостью, которую и Мультикомпьютер — зто архитектура ЭВМ, содержащая несколько различных ЭВМ, которые не работают на общую память.

Пропессы на различных ЭВМ синхронизируются. С появлением однокристальных ЭВМ и резким понижением их стоимости мультикомпьютеры быстро становятся привлекательным средством проведения больщих объемов вычислений за низкую плату. зз Прв исловив предписывает язык Ада. Однако, написав несколько нетривиальных программ на языке Ада, программист оценит его правила, поймет, что цель ограничений языка Ада — это найти большее по сравнению с другими языками программирования число ошибок, причем раньше и автоматически, а также помочь программисту писать хорошие программы, не сдерживая его творчество и изобретательность. 2. 0 книге Книга написана специально для тех, кто хорошо знает по крайней мере один процедурный язык, такой как Паскаль, Си, ПЛ/1, Алгол-60, Симула-67, Алгол-68 или Фортран.

Книга акцентирует внимание на новые аспекты языка Ада, которые проиллюстрированы довольно трудными законченными примерами. При этом отмечаются интересные отличия языка Ада от других языков программирования. Многие примеры программ разработаны с использованием пошаговой детализации 1%1К71, ОЕН8Ц, с тем чтобы помочь читателю понять их проектирование и разработку. Решение задачи с помощью пошаговой детализации заключается в декомпозиции всей задачи на небольшие подзадачи и их решение Такая детализация завершается, когда получаются не привязанная к конкретным данным версия алгоритма и структуры данных, которые можно использовать для решения задачи.

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

Пошаговая детализация также облегчает понимание и объяснение программ и их проектирование. Использование этого подхода хорошо демонстрируется на разработке такой большой и сложной программы, как задача о лифте, приведенной в главе о параллельности. В приложении даны некоторые замечания о требованиях к хорошей методологии программирования и предложения по разработке программ с помощью пошаговой детализации. Первая глава — это введение в достаточно общие средства языка Ада: их можно найти в таких языках программирования, как Паскаль, Си, ПЛ/1 или Фортран. Детальное изложение этих средств не дается.

Остальные главы акцентируют внимание на таких новых аспектах языка Ада, как: — обработка типов; — пакеты — инкапсуляция/абстрактные типы; — параллелизм или задачи; — исключения; — настраиваемые средства; — структура программы и раздельная компиляция; — спецификация представления и особенности, зависящие от реализации. Каждой из этих тем посвящено по главе.

Везде в книге синтаксис языка представляется неформально и посредством примеров. Формальный синтаксис языка Ада приводится в руководстве по языку 11ЗО083]. Каждая глава начинается с введения в концепции, которые будут обсуждаться. Вводятся средства для их реализации на языке Ада и затем они иллюстриру- П половив ются маленькими примерами. В заключение приводятся несколько больших примеров, отражающих как эти средства, так и их взаимосвязь с остальными средствами языка Ада. Особое внимание уделялось тому, чтобы примеры были реальными и не очень простыми. Так как при решении задач используется пошаговая детализация, то абстрактная версия решения появляется до окончательного решения на языке Ада.

Чтение таких абстрактных версий должно облегчить понимание окончательного решения на языке Ада. Те читатели, которых не интересуют детали решения, могут пропустить окончательную версию. Чтобы облегчить поиск дополнительных сведений, на протяжении всей книги даны ссылки на соответствующие разделы руководства по языку Аца 1РО1)83] (числа в квадратных скобках, например [5.2]). Они встречаются в заголовках, глав и разделов, а также в тексте. Аннотированная библиография книг и статей, посвященных языку Ада (и оказавших влияние на его разработку), пошаговой детализации и другим смежным вопросам, приведена в конце книги. Аннотация большинства первоисточников отражает их главные и интересные моменты.

Читателю следует просмотреть библиографию, поскольку в тексте нет ссылок на многие интересные и классические статьи и книги, перечисленные в ней. 3. Подготовка книги Эта книга написана с использованием инструментальных средств подготовки документации, имеющихся в составе операционной системы ЬПч)1Х™. Перечислим некоторые из этих средств: — ТКОРР (форматер); — ММ (набор макросов ТКОРР для отбивки страниц); — ЕЯ]ч] (препроцессор для форматированного выравнивания); — ТВЬ (препроцессор для построения таблиц); — Р1С (препроцессор для подготовки рисунков). Использование этих и других программных и наборных средств, имеющихся в Ве11 ЬаЬогагог!ез, сделало написание этой книги менее утомительным. 4.

Тестирование примеров программ Фрагменты и примеры программ, приведенные в книге, были проверены на компиляторе с языка Ада, разработанном в Ньюсйоркском университете". Поскольку программы в книге представлены в машиночитаемом формате, их было легко изъять из текста, выбросить команды форматирования и выполнить их. 'з Компилятор с языка Ада Нью-Йоркского университета, использованный для тестирования программ, реализует предварительную версию языка [ВО080б). Модификации языка Ада, утвержденные в качестве А1Ч8!-стандарта, оказывают минимальное влияние на примеры, приведенные в кинге; например, в вызове функции без параметров следует удалить скобки, стоящие за именем функции. П лелеема Компилятор с языка Ада Нью-Йоркского университета — это прототип, а не промышленный компилятор.

В нем реализовано большое подмножество языка Ада. Он написан на языке БЕ'П., требует очень большого объема памяти для своего выполнения и очень медленный. В связи с этим некоторые примеры программ были модифицированы, с тем чтобы использовать только то подмножество языка, которое реализовано в компиляторе, и их выполнение завершалось за разумное время. Более того, тестирование больших программ оказалось невозможным из-за отсутствия ресурсов, требуемых компилятором. Н. Джехани Благодарности Я очень благодарен многим друзьям и коллегам, помогавшим мне при написании книги.

Их поддержка и помощь оказали влияние как на форму представления, так и на содержание этой книги. Прежде всего мои руководители из Ве!! ЕаЬз Д.О. Лимб, Г.Д. Аллес, Р.У. Лаки и А.А. Пензиас с энтузиазмом поддерживали и поощряли мою работу над этой книгой. Без их поддержки, вероятно, книга не была бы написана. Вычитывание книги, нахождение технических ошибок и неясных мест, предложения по внесению изменений — задача, требующая очень много времени. Я был счастлив, когда несколько моих друзей и коллег нашли его для того, чтобы дать развернутые примечания к книге, как технические, так и стилистические. Это были Р.Б. Аллен, А.Р.

Фойер, Д. Гай, Д. Грие, Б.У. Керниган, Дж.Р. Линдерман, М.О. Дониел и Ч. Ветерелл. Брайер Керниган и Чарли Ветерелл детально прокомментировали оба варианта книги. Я очень обязан Чарли за дискуссии, прояснившие некоторые тонкие места для Ада. Я благодарен А.А. Пензиасу и Дэвиду Грису за их исчерпывающие стилистические и редакторские замечания о книге.

Арно Пензиас и Чарли Ветерелл акцентировали внимание на важности ясного и неформального стиля изложения — того стиля, которому я пытался следовать. Я также благодарен за помощь, которую мне оказали Г.Д. Аллес, С.Д. Блеветт, Т.А. Каргилл, Ж.Де Тревиль, Р.А. Финкель, С.И. Фишер, Д.Д.

Хилл, Д.О. Лимб, Р.А. Мадух, Р.Н. Маккилло, Д. Мисра, М.Е. Квин и Д.Е. Вейтман. Д. Фишер и Д. Шильдс передали мне компилятор с языка Ада Нью-йоркского университета, используя который я тестировал примеры программ. Я испытывал неудобство, когда программы из книги не шли. Поэтому я особенно благодарен Джерри Фишеру, который помогал мне разбираться в языке и отвечал на вопросы о компиляторе. Я высоко оцениваю помощь Н.Е. Бука, Ф.Л. Далримпле, Р.Л. Дречслера и Брайена Кернигана в преодолении редакционных трудностей. Наконец, я должен поблагодарить Д. Вейта и Д.

Феген из издательства Ргепбсе-Най за их постоянную и благожелательную поддержку этой книги. Глава 1 Введение ~1 — 6, 81 Ада — зто современный язык программирования, объединяющий в себе многие достижения в области языков программирования, полученные в 70-е годы. Эта глава посвящена традиционным средствам языка Ада, в то время как остальные главы охватывают новые концепции, отсутствующие в обычно используемых языках программирования высокого уровня. Нетрадиционная часть языка Ада включает такие концепции, как инкапсуляция данных, исключения, параллелизм и настраиваемые подпрограммы' ). Традиционная часть языка Ада содержит концепции, присущие сузцествующим языкам высокого уровня, таким как Паскаль, Си, ПЛ/1 и с большой натяжкой Фортран.

Подобно языку Паскаль (но не Си, ПЛ/1 или Фортран), язык Ада строго типизированный. Это свойство в нем даже сильнее выражено, чем в языке Паскаль, у которого была заимствована философия типов. Особенности программ на языке Ада покажем на маленьком примере программы САЬС()ЬАТОК, моделирующей простой калькулятор, который умеет складывать, вычитать, умножать и делить.

Исходные данные подаются в виде А операция В где олерация — зто один из знаков +, —, * или /, а операнды А и  — вещественные числа. Читатель, знакомый с языками высокого уровня, без труда поймет программу САЬС~5ЬАТОК и отметит большинство особенностей языка Ада. — комментарии начинаются двумя дефисами и продолжаются до конца строки хе[!Ь ТЕХТ 1О; пве ТЕХТ 1О; — ввод-вывод становится доступным ргосее[нге САЬС1Л.АТОК В [уре КЕАЬ |н е[[я[[з 10; — точность вещественных чисел не менее 10 цифр раейаяе 10 КЕАЬ Ь петт РЬОАТ 1О(КЕА1.); пне ЬО КЕАЬ; — возможен ввод-вывод вещественных чисел А, В: КЕАЬ; — А и Вобъявляются вещественными переменными ОРК: СНАКАСТЕК; КЕЛЬТ: КЕАЬ; Ьей[п чкЬ[1е по! ЕХО ОР Р[ЬЕ(БТАХ1)АК[) [ХР()Т) 1оор — функция БТАХОАКО 1ХРЬ[Т возвращает — по умолчанию входной файл "Язык ПЛ/! [!ВМ70] поддерживает обработку исключительных ситуаций (но не очень хорошо) и предоставляет ограниченные возможности для поддержки параллельности и настраиваемых подпрограмм.

1В Глава 1 ОЕТ(А); ОЕТ(ОРК); СЕТ(В); — чтение входных данных сазе ОРК и — оператор выбора зчпеп '+ ' КЕЛЬТ: =А+В; зчвеп ' — ' КЕЯЗЬТ." = А — В; ?гвен '*' ~ КЕЯ)ЬТ. = А*В; зчпеп '/' ~ КЕЯ.1ЬТ: = А/В; зчвеп о(вегз ~ Р()Т ("ЕККОК **ь НЕПРАВИЛЬНЫЙ ОПЕРАТОР" ); ех)В - выход из цикла при неправильном входе епй сазе; Р1)Т (КЕЯЛТ); ХЕ% ЫНЕ; епй 1оор; епо САЬС()ЬАТОК; СА1.С1Л.АТОК вЂ” это главная программа на языке Ада. Любая подпрограмма на языке Ада может выполняться как главная программа, если для нее указан весь контекст. Контекст зг(гв ТЕХТ 1О; пяе ТЕХТ 1О; делает программу САЬС()ЬАТОК законченной, т.

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

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

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

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