Вопрос задан 27.02.2025 в 20:55. Предмет Информатика. Спрашивает Борисович Станислав.

Дан целочисленный массив из 50 элементов. Элементы могут принимать значение от 0 до 100 000. Допишите на алгоритмическом языке программу, которая находит и выводит минимальный среди четырехзначных элементов массива, не делящихся на 7. Если таких элементов нет, то вывести -1. Запрещается использовать переменные, не описанные в приведенном фрагменте программы, но разрешается не использовать часть из них нач
целтаб а[1:50]
цел i, j, m
нц для i от 1 до 50
ввод а[i]
кц
.........

кон

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

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

Отвечает Олефир Слава.

Для решения задачи нам необходимо найти минимальное значение среди четырёхзначных чисел, которые не делятся на 7. Разберем шаги алгоритма и напишем программу, соблюдая требования.

Пояснение:

  1. Массив из 50 элементов: Мы имеем массив a, который содержит 50 целых чисел, каждое из которых может быть в пределах от 0 до 100000.

  2. Четырехзначные числа: Это числа, которые находятся в диапазоне от 1000 до 9999 включительно.

  3. Не делятся на 7: Требуется исключить числа, которые делятся на 7.

  4. Минимальное значение: Мы должны найти минимальное из всех четырёхзначных чисел, которые не делятся на 7.

  5. Результат: Если таких чисел нет, выводим -1.

Примерный алгоритм:

  1. Инициализируем переменную m, в которой будем хранить минимальное значение среди четырёхзначных чисел, не делящихся на 7. Изначально присвоим ей значение, которое будет больше всех возможных значений (например, 100001).

  2. Проходим по массиву, проверяем для каждого элемента:

    • Является ли число четырёхзначным (то есть лежит ли оно в диапазоне от 1000 до 9999).
    • Не делится ли оно на 7 (проверяется с помощью операции остатка от деления).
    • Если все условия выполняются, обновляем значение m, если текущее число меньше текущего значения m.
  3. По завершении проверки всех элементов массива выводим значение переменной m. Если значение m не изменилось, это значит, что таких чисел не было, и выводим -1.

Программа:

text
нач целтаб а[1:50] // Массив из 50 целых чисел цел i, m // Переменная для индекса и минимального значения м = 100001 // Изначальное значение для m (больше всех возможных элементов) для i от 1 до 50 // Проходим по всем элементам массива если (а[i] >= 1000 и а[i] <= 9999) и (а[i] % 7 != 0) // Четырехзначное и не делится на 7 если а[i] < м // Если текущее число меньше текущего минимального м = а[i] // Обновляем минимальное значение кц кц если м = 100001 // Если минимальное значение не изменилось, значит подходящих чисел не было вывод -1 иначе вывод м // Выводим найденное минимальное число кон

Пояснение:

  1. В начале программы инициализируем переменную м значением 100001, которое больше всех возможных значений элементов массива. Это будет служить индикатором того, что мы еще не нашли подходящего числа.

  2. В цикле для каждого элемента массива проверяем:

    • Если элемент является четырёхзначным числом (в пределах от 1000 до 9999).
    • Если элемент не делится на 7 (а[i] % 7 != 0).
  3. Если оба условия выполняются, проверяем, меньше ли текущее число, чем уже найденное минимальное. Если да, обновляем переменную м.

  4. По завершении цикла, если значение переменной м не изменилось, это значит, что таких чисел не было, и выводим -1. В противном случае выводим минимальное число.

Пример:

Для массива:

text
a = [1002, 2005, 1006, 5000, 1234, 1111, 9999]

После выполнения программы на выходе будет минимальное число, которое является четырёхзначным и не делится на 7, например, 1111.

Важные моменты:

  • Запрещается использовать дополнительные переменные, за исключением тех, что указаны в программе.
  • В цикле по массиву проверяем только те числа, которые соответствуют условиям задачи: четырёхзначные и не делятся на 7.

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

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

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

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