1 ПОДПРОГРАММЫ. МАССИВЫ КАК ФОРМАЛЬНЫЕ ПАРАМЕТРЫ ПОДПРОГРАММ Лекция 3 План 1.Процедуры и функции с использованием массивов в заголовке 2.Описание подпрограмм.

Презентация:



Advertisements
Похожие презентации
1 ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ. ПОДПРОГРАММЫ И МОДУЛИ ПРИ РЕШЕНИИ ЗАДАЧ ХИМИЧЕСКОЙ ТЕХНОЛОГИИ. Лекция 2. Подпрограммы План 1.Процедуры и функции. 2.Описание.
Advertisements

Подпрограммы: процедуры и функции Информатика. 1. Подпрограммы При решении различных задач часто возникает необходимость проводить вычисления по одним.
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 5.
Подпрограмма – это самостоятельная часть программы, реализующая определенный алгоритм.
Подпрограммы 1 Определение подпрограммы. 2 Процедуры 3 Функции 4 Практическая работа.
Все процедуры и функции делятся на стандартные встроенные определенные пользователем. Встроенные и стандартные вызываются без предварительного описания.
Что такое структурный подход в программировании? Как он реализуется в ЯП Паскаль? Что такое процедура? Кто дает название процедуре? Где записывается процедура?
Процедуры и функции Вербицкая Ольга Владимировна, Заозерная школа 16.
Понятие подпрограмм. Подпрограммы в языке Паскаль.
Язык программирования Pascal Процедуры и функции А. Жидков.
Подпрограмма Подпрограмма - именованная часть программы к которой можно обращаться неоднократно по ее имени.
Функции. Функция- это подпрограмма, которая вычисляет и возвращает некоторое значение. Функции описываются в разделе описаний следующим образом: Function.
Процедуры и функции в Паскале. Рекурсия. Подпрограммы Часто в задаче требуется повторить определенную последовательность операторов в разных частях программы.
Программа имеет заголовок следующего вида Program имя ; Имя - это имя программы. Идентификатор имени имеет не более семи символов. Имя начинается с буквы.
МЕТОД ПОСЛЕДОВАТЕЛЬНОЙ ДЕТАЛИЗАЦИИ. ПРОЦЕДУРЫ И ФУНКЦИИ Урок 1.
Программирование на языке Паскаль Тема 13. Процедуры Тема 14. Функции.
ЗАПИСЬ ВСПОМОГАТЕЛЬНЫХ АЛГОРИТМОВ НА ЯЗЫКЕ Паскаль НАЧАЛА ПРОГРАММИРОВАНИЯ.
Массивы Вариант 1 Program upr1; Var s,a:real; I: integer; Begin S:=0; For I:=1 to 10 do Begin Writeln (введите очередное число'); Readln(a); S: =s+a; End;
Подпрограммы в Паскале.
Подпрограммы Дибиров Магомедшапи Дибиргаджиевич. Подпрограммы принцип модульности Подпрограммы – это «блоки», из которых собирается программа. Подпрограммы.
Транксрипт:

1 ПОДПРОГРАММЫ. МАССИВЫ КАК ФОРМАЛЬНЫЕ ПАРАМЕТРЫ ПОДПРОГРАММ Лекция 3 План 1. Процедуры и функции с использованием массивов в заголовке 2. Описание подпрограмм с массивами 3. Параметры подпрограмм с массивами Лектор: профессор, д.т.н. Иванчина Эмилия Дмитриевна

2 1. Процедуры и функции с использованием массивов в заголовке Подпрограммы могут содержать массивы в качестве параметров. Глобальные параметры являются общими на все программные единицы. Локальные параметры изменяют свои значения только внутри данной программной единицы. Описание параметров в блоке VAR означает, что данная группа параметров является глобальными для входных и выходных значений. При отсутствии в заголовке служебного слова VAR значения параметров передаются внутрь процедуры, но не передаются из нее в главную программу. В тех случаях, когда параметрами процедур и функций являются массивы, необходимо размерность и размер этих массивов задавать через служебное слово TYPE. TYPE a=array[1..3,1..4] of integer; a – идентификатор типа массива Далее будут рассмотрены примеры составления процедур и функций с использованием массивов в заголовке.

3 2. Описание подпрограммы с массивами заключается в указании ее заголовка и содержания. В заголовке процедуры определяются имя и параметры, а в заголовке функции дополнительно указывается тип результата, например integer. За заголовком следует содержание подпрограммы, которое подобно главной программе состоит из блока описания и блока выполняемых операторов.

4 Заголовок подпрограммы имеет вид: FUNCTION FUN ( Y:a; var S:real):real; PROCEDURE proc (vd:b1; var md:d1); Для описания глобальных параметров использовали служебной слово var. Список формальных параметров представляется через запятую по порядку следования

5 3. Параметры подпрограмм с массивами. Процедуры используются в том случае, если подпрограмма имеет несколько результатов вычислений или результат является многомерной величиной(массивом). Описание процедуры имеет вид: Procedure (формальные параметры); label ; const ; type ; var Begin End; Процедура помещается в основной программе в разделе описаний VAR.

6 В тех случаях, когда параметрами процедур и функций являются массивы, необходимо указать размерность и размер этих массивов через служебное слово TYPE. Правило. Типом любого параметра из списка формальных параметров может быть ранее объявленный тип. TYPE a=array[1..10] of real; Procedure S(b:a); Function f(c:a):real;

7 Пример 1. Составить программу расчета массива Z(10). Расчет функции f(x) оформить в виде подпрограммы - функции. Расчет суммы - в виде подпрограммы - процедуры..

8 Program Pro1; type mas=array [1..10] of real; var x,Z:mas; c,q,S:real; function F(x:real):real; begin if x>3 then f:=1/x else f:=1+2xsqr(x) end;

9 procedure Sum(x:mas;var S:real); var i:integer; begin S:=0; for i:=1 to 10 do S:=S+sqrt(x[i]) end;

10 BEGIN readln(c,q); for i:=1 to 10 do readln(x[i]) Sum(x,S); for i:=1 to 10 do begin Z[i]:=sqr(f(x[i]))/sin(c)+sqrt(x[i])/(sqr(S)q); writeln(Z[i]:10) end; END.

11 Пример 2. Составить программу для расчета выражения.

12 Program ppp; type m=array [1..10] of real; var x,y:m;f:real; i,k:integer; function Sum(a:m; n1,n2,p:integer):real; var S:real; i:integer; begin S:=0; for i:=n1 to n2 do S:=S+exp(pln(a[i])); Sum:=S end;

13 BEGIN {Ввод массивов} for i:=1 to 8 do readln(x[i]);

14 for k:=1 to 10 do readln(y[k]); end; F:=Sum(x,3,8,2)+Sum(y,2,10,3); writeln(F=,F:10) END.

15 Пример 3. Составвить подпрограмму для определения макс. и мин. элемента матрицы program maxmin; type b1=array[1..4,1..3] of real; var i,j : integer; ymax,ymin:real; y:b1; r1,r2:text;

16 procedure mm(var x: b1; var xmax,xmin:real); var n,k:integer; begin xmax:=x[1,1];xmin:=x[1,1]; for n:=1 to 4 do for k:=1 to 3 do begin if x[n,k] <= xmin then xmin:=x[n,k]; if x[n,k] >= xmax then xmax:=x[n,k] end; end;

17 begin assign(r1,'a.dat'); reset(r1); for i:=1 to 4 do for j:=1 to 3 do read(r1,y[i,j]); assign(r2,'b.res'); rewrite(r2); mm(y,ymax,ymin); write(r2,ymax,ymin); close(r2); end.

18 Пример 4. Составить подпрограмму для расчета функции по формуле Лагранжа

19 Program lagr; TIPE a=ARRAY[1..4] OF real; Var x,y:a; i:integer;x0:real; Function lag(x,y:a,x0):real; Var I,j:integer;s,p,x0:real); BEGIN S:=0; FOR i:=1 TO 4 DO BEGIN P:=1; FOR j:=1 TO 4 DO IF i j THEN P:=P(x0-x[j])/(x[i]-x[j]); S:=S+y[i]P; lag:=S; END; Begin for i:=1 to 4 do read (x[i],y[i]);read(x0); writeln(lag(x,y,x0):5:2);end. END.