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=a, y**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=a, x*y*z+y*z**2=b, x*y*z+z*x**2=c.
Реалізація
print('Алгоритм пошуку трійок(x, y,z), що задовольняють три умови: x*y*z+y*x**2=a, x*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, де k, m і 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