Вопрос задан 13.03.2025 в 17:43. Предмет Информатика. Спрашивает Лепечева Аня.

Дан целочисленный массив
из 30 элементов. Элементы массива могут принимать значения от
–1000 до 1000. Опишите на русском
языке и на языке программирования
Паскаль алгоритм, который находит и выводит среднее арифметическое всех
элементов массива, оканчивающихся цифрой 5. Гарантируется, что хотя бы один
такое элемент в массиве есть.


Исходные данные объявлены так, как показано ниже.




Паскаль


Естественный язык





const N=30;
var a: array
[1..N] of integer;

i, x, y: integer;


s: real;


begin

for i:=1 to N do readln(a[i]);

...
end.



Объявляем массив A из 30 элементов.
Объявляем целочисленные переменные i, x, y и вещественную
переменную s. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й.

...




В
качестве ответа вам необходимо привести описание алгоритма на естественном
языке или в виде блок-схемы и фрагмент программы, который должен находиться на
месте многоточия.

Перейти к ответам

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

Отвечает Danilech Masha.

Описание алгоритма на естественном языке

  1. Объявление переменных:
    Объявляем массив a из 30 элементов. Переменные i и x будут целочисленными, а переменная s — вещественной. Переменная x будет служить счетчиком чисел, оканчивающихся на 5, а переменная s будет хранить сумму таких чисел.

  2. Ввод данных:
    С помощью цикла от 1 до 30 заполняем массив a значениями, которые вводятся с клавиатуры.

  3. Инициализация переменных:
    Перед началом обработки элементов массива переменным x и s присваиваем значения 0.

  4. Поиск чисел, оканчивающихся на 5:
    В новом цикле от 1 до 30 проверяем каждый элемент массива. Если число оканчивается на цифру 5 (остаток от деления на 10 равен 5 или -5 для отрицательных чисел), добавляем это число к переменной s и увеличиваем счетчик x на 1.

  5. Вычисление среднего арифметического:
    После завершения цикла делим сумму s на количество чисел x и записываем результат в переменную s.

  6. Вывод результата:
    Выводим среднее арифметическое s на экран.


Код на языке программирования Паскаль

pascal
const N = 30; var a: array[1..N] of integer; i, x: integer; s: real; begin // Ввод элементов массива for i := 1 to N do readln(a[i]);

// Инициализация переменных x := 0; s := 0;

// Обработка массива for i := 1 to N do begin if (a[i] mod 10 = 5) or (a[i] mod 10 = -5) then begin s := s + a[i]; x := x + 1; end; end;

// Вычисление среднего арифметического s := s / x;

// Вывод результата writeln('Среднее арифметическое: ', s:0:2); end.


Пояснения к коду

  1. Проверка остатка:
    Используем оператор mod для нахождения последней цифры числа. Проверяем как положительные, так и отрицательные числа, потому что -15 также оканчивается на цифру 5.

  2. Формат вывода:
    Среднее арифметическое выводится с точностью до двух знаков после запятой с помощью формата s:0:2.

  3. Корректная инициализация:
    Инициализация переменных x и s перед началом цикла гарантирует правильность подсчета.

  4. Обработка массива:
    Если условие остатка выполняется, число добавляется к s, а счетчик x увеличивается. Это важно для корректного подсчета среднего арифметического.

Такой алгоритм гарантирует корректную работу, так как массив гарантированно содержит хотя бы одно число, оканчивающееся на 5.

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос