1. формула в електронних таблицях не може включати а: ім'я комірки б: числа в: текст г: знаки арифметичних операцій виберіть один варіант відповіді (1 ) 2. щоб додати новий рядок, треба клацнути комірку правою кнопкою миші в рядку над тим рядком, над яким ви хочете вставити новий рядок. а: невірно б: вірно виберіть один варіант відповіді (1 ) 3. моделі, реалізовані за систем програмування, електронних таблиць, спеціалізованих пакетів і програмних засобів для моделювання, називаються: а: імітаційні моделі б: комп'ютерні моделі в: і моделі г: економічні моделі виберіть один варіант відповіді (1 ) 4. яку клавішу треба утримувати для групування двох або більше несуміжних робочих листів? а: ctrl б: alt в: shift виберіть один варіант відповіді (1 ) 5. щоб помножити елементи в excel, ви повинні використати знак а: * б: @ в: # г: ^ виберіть один варіант відповіді (1 ) 6. заміна реального об'єкту його формальним описом називається: а: алгоритмізація б: моделювання в: формалізація г: аналіз виберіть один варіант відповіді (1 ) 7. групування робочих листів дозволяє: а: вибирати однакові формули в усіх листах групи б: все із перелічених вище дій в: виконувати обчислення за однаковими формулами на усіх листах групи г: робити зміни на усіх листах в групі, роблячи зміни тільки на одному з листів виберіть один варіант відповіді (1 ) 8. microsoft excel - це який тип програми? а: електронних таблиць б: поштовий в: баз даних г: текстовий виберіть один варіант відповіді (1 ) 9. у якому діалоговому вікні ви можете додавати верхні і нижні колонтитули до документів. а: вид-представлення б: зберегти як в: розмітка сторінки г: фільтр виберіть один варіант відповіді (1 ) 10. найпростіший б вибрати цілий рядок - це а: натиснути заголовок рядка. б: вибрати пункт "вибрати" в меню "правка". в: двічі клацнути на будь-якій комірці у рядку. г: натиснути і перший запис, і останній запис в рядку. 11. для користувача елемент електронної таблиці ідентифікується: а: адресою комірки в оперативній пам'яті. б: спеціальним кодовим словом. в: шляхом послідовної вказівки імені стовпця і номера рядка, на перетині яких вона знаходиться. г: шляхом послідовної вказівки номера стовпця і імені рядка, на перетині яких вона знаходиться. 12. кнопка "об'єднати і помістити в центрі" а: використовується для центрування тільки по вертикалі. б: це кнопка на панелі інструментів малювання. в: доступна тільки після групування робочих листів. г: дозволяє вибрати одну або декілька комірок і об'єднати їх у велику комірку.
Так, ну смотри... Я не стал запариваться и вручную записывать список с этими координатами... Это очень долго и муторно, я воспользовался модулями pickle и random, чтоб ускорить этот процесс... (____ - потом убери - это я табуляцию обозначил, чтоб было видно синтаксис нормально)
import random, pickle, math
xy = dict()
for i in range(1, random.randrange(1,50)):
____xy[i] = [random.randrange(-104,104),random.randrange(-104,104)]
print(xy)
f = open('INPUT.TXT', 'wb')
pickle.dump(xy, f)
f.close()
Я кусками объясню, потом выложу просто сами файлы...
Запись в файл идет бинарная, поэтому когда файл откроешь, там можешь увидеть страшные символы... Я подумал, что все равно в файле с координатами смотреть не на что. В любом случае я в самом конце использовал нормальную запись в файл тоже, можешь по аналогии и тут убрать модуль pickle. Но как по мне он удобнее.
Я сделал словарь, потому что изначально была идея обозвать каждую точку буквами А, В, С... и т.д., но это долго и муторно, поэтому когда вызовешь словарь, увидишь что там такой вид (ключ: 1; [x,y]). Тоже думаю вполне себе неплохо выглядит... Рандом тут просто для того, чтоб самому ничего не выдумывать, а быстро записать разные значения, не более... Ну и так же рандом тут определяет количество точек.
f = open('INPUT.TXT', 'rb')
xy = pickle.load(f)
Тут идет все тот же pickle, но мы уже присваиваем переменной xy значение из файла. Тут все просто.
for i in xy:
___arr1.append(xy[i])
Цикл, который координаты из словаря переносит в список. Мне так просто проще работать со списками. (Вообще, моя идея с НАЗВАНИЕ:КООРДИНАТЫ оказалось провальной, поэтому чтоб избежать двух лишних строчек, можешь в самом начале изменить словарь на список =D)
while len(arr1) > 0:
___for i in arr1:
______arr1.pop(arr1.index(i))
______for z in arr1:
_________arr2.append(math.sqrt(math.pow(z[0]-i[0],2)+math.pow(z[1]-i[1],2)))
arr2.sort()
Тут происходит основной процесс программы. Цикл while работает до тех пор ПОКА длина списка arr1 больше 0. (сейчас к этому еще вернемся)
Цикл for перебирает значения списка arr1 (в котором у нас в виде списков координаты точек [x,y]) Удаляет первый элемент дабы избежать повторений и запускает второй цикл который уже без первой координаты... Получается что-то типа координата подается и со всеми остальными образует отрезок, потом вторая, третья и т.п...
И я думаю ты понял, зачем нам условие в цикле while len(arr1) > 0
Список закончился = он весь обработался...
Для следующей строки нам нужен модуль math, для упрощения жизни. тут просто формула, которая считает длины отрезков. Обычная формула из математики S = sqrt((x2 - x1)^2 + (y2 - y1)^2)
Ну думаю объяснять что за методы pow и sqrt - нет смысла...
За циклом к списку вызывается метод sort, который по порядку расставляет длины, которые мы насчитали. (т.к. у тебя в условии это требуется... бесполезное действие вообще как по мне =D)
f = open('OUTPUT.TXT', 'w')
f.write(str(len(arr2))+'\n')
for i in arr2:
___text = str(i) + '\n'
___f.write(text)
f.close()
А тут обычная запись уже в файл output. Ничего сложного. Первой строкой выводится количество отрезков, которое у нас получилось. На 26 точек, которые сгенерировались, у нас получилось 325 отрезков. Ну и из списка печатаются сами длины с отступом.
Весь код целиком:
import random, pickle, math
arr1 = []
arr2 = []
text = ''
'''xy = dict()
for i in range(1, random.randrange(1,50)):
___xy[i] = [random.randrange(-104,104),random.randrange(-104,104)]
print(xy)
f = open('INPUT.TXT', 'wb')
pickle.dump(xy, f)
f.close()
Данный код использовался для составления списка с случайным количеством координат и случайными его координатами.
'''
f = open('INPUT.TXT', 'rb')
xy = pickle.load(f)
for i in xy:
___arr1.append(xy[i])
while len(arr1) > 0:
___for i in arr1:
______arr1.pop(arr1.index(i))
______for z in arr1:
_________arr2.append(math.sqrt(math.pow(z[0]-i[0],2)+math.pow(z[1]-i[1],2)))
arr2.sort()
f = open('OUTPUT.TXT', 'w')
f.write(str(len(arr2))+'\n')
for i in arr2:
___text = str(i) + '\n'
___f.write(text)
f.close()
P.S. А, да... Чуть не забыл. У меня тут начало закомментировано как видишь... Тебе чтоб сгенерировать список, нужно сначала тройные кавычки убрать и желательно закомментировать оставшуюся часть кода... Когда у тебя будет уже файл input с значениями, можешь обратно поставить кавычки, чтоб у тебя вечно разные значения не генерировались :)
И я не смог загрузить файл с расширением .py, так что смотри на скрине, там синтаксис выделен, я думаю разберешься.