Class09:


Процедуры и функции

1. Найдите ошибки в описании процедур и функций:
procedure zero(a : array[1..10] of integer);
var i : integer;
begin
for i:=1 to n do a[i] := 0;
end;

function g(k : integer) : 0 .. maxint;
var i, s : 0..maxint;
begin
s:=0;
for i:=1 to k do s:=s+sqr(i)
end;

function h(x : integer) : integer;
begin
h(x):=(sqr(x)+x)/2
end;

function m(x : integer) : integer;
var i:integer;
begin
m:=0;
for i:=1 to 10 do m:=m+x*x;
end;

2. Допишите следующую програму, реализовав используемые в ней процедуры. Программа считает поэлементную сумму двух векторов.

const n=5;
type vector=array[1..n] of integer;
{ Реализация процедур :
ReadVector(var a:vector) - ввод вектора.
WriteVector(a:vector) - вывод вектора.
Sum(a,b:vector; var s:vector) - поэлементное суммирование векторов,s[i] := a[i] + b[i]. }
{ Основная программа }
var a, b, s : vector;
begin
ReadVector(a);
ReadVector(b);
Sum(a,b,s);
WriteVector(a);
WriteVector(b);
WriteVector(s);
end.

3. Написать функцию для нахождения максимального элемента вектора.

4. Написать функцию для нахождения суммы элементов вектора.