Вперед
ГДЗ Інформатіка 7 клас. Підручник [Бондаренко О.О., Ластовецький В.В.] 2024
26.10.2024,
7 Клас / Інформатика,
310,
0
§ 40 Обчислення з використанням функцій користувача
Питання для самоперевірки1. Що буде виведено, якщо x = 123; x = 54 321?
def f(x):
k = 0
while x>0:
x = x//10
k += 1
return k
x = int(input('x = ?'))
print(f(x))
Розглянемо код, щоб зрозуміти, що буде виведено.
Ось програма з корекцією відступів для функції `f`:
```python
def f(x):
k = 0
while x > 0:
x = x // 10
k += 1
return k
x = int(input('x = ?'))
print(f(x))
```
Пояснення
1. Функція `f(x)` рахує кількість цифр у числі `x`. Вона ділить `x` на 10 (цілочисельний поділ) у циклі `while`, поки `x` не стане 0. При кожному діленні на 10 змінна `k` збільшується на 1, підраховуючи кількість ітерацій (тобто кількість цифр).
2. Користувач вводить число для змінної `x`. Залежно від введеного значення `x`, функція `f(x)` повертає кількість цифр у цьому числі.
Приклади
- Якщо ввести `x = 123`, функція `f(123)` поверне `3`, оскільки `123` має 3 цифри.
- Якщо ввести `x = 54321`, функція `f(54321)` поверне `5`, оскільки `54321` має 5 цифр.
Отже:
- Для введеного `x = 123`, програма виведе `3`.
- Для введеного `x = 54321`, програма виведе `5`.
Ця функція рахує кількість цифр у числі `x`.
1. Якщо `x = 123`, функція буде працювати так:
- Перший крок: `x = 123 // 10 = 12`, `k = 1`
- Другий крок: `x = 12 // 10 = 1`, `k = 2`
- Третій крок: `x = 1 // 10 = 0`, `k = 3`
Отже, `f(123)` поверне `3`, тому на екран буде виведено `3`.
2. Якщо `x = 54321`, функція працює так:
- Перший крок: `x = 54321 // 10 = 5432`, `k = 1`
- Другий крок: `x = 5432 // 10 = 543`, `k = 2`
- Третій крок: `x = 543 // 10 = 54`, `k = 3`
- Четвертий крок: `x = 54 // 10 = 5`, `k = 4`
- П'ятий крок: `x = 5 // 10 = 0`, `k = 5`
Отже, `f(54321)` поверне `5`, і на екран буде виведено `5`.
2. Використання функції `m(a, b)` для знаходження найбільшого з трьох чисел `x`, `y`, `z`
Функція `m(a, b)` визначає більше з двох чисел. Щоб знайти найбільше з трьох чисел `x`, `y`, `z`, можна викликати цю функцію двічі:
```python
def m(a, b):
if a > b:
k = a
else:
k = b
return k
x = int(input('x = ?'))
y = int(input('y = ?'))
z = int(input('z = ?'))
# Використовуємо функцію m двічі
largest = m(m(x, y), z)
print("Найбільше число:", largest)
```
Тут:
1. Спочатку `m(x, y)` знаходить більше з `x` і `y`.
2. Далі результат порівнюється з `z` за допомогою `m(...)`, щоб знайти найбільше з трьох чисел.
3. Проаналізуйте програму для знаходження площі прямокутної пластини розмірами а×b см із круглим отвором радіуса
Програма знаходить площу прямокутника розмірами `a×b` см із круглим отвором радіуса `r`. Функції `s(a, b)` та `c(r)` обчислюватимуть площу прямокутника і площу круга відповідно:
```python
import math
# Функція для обчислення площі прямокутника
def s(a, b):
return a * b
# Функція для обчислення площі круга
def c(r):
return math.pi * r2
# Введення даних
a = int(input('a = ?'))
b = int(input('b = ?'))
r = int(input('r = ?'))
# Обчислення площі
pl = s(a, b) - c(r)
print("Площа дорівнює", pl, "кв. см")
```
У цьому коді:
- `s(a, b)` повертає площу прямокутника.
- `c(r)` повертає площу круга з радіусом `r`.
- Різниця `s(a, b) - c(r)` дає площу прямокутної пластини із круглим отвором.
4. Створіть функцію, яка повертає добуток двох чисел.
Ось проста функція для знаходження добутку двох чисел `a` та `b`:
```python
def multiply(a, b):
return a * b
# Використання функції
a = int(input('Перше число: '))
b = int(input('Друге число: '))
print("Добуток чисел:", multiply(a, b))
```
Ця функція повертає добуток `a` та `b` і виводить результат.
Якщо помітили в тексті помилку, виділіть її та натисніть Ctrl + Enter