В задачах анализа массив уже задан, и требуется найти какие-то его характеристики. Наиболее типичные базовые задачи анализа — нахождение суммы элементов массива, подсчет количества элементов, обладающих заданным свойством, определение минимального и максимального элементов.
В предлагаемой классификации определение максимума и минимума, относятся к задачам анализа, так как максимальный элемент является характеристикой массива в целом. Поиск здесь ведется по относительному признаку (больше других), и опознать элемент как максимальный можно только просмотрев весь массив.
В предлагаемой классификации определение максимума и минимума, относятся к задачам анализа, так как максимальный элемент является характеристикой массива в целом. Поиск здесь ведется по относительному признаку (больше других), и опознать элемент как максимальный можно только просмотрев весь массив.
К основным задачам подсчёта относятся задачи на нахождение суммы, произведения элементов массива, а также, задачи на нахождение количества элементов, удовлетворяющих определенным условиям. При решении данных задач необходимо использовать следующие действия:
Название |
Действие до цикла
| Действие в цикле | Действия после цикла |
сумма | s: = 0; | s: = s + a [ i ] | write ('s=',s); |
произведение | p:= 1 ; | p: = p * a [ i ] | write ('p=',p); |
количество | k: = 0; | if условие then k: = k + 1 | write ('k=',k); |
Задача 1. Составить программу нахождения суммы и произведения всех элементов одномерного массива.(.pas)
Исходные данные: массив x, содержащий n вещественных чисел.
Результат: сумма s и произведение p всех элементов массива.
Метод решения:
- начиная с нулевого значения суммы, добавляем поочередно новый элемент ряда и находим значение искомой суммы;
- начиная с начального, единичного произведения, находим искомое произведение, умножая текущее значение произведения на очередной элемент ряда.
Результат: сумма s и произведение p всех элементов массива.
Метод решения:
- начиная с нулевого значения суммы, добавляем поочередно новый элемент ряда и находим значение искомой суммы;
- начиная с начального, единичного произведения, находим искомое произведение, умножая текущее значение произведения на очередной элемент ряда.
program SPMas; var x: array [1..100] of real; n, i: integer; s, p: real; begin cls; writeln ('Введите размерность массива :'); readln (n); {инициализируем s} s:=0; {инициализируем p} p:=1; writeln ('Введите элементы массива:'); for i:=1 to n do begin write ('x[',i,']='); readln (x[i]); {вычисляем сумму} s:=s+x[i]; {вычисляем произведение} p:=p*x[i]; end; writeln ('Полученная сумма равна ', s); writeln ('Полученное произведение равно ', p); end. |
Задача 2. Составить программу нахождения количества элементов целочисленного массива с нечетными индексами, запись которых оканчивается на 5. (.pas)
Исходные данные: массив a, содержащий n целых чисел.
Результат: k - количество элементов массива, запись которых оканчивается на 5 и имеющих нечетные индексы.
Метод решения:
- в цикле: вводим элемент массива, если он удовлетворяют условию задачи, то значение переменной k увеличиваем на 1, затем вводим следующий элемент.
- выводим k.
Результат: k - количество элементов массива, запись которых оканчивается на 5 и имеющих нечетные индексы.
Метод решения:
- в цикле: вводим элемент массива, если он удовлетворяют условию задачи, то значение переменной k увеличиваем на 1, затем вводим следующий элемент.
- выводим k.
program kol; const n=30; {Описываем массив} var a: array [1..n] of integer; k,i: integer; begin cls; {инициализируем k} k:=0; for i:=1 to n do begin {Вводим элемент массива} read (a[i]); {Проверяем} if (a[i] mod 10=5) and (i mod 2<>0) then k:=k+1; end; writeln(k); end. |
Задача 3. Найти среднее арифметическое всех элементов массива.(.pas)
Исходные данные: массив x, содержащий n вещественных чисел.
Результат: sr - среднее арифметическое всех элементов массива.
Метод решения:
- начиная с нулевого значения суммы sum, добавляем поочередно новый элемент ряда и находим значение суммы всех элементов массива;
Результат: sr - среднее арифметическое всех элементов массива.
Метод решения:
- начиная с нулевого значения суммы sum, добавляем поочередно новый элемент ряда и находим значение суммы всех элементов массива;
- среднее арифметическое sr находим делением sum на n.
program SPMas; var x: array [1..100] of real; n, i: integer; sum, sr: real; begin writeln ('Введите размерность массива :'); readln (n); {инициализируем s} sum:=0; {инициализируем sr} sr:=0; writeln ('Введите элементы массива:'); for i:=1 to n do begin write ('x[',i,']='); readln (x[i]); {вычисляем сумму} sum:=sum+x[i]; end; sr:=sum/n; writeln ('среднее арифметическое равно ', sr); end. |
Комментариев нет:
Отправить комментарий