Урок:

Пошук у масиві за певними критеріями.

12.04.2023
0 0
Опис уроку (учням цей опис не показується):

Посилання на онлайн урок: https://meet.google.com/ksk-bnnd-auf

Джерело допоміжних матеріалів: СУЧАСНА ІНФОРМАТИКА

Алгоритми опрацювання масивів: пошук у масиві за певними критеріями

Як описати програму пошуку заданого елемента?

При опрацюванні табличних величин часто розв’язують завдання пошуку елемента, який відповідає деякій умові. Для розв’язування цього завдання можна, як у прикладах, розглянутих на попередніх уроках, пе-реглядати кожний елемент масиву та підраховувати кількість входжень. Якщо така кількість дорівнює 0, то зазначеного елемента таблична величина не містить, якщо більше 0, то містить. Але такий підхід є нераціональним, особливо якщо кількість елементів дуже велика, наприклад, понад 1000, а збіг є вже серед перших елементів. У цьому разі використовують цикл while та виконують такі дії:

1. Уводять спеціальну логічну величину — прапорець, призначення якої полягатиме в тому, що її значення зберігатиме результат наявності чи відсутності такої величини в таблиці. Початкове значення цієї величини — false, яке означає, що шукане значення поки що не траплялось у масиві.

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

3. Якщо елемент знайдено, то змінюють значення прапорця на true та переривають виконання циклу. Нагадаємо, що для переривання виконання циклу використовують команду break.

4. Здійснюють виведення результату залежно від значення прапорця.

Якщо потрібно не просто визначити наявність елемента, а його номер у масиві чи списку даних, то вводять змінну, наприклад flag, для фіксування такого номера. Початкове значення змінній flag можна присвоїти 0 (у Free Pascal передбачено нумерацію елементів масиву з 1) або –1 (у Python передбачено нумерацію елементів масиву з 0). Якщо елемент буде знайдено, тоді змінній flag присвоюють його номер. Тоді ця змінна може слугувати прапорцем завершення перегляду елементів: якщо flag>0 (Free Pascal) flag>–1 (Python), тоді виконання циклу зупиняють.

Як описати програму пошуку елемента з найбільшим або найменшим значенням?

Для того щоб зрозуміти, як відбувається пошук найбільшого елемента деякої табличної величини, уявімо себе на місці виконавця алгоритму. Елементи табличної величини записані в пам’яті, доступ до комірок якої здійснюється за номерами елементів. Виконавець може одночасно відкривати доступ до однієї комірки. Нехай задано лінійну таблицю з n цілих чисел.

0402cw3i-d65a-640x228.png

Виконаємо такий алгоритм:

1) прочитаємо з пам’яті перший елемент таблиці. Його значення дорівнює 5. Запам’ятаємо його як максимальне — надамо його значення величині max;

2) прочитаємо другий елемент таблиці. Його значення більше за max, тому «забудемо» про попереднє значення й запам’ятаємо значення max=6;

3) прочитаємо третій елемент таблиці. Його значення менше за max, тому можна приступати до наступного кроку без зміни значення max.

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

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

Вправа 1. Різниця між найбільшим і найменшим.

Завдання. Створіть проект Випробування, у якому знаходять різницю між найбільшим і найменшим елементом лінійної таблиці з 10 дійсних чисел, які набувають значень від 5 до 10 випадково.

Розробка проекту в середовищі програмування Lazarus

1. У папці Навчальні проекти своєї структури папок створіть папку Випробування.

2. Відкрийте середовище Lazarus і створіть новий проект. Розмістіть на екранній формі об’єкти, самостійно надайте значення їхнім властивостям.

0402cw3k-37b2-638x252.png

3. Створіть процедуру опрацювання події натиснення кнопки Знайти. У вікні редактора коду опишіть змінні, які будуть використовуватись у проекті: а — масив дійсних чисел; i — номер (індекс) елемента масиву; max — найбільше значення серед елементів; min — найменше значення серед елементів.

var i : integer;

max, min : real;

а : array [1..10] of real;

4. У вікні редактора коду запишіть команди випадкового генерування елементів масиву та виведення їх у таблицю, пошуку найбільшого й найменшого елементів масиву, виведення різниці значень max і min. Зауважте, для того щоб отримати випадкове дійсне число, яке відповідає умові 5<x<10, використано вираз: 10.0 random*5.0.

0402cw3j-487a-640x396.png

5. Запустіть проект на виконання. Перевірте, чи відповідають умові завдання дії, пов’язані з об’єктами управління екранної форми. Якщо є помилки — виправте їх.

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

Вміст уроку:
1
2
Опис, який учні побачать перед початком уроку

Посилання на онлайн урок: https://meet.google.com/ksk-bnnd-auf

Джерело допоміжних матеріалів: СУЧАСНА ІНФОРМАТИКА

Алгоритми опрацювання масивів: пошук у масиві за певними критеріями

Як описати програму пошуку заданого елемента?

При опрацюванні табличних величин часто розв’язують завдання пошуку елемента, який відповідає деякій умові. Для розв’язування цього завдання можна, як у прикладах, розглянутих на попередніх уроках, пе-реглядати кожний елемент масиву та підраховувати кількість входжень. Якщо така кількість дорівнює 0, то зазначеного елемента таблична величина не містить, якщо більше 0, то містить. Але такий підхід є нераціональним, особливо якщо кількість елементів дуже велика, наприклад, понад 1000, а збіг є вже серед перших елементів. У цьому разі використовують цикл while та виконують такі дії:

1. Уводять спеціальну логічну величину — прапорець, призначення якої полягатиме в тому, що її значення зберігатиме результат наявності чи відсутності такої величини в таблиці. Початкове значення цієї величини — false, яке означає, що шукане значення поки що не траплялось у масиві.

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

3. Якщо елемент знайдено, то змінюють значення прапорця на true та переривають виконання циклу. Нагадаємо, що для переривання виконання циклу використовують команду break.

4. Здійснюють виведення результату залежно від значення прапорця.

Якщо потрібно не просто визначити наявність елемента, а його номер у масиві чи списку даних, то вводять змінну, наприклад flag, для фіксування такого номера. Початкове значення змінній flag можна присвоїти 0 (у Free Pascal передбачено нумерацію елементів масиву з 1) або –1 (у Python передбачено нумерацію елементів масиву з 0). Якщо елемент буде знайдено, тоді змінній flag присвоюють його номер. Тоді ця змінна може слугувати прапорцем завершення перегляду елементів: якщо flag>0 (Free Pascal) flag>–1 (Python), тоді виконання циклу зупиняють.

Як описати програму пошуку елемента з найбільшим або найменшим значенням?

Для того щоб зрозуміти, як відбувається пошук найбільшого елемента деякої табличної величини, уявімо себе на місці виконавця алгоритму. Елементи табличної величини записані в пам’яті, доступ до комірок якої здійснюється за номерами елементів. Виконавець може одночасно відкривати доступ до однієї комірки. Нехай задано лінійну таблицю з n цілих чисел.

0402cw3i-d65a-640x228.png

Виконаємо такий алгоритм:

1) прочитаємо з пам’яті перший елемент таблиці. Його значення дорівнює 5. Запам’ятаємо його як максимальне — надамо його значення величині max;

2) прочитаємо другий елемент таблиці. Його значення більше за max, тому «забудемо» про попереднє значення й запам’ятаємо значення max=6;

3) прочитаємо третій елемент таблиці. Його значення менше за max, тому можна приступати до наступного кроку без зміни значення max.

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

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

Вправа 1. Різниця між найбільшим і найменшим.

Завдання. Створіть проект Випробування, у якому знаходять різницю між найбільшим і найменшим елементом лінійної таблиці з 10 дійсних чисел, які набувають значень від 5 до 10 випадково.

Розробка проекту в середовищі програмування Lazarus

1. У папці Навчальні проекти своєї структури папок створіть папку Випробування.

2. Відкрийте середовище Lazarus і створіть новий проект. Розмістіть на екранній формі об’єкти, самостійно надайте значення їхнім властивостям.

0402cw3k-37b2-638x252.png

3. Створіть процедуру опрацювання події натиснення кнопки Знайти. У вікні редактора коду опишіть змінні, які будуть використовуватись у проекті: а — масив дійсних чисел; i — номер (індекс) елемента масиву; max — найбільше значення серед елементів; min — найменше значення серед елементів.

var i : integer;

max, min : real;

а : array [1..10] of real;

4. У вікні редактора коду запишіть команди випадкового генерування елементів масиву та виведення їх у таблицю, пошуку найбільшого й найменшого елементів масиву, виведення різниці значень max і min. Зауважте, для того щоб отримати випадкове дійсне число, яке відповідає умові 5<x<10, використано вираз: 10.0 random*5.0.

0402cw3j-487a-640x396.png

5. Запустіть проект на виконання. Перевірте, чи відповідають умові завдання дії, пов’язані з об’єктами управління екранної форми. Якщо є помилки — виправте їх.

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

Урок не містить жодного завдання. Додайте завдання.

Щоб додати завдання, оберіть категорію завдання на панелі запитань.

1

Алгоритми опрацювання масивів: пошук у масиві за певними критеріями

Джерело допоміжних матеріалів: СУЧАСНА ІНФОРМАТИКА

Як описати програму пошуку заданого елемента?

При опрацюванні табличних величин часто розв’язують завдання пошуку елемента, який відповідає деякій умові. Для розв’язування цього завдання можна, як у прикладах, розглянутих на попередніх уроках, пе-реглядати кожний елемент масиву та підраховувати кількість входжень. Якщо така кількість дорівнює 0, то зазначеного елемента таблична величина не містить, якщо більше 0, то містить. Але такий підхід є нераціональним, особливо якщо кількість елементів дуже велика, наприклад, понад 1000, а збіг є вже серед перших елементів. У цьому разі використовують цикл while та виконують такі дії:

1.      Уводять спеціальну логічну величину — прапорець, призначення якої полягатиме в тому, що її значення зберігатиме результат наявності чи відсутності такої величини в таблиці. Початкове значення цієї величини — false, яке означає, що шукане значення поки що не траплялось у масиві.

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

3.      Якщо елемент знайдено, то змінюють значення прапорця на true та переривають виконання циклу. Нагадаємо, що для переривання виконання циклу використовують команду break.

4.      Здійснюють виведення результату залежно від значення прапорця.

Якщо потрібно не просто визначити наявність елемента, а його номер у масиві чи списку даних, то вводять змінну, наприклад flag, для фіксування такого номера. Початкове значення змінній flag можна присвоїти 0 (у Free Pascal передбачено нумерацію елементів масиву з 1) або –1 (у Python передбачено нумерацію елементів масиву з 0). Якщо елемент буде знайдено, тоді змінній flag присвоюють його номер. Тоді ця змінна може слугувати прапорцем завершення перегляду елементів: якщо flag>0 (Free Pascal) flag>–1 (Python), тоді виконання циклу зупиняють.

Як описати програму пошуку елемента з найбільшим або найменшим значенням?

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

Виконаємо такий алгоритм:

1)      прочитаємо з пам’яті перший елемент таблиці. Його значення дорівнює 5. Запам’ятаємо його як максимальне — надамо його значення величині max;

2)      прочитаємо другий елемент таблиці. Його значення більше за max, тому «забудемо» про попереднє значення й запам’ятаємо значення max=6;

3)      прочитаємо третій елемент таблиці. Його значення менше за max, тому можна приступати до наступного кроку без зміни значення max.

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

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

Вправа 1. Різниця між найбільшим і найменшим.

Завдання. Створіть проект Випробування, у якому знаходять різницю між найбільшим і найменшим елементом лінійної таблиці з 10 дійсних чисел, які набувають значень від 5 до 10 випадково.

Розробка проекту в середовищі програмування Lazarus

1. У папці Навчальні проекти своєї структури папок створіть папку Випробування.

2. Відкрийте середовище Lazarus і створіть новий проект. Розмістіть на екранній формі об’єкти, самостійно надайте значення їхнім властивостям.

3. Створіть процедуру опрацювання події натиснення кнопки Знайти. У вікні редактора коду опишіть змінні, які будуть використовуватись у проекті: а — масив дійсних чисел; — номер (індекс) елемента масиву; max — найбільше значення серед елементів; min — найменше значення серед елементів.

var    i : integer;

max, min : real;

а : array [1..10] of real;

4. У вікні редактора коду запишіть команди випадкового генерування елементів масиву та виведення їх у таблицю, пошуку найбільшого й найменшого елементів масиву, виведення різниці значень max і min. Зауважте, для того щоб отримати випадкове дійсне число, яке відповідає умові 5<x<10, використано вираз: 10.0 – random*5.0.

5. Запустіть проект на виконання. Перевірте, чи відповідають умові завдання дії, пов’язані з об’єктами управління екранної форми. Якщо є помилки — виправте їх.

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

2

Як описати програму пошуку заданого елемента?

Як описати програму пошуку елемента з найбільшим або найменшим значенням?

Рефлексія від 18 учнів

Сподобався:

0

Так: 18

Ні: 0

Зрозумілий:

0

Так: 18

Ні: 0

Потрібні роз'яснення:

0

Ні: 17

Так: 1

Рекомендуємо

Алгоритми опрацювання масивів: пошук у масиві за певними критеріями

Алгоритми опрацювання масивів: пошук у масиві за певними критеріями

354

Аватар профіля Лизько Валентина Степанівна
Інформатика
9 клас

35 грн

ГР2 Алгоритми опрацювання табличних величин: пошук у масиві за певними критеріями

ГР2 Алгоритми опрацювання табличних величин: пошук у масиві за певними критеріями

165

Аватар профіля Лизько Валентина Степанівна
Інформатика
8 клас

35 грн

ГР2 Пошук елементів за певними критеріями

ГР2 Пошук елементів за певними критеріями

208

Аватар профіля Лизько Валентина Степанівна
Інформатика
8 клас

35 грн

9 клас. Урок 40. Алгоритми опрацювання масивів: пошук у масиві за певними критеріями (Python)

9 клас. Урок 40. Алгоритми опрацювання масивів: пошук у масиві за певними критеріями (Python)

154

Аватар профіля Вітенко Іван
Інформатика
9 клас

48 грн

Складання і виконання алгоритму упорядкування та пошуку значень у масиві

Складання і виконання алгоритму упорядкування та пошуку значень у масиві

553

Аватар профіля Лизько Валентина Степанівна
Інформатика
9 клас

35 грн

Урок 42. Практична робота №12: Пошук значень у масивах

Урок 42. Практична робота №12: Пошук значень у масивах

35

Аватар профіля Савченко Леся Адальбертівна
Інформатика
9 клас

35 грн

Схожі уроки

Впорядкування, пошук і фільтрування даних.

Впорядкування, пошук і фільтрування даних.

1290

Аватар профіля Вожга Ірина Леонідівна
Інформатика
9 клас

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

1113

Аватар профіля Савка-Ржематорська Оксана Василівна
Інформатика
9 клас

Цикли з передумовою у вкладених циклах

Цикли з передумовою у вкладених циклах

1345

Аватар профіля Вожга Ірина Леонідівна
Інформатика
6 клас

Налаштування часових параметрів аудіо- та відеоряду.

Налаштування часових параметрів аудіо- та відеоряду.

497

Аватар профіля Солодовнікова Катерина Олексіївна
Інформатика
8 клас

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

652

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас

Елемент керування кнопка

Елемент керування кнопка

283

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас