Мегаобучалка Главная | О нас | Обратная связь


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



2019-11-20 216 Обсуждений (0)
Процедуры, правила обращения к процедурам, передача данных в процедуру и обратно. Отличие функции от процедуры, примеры. 0.00 из 5.00 0 оценок




Procedure<имя>

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

<раздел описаний процедуры>

Begin

<раздел исполняемых операторов>

End;

Список форм параметров – перечень ч/з запятую имен переменных.

Второе их назначение – передача и обмен значениями с взывающей прогой. В разделе описаний объявляются все имена(помимо формальных), которые удут использованы в исполняемой части процедуры. Это локальные имена, к-е д-ют только внутри подпроги.

Функция отличается от процедуры тем, что результат ее работы возвращается в основную прогу в виде значения этой функции

 

П Р О Ц Е Д У Р Ы И Ф У Н К Ц И И

 

Алгоритм решения задачи проектируется путем декомпозиции всей за-

дачи в отдельные подзадачи. Обычно подзадачи реализуются в виде подп-

рограмм.

Подпрограмма - это последовательность операторов, которые опреде-

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

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

дая подпрограмма определяется уникальным именем. В языке ПАСКАЛЬ су-

ществуют два типа подпрограмм - процедуры и функции.

Процедура и функция - это именованная последовательность описаний

и операторов. При использовании процедур или функций ПАСКАЛЬ - прог-

рамма должна содержать текст процедуры или функции и обращение к про-

цедуре или функции. Тексты процедур и функций помещаются в раздел

описаний процедур и функций.

{}

Процедура может содержать такие - же разделы описаний, что и ПАС-

КАЛЬ - программа, а именно: разделы описания модулей, меток, конс-

тант, типов, переменных, процедур и функций.

{}

ПЕРЕДАЧА ИМЕН ПРОЦЕДУР И ФУНКЦИЙ В КАЧЕСТВЕ ПАРАМЕТРОВ. Во многих

задачах, особенно в задачах вычислительной математики, необходимо пе-

редавать имена процедур и функций в качестве параметров. Для этого в

TURBO PASCAL введен новый тип данных - процедурный или функциональ-

ный, в зависимости от того, что описывается.

Описание процедурных и функциональных типов производится в разделе

описания типов:

type

    FuncType = Function(z: Real): Real;

    ProcType = Procedure (a,b: Real; var x,y: Real);

 

Функциональный и процедурный тип определяется как заголовок проце-

дуры и функции со списком формальных параметров, но без имени. Можно

определить функциональный или процедурный тип без параметров, напри-

мер:

type

    Proc = Procedure;

 

После объявления процедурного или функционального типа его можно

использовать для описания формальных параметров - имен процедур и

функций.

Кроме того, необходимо написать те реальные процедуры или функции,

имена которых будут передаваться как фактические параметры. Эти про-

цедуры и функции должны компилироваться в режиме дальней адресации с

ключом {$F+}.

Рассмотрим использование процедуры на примере программы поиска максимума из двух целых чисел.

var x,y,m,n: integer;

 

procedure MaxNumber(a,b: integer; var max: integer);

begin

if a>b then max:=a else max:=b;

end;

 

begin

write('Введите x,y ');

readln(x,y);

MaxNumber(x,y,m);

MaxNumber(2,x+y,n);

writeln('m=',m,'n=',n);

end.

56. Численное интегрирование двойных интегралов. Метод ячеек.

Для двойного интеграла область геометрически представляет собой плоскую произвольную фигуру, а значение интеграла – объем 3х мерной фигуры.

Метод ячеек.

Данный метод применяется для вычисление 2х интегралов, когда область интегрирования D представляется собой прямоугольник.

I=  f(x,y)dxdy ; D: a=<x=<b;c=<y=<d

 

Геометрически задача сводится к вычислению объема криволинейного параллелепипеда.

Идея вычисления: в геометрии нет готовой формулы для вычисления объема криволинейного параллелепипеда, то эту фигуру нужно приближенно заменить на прямоугольный, объем которого легко вычисляется.

Для снижения погрешности криволин.паралел-пипед разбиваем на множество более мелких.Вычисляем элементарные объемы и складываем.

Область интегр-я D разбивается на ячейки, соответственно исходный объем также разбивается n на m элементарных объемов.

hy=(d-c)/m ; hx=(b-a)/n; S=hx*hy – площадь ячейки; xi=a+i*hx; yi =c+j*hy

Для вычисления элементарного объема, Sячейки умножают на значение подинтегральной ф-ции в центре ячеек xi=(xi+xi-1)/2; yi=(yi+yi-1)/2

суммируя элементарные объемы получают приближенное значеиние 2ого интегрла. Формула ячеек -

                                               f(x,y)dxdy = V=hxhynmf(xi,yi);

57.Метод последовательного интегрирования.

Пусть для 2го интеграла область интегрирования D ограничена непрерывными кривыми:y=φ(x),y=ψ(x) и прямыми x=a,x=b;

= dx f(x,y)dy ; Пусть F(x)= f(x,y)dy; I= F(x)dx.

 

Внутренний и внешний интегралы явл. однократными и для их вычисления можно применить приближенные способы вычисления(прямоугольников, трапеций или метод Симсона).

Применим формулу трапеций: I=hx[F(a)+F(b)/2+∑n-1F(xi)] (1), где F(xi)-площади сечений исх.фигуры. эти площади вычислим используя формулу прямоуг.трапеций. для вычисления каждое сечение(в проекции хорду)разбиваем вдоль оси Оy с шаг hy ; F(xi)= f(x,y)dy = hy[f(x,y)+f(x,d)/2+∑j n f(xi,yi)] (2)

Порядок расчета. Отрезок [a,b] разбивают с шагом h, в каждой точке xi, вычисляют значения с=φ(xi) ;d =ψ(xi) – хорду [c,d] разбивают с шагом hy.

Используя ф-лу (2) вычисл площади сечения F[xi,j=0,…n] по формуле (1) вычмсл значение 2го интеграла.

58. Обработка числовых данных.

Получение количественных результатов научных и технических задач приводят к необходимости обработки числовой информации. Данные часто предоставляются в табличной форме. Эти данные отражают функциональную зависимость одной величины от другой. В задаче аппроксимации требуется найти формулу выражающую функциональную зависимость аналитически. Сущ.2 основных подхода к решению данной задачи.1). состоит в построении интерполяционного многочлена,значения которого точно совпадают с табличными.Это достигается методами интерполяции(получ-я промежут значения). Геометрически требуется чтобы интерполирующая кривая y=Pn(x) проходила строго через все табличные точки. Однако совпадения значений в точках не означает совпадения характеров табличной и интерполирующей функций,так как данные экспериментальные – имеют свои погрешности измерения. Поэтому методы интерполяции принимают в узкой области вычисления промежуточных значений ф-ции.(метод интерполяции по Лагранжу,метод разделенных разностей) 2).Табличные данные аппроксимируют достаточно простой функцией применимой во всем диапазоне табличных данных, не обязательно проходящей через все точки. Такой подход называется подгонкой кривой ,кот-ю стремятся провести так, чтобы ее отклонения от табл точек были min.Обычно стремятся свести к мин сумму квадратов разностей м/у значениями,вычисленными по кривой и таблицей.+простота – большая погрешность.(Метод наименьших квадратов.)

 



2019-11-20 216 Обсуждений (0)
Процедуры, правила обращения к процедурам, передача данных в процедуру и обратно. Отличие функции от процедуры, примеры. 0.00 из 5.00 0 оценок









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

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (216)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)