Главная / Учебники / Информатика 8 класс / Параграф § 5.3 / ГДЗ § 5.3
| Глава: | Глава 5. Начала программирования на языке Python |
|---|---|
| Параграф: | § 5.3 - Программирование линейных алгоритмов |
| Учебник: | Информатика 8 класс - |
| Автор: | Босова Людмила Леонидовна |
| Год: | 2025 |
| Издание: | 7-е издание, стереотипное |
Ответ:
Ключевые типы данных, используемые в линейных алгоритмах, включают:
Ответ:
Команда import (например, from math import *) используется для подключения внешних модулей (библиотек) в программу, предоставляя доступ к дополнительным функциям (таким как математические функции из модуля math или функции для работы со случайными числами из модуля random), которые не встроены в основной язык.
Ответ:
Ответ:
Строковый тип данных (str) представляет собой произвольную последовательность символов, которая рассматривается как единый объект и заключается в одинарные или двойные кавычки. Объединение (конкатенация) двух строк в Python выполняется оператором сложения (+), например, 'a' + 'b'.
Ответ:
Логическая переменная может принимать одно из двух значений: True (истина) или False (ложь). Она применяется для хранения результатов операций сравнения (\(a > b\) и т.п.) и логических выражений, построенных с помощью операторов and, or, not.
Ответ:
ord(символ). Например, ord('A'). chr(код). Например, chr(65). Ответ:
Срез строки s[m:k] используется для извлечения подстроки. Он включает символы, начиная с индекса \(m\) (начало среза) и до символа с индексом \(k-1\) (символ с индексом \(k\) в срез не входит). Индексация символов в строке Python начинается с \(0\).
Ответ:
Для получения случайного целого числа из полуинтервала \((a; b]\) нужно использовать функцию randint(a + 1, b). Функция randint(m, n) генерирует числа на отрезке \([m, n]\). Поскольку \(a\) не должно входить в интервал, начинать генерацию нужно с \(a+1\).
Программа вычисляет площадь треугольника по формуле Герона. Математическая формула для финального значения \(s\), где \(p\) — полупериметр, а \(a, b, c\) — длины сторон, имеет вид:
\[ s = \sqrt{p (p - a) (p - b) (p - c)} \]Решение с использованием пяти операторов присваивания и без возведения в степень:
x = float(input('Введите x>>'))# Используем преобразованное выражение: y = ((x + 2.5) * x - 1) * x + 1a = x + 2.5b = a * xc = b - 1d = c * xy = d + 1print('y = ', y)Проверка для \(x = 2\): \(y = (2+2.5) \cdot 2^2 - 2 + 1 = 4.5 \cdot 4 - 2 + 1 = 18 - 2 + 1 = 17\).
Программа для вычисления длины отрезка:
from math import sqrtxa = int(input('Введите xa>>'))ya = int(input('Введите ya>>'))xb = int(input('Введите xb>>'))yb = int(input('Введите yb>>'))# Вычисление разности координатdx = xb - xady = yb - ya# Вычисление квадратов разностей (возведение в степень)dx2 = dx 2dy2 = dy 2# Вычисление длины отрезка по формулеd = sqrt(dx2 + dy2)print('|AB| =', d)Тест: \(x_a=2, y_a=1, x_b=10, y_b=7\). \(d = \sqrt{(10 - 2)^2 + (7 - 1)^2} = \sqrt{8^2 + 6^2} = \sqrt{64 + 36} = \sqrt{100} = 10.0\).
Программа для вычисления площади треугольника по формуле Герона:
from math import sqrta = float(input('Введите a>>'))b = float(input('Введите b>>'))c = float(input('Введите c>>'))# Полупериметрp = (a + b + c) / 2# Площадь по формуле Геронаs = sqrt(p * (p - a) * (p - b) * (p - c))print('s =', s)Тест: \(a=3, b=4, c=5\). \(p = (3+4+5)/2 = 6\). \(s = \sqrt{6 \cdot (6-3) \cdot (6-4) \cdot (6-5)} = \sqrt{6 \cdot 3 \cdot 2 \cdot 1} = \sqrt{36} = 6.0\).
Программа для вычисления площади треугольника по координатам вершин \(s = 0.5 | (x_a - x_c)(y_b - y_c) - (x_b - x_c)(y_a - y_c) |\):
xa = int(input('xa='))ya = int(input('ya='))xb = int(input('xb='))yb = int(input('yb='))xc = int(input('xc='))yc = int(input('yc='))# Вычисление по формуле с учетом модуля (abs)s = 0.5 * abs((xa - xc) * (yb - yc) - (xb - xc) * (ya - yc))print('s =', s)Тест: \(x_a=2, y_a=1, x_b=6, y_b=5, x_c=10, y_c=1\). \(s = 0.5 | (2 - 10)(5 - 1) - (6 - 10)(1 - 1) | = 0.5 | (-8) \cdot 4 - (-4) \cdot 0 | = 0.5 | -32 | = 16.0\).
Задача требует нестандартного округления. Если \(X.50\) рублей округляется к \(X\) рублей, а \(X.51\) к \(X+1\) рубль, то:
int())int() + 1)import mathn = float(input('Введите точную сумму налога в рублях и копейках: '))\n# Выделение дробной части (копеек)kopeyki = n - int(n)if kopeyki < 0.5: # Округление до ближайшего рубля в меньшую сторону (для 50 копеек и меньше) oplata = int(n)else: # Округление до ближайшего рубля в большую сторону (для > 50 копеек) oplata = int(n) + 1print('Сумма к уплате:', oplata)
Программа для генерации случайного целого числа от \(1\) до \(10\) включительно:
from random import randinta = randint(1, 10)print('Случайное число от 1 до 10:', a)
Программа для генерации случайных номеров билетов по категориям:
from random import randint# Билет для молодежи (от 1 до 100)youth_ticket = randint(1, 100)# Билет для взрослых (от 101 до 200)adult_ticket = randint(101, 200)# Билет для пенсионеров (от 201 до 250)senior_ticket = randint(201, 250)print('Билет для молодежи:', youth_ticket)print('Билет для взрослых:', adult_ticket)print('Билет для пенсионеров:', senior_ticket)
Программа для анализа двузначного числа \(N\):
N = int(input('Введите двузначное число>>'))# Выделение цифр: десятков (a) и единиц (b)a = N // 10b = N % 10# Сумма цифрsum_digits = a + b# Произведение цифрprod_digits = a * b# Число, образованное перестановкой цифр: 10 * b + areversed_N = b * 10 + aprint('Сумма цифр:', sum_digits)print('Произведение цифр:', prod_digits)print('Число с переставленными цифрами:', reversed_N)
Программа для расчета сдачи купюрами и монетами:
S = int(input('Введите сумму сдачи (руб.)>>'))# Используемые купюры: 500, 200, 100, 50# Количество купюр 500 руб.k500 = S // 500S = S % 500# Количество купюр 200 руб.k200 = S // 200S = S % 200# Количество купюр 100 руб.k100 = S // 100S = S % 100# Количество купюр 50 руб.k50 = S // 50S = S % 50# Оставшаяся сумма - монетыmonety = S# Вывод результатовprint('Следует сдать:')print('банкнот по 500 руб. -', k500, 'шт.')print('банкнот по 200 руб. -', k200, 'шт.')print('банкнот по 100 руб. -', k100, 'шт.')print('банкнот по 50 руб. -', k50, 'шт.')print('монетами -', monety, 'руб.')Тест \(S=845\): \(845 // 500 = 1\), остаток \(345\). \(345 // 200 = 1\), остаток \(145\). \(145 // 100 = 1\), остаток \(45\). \(45 // 50 = 0\), остаток \(45\). Монеты: \(45\) руб.
Программа для перевода секунд в часы и минуты:
k = int(input('Введите секунду суток k>>'))# Количество секунд в часе: 3600h = k // 3600 # Целое число часов# Оставшиеся секунды после вычета часовremaining_seconds = k % 3600# Количество минут в оставшихся секундахm = remaining_seconds // 60print('It is', h, 'hours', m, 'minutes')Тест \(k=13257\): \(h = 13257 // 3600 = 3\). \(remaining\_seconds = 13257 \% 3600 = 2457\). \(m = 2457 // 60 = 40\). Результат: It is 3 hours 40 minutes.
Программа для вычисления суммы кодов букв слова БАЙТ:
word = 'БАЙТ'sum_codes = ord(word[0]) + ord(word[1]) + ord(word[2]) + ord(word[3])print('Сумма кодов символов слова БАЙТ:', sum_codes)
Программа для формирования строки из заданных кодов ASCII:
s = chr(66) + chr(69) + chr(71) + chr(73) + chr(78)print('Полученная строка:', s) # Выведет 'BEGIN'
Программа для вывода всех перестановок трех слов (конкатенация строк):
a = input('Введите прилагательное>>')b = input('Введите существительное>>')c = input('Введите глагол>>')print(a, b, c)print(a, c, b)print(b, a, c)print(b, c, a)print(c, a, b)print(c, b, a)Тест: ЗЕЛЁНЫЕ ЛИСТЬЯ РАСПУСКАЮТСЯ и все остальные 5 перестановок.
Нет решения
Программа для угадывания даты рождения:
name = input('Как вас зовут? ')result = int(input('Сообщите мне результат ваших вычислений: '))# Обратный алгоритм:# 1. Вычесть 250: (D * 2 + 5) * 50 + M - 250 = 100*D + 250 + M - 250 = 100*D + Mintermediate = result - 250# 2. Две первые цифры - это день (D = intermediate // 100)day = intermediate // 100# 3. Две последние цифры - это месяц (M = intermediate % 100)month = intermediate % 100# Выводprint('Привет,', name, '!\nЯ угадал, что вы родились', day, 'числа, в', month, 'месяце.')
(a == 10) дает True. (b > 10) дает True. True or True дает True.(a < 15) дает True. not (True) дает False. (b > 20) дает False. False or False дает False.Программа для проверки логических высказываний:
# Задание а)N = int(input('Введите трехзначное число>>'))# Разложение на цифры: сотни, десятки, единицыc1 = N // 100c2 = (N // 10) % 10c3 = N % 10sum_digits = c1 + c2 + c3# Проверка на четность: остаток от деления на 2 равен 0rez_a = (sum_digits % 2 == 0)print('Сумма цифр трехзначного числа N является четным числом:', rez_a)\n# Задание б)a = float(input('Введите сторону a>>'))b = float(input('Введите сторону b>>'))c = float(input('Введите сторону c>>'))# Разносторонний, если a != b И b != c И a != crez_b = (a != b) and (b != c) and (a != c)print('Треугольник со сторонами a, b, c является разносторонним:', rez_b)
Задали создать проект?
Создай с помощью ИИ за 5 минут
Список готовых проектов к текущему параграфу.
ВНИМАНИЕ: Представленные фрагменты из учебных материалов используются исключительно в научно-образовательных целях в объеме, оправданном поставленной целью.
Данное использование осуществляется в рамках, установленных законодательством об авторском праве (в частности, нормами о свободном использовании произведения для образовательных целей).
В соответствии с законодательством, автор и источник заимствования указаны для каждого используемого фрагмента.