Студопедия — Пример. Найти приближенное значение суммы ряда , учитывающее все слагаемые, от начала ряда до первого, величина которого меньше e = 0,0001
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Пример. Найти приближенное значение суммы ряда , учитывающее все слагаемые, от начала ряда до первого, величина которого меньше e = 0,0001






Найти приближенное значение суммы ряда ,
учитывающее все слагаемые, от начала ряда до первого, величина которого меньше e = 0,0001.
Решение:

Program SumRow;
Сonst e=1E-4; {точность вычислений}

 

 

C.10.4. Лекция 4 (2 часа) Понятие процедур и функций. Стандартные (встроенные) функции и функции пользователя. Описание процедур и функций и их параметров. Использование готовых процедур и функций (модулей). Формальные и фактические параметры, ограничения на их типы и описания. Параметры – значения и параметры – переменные. Механизм передачи параметров. Примеры программ с процедурами и функциями.

Процедуры и функции в Паскале (как и во многих других языках программирования) являются удобным средством для однократного автономного описания тех фрагментов алгоритма, которые повторяются в разных его частях. Такие описания образуют раздел, который должен быть последним из числа разделов описаний программы. Для выполнения описанных в этом разделе фрагментов алгоритма в разделе операторов программы должны содержаться обращения к соответствующим процедурам и функциям.
В некоторых языках программирования (например, Бейсик, Фортран) такие автономные описания частей алгоритма называют подпрограммами. Здесь этот термин будет использоваться для общего обозначения процедур и функций.
Описание подпрограммы состоит из заголовка и блока. Заголовок процедуры имеет вид:

Procedure <;имя > (<;список формальных параметров >);

Заголовок функции:

Function <;имя >(<;список формальных параметров >): <;тип >;;

Список формальных параметров необязателен и может отсутствовать. Если же он есть, то в нем должны быть перечислены имена формальных параметров и их тип. Несколько однотипных параметров можно объединять в подсписки, например:
Procedure SB(a: Real; b,d: Integer; c: Char);
Операторы подпрограммы рассматривают список формальных параметров как своеобразное расширение раздела описаний: все переменные из этого списка могут использоваться внутри подпрограммы.
Обращение к подпрограммам осуществляется указанием имени подпрограммы и списка фактических параметров, в качестве которых могут выступать константы, переменные и выражения, отделяемые друг от друга запятой. Количество и типы фактических параметров при обращении к подпрограмме должны точно соответствовать количеству и типам ее формальных параметров. В момент обращения к подпрограмме происходит замена формальных параметров на фактические. Таким образом осуществляется настройка алгоритма подпрограммы на конкретную задачу. Само обращение к процедурам и функциям происходит по разному. Для обращения к процедуре используется специальный оператор, состоящий из имени процедуры и списка фактических параметров. Для обращения к функции ее имя со списком фактических параметров должно войти как операнд в некоторое выражение. Отсюда вытекает несколько отличий описания функции от описания процедуры:
- в виде функции описывается алгоритм, результатом выполнения которого является скалярная величина;
- в блоке функции должен быть хотя бы один оператор присваивания с именем функции в левой части;
- в заголовке функции должен быть указан тип функции (тип возвращаемого через имя функции результата).
Любой из формальных параметров подпрограммы может быть либо параметром-значением, либо параметром-переменной.
В предыдущем примере параметры были определены как параметры-значения. Если параметры определяются как параметры-переменные, перед ними необходимо ставить зарезервированное слово Var, например:
Procedure FF(Var a: Real);
Если формальный параметр объявлен как параметр-переменная, то при обращении к подпрограмме ему должен соответствовать фактический параметр в виде переменной нужного типа; если формальный параметр объявлен как параметр-значение, то при обращении ему может соответствовать выражение.
Для того, чтобы понять, в каких случаях использовать параметры-значения, а в каких - параметры переменные, рассмотрим, как осуществляется замена формальных параметров на фактические в момент обращения к подпрограмме.
Если параметр определен как параметр-значение, то перед вызовом подпрограммы это значение вычисляется, полученный результат копируется во временную память и передается подпрограмме. Если же параметр определен как параметр-переменная, то при вызове подпрограммы передается сама переменная, а не ее копия. Любые возможные изменения в подпрограмме параметра-значения никак не воспринимаются вызывающей программой, так как в этом случае изменяется копия фактического параметра, в то время как изменения параметра-переменной приводит к изменению самого фактического параметра в вызывающей программе.
Поэтому параметры-переменные могут использоваться как "средство связи" алгоритма, реализованного в подпрограмме, с “внешним миром”, в частности, с помощью этих параметров процедура передает результаты своей работы вызывающей программе.
Однако, злоупотребление этими возможностями делает программу, как правило, трудной в понимании и сложной в отладке. В соответствии с требованиями хорошего стиля программирования рекомендуется использовать передачу результатов через фактические параметры для процедур и через имя для функций.
Переменные, описанные в разделе описаний переменных подпрограммы, называются локальными переменными этой подпрограммы и доступны только в ней.
Концепция глобальных и локальных имен относится не только к переменным но и к другим описываемым объектам Паскаля: константам, типам, процедурам и функциям.

Пример.
В программе задается два целых числа 5 и 7, эти числа передаются процедуре Inc2, в которой они удваиваются. Один из параметров передается как параметр-переменная, другой - как параметр-значение. Значения параметров до и после вызова процедуры, а так же результат их удвоения выводятся на экран.

Program Exampl;
Var a,b: Integer;
Procedure Inc2(Var c: Integer; b: Integer);
Begin
c:= c + c;
b:= b + b;
Writeln(‘Удвоенные:’, c:5, b:5)
End; {Inc2}
Begin {Main}
a:=5; b:=7;
Writeln(‘Исходные:’, a:5, b:5); Inc2(a, b);
Writeln(‘Результат:’, a:5, b:5)
End. {Main}

В результате прогона программы будет выведено:

Исходные: 5 7

Удвоенные: 10 14

Результат: 10 7

Пример.
Описать функцию, вычисляющую факториал и использовать ее для вычисления

Program Calc;
Var n,m: Integer; f: Real;
Function fact(n: Integer): Integer;
Var i,p: Integer;
Begin p:=1;
For i:=2 To n do p:= p* i;
fact:= p
End;
Begin
Read(m,n);
f:= fact(n) * fact(m) / fact(n+m);
Writeln(f)
End.

 

 







Дата добавления: 2015-09-04; просмотров: 537. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

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

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия