Shanraq.org Shanraq.org
От наблюдения к строке данных
Общество

Информатика: создаём своего цифрового помощника Урок 47 из 72

От наблюдения к строке данных

Одна запись о занятии станет понятной строкой: что измерили, когда и для какой задачи.

Где мы на карте

Урок 47 из 72, блок «Данные, таблицы и базы» (47–54). Мы продолжаем помощника 1.1 с тремя вымышленными задачами. В конце блока его записи будут храниться в локальном SQLite, а проверенные правила напоминаний останутся прежними.

От наблюдения к строке данных

Ситуация и вопрос

Вы говорите: «Вчера занимался математикой». Друг записывает 20 минут, а вы помните 25. Что именно наблюдали: время по часам, примерную оценку или воспоминание? Без такого уточнения таблица выглядит точнее реальности.

Где взять файлы проекта

Откройте папку проекта 1.2, скачайте репозиторий через Code → Download ZIP и найдите course/informatics-assistant/step-05. Откройте терминал в этой папке; команда python3 --version должна показать установленный Python. Начните с CSV и JSON, не запускайте файл базы как программу.

Новые слова без пропусков

Наблюдение — зафиксированный факт по выбранному правилу. Строка — одно наблюдение; столбец — одно свойство всех строк. Схема задаёт названия и типы столбцов. Единица измерения здесь минута. Источник показывает, откуда появилась запись: бумажный журнал или учебное приложение. session_id отличает одну запись от другой, task_id связывает занятие с задачей. Эти ID не являются именами людей.

Опорный сигнал

Прочитайте схему слева направо. Для каждой стрелки назовите вход, преобразование и проверку. Закройте третий шаг и предскажите его. Затем найдите соответствующую строку в CSV, SQL или отчёте: нарисованная стрелка не должна подменять реальные значения и связи.

Разбираем шаг за шагом

Откройте вымышленный study_sessions.csv. В строке s-01,t-01,2026-10-07,20,paper одна учебная сессия: задача t-01, дата 7 октября, 20 минут, источник — бумага. Запятая разделяет поля; первая строка файла называет столбцы. Сравните со второй записью: у той же задачи другие дата, длительность и источник. Четыре строки — четыре наблюдения, а не четыре ученика. Проверьте, что список tasks.json содержит t-01 и t-03; иначе связь была бы выдумана.

Предскажите и проверьте

Сначала запишите ожидаемый вывод точно, включая порядок строк. Затем выполните код из папки step-05 и сравните посимвольно. Измените один вход и повторите цикл «предсказать — запустить — объяснить». Пример доказывает только заявленное правило: он не превращает учебные вымышленные данные в измерение реальных людей.

import csv
with open("study_sessions.csv", encoding="utf-8", newline="") as stream:
    first = next(csv.DictReader(stream))
print(first["session_id"], first["task_id"], first["minutes"])

Ожидаемый вывод

s-01 t-01 20

Поймайте ошибку

Нельзя называть 20 минут объективным временем, если число восстановлено по памяти. Нельзя смешивать минуты и часы в одном столбце или считать две записи о той же задаче дублями только потому, что task_id совпал: отличает их session_id.

Изменение проекта

К версии 1.1 добавьте отдельный файл study_sessions.csv с четырьмя вымышленными наблюдениями. Задачи и правила напоминаний не меняются. В паспорте данных запишите: кто создал запись, что означает минута, какие значения допустимы и что сознательно не собирается (имена, оценки, точное местоположение).

Задание и доказательство

Нарисуйте пять столбцов. Для s-03 найдите дату, длительность и task_id. Придумайте новую вымышленную строку, которая не повторяет session_id, и объясните, как проверить её дату и единицу измерения.

Перенос в новую ситуацию

Школьный кружок считает посещения. Почему строка «участник был» не даёт права записать ноль минут, если время неизвестно? Как обозначить неизвестное, не выдавая его за ноль?

Возврат через 1, 7 и 30 дней

Через 1 день восстановите схему по памяти и назовите случай, где простая аналогия не работает. Через 7 дней объясните новую таблицу товарищу без текста и ответьте минимум на 7 из 10 вопросов итогового урока. Через 30 дней повторите импорт во временную папку и проверьте три задачи, четыре занятия, сумму 70 и неизменные напоминания. Запишите оставшийся непонятным термин и вернитесь к его первому определению.

Первоисточник для проверки

Официальная документация

Следующий урок

Таблица, формула и проверяемый расчёт

Если вы нашли ошибку или опечатку в тексте статьи, то сообщите нам об этом

Проверить доказательство проекта

Запишите наблюдение, объяснение, исправление ошибки и изменение своего проекта. Модель укажет первую перепутанную или недоказанную связь, но не даст готовый ответ.

Чтобы проверить, нужно войти. Войти

Комментарии (0)

Пока нет комментариев. Будьте первым.