четвер, 21 жовтня 2021 р.

25.10.2021-31.10.2021 Побудова математичної моделі

 

25.10.2021-31.10.2021

 

Тема: Нелінійні алгоритми  з циклами та розгалуженнями  для числових  даних МОВОЮ ПРОГРАМУВАННЯ PYTHON3

 

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

Побудова математичної моделі для  алгортимів  зз числовими даними

 

Завдання 1. Створити, реалізувати, протестувати  алгоритм в середовищі Scratch для знаходження кількості двоцифрових чисел, сума цифр яких дорівнює  9.

Математична модель завдання 1:  90 - це кількість усіх двоцифрових натуральних чисел   ab=10*a+b i для них перевiрити умови a+b=9=9+0=8+1=7+2=6+3=5+4 та врахувати можливі перестановки доданків.

Якщо ab - двоцифрове число, то а- цифра десятків шукається, як менша ціла частина від поділу цього числа на 10.

Якщо ab - двоцифрове число, то b-цифра одиниць  шукається, як остача від ділення цього числа на 10.

 

 

 

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

Математична модель завдання 2:  900 - це кількість усіх трицифрових натуральних чисел   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 та врахувати можливі перестановки доданків.

Якщо abс -трицифрове число, то а- цифра сотень шукається, як менша ціла частина від поділу цього числа на 100.

Якщо abс -трицифрове число, то b-цифра десятків  шукається, як:  менша ціла частина від ділення (результату остачі  ділення цього числа на 100)   на 10 .

Якщо abс -трицифрове число, то с-цифра одиниць шукається, як:  остача від  ділення цього числа на 10 .

 

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

Лінійні алгоритми та нелінійні алгоритми  з циклами та розгалуженнями з числовими даними






Створити та протестувати наступні алгоритми 

Завдання 1. У фермера є кури і k корів.  Інших тварин у нього немає.  Кількість курячих лапок дорівнює кількрості ніг корів. Скільки  усіх голів: у  курей  та у корів?  Створити, реалізувати, протестувати алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження кількості  усіх голів у тварин на фермі.

Математична модель завдання 1: M=3*k – це  кількість усіх голів у тварин на фермі.

Реалізація.

import random

k=random.randint(1, 999)

print('Kількість  корів на фермі: ', k)

print('Kількість  ніг у корів на фермі: ', 4*k)

print('Kількість  лапок у кур на фермі: ', 4*k)

print('Kількість  кур на фермі: ', 2*k)

print('Kількість усіх голів у кур та у корів на фермі:', 3*k)

 

Завдання 2. У школі  р учнів.  З них m учнів займаються в секції легкої атлетики, а k учнів займаються в секції плавання. Відомо, що n учнів займаються в обох секціях.  Скільки учнів школи не займаються ні в жодній з секцій? Створити, реалізувати, протестувати  алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження кількості  учнів, що не відвідують спортивні секції, в залежності від введених  випадковим чином натуральних чисел k, p, n, m.

Математична модель завдання 2: X= p-m-k+n - кількості  учнів, що не відвідують спортивні секції.

Реалізація.

import random

p=random.randint(304, 999)

m=random.randint(50, 100)

k=random.randint(50, 100)

n=random.randint(1, 50)

print('Kількість  учнів у школі: ', p)

print('Kількість  учнів займаються в секції легкої атлетики : ', m)

print('Kількість  учнів займаються в секції плавання: ', k)

print('Kількість  учнів займаються в обох секціях: ', n)

print('Kількість  учнів займаються тільки одним плаванням: ', k-n)

print('Kількість  учнів займаються тільки однією легкою атлетикою: ', m-n)

print('Kількість  учнів школи не займаються ні в жодній з секцій:', p-m-k+n)

 

Завдання 3. Оксана спекла пампушки. Коли вона намагалась розділити серед  k своїх подруг,  то залишилися одна пампушка. Коли вона намагалась розділити серед  k+1 своїх подруг,  то залишилися одна пампушка. Коли вона намагалась розділити серед  k+2 своїх подруг, то залишилися одна пампушкаСкільки пампушок спекла Оксанка?  Створити, реалізувати, протестувати алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження кількості спечених пампушок в залежності від введеного випадковим чином натурального числа k.

Математична модель завдання 3:

X=k*(k+1)*(k+2)*p+1  -  кількості спечених пампушок,  де р, k  – натуральне число

Реалізація.

import random

k=random.randint(2, 5)

p=random.randint(1, 2)

m=(k*(k+1)*(k+2)*p+1)

print('Kількість  пампушок в одні руки, які отримали',k,' подруг  : ', m//k,' залишок пампушок', m%k)

print('Kількість  пампушок, які отримали',k+1,' подруг  : ', m//(k+1),' залишок пампушок', m%(k+1))

print('Kількість  пампушок, які отримали',k+2,' подруг  : ', m//(k+2),' залишок пампушок', m%(k+2))

print('Kількість  пампушок, які спекла Оксана: ', m)

 

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

Математична модель завдання 4:  ab=10*a+b i перевiрити умови a+b=9=9+0=8+1=7+2=6+3=5+4

Реалізація.

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

k=0

for a in range(1,10):

      for b in range(0,10):

          if a+b==9:

              k=k+1

              print('Шукане двоцифрове число з сумою цифр 9', 10*a+b) 

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

 

Завдання 5. Створити, реалізувати, протестувати  алгоритм мовою програмування 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-цифрових чисел з сумою цифр 5')

k=0

for a in range(1,10):

      for b in range(0,10):

          for c in range(0,10):

              if a+b+c==5:

                  k=k+1

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

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

 

Завдання 6. У танцювальному гуртку m хлопчиків і n дівчаток. Кожного тижня р хлопчиків та k дівчаток записуються до колективу.  Через скільки тижнів кількість хлопчиків та дівчаток у колективі зрівняється?  Створити, реалізувати, протестувати  алгоритм мовою програмування Python3 в середовищі програмування Thonny  для знаходження кількості  тижнів, в залежності від введених  випадковим чином натуральних чисел k, p, n, m.

Математична модель завдання 6:

Якщо одночасно виконуються такі три умови: m>n  і k>p  і остача від ділення (m-n)%(k-p) дорівнює нулю,  тоді  кількість  тижнів Х= (m-n)//(k-p)  

Якщо одночасно виконуються такі три умови:  m<n  і p>k і остача від ділення (n-m)%(p-k) дорівнює нулю,  тоді  кількість  тижнів Х= (n-m)//(p-k)  

Для усіх інших випадків кількість  тижнів Х=0.

Реалізація.

print('Алгоритм пошуку кількості тижнів, коли зрівняються дві статті')

import random

m=random.randint(20, 28)

print('кількість  хлопчиків у танцювальному гуртку ', m)

n=random.randint(16,20)

print('кількість  дівчаток у танцювальному гуртку', n)

p=random.randint(1,4)

print('кількість новоприбулих хлопчиків у танцювальному гуртку', p)

k=random.randint(2,6)

print('кількість новприбулих дівчаток у танцювальному гуртку', k)

if (m>n)and(k>p)and((m-n)%(k-p)==0):

     print('кількість  тижнів Х=(m-n)//(k-p)=', (m-n)//(k-p))

elif (m<n)and(p>k)and((n-m)%(p-k)==0):

     print('кількість  тижнів Х=(n-m)//(p-k)=', (n-m)//(p-k))

elif not((m<n)and(p>k)and((n-m)%(p-k))==0):

    print('Kількість тижнів =', 0)

 




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

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

Додаткові завдання  для шанувальників програмування 


Створити алгоритм для таких задач мовою Python3

1. Знайти градусну міру кутів прямокутного трикутника, якщо відомо один його кут, який вводиться з клавіатури.

2. Одна сторона трикутника дорівнює A дм, друга – у N разів коротша за першу, а третя - на 12 дм довша за другу. Знайдіть периметр трикутника.

3. Ламана складається з трьох ланок. Довжина першої ланки дорівнює W см, що на 3,7 см більше за довжину другої ланки і у T разів менше від довжини третьої. Чому дорівнює довжина ламаної?

4. Поле прямокутної форми має площу S а, його ширина – L м. Обчисліть периметр поля.

Примітка. 1 а (ар) = 100 кв. м

5. Учень-невдаха Сашко сів виконувати домашнє завдання і просидів за столом 2 години. З них х хвилин він чухав потилицю і дивився у вікно, у хвилин шукав у письмовому столі гумку, щоб стерти у підручнику з англійської мови карикатуру на свого товариша, на малювання якої він витратив перед цим z хвилин. Решту часу Сашко перекладав англійські слова. Скільки слів він встиг перекласти, якщо переклад одного слова у нього займав 5 хвилин?

6. Якщо на одну шальку терезів посадити Даринку, яка важить n кг, і Тетянку, яка важить на 5 кг більше, а на іншу насипати m кг цукерок, то скільки кілограм цукерок доведеться з'їсти дівчаткам, щоб шальки терезів врівноважились? Дівчатка можуть брати цукерки лише з великої цукерниці, а не з іншої шальки терезів.

7. Визначити, яку заробітну платню одержить на фірмі сумісник за виконану роботу, якщо йому нараховано S грн., а податок становить 20%.

8. Петро задумав число і нікому його не назвав. Друзі спіймали його і примусили подвоїти задумане число, а потім додати до нього 5. І тільки після того, як вони пообіцяли Петрові благодійну допомогу на контрольній з математики, він зізнався, що вийшло число n. Визначте, яке число задумав і приховав від своїх друзів Петро.

9. Із тераріуму втекли х гадюк, у кобр та z гюрз. Довжина кожної гадюки 1 м, кожної кобри - 1 м 30 см, а гюрзи - 1 м 15 см. Яка довжина у сантиметрах отруйних змій втекла з тераріуму?

10. Дано ціле число. Якщо воно є додатне, то додати до нього 1; в іншому разі не змінювати його. Вивести отримане число.

11. Дано ціле число. Якщо воно є додатне, то додати до нього 1; в іншому випадку відняти від нього 2. Вивести отримане число.

12. Дано ціле число. Якщо воно є додатне, то додати до нього 1; якщо від’ємне, то відняти від нього 2; якщо нульовим, то замінити його на 10. Вивести отримане число.

13 . Дано три цілих числа. Знайти кількість додатних чисел в початковому наборі.

14. Дано три цілих числа. Знайти кількість додатних і кількість від’ємних чисел в початковому наборі.

15 . Дано два натуральні числа. Вивести більше з них.

16. Дано два  дробові числа. Вивести порядковий номер меншого з них.

17 . Дано два  цілі числа. Вивести спочатку більше, а потім менше з них.

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

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

































 

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

11.10.2021 -17.10.2021 Кодування масивів мовою Python

 

11.10.2021 -17.10.2021

 

Тема: Використання списків для кодування масивів мовою Python

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

Читаємо алгоритми мовою Python

1)      Пояснити, що виконує даний алгоритм: 

n=int(input()) 

if n>0: 

    print(n+1) 

else: 

    print(n) 

2) Пояснити, що виконує даний алгоритм: 

 

n=int(input()) 

if n>=0: 

    print(n+1) 

else: 

    print(n-2) 

3) Пояснити, що виконує даний алгоритм: 

 

n=int(input()) 

if n>0: 

    print(n+1) 

elif n==0: 

    print(10) 

else: 

    print(n-2) 

4) Пояснити, що виконує даний алгоритм: 

 

a,b,c=map(int,input().split()) 

if a>0 and b>0 and c>0: 

    print(3) 

elif a>0 and b>0 and c<0: 

    print(2) 

elif a>0 and b<0 and c>0: 

    print(2) 

elif a<0 and b>0 and c>0: 

    print(2) 

elif a>0 and b<0 and c<0: 

    print(1) 

elif a<0 and b>0 and c<0: 

    print(1) 

elif a<0 and b<0 and c>0: 

    print(1) 

else: 

    print(0) 

 

5) Пояснити, що виконує даний алгоритм: 

 

a,b,c=map(int,input().split()) 

if a>0 and b>0 and c>0: 

    print(3) 

elif a>0 and b>0 and c<0: 

    print(2) 

elif a>0 and b<0 and c>0: 

    print(2) 

elif a<0 and b>0 and c>0: 

    print(2) 

elif a>0 and b<0 and c<0: 

    print(1) 

elif a<0 and b>0 and c<0: 

    print(1) 

elif a<0 and b<0 and c>0: 

    print(1) 

elif a<0 and b<0 and c<0: 

    print(-3) 

elif a>0 and b<0 and c<0: 

    print(-2) 

elif a<0 and b>0 and c<0: 

    print(-2) 

elif a<0 and b<0 and c>0: 

    print(-2) 

elif a<0 and b<0 and c>0: 

    print(-1) 

elif a<0 and b>0 and c<0: 

    print(-1) 

elif a>0 and b<0 and c<0: 

    print(-1) 

else: 

    print(0) 

6)  Пояснити, що виконує даний алгоритм: 

 

a,b=map(int,input().split()) 

if a>0 and b<0: 

    print('a') 

elif a<0 and b>0: 

    print('b') 

else: 

    print('a=b') 

7) Пояснити, що виконує даний алгоритм: 

 

a,b=map(int,input().split()) 

if a>0 and b<0: 

    print(b) 

else: 

    print(a) 

 

8) Пояснити, що виконує даний алгоритм: 

 

a,b=map(int,input().split()) 

if a>0 and b<0: 

    print(a,b) 

else: 

    print(b,a) 


Поняття  про тип даних "СПИСКИ"

Cписок(List) - це тип даних, що представляє собою упорядкований набір елементів. Як правило, елементи одного списку повинні мати однаковий тип. Наприклад, список рядків символів, список цілих чисел. Приклади списків:

a = [ "Андрій", "Віра", "Даша", "Коля", "Юра"]

Тут створили список з ім'ям a і елементами строкового типу.

b = [17, 409, 88]

Тут створили список з ім'ям b і елементами - цілими числами.

Список має: ім’я, та елементи. Елементи списку мають індекси(порядковий номер у списку). Наприклад, А[5] - це п’ятий елемент спику А

Списки можна створювати різними способами.

1) Перерахуванням всіх елементів (цей спосіб був розглянутий вище):

a = [ "Андрій", "Віра", "Даша", "Коля", "Юра"]

Можна створити порожній список:

a = []

2) За допомогою генератора списку:

a = [0] * 5

Вийде список, що складається з п'яти нулів: [0, 0, 0, 0, 0].

a = [i for i in range (10)]

Вийде список [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

a = [i * i for i in range (10)]

Вийде список [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]


3) Шляхом введення елементів з клавіатури (кожен елемент з нового рядка):

a = [0] * 5

for i in range (5):

       print ( "a [", i, "] =", end = "   ")

      a [i] = int (input ())

Запустіть цю програму і створіть список.

4) Шляхом введення елементів з клавіатури (всі елементи в одному рядку через пропуск). Для цього використовується метод a.split (), який повертає список рядків, які вийдуть, якщо вихідну рядок розрізати на частини по прогалин:

s = input () # користувач вводить рядок "1 2 3"

a = s.split ()

print (a)

Виведення: [ '1', '2', '3']


Cпособи виведення списку

Списки можна виводити різними способами.

1) Найпростіший спосіб - просто дати команду вивести список:

b = [17, 409, 88]

print (b)

Виведення: [17, 409, 88]

2) Виведення кожного елемента списку по-окремо:

a = [ "Андрій", "Віра", "Даша", "Коля", "Юра"]

for i in range (5):

        print (a [i])

3) Виведення  кожного елемента списку по-окремо в одному рядку:

a = [ "Андрій", "Віра", "Даша", "Коля", "Юра"]

for i in range (5):

         print (a [i], end = "      ")

4) Виведення  елементів списку без звернення до індексів елементів:

fruits = [ "Яблуко", "Банан", "Груша"]

for x in fruits:

           print (x, end = "    ")

Опрацювання списків різними способами зміни його елементів списку

a = [1, 2, 3, 4, 5, 6]

for i in range (6):

       if a [i]% 2 == 0:

       a [i] = 0

print (a)

Висновок: [1, 0, 3, 0, 5, 0]

2) Можна додавати елементи в кінець списку. Для цього використовується метод a.append (x):

a = [1, 2, 3]

a.append (4)

print (a)

Виведення: [1, 2, 3, 4]

3) Чи можна розширювати список, додаючи в його кінець елементи іншого списку. Для цього використовується метод a.extend (b):

a = [1, 2, 3]

b = [4, 5]

a.extend (b)

print (a)

Виведення: [1, 2, 3, 4, 5]

4) Списки можна копіювати:

a = [1, 2, 3]

b = a

print (b)

5) Функція знаходження довжини списку len (a):

a = [ "Яблуко", "Банан", "Груша"]

x = len (a)

print (x)

Виведення: 3

6) Заповнення списку випадковими елементами:

from random import randint

x = 7

a = [0] * x

for i in range (x):

     a [i] = randint (0,100)

7) Перестановка елементів списку в зворотному порядку. Метод a.reverse ():

a = [0, 1, 2, 3, 4, 5]

a.reverse ()

print (a)

Виведення: [5, 4, 3, 2, 1, 0]

8) Сортування списку. Функція sorted (a):

По зростанню:

animals = [ "кіт", "їжак", "борсук", "собака", "свиня"]

animals = sorted (animals)

print (animals)

Виведення: [ 'борсук', 'їжак', 'кіт', 'свиня', 'собака']

По спаданню:

a = [5, 65, 14, 700, 8]

a = sorted (a, reverse = True)

print (a)

Виведення: [700, 65, 14, 8, 5]


Завдання для самостійного опрацювання юним програмістом


1)      Створити список своїх улюблених фільмів. Вивести список трьома способами: а) в рядок; б) в стовпчик; в) в рядок через кому.

2)      Ввести з клавіатури список прізвищ письменників. Відсортувати список в алфавітному порядку і вивести його.

3)      Створити список з п'яти елементів. Заповнити його випадковими числами. Вивести цей список. Знайти і вивести суму його елементів.

4)      Створити список з десяти елементів. Заповнити його випадковими числами. Вивести цей список. Вивести найбільший елемент списку.

5)      Створити список з десяти елементів. Заповнити його випадковими числами. Замінити всі непарні числа нулями. Вивести вихідний і вийшов списки.

6)      Заповнити масив з 10 елементів випадковими числами в інтервалі [-100,100] і переставити елементи так, щоб всі позитивні елементи стояли в початку масиву, а всі негативні і нулі - в кінці. Приклад: вихідний масив: 20 -90 15 -34 10 0; результат: 20 15 10 -90 -34 0.

7)      Заповнити масив а випадковими числами, відібрати в масив b все числа, менші п'яти. Вивести обидва масиви.



      Запитання від учнів до учителя

Запитання 1. Як записати декілька різних алгоритмів мовою Python за допомогою циклу for, щоб вивести всі парні числа від 100 до 200?

Відповідь:  Обчислюємо дві межі індексування: 1)нижня межа: 100//2=50  2)верхня межа:  200//2=100.

 

1-ий спосіб генерування парних чисел в межах 99<2*k<201.

A=[2*k for k in range(50,101,1)]

print('Парні числа 99<2k<201 вигляді списку:',A)

2-ий спосіб генерування парних чисел в межах 99<2*j<201.

N=['None']*51

for j in range(0, 51, 1):

        N[j]=100+2*j

print('Парні числа 99<2*j<201 вигляді списку:',N)

3-ій спосіб генерування парних чисел в межах 99<2*m<201.

import random

H=[98+k*random.randint(2,2) for k in range(1,52,1)]

print('Парні числа 99<2*m<201 вигляді списку:',H)

4-ий  спосіб генерування парних чисел 99<2*p<201.

for j in range(200, 99, 2):

       print(j, end='  ')

5-ий  спосіб генерування парних чисел.

m=200

for j in range(-m, -m+101, 2):

    print(100+m+j, end='  ')

Запитання 2. Як записати декілька різних алгоритмів мовою Python за допомогою циклу for, щоб вивести всі 6k+1-числа від 100 до 200?

Відповідь:  Обчислюємо дві межі індексування: 1)нижня межа: 100//6=16  2)верхня межа:  200//6=34.

1-ий спосіб генерування парних чисел в межах 99<6*k+1<201.

A=[6*k+1 for k in range(17,34,1)]

print('Парні числа 99<6*+1k<201 вигляді списку:',A)

2-ий спосіб генерування парних чисел в межах 99<6*k+1<201.

m=205

for j in range(-m, -m+101, 6):

    print(103+m+j, end='  ')

 

Запитання 3. Як записати декілька різних алгоритмів мовою Python за допомогою циклу for, щоб вивести 10 перших ступенів двійки?

Відповідь:  1-ий cпосіб.

for j in range(1, 11):

                  print(2**j, end='  ')

         2-ий cпосіб.

m=1

for j in range(1, 11):

          m=m*2

                      print(m, end='  ')

Запитання 4. Як записати алгоритм для введення з клавіатури 7 натуральних чисел. І вивести: 1)найбільше з них. 2)найменше з них, 3) суму усіх чисел, 4) середнє арифметичне усіх чисел.

Відповідь.

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

a1,a2,a3,a4,a5,a6,a7=map(int, input().split())

A=[a1,a2,a3,a4,a5,a6,a7]

print('Найбільше  число в А - це максимум множини чисел =',max(A))

print('Найменше  число в А - це мінімум множини чисел =',min(A))

print('Середнє арифметичне  для А - це середина множини чисел =',sum(A)/len(A))

 

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

Опрацювання способів створення  двовимірних масивів на числових типах даних

 

Завдання 1. Створити та протестувати алгоритм створення, виведення постійного  числового масиву у вигляді  таблиці чисел, розміром mхn. Знайти середнє арифметичне усіх елементів новствореного масиву відповідно до зразку.

Реалізація.

import random

midlle=0

def rand_matrix(m,n):     #це процедура для створення матриці із чисел

    A=[[random.randint(0,9) for j in range(m)] for i in range(n)]

    return A

def show_matrix(A):    #це процедура для друкування матриці із чисел

    for a in A:

        for b in a:

            print(b, end="   ")

        print()

def linear_matrix(m,n,k,t):       #це процедура для утворення нової МАТРИЦІ

    for i in range(m):

        for j in range(n):

            S[i][j]=k*A[i][j]+t*B[i][j]

    return S

m=5; n=5; k=10;t=-10; midlle=0; A=rand_matrix(m,n); print('Matrix A=');show_matrix(A);

B=rand_matrix(m,n); print('Matrix B=');show_matrix(B); S=rand_matrix(m,n);print('Matrix S='); show_matrix(S);

linear_matrix(m,n,k,t)

print("Усі елементи лінійної комбінації двох матриць S(m,n)=",k,'*A+',t,"*B"); show_matrix(S)

for i in range(m):

        for j in range(n):

            midlle+=S[i][j]

print("Сума усіх елементів", midlle)

midlle=midlle/(m*n)

print("Середнє арифметичне усіх елементів лінійної комбінації двох матриць S(m,n)=",k,'*A+',t,"*B  midlle=", midlle)

Протестуйте даний алгоритм для таких даних 1) m=7; n=9; k=1001; t=-10001; 2) m=5; n=10; k=2002; t=-20002;

Завдання 2. Створити та протестувати алгоритм створення, виведення постійного  числового масиву у вигляді  таблиці чисел, розміром mхn. Змінити  усі  елементи новствореного масиву на їхні квадрати.

Реалізація.

import random

def rand_matrix(m,n):     #це процедура для створення матриці із чисел

    H=[[random.randint(0,9) for j in range(m)] for i in range(n)]

    return H

def show_matrix(A):    #це процедура для друкування матриці із чисел

    for a in A:

        for b in a:

            print(b, end="       ")

        print()

def linear_matrix(m,n,k,t):       #це процедура для СЕРЕДННЬОГО АРИФМЕТИЧНОГО ЕЛЕМЕНТІВ МАТРИЦІ

    for i in range(m):

        for j in range(n):

            S[i][j]=(k+t)*H[i][j]+(k-t)*G[i][j]

    return S

m=5; n=5; k=101;t=-2002; H=rand_matrix(m,n); print('Matrix H=');show_matrix(H);

G=rand_matrix(m,n); print('Matrix G=');show_matrix(G);  S=rand_matrix(m,n);print('Matrix S='); show_matrix(S);

linear_matrix(m,n,k,t)

print("Усі елементи лінійної комбінації двох матриць S(m,n)="); show_matrix(S)

for i in range(m):

        for j in range(n):

            S[i][j]=(S[i][j])**2

print("Усі елементи зміненої матриці S(m,n)=(",k+t,'*H+',k-t,"*G)"); show_matrix(S)

Протестуйте даний алгоритм для таких даних 1) m=2; n=2; k=2002; t=-20002; 2) m=5; n=3; k=3003; t=-30003;

Завдання 3. Створити та протестувати алгоритм створення, виведення постійного  числового масиву у вигляді  таблиці чисел, розміром mхn. Змінити  усі  елементи новствореного масиву за їхніми властивостями остач при поділу на 4 відповідно до даного зразкa.

Реалізація.

import random

def rand_matrix(m,n):     #це процедура для створення матриці із чисел

    Z=[[random.randint(-9,9) for j in range(m)] for i in range(n)]

    return Z

def show_matrix(U):    #це процедура для друкування матриці із чисел

    for a in U:

        for b in a:

            print(b, end="       ")

        print()

def linear_matrix(m,n,k,t):       #це процедура для СЕРЕДННЬОГО АРИФМЕТИЧНОГО ЕЛЕМЕНТІВ МАТРИЦІ

    for i in range(m):

        for j in range(n):

            S[i][j]=(3*k+4*t+2)*X[i][j]+(5*k-6*t+1)*Y[i][j]

    return S

m=5; n=5; k=-30003;t=-20001;

X=rand_matrix(m,n); print('Matrix X=');show_matrix(X);

Y=rand_matrix(m,n); print('Matrix Y=');show_matrix(Y);

S=rand_matrix(m,n);print('Matrix S='); show_matrix(S);

linear_matrix(m,n,k,t)

print("Усі елементи лінійної комбінації двох матриць S(m,n)="); show_matrix(S)

for i in range(m):

        for j in range(n):

            if   S[i][j]%4==0:

                 S[i][j]=(S[i][j])*1000

            if   S[i][j]%4==1:

                 S[i][j]=(S[i][j])*20000

            if   S[i][j]%4==2:

                 S[i][j]=(S[i][j])*300000

            if   S[i][j]%4==3:

                 S[i][j]=(S[i][j])*4000000

print("Усі елементи зміненої матриці S(m,n)="); show_matrix(S)

Протестуйте даний алгоритм для таких даних 1) m=3; n=3; k=101; t=-1001; 2) m=4; n=4; k=2000; t=-30000;

Завдання 4. Створити та протестувати алгоритм створення, виведення постійного  числового масиву у вигляді  таблиці чисел, розміром mхn. Змінити  усі  елементи новствореного масиву за їхніми властивостями остач при поділу на 5 відповідно до даного зразкa.

Реалізація.

print('Алгоритм виведення масиву G на екран')

G=[[1,1,1,1,1,1,1,1],[2,2,2, 2,2,2, 2,2],[3,3,3,3,3,3,3,3],[4,4,4,4,4,4,4, 4],[1,2,3,4,5,6,7,8]]

print('Двовимірний масив G має вигляд')

for n in range(5):

    for m in range(8):

        if G[n][m]%5==0:

             G[n][m]=5555

        elif G[n][m]%5==1:

             G[n][m]=1111

        el if G[n][m]%5==2:

             G[n][m]=2222

        elif G[n][m]%5==3:

             G[n][m]=3333

        elif G[n][m]%5==4:

             G[n][m]=4444

        print(G[n][m], end='           ')

    print('     ')  

Протестувати цей алгоритм, від редагувавши його для масиву чисел розміром   1)4х2;   2) 3х6;  3)4х2;   4) 6х6.

 

 Результат виконаної практичної роботи надіслати вашому учителю на електронну скриньку: 

vinnser@gmail.com (Сергій Петрович)



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

Додаткові завдання  для шанувальників програмування

Cтворити алгоритми на Python3 для таких задач:

1. Знайти градусну міру кутів прямокутного трикутника, якщо відомо один його кут, який вводиться з клавіатури.

2. Одна сторона трикутника дорівнює A дм, друга – у N разів коротша за першу, а третя - на 12 дм довша за другу. Знайдіть периметр трикутника.

3. Ламана складається з трьох ланок. Довжина першої ланки дорівнює W см, що на 3,7 см більше за довжину другої ланки і у T разів менше від довжини третьої. Чому дорівнює довжина ламаної?

4. Поле прямокутної форми має площу S а, його ширина – L м. Обчисліть периметр поля.

Примітка. 1 а (ар) = 100 кв. м

5. Учень-невдаха Сашко сів виконувати домашнє завдання і просидів за столом 2 години. З них х хвилин він чухав потилицю і дивився у вікно, у хвилин шукав у письмовому столі гумку, щоб стерти у підручнику з англійської мови карикатуру на свого товариша, на малювання якої він витратив перед цим z хвилин. Решту часу Сашко перекладав англійські слова. Скільки слів він встиг перекласти, якщо переклад одного слова у нього займав 5 хвилин?

6. Якщо на одну шальку терезів посадити Даринку, яка важить n кг, і Тетянку, яка важить на 5 кг більше, а на іншу насипати m кг цукерок, то скільки кілограм цукерок доведеться з'їсти дівчаткам, щоб шальки терезів врівноважились? Дівчатка можуть брати цукерки лише з великої цукерниці, а не з іншої шальки терезів.

7. Визначити, яку заробітну платню одержить на фірмі сумісник за виконану роботу, якщо йому нараховано S грн., а податок становить 20%.

8. Петро задумав число і нікому його не назвав. Друзі спіймали його і примусили подвоїти задумане число, а потім додати до нього 5. І тільки після того, як вони пообіцяли Петрові благодійну допомогу на контрольній з математики, він зізнався, що вийшло число n. Визначте, яке число задумав і приховав від своїх друзів Петро.

9. Із тераріуму втекли х гадюк, у кобр та z гюрз. Довжина кожної гадюки 1 м, кожної кобри - 1 м 30 см, а гюрзи - 1 м 15 см. Яка довжина у сантиметрах отруйних змій втекла з тераріуму?

10. Дано ціле число. Якщо воно є додатне, то додати до нього 1; в іншому разі не змінювати його. Вивести отримане число.

11. Дано ціле число. Якщо воно є додатне, то додати до нього 1; в іншому випадку відняти від нього 2. Вивести отримане число.

12. Дано ціле число. Якщо воно є додатне, то додати до нього 1; якщо від’ємне, то відняти від нього 2; якщо нульовим, то замінити його на 10. Вивести отримане число.

13 . Дано три цілих числа. Знайти кількість додатних чисел в початковому наборі.

14. Дано три цілих числа. Знайти кількість додатних і кількість від’ємних чисел в початковому наборі.

15 . Дано два натуральні числа. Вивести більше з них.

16. Дано два  дробові числа. Вивести порядковий номер меншого з них.

17 . Дано два  цілі числа. Вивести спочатку більше, а потім менше з них.