Види навчальної діяльності
Обговорюємо
- Які елементи управління використовують для введення чи виведення значень табличних величин у середовищі Lazarus?
- Чим відрізняється елемент управління Memo від елементів Edit і Label у середовищі Lazarus?
- Яка властивість компонента Memo містить список наявних елементів?
- Як визначити кількість елементів у списку Memo1.Lines?
- Як запрограмувати вставку елемента в кінець списку поля Memo1?
Діємо разом
- Вправа 1. Знайдіть суму цілих чисел, які вводяться з клавіатури у поле Memo. кількість чисел не перевищує 100.
- Створення проекту з використанням мови Object Pascal
- Відкрийте середовище Lazarus, створіть новий проект, розмістіть на екранній формі об'єкти Memo1, Button1, Edit1, надайте значення їхнім властивостям самостійно.
- Створіть процедуру опрацювання події натиснення кнопки Знайти суму. У вікні редактора коду опишіть змінні, які будуть використовуватись у проекті: numbers - масив цілих чисел, n - кількість елементів масиву, sum - сума елементів списку-масиву, i - номер (індекс) елемента масиву.
- У вікні редактора коду запишіть команди для обчислення суми елементів масиву (списку), які будуть введені з клавіатури і запустіть проект на виконання.
var numbers: array[1..100] of Integer; {масив для збереження чисел}
n, i, sum: integer;
begin
n := Memo1.Lines.Count;
sum := 0;
for i := 1 to n do numbers[i] := StrToInt(Memo1.Lines[i-1]);
for i :=1 to n do sum := sum + numbers[i];
Edit1.Text := IntToStr(sum);
end;
- Вправа 2. Розробіть проект для розв'язування такої задачі: "Масив numbers[1..10] заповнити випадковими цілими числами в межах від 1 до 100 і вивести значення елементів масиву в поле Memo1. Визначити, в якому рядку списку Memo1 знаходиться елемент, що дорівнює цілому числу k (значення k вводиться в поле Edit1) і результат записати в поле Memo2".
- Створення проекту з використанням мови Object Pascal
- Відкрийте середовище Lazarus і створіть новий проект, розмістіть на екранній формі об'єкти, як на скріншоті, надайте значенням їхнім властивостям.
- Створіть процедуру опрацювання події натиснення кнопки Знайти елемент. У вікні редактора коду опишіть змінні, які будуть використовуватись у проекті: numbers - масив цілих чисел, який заповнюється випадковим чином від 1 до 100, k - ціле число, яке вводиться в поле Edit1 і шукається в масиві, i - номер (індекс) елемента масиву.
- У вікні редактора коду в тілі програми запишіть команди для очищення обох полів Memo, зберігання значення шуканого числа, введеного у поле Edit1, у змінну k, заповнення масиву за допомогою функції генерування цілих чисел і запису елементів масиву у поле Memo1.
- Доповніть програму, введенням наступного коду, який здійснює пошук у полі Memo1 рядка із значенням введеного числа k і виводить інформацію про результати пошуку у поле Memo2 та виконайте проект.
var i, k: integer;
numbers : array [1..10] of integer;
Randomize;
Memo1.Clear; // очищення поля Memo1
Memo2.Clear; // очищення поля Memo2
k := StrToInt(Edit1.Text);
for i := 1 to 10 do numbers[i] := Random(100); // заповнення масиву випадковими цілими числами
for i := 1 to 10 do Memo1.Lines.Add(IntToStr(numbers[i])); // додавання елементів масиву у Memo1
for i := 0 to Memo1.Lines.Count - 1 do
begin
if StrToInt(Memo1.Lines[i]) = k
then
Memo2.Lines.Add('Знайдено в рядку ' + IntToStr(i))
else
Memo2.Lines.Add('Не знайдено в рядку ' + IntToStr(i))
end;
- Запишіть оператор, призначений для виведення п'ятого рядка зі списку Memo1 у текстове поле Edit1.
- Визначте, для чого в біометричний паспорт додають чип. Як він програмується та як з нього зчитати дані?
Виконуємо самостійно
- Завдання. Створити програму-перекладач з української мови на англійську і навпаки.
- У середовищі Lazarus створіть новий проект. Змініть значення властивості Caption форми, розмістіть на формі два компоненти Memo. Властивості ScrollBars елементів Memo1, Memo2 надайте значення ssVertical для появи вертикальних смуг прокручування.
- За допомогою редактора рядків масив Memo1.Lines заповніть українськими словами, масив Memo2.Lines - їхніми англійськими відповідниками.
- Розмістіть на формі компоненти Label, Button, Edit і налаштуйте їхні властивості згідно із скріншотом.
- Опишіть глобальні змінні для збереження масивів слів: eng_words і ukr_words.
- Створіть процедуру OnClick для кнопки Заповнити масиви слів. Запишіть оператори для заповнення масивів eng_words і ukr_words масивами Memo1.Lines і Memo1.Lines.
- Створіть процедуру обробки події OnClick для кнопки Перекласти англійською. Запишіть оператори для перекладу українського слова на англійську мову.
- Створіть процедуру обробки події OnClick для кнопки Перекласти українською.
- Перевірте роботу програми.
var
Form1: TForm1;
eng_words, ukr_words : array[0..100] of string;
implementation
var i : integer;
begin
for i := 0 to Memo1.Lines.Count - 1 do
begin
ukr_words[i] := Memo1.Lines[i];
eng_words[i] := Memo2.Lines[i];
end;
end;
var i: integer;
s: string;
begin
s := Edit1.Text; // вводимо слово, яке бажаємо перекласти
i := -1;
repeat
i := i + 1; // збільшуємо індекс елемента
until ukr_words[i] = s; // поки не знайдемо слово s
Edit2.Text := eng_words[i]; {виводимо елемент із масиву англійських слів
із таким індексом, як у слова s у масиві українських слів}
end;
var i: integer;
s: string;
begin
s := Edit4.Text; // вводимо слово, яке бажаємо перекласти
i := -1;
repeat
i := i + 1; // збільшуємо індекс елемента
until eng_words[i] = s; // поки не знайдемо слово s
Edit3.Text := ukr_words[i]; {виводимо елемент із масиву українських слів
із таким індексом, як у слова s у масиві англійських слів}
end;
Домашнє завдання
- Опрацювати підручник: §33 с. 184-189 (Інформатика, 9 клас, автори: Бондаренко О. О., Ластовецький В. В., Пилипчук О. П., Шестопалов Є. А.)