четвер, 18 листопада 2021 р.

19.11.2021 Опрацювання табличних величин мовою Python3

19.11.2021

Тема: Опрацювання  табличних величин мовою Python3

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

 

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

Thonny.

Реалізація.

print( ' Алгоритм 1 ***ОПЕРАЦІЇ  сортування в порядку зростання і реверсу в порядку спадання НАД СПИСКАМИ, що містять списки чисел та списків текстових рядків*******  ')

lst1=[[20,5,15],[4,-7,-19], [0, 17,8]]      # оголошується в список lst1 з списками з цілими числами - це двовимірний масив

lst2=[['a11','a12'],['a21','a22']]                  # оголошується в список lst2 з рядками символів - це двовимірний масив

lst3=[[True,False],[False,True]]                  # оголошується в список lst3 з логічними даними- це двовимірний масив

print( 'lst1=', lst1 )                                  #виводиться на екран cписок

print( 'lst2=', lst2)                               #виводиться на екран cписок

print( 'lst3=', lst3)

lst1.sort();                                           # оголошується cортування за зростанням елементів  списку  lst1

lst2.reverse()                                       # оголошується в списку зворотний запис  елементів  списку lst2

lst3.reverse()

print( 'sort_lst1= ', lst1 )                                 #виводиться на екран відсортований список lst1

print( 'reverse_lst2= ', lst2)                #виводиться на екран зворотний запис списку lst2

print( 'reverse_lst3= ', lst3) 

 

Завдання 2Створити та реалізувати алгоритм, що використовує вбудовані функції  для генерування послідовність дев’яти  цілих чисел, які утворюють магічний квадрат 3х3 на сумах   та добутках.

Реалізація.

print( 'Алгоритм 2.** Генерування 1-ої послідовності чисел(арифметичної прогресії)**')

k=list(range(5, 54, 6))

print( '{K}=',k)

print( '***Властивості арифметичної прогресії {K}****')

print( ' Члени послідовності при діленні на', k[2]-k[1],' мають остачу', k[0])

print('summa {K}=', sum(k))

print( 'min{K}=', min(k), 'max{K}=', max(k))

print( 'Кількість членів прогресії K:', len(k))

print( 'Послідовність чисел  {K} зростає з постійним кроком:', k[2]-k[1])

print( 'Магічний квадрат 3x3 на сумах із чисел послідовності {N} з магічною сумою:', sum(k)//3)

print(k[1], k[6], k[5])

print(k[8], k[4], k[0])

print( k[3], k[2], k[7])

print( 'Магічний квадрат 3x3 на добутках із показників послідовності {N} з магічним добутком:', 2**k[1]*2**k[6]*2**k[5])

print( 2**k[1], 2**k[6], 2**k[5])

print( 2**k[8], 2**k[4], 2**k[0])

print( 2**k[3], 2**k[2], 2**k[7])

 

Завдання 3. Створити, реалізувати, протестувати алгоритм мовою програмування Python3 в середовищі програмування Thonny для  знаходження кількості різних трицифрових чисел таких, щоб це число було  кратне 10?

Математична модель. Якщо число ділиться 10 націло, тоді воно поділиться на 2 і на 5 націло.F

Реалізація.

print('Алгоритм 3 пошуку різних трицифрових чисел за їхніми властивостями дільників')

import random

a=[s for s in range(100,1000,1) if (s%2==0)and(s%5==0)];

print('Cписок трицифрових чисел, які кратні 10:  a=',a)

print('Кількість чисел, що володіють такою властивістю', len(a))

Протестувати цей алгоритм для: 1)двоцифрових чисел; 2) 4-цифрових чисел.

 

 

Завдання 4. Створити, реалізувати, протестувати алгоритм мовою програмування Python3 в середовищі програмування Thonny для  знаходження кількості різних трицифрових чисел таких, щоб 3-цифрове  число можна записати у вигляді 6n+1 або у вигляді 7n+2 одночасно?

Математична модель. 3-цифрове  число можна записати у вигляді 6n+1 або у вигляді 7n+2 одночасно Реалізація.

print('Алгоритм 4 пошуку різних 3-цифрових чисел за їхніми властивостями дільників')

import random

b=[p for p in range(100,1000,1) if (p%6==1)and(p%7==2)];

print('Кількість чисел, що володіють такою властивістю', len(b))

Протестувати цей алгоритм для: 1)двоцифрових чисел; 2) 4-цифрових чисел.

 

 

Завдання 5. Створити, реалізувати, протестувати алгоритм мовою програмування Python3 в середовищі програмування Thonny для  знаходження кількості різних 4-цифрових чисел таких, щоб 4-цифрове число  можна записати у вигляді 3n+1, 5n+1, 7n+1, 9n+1 одночасно.  Відсортувати список цих чисел у порядку спадання.

Математична модель. 3n+1, 5n+1, 7n+1, 9n+1

Реалізація.

print('Алгоритм 5 пошуку різних 2,3,4-цифрових чисел за їхніми властивостями дільників')

import random

b=[p for p in range(10,10000,1) if (p%3==1)and(p%5==1)and(p%7==1)and(p%9==1)];

print('Cписок 3-цифрових чисел, які мають можна записати у вигляді 3n+1, 5n+1, 7n+1, 9n+1:  b=',b)

print('Кількість чисел, що володіють такою властивістю', len(b))

print('Cума чисел, що володіють такою властивістю', sum(b))

print('Maximum чисел, що володіють такою властивістю', max(b))

print('Minimum чисел, що володіють такою властивістю', min(b))

print('Середнє арифметичне чисел, що володіють такою властивістю', sum(b)/len(b))

b.sort(reverse = True)

print('Cортування чисел в порядку спадання, що володіють такою властивістю', b)

 

Протестувати цей алгоритм для: 1) 5-цифрових чисел; 2) 3-цифрових чисел.

 

Завдання 6. Створити, реалізувати, протестувати алгоритм мовою програмування Python3 в середовищі програмування Thonny для  знаходження кількості різних 4-цифрових чисел таких, щоб 4-цифрове число  можна записати у вигляді 3n+1, 5n+1, 7n+1, 9n+1 одночасно. Це список b. Створити новий список а  із пар сусідніх чисел,  різниця між якими ділиться націло на 3. Вивести ще список різниць між  цими сусідніми числами.

Математична модель.  3n+1, 5n+1, 7n+1, 9n+1.

Реалізація.

print('Алгоритм 6 пошуку різних 2,3,  4-цифрових чисел за їхніми властивостями дільників')

import random

b=[p for p in range(10,10000,1) if (p%3==1)and(p%5==1)and(p%7==1)and(p%9==1)];

print('Cписок 3-цифрових чисел, які мають можна записати у вигляді 3n+1, 5n+1, 7n+1, 9n+1:  b=',b)

b.sort(reverse = True)

print('Cортування чисел у порядку спадання, що володіють такою властивістю', b)

a=[]; h=[]

for k in range(len(b)-1):

        if (b[k]-b[k+1])%45==0:

            print(b[k],'-',b[k+1],'=',b[k]-b[k+1])

            a.append(b[k])

            a.append(b[k+1])

            h.append(b[k]-b[k+1])

print('a=',a)  

print('h=',h)

 Протестувати цей алгоритм.

Завдання 7. Скільки відсотків складає друге число від першогочисла, якщо перше число складає 40% від другого.  Створити, реалізувати, протестувати алгоритм мовою програмування Python3 в середовищі програмування Thonny для  знаходження різних відсоткових відношень для трьох випадкових чисел: a, b, c.

Математична модель. Нехай друге число дорівнює х, тоді перше число дорівнює 0,4х.

 Отже, числове відношення другого числа до першого числа дорівнює х/0,4х=2,5.  Тому відсоткове відношення: 2,5*100%=250%.

Реалізація.

print('Алгоритм 7 пошуку різних відсоткових відношень для трьох випадкових чисел: a, b, c')

import random

a=random.randint(1,9);     b=random.randint(10,19);    c=random.randint(20,99)print('a=',a, 'b=',b,'c=',c)

print(' Відсоткове відношення двох чисел a до b');   print('100*',a,'/',b,'=', round(100*a/b, 2), '%;')

print(' Відсоткове відношення двох чисел b до a');  print('100*',b,'/',a,'=',round(100*b/a, 2),'%;')

print(' Відсоткове відношення двох чисел b до c');  print('100*',b,'/',c,'=', round(100*b/c,2), '%;')

print(' Відсоткове відношення двох чисел c до b');  print('100*',c,'/',b,'=',round(100*c/b, 2),'%; ')

print(' Відсоткове відношення двох чисел a до c');  print('100*',a,'/',c,'=',round(100*a/c,2),'%;')

print(' Відсоткове відношення двох чисел c до a');  print('100*',c,'/',a,'=',round(100*c/a,2),'%;')

 

Протестувати цей алгоритм для: 1)3-цифрових чисел; 2) 4-цифрових чисел.




Результати виконаної практичної частини надіслати на електронну адресу: vinnser@gmail.com

Немає коментарів:

Дописати коментар