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

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

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

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

За.оловок процедуры = "йгоседоге' Имя (Список формольнык параметров). Идентификация процвдурьг = "йгоседиге* Имя процедуры. Имя процедуры = Имя. Употребление имени процедуры в операторе процедуры внутри блока ее собственного описания предполагает рекурсивное использование этой процедуры. Пример раздела описания процедур и функций, содержаи(ик процедуры: ргоседчге йеад(пСейег (чаг Е: ТехС; чаг Х: 1пСейег); чаг 3: йаСпга1; Ьейгп иЬг|е Е1 <> ' ' до ОеС(Е); 3:= 0; иЫ1е Е1 1п ('О'..'9') до Ьейгп 3 := 10 " 3 + (огд(Е!) — егд('0')); ОеС(Е) епд; Х:= 3 епд ( йеад(пСейег ); ргеседпге В1зесС((ипсС1оп Е(Х: йеа1): йеа1; Л, В: йеа1; чаг Е: йеа1); чаг Еп йеа1; !Я Лроцеауры и функции !9З Ьей(п ( пусть Е(А) < 0 и Е(В) > О ) ыЬ(1е аЬе(Я-И) > 1е-10 < аЬа(А) 6о Ьей(п М := (А + В) / 2.0; 11 Е(И) < 0 Ьиеп А := И е1ае В := М еп6; 2:= И еп6 ( Вьаесо ); ргосеоаге ВСО(И, И: 1пСейег; чаг Х, У, 2.

1поейег); (Наибольший общий делитель Х дпн АА и Н, причем И>=0 и И>0 ( Улучшенный алгоритм Эвклида. ) чаг А1, Я2, В1, В2, С, Р, О, К: 1пСейег; Ьей1п А1:=0; А2:=1; В1:=1; В2:=0; С:=И; 0:=И; ыий1е 0 <> 0 6о Ьей1п (А1<и + Б1'И = О, А2<И + В2'И = С, ап6 ВСО(С,О) = ВСО(И,И)) О:= С 61ч К; К:= С ао6 0; А2: = А2 — О'А1; В2: = В2 — 0~01; С:= 0; 0:= К; К:= А1; А1:= А2; А2 := К; К:= В1; 01 := В2; В2 := К еп6; Х:= С; У := А2; 2 := В2 ( Х = ВСЦИ,И) = У<И + 2'И ) ' еп6 ( ССО ); Н.2. ОПИСАНИЯ ФУНКЦИЙ Описание функции предназначено для введения имени функции, сопоставления с этим именем типа результата, блока и, возможно, списка формальных параметров. Заголовок функции из описания функции вводит имя функции, тип результата и список формальных параметров. Функция может быть описана с помощью одного-единственного описания функции, состоящего из заголовка функции и блока.

Это наиболее распространенный способ. Однако есть и другой способ — функцию можно описывать и с помощью «опережающего описания»: первое описание состоит из заголовка функции и директивы (огччагб, а второе описание Тут Описание язьиса в том же самом разделе описания процедур и функций содержит наименование функции и блок. Имя функции в идентификации функции должно быть тем же, что и введешюе в первом описании. Заметим, что список формальных параметров, если он есть, и тип результата во втором описании не указываются. Описание функции = Заголовок функции ";" Блок ) Заголовок функции ";" Директива! Идентификация функции ";" Блок.

Заголовок функции = "[опсипп" Имя [Список формальныя параметров[ ":" Тип рвзультати. Тип результата = Илья ординсльного типа[Имя вещественного типа[ Имя осино<ного типи. идгнтц)уикация Функции = "юпспоп" имя Функции. Имя функции = Имя. Блок любого описания функции должен содержать по крайней мере один оператор присваивания, присваиваюсций [значение) имени функции. Использование имени функции в обозначении функции'внутри блока ее описания предполагает рекурсивное выполнение этой функции.

Прилсер раздела описания процедур и функций, содержащего Функцию: [опсс!оп зцгС(Х: Кеа1): Кеа1; [ Метод Ньютона ) наг ХО, Х1: Кеа1; Ьеа[п Х1 = Х; [ Х > 1, метод Ньютона ) гереаС ХО := Х1; Х1:= (ХО + Х/ХО)'О.5 ипС[1 аЬз(Х1 — ХО) < Ерз ' Х1; загс := ХО еп6 [ зцгС ); [опсС1оп Иах(Я: Чессог; и: 1псекег): Кеа1; [ Максимальное значение из А[ц я[И] оаг Х: Кеа1; 1: 1псеаег; Ьеатп Х:= А[1]; тог 1:= 2 Со П до ЬеКьп [ Х = Иах( А[1], ..., А[1-1] ) ) Н Х < Я[1] СЬеп Х := АьЦ еп6; !!. !!роцвдуры и функции !Уд ( Х = Ивх( А[1], ..., А[И] ) ! Иах := Х еп6 ( Мех ), (ипсс[оп СС0(М, й: йаеига1): йасвгв1; Ьей[п 11 И = 0 сьев СС0 := М е1зе СС0 := СС0(И, М во6 И) еп6; (ипс11оп Роиег(Х: Кев1; У: йвсогв1): йев1; иег И, 2: йев1; 1: йесига1; Ьеу[п ' И:= Х; 7:= 1; 1:= У; иь(1е 1 > 0 6о Ьей[п (т (И-1) =Х-У) 11 о66(1) Ьйеп 2:= 2 ь И; 1:= 1 6[в 2; и := зцг(и) еп6; (2=Хиту) Гоиег := 2 еп6 ( Роиег ); 11.З. ПАРАМЕТРЫ Параметры позволяют при каждой активации процедуры или функции работать с объектами (значениями, переменными, процедурами и функциями).

задаваемыми в точке активации (см. равд. 10.3), через список фактических параметров. Список формальных параметров в заголовке процедуры или функции определяет имена, под которыми зти объекты известны в блоке процедуры или функции, а также природу и тип требуемых фактических параметров. Фактические параметры для предописанных процедур и функций не всегда следуют (соп[оггп) правилам для обычных процедур и функций (см.

равд. 11.4; 11.5 и 12). 11.3.1. Списки формальных параметров Список формальных париметров= ( Секция формальнмх пирометров 1";" Свкция фирлт.и явил аиримвхтов)" !". Ськцив фьрьал нььт пара ввтрив =- Стив!пушка~!ив ииримгтров-.имввнии 1 Сьгц~~фикацил ° ара,ив!ров-вврвмвнньььх) Спвцификицин процвдурального параметра [ Спецификация функционального паримвтра. Параметры, перечисленные в одной секции формальных пари метров, представляют собой либо параметры-значения, либо пара- lув Описание языка метры-переменные, либо параметры-процедуры, либо параметры- функции. 1!.3.!.!.

Формальные параметры-значении и параметры-переменные. Спецификация параметров-значений и параметров-переменных в своем списке имен задает имена, рассматриваемые как имена переменных. Если указывается имя типа, то это значит, что к этому типу относится каждое из имен этих переменных. Если встречается схема совмещаемого массива, то каждое из имен переменных называется совмещаемым массивом-параметром, причем его тип зависит от типа фактического параметра. Внутри данной активации все формальные параметры, оиределенные в одной секции формальных параметров, относятся к одному типу. Заме(ание. Не обязательно все реализации Паскаля будут поддерживать схемы совмещаемых массивов. В частности, реализации уровня 0 их не поддерживают, а уровня ! — поддерживают. Спецификация пирометров-значений = Список имен ":" (Имя сила) Схема совмещаемого массива).

СпециФикация параметра-переменной = "чат" Список имен ":" (Имя типа )Схеми совмещаемого массива). Схема соемещаемого массива = Схема упакованного совмещаемого массива) Схема неупаковинного совмесцаемого массива. Схема упакованного совмещаемого массива = *'раскед" "аттау" "[" Спецификация типа индекса"1" "ог' Имн тини.

Схема неупаковинного совмещаемого массива = "аттау'* "["Спецификация типа икдекса ( ";" СпециФикация типа индекса!" )" "оу (Илщ гила! Схгми совмещиемого миссиви). СпециФикация типа индекса = Имя ".." Имя* ":" Имя ординаяьнлго типа. Имя границы = Имя. Спсцификцция типа индекса вводит в качестве имен границ два имени, относящиеся к типу, обозначаемому именем ордииального типа.

Схема совмещаемого массива аггау [[.отч! .. Н!йп[: Т[; [.отч2 .. Н!дЬ2: Т2( о1 Т представляет собой просто сокращенную запись для аггау [[.очч! .. Н!йЫ: Т!) о1 аггау [[.очч2 .. Н!ц[)2: Т2( о1 Т Пример описания (уднкции, иллюстрирующий совмещоемый массив-параметр: ( Этот пример получен из Функции Мах в 11.2 ) (ипс(!оп Нах (Я: аггау [С .Н: 1п!айаг) о( Яеа1; Я: 1птеуег): Яеа1; ( яяаксимапьное значение нз я[ц .....Я[Я). ) чаг К: Яеа!; 1: 1пуекег; * Это, очевидно, неточность.

Здесь дояжао стоять Имя границы. — Примеч. лер. ПП Процедуры и функции !97 Ьехтп Х: А[[]; (от 1:= аисс([) Ьв М до Ьей(п [ Х = Мах( А[Ц,...,А[1-1] ) ) 1( Х < А[1] ЬЬеп Х := А[1] епд; [ Х = Мах( А[Ц,...,А[М] ) ] Мах := Х епд [ Мах [; 11Л.1.2. Формальные процедуральные параметры и функциональные параметры. Спецификация процедурального параметра вводит имя процедуры с каким-либо связанным с ним списком формальных параметров, определяемых заголовком процедуры. Спецификация процедурального параметра = Заго совок процедурьи Спецификация параметра-функции вводит имя функции с типом результата и каким-либо связанным с именем списком формальных параметров, определяемых заголовком функции. Спецификация функционального параметра = Заголовок функции.

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

Порядок подстановки фактических параметров из списка зависит от реализации. Список фактических параметров = *'("Фактический параметр [ "," Фактический параметр)")". Фактический параметр = Выражение ! Переменная) Имя процедуры ) Имп функции. Все фактические параметры из данной точки активации, соответствующие формальным совмещаемым массивам-параметрам которые определены в некоторой секции формальных параметров, должны относиться к типу, допускающему совмещение [см.

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

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

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

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