Главная / Учебники / Информатика 9 класс / Параграф § 1.3 / ГДЗ § 1.3
| Глава: | Глава 1. Алгоритмы и программирование |
|---|---|
| Параграф: | § 1.3 - Запись вспомогательных алгоритмов на языке Python |
| Учебник: | Информатика 9 класс - |
| Автор: | Босова Людмила Леонидовна |
| Год: | 2025 |
| Издание: | 7-е издание, стереотипное |
Ответ:
Подпрограммы (процедуры и функции) используются для:
Ответ:
Основное различие состоит в возвращаемом значении:
return.Ответ:
Наименьшее общее кратное (НОК) двух натуральных чисел \( a \) и \( b \) связано с их наибольшим общим делителем (НОД) с помощью следующего соотношения:
\( \text{НОК}(a, b) = (a \cdot b) / \text{НОД}(a, b) \)
Решение на Python:
def print_symbol_lines(n, symbol='A'):
for _ in range(n):
print(symbol)
# Пример вызова
print_symbol_lines(5)
Решение на Python:
def print_rectangle(w, h, a):
for _ in range(h):
print(a * w)
# Пример вызова
print_rectangle(10, 3, '*')
Решение на Python:
def kdn(n):
# Преобразуем число в строку и находим ее длину
return len(str(abs(n)))
# Пример вызова
print(kdn(12345)) # Выведет 5
Решение на Python:
def kbin(n):
# Функция bin() возвращает строку вида '0b...'
# len(bin(n)) - 2 дает длину двоичной части
if n == 0:
return 1
return len(bin(n)) - 2
# Пример вызова
print(kbin(10)) # 10 в двоичной 1010, длина 4
Решение на Python (с использованием алгоритма Евклида для НОД):
def nod(a, b):
while b != 0:
a, b = b, a % b
return a
def nok(a, b):
if a == 0 or b == 0:
return 0
return abs(a * b) // nod(a, b)
def nok_of_four(n1, n2, n3, n4):
# Последовательное вычисление НОК: НОК(n1, n2, n3, n4) = НОК(НОК(НОК(n1, n2), n3), n4)
res1 = nok(n1, n2)
res2 = nok(res1, n3)
final_res = nok(res2, n4)
return final_res
# Исходные данные
num1, num2, num3, num4 = 36, 54, 18, 15
result = nok_of_four(num1, num2, num3, num4)
print(f"НОК({num1}, {num2}, {num3}, {num4}) = {result}")
# Ответ: 540
Решение на Python (используя сортировку пузырьком):
def swap(x, y):
return y, x
def sort_three(a, b, c):
# Упаковываем в список для удобства сортировки
nums = [a, b, c]
n = len(nums)
# Два прохода сортировки пузырьком
for i in range(n - 1):
if nums[i] > nums[i+1]:
nums[i], nums[i+1] = swap(nums[i], nums[i+1])
# Еще один проход для гарантии, так как используется только swap
if nums[0] > nums[1]:
nums[0], nums[1] = swap(nums[0], nums[1])
return nums[0], nums[1], nums[2]
# Ввод данных
try:
a, b, c = map(int, input("Введите три числа через пробел: ").split())
a, b, c = sort_three(a, b, c)
print(f"Результат: {a} {b} {c}")
except ValueError:
print("Ошибка ввода.")
Решение на Python:
def factorial(k):
if k == 0 or k == 1:
return 1
else:
res = 1
for i in range(2, k + 1):
res *= i
return res
def sum_of_factorials(n):
sum_s = 0
for i in range(1, n + 1):
sum_s += factorial(i)
return sum_s
# Ввод n
try:
n = int(input("Введите целое число n: "))
if n >= 1:
result = sum_of_factorials(n)
print(f"Сумма ряда до {n}! равна: {result}")
else:
print("Введите n >= 1.")
except ValueError:
print("Ошибка ввода.")
Решение на Python:
def power(base, exp):
# Встроенная функция pow() или оператор
return base exp
def calculate_expression(x, n):
s = power(x, 8) + power(x, 5) + power(x, n)
return s
# Ввод данных
try:
x = float(input("Введите x: "))
n = int(input("Введите n: "))
result = calculate_expression(x, n)
print(f"Значение выражения: {result}")
except ValueError:
print("Ошибка ввода.")
Решение на Python:
import math
def segment_length(x1, y1, x2, y2):
# Формула расстояния между двумя точками: sqrt((x2 - x1)^2 + (y2 - y1)^2)
return math.sqrt(power(x2 - x1, 2) + power(y2 - y1, 2))
def power(base, exp):
return base ** exp
def triangle_perimeter(xa, ya, xb, yb, xc, yc):
# Длины сторон
side_ab = segment_length(xa, ya, xb, yb)
side_bc = segment_length(xb, yb, xc, yc)
side_ca = segment_length(xc, yc, xa, ya)
# Периметр
perimeter = side_ab + side_bc + side_ca
return perimeter
# Ввод координат вершин
try:
print("Введите координаты вершины A (xA yA):")
xa, ya = map(float, input().split())
print("Введите координаты вершины B (xB yB):")
xb, yb = map(float, input().split())
print("Введите координаты вершины C (xC yC):")
xc, yc = map(float, input().split())
perimeter = triangle_perimeter(xa, ya, xb, yb, xc, yc)
print(f"Периметр треугольника: {perimeter:.2f}")
except ValueError:
print("Ошибка ввода.")
Решение на Python (используя формулу Гаусса / разбиение на треугольники):
def triangle_area(x1, y1, x2, y2, x3, y3):
# Формула площади по координатам вершин:
# 0.5 * |(x1(y2 - y3) + x2(y3 - y1) + x3(y1 - y2))|
area = 0.5 * abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2))
return area
def quad_area(xa, ya, xb, yb, xc, yc, xd, yd):
# Площадь четырехугольника как сумма площадей двух треугольников: ABC и ACD
area_abc = triangle_area(xa, ya, xb, yb, xc, yc)
area_acd = triangle_area(xa, ya, xc, yc, xd, yd)
total_area = area_abc + area_acd
return total_area
# Ввод координат вершин
try:
# Предполагается ввод в порядке, обходящем вершины
print("Введите координаты вершины A (xA yA):")
xa, ya = map(float, input().split())
print("Введите координаты вершины B (xB yB):")
xb, yb = map(float, input().split())
print("Введите координаты вершины C (xC yC):")
xc, yc = map(float, input().split())
print("Введите координаты вершины D (xD yD):")
xd, yd = map(float, input().split())
area = quad_area(xa, ya, xb, yb, xc, yc, xd, yd)
print(f"Площадь четырехугольника: {area:.2f}")
except ValueError:
print("Ошибка ввода.")
Задали создать проект?
Создай с помощью ИИ за 5 минут
Список готовых проектов к текущему параграфу.
ВНИМАНИЕ: Представленные фрагменты из учебных материалов используются исключительно в научно-образовательных целях в объеме, оправданном поставленной целью.
Данное использование осуществляется в рамках, установленных законодательством об авторском праве (в частности, нормами о свободном использовании произведения для образовательных целей).
В соответствии с законодательством, автор и источник заимствования указаны для каждого используемого фрагмента.