


Программирование и решение задач
1.Опишите словами (без кода и псевдокода) алгоритм программы, которая выполняет задачу:
Ввод: массив из строк;
Вывод: массив строк из ввода, которые могут быть напечатаны клавишами из одного ряда клавиатуры
2.Опишите словами (без кода и псевдокода) алгоритм оптимизированной программы, которая выполняет задачу:
Ввод: сортированный массив из уникальных элементов, конкретный элемент из этого массива.
Вывод: индекс элемента в массиве
Ввод: (["азбука", "дети", "ягода"], "ягода")
Вывод: 2
3.Опишите недостатки каждого из представленных решений задачи на языке Python
Оцените вычислительную сложность каждого из решений (О большое каждого из решений)
Опишите алгоритм решения, оптимального по скорости вычислений
Задача:
a, b - [], отсортированы по возрастанию. Вернуть c - содержит только те элементы из a, которые есть в b. Решение должно быть вычислительно эффективным.
Решения:
Вариант 1:
def get_intersection(a, b):
a = set(a)
b = set(b)
c = sorted(list(a&b))
return c
Вариант 2:
def get_list_difference(a, b):
l = []
for i in a:
if i in b:
l.append(i)
return l
4.Напишите SQL запрос, который выбирает все записи из таблицы "Cities", где значение поля "City" начинается с "M".
у вас своя площадка есть Python
Опишите словами, как вы влезли с вопросом в группу С/С++?
+_-