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

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

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

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

Заметим, что р не ссгь фактический параметр-переменная, поэтому оно может быть компонентой упакованного массива или записи. 202 Описание языка Значение г) должно быть порождено с помощью первого (короткого) варианта обращения к Ыем, если зто не так, то — ошибка уничтожает идентифипирующее значение Ч. Если Ч равно пг1, то гакая ситуапня считается ошибкой. Значение Ч должно быть порождено с помощью второго (длинного) варианта обращения к Ысчг, причем К1, ..., Кп дгглжны выбирать те же варианты, которые были выбраны при порождении указанного значения, если зто не так, то — ошибка 1взрозе(Ч, И, ..., Кп) Ьейгп К = 1; (ог ) = В (с С бгг Ьейгп Р ( 3 ) ' = 0 ( К.1, г 1 3 < > С 1 Ь е и К : = во с С 1 К ) е вб ()п р ас)с ( Р, 13, 1 ) эквивалентно опер атору бей 1 и К:= 1; (ог 3:= В Ьо С до Ьей[п 0[К1 := Р[31 11 3 > С Ьйеп К:= кпсс(К) епб епб И в том и в другом случае во всех итерациях ойератора цикла Р обозначает одну переменную и [.) — одну переменную.

11.4.3. Процедуры передачи данных. Предположим, что (l обозначает неупакованный массив (персменную), у которого тип индекса Ы, а тип компонент — Т. Пусть Р обозначает упакованный массив (переменную), у которого 52 — тип индекса, а Т вЂ” тип компонент. В и С обозначают наименьшее и наибольшее значения, относяшиеся к типу Я2, К вЂ” некоторую новую переменную (нигдс нс используемую), относящуюся к типу 51, а ) обозначает новую переменную, относящуюся к типу 52. Пусть 1 — некоторое выражение, совместимое с 51.

Рас)с([), 1, Р) эквивалентно. оператору: !!. Процедуры и функции 20З. ! !.5. Н!тЕДО(1ИСАНН!з!Е ФУНКЦИИ 11.5.1. Арифметические функции. Пусть х — любое вещественное нли целое выражение. Тип результата функций аЬз и зг)г тот же, что н тип х. Тип результата других арифметических функций— цеа1. аЬа (х) зцг(х) дает абсолютное значение х дает квадрат х. Ситуация, когда в данной реализации квадрата не существует, считается ошибкой дает синус от х, где х выражено в радианах дает косинус ог х, где х — в радианах дает значение, равное сснояанию натурального лога- рифма, возведенному в степень х дает натуральный логарифм от х. Ситуация, когда х меньше или равно нулю, считается ошибкой дает корень квадратный из х. Ситуация, когда ив отрицательное, считается ошибкой дает выраженное в радианах главное значение арктан- гснса от х ып(х) соз(х) ехр(х) !и (х) ацгыт) агс!ап(х) 11.5.2. Логические функции.

Пусть х — любос целое выраженно, а ( обозначает любую переменную-файл. Тип результата всякой логической функции — Воо)сап. зквивалентно выражению (аЬз(!) шод 2 !) если 1 не определено, то — . ошибка. Обращение ео((1) дает значение !гнс, сели 1 ваходитси н режиме формирования или же до обрашения 1 был установлен в последнюю позицию, т. е. па последнюю компоненту последовательности. Если список параметров (параметр) спущен, то ео1 применяется к параметру программы под именем 1прщ если 1 нг определено или ео([В истина, то — оншйка. Фекл ! должен быть текстовым файлом.

Обришсннс ео!и (1) дает значение 1гце, если текупгая компонента последояатечьности ! представляет собой маркер конца строки. Если список параметров (параметр) опущен, то ео1п применяется к параметру программы под именем 1прн! одб)!) ео1(1) ео1п (г) !гнпс(г) дает значение, удовлетворяю~!гее условию: 0 ( = г— !гипс (г) ( 1 при г )= 0 или же — ! ( г — !гцпс (г) ( == О нри г ( О. Если такгло значения пе сушсствует, то — ошибка дает значение, удовлетворяюнгее условию: гонпд (г) = 1гнпс (г + 0,5) при г )= О, или ке гоояд (г) = 1гнпс (г — 0,5) прн г ( О. Если такого значения яс сунпют«усгс го ошибка. гонпд(г) 11.5.3. Преобразующие функции ((гапз(сг).

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

Если такого значения не существует, то — ошибка. Если с обозначает некоторое символьное значение, то всегда верно сов~ношение: снг(огб[с)1 = с дает следующее зв х значение (если оно существус~). В этом случае верно соотношение огд (зпсс (х) ) = огб(х) +!. Если следующего значения не сущест- вует, то — ошибка дает значение, предшествующее х (если оно сущеет- вует).

В этом случае верно соотношение огб(ргег1(х) ) = огб(к) — 1. Если предшествующего значения не существует, то — ошибка зпсс(х) ргеб (х) 12. ТЕКСТОВЫЕ ФАЙЛЫ. ВВОД И ВЫВОД 12.!. ЧТЕНИЕ ()(ЕД()) Работа процедуры Кеаг) с текстовым файлом следует таким правилам. Пусть ! обозначает текстовый файл, а у), ..., уп— Разумные'.ввод и вывод базируются на текстовых файлах (см. равд. б.2.4), задаваемых программе на Паскале в качестве параметров (программы). В окружении, где работает программа, им могут соответствовать разные вводные и выводные устройства вроде клавишной панели, дисплея, магнитной ленты или печатающего устройства. Для упрощения работы с текстовыми файлами вводятся три прсдописанные процедуры (Кеа()!гг, Юг!(е!и и Раде) и расширяются возможности двух других предописанных процедур ()(еа() и !)угг!(е; см.

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

Кроме того, параметры не обязательно относятся к типу Сваг. Они могут быть и других типов. В этом случае прн псреднче данных выполняезся неявная операция преобразования, Если первый параметр — файловая переменная, то ввод или вывод идет именно в, этот файл. В противном же случае считается, что ввод идет из файла (параметра программы) (прн(, а вывод- в файл (параметр программы) Ои1рц( (см. равд. !3). !2. Текстовые фадвы.

Ввод и вывод 205 перемснныс, относящиеся к типам СЬаг, 1п1едег (либо их диапазонам) или Кеа1. а) Кеаб (у1, ..., чп) эквивалентно Ксан (К, т1, ..., нп), где д обозначает параметр программы — файл 1прн!. б) Кеа<1 (1, т1, ..., тп) эквивалентно оператору: Ьеп1п Кеаб (1, у!); ...; Кеаб (1, тп) спб где все вхождения 1 обозначают одну и ту же переменную. в) Обращение Ксаб (1, т). считается ошибкой, если 1 не определено либо же находится в режиме просмотра, или жс ео1(1) — 1гпе.

'Действие обращения Кеаб (1, т) зависит от типа параметра ю 12.1.1. Чтение символа. Обращение Ксаб (1, т), где ч обозначает переменную, относящуюся к типу, совместимому с типом СЬаг, эквивалентно оператору: Ьсп!и т:= Ц; Ое!(1) епб где все вхождения 1 обозначают одну и ту же переменную.

Если перед обращением Кеаб(1, у) было истинно со!п(1), то после будет истинно условие (ч = ' '). !2.'1.2. Чтение целого числа. Обращение Кеаб(1, ч), где т обозначает переменную, относящуюся к типу, совместному с типом 1п1епег, предполагает, что из 1 читается последовательность символов, образующая целое число со знаком (см. равд. 4), целое значение которого присваивается переменной у. Предшествующие числу пробелы и маркеры конца строки пропускаются. Если целое число со знаком не обнаружено. то — ошибка.

12.!.3. Чтение вещественного числа. Обращение Кеаб !1, т), где т обозначает переменную, относящуюся к типу Кеа!, предполагает, что из 1 читается последовательность символов, образующая число со знаком (см. равд. 4), вещественное значение которого присваивается переменной т. Предшествующие числу пробелы и маркеры конца строки пропускаются. Если число со знаком не обнаружено, то — ошибка. !2.2. ЧТЕНИЕ СТРОКИ 1ПЕАОЕМ! Пусть 1 обозначает некоторый текстовый файл, а ч1, ..., тп— переменные типа СЬаг или 1и!епег (либо их диапазоны) или Кеа!. Обращение Кеаб!п(т1, ..., чп) эквивалентно Кеаб!п(д, т1, ..., тп), а Кеаб!п эквивалентно Кеаб!п(д), где и обозначает параметр программы — текстовый файл 1прн1.

Обращение Кеаб!п(1, т1, ..., тп) эквивалентно оператору: Ьсй!п Кеаб(1, т1, ..., тп); Кеаб!п(1) епб где все вхождения 1 обозначают одну и ту же переменную. Обращение Кеаб!п(1) эквивалентно оператору: 206 Онисиние леыка Ьеде ° ню!е оо1 ео1 ° (() 0о йе((11; Э ее(1) сои где все вхождения 1 обозначают одну и ту жс переменную. !23.

ЗАПИСЬ ()УК1ТЕ) Работа процедуры Фг![е с текстовым файлом следует таким правилам. Пусть 1 обозначает некоторый текстовый файл, р, р1, ..., рп — параметры вывода, е выражение, а гп и п — целые выражения. Список фактических параметров вывода должен удовлетворять такому синтаксису. Список ааримстров ел~води ="(" (переменкам-файл[ Цирамстр вывода) ("," параметр вывода)" ) ". Параметр выводи = Вырожсоиы !":" Целю выражение [":" Целое сыриженис! [. а) Обращение %п(е(р[, ..., рп) эквивалентно Юп[с([д р[, ..., рп), где д — параметр программы (текстовый файл Оц[рц!). б) Обращение %г[!е(1, р[, ..., рп) эквивалентно оператору: [эеячп Ъг[!е(1, р1); ...; %с[[с(1, рп) еде[ где все вхождения 1 обозначают одну и ту же переменную.

в) Если 1 не определено или не находится в режиме формирования, то обращение Юг[[е(1, р) — ошибка. г) Любой параметр записи имеет один из таких видов: е егп етп причем с представляет собой значение, «записываемое» в 1, а ш и п так называемые параметры, размеры поля (1!е!е[-ю!дй рагагпс(сгз). Если п или гп мепшпе или равно нулю, то это ошибка. Выражение е должно относиться к типу [я[снег, Кеа[, Снаг, Воо!сап или же к некоторому строковому типу. Выражение п может встречаться только в том опучае, если е — вещественного (Кеа!) типа (см.

равд. [2.3.3.). Если ш опущено, то вместо него предполагается некоторое подразумеваемое значение. 11одразумевасмос значение, если речь идет о типах [п(снег. Йса! или Вор[еап, определяется при реализации. Для типа Сйаг подразумеваемым значением является [, а для строкового типа оно равно числу элементов в строке. Если для представления значения е требуется меньше, чем гп символов, то ему предшествует такое число пробелов, чтобы было записано точно гп символов.

Представление значения е зависит от типа е. !Д Гекстоеые фийлы. Вопд и вывод 207 12.3.1. Запись символа. Если с относится к типу С1!аг, то обращение Юг(1с(1, е: т) эквивалентно операторуз Ьед1п !ог д := 1 Ье а — 1 Пе Иг11е(1.' '); 11:= е; РЬЬГ!) епд где все вхождения 1 обозначают одну и ту жс переменную, а 3 обоз,начает новую (нигде ранее не встречающуюся) целую переменную. 12.3.2. Запись целого числа.

Если с относится к типу 1п1едег, то при с ( 0 обращение Вг!1е(1, е: ш) записывает к — > (минус), за которым следует десятичное представление аЬз(е). Если необходимо, то записываются предшествующие пробелы (нужно чтобы было всего гп символов). 12.3.3. Запись вещественного числа. Если е относится к типу Кеа!, то обращение Юг((е(1, е: т: п) записывает с п цифрами после десятичной точки представление с фиксированной точкой, а Юг(1е(1, е: т) записывает представление с плавающеи точьои соответствующего значения.

Операция «> «» означает «возведение в степень». 12.3.3.1. Представление с фиксированной точкой. Пусть, если е — нуль, тч будет нулевым, в других же случаях в — абсолютное значение, округленное, а затем сокращенное до п десятичных позиций. Пусть если ч! ( 1, б будет 1, в других же случаях пусть б (удовлстворяет условию. — Примеч. лер.) 10«" (б — 1) (= тч ~ 10**!). Значение б — число цифр влево от десятичной точки.

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

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

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

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