1. Главная
  2. Библиотека
  3. Программирование
  4. Реализуйте программу, которая фильтрует транспортные ко...
Разбор задачи

Реализуйте программу, которая фильтрует транспортные компании на основании прогнозируемого количества дней для интересующей нас доставки: На первой строке через пробел вводятся названия компаний. На второй строке через пробел вводятся целые числа -

  • Предмет: Программирование
  • Автор: Кэмп
  • #Основы алгоритмизации и программирования
  • #Языки программирования (C++, Java, Python и др.)
Реализуйте программу, которая фильтрует транспортные компании на основании прогнозируемого количества дней для интересующей нас доставки: На первой строке через пробел вводятся названия компаний. На второй строке через пробел вводятся целые числа -

Условие:

Реализуйте программу, которая фильтрует транспортные компании на основании прогнозируемого количества дней для интересующей нас доставки:

  • На первой строке через пробел вводятся названия компаний.
  • На второй строке через пробел вводятся целые числа - ожидаемое количество дней, необходимое для доставки груза. Каждое значение соответствует компании.
  • Гарантируется, что будет введена информация минимум для одной компании.
  • Программа выводит названия компаний, прогнозируемое количество дней для доставки у которых больше среднего количества дней по всем представленным компаниям, каждое на новой строке.
  • Если таких компаний нет, то программа ничего не выводит.

Для примера:

ВводРезультатгазелька2Доставочка1Перевозки007любимыйгрузовичок109812Газелька2любимыйгрузовичокгазелька2Доставочка1Перевозки007любимыйгрузовичок9999\begin{array}{|l|l|} \hline Ввод & Результат \\ \hline газелька2 Доставочка1 Перевозки007 любимыйгрузовичок 109812 & Газелька2 любимыйгрузовичок \\ \hline газелька2 Доставочка1 Перевозки007 любимыйгрузовичок 9999 & \\ \hline \end{array}

Решение:

Для решения этой задачи мы можем написать программу на Python, которая будет выполнять указанные условия. Давайте по шагам разберем, как это сделать.

Шаг 1: Ввод данных

Мы будем считывать названия компаний и соответствующее количество дней для доставки. Для этого используем функцию input().

Шаг 2: Вычисление среднего значения

После того как мы получили данные, нам нужно вычислить среднее количество дней для доставки.

Шаг 3: Фильтрация компаний

Затем мы отфильтруем компании, у которых количество дней для доставки больше среднего.

Шаг 4: Вывод результата

Наконец, выведем на...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какова основная цель вычисления среднего значения количества дней доставки в данной задаче?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Выбери предмет

Что будет написано в появившемся окне при выполнении скрипта?","slug":"cto-budet-napisano-v-poiavivsemsia-okne-pri-vypolnenii-skripta-javascript-var-a-1-var-b-a-1-alertb-429791","createdAt":"2025-11-06T11:34:42+00:00","redirectUrl":null,"subject":{"id":"32","title":"Программирование","slug":"programmirovanie","titleDative":"программированию","__typename":"Subject"},"type":{"id":"1","title":"Решение задач","slug":"reshenie-zadach","__typename":"LibraryWorkType"},"content":{"textTask":"

<script type="text/javascript">
\n var a = 1;
\n var b = a++ + 1;
\n alert(b);
\n </script>
\nЧто будет написано в появившемся окне при выполнении скрипта?

","__typename":"LibraryWorkContent"},"__typename":"LibraryWork"},{"id":"490455","textSeo":"Напишите программу, которая сформирует случайным образом массив из 10 целых чисел из промежутка [-60, 60]. Выведите на экран элементы массива, кратные 5.","slug":"napisite-programmu-kotoraia-sformiruet-slucainym-obrazom-massiv-iz-10-celyx-cisel-iz-promezutka-60-60-vyvedite-na-ekran-elementy-490455","createdAt":"2026-04-28T06:20:08+00:00","redirectUrl":null,"subject":{"id":"32","title":"Программирование","slug":"programmirovanie","titleDative":"программированию","__typename":"Subject"},"type":{"id":"1","title":"Решение задач","slug":"reshenie-zadach","__typename":"LibraryWorkType"},"content":{"textTask":"

Напишите программу, которая сформирует случайным образом массив из 10 целых чисел из промежутка [-60, 60].
\nВыведите на экран элементы массива, кратные 5.

","__typename":"LibraryWorkContent"},"__typename":"LibraryWork"},{"id":"403952","textSeo":"Создать блок-схему по VBA коду: Sub буббимбамбум() Dim n As Integer, i As Integer Dim x() As Double, y() As Double Dim mLin() As Double, mQ() As Double, mExp() As Double Dim lastRow As Long lastRow = Cells(Rows.Count, \"A\").End(xlUp).Row n = lastRow - 1 If","slug":"sozdat-blok-sxemu-po-vba-kodu-sub-bubbimbambum-dim-n-as-integer-i-as-integer-dim-x-as-double-y-as-double-dim-mlin-as-double-mq-as-403952","createdAt":"2025-10-24T13:12:29+00:00","redirectUrl":null,"subject":{"id":"32","title":"Программирование","slug":"programmirovanie","titleDative":"программированию","__typename":"Subject"},"type":{"id":"1","title":"Решение задач","slug":"reshenie-zadach","__typename":"LibraryWorkType"},"content":{"textTask":"

Создать блок-схему по VBA коду: Sub буббимбамбум() Dim n As Integer, i As Integer Dim x() As Double, y() As Double Dim mLin() As Double, mQ() As Double, mExp() As Double Dim lastRow As Long lastRow = Cells(Rows.Count, "A").End(xlUp).Row n = lastRow - 1 If n < 2 Then MsgBox "Недостаточно точек", vbExclamation: Exit Sub ReDim x(1 To n), y(1 To n) ReDim mLin(1 To n), mQ(1 To n), mExp(1 To n) For i = 1 To n x(i) = Cells(i + 1, "A").Value y(i) = Cells(i + 1, "B").Value Next i Dim sumX As Double, sumY As Double, sumX2 As Double, sumXY As Double Dim sumX3 As Double, sumX4 As Double, sumX2Y As Double, sumLnY As Double Dim sumXLnY As Double For i = 1 To n sumX = sumX + x(i) sumY = sumY + y(i) sumX2 = sumX2 + (x(i) ^ 2) sumXY = sumXY + (x(i) y(i)) sumX3 = sumX3 + (x(i) ^ 3) sumX4 = sumX4 + (x(i) ^ 4) sumX2Y = sumX2Y + (x(i) ^ 2 y(i)) sumLnY = sumLnY + Log(y(i)) sumXLnY = sumXLnY + x(i) Log(y(i)) Next i Dim meanX As Double, meanY As Double meanX = sumX / n meanY = sumY / n Dim a1Lin As Double, a2Lin As Double a1Lin = (n sumXY - sumX sumY) / (n sumX2 - (sumX ^ 2)) a2Lin = (sumY - a1Lin sumX) / n Dim R2Lin As Double, sumLin As Double, sumTotal As Double Dim corrLin As Double For i = 1 To n mLin(i) = a2Lin + a1Lin x(i) K27 = K27 + (x(i) - meanX) (y(i) - meanY) L27 = L27 + (x(i) - meanX) ^ 2 M27 = M27 + (y(i) - meanY) ^ 2 sumTotal = sumTotal + (y(i) - meanY) ^ 2 sumLin = sumLin + (y(i) - mLin(i)) ^ 2 Next i corrLin = K27 / (Sqr(L27) Sqr(M27)) R2Lin = Abs(1 - sumLin / sumTotal) Dim AQ(1 To 3, 1 To 3), BQ(1 To 3, 1 To 1), KQ(1 To 3, 1 To 1) As Double Dim AInvQ() As Variant AQ(1, 1) = n: AQ(1, 2) = sumX: AQ(1, 3) = sumX2 AQ(2, 1) = sumX: AQ(2, 2) = sumX2: AQ(2, 3) = sumX3 A

","__typename":"LibraryWorkContent"},"__typename":"LibraryWork"}],"status":{"id":"0","title":"LIBRARY_WORK_IS_READY","__typename":"IntEnum"},"worksWithAnotherSubject":[{"url":"https://kampus.ai/biblioteka/reshenie-zadach/geografiya/","worksCount":842,"subject":{"id":"21","title":"География","titleDative":"географии","titleGenitive":"географии","group":{"id":"2","title":"Естественно-научные","icon":null,"__typename":"SubjectGroup"},"sortOrder":25,"slug":"geografiya","isPopular":false,"__typename":"Subject"},"__typename":"LibraryWorksWithAnotherSubject"},{"url":"https://kampus.ai/biblioteka/reshenie-zadach/torgovoe-delo/","worksCount":185,"subject":{"id":"46","title":"Торговое дело","titleDative":"торговому делу","titleGenitive":"торгового дела","group":{"id":"4","title":"Экономика и финансы","icon":null,"__typename":"SubjectGroup"},"sortOrder":50,"slug":"torgovoe-delo","isPopular":false,"__typename":"Subject"},"__typename":"LibraryWorksWithAnotherSubject"},{"url":"https://kampus.ai/biblioteka/reshenie-zadach/fizicheskaya-kultura/","worksCount":392,"subject":{"id":"79","title":"Физическая культура","titleDative":"физической культуре","titleGenitive":"физической культуры","group":{"id":"1","title":"Гуманитарные","icon":null,"__typename":"SubjectGroup"},"sortOrder":83,"slug":"fizicheskaya-kultura","isPopular":false,"__typename":"Subject"},"__typename":"LibraryWorksWithAnotherSubject"},{"url":"https://kampus.ai/biblioteka/reshenie-zadach/bezopasnost-zhiznedeyatelnosti/","worksCount":4306,"subject":{"id":"109","title":"Безопасность жизнедеятельности","titleDative":"безопасности жизнедеятельности","titleGenitive":"безопасности жизнедеятельности","group":{"id":"2","title":"Естественно-научные","icon":null,"__typename":"SubjectGroup"},"sortOrder":113,"slug":"bezopasnost-zhiznedeyatelnosti","isPopular":false,"__typename":"Subject"},"__typename":"LibraryWorksWithAnotherSubject"},{"url":"https://kampus.ai/biblioteka/reshenie-zadach/gidravlika/","worksCount":3545,"subject":{"id":"129","title":"Гидравлика","titleDative":"гидравлике","titleGenitive":"гидравлики","group":{"id":"3","title":"Технические","icon":null,"__typename":"SubjectGroup"},"sortOrder":133,"slug":"gidravlika","isPopular":false,"__typename":"Subject"},"__typename":"LibraryWorksWithAnotherSubject"},{"url":"https://kampus.ai/biblioteka/reshenie-zadach/pravo-i-yurisprudenciya/","worksCount":1181,"subject":{"id":"226","title":"Теория государства и права (ТГП)","titleDative":"теории государства и права (ТГП)","titleGenitive":"теории государства и права (тгп)","group":{"id":"6","title":"Юриспруденция и право","icon":null,"__typename":"SubjectGroup"},"sortOrder":230,"slug":"teoriya-gosudarstva-i-prava-tgp","isPopular":false,"__typename":"Subject"},"__typename":"LibraryWorksWithAnotherSubject"}],"seoSubjects":[{"id":"53","title":"Основы алгоритмизации и программирования","isAvailable":true,"__typename":"SeoSubject"},{"id":"59","title":"Языки программирования (C++, Java, Python и др.)","isAvailable":true,"__typename":"SeoSubject"}],"seoTags":[{"id":"17658","title":"программирование","isAvailable":true,"__typename":"SeoTag"},{"id":"36748","title":"среднее значение","isAvailable":true,"__typename":"SeoTag"},{"id":"261005","title":"python","isAvailable":true,"__typename":"SeoTag"},{"id":"262132","title":"фильтрация данных","isAvailable":true,"__typename":"SeoTag"},{"id":"273985","title":"списки","isAvailable":true,"__typename":"SeoTag"}],"extraContent":{"id":"24110","commonMistakes":"1. Неправильное вычисление среднего значения: иногда забывают, что среднее нужно считать для всех компаний, а не только для тех, что удовлетворяют какому-то условию.\n2. Ошибки при сопоставлении компаний и дней доставки: часто путают индексы или неправильно связывают названия компаний с соответствующими им сроками доставки.\n3. Неверная обработка случая, когда нет компаний, удовлетворяющих условию: вместо того чтобы ничего не выводить, программа может вывести пустую строку или сообщение об ошибке.","topicEssentials":"1. Среднее арифметическое — это сумма всех значений, делённая на их количество.\n2. Списки (массивы) позволяют хранить упорядоченные коллекции элементов.\n3. Итерация по списку позволяет последовательно обрабатывать каждый его элемент.\n4. Условные операторы (например, `if`) используются для выполнения кода только при соблюдении определённого условия.\n5. Списковые включения (list comprehensions) — это краткий способ создания новых списков на основе существующих, применяя к ним выражения и условия.","solutionAlgorithm":"1. Считать названия компаний и соответствующие им ожидаемые количества дней доставки. Сохранить их в двух отдельных списках, поддерживая соответствие индексов.\n2. Вычислить среднее арифметическое значение ожидаемого количества дней доставки по всем компаниям.\n3. Пройти по списку компаний и для каждой компании сравнить её ожидаемое количество дней доставки со средним значением, вычисленным на предыдущем шаге.\n4. Если ожидаемое количество дней доставки для компании больше среднего значения, добавить название этой компании в список результатов.\n5. Вывести названия компаний из списка результатов, каждое с новой строки. Если список результатов пуст, ничего не выводить.","professorQuestions":"1. Каким образом можно обеспечить соответствие между названиями компаний и количеством дней доставки, если они вводятся отдельными строками?\n2. Какие существуют подходы для вычисления среднего значения элементов списка в Python?\n3. В каких случаях при решении подобных задач может потребоваться обработка исключений, например, при делении на ноль?\n4. Предложите альтернативный способ фильтрации компаний без использования списковых включений.\n5. Как изменится логика программы, если потребуется выводить компании, у которых количество дней доставки меньше или равно среднему значению?","trainingModeDraft":{"answers":[{"text":"Для определения компании с наименьшим сроком доставки.","comment":null,"isCorrect":false},{"text":"Для сравнения сроков доставки каждой компании с общим показателем и отбора тех, что превышают среднее.","comment":"Среднее значение используется как пороговое для фильтрации. Компании, чьи сроки доставки превышают это среднее, считаются менее эффективными в контексте задачи и подлежат выводу.","isCorrect":true},{"text":"Для сортировки компаний по возрастанию сроков доставки.","comment":null,"isCorrect":false}],"question":"Какова основная цель вычисления среднего значения количества дней доставки в данной задаче?"},"__typename":"LibraryWorkExtra"},"__typename":"LibraryWork"},"isWorksListLoading":false,"isWorkDetailLoading":false}}