Главная » Просмотр файлов » К. Йенсен, Н. Вирт - Паскаль - Руководство для пользователя

К. Йенсен, Н. Вирт - Паскаль - Руководство для пользователя (1109480), страница 23

Файл №1109480 К. Йенсен, Н. Вирт - Паскаль - Руководство для пользователя (К. Йенсен, Н. Вирт - Паскаль - Руководство для пользователя) 23 страницаК. Йенсен, Н. Вирт - Паскаль - Руководство для пользователя (1109480) страница 232019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Примеры маесивовых типов: аггау [1..100] о1 Яеа1 аггау [1..10, 1..20] ог 0.99 аггау [Воо1еап] о1 Со1ог аггау [3[ге] о1 расаед аггау ['а'..'г'] ог Воо1еап Каждое значение массивового типа это функциональное [много к одному) отображение всего множества значений индексов во множество значений, относящихся к типу компонент. Массивовый тип называется строковым типом, если он упакованный, его компоненты относятся к предопределенному типу Сваг, а тип его индекса — диапазон из ]п1едег от 1 до п, причем п больше 1, Строки символов (см.

равд. 4) относятся к константам строковых типов. Примеры: рас]чед аггау [1..ЗЬг1пй[епйсп] о1 01чаг рас]чей аггау [1..2] о1 Скат гйй Описание языка 6.2.2. Записные типы. Записной тип имеет фиксированное число компонент, относящихся, возможно, к различным типам. Отдельные компоненты и их типы, а также сами значения записного типа определяются с помощью списка полей (1(е(й 1(з() из записного типа. Записной тип = "гесогй" Список полей "еой" Список полей — ((Фиксирозинная часть (" *'Вариантная часть) ( Вориинтная часть) (";"11.

Фиксирооинная часть = Секция полиси (";" Секция записи). Секция зиписи = Список имен ":" Тип. Имя поля = Имя. Список полей может содержать фикс(гровинную часть (((хеб раг1), которая задает фиксированное чис)го компонент, называемых полями (((е)пз). С каждой секцией записи связан некоторый тип: считается, что все имена из ее списка имен полей принадлежат к этому типу.

Область действия имен полей включает весь записной тип, а также обозначения полей и операторы присоединения, где эти имена могут использоваться (см. равд. 7.2.2; 9.2.4 и 1Рн2). Таким образом, в любом из записных типов написание каждого имени поля должно быть уникальным. Примеры записных типов с одной фиксированной частью. Расеей гесогй Уеаг: 1900 .2100; Мооаь: 1..12; Вау. 1. 3! еой гесогй гггаейаее, ьаааоаие: оас)гей аггау ( 1..32) о( Сааг; Аее: 0..99; Магггей. Воо!еао еой Список полей может также содержать и вариантную чисто, задающую один н более вариантов. Структура и значения варианта задаются его списком полей.

Вариантная часть = саве Селектор еарианти "ог' Вириант (*', ' Вариакг). Вариинг = Константа ( ',' Константа) ": ( Список пояей")*'. Селектор оарианти = (Поле призника ":"( Тип признака. Тип признака = Имя ординального типа. Поле признака — Имя б.

Типы убб Примеры записных типов с вариантными иистями. гесогб сазе ВааеКпоип: Воо1еап о( (а1зе: ( ); Сгое: (Иаае: распел аггау (1..Певеках] о( Сваг) епб гесоге Х, У: Веа1; Агеа: Веа1; сазе Б: икаре ТгсапВ1е: о( ( $(г]е: Веа1; 1пс1]паз!оп, Ап21е1, Апа1е2: Апа!е ) ( В!бе1, В(бе2: Яеа1; Баек, Апк1еЗ: АпВ1е ); ( 0]ааетег: Веа1 ) Кесаапк1е С!гс1е епд 6.2.3. Множественные типы. Множественный тип определяется как множество значений множества-степени, построенного на основе значений базового типо. Таким образом, каждое значение множественного типа есть множество, содержащее нуль или более компонент (элементов), причем каждый элемент — значение базового типа.

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

Значение вариантной части состоит нз указания (!пс](са(1оп) того, какой вариант активен, значения поля признака (если он есть) и значения активного варианта. !66 Оппсипие лзьжа Множественный тип = "зег' "оГ' Базовый тип. Бизовый тип = Ординилвпый тип. Примеры множественных типов: зе1 о1 Сйзг рваней зет о1 0..11 6.2.4. Файловые типы.

Любой файловый тип выглядит как объединение последовательности компонент, имеющих одинединственный тип (тип компонент), некоторого положения в этой последовательности (позиции) и режима (щос)е), указывающего, формируется файл или просматривается. Число компонент в последовательности называется длиной файла; при описании файлового типа его длина не фиксируется. Файл называется пустым, если его длина ранна нулю. Файшн~ый тип = "Ые" *'оГ' Тип компоненты. Тип компоненты любого файлового типа должен быть присваиваемым (см. разд. 6.5). Файл, находящийся в режиме просмотра (1пзрес1юп), может быть установлен на любую компоненту последовательности или в положение конца файла (епй-о1-1!!е).

Файл, находящийся в режиме формирования (пепега1!оп), постоянно установлен в положение конца файла. Работа с файловыми значениями идет с помощью предописанных процедур и функций обработки файлов (см. разд. !!). Имя предопределенного составного типа Тех1 относится к особому файловому типу, в котором последовательность (символов. Примеч пер.) состоит из нуля или более строчек (!!пез)*. Любая строчка в свою очередь состоит нз нуля или более символов (значений типа Сваг), за которыми следует особый маркер конца строки (епс)-о1-!!пе) . !!еременные типа Тех1 называются текстовыми файлами (1ех1-11!е). Если непустой текстовый файл находится в режиме просмотра, то перед положением конца файла всегда находится конец строки.

Для работы с текстовыми файлами существует несколько дополнительных„предописапных процедур н функций (см. равд. !1.5 н 12). ' Слелуя определенной траднпнн, мы сохраняем одинаковый перевод лля терминов Нпе н з1ппя — «строка». Надеемся, что «контекстные» связи позволяют провОдить естественное отождествление. Там же, где зто сделать невозможно,,для тсрмнна Нпе будет употребляться уто ынющес . «строчкам — - Примеч. пер.

б. Типы 167 6.3. ССЫЛОЧНЫЕ ТИПЫ Ссылочный тип отличается от составного и простого типов тем, что его множество значений — динамическое„т. е. значения любоСо ссылочного типа порождаются и уничтожаются в процессе выполнения программы. Множество значений всякого ссылочного типа всегда содержит некоторое особое значение, представляемое с помощью слова пГ!. Каждое из значений этого множества должно в программе порождаться с помощью предописанной процедуры )Чехч (см. разд. 11.4.2) . Такие значения называютси ыдеытифицируюы(ими (!деп(!(у(пд ча!пез), поскольку каждое нз них идентифицирует некоторую переменную; ее будем называть идентифицированной переменной ()бепИ!ед наг!аЫе)«(см.

равд. 7.3). Идентифицированная переменная относится к типу области (догпауп 1уре) соответствующего ссылочного типа. Идентифицирующее значение и его идентифицированная переменная могут уничтожаться с помощью предописанной процедуры )л(ароне (см. равд. 11.4.2). При окончании программы все идентифицирующие значения, порожденные в ней, перестают существовать. Ссылочный тип = "1" Тип области! Имя ссыло«ного гила. Тия облисти = Имя гила. Им» ссылочного типа = Имя гила. бя. ПРИМЕР РАЗГ(ЕЛА ОПРЕДЕЛЕНИИ ТИПОВ Фуре МаФога1 = 0..МахГпФ; Со1ог = (Кеб, Уеыом, Сгееп, 61це); Нпе = зеФ о( Со1ог; Зйаре = (Тг1апй1е, йесФапй1е, С(гс1е); Уеаг = 1900..2100; ' Наличие такого понятия еще раз подтверждает необходимость введения нового термина в языки программирования или хотя бы нового перевода для слова «1беппчег».

Русское толкование слов «идентификация», «идентификатор» подразумевает однозначное определение объекта (в общем случае, без ионтекстных зависимостей). Поэтому, как только идентификатор связывается с понятием «область определения», «контекст», он сразу же теряет специфические черты идентификатора (глобальной однозначности) и превращается в контекстозааисимое имя Ссылочные же значения (в машинной интерпретации — «адреса») идентифицируют переменную, а точнее значение, совершенно однозначно.

Поэтому в книге и появляются идентифицирукицие значения и идентифицированные переменные. Однако интересно было бы узнать, как авторы стали бы называть переменные, идентифицированные с помощьк> идентификаторов, т. е. того, что мы в книге (переводе) называем «именем»у —. Примеч. лгр. !бб Очи«ение языка Саго = аггау [1..80] о! Сйаг; Зйг!п818 = распев аггау [1..18] о! Сйаг; Соир1ех = гесогй Ке, 1и: Кеа1 епб; РегвопРо!пвег = 1 Регвоп; Ке1астопвй!р = (Магг1еб, Соор1еб, Згп81е); Регвоп = гесогб Мане, Г!гвспаие: Заг!п818; В!гвйуеаг: уеаг; Зех: (Ма1е, Геиа[е); Гавйег, Мовйег: Регвопро1псег; Ег1епбв, Сй!1дгеп: !!1е о( РегвопРо!пйег; Ехйе1ав!опвй!рСонпв: Мавнга!; саве Звавпв: Ке1ай!опвй!р о! Магг[ей, Сонр1ебп (3!Кп!!1сапсйййег: РегвопРо!псег); З!п81е; ( ) епб; Мает!х1пЦех = 1..8; Зцпагейавг!х = аггау [Масс!х1пйех, Маеггх1пбех] а! Кеа1; бзй СОВМЕСТИМОСТЬ ТИПОВ Два типа называются совместимыми, если справедливо любое из четырех следующих условий: а) они представляют собою один и тот же тип; б) один представляет собою диапазон другого, или оба они— диапазоны некоторого исходного«()юв() типа; в) оба типа — множественные, причем их базовые типы — совместимы, н оба онн либо упакованы, либо нет; г) оба типа — строковые, причем у них одинаковое число компонент**.

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

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

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

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