КР двумерные списки
ВАРИАНТ 1 (ПРАКТИКА 13 баллов)
Предисловие. Петров работает электриком в крупной компании, и ему платят большие деньги за разработку схем электропитания. Так уж получилось Петров еще и программист, и ему в создании схем помогают самописные программы.
Входные данные: Массив N х M заполненный 0 и 1 |
from random import * n = int(input()) m = int(input()) a = [[randint(0,1) for i in range(m)] for j in range(n)]
массив можно заполнять и другими известными вам способами |
1. В схеме электропитания размерностью n строк и m столбцов необходимо поставить выключатели в состояние 1. Петров – электрик по призванию, решил не проверять выключатели на состояние и просто включил все. Помогите Петрову и заполните массив единицами – 1 балл;
2. Начальник был недоволен работой Петрова и сказал ему переделать схему. Теперь если только встречался 0, заменить его на 1, а единичку не трогать. Программа должна заполнить массив единицами и сообщить о количестве замен – 1 балл;
3. Петров обнаружил в своей программе ошибки. Для начала он решил вывести значения элементов только второго столбца – 1 балл;
4. У Петрова никак не получается наладить схему питания. Он решил проверять в каждом столбце количество 0(нулей). Напишите программу, которая по введенному номеру строки выводит количество 0(нулей) в этой строке – 1 балл;
5. Наконец программа начала показывать верные результаты. Петров решил составить еще одну матрицу из значений напряжения каждого элемента в электроцепи. Значения варьируются в пределах от 1 до 99. Выведите матрицу значений на экран отводя под каждый элемент ровно 3 знака – 1 балл;
6. Теперь обладая матрицей состояния и матрицей напряжения, Петров задумал обнулять напряжения если состояние по той же позиции показывает 0 – 2 балла;
7. Петров еще провел несколько тестов, чтобы убедиться в отказоустойчивости электроплаты. Обычном вольтметром он еще раз замерил показания элементов. Выведите показания вольтметра, которые Петров замерял – 4 балла:
а) сумму значений элементов матрицы, больших 30;
б) количество нечетных элементов матрицы;
в) среднее арифметическое четных элементов матрицы;
г) сумму тех элементов матрицы, сумма индексов которых равна s (s вводится вручную).
8. Финальным штрихом в программе Петрова была оптимизация, которая подсчитывала среднее значение напряжения и меняла все элементы, которые меньше среднего на средний показатель – 2 балла.
ВАРИАНТ 2 (ПРАКТИКА 13 баллов)
Предисловие. Петров раньше работал электриком, а теперь он дачник. К этому делу он подошел с умом, ведь Петров еще и опытный программист, в самописной программе он вел учет каждой клумбы.
Входные данные: Массив N х M заполненный 0 и 1 |
from random import * n = int(input()) m = int(input()) a = [[randint(0,1) for i in range(m)] for j in range(n)]
массив можно заполнять и другими известными вам способами |
1. В схеме расположения помидорных клумб размерностью n строк и m столбцов необходимо поставить состояние 1, которая сообщает о том, что на этой клумбе посажен помидор. Петров – дачник по призванию, решил посадить на всех клумбах помидоры. Помогите Петрову и заполните массив единицами – 1 балл;
2. Петрову был экономным человек и решил, что сажать помидоры в том месте, где он уже посажен, глупо. Он сразу же исправил недочет и заполнял 1 только те клумбы, где были 0(нули). А еще он посчитал количество 0, чтобы знать сколько еще рассады ему нужно закупить, ведь сезон не за горами – 1 балл;
3. Петров обнаружил в своей программе ошибки. Для начала он решил вывести значения элементов только третьей строки – 1 балл;
4. У Петрова никак не получается заставить программу работать правильно. Он решил проверять в каждом столбце количество 0(нулей). Напишите программу, которая по введенному номеру столбца выводит количество нулей в этом столбце – 1 балл;
5. Наконец программа начала показывать верные результаты. Петров решил еще и устроить систему авто полива, поэтому завел еще одну матрицу для хранения количества литров на каждую клумбу. Значения варьируются в пределах от 10 до 200 литров воды. Выведите матрицу значений на экран отводя под каждый элемент ровно 4 знака – 1 балл;
6. Теперь обладая матрицей рассады и матрицей полива, Петров задумал обнулять значение полива если на этой клумбе отсутствует рассада – 2 балла;
7. Вести фермерское хозяйство было очень затратным, поэтому Петров решил проверить следующие показатели авто полива – 4 балла:
а) сумму значений элементов матрицы полива, в диапазоне от 10 до 30;
б) количество четных элементов матрицы;
в) среднее арифметическое элементов матрицы, где растут помидоры;
г) сумму тех элементов матрицы, индексов которых совпадают.
8. Финальным штрихом в программе Петрова была оптимизация, которая подсчитывала среднее значение полива и меняла все элементы, которые меньше среднего на средний показатель – 2 балла.