пʼятницю, 29 жовтня 2021 р.

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

 

 

01.11.2021 - 07.11.2021

Тема: «Алгоритми розалуження мовою Python

 

Практична частина

Завдання 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=30003) a=1000; b=99994) 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