Вычислить среднее арифметическое элементов массива, имеющих четные индексы - Free Pascal
Формулировка задачи:
Дано: массив Q(13). Вычислить среднее арифметическое элементов, имеющих четные индексы, и среднее арифметическое элементов, имеющих нечетные индексы. Вычисление среднего арифметического заданных элементов массива оформить в виде подпрограммы.
Решение задачи: «Вычислить среднее арифметическое элементов массива, имеющих четные индексы»
textual
Листинг программы
const n=13;
type
ar=array[1..n] of real;
var
q:ar;
i:integer;
function Sr(a:ar;o:boolean):real;
var
i,j:integer;
s:real;
begin
j:=0;
s:=0.0;
for i:=1 to n do if odd(i)=o then
begin
s:=s+a[i];
j:=j+1;
end;
Sr:=s/j;
end;
begin
write('Введите массив:');
for i:=1 to n do read(q[i]);
writeln('<Sчетных>=',Sr(q,false):0:2);
writeln('<Sнечетных>=',Sr(q,true):0:2);
end.
Объяснение кода листинга программы
- Объявлен константный целочисленный параметр
nсо значением 13. - Объявлен тип
ar, который представляет собой массив действительных чисел, размером от 1 доn. - Объявлена переменная
qтипаar, которая будет представлять входной массив. - Объявлена переменная
iтипаinteger, которая будет использоваться как счетчик в цикле. - Объявлена функция
Srс двумя параметрами типаarиboolean. - Внутри функции
Srобъявлены две переменныеiиjтипаinteger, а также переменнаяsтипаreal. - Переменная
jинициализируется значением 0. - Переменная
sинициализируется значением 0.0. - В цикле от 1 до
nпроисходит проверка, является ли индекс четным (еслиoравноfalse) или нечетным (еслиoравноtrue). - Если индекс является четным, то значение элемента массива добавляется к переменной
s, а переменнаяjувеличивается на 1. - После завершения цикла, функция возвращает значение переменной
s, деленное на значение переменнойj. - После объявления функции
Sr, запрашивается у пользователя ввод массива. - В цикле от 1 до
nпроисходит запрос на ввод значения элемента массива. - Выводится значение функции
Srдля массива с четными индексами. - Выводится значение функции
Srдля массива с нечетными индексами. - Программа завершается.