Н. Джехани - Язык Ада (1988) (1160771), страница 51
Текст из файла (страница 51)
Можно придумывать любые абстрактные операторы. Однако в конце концов они должны переводиться в исполняемую форму. 4. При формулировке абстрактных операций необходимо использовать информацию о задаче и об области ее опеределения. 5. Необходимо использовать обозначения, естественные для данной предметной области. 6. Каждая детализация представляет собой некоторое неявное проектное решение. Программисту следует помнить об этом и всегда рассматривать возможные альтернативы.
Необходимо вести протокол наиболее важных принятых решений. П ююженяе 7. Рекурсию следует использовать при необходимости. Если в языке программирования отсутствует рекурсия, все же рекомендуется рассмотреть рекурсивное решение и, если оно выбрано, его нужно преобразовать к нерекурсивному. 8. Типы данных необходимо детализировать точно так же, как и операторы. Программист должен выделять абстрактные типы данных и отделять их от остальной программы, т.е.
не детализировать операции над типами данных, а использовать вызовы процедур. 9. Представление данных следует отсрочить настолько, насколько зто возможно. Это сводит к минимуму модификации, если вместо первоначального используется некоторое альтернативное представление данных. 10. Если оператор появляется более одного раза, программисту следует рассмотреть возможность использования для него вызова процедуры. В этом случае детализация производится только один раз. Вызовы процедуры следует использовать и в том случае, если они делают структуру программы более понятной. 11.
Программист должен использовать инварианты циклов, если разрабатываемые фрагменты программы содержат их. Инварианты циклов подсказывают интересные решения для операторов, составляющих тело цикла, и условий его завершения. Аннотированная бибпиогра[рия АНО75 ВасЬ 1., Оп гйе Туре Сопсерг оГ Аг)а, Аг(а Теггегз, 11, 3 (ХочегпЬег- )ЗесешЬег 1982). Указываются некоторые проблемы при использова- нии механизма производных типов в языке Ада и недостатки личных типов. ВАС82 Вагпез Я. Р. О., Ап Очегщек оГ Аг[а, Бо[гзгаге — Ргасасе алг1 Ехрег!енсе, 1О, 851 — 887 (1980).
Описывается дальнейшее развитие языка про- граммирования Ада. Представлено неформальное описание языка. Указываются отличия предварительных вариантов языка Ада. ВАК80 Вагпез 3. Р. О., Ргойгаппп!пй !и Аг[а, Аг[б!зоп-%ез!еу РнЫВЫпй Со., 1982. Содержится полное описание языка Ада.
ВАК82 В!ас!г А. Р., Ехсер!юп Напдйпй апд )3ага АЬзггасбопз. Кезеагсй Керогг КС 8059, !ВМ, Т. 3. %а!зоп КезеагсЬ Сепгег, Уог[ггозгп Не!8Ьгз, Х. У. 10598. Описывается простая обработка исключений в контексте формальных (алгебраических) спецификаций абстрактных типов данных. В1.А80 Вг!псЬ Напзеп Р., Сопснггепс Ргойгаппшпй Сопсергз„Сощриалх 5игкеуй 6, 4 (ОесешЬег 1973).
Обсуждаются преимущества, которые дают средства высокого уровня для параллельности в языках программирования: параллельные программы становятся более понятными, а многие проверки можно выполнять автоматически. В статье обсуждаются многочисленные средства — от очередей' событий и семафоров до критических областей и мониторов. Содержится много примеров.
ВК173 ВПпсЬ Напзеп Р., ТЬе АгсЫгесгцге о( Сопсщгепг Ргойгашз, РгепГ!сеНа!1, 1977. Обсуждается проблема систематической разработки параллельных программ с использованием мониторов. Описывается разработка операционной системы Яо!о. В книге используется язык программирования Параллельный Паскаль. ВК177 ВПпсЬ Напзеп Р., О!з!г!Ьнгег[ Ргосемез: А Сопсоггепг Ргойгашш!пй Сопсерг, САСМ 21, 11 (ХочешЬег 1978). Автор предлагает осущест- влять процессы взаимодействия и синхронизации посредством вызо- ва подпрограмм и защищенных областей. ВК178 Вгоо1сз Е Р., ТЬе МугЫса! Мап МопгЬ, АгЫВоп-%ез1еу, Кеайпй, МамасЬпхецз, 1975.
[Имеется перевод: Брукс Ф. П. мл. Как проектируются и создаются программные комплексы. — Мл Наука, 1979.[ Книга, написанная в живой увлекательной форме, содержит очерки по разра- ВКО75 АЬо А. Ч., Норсгой 3. Е., О!!шап Я. О., ТЬе Оез!8п апг[ Апа!уз!з ор Сошрщег А!8ог!1Ьщз, Аг[йзоп-%ез1еу РоЫВЫпй Сощрапу, 1975. [Име- ется перевод: Ахо А., Хопкрофт Д., Ульман Д. Построение и анализ вычислительных алгоритмов.
— Мд Мир, 1979.! дино!и ввяиая библио яя ботке и проектированию программного обеспечения. В этих очерках автор рассказывает о руководстве разработкой больших програм- мных комплексов, опираясь на свой собственный опыт, описывает разработку операционной системы ОБг'360 для 1ВМ/360. Вгоп С., Ро)г)г!пйа М. М., Ре Нааз А.
С. М., А Ргороза! !ог Реа!шй вчгй АЬпоггпа! Тегпппагюп о( Ргойгашз, Мегп 150, ХочегпЬег 1976, Тъепге Оп!чегз!гу о( Тесйпо1ойу, ТЬе Хе!пег)алдз. ВКО76 Вгопп %'. Б., А Б!шр1е Ьш Кеа!Вйс Моде! о( Ноаг!пй Роюп! Сошрцгайоп, АСМ угалзаспова ол Майетаг!са! Бог!!«ага, 7, 4, 445 — 480 (РесешЬег 1981).
В этой статье описывается семантика вещественной арифметики, основанная на разработке модели арифметики с плавающей точкой. Описанная С. Брауном модель арифметики с плавающей точкой является основой для развития эффективного переносимого математического обеспечения. Модель строится на четырех параметрах, варьируя которые пользователь может адаптировать программы для своей ЭВМ. ВКО81 Вгозйо! В., Бцпипагу о( Аг!а (апйцайе Сйапйетг Аг!а 2апекй 1, 3 (МагсЬ вЂ” Арб[ !982).
В результате процесса обсуждения был принят стандарт языка Ада, являющийся пересмотренным и исправленным вариантом языка [РОР806[. Исправления состоят из множества мелких и локальных модификаций. ВК082 Брес!а! Взце оп Ада о! 1ЕЕЕ Сошршег, )цпе 198!. Содержатся вводные статьи по языку Ада, окружению языка Ада, системе программирования на базе языка Ада. Описываются язык Ада лля микрокомпьютера 1ше! 432 и сертификация компилятора с языка Ада. СОМ81 Сопчау К., Опез Р., Ап 1пггодцсйоп го Ргойгаппщпй, уу!пгйгор 1973. Вводная книга по языкам программирования РЕЛ и РЕУС. В книге приводятся приемы написания правильных и удобочитаемых программ с использованием метода пошаговой детализации (называемого нисходящей разработкой программ). СОХ73 СОХ80 РаЫ О.
3., Р!!Рйзгга Е. уу., Ноаге С. А. К., Б!гцсгцгед Ргойгапип!пй, Асаньею!с Ргем, 1972. [Имеется перевод: Дал У., Дейкстра Э. В., Хоар К. Структурное программирование. — Мл Мир, 1975.! Классическая книга о дисциплине и методологии в программировании, которые сейчас известны как структурное программирование РАХ72 Кни~а содержит три статьи. В первой — «Заметки по структурному программированиюя — Дейкстра описывает методы и дисциплину, Сох М.
О., Напппаг1!пй Б. О., Еча1цайоп о( гйе (дпйцайе Аг1а Гог ше ш Хшпег!са! Сопзрцгапопз. Керог! РХАСБ 30/80, Ха!юла[ РЬуз!са! !.аЬогашгу, Те














