Алгоритми опрацювання табличних величин

Урок 41

Завдання:

1.Заповніть слайди 3, 4, 5

2.Заповніть слайди 3, 4, 5

3.Скопіювати код зі слайду 6 (створення списку обсягом 10 елементів із випадковими значеннями від -10 до 10 та виведенням його на екран) свій результат у слайд 7 


import random

spysok=[]

for nomer in range(10):

k=random.randint(-10,10)

spysok.append(k)

print(spysok)

І що нам з цих чисел?! Де воно знадобиться?! Де воно може використовуватись?!

Спробуємо подати отримані числа у більш практичному вимірі. І Цей практичний вимір з'являється тоді, коли певним чином візуалізуємо цю інформацію. Представимо ці числа у вигляді графіків і гістограм.

Для цього допишемо код рядками 

import matplotlib.pyplot as plt

plt.plot(range(10), spysok)

plt.show()

Числа, згенеровані випадковим чином, зображені у вигляді графіка (по осі абсцис))

Крім графіка типу plot можна побудувати графік типу bar (змінити у коді) - це буде гістограма

import matplotlib.pyplot as plt

plt.bar(range(10), spysok)

plt.show()

4.Заповніть слайди 9

5.Графіки та гістограми потрібні, коли мова йде про цифровий звук.

Оригінальна звукова хвиля є суцільною - аналоговою, вона складається із значень котрі змінюються достатньо плавно. Але для того , щоб зберегти звук у цифровому форматі, цю звукову хвилю потрібно дискретизувати, тобто перетворити на цифрову.

Приблизний результат можна побачити на слайді, дискретна лінія повторює закономірність, що і в аналоговому варіанті, але значення є менше плавні,розділені ніби на сходинки. Кожна сходинка відповідає певному значенню.

Завдання. Реалізувати програмно цей програмно цей процес (слайд 10)

import random

spysok=[]

for nomer in range(10):

  k=random.randint(-100,100)

  spysok.append(k)

import matplotlib.pyplot as plt

plt.plot(range(10), spysok)

for nomer in range(10):

   spysok[nomer]= 10*(spysok[nomer]//10)

plt.bar(range(10), spysok,color='r')

plt.show()

імпорт модуля random

порожній новий spysok

для 10 номерів:

  випадкове число k (-100,100)

  дописуємо k до списку

імпорт модуля matplotlib.pyplot as plt

зображаємо spysok як графік

для 10 номерів:

   (ціла частина від ділення на 10) * 10

зображаємо spysok як гістограму

показуємо всі графіки

57 57//10=5         5*10 = 50

-24 -24//10=-2 -2*10 = -20

На одному графіку зображено графік у вигляді лінії і графік у вигляді гістограми

Завдання 3. Замінити елементи, абсолютне значення яких менше 20 на одиниці. 

(тобто ті елементи , що перебувають близько нуля (абсолютне значення  менше за 20 замінити на дуже тихий звук - на значення 1)

Є заготовка програми, до якої потрібно дописати лише 3 рядочки, враховуючи

 Модуль (абсолютне значення) елемента

abs(spysok[nomer])

import random

spysok=[]

for nomer in range(10):

  k=random.randint(-100,100)

  spysok.append(k)

import matplotlib.pyplot as plt

plt.plot(range(10), spysok)

---------------------

-------------------------

-----------------------

plt.bar(range(10), spysok,color='r')

plt.show()


Завдання 4. Підсилення звуку

Збільшити кожен елемент удвічі

(Кожен елемент списку збільшуємо удвічі, таким чином одержимо другу гістограму з підсиленнми значеннями)

Є заготовка програми, до якої потрібно дописати лише 2 рядочки.

import random

spysok=[]

for nomer in range(10):

  k=random.randint(-100,100)

  spysok.append(k)

import matplotlib.pyplot as plt

plt.plot(range(10), spysok)

-------------------------

--------------------------

plt.bar(range(10), spysok,color='r')

plt.show()

ЧИТАТИ ПІДРУЧНИК