неділя, 8 грудня 2019 р.

9 клас

09.12.2019 Інструктаж з БЖД. Алгоритми опрацювання табличних величин: знаходження суми значень елементів; суми або кількості значень елементів, що задовольняють заданим умовам, пошук заданого елемента.
Завдання. Багаторядкове текстове поле містить дійсні числа. Відомо, що їх кількість не перевищує 20. Увести ці числа як значення елементів табличної величини. Визначити суму значень і кількість її елементів, які мають додатні значення. Визначити середнє арифметичне значень цих елементів. Вивести значення цих елементів в інше багаторядкове текстове поле. 1. Відкрийте вікно середовища Lazarus. 2. Розмістіть на формі:
- два багаторядкових текстових поля висотою 400 пікселів; - два написи: над першим багаторядковим текстовим полем з текстом Елементи та над другим — з текстом Додатні елементи; - три текстових поля; - три написи по одному зліва від кожного текстового поля з текстами відповідно Сума, Кількість, Середнє арифметичне; - кнопку з текстом Додатні елементи. Орієнтовний вигляд форми з компонентами на ній наведено на малюнку 6.4. 3. Збережіть проект у папці з іменем Вправа 6.2, створеній у вашій папці. 4. Створіть обробник події Click для кнопки для обчислення суми додатних значень елементів табличної величини. Оскільки за умовою задач: кількість елементів табличної величини невідома, і знаємо лише, що вона не перевищує 20, то в рядку var оголосимо табличну величину максимально можливої кількості елементів (20) з номерами від 0 до 19. Це дасть змогу під час виконання проекту вводити в перше багаторядкове текстове поле довільну кількість чисел, яка не перевищує 20. Для визначення реальної кількості елементів для кожного такого введення скористаємося властивістю Memo I .Lines.Count, яка, нагадуємо, визначає реальну кількість заповнених рядків багаторядкового текстового поля. 5. Уведіть такий текст процедури: var a: array [0..19] of real; s: real; n, i: integer; begin n : Memo1.Lines.Count; for і := 0 to n - 1 do a[i] StrToFloat(Memo1.Lines[i]); s := 0; for і := 0 to n - 1 do If a[i] \ 0 Then s := s + a[i]; Edit1.Text:=FloatToStr(s); end; 6. Збережіть оновлену версію проекту. 7. Запустіть проект на виконання. 8. Уведіть у перше багаторядкове текстове поле числа: 3,4; -7; 0; -13; 8,75; 23; 15. Виберіть кнопку Додатні елементи. Проаналізуйте отриманий результат. 9. Видаліть числа з першого багаторядкового текстового поля та введіть інші: -16; 98,43; 45; 0; 4 5; -1; 29; -2,67; 55. Виберіть кнопку Додатні елементи. Проаналізуйте отриманий результат. 10. Закрийте вікно виконання проекту. 11. Додайте до тексту процедури такий фрагмент: k := 0; for і := 0 to n - 1 do If a[i] \ 0 Then k := k + 1; Edit2.Text := IntToStr(k); а також змінну k до списку змінних типу integer у рядку var. 12. Збережіть оновлену версію проекту. 13. Уведіть свій набір чисел до першого багаторядкового текстового поля. Виберіть кнопку Додатні елементи. Проаналізуйте отримані результати. 14. Закрийте вікно виконання проекту. 15. Додайте до тексту процедури такий фрагмент: sa := s/k; Edit3.Text := FloatToStr(sa); Memo2.Clear; for і 0 to n - 1 do If a[i] \ 0 Then Memo2.Lines.Append(FIoatToStr(a[і])); а також змінну sa до списку змінних типу real у рядку var. 16. Збережіть оновлену версію проекту. 17. Уведіть свій набір чисел до першого багаторядкового текстового поля. Виберіть кнопку Додатні елементи. Проаналізуйте отримані результати. Зверніть особливу увагу на числа, що будуть виведені у друге багаторядкове текстове поле. 18. Закрийте вікно виконання проекту. 19. Закрийте вікно середовища Lazarus.

Немає коментарів: