Програмування масивів

Про матеріал
Урок Інформатики 9 клас Програмування одновимірних масивів (списки). Документ з теоретичним матеріалом до теми уроку
Перегляд файлу

Програмування алгоритмiв опрацювання табличних величин (одновимiрних масивiв)

Корнiлова Юлiя, Сухобрус Зоя, Сьомкiна Катерина

Квiтень 2024

2

Змiст

1                                                                                                                                                                                                                 Сухобрус Зоя          5

2                                                                                                                                                                                                                 Корнiлова Юлiя     11

2.1       Введення та виведення табличних величин. Командний iнтер-

                  фейС                          . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                          12

2.2       Введення та виведення табличних величин. Графiчний iнтер-

                                        фейс . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                           14

3                                                                                                                                                                                                                 Сьомкiна Катерина               17

3

4                                                                                                                                                                                                                 Змiст

Роздiл 1

Сухобрус Зоя

5

                        6                                                                                  Роздiл 1. СУХОБРУС ЗОЯ

Лекцiя 1. Поняття списку, табличних величин. Введення та виведення табличних величин. Багаторядкове текстове поле

Для впорядкування значень одного або рiзних типiв даних використовуюь бiльш складнi типи даних, в порiвняннi з тими, якi вчили у 8 класi.

Так для того, щоб не створювати 5 окремих змiнних, можна створити одну, яка буде мiстити значення цих 5-ти змiнних. отiм цi даннi можна отримати та використати у ходi роботи програми.

Тобто створити такий собi список(list), послiдовнiсть iз декiлькох значень одного або рiзних типiв даних.

У Python створення списку дуже схоже на створення змiнної, але дещо вiдрiзняється.

Наприклад(рис.1), створимо список a зi значеннями 1, "два"та 3.0. Маємо:

image

Рис. 1.1: фрагмент коду

Як ви могли помiтити, всi елементи цього списку вiдносяться до рiзних типiв даних, а саме int, str, та float вiдповiдно.

7

Отож, тепер ми вмiємо створювати списки, але тут постає питання: як звернутися до окремого елемента списку? А звертатися до елементiв ми будемо за їх iндексами, тобто за порядковим номером. Кожен елемент списку має свiй унiкальний порядковий номер, який визначається автоматично, вiдповiдно до розташування елементiв у списку. У Python iндекс першого елемента не 1 а 0, другого 1 i т.д. Iндекс потрiбно вказувати у квадратних дужках бiля назви(рис. 2) списку.

image

Якщо ж ми введемо a[3], то Python виведе помилку, оскiльки, елемент з iндексом 3 не iснує:

image

Рис. 1.2: фрагмент коду

Лекцiя 1.2 Основнi дiї зi списками

Працюючи зi списками, ми можемо виконуватии три основнi дiї з ними:

додавати списки, множити їх на число та отримувати зрiзи

1. Додавання спискiв

Додавання спискiв – це дiя при якiй до одного списку додаються елементи iншого. Наприклад:

image

                        8                                                                                  Роздiл 1. СУХОБРУС ЗОЯ

2.    Множення списку на число (дублювання)

При множеннi списку a на цiле число 3 утворится список, який буде в собi мiстити значення трьох спискiв a:

image

3.    Отримання зрiзiв

Зрiз – це певна частина списку. Для його отримання потрiбно вказати початковий i кiнцевий елементи (iндекси) зрiзу. Наприклад:

image

Окрiм цього, можна вказати крок зрiзу. Крок зрiзу – це число, на яке буде змiнюватися iндекс кожного наступного елемента при побудовi зрiзу. Крок зрiзу повинен бути обов’язково цiлим числом. Наприклад, для того, щоб отримати зрiз iз пропущеним кожним другим числом потрiбно встановити 2 в якостi кроку зрiзу:

image

Лекцiя 1.3 Табличнi величини

Таблична величина – це впорядкований список, який складається з елементiв одного типу. Так як працювати iз елементами одного типу набагато простiше, у шкiльний програмi ми будемо працювати саме з табличними величинами.

Чому ж саме "таблична "величина? А це тому, що будь-який однотипний список можна представити у виглядi таблицi (табл.1):

9 Табл. 1.1: Список у виглядi таблицi

Iндекс

0

1

2

3

4

5

6

Елемент

"один"

"два"

"три"

"чотири"

"п’ять"

"шiсть"

"сiм"

I почнемо ми з введення та виведення табличних величин. Розглядати методи введення та виведення ми будемо як у командному, так i в графiчному iнтерфейсi.

                        10                                                                                Роздiл 1. СУХОБРУС ЗОЯ

Роздiл 2

Корнiлова Юлiя

11


2.1 Введення та виведення табличних величин. Командний iнтерфейС

Для запиту списку використовуємо функцiю input(), але оскiльки список це декiлька значень, в якостi допомоги застосовуємо метод split(). Метод допомогає запитати список з декiлькох елементiв в один рядок, якi роздiленi певним роздiловим знаком. Метод застосовується наступним чином:

назва списку=input().split("роздiловий знак")

Роздiловий знак - це будь-який фрагмент текстового рядка. Якщо роздiловий знак невказується, то вiн автоматично буде пробiл:

image

Застосуємо цю конструкцiю для створення простої задачi. Спочатку запитаємо список значень у користувача, а потiм зоброзимо його в зворотному порядку:

image

Як ви могли помiтити, всi елементи нашого списку - тексовi фрагменти. Це тому, що ми не вказали тип наших елементiв, а вони за замовчеванням представляють з себе текст. Тут вже трiшки складнiше, бо ми повиннi застосувати функцiю переведення для кожного елементу списку при його введеннi. у цьому нам допоможе наступна конструкцiя (всi елементи списку - цiлi числа, тому застосовуємо функцiю int(), у випадку iз дiйсними числами використовують функцiю float()): а=[int(i) for i input().split()]

i - елемент списку input().split().

Тобто, для кожного елемента i iз нашого введеного списку input().split() потрiбно використовувати функцiю int().

image

2.1. ВВЕДЕННЯ ТА ВИВЕДЕННЯ ТАБЛИЧНИХ ВЕЛИЧИН. КОМАНДНИЙ IНТЕРФЕЙС13

Виведення вiдбувається за допомогою функцiї print():

image

Щоб список зображався як рядок iз елементiв, роздiлених пробiлом, треба застосувати цикл for для кожного елемента iз нашого списку а. Тiлом циклу буде функцiя виведення нашого елементу i:

image

Ми майже досягли потрiбного результату, але елементи виводяться в стовпчик, тобто кожен елемент з нового рядка.

Функцiя print() має чудовий атрибут, який допоможе нам у вирiшенi нашої проблеми. це атрибут end, який вказує на що повинно стояти пiсля виведення всiх елементiв функцiї print(). За замовчуванням зночення атрибута end є рядок ”, тобто перехiд на наступний рядок. Ми ж ставимо пробiл. ось що вийшло:

image

2.2 Введення та виведення табличних величин. Графiчний iнтерфейс

Одразу ж створемо нове вiконо їз розмiрвми 300х300 пiкселiв iз назвою "Табличнi величини"та створимо напис "Введiть список значень:":

image

Для введення спискiв викоричтовуємо функцiю Text():

назва поля=Text(вiкно, атрибут1, атрибут2, ...) Даний об’єкт має такi атрибути:

   bg="колiр колiр поля;

   fg="колiр колiр тексту поля;

   font="шрифт та розмiр шрифту шрифт тексту;

   widht=число - ширина, зазначається у кiлькостi знакiв;

   height=число - висота, зазначається у кiлькостi знакiв;

   bd=число - ширина контуру поля (у пiкселях).

Для роботи з багаторядковим текстовим полем iснують наступнi методи:

   insert() - метод додавання даних;

   delete() - метод виделання даних;

   get() - метод отримання даних.

Методи delete та get мають такi параметри: початкова та кiнцева позицiї. Позицiя позначається у виглядi "х.у"(х - номер рядка, у - номер стовпчика). А метод insert має початкову позицiю та текст, який буде додаватися.

Переходимо до створення багаторядкового текстового поля з шириною 42 знаки та з висотою 5 знакiв бiлого кольору. Розмiстимо його в 70-ти пiкселях вiд верхнього краю:

image

2.2. ВВЕДЕННЯ ТА ВИВЕДЕННЯ ТАБЛИЧНИХ ВЕЛИЧИН. ГРАФIЧНИЙ IНТЕРФЕЙС15

Пiсля запуску прогами ми вже зможемо вводити текст i наше багаторядкове поле.

Найефективнiший спосiб виведення - побудова таблицi. Та в Python немає такого елемента як таблиця, але є метод розмiщення об’єктiв у виглядi таблицi. цей метод називається grid, а розмiщувати ми будемо написи iз елементу списки.

Та перед цим треба створити рамку для таблицi. Рамка створюється за допомогою функцiї Frame(), вона має наступнi атрибути:

   bg="колiр колiр поля;

   widht=число - ширина, зазначається у кiлькостi знакiв;

   height=число - висота, зазначається у кiлькостi знакiв;

   bd=число - ширина контуру поля (у пiкселях).

Рамку, як i iншi об’єкти вiкна tkinter, потрiбно розмiщуватиза допомогою метода plase():

image

relief - це ще один атрибут, який встановлює тип границi. Solid - зви-

чайна лiнiя.

Створення таблицi за допомогою методу grid:

об’єкт.grid(row=число,column=число)

row - номер рядка, column - номер стовпчика.

image

Також створимо подiю Return для вiкна, i сам алгоритм виведення списку:

image

Роздiл 3

Сьомкiна Катерина

17


Роздiл 3. СЬОМКIНА КАТЕРИНА

image

Рис. 3.1: функцiя len

image

Лекцiя 2. Алгоритми опрацювання спискiв

Ми продовжуємо знайомитися з табличними величинами та з алгоритмами їх опрацювання, але на вiдману вiд попередньої лекцiї, у цiй ми будемо бiльше працювати не з самими списками, а з їх елементами.

1.    Знаходження довжини списку

Iнколи нам доводиться створювати програми, при цьому не знаючи,що саме введе користувач, тому просто порахувати кiлькiсть значень списку на пальцях у нас нiяк не вийде. Для цього iснує спецiальна функцiя len() (див. рис. 1):

2.    Замiна та видалення значень

У цiй частинi хочеться наголосити на тому, що список - це такий тип даних, що легко пiддається змiнам. Елементи списку можна змiнювати, видаляти, сортувати, на вiдмiну вiд його "родича"кортежа, про якого ви можете бiльш детально дiзнатися в рубрицi Цiкава iнформацiя.

Почнемо зi змiни значень. Щоб замiнити значення елемента з iндексом i потрiбно використати наступну конструкцiю:

Аналогiчно i видалення елемента вiдбувається за його iндексом з допомогою оператора del:

3.    Знаходження кiлькостi заданих елементiв

Окрiм того, що ми можемо знайти загальну кiлькiсть всiх елементiв, ми можемо знаходити кiлькiсть заданих елементiв. Таку дiю можна 19

image

Рис. 3.2: функцiя del

виконати за допомогою метода count().

Тобто, якщо нам потрiбно порахувати скiльки раз у списку зустрiчається число 7, ми зробимо це так: »> a= [5, 8, 7, 2, 9, 8, 1, 7, 3, 10]

»> a.count (7)

2

4.    Знаходження максимального та мiнiмального значення спискуВсе, що нам потрiбно, це згадати вивченi в 8-му класi функцiї max() та min():

»> a=[3, 5, 8, 3, 7, 2, 9, 0, 8, 1, 7, 3, 10, 4]

»> min (a)

0

»> max (a)

10

Пiдсумуючи вище сказане, розглянемо таблицю 1:

Табл. 3.1: вбудованi функцiї Python

Функцiя

Опис

count(element)

Рахує кiлькiсть вхождень заданого елемента в списку

min(list)

Знаходить мiнiмальне значення в списку

max(list)

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

                        20                                                                                           Роздiл 3. СЬОМКIНА КАТЕРИНА

Бiблiоґрафiя

[1]   Сухобус З. Роздiл 1. Поняття списку, табличних величин. Введення та виведення табличних величин. Багаторядкове текстове поле. Основнi дiї зi списками. Табличнi величини. http://surl.li/stacv

[2]   Корнiлова Ю. Роздiл 2. Командний iнтерфейс. Графiчний iнтерфейс. http://surl.li/stajf

[3]   Сьомкiна К. Роздiл 3. Алгоритми опрацювання спискiв. http://surl.li/sszuo

[4]   Програмування в школi. Мова Python: Навчальний посiбник. 9 клас./Є.В. Козолуп. - Суми,2017.-56с. http://surl.li/stakt

21

pdf
Додано
22 травня
Переглядів
80
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку