Проанализируй программу и ответь на вопросы.
def func(a,b,c):
if a>b:
s=(a-b)*c
else:
s=(b-a)*c
return(s)
cha=int(input())
chb=int(input())
chc=int(input())
print(func(cha,chb,chc))
Ответить
1) Сколько глобальных переменных?
2) Сколько локальных переменных?
3) Какое число выведет программа при вводе чисел:
4
12
4
Давайте разберем вашу задачу по шагам, чтобы понять, как работает предложенная программа. Мы также ответим на все ваши вопросы.
### Программа:
```python
def func(a, b, c):
if a > b:
s = (a - b) * c
else:
s = (b - a) * c
return(s)
cha = int(input())
chb = int(input())
chc = int(input())
print(func(cha, chb, chc))
```
### Шаг 1: Анализ программы
1. **Глобальные переменные**:
- Глобальные переменные в коде — это те, которые определены вне функций. В данном коде переменные `cha`, `chb` и `chc` определены вне функции `func`, следовательно, они являются глобальными.
- **Ответ:** 3 глобальные переменные (cha, chb, chc).
2. **Локальные переменные**:
- Локальные переменные — это те, которые определены внутри функции и доступны только в ее пределах. В функции `func` есть три параметра `a`, `b`, `c`, которые являются локальными для этой функции, а также переменная `s`, которая также объявлена внутри функции.
- **Ответ:** 4 локальные переменные (a, b, c, s).
### Шаг 2: Работа программы с вводом
Теперь рассмотрим, какое число будет выведено при вводе чисел 4, 12, 4.
- Ввод:
- `cha = 4`
- `chb = 12`
- `chc = 4`
- Вызов функции:
```python
func(cha, chb, chc) # что равняется func(4, 12, 4)
```
- Внутри функции `func`:
1. Сравнение `a > b`:
- `4 > 12` — это ложное утверждение, значит будет выполнен блок `else`.
2. Вычисление `s`:
```python
s = (b - a) * c
```
- То есть `s = (12 - 4) * 4`
- Сначала выполняем вычисление в скобках: `12 - 4 = 8`
- Теперь подставляем в формулу: `s = 8 * 4 = 32`
- Функция `func` вернет 32.
### Ответ на третий вопрос:
При вводе чисел 4, 12, 4 программа выведет **32**.
### Подводя итог:
1. Глобальных переменных: 3
2. Локальных переменных: 4
3. Вывод программы при вводе 4, 12, 4: 32.