Skip to content

MIRON0V/Tascs-Tetrika

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Задание 1: Имена

Нужно выполнить следующие действия и вывести результат вычислений:

  1. Отсортировать все имена в лексикографическом порядке.
  2. Посчитать для каждого имени алфавитную сумму – сумму порядковых номеров букв (MAY: 13 + 1 + 25 = 39).
  3. Умножить алфавитную сумму каждого имени на порядковый номер имени в отсортированном списке (индексация начинается с 1). Например, если MAY находится на 63 месте в списке, то результат для него будет 63 * 39 = 2457.
  4. Сложить произведения из п. 3 для всех имен из файла и получить число.
  5. Вывести полученную сумму.

Задание 2: IP-адреса

Файл состоит из строк вида: <host>\t<ip>\t<page>\n, где host — корневой домен, ip — IP-адрес, page — «хвост» ссылки.

Необходимо вывести 5 IP-адресов, которые встречаются в файле чаще других.


Задание 3: Оценка уроков

В школе ученики и репетиторы занимаются в специальном онлайн-классе, в котором они могут общаться друг с другом, рисовать на доске, переписываться в чате, обмениваться файлами и решать различные задачки. Информацию о каждом уроке записывается в базу данных в таблицу lessons. На каждом таком уроке присутствует один репетитор и один ученик. В конце урока, когда учитель и ученик покидают класс, им предлагается по желанию оценить качество пройденного урока по пятибальной шкале. Оценки записываются в таблицу quality.

В архиве содержится четыре файла с выгрузкой строк из базы.

Файл users.txt хранит информацию о пользователях:

  • id – уникальный идентификатор пользователя
  • role – указывает, является ли пользователь учеником (pupil) или учителем (tutor)

Файл lessons.txt содержит следующие поля:

  • id – уникальный идентификатор урока
  • event_id – идентификатор, связывающий уроки с файлом participants. У нескольких уроков может быть один и тот же event_id
  • subject – предмет урока, строка
  • scheduled_time – время начала урока, в формате ГГГГ-ММ-ДД чч:мм:сс (иногда есть еще миллисекунды). Время указано в UTC

Файл participants.txt позволяет связать урок с его участниками. Он содержит следующие поля:

  • user_id – идентификатор пользователя (указывает на запись в файле users.txt)
  • event_id – идентификатор, связывающий урок с участником. Чтобы понять, какие пользователи были на уроке Х, нужно найти в файле participants.txt строки, у которых event_id совпадает с event_id урока Х.

Файл quality.txt содержит следующие поля:

  • lesson_id – идентификатор урока, указывающий на запись в таблице lessons.txt. У нескольких строчек из этого файла может быть один и тот же lesson_id, потому что оценок за урок может быть несколько (в случае, когда и ученик, и репетитор оценили качество урока)
  • tech_quality – оценка качества урока. Это число от 1 до 5. Иногда его может не быть, если пользователь не выставил оценку.

Задача

Нужно найти, какой из репетиторов получал самую низкую среднюю оценку качества после уроков по физике за каждый день, и вывести эту оценку.

Примечания:

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages