
Решить на Паскале. Для массива T(m) найти число элементов, больших предыдущего элемента, а для
тех, которые меньше, найти их среднее арифметическое.

Ответы на вопрос

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



Для решения данной задачи на Паскале, вам потребуется написать программу, которая будет выполнять следующие шаги:
1. Объявить массив T(m) и заполнить его значениями. 2. Создать переменные для подсчета количества элементов, больших предыдущего элемента, и для подсчета суммы элементов, меньших предыдущего элемента. 3. Пройти по всем элементам массива T(m) и сравнить каждый элемент с предыдущим. 4. Если текущий элемент больше предыдущего, увеличить счетчик элементов, больших предыдущего элемента, на 1. 5. Если текущий элемент меньше предыдущего, добавить его значение к сумме элементов, меньших предыдущего элемента. 6. После завершения цикла, вычислить среднее арифметическое для элементов, меньших предыдущего, разделив сумму на количество таких элементов. 7. Вывести результаты на экран.
Вот пример кода на Паскале, решающего данную задачу:
```pascal program ArrayAnalysis;
const m = 10; // размер массива
var T: array[1..m] of Integer; i, countGreater, countLess: Integer; sumLess, averageLess: Real;
begin // Заполнение массива T(m) значениями T[1] := 5; T[2] := 3; T[3] := 7; T[4] := 2; T[5] := 9; T[6] := 4; T[7] := 6; T[8] := 1; T[9] := 8; T[10] := 5;
countGreater := 0; countLess := 0; sumLess := 0;
// Подсчет количества элементов, больших предыдущего, и суммы элементов, меньших предыдущего for i := 2 to m do begin if T[i] > T[i-1] then countGreater := countGreater + 1 else if T[i] < T[i-1] then begin countLess := countLess + 1; sumLess := sumLess + T[i]; end; end;
// Вычисление среднего арифметического для элементов, меньших предыдущего if countLess > 0 then averageLess := sumLess / countLess else averageLess := 0;
// Вывод результатов writeln('Количество элементов, больших предыдущего: ', countGreater); writeln('Среднее арифметическое элементов, меньших предыдущего: ', averageLess);
end. ```
Пожалуйста, обратите внимание, что в данном примере массив T(m) заполняется значениями вручную. Вам необходимо заменить эти значения на свои собственные или использовать другой способ заполнения массива.
Примечание: Предоставленный код на Паскале является примером решения задачи и может быть адаптирован под ваши конкретные требования.


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili