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

Реалізація

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


четвер, 9 грудня 2021 р.

13.12.2021-19.12.2021 Нелінійні алгоритми

 

 

13.12.2021-19.12.2021

 

Тема: Нелінійні алгоритми для списків із числовими типами даних мовою Python3

 

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

 

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

Реалізація

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

import random

a1=[72+1152*n*random.randint(22, 222)  for n in range(40, -38,-1) if n%10==2]

a=[144,1152,864,2016,66912,4704]; 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. Створити, реалізувати, протестувати алгоритм мовою програмування Python3 в середовищі програмування Thonny  для поділу випадкового двоцифрового числа на дві частини у відношенні m:n, де m частин і n частин – це випадкові числа в межах від 3 до 23.

Реалізація

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

import random

a1=[72+1152*n*random.randint(22, 222)  for n in range(40, -38,-1) if n%10==2]

a=[144,1152,864,2016,66912,4704];

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

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

for j in range(0,6,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. Створити, реалізувати, протестувати алгоритм мовою програмування Python3 в середовищі програмування Thonny  для поділу випадкового трицифрового числа на три частини у відношенні k:m:n, де km і n  - випадкові числа в межах від 2 до 10.

Реалізація

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

import random

a1=[72+1152*n*random.randint(22, 222)  for n in range(40, -38,-1) if n%10==2]

a2=[k for k in range(100, -28,-1) if k%2==0] 

a=[144,1152,864,2016,66912,4704];

m=random.randint(2,10);   k=random.randint(2,10); 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,6),':',round(ZAST2,6),':',round(ZAST3,6))

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

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

Реалізація

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

import random

a1=[72+1152*n*random.randint(22, 222)  for n in range(40, -38,-1) if n%10==2]

a2=[k for k in range(100, -28,-1) if k%2==0] 

a=[144,1152,864,2016,6912,4704];

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=6912*random.randint(10,200); n=4704*random.randint(10,200);

m=6912;  n=4704; 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 для знаходження кількості трицифрових чисел, сума цифр яких дорівнює 14.

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

Реалізація.

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

k=0

for a in range(1,10):

      for b in range(0,10):

          for c in range(0,10):

              if a+b+c==14:

                  k=k+1

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

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

 

Завдання 7. Створити, реалізувати, протестувати алгоритми створення списків мовою програмування Python у середовищі програмування Thonny, що  складаються з: 1)парних чисел.

Реалізація. Види сортування списків  парних чисел

import random

print('Алгоритм 7 автоматичного створення парних чисел у масиві або списку')

print('***Простий спосіб, що є функцією списку list(range(k,m,n)) з лічильником')

Numer=list(range(-32, 32, 2))

print('Простенький список 3n-чисел in Numer=', Numer, type(Numer))

print('Перший спосіб, що використовує цикл з лічильником')

lst2n1=[m for m in range(-49, 102,2)]    # циклічний генератор для парних чисел

print('Перший список парних чисел у порядку зростання lst2n1=', lst2n1, type(lst2n1))

print('Другий спосіб, що використовує цикл з лічильником і розгалуження')

lst2n2=[k for k in range(100, -28,-1) if k%2==0]  # генератор для парних чисел

print('другий список парних чисел у порядку спадання lst2n2=', lst2n2, type(lst2n2))

print('Третій спосіб, що використовує  генератор випадкових цілих чисел')

lst2n3=[2*n*random.randint(22, 222)  for n in range(10, 0,-1) if n%2==0]

print('Третій список випадкових парних чисел  lst2n3=', lst2n3, type(lst2n3))

lst2n3.reverse()        #  зміна порядку чисел на протилежний

print('Змінений список у протилежному порядку  lst2n3=', lst2n3, type(lst2n3))

lst2n3.sort(reverse=True)   #  упорядкування  чисел  у порядку спадання

print('Змінений список  у порядку спадання lst2n3=', lst2n3, type(lst2n3))

lst2n3.sort()      #  упорядкування  чисел  у порядку зростання

print('Змінений список чисел у порядку зростання lst2n3=', lst2n3, type(lst2n3))

 

Протестуйте даний алгоритм декілька разів для: 1) lst2n1=[m for m in range(2, 102,2)];

2) lst2n2=[k for k in range(100, -28,-1) if k%4==2]

3) lst2n3=[6*n*random.randint(22, 222)  for n in range(30, -28,-1) if n%10==2]

 

Завдання 8. Створити, реалізувати, протестувати алгоритми створення списків мовою програмування Python у середовищі програмування Thonny, що  складаються з: 1)непарних чисел; 3) чисел кратних 3; 4) чисел, що є степенями 2; 5) чисел, що степенями 3. 6) чисел, що утворені формулою х(n)=5*n+9.

 

Реалізація. Статистичні характеристики  списків  непарних чисел

import random

print('Алгоритм 8 автоматичного створення непарних чисел у масиві або списку')

print('Перший спосіб, що використовує цикл з лічильником')

lst3n1=[2*m -1 for m in range(-8, 12,1)]

print('Перший список непарних чисел у порядку зростання lst3n1=', lst3n1, type(lst3n1))

print('Кількість усіх елементів  у списку lst3n1=', len(lst3n1))

print('Кількість елемента "23" у списку lst3n1=', lst3n1.count(23))

print('Індекс елемента "21" у списку lst3n1=', lst3n1.index(21))

print('Cума усіх елементів  у списку lst3n1=', sum(lst3n1))

print('Максимум усіх елементів  у списку lst3n1=', max(lst3n1))

print('Мінімум усіх елементів  у списку lst3n1=', min(lst3n1))

print('Cереднє арифметичне списку lst3n1=', sum(lst3n1)/len(lst3n1))

print('Другий спосіб, що використовує цикл з лічильником і розгалуження')

lst3n2=[2*k+1 for k in range(100, -28,-1) if k%2==0]

print('Другий список непарних чисел у порядку спадання lst3n2=', lst3n2, type(lst3n2))

print('Третій спосіб, що використовує цикл з лічильником і розгалуження')

lst3n3=[1+6*n*random.randint(22, 222)  for n in range(40, -38,-1) if n%10==2]

print('Третій список чисел у довільному порядку  lst3n3=', lst3n3, type(lst3n3))

lst3n3.remove(lst3n3[1])  # видаляємо із списку елемент  lst3n[1]

print('Змінений список випадкових непарних чисел без 1-го елементу: lst3n3=', lst3n3, type(lst3n3))

lst3n3.sort(reverse=True)

print('Змінений список випадкових непарних чисел у порядку спадання lst3n3=', lst3n3, type(lst3n3))

lst3n3.sort()

print('Змінений список випадкових непарних чисел у порядку зростання lst3n3=', lst3n3, type(lst3n3))

 

Протестуйте даний алгоритм декілька разів для:

1) lst3n1=[4*m -1 for m in range(-8, 12,1)]

2) lst3n2=[6*k-1 for k in range(40, -28,-1) if k%3==0]

3 lst3n3=[1+2*n*random.randint(22, 222)  for n in range(40, -38,-1) if n%10==7]

 

Завдання 9. Створити, реалізувати, протестувати алгоритми створення списків мовою програмування Python у середовищі програмування Thonny, що  складаються з: 1) чисел кратних 3.

 

Реалізація. Видалення та вставлення елементів у списки

import random

print('Алгоритм 9 автоматичного створення 3n-чисел у масиві або списку')

print('***Перший спосіб, що використовує функцію списку list(range(k,m,n)) з лічильником')

Numer=list(range(-33,10,3))

print('Простенький список 3n-чисел in Numer=', Numer, type(Numer))

print('***Другий спосіб, що використовує порожній список та циклом із лічильником приєднує елементи')

n=10; S1=[]

for i in range(10):

    S1.append(random.randint(-50,50)) # приєднується випадкове число у список

    S1[i]=3*(2*S1[i]-1)     # елемент перетворюється в непарне 3n-число, що кратне 3

print('Початковий список непарних 3n-чисел S1=', S1, type(S1))

print('***Третій спосіб, що використовує у списку формулу та цикл з лічильником для неї')

lst4=[6*m for m in range(-9, 9,1)]

print('Новий список парних 3n-чисел у порядку зростання lst4=', lst4, type(lst4))

print('***Четвертий спосіб, що використовує цикл з лічильником і розгалуження')

lst3n2=[k for k in range(100, -28,-1) if k%3==0]

print('Четвертий список 3n-чисел у порядку спадання lst3n2=', lst3n2, type(lst3n2))

print('***П’ятий спосіб, що використовує генератор випадкових чисел)

lst3n3=[3+6*n*random.randint(22, 222)  for n in range(40, -38,-1) if n%10==2]

print('Пятий список у довільному порядку  lst3n3=', lst3n3, type(lst3n3))

lst3n3.remove(lst3n3[1])  # видаляємо із списку елемент  lst3n[1]

print('Змінений список чисел без 1-го елементу: lst3n3=', lst3n3, type(lst3n3))

lst3n3.sort(reverse=True)

print('Змінений список чисел у порядку спадання lst3n3=', lst3n3, type(lst3n3))

lst3n3.sort()

print('Змінений список чисел у порядку зростання lst3n3=', lst3n3, type(lst3n3))

lst3n3[1:3]=[]     #зрізу списку присвоюється порожній список, ці елементи видалені

print('Змінений список чисел після видалення елементів із списку', lst3n3)

lst3n3[1:3]=[3, 33, 333, 3333]     #зрізу списку присвоюється список  елементів

print('Змінений список чисел після вставлення елементів до списку', lst3n3)

 

Завдання 10. Створити, реалізувати, протестувати алгоритми створення списків мовою програмування Python у середовищі програмування Thonny, що  виконує сортування елементів списку у порядку спадання та у порядку зростання.

Реалізація . Сортування елементів у списку

 

import random

print(' Algorytm 10  сортування елементів у списках lst1 ')

print('***Оригінальний спосіб створення списку, що використовує генератор випадкових чисел')

lst1=[3+3*random.randint(5, 55)  for n in range(20, -18,-1) if n%2==1]

print('Це  список  3n-чисел у довільному порядку  lst1=', lst1, type(lst1))

lst1.remove(lst1[1])     # видаляємо із списку елемент  lst3n[1]

print('Змінений список чисел без 2-го елементу: lst1=', lst1, type(lst1))

lst1.sort(reverse=True)    # сортування у порядку спадання  lst1

print('Змінений список чисел у порядку спадання lst1=', lst1, type(lst1))

lst1.sort()      # сортування у порядку зростання  lst1

print('Змінений список чисел у порядку зростання lst1=', lst1, type(lst1))

 

Протестуйте  даний алгоритм декілька разів, якщо:

1)      lst1=[1+2*random.randint(7, 57)  for n in range(40, -10,-2) if n%4==1]

2)      lst1=[3+8*random.randint(1, 99)  for n in range(90, 60,-3) if n%5==2]

3)      lst1=[4+7*random.randint(90, 180)  for n in range(1, 60,4) if n%6==3]

 

 

Завдання 11. Створити, реалізувати, протестувати алгоритми створення списків мовою програмування Python у середовищі програмування Thonny, що  виконує видалення та вставлення  елементів у списку.

 

Реалізація. Видалення та вставлення  елементів у списку

import random

print(' Algorytm  11 видалення та вставлення над елементами в списках lst ')

print('***Оригінальний спосіб створення списку, що використовує генератор випадкових чисел')

lst2=[1+2*n*random.randint(0, 10)  for n in range(40, -38,-1) if n%10==2]

print('Початковий список чисел після видалення елементів із списку', lst2)

lst2[2:5]=[]     #зрізу списку присвоюється порожній список, ці елементи видалені

print('Змінений список чисел після видалення двох елементів із списку', lst2)

lst2[0:3]=[0, 0, 0, 0]     #зріз  списку видаляється і присвоюється список нових  0-елементів

print('Змінений список чисел після видалення і вставлення чотирьох елементів до списку', lst2)

 

Протестуйте  даний алгоритм декілька разів, якщо:

1)      lst1=[1+2*random.randint(7, 57)  for n in range(40, -20,-2) if n%11==0]

2)      lst1=[3+8*random.randint(1, 99)  for n in range(90, 60,-3) if n%3==2]

3)      lst1=[4+7*random.randint(90, 180)  for n in range(1, 60,4) if n%4==1]

 

Завдання 12. Створити, реалізувати, протестувати алгоритми створення списків мовою програмування Python у середовищі програмування Thonny, що  виконує вставлення  елементів у списку без видалення між іншими елементами.

 

Реалізація.  Вставлення  елементів у списку без видалення

import random

print(' Algorytm 12  вставлення числових елементів у список lst1 ')

list1 = [1, 1, 1]

print(' початковий список list1=', list1)

list1.extend([0, 0, 0])            # вставлення елементів в кінець списку

print('Змінений список після вставлення чисел в кінець ', list1)

list2 = [2, 2, 2]

print(' початковий список list2=', list2)

list2.insert(1, 5)          # вставлення елемента між існуючими елементами

print ('Змінений список після вставлення елемента 5 ', list2)

list3 = [3, 3, 3]

print(' початковий список list3=', list3)

list3.insert(1, [0,0,0])          # вставлення елемента між існуючими елементами

print ('Змінений список після вставлення елемента [0,0,0]  =', list3)

for k in range(0,len(list1)):      # цикл для вставлення елемента між існуючими елементами

    list3.insert(k, list1[k])          # вставлення елемента між існуючими елементами

    list3.extend([k-1, k, k+1])           # вставлення елемента в кінець списку

print ('Змінений список після циклу вставлення елемента  =', list3)

print('Виявлення 8-го елемента у списку - це ', list3.pop(7))

 

Протестуйте  даний алгоритм декілька разів, якщо:

1)    list3 = list[range(0, 9,2]

2)    list3 = [3+8*n  for n in range(90, 60,-3) if n%3==2]

3)    list3=[5+9*random.randint(90, 180)  for n in range(1, 70,7) if n%2==1]

 

 

Завдання 13. Створити, реалізувати, протестувати алгоритми створення списків мовою програмування Python у середовищі програмування Thonny, що  виконує вставлення  елементів у порожній список.

import random

print(' Algorytm 13  вставлення і видалення  числових елементів у список lst1 ')

list2 = [4, 4, 4, 4]

print(' початковий список list2=', list2)

list2.extend([400, 4000, 40000])   # вставлення елементів в кінець списку

print('Змінений список після вставлення list2.extend([400, 4000, 40000])=', list2)

list1 = [2, 2, 2,2,2,2]

print(' Початковий список list1=', list1)

list1.insert(3,7000)     # вставлення елемента між існуючими елементами

print ('Змінений список  після вставлення list1.insert(3,7000)=', list1)

print('Показ елемента за його індексом list1.pop(3)=', list1.pop(3))  # показ індексу за відомим елементом списку

list3 = [2, 9, 8]

print('Початковий список list3=', list3)

list3.clear()                  # очищення списку чисел до порожнього

print ('Змінений список, тобто list3.clear() повне очищення списку : ', list3)

my_list = []

for k in range(0, 50, 8):        #цикл для вставлення елемента у порожній список елемента

          my_list.append(k)      #вставлення елемента у порожній список елемента

print (' Наповнений список після циклу my_list=', my_list)

my_list.append(3)       #вставлення праворуч у список елемента

print ('Змінений список вставлення елемента my_list=', my_list)  # [1, 3]

my_list.remove(32)     # видалення елемента 1 за першим індексом 0

print (' Змінений список після видалення елемента  my_list.remove(32)=', my_list)

 

Протестуйте  даний алгоритм декілька разів, якщо:

1)    list1 = list[range(90, -9,-10]

2)    list1 = [6-7*n  for n in range(70, 40,-5) if n%4==2]

3)    list1=[7+8*random.randint(95, 185)  for n in range(42, 70,2) if n%3==0]

 Результати виконання практичної частини надіслати не eлектронну адресу учителя:

vinnser@gmail.com




*****

Додаткові завдання на розвиток кмітливості