Главная » Просмотр файлов » Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002)

Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (1160801), страница 52

Файл №1160801 Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (Т. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002)) 52 страницаТ. Пратт, М. Зелковиц - Языки программирования - разработка и реализация (4-е издание_ 2002) (1160801) страница 522019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

В каждом языке имеется некоторый набор встроегтых прини тивных тип оп данных. Дополнительно в языке могут быть предусмотрены средства, позволяющие программисту определять новые типы данных. Одно из главных различий между ранними языками программирования, такими как ГОКТКАХ или СОВОЕ, и более поздними, такими как)ага и Ада, лежит в области определяемых программистом типов данных (эта тема подробно рассмотрена в разделе 6А). Современный подход к проблеме состоит в том, что в языке должны присутствовать средства для манипулирования типами данных. Это важнейшее свойство, добавленное в язык МЕ, и одна из особенностей моделей объектно-ориентированного программирования, обсуждаемых в главе 7. 5.1.

Свойства типов и объектов 187 Основные элементы спецификиции типа данных следующие: 1) иглрибуты, которые характеризуют объекты данных заданного типа; 2) значения, которые могут принимать объекты заданного типа; 3) операции,которыеопределяютвозможныеманипуляциинадобъектамиданных заданного типа. Например, в случае спецификации для типа данных «массив» атрибуты могут включать количество размерностей массива, допустимый диапазон изменения индекса для каждой размерности и тип данных элементов массива.

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

1, Способ предстлдвлеяия объектов данных этого типа в памяти компьютера в и роцессе выполнения программы. 2. Способ пре0ставления операций, определенных для этого типа данных, через конкретные алгоритмы и процедуры, которые используются для манипуляций с выбранной формой представления объектов данных в памяти. Реализация типа данных определяет, каким должно быть программное моделирование соответствующих частей виртуального компьютера в терминах более простых базовых конструкций, предоставляемых соответствующим слоем виртуального компьютера.

Последний, в свою очередь, может быть представлен либо непосредственно аппаратными средствами, либо комбинацией аппаратных и программных средств, определенных операционной системой нли микрокодом. Последнее, что требуется определить цри описании типа данных, — это его сиитиксическое преоставление. И спецификация, и реализация мало зависят от конкретных синтаксических форм, используемых в данном языке. Атрибуты объектов данных обычно представлены си~1заксически через объявления или определения типов.

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

Спецификация элементарных типов данных ! Элементирный объект данных может содержать только одно аначение. Класс таких объектов, для которых определены различные операции, называется элемен- 188 Глава 5. Элементарные типы данных тарным типом данных, Хотя в каждом языке программирования, как правило, присутствует свой, отличный от других набор элементарных типов данных и хотя конкретный вид их спецификации в различных языках может существенно разлигаться, тем не менее такие типы, как вещественные и целые числа, булевы значения, перечисления и указатели присутствуют почти во всех языках.

Например, несмотря нато что булев тип данных включен в большинство языков, их спепификации в) ауа и С++ совершенно различны|. Атрибуты. Основные атрибуты любого объекта данных, в частности его имя и тип, остаются неизменными в течение врелтени жизни объекта. Во время работы программы некоторые атрибуты могут храниться в дескрипторе (описателе данных, которы й также называется вектором предварител оной ин формации) как часть этого обьекта данных; другие могут использоваться только для определения местоположения объекта в памяти компьютера и ие использоваться явным образом. Обратите внимание на то, что значение атрибута объекта данных отличается от значения, которое содержится в этом обьекте.

Последнее может изменяться в течение времени жизни объекта и в процессе выполнения программы всегда представлено явным образом. Значения. Тип объекта данных определяет множество допустимых значений, которгяе могут содержаться в этом обьекте. Например, целочисленный тип определяет всевозможные целые числа, которые могут служить значениями объектов данных этого типа. В языке С определены четыре класса целых чисел; 1пг, злогС, ) ело и спас. Поскольку в большинстве компьютеров арифметические операции ца аппаратном уровне реализованы несколькими способами с различной точностью (например, 16-битные и 32-битные целые числа или 32-оитные и 64-битные целые числа), в языке С программист может выбирать между этими различными аппаратными представлениями.

Класс зйогс соответствует наиболее короткому представлению числа, класс 1оло — наиболее длинному аппаратному представлению, а класс зн1 использует наиболее эффективный аппаратный способ представления из возможных. Этот класс может совпадать с классом зйогС или 1олд, а может соответствовать некоторому промежуточному представлению числа. Интересно отметить, что в С символы хранятся как 8-битные целые числа типа сваг, который является подтипом целочисленного типа. Множество значений, допустимых для элементарных объектов данных, обычно является упорядоченным множеством с наименьшим и наибольшим элементамн.

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

Операции. Набор операций, определенных для какого-то типа данных, задает возможные манипуляции (действня) с обьектамн этого типа. Эти операции могут быть элеметпарными, то есть являться частью определения языка, или они могут В Сь ч булевы в~ ~аления сгое и 1а1зе реализованы через целочисленный тин данных, и поэтому л~абое 'меловое значение (через приведение тинон) лгожет рассыатривагься нах булево, зогла хан в Явка булев тив ланных — зто самостоятельный тио, отличный от целочисленного — Прнчеч науч ред.

5.1. Свойства типов и объектов 189 определяться программистом в виде подпрограмм или методов как часть определения класса. В этой главе мы в основном будем заниматься элементарными операциями; определяемые программистом операции будут рассмотрены более подробно в следующих главах ПРИМЕР 5.3. Сигнатуры элементарных операций 1. Целочисленное сложение — это операция, аргументами которой являются два целочисленных объекта данных, а результатом — также целочисленный объект данных, обычно содержащий значение, равное сумме значений аргументов. Следовательно, спецификация выглядит следующим образом: +; тптедег х тпгедег т тпгедег 2. Операция «=» проверяет на равенство значения двух целочисленных объектов данных.

Результатом выполнения этой операции является булево значение (истина или ложь). Спецификация может быть выражена так: -; тптедег х тптедег -т Воо1еап 3. Операция извлечения квадратного корня, 5()КТ, применима к объектам данных вещественного типа: Всат: геа1 т геа1 Операция является математической функциеи: каждому допустимому входному значению, то есть арйтуигентуг (или набору аргументов), она сопоставляет однозначно определенный результат. У каждой операции имеются некоторая область определения (множество допустимых значений аргументов, на которои и определена зта операция) и обласгль знамений (множество возможных значений для результата выполнения операции).

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

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

Если у операции имеются один аргумент и один результат, то она называ- Лргуметгты онераннн ггазывают также операндами. — Принеч. ггиуч. лед. 190 Глава 5. Элементарные типы данных ется унарной. Количество аргументов операции часто называется арностью операции. Большая часть примитивныхопераций в языках программирования оинарные или унарные. Для точной спецификации действия операции обычно требуется информация оолее подробная, чем сигнатура. В частности, способ представления аргументов (точнее, типов данных, к которым относятся аргументы) в памяти компьютера обычно определяет, какие действия можно осушествлять с этими аргументами.

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

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

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