Главная / Учебники / Информатика 8 класс / Параграф §5.6
| Глава: | Глава 5. Начала программирования на языке Python |
|---|---|
| Параграф: | §5.6 - Тестовые задания для самоконтроля |
| Учебник: | Информатика 8 класс - |
| Автор: | Босова Людмила Леонидовна |
| Год: | 2025 |
| Издание: | 7-е издание, стереотипное |
Основы программирования на Python и самоконтроль знаний
Данный раздел представляет собой набор тестовых заданий, предназначенных для самоконтроля знаний по основам программирования, в частности, на языке Python. Задания охватывают ключевые аспекты, начиная от истории языка и его синтаксических правил до работы с основными операторами, типами данных, условными конструкциями, циклами и функциями.
Тесты начинаются с вопроса о создателе языка Python, которым является Гвидо ван Россум. Это фундаментальный факт для понимания происхождения языка.
Далее проверяются знания о синтаксисе и алфавите языка. Важно понимать, что в алфавит Python входят латинские строчные и прописные буквы, служебные слова и знак подчёркивания, но русские строчные и прописные буквы не являются его частью при написании кода и идентификаторов. Также рассматриваются правила именования переменных: имя не может начинаться с цифры, хотя может содержать знак подчёркивания. Таким образом, последовательность символов, которая не может служить именем переменной, это, например, та, что начинается с цифры, как 2d, в то время как _mas и d2 допустимы.
Ключевым моментом является знание основных типов данных. Для обозначения вещественного типа данных (чисел с плавающей точкой) в Python используется ключевое слово float, а не int (целочисленный), bool (логический) или str (строковый).
Проверяются знания о базовых элементах программ. Языковые конструкции, используемые для записи действий, которые программа должна выполнить, называются операторами, а не операндами (участники операций), выражениями (комбинации операндов и операторов) или данными.
Важный аспект синтаксиса — разделитель между операторами, когда они располагаются на одной строке. Для этого служит символ точка с запятой (\( ; \)), в то время как точка (\( . \)), пробел и запятая (\( , \)) используются для других целей или в других контекстах.
В тестах также затрагивается понятие присваивания. При выполнении операции присваивания (\( = \)) всегда изменяется значение переменной, находящееся в ячейке памяти, ассоциированной с именем переменной, а не её тип или имя.
Для работы с вводом/выводом данных используются специальные операторы. Для вывода результатов на экран в Python используется оператор print, а не while (цикл), input (ввод данных) или and (логический оператор).
Проверяется знание стандартных функций. Для вычисления квадратного корня из числа \( x \) в Python обычно используется функция sqrt(x), которая находится в модуле math. abs(x) используется для абсолютного значения, а int(x) — для преобразования в целое число.
Для генерации случайных чисел используются функции из модуля random. Для получения случайного целого числа из отрезка \([10, 20]\) используется функция randint(10, 20). Важно отличать её от random() (случайное вещественное число от 0 до 1) и учитывать, что randint включает оба конца интервала.
Задания на условные операторы проверяют синтаксическую корректность. В Python правильный синтаксис условного оператора (ветвления) включает двоеточия после условий (\( : \)) и ключевые слова if, elif, else. Ошибки присутствуют в конструкциях, где, например, используется двойное равно (\( == \)) без двоеточия или слово else написано в той же строке, что и if/elif без надлежащего синтаксиса.
Проверяется способность трассировать код. В фрагменте программы, где \( a = 100 \), \( b = 30 \), и \( a = a - b \cdot 3 \), сначала \( a \) становится \( 10 \). Затем, если \( a > b \) (что ложно, так как \( 10 > 30 \) — это False), выполняется блок else, где \( c = b - a \), что даёт \( 30 - 10 = 20 \). Таким образом, конечное значение \( c \) равно 20.
Другой пример трассировки: условный оператор if a % 2 == 0: print('Да') else: print('Нет') проверяет, является ли остаток от деления числа \( a \) на 2 равным нулю. Это классический способ определить, является ли число чётным.
Знание операторов цикла: Python поддерживает циклы for и while. Оператора repeat...until в стандартном Python не существует, хотя его функциональность можно эмулировать с помощью цикла while.
Трассировка цикла while: в фрагменте с \( a = 1 \), \( b = 1 \), условие \( a + b < 8 \) выполняется: \( 1+1=2 \) (True), \( a \) становится 2, \( b \) становится 3. Затем \( 2+3=5 \) (True), \( a \) становится 3, \( b \) становится 5. Затем \( 3+5=8 \) (False). Цикл выполняется 2 раза.
Ещё одна трассировка: \( s = 0 \), \( i = 5 \), цикл while i > 0: s = s + i; i = i - 1. Итерации: (1) \( i=5 \), \( s=5 \), \( i=4 \); (2) \( i=4 \), \( s=5+4=9 \), \( i=3 \); (3) \( i=3 \), \( s=9+3=12 \), \( i=2 \); (4) \( i=2 \), \( s=12+2=14 \), \( i=1 \); (5) \( i=1 \), \( s=14+1=15 \), \( i=0 \). Конечные значения: \( s = 15 \), \( i = 0 \).
Трассировка цикла for: s = 0; for i in range(1, 11): s = s + 2 * i. Функция range(1, 11) генерирует последовательность чисел \(\{1, 2, 3, \ldots, 10\}\). В каждой итерации к \( s \) прибавляется \( 2 \cdot i \). Это эквивалентно \( 2 \cdot (1 + 2 + 3 + \ldots + 10) \), что представляет собой удвоенную сумму целых чисел от 1 до 10. Сумма целых чисел от 1 до 10 — это \((10 \cdot 11) / 2 = 55\). Итоговая сумма \( s = 2 \cdot 55 = 110 \). Таким образом, программа вычисляет удвоенную сумму целых чисел от 1 до 10. Правильный ответ: удвоенная сумма целых чисел от 1 до 10.
Этот раздел содержит тесты для самоконтроля знаний по основам Python. Они охватывают историю языка, синтаксис, операторы, типы данных, условные конструкции, циклы и функции.
Тесты начинаются с вопросов о создателе Python, Гвидо ван Россуме, и алфавите языка, который не включает русские буквы.
Ключевые темы включают типы данных (float для вещественных чисел), операторы (действия программы) и разделитель операторов на одной строке — точку с запятой.
Проверяется понимание присваивания, которое изменяет значение переменной, и оператора print для вывода.
Рассматриваются стандартные функции, такие как sqrt(x) (квадратный корень), и функции для генерации случайных чисел (randint).
Тесты также проверяют знание условных операторов (if, elif, else с двоеточиями) и уменние трассировать код.
Особое внимание уделяется операторам цикла (for, while) и их работе, включая генерацию последовательностей с помощью range и вычисление сумм.
Основные понятия и ключевые фигуры:
int: Целочисленный тип данных.float: Вещественный тип данных (с плавающей точкой).str: Строковый тип данных.bool: Логический тип данных (True/False).print().sqrt(x) (из модуля math).randint(a, b) (включая \( a \) и \( b \)).if, elif, else, после которых обязательно ставится двоеточие (\( : \)).for и while. Оператора repeat...until нет.range(a, b): Генерирует последовательность чисел от \( a \) до \( b-1 \).Задали создать проект?
Создай с помощью ИИ за 5 минут
Список готовых проектов к текущему параграфу.
ВНИМАНИЕ: Представленные фрагменты из учебных материалов используются исключительно в научно-образовательных целях в объеме, оправданном поставленной целью.
Данное использование осуществляется в рамках, установленных законодательством об авторском праве (в частности, нормами о свободном использовании произведения для образовательных целей).
В соответствии с законодательством, автор и источник заимствования указаны для каждого используемого фрагмента.