1. Если информация, содержащаяся в ячейке таблицы, неизвестна, то какой в ней ставится символ? а) х б) ?
с) !
d) -
e) Ничего не ставится
2. Информация, представленная в виде таблицы:
а) занимает больше места
б) наглядна
с) компактна
d) воспринимается хуже, чем текст
e) легко образима
3. Какой тип таблицы отражает взаимосвязи между объектами одного или нескольких классов?
а) Свойство - объект
б) Объект - объект
с) Объект - параметры
d) Объект - свойство
e) Объект - атрибуты
4. Какой тип таблицы используется при наличии объектов, обладающих одинаковыми наборами свойств?
а) Свойство - объект
б) Объект - объект
с) Объект - параметры
d) Объект - свойство
e) Объект - атрибуты
5. Сколько строк (не включая заголовок) должно быть в таблице "Средняя температура воздуха по месяцам за 2016-2017 годы", если в ней есть данные только по температуре?
6. Какие таблицы имеют тип "Объект - свойство"
а) Успеваемость по математике
б) Река России
с) Расстояние между городами
d) Книги городской библиотеки
e) Погода: март 2021 года
7. Если в табличной модели "Расстояние между городами" в ячейке нет значения, то это означает:
а) Взятие данных из ячеек выше
б) Отсутствие дороги
с) Неизвестное расстояние
d) Данные не заполнены
Просто прогоняем бинарный поиск дважды, сначала ищем ближайшее число, не большее нужного, потом не меньшее. Для того, чтобы такие числа были, можно дописать в массив очень большое число и очень маленькое. Затем выбираем из этих двух найденных чисел то, что будет ближе.
Пример реализации:
def bin_search(arr, target, kind="<="):
assert kind in ["<=", ">="]
if kind == "<=":
comp = lambda a, b: a <= b
else:
comp = lambda a, b: a < b
l = 0
r = len(a) - 1
while l < r - 1:
m = (l + r) // 2
if comp(a[m], target):
l = m
else:
r = m
if kind == "<=":
return arr[l]
else:
return arr[r]
def nearest(arr, target):
nearest_le = bin_search(arr, target, "<=")
nearest_ge = bin_search(arr, target, ">=")
if nearest_ge - target < target - nearest_le:
return nearest_ge
else:
return nearest_le
_ = input()
a = [int(x) for x in input().split()]
a = [float("-Infinity")] + a + [float("+Infinity")]
for target in map(int, input().split()):
print(nearest(a, target))
1. .xls - книга Excel
2. .jpg - изображение jpeg
3. .pas - программа на языке Pascal
4. .avi - видео
5. .doc - документ Word
6. .cpp - программа на языке C++
7. .rtf - текстовый документ с форматированием
8. .gif - изображение gif
9. .wav - звуковой файл
10. .txt - текстовый файл
11. zip - архив
12. .java - программа на языке Java
13. .py - программа на языке Python
В комментарии возник вопрос, не являются ли файлы .doc, .xls программами, ведь они могут содержать макросы, написанные на языке VBA.
ответ на этот вопрос скорее нет, чем да. Во-первых, .doc, .xls файлы действительно поддерживают макросы, но это не главное предназначение таких файлов, они могут, но не обязаны содержать программный код (в отличие от собственно тестов программ). С таким же успехом Excel можно было бы называть графическим редактором, ведь в нём можно создавать несложные изображения и открывать и изменять некоторые графические файлы. Во-вторых, .xls, .doc - это контейнеры, примерно такие же, что и .zip, только хранящие текст, картинки, разметку, макросы, и другие интересные вещи. Кстати, новые форматы .xlsx, .docx - и вовсе zip-архивы, открываются архиваторами