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. Написать функцию для нахождения суммы элементов вектора.