Решение на Python задач на программирование из демо егэ

4 сентября 2019 - Администратор

Решение на python задач с номером 25 из демо вариантов егэ по информатике 

Решение на Python задачи 25 на программирование из демоверсии егэ по информатике за 2019 год

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 10 000 включительно. Опишите  на одном из языков программирования алгоритм, который находит минимум среди элементов массива, не делящихся нацело на 6, а затем заменяет каждый элемент, не делящийся нацело на 6, на число, равное найденному минимуму. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки. Например, для исходного массива из шести элементов:  14  6  11  18  9  24  программа должна вывести следующий массив   9 6 9 18 9 24
Организуем ввод массива заданной длины с клавиатуры. Подробно о работе с массивами в Python
a = []
n=30
for i in range(0, n):
    a.append(int(input()))

Введем переменную для определения минимума для числа не делящегося на 6, вначале программы присвоим ей  максимально возможное значение  
min=10000
В цикле for переберем все элементы массива. С помощью оператора условия If определим делится ли данный элемента на 6 (чтобы элемент не делился на 6 необходимо выполнение условии a[i]%6!=0 )и является ли он меньше текущего минимума(a[i]<min). Если данное двойное условие выполняется, то текущему минимуму  присваиваем значение данного элемента массива (min=a[i]). Чтобы двойное условие в If выполнялось необходимо использовать логическую операцию and
min=10000
for i in range(0, n):
    if a[i]%6!=0 and a[i]<min:
       min=a[i]

Чтобы заменить все элементы массива не кратные 6 на найденный минимум в новом цикле for перебираем все элементы массива и с помощью оператора If проверяем не делится ли на 6 данный элемент, если делится то заменяем его на min,  в этом же цикле и выводим на экран элементы массива
for i in range(0, n):
    if a[i]%6!=0:
       a[i]=min
    print(a[i])

Полная программа на python для задачи 25 из демо версии егэ по информатике за 2019 год
a = []
n=30
for i in range(0, n):
    a.append(int(input()))
min=10000
for i in range(0, n):
    if a[i]%6!=0 and a[i]<min:
       min=a[i] 
for i in range(0, n):
    if a[i]%6!=0:
       a[i]=min
    print(a[i])


 

 Решение на Python задачи 25 на программирование  из демоверсии егэ по информатике за 2018 год

 

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит количество элементов массива, больших 100 и при этом кратных 5, а затем заменяет каждый такой элемент на число, равное найденному количеству. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести измененный массив, каждый элемент массива выводится с новой строчки.  Например, для  массива из шести элементов: 4 115 7 195 25 106 программа должна вывести числа 4 2 7 2 25 106
Организуем ввод массива заданной длины с клавиатуры
a = []
n=30
for i in range(0, n):
    a.append(int(input()))

Введем переменную k  в которую будем записывать  количество элементов массива  делящихся на 5 и которые больше 100. Изначально k=0
В цикле for переберем все элементы массива. С помощью оператора условия If определим делится ли данный элемента на 5(чтобы элемент делился на 5, необходимо выполнение условия a[i]%5==0 )и больше ли данный элемент 100 (a[i]>100) Чтобы выполнялись оба условия одновременно , необходимо использовать в условном операторе if логическую операцию and. Если оба условия выполняются, то увеличиваем количество счетчик элементов на 1 (k=k+1)
k=0
for i in range(0, n):
    if (a[i]%5==0 and a[i]>100):
       k=k+1

Чтобы заменить все элементы массива кратные 5 на определенное количество k ,в новом цикле for перебираем все элементы массива и с помощью оператора If проверяем,  чтобы данный элемент массива делился на 5 и был больше 100. Если оба условия выполняются, то  заменяем данный элемент массива на k.
for i in range(0, n):
    if (a[i]%5==0 and a[i]>100):
       a[i]=k
    print(a[i])

Полная программа на python для задачи 25 из демо версии егэ по информатике за 2018 год
a = []
n=30
for i in range(0, n):
    a.append(int(input()))
k=0
for i in range(0, n):
    if (a[i]%5==0 and a[i]>100):
       k=k+1
for i in range(0, n):
    if (a[i]%5==0 and a[i]>100):
       a[i]=k
    print(a[i])

Решение на Python задачи 25 на программирование  из демоверсии егэ по информатике за 2017 год
Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых десятичная запись хотя бы одного числа оканчивается на 2. В данной задаче под парой подразумевается два подряд идущих элемента массива. Например, для массива из пяти элементов: 16 3 142 55 22 – ответ: 3.
Организуем стандартный ввод массива заданной длины с клавиатуры в python
a = []
n=40
for i in range(0, n):
    a.append(int(input()))

Введем переменную k - счетчик  нужных нам пар элементов массива
В цикле for в диапазоне от 1 до n-1 будем перебирать пары элементов массива . Пара соседних элементов это a[i] и a[i+1] 
Чтобы получить последнюю цифру в десятичной записи числа нужно найти остаток от деления на 10 данного числа. В python для определения остатка числа используется операция %
последняя цифра числа=число % 10
Нам необходимо проверить для каждой пары элементов массива оканчивается ли хотя бы одно число из пары на 2. Чтобы проверить выполнение хотя бы одного условия в операторе if, используется логическая операция or (ИЛИ). Если хотя бы одно условие выполняется, то увеличиваем счетчик пар на 1
k=0
for i in range(1, n-1):
    if (a[i]%10==2 or a[i+1]%10==2):
       k=k+1

Полная программа на python для задачи 25 из демо версии егэ по информатике за 2017 год
a = []
n=40
for i in range(0, n):
    a.append(int(input()))
k=0
for i in range(1, n-1):
    if (a[i]%10==2 or a[i+1]%10==2):
       k=k+1
print(k)

Вернуться к содержанию круса по Python

Полезно почитать по теме решение задач егэ по информатике на массивы 

Задачи егэ по информатике на пары элементов массива
Задачи егэ по информатике на массивы с накопителем
Задачи егэ по информатике на поиск максимального элемента 
Задачи егэ по информатике на поиск минимального элемента

Поделиться:

 
 
Комментарии (0)

Нет комментариев. Ваш будет первым!