Раздел «Компьютерное мышление» в спецификации НЦТ
Программирование алгоритмов на Python
Главное по теме
- Переменная создаётся присваиванием: x = 5. Знак = это присваивание, == это сравнение на равенство.
- Типы данных: int (целое), float (дробное), str (строка), bool (True или False). input() всегда возвращает строку, число получают так: int(input()).
- Операции: + - * / (обычное деление, результат дробный), // (целая часть), % (остаток), ** (степень). 17 // 5 = 3, 17 % 5 = 2, 2 ** 3 = 8.
- range(a, b) даёт числа от a до b - 1, конец не входит. range(1, 5) это 1, 2, 3, 4. range(0, 10, 3) это 0, 3, 6, 9.
- Цикл for перебирает значения, цикл while повторяется, пока условие истинно. Тело цикла выделяется отступом.
- Условие: if, elif, else. После условия ставится двоеточие, тело записывается с отступом.
- Накопление суммы: s = 0, затем в цикле s = s + i. Сумма 1, 2, 3, 4 равна 10.
- Список: a = [3, 1, 4]. Нумерация с нуля: a[0] = 3, a[-1] = 4, len(a) = 3, a.append(7) добавляет элемент в конец.
- Логика в Python: and, or, not. Сравнения: ==, !=, больше, меньше, больше или равно, меньше или равно.
- Возведение в степень выполняется справа налево: 2 ** 3 ** 2 = 2 ** 9 = 512, а не (2 ** 3) ** 2 = 64.
- Сколько раз выполнится цикл for i in range(a, b, шаг): считают перечислением чисел. range(3, 20, 4) даёт 3, 7, 11, 15, 19, то есть 5 раз.
Задания с разбором
1.Что выведет print(7 + 3 * 2)?
- 1Умножение выполняется раньше сложения.
- 23 * 2 = 6.
- 37 + 6 = 13.
Ответ: 13
2.Что выведет программа? for i in range(1, 4): print(i * i)
- 1range(1, 4) даёт числа 1, 2, 3 (4 не входит).
- 2На каждом шаге печатается квадрат числа, каждый раз с новой строки.
- 31 · 1 = 1, 2 · 2 = 4, 3 · 3 = 9.
Ответ: 1, 4 и 9, каждое в новой строке
3.Что выведет программа? s = 0 for i in range(1, 5): s = i print(s)
- 1Внимательно смотрим на знак: здесь s = i, а не s += i.
- 2На каждом шаге s просто получает новое значение и старое пропадает.
- 3Последний шаг i = 4 (range(1, 5) заканчивается на 4), значит s = 4. Суммы 10 здесь нет.
Ответ: 4
Где теряют баллы
- Python: что выведет программа
Ловушка: Путают деление: / даёт дробь, // целую часть, % остаток; ** это степень.
Как решать: Выполняй программу на бумаге построчно, выписывая значения переменных после каждой строки.
- Python: циклы for, while, range
Ловушка: Считают, что range(1, 5) включает 5; путают число повторений цикла.
Как решать: range(a, b) идёт от a до b − 1, range(a, b, h) с шагом h. Число шагов range(a, b) это b − a.
- Python: условия и логические выражения
Ловушка: = путают с ==; and и or считают одинаково.
Как решать: == сравнение, = присваивание. and истинно, когда обе части истинны, or когда хоть одна. Проверяй ветку if по значениям переменных.
Объяснение простыми словами
Представь рецепт блинов: возьми яйцо, смешай с молоком, жарь каждый блин минуту, повтори, пока тесто не кончится. Это алгоритм: чёткая последовательность шагов с повторением и проверкой условий. Программа - это тот же алгоритм, только записанный на языке, который понимает компьютер, например на Python. Эта тема самая практичная на ЕНТ: тебе дают кусок кода и просят сказать, что он выведет. Научимся читать код как компьютер.
Начнём с переменных. Переменная - это коробка с именем, в которую кладут значение. Запись x = 5 кладёт число 5 в коробку x. Если потом написать x = x + 1, то в коробке окажется 6: сначала считается правая часть, потом результат кладётся в переменную. Значения бывают разных типов. int - целые числа, например 7. float - дробные, например 3.5. str - строки, текст в кавычках, например 'привет'. bool - логические, True или False. Важный момент: функция input() всегда возвращает строку. Если ввести 5 и написать x = input(), то x равно строке '5', а не числу 5. Чтобы получить число, пишут x = int(input()).
Дальше в Biik: продолжение объяснения, видеоразбор и проверка из 8 заданий по этой теме.
Доучи тему до конца в Biik
План на каждый день, видеоразборы, проверка из 8 заданий после каждой темы, пробник ЕНТ раз в месяц и ИИ-репетитор, который отвечает на вопросы. 3 дня бесплатно, без карты.
Диагностика покажет, сколько баллов тебе не хватает до гранта и где именно. 30 заданий после короткой бесплатной регистрации.
Термины
- Алгоритм
- Точная последовательность действий, приводящая к решению задачи.
- Программа
- Запись алгоритма на языке программирования.
- Переменная
- Именованная ячейка памяти, в которой хранится значение.
- Присваивание
- Запись значения в переменную: x = 5.
- Тип данных
- Вид значения: целое число, дробное, строка, логическое.
- int
- Тип целых чисел.
- float
- Тип вещественных (дробных) чисел.
- str
- Строковый тип, текст в кавычках.
- bool
- Логический тип со значениями True и False.
- input()
- Функция ввода: считывает строку с клавиатуры.
- print()
- Функция вывода значения на экран.
- Целочисленное деление //
- Деление с отбрасыванием дробной части: 17 // 5 = 3.
- Остаток от деления %
- Операция, возвращающая остаток: 17 % 5 = 2.
- Условный оператор if
- Выполняет блок кода только если условие истинно.
- elif и else
- Дополнительная проверка и ветка по умолчанию в условном операторе.
- Цикл for
- Цикл, перебирающий значения из последовательности, например из range.
- Цикл while
- Цикл, который повторяется, пока условие истинно.
- range()
- Функция, создающая последовательность чисел; конечное значение не входит.
- Отступ
- Сдвиг строки вправо, показывающий, что она принадлежит блоку.
- Список
- Упорядоченный набор элементов в квадратных скобках, нумерация с нуля.
- Индекс
- Номер элемента в списке или строке, начинается с 0.
- Счётчик и сумма
- Переменные, которые накапливают количество или сумму в цикле.
- Вложенный цикл
- Цикл внутри другого цикла: внутренний цикл выполняется полностью на каждом шаге внешнего.