Зміна значень масиву, знаходження суми, кількості значень елементів масиву за заданими умовами

Практичні завдання, для розв’язування яких можна застосовувати алгоритми опрацювання табличних величин, можуть мати різне формулювання. 

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

 Але, зазвичай, трапляються складніші завдання, у яких спосіб організації даних задано неявно. Наприклад, сформувати таблицю квадратів двоцифрових чисел. 

Під час написання програм для розв’язування подібних завдань слід виконати такі дії:

1) за умовою завдання встановити, чи можна подати вхідні дані у вигляді табличної величини — списку;

2) надати табличній величині одне ім’я (його у програмі буде використано для роботи з окремими елементами табличних даних);

3) задати порожній список, у якому буде зберігатись набір даних;

4) у програмному коді записати команди для введення елементів масиву в пам’ять комп’ютера.


Подальше опрацювання табличних величин зводиться до використання алгоритмів:


1) зміни значень елементів масиву;

2) знаходження підсумків за набором даних, які передбачають використання простих арифметичних операцій чи виразів над елементами масиву;

3) обчислення суми або кількості значень елементів, що задовольняють заданим умовам;

4) пошуку елементів табличної величини, що задовольняють заданим умовам;

5) упорядкування масиву за деякою ознакою.

Як описати програму зміни значення даних списку?

Зміну значення даних у списку виконують за алгоритмом, який описано блок-схемою (мал. 12.1).

Для перегляду елементів списку в програмах мовою Python використовують конструкцію

for i in range (n):

команди

де і — індекс елемента списку, n–1 — індекс останнього елемента.

Якщо змінювати потрібно не всі значення у списку, а ті, які задовольняють певній умові, то блок-схему доповнюють блоком перевірки умов.

Працюємо гуртом

Вправа 1. Квадрати значень.

Завдання. Створіть проєкт Квадрати значень, у якому елементи табличної величини а, яка містить 10 цілих чисел, змінюються їх квадратами. (стор. 142)

1. Відкрийте середовище програмування https://replit.com/ 

2. У вікні редактора коду введіть команди.

import math

n=int(input('Введіть кількість елементів списку'))

# створюємо порожній список

a = []

for i in range (n):

# додаємо введені елементи до списку в області виконання проєкту

    f=int(input('Введіть елемент списку'))

    a.append(f)

# змінюємо елементи списку

    a[i]=a[i]**2

# виводимо результат

print(a)

2. Запустіть проєкт на виконання. Введіть значення кількості елементів списку та значення елементів списку для тестового прикладу — будь-які числа у вікні виконання проєкту після вказівки

Введіть кількість елементів списку

Введіть елемент списку

3. Перевірте, чи відповідають отримані результати умові завдання. Якщо є помилки, виправте їх.

4. Завершіть роботу з проєктом та середовищем програмування, зберігши всі зміни.

Вправа 2. Результати тренувань..

Завдання. На тренуванні у стрибках у висоту тренер усі дані, які менші, ніж особистий рекорд вихованця чи вихованки, обнуляє. Виведіть список можливих результатів, якщо спортсмен або спортсменка має особистий рекорд у стрибках у висоту a см. 

Зауважте, що рекорд у юнацьких змаганнях з результатом 194 см установила в 2018 р. брон-

зова призерка Олімпійських ігор 2020 Ярослава Могучіх.

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

Створіть проєкт Результати тренувань, у якому елементи списку list, які менші від заданого значення, будуть замінюватись нулями

1. Відкрийте середовище програмування https://replit.com/ 

2. У вікні редактора коду  введіть команди.

import random

# задаємо контрольне значення

a=int(input('Введіть значення особистого рекорду'))

# створюємо порожній список

b = []

for i in range (10):

# додаємо введені елементи до списку в області виконання проєкту

    f=random.randint((a-10),194)

    b.append(f)

# змінюємо елементи списку за умовою

    if b[i]<a:

      b[i]=0

# виводимо результат

print(b)

3. Поясніть, які результати могли би бути в початковому списку висоти

стрибків, якщо після запуску програми на виконання отримали:

4. Завершіть роботу з проєктом та середовищем програмування, зберігши всі зміни.

Методи мови програмування Python можна використати для аналізу даних списку

У мові програмування Python передбачено декілька методів для ана-

лізу списку.

Для визначення індексу (порядкового номеру) елемента в списку використовують метод index ().

Метод index () дає змогу отримати значення індексу (позиції) заданого елемента списку.

Наприклад,

Метод count () повертає кількість входжень заданого елемента в списку. Метод отримує один параметр.

Вправа 3. Оцінка якості.

Завдання. На підприємстві планують створити автоматизовану систему перевірки якості пакування продукції. Кожний укладальник (порядковий номер списку) має свій код — двоцифрове число. Визначте, на якій лінії перебуває пакувальник за введеним кодом.

Використайте список кодів [12, 23, 34, 45, 56, 67, 78, 89, 90].

1. Відкрийте середовище програмування https://replit.com/ 

2. У вікні редактора коду  введіть команди.

import random

# Заданий список

A = [12,13,34,45,56,67,78,89,90]

# вибираємо випадкове число із списку

vib=random.choice(A)

# обираємо індекс вибраного випадкового числа

t=A.index(vib)

# виводимо результат

print("код =", vib)

print("пакувальник =", t)  

3. Запустіть проєкт на виконання. Поясніть, чому у вас щоразу виходять різні відповіді.

4. Завершіть роботу з проєктом та середовищем програмування, зберігши усі зміни.

Вправа 4. Код

Завдання. Кожний товар на складі маркується десятизначним числовим кодом, для запису якого використовують цифри від 1 до 5 в довільному порядку та кількості через пропуск. Визначте, скільки разів у деякому коді, введеному користувачем, трапляється деяка цифра, яка генерується випадково.

1. Відкрийте середовище програмування https://replit.com/ 

2. У вікні редактора коду  введіть команди.

import random

# задаємо  список

a = input().split()

print (a)

# перетворюємо дані із тексту в цілі числа

for i in range (len(a)):

# додаємо введені елементи до списку в області виконання проекту

    a[i]=int(a[i])

# вибираємо випадкове ціле число із діапазону від 1 до 5

vib=random.randint(1,5)

# обираємо кількість обраних випадкових чисел у списку

b=a.count(vib)

# виводимо результат

print (a)

print('цифра', vib, 'зустрічається в коді', b, 'разів')

3. Запустіть проєкт на виконання. Дослідіть, що означає отриманий результат (мал. 12.5).

4. Завершіть роботу з проєктом та середовищем програмування, зберігши усі зміни.

Як виконувати дії над даними у списку?

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

Такі задачі передбачають, що табличні елементи змінюватись не будуть, а результатом їх виконання буде одне підсумкове значення.

У програмах, де передбачені дії з елементами табличної величини, що задовольнять деяким

умовам, використовують оператор розгалуження if. Опис умов здійснюють так само, як і з прости-

ми змінними. Для запису простих умов використовують оператори порівняння :>, <, <=, >=, =,<>, а складені умови формують із простих з використанням логічних операторів and, or, not.

Вправа 5. Середнє значення.

Завдання. При виконанні лабораторного експерименту з фізики учні отримали десять дійсних чисел з діапазону 9,0–10,0. Складіть проєкт Середнє для обчислення середнього значення результатів експерименту.

1. Відкрийте середовище програмування https://replit.com/ 

2. У вікні редактора коду введіть команди . Врахуйте, що для округлення дійсного числа можна застосувати команду round(<величина>,<порядок>), яка не потребує підключення бібліотеки math.

# імпорт модуля генерування випадкових чисел

import random

#створюємо порожній список

a = []

# надаємо змінній для обчислення суми початкового значення

s=0

for i in range (10):

# додаємо введені елементи до списку в області виконання проекту

    a.append(round((random.random()+9.0),2))

# знаходимо суму елементів списку

    s=s+a[i]

# знаходимо середнє значення елементів списку

aver=s/10

# виводимо згенерований список

print(a)

# виводимо середнє значення

print(round(aver,2)) 

Практичні завдання

1

Практичне завдання до уроку №37-6.pdf

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