пʼятниця, 17 грудня 2021 р.

20.12.2021 -24.12.2021 Нелінійні алгоритми

 20.12.2021 -24.12.2021 

Практична робота 1.

Завдання 1. Створити, реалізувати, протестувати мовою програмування Python3  в середовищі програмування Thonny алгоритм для знаходження трійок чисел, що є розв’язками системи рівнянь: xy+yz=a,    yz+xz=b,   xz+xy=c.

Реалізація

print('Алгоритм пошуку трійок(x, y,z), що задовольняють три умови: x*y+y*z=a,  y*z+x*z=b, x*z+x*y=c')

import random;    a=random.randint(8,8);   b=a+1;   c=a-3;    print('a=',a, 'b=',b,'c=',c)w=0

for x in range(-50,50):

    for y in range(-50,50):

        for z in range(-50,50):

            if ((x*y+y*z==a)and(y*z+x*z==b)and(x*z+x*y==c)):

                 w+=1

                 print('x=',x, 'y=',y,'z=',z)

print('Кількість трійок дорівнює', w)

Завдання 2. Створити, реалізувати, протестувати мовою програмування Python3  в середовищі програмування Thonny алгоритм для знаходження трійок чисел, що є розв’язками системи  трьох рівнянь: x2+y2=a,  y2+z2=b, z2+x2=c.

Реалізація

print('Алгоритм пошуку трійок(x, y,z), що задовольняють три умови: x**2+y**2=a,  y**2+z*z=b, z*z+x*x=c')

import random;   a=random.randint(41,41);   b=a-16;   c=b+9;    print('a=',a, 'b=',b,'c=',c);    w=0

for x in range(-50,50):

    for y in range(-50,50):

        for z in range(-50,50):

            if ((x**2+y**2==a)and(y**2+z*z==b)and(z*z+x*x==c)):

                 w+=1

                 print('x=',x, 'y=',y,'z=',z)

print('Кількість трійок дорівнює', w)

Завдання 3. Створити, реалізувати, протестувати мовою програмування Python3  в середовищі програмування Thonny алгоритм для знаходження трійок чисел, що є розв’язками системи  трьох рівнянь: x3+y2=a,  y3+z2=b, z3+x2=c.

Реалізація

print('Алгоритм пошуку трійок(x, y,z), що задовольняють три умови: x**3+y*y=a,  y**3+z*z=b, z**3+x*x=c')

import random;   a=random.randint(43,43);   b=a+46;   c=b+45;  print('a=',a, 'b=',b,'c=',c);    w=0

for x in range(-50,50):

    for y in range(-50,50):

        for z in range(-50,50):

            if ((x**3+y*y==a)and(y**3+z*z==b)and(z**3+x*x==c)):

                 w+=1

                 print('x=',x, 'y=',y,'z=',z)

print('Кількість трійок дорівнює', w)

Завдання 4. Створити, реалізувати, протестувати мовою програмування Python3  в середовищі програмування Thonny алгоритм для знаходження трійок чисел, що є розв’язками системи  трьох рівнянь: x3+y3=a,  y3+z3=b, z3+x3=c.

Реалізація

print('Алгоритм пошуку трійок(x, y,z), що задовольняють три умови: x**3+y**3=ay**3+z**3=b, z**3+x**3=c')

import random

a=random.randint(0,0); b=a-1; c=1;

#a=random.randint(0,0); b=a-+9; c=7;

print('a=',a, 'b=',b,'c=',c); w=0

for x in range(-50,50):

    for y in range(-50,50):

        for z in range(-50,50):

            if ((x**3+y**3==a)and(y**3+z**3==b)and(z**3+x**3==c)):

                 w+=1

                 print('x=',x, 'y=',y,'z=',z)

print('Кількість трійок дорівнює', w)

 

Завдання 5. Створити, реалізувати, протестувати мовою програмування Python3  в середовищі програмування Thonny алгоритм для знаходження трійок чисел, що є розв’язками системи  трьох рівнянь: xyz-yx=a,  xyz-yz =b, xyz-zx =c.

Реалізація

print('Алгоритм пошуку трійок(x, y,z), що задовольняють три умови: x*y*z+y*x=a,  x*y*z+y*z=b, x*y*z+z*x=c')

import random

a=random.randint(0,0); b=0; c=0;

print('a=',a, 'b=',b,'c=',c)

w=0

for x in range(-10,10):

    for y in range(-10,10):

        for z in range(-10,10):

            if ((x*y*z+y*x==a)and(x*y*z+y*z==b)and(x*y*z+z*x==c)):

                 w+=1

                 print('x=',x, 'y=',y,'z=',z)

print('Кількість трійок дорівнює', w)

Завдання 6. Створити, реалізувати, протестувати мовою програмування Python3  в середовищі програмування Thonny алгоритм для знаходження трійок чисел, що є розв’язками системи  трьох рівнянь: x*y*z+y*x**2=ax*y*z+y*z**2=b, x*y*z+z*x**2=c.

Реалізація

print('Алгоритм пошуку трійок(x, y,z), що задовольняють три умови: x*y*z+y*x**2=ax*y*z+y*z**2=b, x*y*z+z*x**2=c')

import random

a=random.randint(0,0); b=0; c=0;

print('a=',a, 'b=',b,'c=',c)

w=0

for x in range(-10,10):

    for y in range(-10,10):

        for z in range(-10,10):

            if ((x*y*z+y*x==a)and(x*y*z+y*z==b)and(x*y*z+z*x==c)):

                 w+=1

                 print('x=',x, 'y=',y,'z=',z)

print('Кількість трійок дорівнює', w)

Завдання 7. Створити, реалізувати, протестувати мовою програмування Python3  в середовищі програмування Thonny алгоритм для знаходження трійок чисел, що є розв’язками системи  трьох рівнянь: x*y*z+y**2*x**2=a,  x*y*z+y**2*z**2=b, x*y*z+z**2*x**2=c'

Реалізація

print('Алгоритм пошуку трійок(x, y,z), що задовольняють три умови: x*y*z+y**2*x**2=a,  x*y*z+y**2*z**2=b, x*y*z+z**2*x**2=c')

import random

a=random.randint(0,0); b=0; c=0;

print('a=',a, 'b=',b,'c=',c)

w=0

for x in range(-10,10):

    for y in range(-10,10):

        for z in range(-10,10):

            if ((x*y*z+y**2*x**2==a)and(x*y*z+y**2*z**2==b)and(x*y*z+z**2*x**2==c)):

                 w+=1

                 print('x=',x, 'y=',y,'z=',z)

print('Кількість трійок дорівнює', w)

*******************************

Практична робота 2.

Завдання 1. Створити, реалізувати, протестувати алгоритм для пошуку найбільшого спільного дільника  масиву натуральних чисел.

Реалізація

print('Алгоритм 1 знаходження НСД для багатьох чисел')

import random

a=[72,12,24,36,96,84]; nsd=0; nsk=0; k=0; m=0;

def nsd(k,m):

    if k==0:

        nsd=m

        return nsd

    while m!=0:

        if k>m:

            k=k-m

        else:

            m=m-k

    nsd=k 

    return nsd

x=nsd(a[0],a[1])

print(1,'-ий krok  nsd=',x)

for n in range(2,6,1):

    y=x

    x=nsd(a[n],x)

    print(n,'-ий krok  nsd=',x)

print('Масив натуральних a=',a); print('НСД масиву чисел=',x)

 

Завдання 2. Створити, реалізувати, протестувати алгоритм для розподілу випадкового двоцифрового числа на частини у відношенні m:n, де m частин і n частин – це випадкові числа в межах від 3 до 23.

Реалізація

print('Алгоритм 2 знаходження поділу кожного числа масиву на частини у відношенні m:n')

import random

a=[72,12,24,36,96,84];

m=random.randint(3,23); n=24-m; ZAST1=0;ZAST2=0;

print('Масив натуральних a=',a) 

for j in range(0,7,1):

    ZAST1=a[j]*m/(m+n)

    ZAST2=a[j]*n/(m+n)

    print(n,'-ий krok Число a[',j,']=',a[j], 'поділено у відношенні',m,':',n,'отримаємо',ZAST1,':',ZAST2)

Завдання 3. Створити, реалізувати, протестувати алгоритм для розподілу випадкового трицифрового числа на частини у відношенні k:m:n, де km і n  - випадкові числа в межах від 2 до 5.

Реалізація

print('Алгоритм 3 знаходження поділу кожного числа масиву на частини у відношенні k:m:n')

import random

a=[72,12,24,36,96,84];

m=random.randint(3,5);   k=random.randint(2,5); n=11-m-k; ZAST1=0; ZAST2=0; ZAST3=0;

print('Масив натуральних a=',a) 

for j in range(0,6,1):

    ZAST1=a[j]*k/(m+n+k)

    ZAST2=a[j]*m/(m+n+k)

    ZAST3=a[j]*n/(m+n+k)

    print(j,'-ий krok Число a[',j,']=',a[j], 'поділено у відношенні',k,':',m,':',n)

    print('отримаємо',round(ZAST1,3),':',round(ZAST2,3),':',round(ZAST3,3))

    print('*************')

Завдання 4. Створити, реалізувати, протестувати алгоритм для пошуку випадкового двоцифрового числа х,  яке було поділено на частини у відношенні m:n, де k і m  - випадкові числа в межах від 3 до 20, якщо відомо k частин становить а одиниць.

Реалізація

print('Алгоритм 4 знаходження пошуку кожного числа масиву за його частинами у відношенні k:m')

import random

a=[72,12,24,36,96,84];

m=random.randint(1,5);   k=random.randint(2,5);  ZAST1=0;  ZAST2=0;

print('Масив натуральних чисел a=',a) 

for j in range(0,6,1):

    Zuslo=a[j]*(m+k)/(k)

    ZAST2=a[j]*(m)/(k)

    ZAST1=a[j]

    print(j,'-ий krok . Число a[',j,']=',Zuslo, 'поділено у відношенні',k,':',m)

    print('отримаємо',round(ZAST1,3),':',round(ZAST2,3))

    print('*************')

Завдання 5. Створити, реалізувати, протестувати алгоритм для пошуку кількості  спільних дільників для  m та n, де n і m  - випадкові числа/

Реалізація

print('Алгоритм 5 знаходження усіx спільних дільників для двох випадкових чисел')

import random; m=72*random.randint(10,200); n=144*random.randint(10,200);

m=144;  n=72; a=[]

print('Число m=',m); print('Число n=',n)  

max1=max(m,n)

for j in range(1,max1,1):

    if m%j==0:

       if n%j==0:

           h=j

           a.append(h)

           print('Для двох чисел n=',n,'m=',m,' cпільний дільник k=',j)

print('Cпільні дільники у вигляді списку a=',a)

print('Кiлькість спільних дільників k=',len(a))

Завдання 6. Створити, реалізувати, протестувати  алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження кількості трицифрових чисел, сума цифр яких дорівнює 5.

Математична модель завдання 5:  abc=100*a+10*b+c   i перевiрити умови a+b+c=5=5+0+0=4+1+0=3+2+0=2+2+1=3+1+1 та врахувати перестановки

Реалізація.

print('Алгоритм пошуку кількості  3-цифрових чисел з сумою цифр 12')

k=0

for a in range(1,10):

      for b in range(0,10):

          for c in range(0,10):

              if a+b+c==12:

                  k=k+1

                  print('Шукане 3-цифрове число з сумою цифр 12 =', 100*a+10*b+c) 

print('Kількість  3-цифрових чисел з сумою цифр 12 =', k) 


Практична робота 3.

Алгоритми для креслення фігур

Виконати завдання створення алгоритмів з назвою «Художник» на сайті code.org

 

Задача 1. https://studio.code.org/s/20-hour/lessons/5/levels/1

Задача 2. https://studio.code.org/s/20-hour/lessons/5/levels/2

Задача 3. https://studio.code.org/s/20-hour/lessons/5/levels/3

Задача 4. https://studio.code.org/s/20-hour/lessons/5/levels/4

Задача 5. https://studio.code.org/s/20-hour/lessons/5/levels/5



Задача 6. https://studio.code.org/s/20-hour/lessons/5/levels/6



Задача 7. https://studio.code.org/s/20-hour/lessons/5/levels/7



Задача 8. https://studio.code.org/s/20-hour/lessons/5/levels/8



Задача 9. https://studio.code.org/s/20-hour/lessons/5/levels/9



Задача 10. https://studio.code.org/s/20-hour/lessons/5/levels/10



Задача 11. https://studio.code.org/s/20-hour/lessons/7/levels/1



Задача 12. https://studio.code.org/s/20-hour/lessons/7/levels/2




Задача 13. https://studio.code.org/s/20-hour/lessons/7/levels/3



Задача 14. https://studio.code.org/s/20-hour/lessons/7/levels/4



Задача 15. https://studio.code.org/s/20-hour/lessons/7/levels/5



Задача 16. https://studio.code.org/s/20-hour/lessons/7/levels/6




Задача 18. https://studio.code.org/s/20-hour/lessons/7/levels/8



Задача 19. https://studio.code.org/s/20-hour/lessons/7/levels/9





Задача 20. https://studio.code.org/s/20-hour/lessons/7/levels/10


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

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