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

ЛР30. Функції без прихованого стану зошита

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

Обчислення працює в зошиті лише тому, що читає глобальні імена з попередніх комірок. Варіант визначає STUDENT_X.

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

1. Умова

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

Перша комірка зошита лише показує значення вашого STUDENT_X разом із типами. Вона не оголошує і не створює предметні змінні. У коді кожного завдання перенесіть потрібні значення та самостійно оголосіть/створіть відповідні змінні.

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

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

  1. функції Python
  2. параметр і повернення значення
  3. локальна область видимості
  4. відсутність прихованого глобального стану

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

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

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

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

Вхідні дані

Поле Тип Зміст
values list числова послідовність
factor int множник
threshold int поріг

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

Поле Зміст
scaled_values масштабовані значення
count_result кількість вище порога
total_result сума масштабованих значень

Назви полів результату не змінюйте. Перша комірка лише показує значення варіанта і не створює предметні змінні. У кожному завданні самостійно присвойте потрібним вхідним змінним показані значення. Результуючі й проміжні змінні створюйте звичайними присвоєннями. Імена з префіксом alp_ службові.

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

Терміни

  • прихований глобальний стан — дані поза функцією, від яких вона залежить без явного параметра.
  • чиста залежність через параметр — усі потрібні вхідні дані передаються функції явно.

Правила

  1. scale_values(values, factor) повертає новий список, де кожне значення помножене на factor.
  2. count_above(values, threshold) повертає кількість елементів, строго більших за threshold.
  3. Обидві функції отримують усі потрібні дані через параметри і не читають глобальні імена.
  4. total_result — сума значень із scaled_values.

5. Завдання

Завдання 1

Реалізуйте scale_values(values, factor) без читання глобального factor. Результат запишіть у scaled_values.

Завдання 2

Реалізуйте count_above(values, threshold) без читання глобального threshold. Результат запишіть у count_result.

Завдання 3

Запишіть суму scaled_values у total_result. Виконайте Restart → Run All і перевірте результат.

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

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

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