storinka.click » Інформатика » Опрацювання табличних величин
Інформація про новину
  • Переглядів: 3024
  • Дата: 6-02-2018, 14:39
6-02-2018, 14:39

Опрацювання табличних величин

Категорія: Інформатика


1. Яка величина називається табличною?

2. Що таке елемент табличної величини? Із чого складається його ім’я?

3. Як описується таблична величина в рядку var?

ОБЧИСЛЕННЯ СУМИ ЗНАЧЕНЬ І КІЛЬКОСТІ ЕЛЕМЕНТІВ ТАБЛИЧНОЇ ВЕЛИЧИНИ

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

Такі задачі досить часто розв’язують на практиці. Наведемо лише кілька прикладів. Так, синоптики визначають найбільшу, найменшу та середню температуру за день, середню кількість опадів протягом місяця тощо. У процесі визначення переможців у деяких змаганнях відкидають найбільшу та найменшу оцінки суддів і обчислюють середнє арифметичне тих оцінок, що залишилися. Адміністрацію вашого навчального закладу може цікавити, скільки учнів 9-х класів мають семестрові оцінки 10, 11 або 12 з інформатики, чи є у вашому класі учні, що отримали оцінку 8 за останню практичну роботу, тощо.

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

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

Розглядатимемо табличні величини з 10 елементів. Якщо кількість елементів табличної величини інша, то потрібно внести до наведених текстів процедур відповідні зміни.

Задача 1. Визначити суму значень усіх елементів табличної величини.

Опрацювання елементів табличної величини здійснюватиметься з використанням циклу. Використаємо змінну s для накопичування суми значень елементів табличної величини. Перед циклом надамо їй значення 0.

У циклі послідовно переглядатимемо елементи табличної величини та додаватимемо їхні значення до змінної s.

Звертаємо вашу увагу: якщо в циклі використовується команда змі-нення значення певної величини (у даній задачі s := s + a[i]), то перед циклом цій змінній обов’язково потрібно присвоїти початкове значення (у даній задачі s := 0).


Загрузка...

Задача 2. Визначити, скільки разів задане дійсне число трапляється серед значень елементів табличної величини.

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

Задача 3. Визначити, чи є задане дійсне число серед значень елементів даної табличної величини.

Цю задачу можна було б розв’язати аналогічно до попередньої: визначити, скільки елементів табличної величини дорівнюють заданому числу, і якщо ця кількість дорівнює 0, то заданого числа серед значень елементів табличної величини немає, а якщо більше 0, то є.

Але такий метод розв’язування цієї задачі є нераціональним. Уявіть собі, що задане число є значенням уже першого елемента табличної вели-

чини. Тоді всі інші її елементи переглядати вже не потрібно, і це значно економить час розв’язування цієї задачі, особливо якщо кількість елементів табличної величини велика.

Для реалізації раціонального методу розв’язування цієї задачі використаємо змінну логічного типу f і нехай її значення false означатиме, що заданого числа серед значень елементів табличної величини немає, а значення true — що є. Перед початком перегляду значень елементів табличної величини присвоїмо змінній f значення false, адже задане число в табличній величині поки що не знайшлося. Порівнюватимемо в циклі послідовно значення елементів табличної величини із заданим числом, і якщо одне з них дорівнює заданому числу, то змінимо значення змінної f на true та перервемо виконання циклу командою break (англ. break — переривати). Виведення реалізуємо залежно від значення змінної f.


НАЙБІЛЬШИЙ І НАЙМЕНШИЙ ЕЛЕМЕНТИ ТАБЛИЧНОЇ ВЕЛИЧИНИ

Задача 4. Визначити найбільше значення елементів табличної величини.

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

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

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

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

Увага! Під час роботи з комп’ютером дотримуйтеся правил безпеки та санітарно-гігієнічних норм.

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

1. Відкрийте вікно середовища Lazarus.

2. Розмістіть на формі:

• два багаторядкових текстових поля висотою 400 пікселів;

• два написи: над першим багаторядковим текстовим полем з текстом Елементи та над другим — з текстом Додатні елементи;

• три текстових поля;

• три написи по одному зліва від кожного текстового поля з текстами відповідно Сума, Кількість, Середнє арифметичне;

• кнопку з текстом Додатні елементи.

Орієнтовний вигляд форми з компонентами на ній наведено на малюнку 6.4.

3. Збережіть проект у папці з іменем Вправа 6.2, створеній у вашій папці.

4. Створіть обробник події Click для кнопки для обчислення суми додатних значень елементів табличної величини.


Загрузка...

Оскільки за умовою задачі кількість елементів табличної величини невідома, і знаємо лише, що вона не перевищує 20, то в рядку var оголосимо табличну величину максимально можливої кількості елементів (20) з номерами від 0 до 19. Це дасть змогу під час виконання проекту вводити в перше багаторядкове текстове поле довільну кількість чисел, яка не перевищує 20.

Для визначення реальної кількості елементів для кожного такого введення скористаємося властивістю Memo1.Lines. Count, яка, нагадуємо, визначає реальну кількість заповнених рядків багаторядкового текстового поля.

5. Уведіть такий текст процедури:

6. Збережіть оновлену версію проекту.

7. Запустіть проект на виконання.

8. Уведіть у перше багаторядкове текстове поле числа: 3,4; -7; 0; -13; 8,75; 23; 15. Виберіть кнопку Додатні елементи. Проаналізуйте отриманий результат.

9. Видаліть числа з першого багаторядкового текстового поля та введіть інші: -16; 98,43; 45; 0; 45; -1; 29; -2,67; 55. Виберіть кнопку Додатні елементи. Проаналізуйте отриманий результат.

10. Закрийте вікно виконання проекту.

11. Додайте до тексту процедури такий фрагмент:

а також змінну k до списку змінних типу integer у рядку var.

12. Збережіть оновлену версію проекту.

13. Уведіть свій набір чисел до першого багаторядкового текстового поля. Виберіть кнопку Додатні елементи. Проаналізуйте отримані результати.

14. Закрийте вікно виконання проекту.

15. Додайте до тексту процедури такий фрагмент:

а також змінну sa до списку змінних типу real у рядку var.

16. Збережіть оновлену версію проекту.

17. Увед іть свій набір чисел до першого багаторядкового текстового поля. Виберіть кнопку Додатні елементи. Проаналізуйте отримані результати. Зверніть особливу увагу на числа, що будуть виведені у друге багаторядкове текстове поле.

18. Закрийте вікно виконання проекту.

19. Закрийте вікно середовища Lazarus.

Фрагмент процедури для обчислення суми значень усіх елементів табличної величини:

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

Фрагмент процедури для визначення, чи є задане число серед значень елементів табличної величини:

Фрагмент процедури для визначення найбільшого значення серед елементів табличної величини:

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

Дайте відповіді на запитання

1*. Для розв’язування яких задач опрацювання табличної величини можна використати наведені фрагменти?

2*. З якою метою у наведеному фрагменті використано змінну f?

Який тип цієї змінної? Чи можна було б із цією самою метою використати змінну іншого типу? Відповідь поясніть.

3*. Як потрібно змінити наведений фрагмент, щоб у ньому визначалося найменше значення елементів табличної величини?

4*. Якщо в табличній величині к ілька елементів мають найбільше значення серед значень усіх елементів цієї табличної величини, то фрагмент

a[i]; визначає, який з них? Чи зміниться щось, якщо в розгалуженні змінити знак > на знак >=?

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

6*. Для чого використовують властивість Memol.Lines.Count багаторядкового текстового поля?

7*. Для розв’язування якої задачі опрацювання елементів табличної величини можна використати такий фрагмент?

У яких випадках під час виконання проекту із цим фрагментом може виникнути помилка?

Виконайте завдання

1*. Створіть проект, у якому вводяться значення елементів табличної величини із 7 цілих чисел у багаторядковому текстовому полі, обчислюється сума від’ємних з них і результат виводиться в напис. Збережіть проект у папці з іменем Завдання 6.2.1, створеній у вашій папці.

2*. Створіть проект, у якому вводяться значення елементів табличної величини з 8 дійсних чисел у багаторядковому текстовому полі, визначається кількість з них, які більші за 5, і результат виводить-

ся в напис. Збережіть проект у папці з іменем Завдання 6.2.2, створеній у вашій папці.

3*. Створіть проект, у якому вводяться значення елементів табличної величини з 9 цілих чисел у багаторядковому текстовому полі, визначається, чи трапляються серед значень елементів числа, які менші ніж 3, і результат виводиться в напис. Збережіть проект у папці з іменем Завдання 6.2.3, створеній у вашій папці.

4*. Випускник 11-го класу може отримати Грамоту за особливі успіхи в навчанні з певного предмета, якщо його річна оцінка із цього предмета — 12. Річні оцінки учнів класу з інформатики введено в багаторядкове текстове поле. Створіть проект для визначення кількості Грамот, які можуть отримати учні цього класу. Збережіть проект у папці з іменем Завдання 6.2.4, створеній у вашій папці.

5*. Створіть проект, у якому вводяться значення елементів табличної величини з різних дійсних чисел у багаторядковому текстовому полі, кількість яких не перевищує 50, визначається найменший і він обмінюється місцями з першим елементом. Отримана таблична величина виводиться в багаторядкове текстове поле. Збережіть проект у папці з іменем Завдання 6.2.5, створеній у вашій папці.

6*. Створіть проект, у якому вводяться значення елементів табличної величини з 10 дійсних чисел у багаторядковому текстовому полі, визначається найбільше серед значень її елементів і скільки в цій табличній величині є елементів з таким самим значенням. Отриманий результат виводиться в напис. Збережіть проект у папці з іменем Завдання 6.2.6, створеній у вашій папці.

7*. Створіть проект, у якому вводяться значення елементів табличної величини з 15 різних дійсних чисел у багаторядковому текстовому полі, визначається найменше серед значень її елементів і обмінюється місцями зі значенням елемента, розташованим посередині. Значення зміненої табличної величини виводяться в інше багаторядкове текстове поле. Збережіть проект у папці з іменем Завдання 6.2.7, створеній у вашій папці.

ПРАКТИЧНА РОБОТА № 6

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

Увага! Під час роботи з комп’ютером дотримуйтеся правил безпеки та санітарно-гігієнічних норм.

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

2. Створіть проект для розв’язування задачі: У багаторядковому текстовому полі містяться значення середньої температури повітря кожного дня тижня. Визначте середню температуру повітря за весь тиждень. З’ясуйте, скільки разів на тиждень середня денна температура була вище нуля.

У проекті:

а) Розмістіть на формі потрібні елементи керування: багаторядкове текстове поле, написи, кнопки.

б) Складіть обробник події Click для першої кнопки, виконання якого приведе до виведення в напис середньої температури повітря за тиждень.

в) Складіть обробник події Click для другої кнопки, виконання якого приведе до визначення, скільки разів на тиждень середня денна температура повітря була вище нуля, і виведення результату в напис.

г) Виконайте проект і переконайтеся, що результати його роботи правильні.

3. Збережіть проект у папці з іменем Практична 6, створеній у вашій папці.

ПРАКТИЧНА РОБОТА № 7

«Пошук значень у табличній величині»

Увага! Під час роботи з комп’ютером дотримуйтеся правил безпеки та санітарно-гігієнічних норм.

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

2. Створіть проект для розв’язування задачі: У багаторядковому текстовому полі міститься час, який показав кожен з учасників змагань вашого навчального закладу з бігу на дистанцію 100 м. Визначте найбільший і найменший час. Визначте, скільки спортсменів показали найбільший час. Чи оновлено на цих змаганнях рекорд вашого навчального закладу?

3. Збережіть проект у папці з іменем Практична 7, створеній у вашій папці.

 

Це матеріал з підручника Інформатика 9 клас Ривкінд