Главная » Просмотр файлов » Р.У. Себеста - Основные копцепции языков программирования (2001)

Р.У. Себеста - Основные копцепции языков программирования (2001) (1160794), страница 57

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

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

13.1. Программа жазп вызывает процедуру яцЬ1; процедура яцЬ1 вызывает процедуру виЬ2; процедура яиЬ2 вызывает процедуру виЬЗ. 13.2. Программа гкайп вызывает процедуру виЬ1; процедура виЬ1 вызывает процедуру яцЬ3. 13.3. Программа аазп вызывает процедуру яцЬ2; процедура яцЬ2 вызывает процедуру яоЬЗ; процедура яоЬЗ вызывает процедуру вцЬ1. 13.4.

Программа гказп вызывает процедуру яцЬЗ; процедура виЬЗ вызывает процедуру аиЬ1. 13.5. Программа ваап вызывает процелуру яиЬ1; процедура ацЬ1 вызывает процелуру яиЬЗ: процедура ацЬЗ вызывает процедуру воЬ2. 13.6. Программа паап вызывает процедуру виЬЗ; процедура виЬЗ вызывает процедуру яиЬ2; процедура вцЬ2 вызывает процедуру вцЬ1. 211 Упражнения 'тсг э,- »гщ Типы данных Джеймс Гослииг (4апзев ОовБпй] Джеймс Гослинг, вице-президент и член Совета директоров компании Зоп М~сгозуэ!егпэ, разработал изначальную структуру языка йача и реализовал первый компилятор и виртуальную машину для этого языка.

Гослинг также являлся ведущим разработчиком системы окон ГчеУУЗ и создал текстовый редактор ЕМАС5. 5.10. Указатели В начале этой главы вводится концепция типа данных и свойства основных типов данных. Затем рассматривается структура перечислнмых и ограниченных типов. После этого исследуются структурные типы данных, особое внимание уделяется массивам, записям и объединениям. В заключение рассматрившотся множественные и ссылочные типы.

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

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

Современные концепции типов данных развиваются на протяжении последних 40 лет. В ранних языках программирования все структуры данных, соответствующие конкретным задачам, моделировались небольшим количеством основных структур данных, поддерживаемых этими языками. Например, в версиях языка РОКТКАХ, разработанных до языка РОКТКАМ 90, связные списки и двоичные деревья обычно моделировались с помощью массивов. Первый шаг в сторону от модели, использованной в языке РОКТКАН 1, был сделан разработчиками структур данных в языке СОВО1., позволившими программистам устанавливать точность десятичных чисел и предложившими использовать структурные типы данных для представления записей, содержащих информацию. В языке Р1Л возможность установить точность целочисленных величин и чисел с плавающей точкой была еше более расширена.

Позднее средства, обеспечивающие эту возможность, были включены в языки Ада и РОКТКАМ 90. Пытаясь расширить спектр приложений, разработчики языка Р1 /! включили в него много различных типов данных. С нашей точки зрения, лучше было бы предоставить в распоряжение программиста небольшое количество основных типов данных и операторов, обеспечивающих гибкое определение структур, что позволило бы создавать определяемые пользователем типы данных, приспосабливая их стрултуру к поставленной задаче, как это сделано в языке АГ.ОО1, 68. Это, очевидно, было одним из самых значительных достижений в области разработки типов данных. Назовем некоторые преимушества типов данных, определяемых пользователем.

Эти типы улучшают читабельность программ, поскольку для ннх можно использовать осмысленные имена. Определяемые пользователем типы допускают проверку типов переменных, относящихся к особой категории. Без типов, определяемых пользователем, это было бы невозможно. Кроме того, эти типы облегчают модификацию программ: программист может изменять тнп некоторой категории переменных в программе, изменив оператор объявления типов. Концепции разработки типов данных. появившиеся в конце 1970-х годов в результате естественного обобщения идеи типов, определяемых пользователем, были воплощены в языке Ада 83.

Методология, лежащая в основе определяемых пользователем типов данных, 214 Глава 5. Типы данных состоит в том, что программисту следует позволить создавать отдельный тип лля каждого отдельного класса переменных, определяемых предметной областью задачи. Более того, язык должен обеспечивать уникальность типов, являющихся, фактически. абстракциями переменных из предметной области задачи. Это довольно мощная концепция.

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

Все типы данных, предусьютренные в высокоуровневых языках программирования, являются абстрактными. Подробно абстралтные типы данных, определяемые пользователем, рассматриваются в главе 1О. Двумя самыми распространенными структурными (нескалярными) типами данных являются массивы и записи. Они, а также несколько других типов данных, задаются операторами типов, или конструкторами, используемыми лля создания переменных данного типа. В качестве примера операторов типа можно назвать существующие в языке С круглые и квадратные скобки, а также звездочки, используемые лля залания массивов, функций и указателей.

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

Статические дескрипторы (сощр1!е-зппе дезсг)рсогз) обычно созлаются компилятором в виде части таблицы идентификаторов и используются во врел1я компиляции. Динамические атрибуты, в свою очерель, нуждаются в динамическом лескрипторе (гцпм1ще безсйргог) или его части во время выполнения программы. В этом случае дескриптор используется системой поддержки выполнения программ. И статические. и динамические дескрипторы используются для проверки типов, а также в операциях размещения переменных в памяти и удаления из нее.

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

Подробнее объелты рассматриваются в главах 1О и 11. В следующих разделах рассмотрены все широко распространенные типы данных. Для большинства из них формулируются связанные с ними вопросы разработки. Для всех приводится не менее одного примера. Для всех типов данных основным является следующий вопрос: какие операции предусмотрены с переменными ланного типа и как они задаются? 5.2. Элементарные типы данных Типы данных, не определяемые в терминах других типов, называются элегаентарными типами данных (рг(щй(че дага 1урез). Практически все языки программирования прелусматривают определенный набор элементарных типов данных. Некоторые из этих типов 215 5.2.

Элементарные типы данных являются просто отражениями особенностей аппаратного обеспечения — например целые числа. Реализация других типов требует незначительной программной поддержки. Для создания структурных типов данных в языке используются основные типы данных вместе с одним или несколькими конструкторами. 5.2 1. Числовые типы Во многих ранних языках программирования существовали только числовые элементарные типы. В современных языках зти типы по-прежиекгу играют центральную роль. 5.2.1.1. Целые числа Наиболее распространенным элементарным числовым типом является целое число ((л(с8ег), В наше время многие компьютеры поддерживают несколько размеров целых чисел.

и эти возможности нашли отражение в некоторых языках программирования. В реализациях языка Аоа. например. может содержаться ло трех размеров целых чисел: 8:-:"ЕЕ Е.'.ЕВОЕ:, ЕЕ:ЕОЕВ и ЕО((О ЕИТЕОЕР. Некоторы зыки, например С, содержат беззнаковые типы целых чисел. представляющие собой целые числа без знаков. Все целые числа прелставляются в компьютере в киле строки битов, причем один из битов (как правило. крайний слева) представляет знак. Целые типы данных поддерживаются непосредственно аппаратным обеспечением.

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

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

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

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