1. Складіть програму,яка міняє місцями перший і найбільший елементи послідовності з 10 чисел.
2. Дано 20 дійсних чисел. Складіть програму для визначення, скільки з них більші за своїх "сусідів", тобто за попереднє та наступне числа.
3. У фігурному катанні загальна оцінка якості виконання елемента обчислюється за такими правилами: відкидаються найвища і найнижча оцінки, а з решти обчислюється середнє арифметичне. Складіть програму для визначення оцінки за цими правилами.
Объяснение:
) Анализируем программу и определяем назначение каждой из переменных в ней:
N – определяет, какая часть массива Dat реально используется в вычислениях (из него используются элементы с индексами от 1 до N, то есть пять первых элементов);
S – используется для накопления суммы этих элементов массива;
m – изначально равно нулю, а затем переприсваивается – в нее заносится значение элемента массива, если этот элемент больше, чем текущее значение m. Это – типичный алгоритм поиска максимума. Значит, в m определяется (и в конце работы программы выводится на экран) максимальное значение среди обрабатываемых N элементов массива. 2) Итак, из пяти значений массива максимальное равно 10. Каким может быть наибольшее возможное значение суммы этих элементов?
Очевидно, сумма будет наибольшей, если каждое из слагаемых (элементов массива) будет возможно наибольшим. А наибольшее возможное значение элемента массива уже определено: оно равно 10. Если каждый элемент этой части массива будет равен 10, то вычисленный максимум будет равен 10. (Если какие-то элементы массива меньше 10, то это не даст максимально возможную сумму. Если же какие-то элементы массива больше 10, то максимум был бы равен уже не 10, а этому большему значению.)
3) Итак, заданному условию соответствует случай, когда каждый из обрабатываемых пяти элементов массива равен 10. Тогда их сумма (максимально возможная) будет равна 5*10 = 50.
ответ: 50.
1 нравится комментирова
Поскольку среднее всех введенных чисел нельзя найти, пока не будет закончен ввод этих чисел, а затем каждое число нужно будет сравнивать с этим средним, введенные числа придется где-то хранить. Например, в массиве длиной 100 (в условии сказано, что количество чисел "до 100").
Считаем, что описан массив a[1..100] и в нем находятся n≤100 целых чисел (можно и нецелых, но раз ничего не сказано в условии, мы вправе решить это сами).
Тогда среднее определится по формуле:
а сумму мы умеем считать, накапливая значение в цикле со счетчиком, дающем проход по всем элементам массива.
Искомое количество чисел, меньших среднего - это тоже сумма, найти которую позволит еще один цикл, но в нем уже будет анализ условия.
2. Программа на языке Pascal
const
nn=100;
var
i,n,k,s:integer;
m:real;
a:array[1..nn] of integer;
begin
Write('Количество чисел равно '); Read(n);
Writeln('Введите числа:');
s:=0;
for i:=1 to n do begin Read(a[i]); s:=s+a[i] end;
m:=s/n;
k:=0;
for i:=1 to n do
if a[i]<m then Inc(k);
Writeln('Количество чисел, превышающих среднее значение, равно ',k)
end.
3. Пример работы программы
Количество чисел равно 10
Введите числа:
6 -4 11 -7 5 7 0 3 5 -2
Количество чисел, превышающих среднее значение, равно 4