Приклади задач з розгалуженням
Приклади задач з розгалуженням
1. Напишіть програму, яка знаходить абсолютне значення числа (модуль числа).
1. Напишіть програму, яка знаходить абсолютне значення числа (модуль числа).
x = int(input('Введіть число: ')) # вводимо число за допомогою команди input
if x > 0: # команда розгалуження! перевіряємо, чи число додатне
print(x) # виводимо число без зміни
else: # інакше — виводимо число з протилежним знаком
print(-x)
Примітка. Якщо не використовувати розгалуження, для відшукання модуля числа достатньо скористатися вбудованою функцією abs(x).
2. Визначити, чи вказане ціле число є:
2. Визначити, чи вказане ціле число є:
1) додатнім чи від’ємним;
1) додатнім чи від’ємним;
2) однозначним, двозначним чи багатозначним;
2) однозначним, двозначним чи багатозначним;
3) парним чи непарним.
3) парним чи непарним.
n = int(input('Введіть число n: ')) # вводимо ціле число за допомогою команди input
print('Введене число:')
if n > 0: # команда розгалуження! перевіряємо, чи число додатне
print('додатнє,')
elif n < 0:
print('від\'ємне,') # перевіряємо, чи число від'ємне
else:
print('є нулем,')
if abs(n) < 10: # перевіряємо кількість цифр у числі
print('однозначне,') #
elif abs(n) >= 10 and abs(n) < 100: #
print('двозначне,') #
else: #
print('багатозначне,')
if n % 2 == 0: # перевіряємо, чи число ділиться на 2
print('парне')
else:
('непарне')
3. Створіть програму, яка визначає чи введений рік є високосним. Згідно з григоріанським календарем, рік є високосним, якщо він кратний 4, але не кратний 100, а також якщо він кратний 400.
3. Створіть програму, яка визначає чи введений рік є високосним. Згідно з григоріанським календарем, рік є високосним, якщо він кратний 4, але не кратний 100, а також якщо він кратний 400.
year = int(input('Введіть рік: ')) # вводимо рік за допомогою команди input
if year % 4 == 0: # перевіряємо вказані умови
if year % 100 == 0 and year % 400 != 0:
print('Не високосний')
else:
print('Високосний')
else:
print('Не високосний')
4. Створити програму, яка переводить одні одиниці вимірювання інформації у інші (використати такі одиниці вимірювання: байти, кілобайти, мегабайти, гігабайти, терабайти).
4. Створити програму, яка переводить одні одиниці вимірювання інформації у інші (використати такі одиниці вимірювання: байти, кілобайти, мегабайти, гігабайти, терабайти).
units = str(input('Оберіть одиницю вимірювання: \nB - байти, \nKB - кілобайти,\nMB - мегабайти, \nGB - гігабайти, \nTB - терабайти\n\n'))
amount = float(input('Введіть величину: '))
print('')
if units == 'B':
print('Кілобайти: %s' % (amount / 2 ** 10))
print('Мегабайти: %s' % (amount / 2 ** 20))
print('Гігабайти: %s' % (amount / 2 ** 30))
print('Терабайти: %s' % (amount / 2 ** 40))
elif units == 'KB':
print('Байти: %s' % (amount * 2 ** 10))
print('Мегабайти: %s' % (amount / 2 ** 10))
print('Гігабайти: %s' % (amount / 2 ** 20))
print('Терабайти: %s' % (amount / 2 ** 30))
elif units == 'MB':
print('Байти: %s' % (amount * 2 ** 20))
print('Кілобайти: %s' % (amount * 2 ** 10))
print('Гігабайти: %s' % (amount / 2 ** 10))
print('Терабайти: %s' % (amount / 2 ** 20))
elif units == 'GB':
print('Байти: %s' % (amount * 2 ** 30))
print('Кілобайти: %s' % (amount * 2 ** 20))
print('Мегабайти: %s' % (amount * 2 ** 10))
print('Терабайти: %s' % (amount / 2 ** 10))
elif units == 'TB':
print('Байти: %s' % (amount * 2 ** 40))
print('Кілобайти: %s' % (amount * 2 ** 30))
print('Мегабайти: %s' % (amount * 2 ** 20))
print('Гігабайти: %s' % (amount * 2 ** 10))
5. Написати програму, яка шукає корені квадратного рівняння ax^2 + bx + c = 0.
5. Написати програму, яка шукає корені квадратного рівняння ax^2 + bx + c = 0.
import math # імпортуємо бібліотеку з математичними функціями
print("Введіть коефіцієнти квадратного рівняння ax^2 + bx + c = 0: ") # вводимо коефіцієнти квадратного рівняння
a = float(input("a = "))
b = float(input("b = "))
c = float(input("c = "))
D = b ** 2 - 4 * a * c # обчислюємо дискримінант
if D > 0: # перевіряємо, чи дискримінант додатній
x1 = (-b + math.sqrt(D)) / (2 * a) # шукаємо корені при додатному дискримінанті
x2 = (-b - math.sqrt(D)) / (2 * a)
print('x1 = %s \nx2 = %s' % (x1, x2)) # виводимо результат
elif D == 0: # перевіряємо, чи дискримінант дорівнює нулю
x = -b / (2 * a) # шукаємо корінь
print('x = %s' % x) # виводимо результат
else:
print("Рівняння із заданими коефіцієнтами коренів не має") # якщо дискримінант від'ємний, то коренів немає
6. За введеними координатами з'ясувати, до якої координатної чверті належить точка.
6. За введеними координатами з'ясувати, до якої координатної чверті належить точка.
print('Введіть координати точки:') # вводимо координати точки
x = float(input("x = "))
y = float(input("y = "))
if x > 0 and y > 0: # здійснюємо перевірку попадання у першу чверть, у якій обидві координати додатні
print('Точка в I четверті')
elif x < 0 and y > 0: # команда elif здійснює перевірку альтернативної умови (друга чверть)
print('Точка в II четверті')
elif x < 0 and y < 0:
print('Точка в III четверті')
elif x > 0 and y < 0:
print('Точка в IV четверті')
elif x == 0 and y == 0:
print('Точка в початку координат')
elif x == 0:
print('Точка на осі Y')
elif y == 0:
print('Точка на осі X')
7. Написати програму для обчислення площі круга, прямокутника і трикутника. Якщо користувач обирає круг, то потрібно ввести радіус, а якщо прямокутник чи трикутник – довжини сторін.
7. Написати програму для обчислення площі круга, прямокутника і трикутника. Якщо користувач обирає круг, то потрібно ввести радіус, а якщо прямокутник чи трикутник – довжини сторін.
import math
figure = str(input('Оберіть фігуру (введіть слово \"круг", \"прямокутник" чи \"трикутник"): '))
if figure == 'круг':
print('Введіть радіус круга:')
r = float(input('r = '))
print('Площа круга = %s' % (math.pi * r ** 2))
elif figure == 'прямокутник':
print('Введіть довжини сторін:')
a = float(input('a = '))
b = float(input('b = '))
print('Площа прямокутника = %s' % (a*b))
elif figure == 'трикутник':
print('Введіть довжини сторін:')
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
p = (a + b + c) / 2
s = math.sqrt(p * (p - a) * (p - b) * (p - c))
print('Площа трикутника = %s' % (s))
8. Написати програму для відшукання значення функції при заданому значенні аргументу.
8. Написати програму для відшукання значення функції при заданому значенні аргументу.
x = float(input('Введіть значення аргументу функції x: '))
if x < 0:
y = -2 * x + 8 # обчислення значення функції при x < 0
elif x == 0:
y = 0 # обчислення значення функції при x = 0
else:
y = abs(x) # обчислення значення функції при x > 0
print('x =', x, '\ny =', y)
9. Написати програму для перевірки усної лічби, яка міститиме 5 запитань. Вкінці користувач отримує оцінку в залежності від кількості правильних відповідей. Програма повинна мати такий вигляд:
9. Написати програму для перевірки усної лічби, яка міститиме 5 запитань. Вкінці користувач отримує оцінку в залежності від кількості правильних відповідей. Програма повинна мати такий вигляд:
Програма для перевірки усної лічби.
1. Скільки буде _+_? (після того, як користувач вводить відповідь, програма відповідає «Правильно» чи «Неправильно»).
2. Скільки буде _-_?
3. Скільки буде, якщо _ поділити націло на _?
4. Чому дорівнює добуток чисел _ та _?
5. Чому дорівнює остача від ділення числа _ на число _?
Після опитування програма видає результуючу оцінку. Числа генеруються випадковим чином. У кожному запитанні перше число – ціле від 0 до 99, друге – ціле від 0 до 9.
Після опитування програма видає результуючу оцінку. Числа генеруються випадковим чином. У кожному запитанні перше число – ціле від 0 до 99, друге – ціле від 0 до 9.
import random # підключення модуля генерації випадкових чисел
print('Програма для перевірки усної лічби.')
x1 = random.randint(0, 99) # генерація випадкового цілого числа з проміжку [0, 99]
x2 = random.randint(0, 9)
y1 = random.randint(0, 99)
y2 = random.randint(0, 9)
z1 = random.randint(0, 99)
z2 = random.randint(1, 9) # оскільки ділення на 0 неприпустиме, дільник обираємо з проміжку [1, 9]
k1 = random.randint(0, 99)
k2 = random.randint(0, 9)
l1 = random.randint(0, 99)
l2 = random.randint(1, 9)
mark = 0 # задаємо початкове значення для оцінки
quest1 = int(input('1. Скільки буде %s+%s? ' % (x1, x2)))
if quest1 == x1 + x2: # здійснюємо перевірку
print('Правильно!')
mark = mark + 1 # зараховуємо 1 бал за правильну відповідь
else: print('Неправильно :(')
quest2 = int(input('2. Скільки буде %s-%s? ' % (y1, y2)))
if quest2 == y1 - y2:
print('Правильно!')
mark = mark + 1
else: print('Неправильно :(')
quest3 = int(input('3. Скільки буде, якщо %s поділити націло на %s? ' % (z1, z2)))
if quest3 == z1 // z2:
print('Правильно!')
mark = mark + 1
else: print('Неправильно :(')
quest4 = int(input('4. Чому дорівнює добуток чисел %s та %s? ' % (k1, k2)))
if quest4 == k1 * k2:
print('Правильно!')
mark = mark + 1
else: print('Неправильно :(')
quest5 = int(input('5. Чому дорівнює остача від ділення числа %s на число %s? ' % (l1, l2)))
if quest5 == l1 % l2:
print('Правильно!')
mark = mark + 1
else: print('Неправильно :(')
print('Ваша оцінка: %s' % mark) # виводимо результуючу оцінку
10. Написати програму, яка перевіряє, чи попадає точка у заштриховану область.
10. Написати програму, яка перевіряє, чи попадає точка у заштриховану область.
print('Введіть координати точки: ')
x = float(input('x = ')) # введення першої координати точки з клавіатури
y = float(input('y = ')) # введення другої координати точки з клавіатури
if pow(x, 2) + pow(y, 2) < 4 and y < -x + 2 and y > x - 2: # перевірка умови попадання у задану область
print('так') # вивід повідомлення із позитивною відповіддю
else: # перевірка альтернативних варіантів
if pow(x, 2) + pow(y, 2) > 4 and y > -x + 2 and y < x - 2:
print('ні')
else:
print('точка на межі')
11. Шоколадка має вигляд прямокутника, розділеного на n × m частинок. Шоколадку можна один раз розламати по прямій на дві частини. Визначте, чи можна таким чином відламати від шоколадки рівно k частинок.
11. Шоколадка має вигляд прямокутника, розділеного на n × m частинок. Шоколадку можна один раз розламати по прямій на дві частини. Визначте, чи можна таким чином відламати від шоколадки рівно k частинок.
n = int(input('n = '))
m = int(input('m = '))
k = int(input('k = '))
if (k % n == 0 or k % m == 0) and (k < n * m):
print('Це можливо')
else:
print('Це неможливо')