//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016) const m = 10;
var t: array[1..m] of integer; i, n, nm, sm: integer;
begin //Заполняем массив сл.числами и подсчитываем //количество элементов и среднее арифметическое //согласно условию задачи for i := 1 to m do begin t[i] := random(-20, 20);write(t[i]:4); if (i > 1) and (i <= m) then if t[i] > t[i - 1] then n := n + 1 else if t[i] < t[i - 1] then begin sm := sm + t[i];nm := nm + 1; end; end; writeln; writeln('число элементов больших предыдущего = ', n); writeln('ср. арифметическое элементов меньших предыдущего = ', sm / nm);
находит и возвращает (помещает на своё место) наибольшее значение в массиве (наборе чисел);
2. ПОИСКПОЗ(запрос; диапазон; [метод поиска])
возвращает относительное положение значения (грубо говоря, его порядковый номер) в диапазоне.
Разберём поподробней:
"запрос" - искомое значение. Мы на месте запроса ставим функцию "МАКС", т.е. получается, что мы ищем максимальное значение (глубина озера или длина реки);"диапазон" - диапазон, состоящий из одной строки или одного столбца (или части строки или столбца, как в нашем случае), в котором функция ищет искомое значение (запрос). У нас этот диапазон совпадает с массивом в котором мы нашли максимальное значение;"метод поиска" поиска. Мы берём значение "0", при котором функция ищет точное совпадение с "запросом". Стоит отметить, что если в диапазоне будет несколько значений совпадающих с запросом, то функция найдёт только первое. Но в нашем случае это не мешает.
В итоге данная функция нашла для нас, что река/озеро с максимальной протяжённостью/глубиной находиться на N-ном месте в нашем списке.
3. ИНДЕКС(массив; строка; столбец)
Возвращает содержимое ячейки, находящейся на пересечении указанной строки и столбца в массиве. Аргументы строка и столбец необязательные. Если массив состоит из одной строки, то указывается только столбец и наоборот.
Разберём подробней:
"массив" - фрагмент таблицы, в котором будет производиться поиск. У нас это названия озёр/рек;"строка" - номер строки внутри массива сюда. У нас на этом место встаёт число N, возвращённое функцией "ПОИСКПОЗ"; "столбец" - номер столбца внутри массива. Наш массив состоит из одного столбца (название озера/реки), так что "столбец" мы не указываем.
Получается, эта функция выводит название озера/реки, которое стоит на N-ном месте в нашем списке.
Мы на месте утверждения пишем: "организация выплатила больше 70%". Чтобы найти, сколько процентов долга выплатила организация, нужно умножить выплаченную сумму на 100 и произведение поделить на общую сумму кредита. Если наше утверждение истинно, функция умножает задолженность на 0,10, т.е. выводит в графу штрафа 10% от задолженности. Если же утверждение ложно, умножает на 0.15, и получается штраф 15%.
Она нам найти среднее значение штрафов только бюджетных организаций.
Разберёмся:
"диапазон критерия " - диапазон в котором значения проверяются на соответствие критерию. У нас - колонка определяющая, бюджетная организация или нет"критерий" - наш критерий - учитываются только бюджетные организации, т.е. из "диапазона критерия" мы берём только значения "да" (бюджетная)."усредняемый диапазон" - диапазон, из которого функция подбирает подходящие значения для нахождения среднего. У нас это колонка штрафов.Примечания:В задании 2.3 сделал две таблицы: одна с реками Европы, а другая только с раками европейской части России. Не понял, как всё это должно выглядеть, так что простить, если неверно)В задании 3 не понятно, что за бюджетные организации. Сделал дополнительную колонку в таблице. Если что, подкорректируйте. Все необходимые формулы есть.
const
m = 10;
var
t: array[1..m] of integer;
i, n, nm, sm: integer;
begin
//Заполняем массив сл.числами и подсчитываем
//количество элементов и среднее арифметическое
//согласно условию задачи
for i := 1 to m do
begin
t[i] := random(-20, 20);write(t[i]:4);
if (i > 1) and (i <= m) then
if t[i] > t[i - 1] then n := n + 1
else if t[i] < t[i - 1] then begin
sm := sm + t[i];nm := nm + 1;
end;
end;
writeln;
writeln('число элементов больших предыдущего = ', n);
writeln('ср. арифметическое элементов меньших предыдущего = ', sm / nm);
end.
Тестовое решение:
6 13 19 8 -19 -11 -20 -15 -19 -13
число элементов, больших предыдущего = 5
среднее арифметическое элементов, меньших предыдущего = -12.5
Разберу только самое сложное.
В задании 2 основная используемая формула:
=ИНДЕКС([массив 1]; ПОИСКПОЗ(МАКС(массив 2); [массив 2]; 0))
Разберёмся, как она работает.
Состоит из следующих формул:
1. МАКС(массив)
находит и возвращает (помещает на своё место) наибольшее значение в массиве (наборе чисел);
2. ПОИСКПОЗ(запрос; диапазон; [метод поиска])
возвращает относительное положение значения (грубо говоря, его порядковый номер) в диапазоне.
Разберём поподробней:
"запрос" - искомое значение. Мы на месте запроса ставим функцию "МАКС", т.е. получается, что мы ищем максимальное значение (глубина озера или длина реки);"диапазон" - диапазон, состоящий из одной строки или одного столбца (или части строки или столбца, как в нашем случае), в котором функция ищет искомое значение (запрос). У нас этот диапазон совпадает с массивом в котором мы нашли максимальное значение;"метод поиска" поиска. Мы берём значение "0", при котором функция ищет точное совпадение с "запросом". Стоит отметить, что если в диапазоне будет несколько значений совпадающих с запросом, то функция найдёт только первое. Но в нашем случае это не мешает.В итоге данная функция нашла для нас, что река/озеро с максимальной протяжённостью/глубиной находиться на N-ном месте в нашем списке.
3. ИНДЕКС(массив; строка; столбец)
Возвращает содержимое ячейки, находящейся на пересечении указанной строки и столбца в массиве. Аргументы строка и столбец необязательные. Если массив состоит из одной строки, то указывается только столбец и наоборот.
Разберём подробней:
"массив" - фрагмент таблицы, в котором будет производиться поиск. У нас это названия озёр/рек;"строка" - номер строки внутри массива сюда. У нас на этом место встаёт число N, возвращённое функцией "ПОИСКПОЗ"; "столбец" - номер столбца внутри массива. Наш массив состоит из одного столбца (название озера/реки), так что "столбец" мы не указываем.Получается, эта функция выводит название озера/реки, которое стоит на N-ном месте в нашем списке.
В задании 3 основная формула:
=ЕСЛИ([утверждение]; [если утверждение истинно, выводит это]; [Если утверждение ложно, выводит это])
Мы на месте утверждения пишем: "организация выплатила больше 70%". Чтобы найти, сколько процентов долга выплатила организация, нужно умножить выплаченную сумму на 100 и произведение поделить на общую сумму кредита. Если наше утверждение истинно, функция умножает задолженность на 0,10, т.е. выводит в графу штрафа 10% от задолженности. Если же утверждение ложно, умножает на 0.15, и получается штраф 15%.
Так же в задании 3 используется формула:
=СРЗНАЧЕСЛИ([диапазон критерия]; [критерий]; [усредняемый_диапазон])
Она нам найти среднее значение штрафов только бюджетных организаций.
Разберёмся:
"диапазон критерия " - диапазон в котором значения проверяются на соответствие критерию. У нас - колонка определяющая, бюджетная организация или нет"критерий" - наш критерий - учитываются только бюджетные организации, т.е. из "диапазона критерия" мы берём только значения "да" (бюджетная)."усредняемый диапазон" - диапазон, из которого функция подбирает подходящие значения для нахождения среднего. У нас это колонка штрафов.Примечания:В задании 2.3 сделал две таблицы: одна с реками Европы, а другая только с раками европейской части России. Не понял, как всё это должно выглядеть, так что простить, если неверно)В задании 3 не понятно, что за бюджетные организации. Сделал дополнительную колонку в таблице. Если что, подкорректируйте. Все необходимые формулы есть.