Дана Программа на Языке Паскаль Program A2

Часто в программе обнаруживаются однотипные участки, которые выполняют одни и те же вычисления, но с различными данными. Такие части программы целесообразно оформлять в виде подпрограмм. В языке Pascal существует два вида подпрограмм: процедуры и функции. Перед выполнением данной работы необходимо изучить правила описания процедур и функций, механизм передачи параметров, ознакомиться с понятием локальной и глобальной переменной.
Контрольные вопросы
- Для чего нужны в программе процедуры и функции?
- В чем отличие между процедурой и функцией?
- Чем отличаются формальные и фактические параметры?
- Чем отличаются параметры-значения и параметры-переменные?
- Как объявляются глобальные и локальные переменные? Каково правило видимости этих переменных?
- Почему при обращении к процедуре, аргумент, передаваемый параметру-переменной, может быть только переменной, а не константой или выражением?
Пример
Пример1. Найти сумму положительных элементов в массиве.Этапы решения задачи:
- Алгоритм решения довольно прост - в цикле будем "пробегать" массив, сравнивая его ячейки с 0 и суммировать, если они >0.
- Составим блок-схему программы
Уточним из каких блоков состоит блок"Суммирование положительных ячеек"
Содержание этих блоков простое, поэтому не стоит их уточнять. - Напишем программу на языке Паскаль
program example; type Tarray = array[1..100] of integer; Var v: Tarray; N, i, s:integer; Procedure vvod_data(var m:Tarray;n:integer); Var i:integer; Begin Writeln('Введите ', n, ' чисел через пробел'); For i:= 1 to n do read(m[i]); End; Function summ(m:TArray):integer; Var s:integer; Begin S:=0; For i:= 1 to n do if m[i]>0 then s:= s+m[i]; Summ:=s; End; begin write('Введите размерность массива N= '); readln(n); vvod_Data(v, n); s:= summ(v); writeln('Сумма= ', s); end.