01.11.2021 - 07.11.2021
Тема: «Алгоритми розгалуження мовою Python3»
Практична частина
Завдання
1. Створити,
реалізувати, протестувати алгоритм мовою програмування Python3 в
середовищі прогамування Thonny для знаходження квадрату
числа, якщо випадкове число ділиться націло на 3, кубу числа, якщо
випадкове число при діленні на 3 має остачу 1, четверту степінь числа, якщо
випадкове число при діленні на 3 має остачу 2.
Реалізація.
import random
print('Алгоритм для обчислення степенів за певної умови на число')
a=1; b=100; rez=0
c=random.randint(a,b)
if c%3==0:
rez=c*c
print('Квадрат числа с=',c,' rez=c*c=', rez)
elif c%3==1:
rez=c*c*c
print('Куб числа с=',c,' rez=c*c*c=', rez)
elif c%3==2:
rez=c*c*c*c
print('Біквадрат числа с= ',c,' rez=c*c*c*с=', rez)
Протестувати
алгоритм, якщо 1) a=2; b=30; 2) a=200; b=3000; 3) a=1000; b=9999; 4) a=10; b=99;
Завдання
2. Створити,
реалізувати, протестувати алгоритм мовою програмування Python3 в
середовищі прогамування Thonny для знаходження
подвоєного числа, якщо випадкове число ділиться націло на 4,
потроєного числа, якщо випадкове число при діленні на 4 має остачу 1,
збільшеного числа в 4 рази, якщо випадкове число при діленні на 4 має остачу
2, збільшеного числа в 5 разів, якщо випадкове число при діленні на
4 має остачу 3.
Реалізація.
import random
print('Алгоритм для
обчислення збільшеного числа за певної умови на число')
c=random.randint(34,99)
if c%4==0:
rez=2*c
print('Подвоєне число с=',c,' rez=2*c=', rez)
elif c%4==1:
rez=3*c
print('Потроєне число с=',c,' rez=3*c=', rez)
elif c%4==2:
rez=4*c
print('Збільшене число в 4 разів с= ',c,' rez=4*с=', rez)
elif c%4==3:
rez=5*c
print('Збільшене число в 5 разів с= ',c,' rez=5*с=', rez)
Протестувати
алгоритм, якщо 1) c=random.randint(100,999) 2) c=random.randint(1000,9999)
3) c=random.randint(1,9) 4) c=random.randint(-50,50)
Завдання
3. Створити,
реалізувати, протестувати алгоритм мовою програмування Python3 в
середовищі прогамування Thonny для знаходження
встановлення відповідності предметів та вчителів.
Реалізація.
print('Алгоритм для встановлення відповідності предметів та вчителів')
p=['Алгебра', 'Фізика', 'Георгарфія', 'Хімія', 'Біологія']
u=['Петренко К.О.', 'Михайленко В.С.', 'Іваненко Р.Л.', 'Захаренко І.А.',
'Артеменко В.В']
print('Список предметів',p)
print('Список учителів',u)
print('Список предметів та учителів, що викладає:')
for k in range(0,5):
if p[k]=='Алгебра':
print('k=',k,'p[',k,']=предмет "', p[k],'" викладає
учитель:', u[4])
elif p[k]=='Фізика':
print('k=',k,'p[',k,']=предмет "', p[k],'" викладає учитель:',
u[3])
elif p[k]=='Георгарфія':
print('k=',k,'p[',k,']=предмет "', p[k],'" викладає учитель:', u[2])
elif p[k]=='Хімія':
print('k=',k,'p[',k,']=предмет "', p[k],'" викладає учитель:', u[1])
elif p[k]=='Біологія':
print('k=',k,'p[',k,']=предмет
"', p[k],'" викладає учитель:', u[0])
Завдання
4. Створити,
реалізувати, протестувати алгоритм мовою програмування Python3 в
середовищі прогамування Thonny для знаходження
встановлення відповідності предметів та днів тижня у розкладі.
Реалізація.
print('Алгоритм для
встановлення відповідності предметів та днів тижня')
p=['алгебра',
'фізика', 'георгарфія', 'хімія', 'біологія']
u=['понеділок',
'вівторок', 'середа', 'четвер', 'п*ятниця']
print('Список
предметів',p)
print('Список днів
тижня',u)
print('Список
предметів та день тижня, що відповідає розкладу уроків:')
for k in
range(0,5):
if p[k]=='Алгебра':
print('k=',k,'p[',k,']=урок "', p[k],'" , день тижня у
розладі:', u[4])
elif p[k]=='Фізика':
print('k=',k,'p[',k,']=урок
"', p[k],', день тижня у розладі:', u[3])
elif p[k]=='Георгарфія':
print('k=',k,'p[',k,']=урок "', p[k],',день тижня у розладі:', u[2])
elif p[k]=='Хімія':
print('k=',k,'p[',k,']=урок "', p[k],', день тижня у розладі:',
u[1])
elif p[k]=='Біологія':
print('k=',k,'p[',k,']=урок "', p[k],', день тижня у
розладі:', u[0])
Завдання
5. Створити,
реалізувати, протестувати алгоритм мовою програмування Python3 в
середовищі прогамування Thonny для креслення на основі полігонів авангардного малюнку на канвасі.
Реалізація.
from tkinter
import*
print('Алгоритм
малювання полігонів на канвасі')
A=['None']*8;
B=['None']*8;
tk=Tk(); #rk=Tk();
pk=Tk();
canvas=Canvas(tk,
width=500, height=600)
canvas.pack()
points1=[10, 100,
10, 80, 20, 40, 20, 20, 30, 10, 40, 20,40,40,50,60,50,30, 50,60,60,80,
60,40,60,100,10,100]
tk=canvas.create_polygon(points1,
outline='pink', fill='pink', width=2)
points2=[60, 100,
70, 30, 70, 20, 70, 30, 80, 30, 80, 60,100,50,100,40,110,10, 120,30,120,40,
120,60,130,60,130,100,60,100]
tk=canvas.create_polygon(points2,
outline='gold', fill='gold', width=5)
points3=[130, 100,
140, 70, 140, 10, 150, 10, 150, 40, 160, 40,160,60,180,20,180,40,
190,50,200,50, 200,100,130,100]
tk=canvas.create_polygon(points3,
outline='silver', fill='silver', width=4)
points4=[10,100,200,
100, 220, 120, 5,120]
tk=canvas.create_polygon(points4,
outline='blue', fill='blue', width=1)
for j in
range(0,8,1):
if j%2==0:
A[j]= 20+20*j*j
else:
A[j]= 500-20*j*j
print('A=',A)
tk=canvas.create_polygon(A,
outline='gray', fill='gray', width=10)
for j in
range(0,8,1):
if j%2==1:
B[j]= 120+2*j*j+3*j**2
else:
B[j]= 120-(1+2*j*j)**3+2*(1+2*j)**3
print('B=',B)
tk=canvas.create_polygon(B,
outline='brown', fill='brown', width=20)
A=['None']*580;
B=['None']*580;
tk=canvas.create_oval(520,
420, 284,120, fill="red", outline="black")
for j in
range(0,80,1):
if j%2==0:
A[j]= 10+5*j
else:
A[j]= 60+3*j*j
print('A=',A)
for j in
range(0,80,1):
if j%2==1:
B[j]=200+j*4
else:
B[j]=3*j+410
print('B=',B)
for j in
range(0,476,4):
tk=canvas.create_line(B[j],B[j+1],A[j+2],A[j+3])
for j in
range(0,476,4):
tk=canvas.create_line(B[j],B[j+1],A[j+2],A[j+3])
for j in
range(0,476,4):
tk=canvas.create_line(A[j],B[j+1],B[j+2],A[j+3])
for j in
range(0,476,4):
tk=canvas.create_line(A[j],B[j+1],A[j+2],B[j+3])
Завдання 6. Створити алгоритм
мовою Python3 для
визначення довжин трьох сторін трикутника, який заданий трьома точками з
випадковими координатами в декартовій системі координат в середовищі
програмування Thonny.
Реалізація.
import random
print("Трикутник QPG з випадковими координатами ")
def rand_vector(n):
r=['None']*n
for i in
range(0,n):
r[i]=random.randint(-200,200)
return r
def summa_vector(a,b,c,d):
r=['None']*2
for i in
range(0,2):
r[i]=(a/b)*q[i]+(c/d)*p[i]
return r
def scaljar_vector(a,b):
s=0
for i in
range(0,2):
s=s+a[i]*b[i]
return s
def norma_vector(a,b):
s=((a[0]-b[0])**2+(a[1]-b[1])**2)**0.5
return s
q=rand_vector(2); p=rand_vector(2); g=rand_vector(2);
sortq=sorted(q); sortp=sorted(p); sortg=sorted(g);
s=sortq+sortp+sortg;
sorts=sorted(s);
M=summa_vector(3,8,-7,16)
GQ=scaljar_vector(g,q); PQ=scaljar_vector(p,q);
PG=scaljar_vector(p,g);
QG=norma_vector(g,q); QP=norma_vector(p,q);
GP=norma_vector(p,g);
H=['None']*3; H[1]=QG; H[2]=QP; H[0]=GP;
print("Координати точки Q:",q)
print("Координати точки P:",p)
print("Координати точки G:",g)
print("Три скалярні добутки GQ, PG, PQ:",GQ, PG, PQ)
print("Довжина сторони QG: ",QG);
print("Довжина сторони QP:", QP);
print("Довжина сторони GP: ",GP);
print("Список довжин сторін:",H);
a=max(H); b=min(H); c=QG+QP+GP-a-b
if b+c>a:
print("На цих точках існує трикутник")
else:
print("На цих точках не утвориться трикутник")
Завдання 7. Створити алгоритм
мовою Python3 для
визначення виду трикутника,
який заданий трьома точками з випадковими координатами в декартовій системі
координат в середовищі програмування Thonny.
Реалізація.
import random
print("Трикутник QPG з
випадковими координатами")
def rand_vector(n):
r=['None']*n
for i in range(0,n):
r[i]=random.randint(-200,200)
return r
def norma_vector(a,b):
s=((a[0]-b[0])**2+(a[1]-b[1])**2)**0.5
return s
q=rand_vector(2);
p=rand_vector(2); g=rand_vector(2);
QG=norma_vector(g,q);
QP=norma_vector(p,q); GP=norma_vector(p,g);
H=['None']*3; H[1]=QG;
H[2]=QP; H[0]=GP;
print("Координати точки
Q:",q)
print("Координати точки
P:",p)
print("Координати точки
G:",g)
print("Довжина сторони
QG: ",QG);
print("Довжина сторони
QP:", QP);
print("Довжина сторони
GP: ",GP);
print("Список довжин
сторін:",H);
a=max(H); b=min(H);
c=QG+QP+GP-a-b
if b+c>a:
print("На цих точках існує
трикутник")
else:
print("На цих точках не утвориться
трикутник")
if (b**2+c**2>a**2)and(b+c>a):
print("На цих точках існує
гострокутний трикутник ")
if
(b**2+c**2==a**2)and(b+c>a):
print("На цих точках існує прямокутний
трикутник")
if
(b**2+c**2<a**2)and(b+c>a):
print("На цих точках існує тупокутний
трикутник")
Завдання 8. Створити алгоритм
мовою Python3 для
визначення периметру та площі трикутника, який заданий трьома точками з
випадковими координатами в декартовій системі координат в середовищі
програмування Thonny.
import
random
print("Трикутник
QPG з випадковими координатами")
def
rand_vector(n):
r=['None']*n
for i in range(0,n):
r[i]=random.randint(-200,200)
return r
def
norma_vector(a,b):
s=((a[0]-b[0])**2+(a[1]-b[1])**2)**0.5
return s
q=rand_vector(2);
p=rand_vector(2); g=rand_vector(2);
QG=norma_vector(g,q);
QP=norma_vector(p,q); GP=norma_vector(p,g);
p1=(QG+QP+GP)/2;
Plosha=(p1*(p1-QG)*(p1-QP)*(p1-GP))**0.5
H=['None']*3;
H[1]=QG; H[2]=QP; H[0]=GP;
print("Точка
Q:",q); print("Точка P:",p); print("Точка
G:",g)
print("Довжина
QG: ",QG); print("Довжина QP:", QP);
print("Довжина
GP: ",GP);
a=max(H);
b=min(H); c=QG+QP+GP-a-b
if
(b**2+c**2>a**2)and(b+c>a):
print("На цих точках існує
гострокутний трикутник ")
if
(b**2+c**2==a**2)and(b+c>a):
print("На цих точках існує прямокутний
трикутник")
if
(b**2+c**2<a**2)and(b+c>a):
print("На цих точках існує тупокутний
трикутник")
print("Площа
трикутника дорівнює:", Plosha)
print("Периметр
трикутника дорівнює:", 2*p1)
Результати виконання практичної частини
надіслати
на електронну адресу: vinnser@gmail.com
Немає коментарів:
Дописати коментар