1_SEMESTR_1 / Материалы к сессии (лектор Бобкова В.А.) / Учебник по информатике (курс лекций) / 6. Основы программирования на Паскале / 6.8.5. Задача 5
.rtfЗадача 5.
Даны натуральные числа n, m и целые числа a1, ... , an, b1, ... , bm. Получить
1+ (max (a1, ... , an))2 + (max (b1, ... , bm))2.
Написать программу с использованием подпрограммы.
Программа
Program zadacha_5;
type
mas=array [1..100] of integer;
var
n,m :word; {данные натуральные числа }
a,b :mas; {данные массивы целых чисел}
i :word; {счетчик цикла}
s :integer;{искомая величина}
function max(c:mas;k:integer):integer;
var maxi:integer;
begin
maxi:=c[1];
for i:=1 to k do if c[i]>maxi then maxi:=c[i];
max:=maxi;
end;
begin
write(‘n=’); readln(n);
for i:=1 to n do
begin
write(‘a[‘,i:3,’]=’); readln(a[i]);
end;
write(‘m=’); readln(m);
for i:=1 to m do
begin
write(‘b[‘,i:3,’]=’); readln(b[i]);
end;
s:=1+sqr(max(a,n))+sqr(max(b,m));
writeln(‘Искомая величина=’, s:10);
end.
Пример расчета
n = 5
a [ 1 ] = 2
a [ 2 ] = -6
a [ 3 ] = 10
a [ 4 ] = -15
a [ 5 ] = 8
m = 6
b [ 1 ] = -3
b [ 2 ] = -100
b [ 3 ] = 25
b [ 4 ] = 13
b [ 5 ] = 7
b [ 6 ] = 1
Искомая величина = 725