Перейти до змісту

ЛР28. Відтворюваний зошит без прихованого стану

Коротко про роботу

Зошит містить залежні обчислення, а старе значення змінної робить випадковий запуск оманливим. Варіант визначає STUDENT_X.

Відкрити робочий зошит Як виконувати лабораторні

1. Умова

Зошит містить залежні обчислення, а старе значення змінної робить випадковий запуск оманливим.

Усі обчислення виконуйте з даними свого STUDENT_X. Значення варіанта друкує перша комірка зошита.

2. Що треба знати

Робота виконується після Л1–Л11. Потрібні поняття:

  1. стан зошита
  2. порядок комірок
  3. Restart → Run All
  4. відтворюваність

Межа матеріалу

Використовуйте поняття, вивчені до Л1–Л11. Не залишайте ручну комірку, яку треба запускати поза порядком для отримання правильного результату.

3. Варіант, вхідні дані та результат

У зошиті заповніть STUDENT_NAME, STUDENT_GROUP і STUDENT_X від 1 до 30.

Вхідні дані

Поле Зміст
a перша складова
b друга складова
factor множник
stale_base старе значення для діагностики

Поля результату

Поле Зміст
base_result a+b після чистого запуску
final_result base_result*factor
fresh_run_ok ознака відтворюваного виконання

Назви полів результату не змінюйте.

4. Терміни і правила

Терміни

  • прихований стан зошита — значення, що залишилося в пам’яті від попереднього запуску комірки, хоча поточний порядок комірок його не створює.
  • відтворюваність — однаковий результат після команди Restart і послідовного Run All.

Правила

  1. Правильна залежність задається двома виразами: base = a + b, потім result = base * factor.
  2. stale_base імітує значення, що залишилося від старого запуску. Воно не входить до правильного чистого запуску результату.
  3. base_result і final_result мають відтворюватися після Restart → Run All.
  4. fresh_run_ok має бути true лише після успішного запуску з чистого стану.

Початковий сценарій зошита

Уявіть, що попередній запуск залишив у пам’яті base = stale_base. Потрібна версія зошита, яка правильно працює після чистого перезапуску.

Цільові залежності задачі такі:

base = a + b
result = base * factor

Самостійно розмістіть визначення й використання у комірках так, щоб випадковий порядок старого запуску більше не впливав на результат.

5. Завдання

Завдання 1

Обчисліть base = a + b, потім result = base * factor. Запишіть base_result і final_result.

Завдання 2

Приберіть залежність від stale_base. Одним реченням поясніть, чому вибірковий запуск комірок приховував помилку.

Завдання 3

Виконайте Restart → Run All. Якщо результат відтворився, запишіть fresh_run_ok = True.

6. Перевірка і здача

  1. Запустіть самоперевірку та виправте помилки.
  2. Перезапустіть ядро і виконайте роботу ще раз від початку.
  3. Збережіть .ipynb і PDF з кодом та результатами.

Назва PDF: LR28_Прізвище_Група_VNN.pdf.