четвер, 16 вересня 2021 р.

17.09.2021-19.09.2021 Алгоритми розгалуження

 

 

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; 

 

 

 

Немає коментарів:

Дописати коментар