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

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

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

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

она не входит в оператор. Точные правила, регламентирующие употребление точки с запятой, нашли отражение в синтаксисе, приведенном в приложении 4. Если кто-либо в примере поставит точку с запятой после второго оператора в программе 4.1. то будет считаться, что между этим знаком и словом епе) находится пустой оператор (не предусматривающий каких-либо действий) . Нег ничего страшного в появлении в этом месте пустого оператора. Однако неправильное употребление точки с запятой может приводить и к неприятностям (см. пример с условным оператором из равд.

4.5). 4.4. ОПЕРАТОРЫ ПОВТОРЕНИЯ (1(ИКЛЫ) Операторы повторения (циклы) предусматривают выполнение некоторых операторов несколько раз. Если число повторений из- 4. Концепция действия 4Б вестно заранее (до начала повторений), то в такой ситуации лучше воспользоваться оператором цикла с параметром. В других же случаях следует использовать операторы цикла с предусловием и с постусловием. 4.4.1.

Оператор цикла с предуслоаием Такой оператор строится по следующей схеме: Выражение нане Оператор Р и с. 4.10. Синтаксическая диаграмма для Цикла с прсдусяовием Оператор, идущий за словом г!о, выполняется нуль или более раз. Выражение, управляющее повторениями, должно быть логического типа. Это выражение вычисляется до выполнения указанного оператора.

Если оно дает значение 1гне, оператор выполняется, в противном случае выполнение всего оператора цикла с предусловием заканчивается. Поскольку выражение вычисляется при каждой итерации, его следует делать насколько возможно простым. Программа 4.3 возводит вегцественное значение Х в степень У, где г' — неотрицательное целое. Более простую и, очевидно, верную версию можно получить, убрав внутренний оператор цикла с предусловием: в этом случае переменная Кезп!1 получается путем г'-кратного умножения Х.

Обратите внимание на инвариант цикла: Кезн!1«роцег(Вазе,Ехропеп1) = роцег!Х, У). Внутренний оператор цикла с предусловием оставляет Кезп!1 и роцгег!Вазе,Ехропеп1) инвариантными и, очевидно, улучшает «производительность» алгоритма. 4.4«к Оператор цикла с постуслоиием Цикл с постусловием строится по такой схеме: —— ~Т р сссн Выражение Р и с. 4.11.

Сиитаксическая диаграмма для Цикла с посгусяовисм чб Руководство для полаэаеителя ргоВгае ИЬ11еЕхаер1е(1проС, Оаврас); ( Программа 4.2 — Вычисление М-й частичной суммы гармонического ряда Н (Ь)) =1+1/2+1/3+,, + 1/Й. Для итерации используется цикл с предусловием.) таг И: 1пСеКег; Н: Кеа!; Ье0(п Кеаа(1проС,И); Иг(ве(ОавраС,И); Н:= 0; ип(1е И > О бо Ье0)п Н:= Н + 1/И; И:= И вЂ” 1 епд; Иг1Се1п(0авраС,Н) епо . И Дает в качестве результатов: 10 2.928968Е+00 ргоВгае Ехропепв(ав(оп(1праС, ОоераЦ; ( Программа 4.3 — Вычисление рочаег (Х, У) — Х в степени У ) ааг Ехрапепв, у: 1пвеВег; Вазе, Кева1С, Х: Кеа1; Ье81п Кеад(1проС,Х,у); Иг)ве1п(ОоораС,Х,у); Кева1С := 1; Вазе := Х; Ехропепо := У; нп)1е Ехропепв > 0 Оо Ье8)п ( Кево1С>ракет(Вава,ЕхрапепС) = ранее(Х,у),ЕхропепС > 0 ) нЬ11е поС Обо(ЕхропепС) Оо Ье8(п Ехропепо := Ехрапепв 01у 2; Вазе := ЗОг(Вазе) епа; Ехропепо := Ехропепе — 1; Кева1С := Нева!С ' Вазе епо; 4.

Концепция беаогвпя 47 Иг(ее1п(Оиерии,йеьи1$) ( йези1ь = ронег(Х,У) ) епа Дает в качестве результатгк 2.000000Е+00 1.280000Е+02 Последовательность операторов между словами гереа( и цпЫ! выполняется по крайней мере один раз. После каждого выполнения последовательности операторов вычисляется логическое выражение. Повторения продолжаются до тех пор, пока выраткение не дает значение (гие.

Так как выражение вычисляется при каждой итерации, его следует делать насколько возможно простым. ргойгаа йереаФЕхаар1е(1при(,Оиариф); (Программа 4,4 — Вычисление (ч-й частичной суммы гармонического ряда Н (И) = 1 + 1(2+ 1/3+... 1/(ч. для итерации используется цикл с постусповием.) иаг й: 1пеейег; Н: йеа1; Ьей1п йеаб(1приь,й); Нг(бе(Оиориь,й); Н:= 0; гереаб Н:= Н + 1/й; й := й — 1 ипаг1 й = О; Иг(бе1п(Оиьриб,й) епд Дает в качестве результата: 10 2.928908Е+00 Приведенная выше программа правильно выполняется при )1» О.

А что произойдет прн И (=О? Версия же этой программы с оператором цикла с предусловием верна для любых )Ч), включая И=О. Обратите внимание„что представляет собой последовательность операторов, выполняемых в операторе цикла с постусловнем: 48 Руководство для пользователя пара скобок Ьеи(п и епб здесь не нужна, однако использование их не будет сшибкой. 4.4.3.

Оператор цикла с параметром Такой оператор предусматривает повторное выполнение некоторого оператора с одновременным изменением по правилу прогрессии значения, присваиваемого упраелянтщей ~еременной (параметру) этого цикла. Оператор цикла с параметром строится по следу)ошей схеме: Рис. 4.12. Синтаксическая диаграмма для Цикла с падиметроя ргоргаа ГогЕкаар1е(1про(,Оо(рпФ); ( Программа 4.5 — Вычиспение Ы и частичной суммы гармонического ряда Н (К) = 1 + 1/2+ 1/3+... 1/И.

Дпя итерации идяопьзуется цикл с шагале) каг 1, Й: 1п(ейег; Н: Неа1; Ье9(п Кеад(1прпЬ, И); Иг(ое(Оо(раЬ, Н); Н := 0; (ог 1 := и поипЬо 1 Оо Н:= Н+ 1/1; ИгтЬе1п(Оп(рой,Н) епо . Дает в качестве резупьтатов: 10 2.923968Еь00 Е Концепция действия 49 сопзс Ера(1оп = 1е-7; наг ( радианы); (угол в квадратей (элементы ряда ); ( очередной элемент ряда ); (число вычисляемых косинусов) (порядок очередного элемента) Апа1е.

йеа1 АБцоагед: Аеа1 Бег(ез: Реа1 Тегв: хеа1 1, а; Тпсеаег Роиег: 1псеаег оеетп Аеао1п(1прос, в); 1ог 1:= 1 Со И до Ьее)п реад!п(1прос, Апв1е); Тегв:= 1; Роиег:= 0; Бег(еа:= 1; АБцоагед := Бцг(хпа1е); ип( 1е Аоз(геев) > Ера(1оп ' АЬа(Бег(еа) до Ьеа1п Роиег := Роиег + 2; Тегв:= -Тегв ' Аацоагед / (Роиег ' (Роиег — 1)); Бег(ез:= Бег(еа + Тегв Параметр цикла, идущий следом за словом 1ог, должен относиться к ординальному типу и быть описанным в том же блоке, где появляется сам оператор цикла. Начальное и конечное значения должны относиться к ординальному типу, совместимому с параметром цикла.

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

При нормальном' выходе из оператора цикла с параметром управляющая переменная остается неопределенной. ргоагав Соа(пе(1прос,босроо); ( Программа 4. — Вычисление соа (Х) с использованием разложения: соа(Х) = 1 — ацг(Х)/(2'1) + ацг(Х)'ьцг(Х)/(4"Зе2е1) — ... ) 50 Рр«оеодстео для иольэоопг«зл епд; Иг(се1п(ОосроС, Ап81е, Зег(ез, Ронег 4(т 2 ( = число элементов )) епд епд . Дает в качестве результата: 1.534622Е-01 9.882478Е-01 3 З.ЗЗЗЗЗЗЕ-01 9.449569Е-01 4 5.0000ООЕ-01 8.775826Е-01 5 1.000000Е+00 5.403023Е-О1 6 3.14159ЗЕ+00-1.000000Е+ОО 10 Приведенная ниже программа «рисует» график функции ((Х), дающей вещественный результат. Считается, что ось Х идет вертикально и на месте соответствующих координат печатается звездочка. Положение звездочки определяется путем вычисления 'т'= 1(Х), умножения на некоторый масштабный множитель, округления до следующего целого значения и добавления некоторой константы.

Прежде чем напечатать звездочку, в соответствии с. полученным результатом «печатается» некоторое количество пробелов. ргойгаа Огзрп)(ОосроС); (Программа 4.7 — Формирование графического представления Функции: 1(Х) = ехр(-Х) ' з1п(2"Р(«Х). ) сопзС А ХЫпез = 16 (число строк на единицу абсциссы Бса1е = 32 ( число символов на единицу ординаты ); 2егоу = 34 ( положениеоси Х1; ХС(а(С = 32 (размер графика в строках). тат Ое1Са: йеа1 (приращение вдоль абсциссы); ТноРЫ йез1 ( 2 ' Р1 =- 8 "АгсТап(1.0) ); Х, У: йеа1;' Ро1пС: 1псейег; УРоз(С1оп: 1пСейег; Ьей(п ( инициация констант: ) Ое!Са := 1 ! Х1(пез; ТноР1 := 8 ' АгсТап(1.0); (ог Ро1пС := 0 Со ХЕгд(С до Ьейхп Х:= Ое1Са ' Ро(пС; У := Ехр(-Х) ' 6(п(ТноР1 ' Х); 4. Концепция действия о! УРозтС(оп := Ооопб(Зса1е ' у) + 7егоу; гереаС Иг1Се(ОоСроС, ' '); уРоз(С(оп := уРоз(С1оп — 1 опС11 уРоз1С!оп = О; Иг(Се1п(ОоСроС, '"') епо ел 0.

Дает в качестве результата: ду Руководства для пользователя ргойгаи Боииьпйтегиь(Ооороь); ( Программа 4.8 — Вычисление ряда 1 — 1/2 + 1/3 — . . + 1/9999 — 1/10000 четырьмя способами: ц последовательно слева направо, 2) слева направо, все положит.. затем — отриц. и вычитание, 3) последовательно справа налево. 4) справа налево, все полонит., затем — отриц. и вычитание.

) и таг Бег)ее!К, ( сумма, все слева направо 1 БоисйРоьТегиь, ( сумма положит..слева направо) БпиЬййей)егиь, (сумма отриц.,слева направо) Бегтеьй1, ( сумма, все справа налево) БаийсРоь1егиь, ( сумма положит.,справа налево) БоийсйейТегиь, ( сумма отриц..справа налево ) Роьтегисй, ( след. положит.,слева направо) йейтегиЬК, ( след. отрицтслева направо) РоьТегиК1, (след. попожиттсправа налево ) Кей)егийЬ: йеа1 ( след. положит.,справа налево); РаггьОТТегиги Тпоейег ( счетчик пар членов 1; Ьей)п Бег)еь!К:= 0; Бои!КРоьТегиь:= О; Беггеьй! := 0; БоийсРоьТегиь:= 0; Тог Ра)гьОТТегиь:= 1 Ьо 5000 Оо Ьей)п Роьтеги!К := 1 / (2 ' Ра)гьОТТегиь — 1); ИейТегиЬК:= 1 / (2 ' Ра)гьОТТегиь); РоьТегий! := 1 / (10001 — 2 ' Ра!гьОТТегиь); Пей)егий! := 1 / (10002 — 2 ' Ра1гь011егиь); Бег)ее!К:= Бег)ее!К + РоьТегисй — йей1егисй, БоисКРоьТегиь;= БоисКРоьТегиь + Роь)его!К; БоисКИейТегиь:= Бпи!КйейТагиь + йейТеги!К; Бег)еьй1:= Бег)еьй! + РоьТегий! — КейтегийЬ; БоийЬРоьТегиь:= Боий!РоьТегиь + РоьТегий1; БоийЬйейтегнь:= Боий!КейТегиь + йейТегийЬ; епо; БоиЬййейтегиь:= 0; Боийсйейтегиь:= 0; В качестве последнего примера рассмотрим такую программу: 4.

Концепция действия 55 Иг(те1п(Оитрие, зег(езЕК); Нг1(е1п(Ои'ьрпь, Зив(КРоз?егвз — Япв(ККе9?егвз); Нг(ее1п(0итрис, зег(езК!); Иг1ье1п(Оитрис, ЗивКЕРоаТегвз — ЗивКЕКеК?егвз) епд Дает в качестве результатов: 6.930919Е-01 6.931014Е-01 6.9309?ОЕ-01 6.9309?1Е-01 Почему четыре «идентичные» суммы так отличаются одна от другой? 4.6. ВЫБИРАЮЩИЕ ОПЕРАТОРЫ Выбирающие операторы предназначены для выделения из составляющих их операторов-компонент одного-единственного оператора, который и выполняется. В Паскале предусмотрены два вида выбирающих операторов: условные операторы и операторы варианта.

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

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

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

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