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,'=',
print(' Відсоткове відношення двох чисел b до c');
print('100*',b,'/',c,'=', round(100*b/c,2), '%;')
print(' Відсоткове відношення двох чисел c до b');
print('100*',c,'/',b,'=',
print(' Відсоткове відношення двох чисел a до c'); print('100*',a,'/',c,'=',
print(' Відсоткове відношення двох чисел c до a'); print('100*',c,'/',a,'=',
Протестувати
цей алгоритм для: 1)3-цифрових чисел; 2) 4-цифрових чисел.
Результати виконаної практичної частини надіслати на електронну адресу: vinnser@gmail.com
Немає коментарів:
Дописати коментар