17.09.2021-19.09.2021
Тема: Алгоритми розгалуження
Практична частина
Завдання
1. Скласти
алгоритм знаходження значення буквених виразів мовою програмування Python у
середовищі програмування Тhonny, який за двома введеними цілими числами а та b
виводить:
1) лінійну комбінацію 2*a+3*b+1для додатних чисел а>0 і додатних чисел
b>0;
2) лінійну комбінацію -4*a-5*b+2 для від'ємних чисел а<0 і від'ємних чисел
b<0;
3) лінійну комбінацію 6*a-7*b+3 для додатних чисел а>0 і від'ємних чисел
b<0;
4) лінійну комбінацію -8*a+9*b+4 для від'ємних чисел а<0 і додатних чисел
b>0;
5) лінійну комбінацію 10*a+10*b-5 для введених нульових чисел а=0 або b=0;
Реалізація.
print('Введіть ціле число а=') #запит на
введення числа а
a=int(input()) #введення
числа a з клавіатури
print('Введіть
ціле число b=') #
запит на введення числа b
b=int(input()) #введення
числа b з клавіатури
for h in
range(1, 100,4): #
цикл з лічильником від 1 до 100 з кроком 4
a=a+h; b=b-h #до числа a додаємо крок h
if
(a<0)and(b<0):
# перевірка умови розгалуження
z=-4*a-5*b+2 #
виконання обчислення значення виразу
print('якщо a=',a,'b=',b,' тоді -4a-5b+2=',
z)
elif (a>0)and(b>0): # перевірка
умови розгалуження
z=2*a+3*b+1 #
виконання обчислення значення виразу
print('якщо a=',a,'b=',b,' тоді 2a+3b+1=',
z)
elif (a>0)and(b<0): # перевірка
умови розгалуження
z=6*a-7*b+3 #
виконання обчислення значення виразу
print('якщо a=',a,'b=',b,' тоді 6a-7b+3=',
z)
elif (a<0)and(b>0): # перевірка умови розгалуження
z=-8*a+9*b+4 #
виконання обчислення значення виразу
print('якщо a=',a,'b=',b,' тоді -8a+9b+4=',
z)
elif (a==0)or(b==0): # перевірка умови розгалуження
z=10*a+10*b+5 #
виконання обчислення значення виразу
print('якщо a=',a,'b=',b,' тоді 10a+10b+5=',
z)
Протестувати
алгоритм, якщо: 1)a=-1; b=-2; 2) a=-4; b=8; 3)a=1; b=0; 4) a=6; b=-7; ; 5) a=4; b=7;
Завдання
2. Скласти алгоритм
знаходження значення буквених виразів мовою програмування Python у середовищі
програмування Тhonny, який за двома введеними дробовими числами а та b
виводить:
1) лінійну комбінацію 1.5*a+2.2*b+1.1 для додатних чисел а>0 і додатних
чисел b>0;
2) лінійну комбінацію -3.5*a-4.2*b+2.2 для від'ємних чисел а<0 і від'ємних
чисел b<0;
3) лінійну комбінацію 5.5*a-6.2*b+3.3 для додатних чисел а>0 і від'ємних
чисел b<0;
4) лінійну комбінацію -7.5*a+8.2*b+4.4 для від'ємних чисел а<0 і додатних
чисел b>0;
5) лінійну комбінацію 9.5*a+9.2*b+5.5 для введених нульових чисел а=0 або b=0;
Реалізація.
print('Введіть дробове число а=')
a=float(input())
print('Введіть дробове число b=')
b=float(input())
if (a<0)and(b<0):
z=-3.5*a-4.2*b+2.2
print('якщо a=',a,'b=',b,' тоді -3.5a-4.2b+2.2=', z)
elif (a>0)and(b>0):
z=1.5*a+2.2*b+1.1
print('якщо a=',a,'b=',b,' тоді 1.5a+1.2b+1.1=', z)
elif (a>0)and(b<0):
z=5.5*a-6.2*b+3.3
print('якщо a=',a,'b=',b,' тоді 5.5a-6.2b+3.3=', z)
elif (a<0)and(b>0):
z=-7.5*a+8.2*b+4.4
print('якщо a=',a,'b=',b,' тоді -7.5a+8.2b+4.4=', z)
elif (a==0)or(b==0):
z=9.5*a+9.2*b+5.5
print('якщо a=',a,'b=',b,' тоді 9.5a+9.2b+5.5=', z)
Протестувати алгоритм, якщо:
1)a=-2.8; b=-3.7; 2) a=-4.5; b=5.7; 3)a=0; b=6.7; 4) a=8.9; b=-5.7; 5) a=1.5; b=-6.4; .
Завдання
3. Скласти
алгоритм табуляції нелінійної кускової функції мовою програмування Python у
середовищі програмування Тhonny, який за одним введеними цілим числом а
виводить:
1) нелінійну комбінацію 2*a**3+3*a*a+1для від'ємних чисел -oo<а<-10 або a<-10;
2) нелінійну комбінацію -4*a-**3+5*a*a+2 для введених від'ємних чисел -10
<=а<0;
3) нелінійну комбінацію 6*a**3-7*a*a+3 для введених чисел 0<=а<10 ;
4) нелінійну комбінацію -8*a**3+9*a*a+4 для додатних чисел
10<=а<+oo or a>=10;
Реалізація.
print('Введіть ціле число а=')
a=int(input())
for h in
range(1, 100,4):
a=a+h
if (a>=-10)and(a<0):
z=-4*a**3-5*a*a+2
print('a=',a,'-4a^3-5a^2+2=', z)
elif (a<-10):
z=2*a**3+3*a*a+1
print('a=',a,'2a^3+3a^2+1=', z)
elif (a>=0)and(a<10):
z=6*a**3-7*a*a+3
print('a=',a,'6a^3-7a^2+3=', z)
elif a>=10:
z=-8*a**3+9*a*a+4
print('a=',a,'-8a^3+9a^2+4=', z)
Протестувати
алгоритм, якщо: 1)a=-8; 2)
a=-3; 3)a=0; 4) a=-2; 5) a=5.
Завдання
4. Максиму відомо, якщо вкладник покладе на
депозит у банк m грн, то через n років він отримає
додаткові нарахування р% від m грн.
Або через n років він буде мати на рахунку суму, що обчислюється формулою A=m*(1+0.01*p)**n
грн.
Створити,
реалізувати та протестувати мовою пограмування Python у середовищі
програмування Thonny лінійний і нелінійний алгоритми, що за введенним
натуральним числами m(грн), n(років), p(%) знаходить суму грошей на депозиті вкладника.
Реалізація.
print('Введіть
у рядок через 1
пропуск три числа: m(грн) n(років) p(%)')
m, n, p= map(int, input().split()) # це кодування введення чисел в один рядок
print('Кількість
грошей на депозиті: m(грн)=',m)
print('Кількість
відсотків річних за депозит: p(%)=',p)
print('Кількість
років депозиту: n(років)=',n); a=m*(1+p/100)**n
print('Остаточна
сума на депозиті по формулі m*(1+p/100)**n: a=',a,'грн')
s=m; h=1;
if n<120: #перевірка умови тривалості життя реального вкладчика
while h<n+1: #цикл з передумовою перевірки
терміну вкладу
s=s+s*(p/100)
h=h+1
print('Остаточна
сума на депозиті: s=',s,'грн')
else: #якщо зашкалює тривалість життя реального вкладчика
print('Гроші
цього депозиту успадковані родичами: s=',a,'грн')
Протестувати
алгоритм, якщо: 1) m(грн)=90 n(років)
=7 p(%)=14; 2) m(грн)=520 n(років)
=140 p(%)=12 ; 3) m(грн)=5 000
000 n(років) =40 p(%)=10
Завдання
5. Івану Пупкіну стало
відомо, якщо кожна із n живих істот має m генів, то максимально можлива
кількість істот у такій
популяції обчислюється формулою A= n**m+m**n.
Створити,
реалізувати та протестувати мовою пограмування Python у середовищі
програмування Thonny лінійний і нелінійний алгоритми, що за введенним
натуральним числами m(генів), n(істот) p(числова межа
для генів та істот), знаходить найбільшу можливу кількість істот в такій
популяції для 1<k,m<p.
Реалізація.
print('Введіть
у один рядок через один пропуск три числа:
m(генів) k(істот) p(межа)')
q,
g, p= map(int, input().split())
n=0
print('Послідовність
чисел вигляду k**m+m**k, якщо 1<k,m<',p)
for
k in range(1, p+1):
for m in range(k, p+1):
x=k**m+m**k
print(' ',k,'^',m,'+',m,'^',k,'=',
x)
n=n+1
print('Максимальна
кількість істот в популяції k=',p)
print('Максимальна
кількість генів в істоті m=',
p)
print('Числова
межа для генів та істот в переборі
випадків р=',p)
print('Kількість
отриманих популяцій n(р)=', n)
if (q<=3)or(g<=3):
#умова
вимирання популяції істот
print('Така
популяція вимерла')
else:
print('Макс.
кількість істот у популяції MAX(',q,';',g,')=', q**g+g**q)
Протестувати
алгоритм, якщо: 1) m=3; k =3; p=6; 2) m= 5; k =6; p=9; 3) m=4;
k =8; p=10;
Немає коментарів:
Дописати коментар