Давайте разберемся по очереди с каждым вопросом, подробно объясняя каждый шаг.
Анализ программы
def func(a, b):
d = 9 # локальная переменная
if a > b:
s = (a - b) * d # локальная переменная
else:
s = (b - a) * d # локальная переменная
return s
cha = int(input())
chb = int(input())
print(func(cha, chb))
Вопрос 1: Сколько глобальных переменных?
Что такое глобальные переменные?
Это переменные, объявленные вне функций и доступные глобально по всему коду.
В нашем коде:
- Переменные
cha и chb объявлены вне функции — это глобальные переменные.
- Также есть функция
func, внутри которой объявлены переменные a, b, d, s. Но эти переменные — локальные.
Ответ:
Глобальных переменных всего 2: cha и chb.
Вопрос 2: Сколько локальных переменных?
Что такое локальные переменные?
Это переменные, объявленные внутри функции и используемые только в рамках этой функции.
В функции func:
a и b — параметры функции, они автоматически локальные.
d — объявлена внутри функции.
s — тоже объявлена внутри функции.
Итого внутри func: 4 локальные переменные.
В основном коде вне функции:
Нет других локальных переменных.
Ответ:
4 локальные переменные: a, b, d, s.
Вопрос 3: Какое число выведет программа при вводе чисел 10 и 12?
Что происходит после ввода?
Конвертация в int: cha=10, chb=12.
Затем вызов: func(10,12)
Разбор логики функции:
- Проверка:
if a > b: → if 10 > 12: — ложно, значит используем else.
- В
else: s = (b - a) * d = (12 - 10) * 9 = 2 * 9 = 18
- Возвращается
18.
Ответ:
Программа выведет число 18.
Итоговые ответы:
- Глобальных переменных: 2 (cha и chb)
- Локальных переменных: 4 (a, b, d, s)
- Вывод при вводе 10 и 12: 18
Если нужны дополнительные объяснения — пишите!