Обработка потока данных. Количество, сумма, среднее и экстремумы
Обрабатывать входящие по одному значения без хранения всей последовательности: количество, сумма, среднее, минимум и максимум элементов, удовлетворяющих условию. Правило окончания ввода задано явно. Дополнить подготовленную программу, отдельно учесть отсутствие подходящих значений и проверить граничные случаи. Сравнить потоковый способ с обработкой сохранённого массива и объяснить, какие сведения приходится хранить.
Конспект урока
Обработать конечный поток целых чисел без сохранения всего массива: различать число прочитанных и принятых значений, находить количество, сумму, среднее и экстремумы выбранных. Дополнить готовую программу, лично сохранить два файла, выполнить три запуска и проверить случай без принятых чисел.
Все числа условные. В основной программе сначала отдельной строкой вводится целое n от 0 до 8, затем ровно n целых значений, каждое отдельной строкой; после каждой строки Enter. Ввод заранее корректен. n — число данных, само n не включается в итоги. Ноль среди данных — обычное число, не признак конца. i считает все прочитанные значения, k — прошедшие объявленное условие. Основное условие x >= 0, в копии x > 0; у других задач условие указано отдельно. s, k, low, high относятся только к принятым числам. При первом принятом x до увеличения k присвоить low = x и high = x; при k = 0 их начальные нули — технические заполнители, не найденные экстремумы, и не выводятся как результат. При k > 0 среднее s/k и экстремумы определены, в том числе при s = 0. При k = 0 вывести 0 0 и no data, не вычислять среднее и не объявлять экстремумы. Держать только текущий x и фиксированное число итоговых переменных; массив, append, встроенные sum/min/max над всем вводом и повторное чтение не нужны. Нужен собственный запуск в заранее готовом школьном Python 3.
Для основной цифровой практики нужна заранее подготовленная школьная среда из инструкции учителя. Прогноз и итог записывай на бумаге; при отсутствии техники цифровое действие проверяют на ближайшей компьютерной практике. Сохраняй первую попытку; исправления отмечай другим знаком.
Безопасное начало
Сухие руки, без напитков у техники. Провода и разъёмы не трогай, о неисправности сообщи учителю. Работай по правилам кабинета. Две полные минуты в середине урока — без экрана и заданий. Внешний ИИ, личные аккаунты и личные данные не требуются.
Что уже нужно знать
Из 016–019: переменные, условие, while, сумма и количество по условию, защита среднего при k > 0, минимум и максимум, свои сохранённые .py. Из 8 класса — int(input()), последовательные присваивания и отступы Python. Новое — один проход по вводимым значениям без массива, два разных счётчика и инициализация экстремумов первым принятым значением. Сетевые потоки, файлы большого объёма, обработка ошибок ввода и бесконечные потоки в этот час не входят.
S0. Правило ввода: сначала n = 3, затем три значения -2, 0, 5, каждое отдельной строкой. Является ли 0 признаком остановки? Сколько раз input() будет выполнен всего, если учесть чтение n?
Устная проба без отметки.
Один проход и пять итогов
Сначала вводится целое n от 0 до 8, затем ровно n целых значений, каждое отдельной строкой. Число n задаёт длину потока и не является его элементом. Ноль среди значений — обычное данное. Держать текущее x и переменные итогов; весь список не сохранять. i считает все прочитанные значения, k — только принятые по условию. Для каждого x: прочитать; проверить условие; если принято, при k = 0 присвоить low = high = x, затем обновить минимум, максимум, сумму s = s+x и количество k = k+1. После любого x увеличить i вне if отбора, но внутри while. До первого принятого low и high ещё не имеют найденного значения: начальные нули — технические заполнители. В конце сначала проверить k > 0. Если да, среднее s/k и оба экстремума существуют; если нет, вывести no data вместо среднего и экстремумов. Нулевая сумма при k > 0 допустима и даёт нулевое среднее. Основная программа принимает x >= 0, копия x > 0. Иное условие в других задачах указано отдельно. Ввод корректных целых заранее подготовлен; обработка ошибок ввода не входит в час.
| Переменная | Что означает |
|---|---|
| n / i | Задано / уже прочитано |
| s / k | Сумма / количество принятых |
| low / high | Экстремумы принятых при k > 0 |
| x | Только текущее значение |
Ввод: одна строка для n, затем отдельная строка и Enter для каждого x. Десятичная точка в Python-выводе 3.75 соответствует русской записи 3,75.
Концептуальная иллюстрация. Точные данные определены условиями, таблицами и схемами; предметы на рисунке не являются входными данными.
Личная проба
C1. На бумаге обработай поток: n = 4, затем 2, -1, 0, 4. Принимаются x >= 0. Найди сумму s, количество k, среднее, минимум и максимум только принятых значений.
Одна минута лично, две на сводку и знаменатель; в коротком варианте одна лично и одна сверка. Памятка разрешена.
Сводка без полного списка
Другой пример: n = 3, значения -2, 3, 1, условие x >= 0. После -2 прочитано i = 1, принято k = 0, экстремумов ещё нет. Первое принятое 3 задаёт s = 3, k = 1, low = high = 3. После 1: i = 3, s = 4, k = 2, low = 1, high = 3. Среднее 2. В программе не сохраняются все три значения.
A1. n = 4; значения по очереди 5, -2, 0, 3. Условие x >= 0. До чтения i = 0, s = 0, k = 0, экстремумы ещё не найдены. После каждого прочитанного x запиши i, s, k, low и high. При первом принятом числе low = high = x. В конце запиши среднее и объясни, почему i и k различаются.
Заготовка для своей записи:
| x | i после | s после | k после | low / high |
|---|---|---|---|---|
| 5 | ||||
| -2 | ||||
| 0 | ||||
| 3 |
Сначала своя запись и основание, затем сверка.
Полная пауза
Две минуты без проекции, чтения, вычислений и обсуждения. Отведи взгляд и смени позу.
Два счётчика и первое принятое
Другой вход n = 3, значения -5, 6, 2 при x >= 0. Первое прочитанное -5 отклонено: i увеличился, k остался 0. Начальные low/high ещё не результат. Только 6 становится первым принятым, low = high = 6. После 2 минимум 2, максимум 6. Нельзя брать первый прочитанный -5 как минимум выбранных.
A2. В Python 3 сначала вводится n = 2, затем 4 и 6, каждое отдельной строкой. Все два значения принимаются. Ниже намеренно ошибочно ищут минимум. Какое число будет напечатано? Является ли оно минимумом входа? Объясни, каким правилом первого принятого значения исправить алгоритм; полный код переписывать не нужно.
n = int(input())
i = 0
low = 0
while i < n:
x = int(input())
if x < low:
low = x
i = i+1
print(low)
Две минуты лично, две на фактический ноль и правило первого принятого; в коротком варианте две лично и одна сверка.
Концептуальная иллюстрация. Точные данные определены условиями, таблицами и схемами; предметы на рисунке не являются входными данными.
Три запуска одного поточного алгоритма
Полный stream-starter.py уже читает n и ровно n значений без списка. Дополни условие и прибавляемое x, сохрани и исполни свой файл. В отдельной копии измени только >= 0 на > 0 и повтори тот же ввод. Затем снова запусти исходный файл с полностью отклонённым вводом. Для каждого запуска сначала прогноз двух строк, затем полный фактический ввод и вывод.
| Запуск | Что проверяется |
|---|---|
| Исходный >= 0 | Ноль входит в k и минимум |
| Копия > 0 | Меняется только условие |
| Исходный, все < 0 | Нет среднего и экстремумов |
B1. Лично в заранее готовом Python 3 открой stream-starter.py. Полное чтение и обновление экстремумов подготовлены. Две строки TODO: замени False условием x >= 0, а s = s+0 — строкой s = s+x. Сохрани двоеточие, отступы и остальные строки.
До первого запуска запиши прогноз двух строк вывода. Сохрани свой stream_A.py/stream_B.py в личную папку и запусти именно сохранённый файл. Вводи по одной строке, каждый раз Enter: сначала 5, затем 4, -1, 8, 0, 3. Это n и пять значений, не шесть значений. Запиши фактический вывод: первая строка s и k, вторая среднее, минимум, максимум.
Сохрани отдельную копию positive_A.py/positive_B.py. Измени только условие отбора на x > 0. С тем же вводом снова запиши прогноз, сохрани, запусти копию и сравни: почему изменились количество, среднее и минимум, а сумма и максимум сохранились?
В третий раз запусти свой исходный stream_A.py/stream_B.py без правки кода. Вводи отдельными строками 3, затем -4, -1, -2. Сначала прогноз, затем фактические две строки. У каждого два своих файла и три реальных запуска; запиши имена/папку, полные вводы, прогнозы, наблюдения и объяснение проверки пустого отбора.
Заготовка для своей записи:
| Условие и полный ввод | Прогноз: две строки | Фактические две строки |
|---|---|---|
| >=0; n=5; 4,-1,8,0,3 | ||
| >0; n=5; 4,-1,8,0,3 | ||
| >=0; n=3; -4,-1,-2 |
Четырнадцать минут: 1 инструкция + 6 первый ученик + 6 второй + 1 личная сверка; на 30 ПК параллельно. У каждого два сохранённых файла и три запуска, вводы подготовлены заранее.
Проверка вымышленного ответа ИИ
AI1. Вымышленный ИИ утверждает: «Если сумма равна нулю, среднее всегда равно нулю. Для максимума можно всегда оставить начальный high = 0 и только сравнивать с ним». Проверь обе фразы. Первый случай: n = 2, значения -3, -1, отбор x >= 0. Второй: n = 2, значения -4, -2, отбор x < 0.
Это заранее составленный учебный пример. Самостоятельно проверь конкретный шаг; обращение к сервису не требуется.
Помощь и резерв
- Включает n в сумму. n задаёт количество последующих данных.
- Останавливается на нуле. В этом протоколе читаются ровно n значений.
- Делит на n вместо k. Среднее только принятых — s/k.
- Оставляет экстремум равным нулю. При первом принятом присвоить ему x.
- Увеличивает i только для принятых. i считает каждое чтение; k — отбор.
- Считает s = 0 пустым отбором. Пустой отбор определяет k = 0.
D1. Резерв на бумаге. Поток 8, -1, 2 и поток 2, -1, 8 обрабатывают при x >= 0. Одинаковы ли сумма, количество, среднее и экстремумы? Можно ли по одним этим итогам восстановить исходный порядок всех трёх значений?
D1 — необязательный резерв на 3–4 минуты после основных попыток. При нехватке времени перенести. H1 и весь тест автоматически вместе не назначаются.
Индивидуальный итог
Четыре полные минуты лично. Условия заранее на бумаге. Памятка и разобранные модели разрешены; ключи и веб-разбор закрыты. Учитель не даёт учебных подсказок. Сбор после четырёх минут.
E1. n = 3, затем -2, 6, 0. Принимаются x > 0. Запиши s и k, затем среднее выбранных.
E2. n = 2, затем 0, 0. Принимаются x >= 0. Сколько чисел принято? Определено ли среднее, и если да, чему равно?
E3. В основной программе введено n = 0. Нужно ли читать ещё хоть одно значение x? Какой результат сообщить о среднем и экстремумах выбранных?
Разбор после своей попытки
После исправления выбери один новый пример из самопроверки.
Файлы для собственной практики
Распакуй ZIP заранее и открой stream-starter.py в готовом школьном Python 3. Только две TODO-строки дополняет сам ученик; чтение, счётчики и экстремумы подготовлены. Решённого B1 и личных наблюдений в архиве нет. Вводить n, затем каждое целое отдельной строкой с Enter.
Материалы и самопроверка
Презентация, самостоятельный план учителя, рабочий лист, выходной билет и бумажная самопроверка открываются отдельными карточками. DOCX можно смотреть на сайте и скачать. PDF для печати:
Самопроверка на сайте: шесть вопросов с пояснениями, отдельно 6–8 минут. Бумажная версия с письменными основаниями и разбором — 8–12 минут. Все шесть новых письменных случаев — ещё 8–10 минут; выбирай прежде всего случай к своей ошибке. Эти модули не прибавляют к основным 45 минутам и не задаются целиком вместе с H1 автоматически. Пояснения и новые случаи для бумажного разбора есть в плане учителя.
Домашний перенос
H1. Дома 5–7 минут на бумаге: n = 4, затем -1, 2, 0, 6. Принимаются x >= 0. Запиши принятые числа, s, k, среднее, минимум и максимум. Объясни, почему ноль нельзя считать признаком окончания именно этого потока. ПК не нужен.
Полное условие и памятка есть на листе. Решение запиши в тетради. Достаточно 5–7 минут с сохранённой опорой.
Источники
ФРП информатики 7–9 классов, базовый уровень, содержание 9 класса на печатных с. 10–12, результаты с. 19–20 и тематическое планирование с. 41–42. Соответствующий час авторского КТП 2026/2027. Содержание не расширяется до углублённого курса и не подменяется подготовкой к экзамену. Учебник школы не указан; номера параграфов не назначены.
6 вопросов по теме «Поток данных: сумма, среднее и экстремумы: самопроверка». Выбери ответ, прочитай объяснение и попробуй ещё раз, если ошибся.
Открыть отдельноВопрос 1 из 6
ТренировкаБез отметки и ограничения времени. Первый ответ учитывается отдельно от исправлений. При обновлении страницы ответы сбросятся.
Скачать и открыть
Материалы урока
7 материаловПодготовка к уроку
2 материала· для учителей
20 слайдов, отдельная качественная иллюстрация на каждом, редактируемые примеры и таблицы, практика, проверка ответа ИИ и заметки учителю.
Презентация
Самостоятельный план 45/40 минут: полные условия и ключи, карта 20 слайдов, помощь, индивидуальный итог, 18 объяснений самопроверки и шесть случаев переноса.
Методичка · MediaSchool
Рабочие листы и практика
4 материала· для учеников
Три страницы: памятка, собственные попытки, два основных действия, проверка совета ИИ, помощь, резерв и домашний перенос.
Рабочий лист
Два билета на А4. Четыре минуты индивидуально, памятка разрешена, шесть формирующих баллов.
Рабочий лист
Шесть вопросов совпадают с тестом на странице. Две страницы; 8–12 минут с письменными основаниями и разбором, ключи и новые случаи в плане.
Рабочий лист
Полный каркас с двумя TODO и инструкция для трёх личных запусков без массива.
Рабочий лист
Проверка знаний
1 материал· для учеников
6 вопросов с объяснениями и повторной попыткой.
Проверочная
От сообщества
Материалы сообщества0
Дополнения от учителей к этому уроку. Проверены модерацией, но не являются редакционным контентом MediaSchool.
Поделитесь первым материалом
Рабочий лист, презентация или методичка помогут другим учителям подготовиться к уроку.
Комментарии
Войдите, чтобы оставлять комментарии.
Пока нет комментариев. Будьте первым!