Как можно составить фрагмент программы для решения следующих задач с массивом из 30 элементов, заполненным с клавиатуры?
Информатика 11 класс Работа с массивами и подпрограммами программа на информатике массив из 30 элементов четные числа среднее арифметическое Двузначные числа кратные 3 наибольшая длина цепочки удаление элемента массива второй максимум массива
Вот фрагмент программы на языке Python для решения указанных задач:
def is_even(num):
return num % 2 == 0
# 1. Найти количество четных чисел
def count_even_numbers(arr):
count = 0
for num in arr:
if is_even(num):
count += 1
return count
# 2. Найти среднее арифметическое двузначных чисел, кратных 3, но не кратных 9
def average_of_special_numbers(arr):
special_numbers = [num for num in arr if 10 <= num < 100 and num % 3 == 0 and num % 9 != 0]
if not special_numbers:
return -1
return sum(special_numbers) / len(special_numbers)
# 3. Определить наибольшую длину цепочки четных элементов
def max_even_chain_length(arr):
max_length = 0
current_length = 0
for num in arr:
if is_even(num):
current_length += 1
max_length = max(max_length, current_length)
else:
current_length = 0
return max_length
# 4. Удалить элемент массива и сдвинуть оставшиеся элементы
def remove_element(arr, value):
arr.remove(value)
return arr
# 5. Вывести на экран второй максимум массива
def second_maximum(arr):
unique_sorted = sorted(set(arr), reverse=True)
return unique_sorted[1] if len(unique_sorted) > 1 else None
# Пример использования
array = [int(input("Введите элемент массива: ")) for _ in range(30)]
print("Количество четных чисел:", count_even_numbers(array))
print("Среднее арифметическое:", average_of_special_numbers(array))
print("Наибольшая длина цепочки четных элементов:", max_even_chain_length(array))
value_to_remove = int(input("Введите элемент для удаления: "))
print("Массив после удаления:", remove_element(array, value_to_remove))
print("Второй максимум массива:", second_maximum(array))
Для решения поставленных задач с массивом из 30 элементов, заполненным с клавиатуры, мы можем использовать язык программирования Python. Давайте рассмотрим каждую задачу по отдельности и составим фрагменты программы для каждой из них.
1. Найти количество четных чисел, используя подпрограмму для проверки.
Для этой задачи мы создадим подпрограмму, которая будет проверять, является ли число четным. Затем мы пройдем по массиву и будем использовать эту подпрограмму для подсчета четных чисел.
def is_even(num): return num % 2 == 0 arr = [] for i in range(30): arr.append(int(input("Введите элемент массива: "))) even_count = sum(1 for num in arr if is_even(num)) print("Количество четных чисел:", even_count)
2. Найти среднее арифметическое двузначных чисел, кратных 3, но не кратных 9.
Здесь мы будем искать двузначные числа, проверять их на кратность 3 и 9, а затем вычислять среднее арифметическое.
arr = [] for i in range(30): arr.append(int(input("Введите элемент массива: "))) sum_numbers = 0 count = 0 for num in arr: if 10 <= num <= 99 and num % 3 == 0 and num % 9 != 0: sum_numbers += num count += 1 if count > 0: average = sum_numbers / count print("Среднее арифметическое:", average) else: print(-1)
3. Определить наибольшую длину цепочки четных элементов массива.
Здесь мы будем проходить по массиву и подсчитывать длину последовательностей четных чисел, запоминая максимальную длину.
arr = [] for i in range(30): arr.append(int(input("Введите элемент массива: "))) max_chain_length = 0 current_chain_length = 0 for num in arr: if is_even(num): current_chain_length += 1 max_chain_length = max(max_chain_length, current_chain_length) else: current_chain_length = 0 print("Наибольшая длина цепочки четных элементов:", max_chain_length)
4. Удалить элемент массива, введенный с клавиатуры, и сдвинуть оставшиеся элементы.
Для этой задачи мы будем запрашивать элемент, который нужно удалить, и затем сдвинем элементы массива.
arr = [] for i in range(30): arr.append(int(input("Введите элемент массива: "))) element_to_remove = int(input("Введите элемент для удаления: ")) if element_to_remove in arr: arr.remove(element_to_remove) print("Массив после удаления элемента:", arr)
5. Вывести на экран второй максимум массива.
Для этой задачи мы будем находить два максимальных значения в массиве и выводить второе максимальное.
arr = [] for i in range(30): arr.append(int(input("Введите элемент массива: "))) first_max = second_max = float('-inf') for num in arr: if num > first_max: second_max = first_max first_max = num elif first_max > num > second_max: second_max = num if second_max == float('-inf'): print("Второго максимума нет") else: print("Второй максимум массива:", second_max)
Таким образом, мы рассмотрели все задачи и составили фрагменты программы для их решения. Вы можете использовать эти примеры как основу для реализации в вашем проекте.