Види навчальної діяльності
Обговорюємо
- Чим табличні величини відрізняються від текстових або числових величин?
- Дайте означення одномірному масиву як структурованого типу даних.
- У чому відмінність опису табличних величин мовами програмування Object Pascal і Python?
- Опишіть масиви: А з трьох дійсних чисел; В з десяти символів мовами Object Pascal і Python.
- У чому відмінність табличної величини та елемента табличної величини?
- Чи можна визначити кількість елементів за описом табличної величини мовами програмування Object Pascal і Python?
- Які засоби для введення та виведення елементів табличних величин передбачені у програмах мовами програмування Object Pascal і Python?
Діємо разом
- Вправа 1. Розробіть проект для введення масиву х, що складається з n (n < 20) дійсних чисел, де значення кількості елементів масиву вводять у текстове поле, а самі елементи - у вікні введення.
- Створення проекту з використанням мови Object Pascal
- Відкрийте середовище Lazarus, створіть новий проект, розмістіть на екранній формі об'єкти, як показано на скріншоті, надайте значення їхнім властивостям самостійно.
- Створіть процедуру опрацювання події натиснення кнопки Розпочати введення. У вікні редактора коду опишіть змінні, які будуть використовуватись у проекті: x - масив дійсних чисел, n - кількість елементів масиву, i - номер (індекс) елемента масиву.
- У вікні редактора коду запишіть команди введення кількості елементів масиву та надання значень елементів у вікні повідомлення з використанням оператора повторення for.
var i, n: integer;
x : array [1..20] of real;
begin
n := StrToInt(Edit1.Text);
for i := 1 to n do
x[i] := StrToFloat(InputBox('Введення елементів масиву', 'Введіть ' + IntToStr(i) + 'елемент', '0,00'));
end;
- Створення проекту з використанням мови Python
- Відкрийте середовище програмування мовою Python, створіть новий файл і збережіть його під іменем Введення масиву.
- У вікні редактора коду введіть команду для імпорту бібліотеки візуальних компонентів.
- Запишіть програму за зразком, використавши метод append - додавання елементів до списку.
- Запустіть проект на виконання і перевірте, чи відповідають умові завдання дії, пов'язані з об'єктами управління екранної форми. Якщо є помилки, виправте їх, збережіть зміни.
import tkinter
main = tkinter.Tk()
# створення об'єкту для отримання значення кількості елементів з текстового поля
s = tkinter.StringVar()
# створення порожнього списку
x = []
# опрацювання події натиснення кнопки
def button_click():
n = int(s.get())
i = 0
for i in range(n):
# додавання до списку чергового елемента
x.append(float(input('Введіть елемент: ')))
# створення текстового напису та його розміщення на головній формі
label = tkinter.Label(text = 'Введіть кількість елементів:')
label.pack()
# створення текстового поля та його розміщення на головній формі
edit = tkinter.Entry(main, textvariable = s)
edit.pack()
# створення кнопки та розміщення її на головній формі
button = tkinter.Button(main, text = 'Розпочати введення', command = button_click)
button.pack()
# запуск опрацювання подій програми
main.mainloop()
- Вправа 2. Розробіть проект для поелементного виведення масиву a з n (n < 20) цілих чисел від 0 до 10 у вікні повідомлення, де значення кількості елементів масиву вводять у текстове поле, а елементи добираються випадково після запуску програми.
- Створення проекту з використанням мови Object Pascal
- Відкрийте середовище Lazarus і створіть новий проект, розмістіть на екранній формі об'єкти, як на скріншоті, надайте значенням їхнім властивостям.
- Створіть процедуру опрацювання події натиснення кнопки Розпочати. У вікні редактора коду опишіть змінні, які будуть використовуватись у проекті: a - масив цілих чисел, n - кількість елементів масиву, i - номер (індекс) елемента масиву, s - рядок, у якому формуватиметься масив значень для виведення.
- У вікні редактора коду в тілі програми запишіть команди введення кількості елементів масиву та надання значень елементів масиву за допомогою функції генерування цілих чисел.
- Доповніть програму, введенням наступного коду і виконайте проект.
var i, n: integer;
a : array [1..20] of integer;
s : string;
n := StrToInt(Edit1.Text);
Randomize;
for i := 1 to n do
a[i] := random(10);
s := '';
for i := 1 to n do
s := s + IntToStr(a[i]) + ' ';
MessageDlg(s, MtInformation, [mbOk], 0);
- Створення проекту з використанням мови Python
- Відкрийте середовище програмування мовою Python, створіть новий файл і збережіть його під іменем Виведення масиву.
- У вікні редактора коду введіть команди оголошення об'єктів екранної форми проекту.
- Продовжте програму за зразком, створюючи рядкову величину s_row, у якій формується результуючий список значень, розділених пропусками.
- Розмістіть елементи управління на екранній формі, доповнивши програму кодом.
- Запустіть проект на виконання і перевірте, чи відповідають умові завдання дії, пов'язані з об'єктами управління екранної форми. Якщо є помилки, виправте їх, збережіть зміни.
import tkinter
from tkinter import ttk
from tkinter import messagebox
import random
main = tkinter.Tk()
# створення об'єкту для отримання значення кількості елементів з текстового поля
s = tkinter.StringVar()
# створення порожнього списку
x = []
# опрацювання події натиснення кнопки
def button_click():
n = int(s.get())
# задання початкового значення результуючого рядка
s_row = ''
for i in range(n):
# додавання до списку чергового елемента, завдяки генеруванню випадкових чисел від 0 до 10
x.append(random.randint(0, 10))
# створення списку елементів у рядку
s_row = s_row + str(x[i]) + ' '
# виведення вікна повідомлення із результатом
messagebox.showwarning('Результат', s_row)
# створення текстового напису та його розміщення на головній формі
label = tkinter.Label(text = 'Введіть кількість елементів:')
label.pack()
# створення текстового поля та його розміщення на головній формі
edit = tkinter.Entry(main, textvariable = s)
edit.pack()
# створення кнопки та розміщення її на головній формі
button = tkinter.Button(main, text = 'Розпочати', command = button_click)
button.pack()
# запуск опрацювання подій програми
main.mainloop()
- Запишіть оператори присвоювання, які виконують такі дії: першому елементу масиву С присвоїти значення третього і п’ятого елементів; шостому елементу масиву С присвоїти значення подвоєного добутку першого і другого елементів.
- Поставте у відповідність опис табличної величини: 1) таблиця з 10 текстових величин; 2) таблиця з 10 дійсних чисел; 3) таблиця із 6 символьних величин; 4) таблиця з послідовністю 9 чисел, що змінюються через 0.1; 5) таблиця з 7 текстових величин; та відповідну таблицю значень:
Виконуємо самостійно
- Завдання 1. Дано послідовність із n цілих чисел (N<=100). Визначити кількість парних чисел, які мають парні індекси.
- У середовищі Lazarus створіть новий проект. Змініть значення властивостей форми, розмістіть на формі компоненти, налаштуйте їхні властивості згідно із скріншотом.
- Для зберігання елементів використаємо масив. Оскільки кількість елементів послідовності (N<=100), опишіть масив numbers і глобальні змінні: n - кількість елементів послідовності, k - шукана кількість парних чисел, що мають парні індекси, i - індекс поточного елемента масиву.
- Створіть процедуру обробки події OnClick для кнопки Заповнити масив. Запишіть оператори для введення значення n і заповнення масиву випадковими числами.
- Створіть процедуру обробки події OnClick для кнопки Обчислити k. У циклі перебираємо елементи масиву numbers, якщо numbers[i] відповідає умові, збільшуємо значення k на 1.
- Перевірте роботу програми для різних значень n.
- Змініть програмний код так, щоб після натискання командної кнопки Обчислити k до списку ListBox1 виводилися значення тих елементів масиву, які мають непарні індекси (numbers[1], numbers[3], numbers[5], ...).
- Виконайте і збережіть проект.
var
Form1: TForm1;
numbers : array [1..100] of integer;
n, k, i : integer;
implementation
n := StrToInt(Edit1.Text);
Randomize;
ListBox1.Clear; // очищення поля списку
for i := 1 to n do begin
numbers[i] := Random(20);
ListBox1.Items.Add(IntToStr(numbers[i]));
end;
k := 0;
for i := 1 to n do
if (numbers[i] Mod 2 = 0) and (i Mod 2 = 0) then k := k + 1;
Edit2.Text := IntToStr(k);
- Завдання 2. Створіть у середовищі Lazarus програму для заповнення масиву Numbers[1..10] числами 1, 4, 9, ..., 100 і виведення значень елементів масиву в поле ListBox. Екранна форма проекту може мати вигляд, як на скріншоті. Скористайтеся програмним кодом, який необхідно доповнити в рядку після коментаря.
procedure TForm1.Button1Click(Sender: TObject);
var Numbers : array [1..10] of integer;
i, a : integer;
begin
Randomize;
for i := 1 to 10 do
begin
// масив повинен заповнитись десятьма випадковими числами із наступного ряду 1, 4, 9, 16, ..., 100
// для цього запишіть вираз, у якому за допомогою функції random генерується випадкове число з діапазону [0;9] і додається 2, результат присвоюється а
// запишіть вираз для присвоєння значень у масив, використовуючи формулу елемент_масиву := (a - 1)^2
end;
for i := 1 to 10 do
// виведення чисел з масиву і запис їх у вигляді рядків у ListBox
ListBox1.Items.Add(IntToStr(Numbers[i]));
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
// очищення ListBox
ListBox1.Clear;
end;
Домашнє завдання
- Опрацювати підручник: §32 с. 179-183 (Інформатика, 9 клас, автори: Бондаренко О. О., Ластовецький В. В., Пилипчук О. П., Шестопалов Є. А.)