суботу, 27 лютого 2021 р.

Дистанційна освіта з інформатики 01.03.2021 - 07.03.2021

 

Дистанційна освіта з інформатики в період березня  2021 року

01.03.2021 - 07.03.2021

Конспект уроку для учнів

Тема: Складання програм на опрацювання алгоритмів  різними типами даних. Одновимірні массиви. Рядки. Списки.  Середовище опису та виконання циклічних алгоритмів  Thonny.

Теоретична частина

 Зразок кодування простенького калькулятора

what=input('Знак?(+,-):')
a=float(input('Число1?'))
b=float(input('Число2?'))
if what=='+':
    c=a+b
elif what=='-':
    c=a-b
print(c)

Запитання: Що треба змінити у цьому кодуванні програми, щоб можна було виконати дії множення і ділення дробових чисел?

Запитання. Що ви розумієте під словосполученням: " послідовність чисел"?

Відповідь. Це множина чисел, в якій кожне число має свій порядковий номер і чітко задану закономірність утворення наступного числа.

Наприклад. Знайти продовження послідовності чисел:

А) 2, 4, 6, 8, 10, 12, ……., an=2*n, де n - натуральне число

Б)1, 3, 5, 7, 9, 11, 13, ……, bn=2*n-1, де n - натуральне число

В) 3, 6,9,12,15,18, ……., an=3*n, де n - натуральне число

Г)2, 5, 8,11,14,17, 20, ……, bn=3*n-1, де n - натуральне число

 

 


 



Довідка про двовимірні масиви(матриці)

 

 

Фізкультхвилинка

Один, два – усі піднялись,

Повернулись, похитались.

Три, чотири – руки вгору,

В сторони і вгору знову.

П’ять, шість – опустили,

І швиденько всі присіли.

Сім, вісім – всі малята

Стрибають, як жабенята.

Дев’ять, десять, - рівно стали

І за парти посідали.

 https://pythontask.pp.ua/

 

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

 Для користувачів OS Windows, бажано встановити Середовище Thonny, оскільки робота в ньому непогано описана в нашому підручнику.

Середовище Thonny Python IDE for beginners https://thonny.org/

Для завантаження можна прямо перейти за посиланням

Для Windows: https://github.com/thonny/thonny/releases/download/v3.3.2/thonny-3.3.2.exe

 Завдання 0. Моніторинг знань про алгоритми в Python3

 1.Установіть відповідність між словами-термінами в таблиці1

Таблиця 1

+,*, /, -, %, //

9,3, 2, 1

>, <. =,

x, z, n k,

[ , }, #, ], }@

for, if, while

константи

 

 

 

 

 

 

відношення

 

 

 

 

 

 

операції

 

 

 

 

 

 

змінні

 

 

 

 

 

 

знаки

 

 

 

 

 

 

Cлужбові слова

 

 

 

 

 

 

 

Завдання 1. Реалізувати даний алгоритм знаходження чисел послідовності Фібоначчі на Python в  Thonny. Синім кольором виділена частина, алгоритму, яка називається або підпрограмою-процедурою, або функцією-процедурою

 

Реалізація для 30 чисел Фібоначчі

 

print("Числа Фібоначчі")

n=30; f=['None']*n

f[0]=0;f[1]=1

def fib(n):

      a,b=0,1

      f[0]=0; f[1]=1

      i=2

      while i<n:

            print(a,end='   ')

            a,b=b,a+b

            f[i]=f[i-2]+f[i-1]

            i+=1

            print()

      return f

fib(n)

print("Масив чисел Фібоначчі:", f)

 

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

Протестувати виконання цього алгоритму для n=500 чисел

Протестувати виконання цього алгоритму для n=1500 чисел


Довідка про Золотий перетин у природі

 

Завдання 2.  Реалізувати даний алгоритм знаходження чисел послідовності Вінні на Python в  Thonny. Синім кольором виділена частина, алгоритму, яка називається або підпрограмою-процедурою, або функцією-процедурою

Означення. Послідовність  чисел, називається послідовність Вінні  Vq(k,l,m,n), для натуральних чисел  m,  n,  k, l, q , якщо виконуються такі умови:

1) v1 =k*m+n;    v2= l*k+n;

2)vq= (q-1)*vq-2+q*vq-1.

 

Реалізація  для послідовності Вінні  Vq(2,3,1,1).

print("Числа Віннi")

z=['None']*10

def vinn(r,k,l,m,n):

    a,b=k*m+n,l*k+n

    z[0],z[1]=k*m+n,l*k+n

    i=2

    while a<r:

        print(a,end='   ')

        a,b=b,(i-1)*a+i*b

        z[i]=b

        i+=1

        print()

    return z

vinn(100000,2,3,1,1)

print("Масив чисел Віннi:", z)

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

Протестувати виконання цього алгоритму для Vq(2,2,2,2).

Протестувати виконання цього алгоритму для Vq(1,2,3,4)

 

Завдання 3. Реалізувати даний алгоритм знаходження чисел послідовності Тарасова  на Python в  Thonny. Синім кольором виділена частина, алгоритму, яка називається або підпрограмою-процедурою, або функцією-процедурою.

Реалізація.

 

print("Числа Тарасова")

def tarasov(n, k):

    a, b=k**2+1, k**3+1

    i=3

    while a<n:

        print(a,end='   ')

        a,b=b,(2*i+1)*a+2*i*b

        i+=1

    print()

tarasov(10000, 2)

 

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

для цього треба натиснути на піктограму «зелений кружечок», що розташована  на панелі інструментів

 

 

Завдання 4. Реалізувати даний алгоритм знаходження чисел послідовності Адоген  на Python в  Thonny. Синім кольором виділена частина, алгоритму, яка називається або підпрограмою-процедурою, або функцією-процедурою.

 

Означення. Послідовність  чисел, називається послідовність  Adogen  Aq(k,l,m,n), для натуральних чисел  m,  n,  k, l, q , якщо виконуються такі умови:

1) A1(k,l,m,n)) = 0; для натурального  n> 0,  k>0, l >0, m>0,

2)Aq(k,l,m,n)) = Aq-1(k,l,m,n) +k*q+l, якщо  Aq-1(k,l,m,n) -k*m-l <=0 і число Aq-1(k,l,m,n) +k*q+l  ще не належить цій послідовності;

3)Aq(k,l,m,n)) = Aq-1(k,l,m,n) - k*q- l, якщо  Aq-1(k,l,m,n) -k*m-l >0 і  число Aq-1(k,l,m,n) - k*q- l  ще не належить цій послідовності.

 

Реалізація.

 

print("Послідовність чисел  Адоген: Aq(a,b,c,d)={}")

r=['None']*200

q=['None']*200

r[0]=0

ss=0

def adogen(n,k,l,s,t):

      a=0

     for m in range(1,n):

           if a-k*m-l<=0:

               a=a+k*m+l; r[m]=a;

          else:

                a=a-s*m-t; r[m]=a;

    return r, ss

adogen(200, 1,1,1,1)

print(r)

for n in range(0,200):

      q[n]=r[n]

for n in range(0,200):

      for m in range(0,n-1):

            if r[n]==r[m]:

                q[n]=' '; ss=ss+1

print(q)

print("Фільтрування чисел Адоген від повторів")

print("Кількість чисел  Адоген")

print(200-ss)

 

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

для цього треба натиснути на піктограму «зелений кружечок», що розташована  на панелі інструментів

 

 

Завдання 5. Реалізувати даний алгоритм знаходження чисел послідовності  Марека та Земана  на Python в  Thonny. Синім кольором виділена частина, алгоритму, яка називається або підпрограмою-процедурою, або функцією-процедурою.

Реалізація.

print("Числа Marеkа")

r=['None']*10

def mareka(n, k):

    a, b,c,d=0, 1,3,6

    for i in range(0,n):

        print(a,end='   ')

        a, b,c,d=a+i+k-1, b+i+k, c+i+k+1, d+i+k+2

        r[i]=d

        print()

    return r

mareka(10, 2)

print("Четвірки Земана")

z=['None']*10

def zeman(n):

      a, b,c,d=0, 1,3,6

      print(a, b,c,d)

      for m in range(0,n):

            a, b,c,d=a+m,b+a+m+1,c+b+m+2,d+c+m+3

            z[m]=d

            print(a, b,c,d)

      return z

zeman(10)

print("Одновимірний масив чисел Земана",z)

print("Одновимірний масив чисел Марека",r)

print("Сума вiдповідних чисел Земана і Марека")

f=['None']*10

for m in range(0,10):

    f[m]=z[m]+r[m]

print(f)

print("Добуток вiдповідних чисел Земана і Марека")

d=['None']*10

for m in range(0,10):

    d[m]=z[m]*r[m]

print(d)

 

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

для цього треба натиснути на піктограму «зелений кружечок», що розташована  на панелі інструментів

 


Результат виконаної практичної роботи це 5 файлів ( кодування програми та  результати  її виконання) надіслати вашому учителю на електронну скриньку: 
vinnser@gmail.com (Сергій Петрович)
ktdfz@i.ua (Юрій Васильович)

 

 


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

Довідка про числа Фібоначчі






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

Програмування з одновимірними масивами

Завдання А

А1. Задано одновимірний масив на 13 елементів типу випадкових цілих чисел із числового проміжку (-100;100). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який замінює елементи в заданому масиві на протилежні за знаком.

А2. Задано одновимірний масив на 15 елементів типу випадкових цілих чисел із числового інтервалу (-150; 120). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який замінює елементи в заданому масиві на квадрати.

А3. Задано одновимірний масив на 17 елементів типу випадкових цілих чисел із числового інтервалу (-950; 820). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який замінює елементи в заданому масиві на вдвічі збільшені.

А4. Задано одновимірний масив на 18 елементів типу випадкових дробових чисел із числового інтервалу (-9; 8). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який підраховує кількість додатних елементів масиву.

А5. Задано одновимірний масив на 23 елементів типу випадкових дробових чисел із числового інтервалу (-95; 80). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який підраховує кількість від´ємних елементів масиву.

А6. Задано одновимірний масив на 15 елементів типу випадкових дробових чисел із числового інтервалу (-29; 89). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який підраховує кількість додатних елементів масиву.

А7. Задано одновимірний масив на 23 елементів типу випадкових дробових чисел із числового інтервалу (-95; 80). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який підраховує кількість від´ємних елементів масиву.

А8. Задано одновимірний масив на 22 елементів типу випадкових дробових чисел із числового інтервалу (-79; 89). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який підраховує середнє арифметичне додатних елементів масиву.

А9. Задано одновимірний масив на 19 елементів типу випадкових дробових чисел із числового інтервалу (-65; 60). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який підраховує середнє арифметичне від´ємних елементів масиву.

А10. Задано одновимірний масив на 18 елементів типу випадкових дробових чисел із числового інтервалу (-65; 60). Створити алгоритм мовою програмування Python в середовищі програмування Thonny, який підраховує кількість парних від´ємних елементів масиву.

 

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