Задание № 4416 по информатике: Алгоритмы и программы (Функция, Рекурсия, работа со строками, работа с файлами, сортировка, граф)

Алгоритмы и программы (Функция, Рекурсия, работа со строками, работа с файлами, сортировка, граф)По тексту · среднее

Кружок программирования готовит программу для школьного турнира. Результаты участников хранятся в текстовом файле results.txt, по одной строке на участника в формате «Фамилия;класс;баллы», например «Ахметов;9;72». Строка делится на части по символу «;». Функция len возвращает количество всех символов строки, включая символ «;». В файле шесть записей: «Ахметов;9;72», «Беков;10;85», «Ким;9;85», «Сулейменова;11;64», «Дюсенов;10;90», «Омарова;9;58». Для упорядочивания участников используется сортировка пузырьком по убыванию баллов: проход выполняется один раз от начала списка до конца, соседние элементы сравниваются по очереди, и если левый меньше правого, их меняют местами. Для контрольного числа результата применяется рекурсивная функция sum_digits(n): если n < 10, результат равен n; иначе результат равен (n mod 10) + sum_digits(n div 10), где mod — остаток от деления, а div — целая часть от деления. Файл можно открывать в разных режимах: «r» — только чтение, «w» — запись, при которой прежнее содержимое файла удаляется, «a» — запись в конец файла. После турнира участники едут из пункта A в пункт E. Пункты A, B, C, D, E соединены двусторонними дорогами: A–B 4 км, A–C 2 км, B–C 1 км, B–D 5 км, C–D 8 км, D–E 3 км. Эту сеть дорог программа хранит как граф: пункты — вершины, дороги — рёбра с длинами.

Баллы участников в файле идут в порядке: 72, 85, 85, 64, 90, 58. Каким будет порядок баллов после первого прохода сортировки пузырьком по убыванию?

  1. A85, 85, 72, 90, 64, 58
  2. B85, 72, 85, 64, 90, 58
  3. C85, 85, 72, 64, 90, 58
  4. D90, 85, 85, 72, 64, 58
Показать ответ и разборСкрыть ответ и разбор

Верный ответ

  • A85, 85, 72, 90, 64, 58

Разбор

Идём слева направо. 72 < 85, меняем: 85, 72, 85, 64, 90, 58. 72 < 85, меняем: 85, 85, 72, 64, 90, 58. 72 > 64, не меняем. 64 < 90, меняем: 85, 85, 72, 90, 64, 58. 64 > 58, не меняем. После первого прохода получается «85, 85, 72, 90, 64, 58». Полностью упорядоченный список получится только после нескольких проходов.

Ошибка в задании

Опишите ошибку в условии, вариантах или разборе. Не больше 1000 знаков.

Похожие задания по этой теме

Все 21 задание темы

Репетиторы по информатике

Тренажёр

Потренируйте эту тему

21 задание по одному, с ответом и разбором сразу. Без лимита времени.

Свой пробник

Соберите пробник с таймером

Как на ЕНТ: 2 минуты на задание.

Из каких заданий
Сколько заданий