Тема 8 · Информатика

Программирование и трассировка

Линейные, ветвящиеся и циклические программы на Питоне, трассировочные таблицы, обработка цифр числа. 100 заданий на отработку.

0
Решено
0
Правильно
0%
Точность

Простыми словами

Программа — инструкция для очень исполнительного, но ничего не понимающего помощника. Чтобы узнать, что он напечатает, надо пройти программу вместо него, строка за строкой, записывая значения переменных. Это и есть трассировка.

ЗаписьСмыслПример
=присваиваниеa = 7
==, !=сравнение: равно, не равноx % 8 == 0
//целая часть частного17 // 5 → 3
%остаток от деления17 % 5 → 2
**степень2 ** 3 → 8
print(), input()вывод, ввод

a = 12; b = 71; y = (a + b) // 7: (ост. 6), выведется 11.

Ветвление

if x < 17:
    y = x - 5
elif x % 8 == 0:
    y = x + 7
else:
    y = x * x - 4

Условия проверяются сверху вниз; как только очередное истинно, выполняется его ветвь, остальные пропускаются. Тело ветви выделяется отступом — именно отступ, а не скобки, задаёт границы блока.

: — нет; — нет; значит else: .

elif проверяет следующее условие, если все предыдущие оказались ложными; else срабатывает, когда ложны все. Операции: ** — возведение в степень, // — целочисленное деление, % — остаток, == — сравнение «равно», != — «не равно».

Циклы

for i in range(a, b): — пробегает ; всего повторений. Правая граница не входит!

2345678 — нет range(2, 8): 8 − 2 = 6 значений
Цикл for i in range(2, 11) выполнится раз

while условие: — тело повторяется, пока условие истинно. Условие проверяется перед каждым повтором; если оно никогда не станет ложным — зацикливание.

i = 3; s = 0; k = 0
while s < 40:
    s = s + i * 2
    i = i + 2
    k = k + 1
print(i)
Шаг?
старт030да
1651да
21672да
33093да
448114нет — выход

Напечатается . Строка таблицы — значения после очередного выполнения тела.

Внимательно смотрите, что печатают (, или ) и в каком порядке меняются переменные в теле: s = s + i * 2 стоит до i = i + 2, значит к прибавляется старое .

Обработка цифр числа

n % 10 — последняя цифра числа, n // 10 — число без последней цифры. Цикл while n > 0 перебирает цифры справа налево.

n = 48483
s = 1
while n > 0:
    s = s * (n % 10)
    n = n // 10
print(s)
  1. Цифры по очереди: 3, 8, 4, 8, 4.
  2. Произведение: .

Начальное значение подсказывает смысл: s = 0 и s + … — сумма; s = 1 и s * … — произведение; k = 0 и k + 1 — счётчик.

Серия: 0
Учителю

Готовые работы по теме

Собраны заранее — одним нажатием: распечатать с ключом, раздать ученикам ссылкой или QR-кодом, поменять настройки. Номер набора постоянный: по этой ссылке всегда та же работа.

Самостоятельная

10 заданий · 2 варианта · с ключом

РаспечататьРаздать ссылкойИзменить

Контрольная

15 заданий · онлайн, 40 минут

РаспечататьРаздать ссылкойИзменить

Диагностика перед темой

8 заданий · 15 минут

РаспечататьРаздать ссылкойИзменить

теория этой темы, 8 заданий по подтемам и ключ — файлом DOCX, который можно править под себя.

Учителю о теме

Что проверяется

  • Линейная программа
  • Ветвление
  • Цикл for
  • Цикл while
  • Трассировочная таблица
  • Обработка цифр числа
  • Язык программирования Питон

Содержание

На бумаге — не больше 25: дальше лист перестаёт быть работой на урок. Онлайн — до 40.

Не нравится задание в собранном листе — нажмите «заменить» под ним: вместо него встанет другое из той же подтемы.

Варианты

Разные задания при одинаковом наборе тем и одинаковом числе заданий.

Прохождение онлайн

Имя ученика никуда не отправляется: он вводит только номер по списку, а таблицу «номер → фамилия» видите только вы.

Оценка
Печать

Собранный лист можно скачать файлом Word — кнопка «Скачать DOCX» над листом: задания, место под решение и ключ, всё редактируется.

Печатается над каждым вариантом. Хранится только в этом браузере, в ссылку не попадает.

По одному и тому же номеру собирается та же работа — ссылку можно сохранить и вернуться к ней позже.