Поділіться своєю думкою про онлайн уроки інформатики. Пройдіть анонімне опитування на головній сторінці сайту
python
numbers = [12, 5, 23, 8, 15, 7]
condition = 10
for number in numbers:
if number > condition:
print(number)
program SearchAlgorithm;
var
numbers: array[1..6] of Integer = (12, 5, 23, 8, 15, 7);
condition: Integer = 10;
i: Integer;
begin
// Пошук елементів, які більше за задану умову
writeln('Елементи, які більше за ', condition, ':');
for i := 1 to 6 do
begin
if numbers[i] > condition then
writeln(numbers[i]);
end;
readln;
end.
Цей приклад має аналогічний принцип до попереднього прикладу на мові Python. Програма виводить числа зі списку, які більше за певне значення (у цьому випадку 10).
program SearchAlgorithm;
uses
Forms, Dialogs;
var
numbers: array[1..6] of Integer = (12, 5, 23, 8, 15, 7);
condition: Integer = 10;
resultString: string;
begin
// Пошук елементів, які більше за задану умову
resultString := 'Елементи, які більше за ' + IntToStr(condition) + ':' + LineEnding;
for i := 1 to 6 do
begin
if numbers[i] > condition then
resultString := resultString + IntToStr(numbers[i]) + LineEnding;
end;
// Виведення результату
ShowMessage(resultString);
end.
Матеріал опублікований користувачем Куришко Сергій Вікторович на сайті На Урок за посиланням
тест на тему "Урок 21. Алгоритм знаходження елементів, що задовольняють задані умови":
Питання: Що робить алгоритм, який знаходить елементи, що задовольняють умову?
a) Сортує масив.
b) Виводить всі елементи масиву.
c) Шукає елементи, які відповідають певній умові.
Правильна відповідь: c) Шукає елементи, які відповідають певній умові.
Питання: Як виглядає основна частина коду алгоритму у мові програмування Pascal (Lazarus)?
a) if condition then
b) for i := 1 to n do
c) while condition do
Правильна відповідь: b) for i := 1 to n do
Питання: Яким чином відображається результат алгоритму в прикладі коду?
a) За допомогою Console.WriteLine.
b) За допомогою print.
c) За допомогою ShowMessage.
Правильна відповідь: c) За допомогою ShowMessage.
Питання: Якщо умова алгоритму - знайти елементи, більші за 20, і вихідні дані: [15, 25, 30, 18, 22], яким буде результат?
a) 25, 30, 22
b) 30, 22
c) 15, 25, 30, 22
Правильна відповідь: a) 25, 30, 22
Питання: Що відбувається на кожній ітерації циклу у коді алгоритму?
a) Елемент додається до суми.
b) Перевіряється умова і, якщо вона виконується, елемент виводиться.
c) Елемент перевіряється на відповідність умові.
Правильна відповідь: c) Елемент перевіряється на відповідність умові.
Питання: Які вимоги визначає умова задачі для пошуку елементів?
a) Знайти всі парні елементи.
b) Знайти найменший елемент.
c) Знайти елементи, що більші за певне число.
Правильна відповідь: c) Знайти елементи, що більші за певне число.
Питання: Яким чином можна адаптувати алгоритм для інших умов?
a) Змінити всі змінні на нові.
b) Можна використовувати той самий код, просто змінюючи умову в алгоритмі.
c) Переписати алгоритм заново.
Правильна відповідь: b) Можна використовувати той самий код, просто змінюючи умову в алгоритмі.
Питання: Яким чином алгоритм взаємодіє з вхідними даними у коді?
a) Зчитує дані з файлу.
b) Використовує вже визначений масив numbers.
c) Очікує введення користувача.
Правильна відповідь: b) Використовує вже визначений масив numbers.
Питання: Яким чином можна оптимізувати алгоритм?
a) Замінити цикл на рекурсію.
b) Зменшити кількість змінних.
c) Використовувати більш ефективну умову.
Правильна відповідь: c) Використовувати більш ефективну умову.
Питання: Які можливі недоліки алгоритму?
a) Займає багато часу на виконання.
b) Виводить неправильні результати.
c) Не виявлено елементів, що задовольняють умову.
Правильна відповідь: a) Займає багато часу на виконання.
Практична робота
Умова: Дано масив цілих чисел. Потрібно знайти всі парні числа.
Розв'язок на Python:
python
Копіювати код
# Вхідні дані
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = []
# Алгоритм пошуку парних чисел
for num in numbers:
if num % 2 == 0:
even_numbers.append(num)
print("Парні числа:", even_numbers)
Розв'язок на Lazarus:
Алгоритм створення проекту:
Створити новий проект у Lazarus.
Додати елементи: кнопка (Button1), текстове поле для виведення результату (Memo1).
Написати код для обробки події кнопки.
Код Lazarus:
pascal
Копіювати код
procedure TForm1.Button1Click(Sender: TObject);
var
numbers: array[1..10] of Integer = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
even_numbers: TStringList;
num: Integer;
begin
even_numbers := TStringList.Create;
for num in numbers do
if num mod 2 = 0 then
even_numbers.Add(IntToStr(num));
Memo1.Lines.Clear;
Memo1.Lines.Add('Парні числа:');
Memo1.Lines.Add(even_numbers.Text);
even_numbers.Free;
end;
Події та обробники:
Подія OnClick для кнопки Button1.
Умова: Дано масив чисел та певне значення. Потрібно знайти всі числа, більші за задане значення.
Розв'язок на Python:
python
Копіювати код
# Вхідні дані
numbers = [1, 3, 5, 7, 9, 11, 13, 15]
threshold = 7
greater_than_threshold = []
# Алгоритм пошуку чисел, більших за поріг
for num in numbers:
if num > threshold:
greater_than_threshold.append(num)
print(f"Числа більші за {threshold}:", greater_than_threshold)
Розв'язок на Lazarus:
Алгоритм створення проекту:
Створити новий проект.
Додати елементи: кнопка (Button1), текстове поле для виведення результату (Memo1), поле для введення порогу (Edit1).
Код Lazarus:
pascal
Копіювати код
procedure TForm1.Button1Click(Sender: TObject);
var
numbers: array[1..8] of Integer = (1, 3, 5, 7, 9, 11, 13, 15);
threshold, num: Integer;
greater_numbers: TStringList;
begin
threshold := StrToInt(Edit1.Text);
greater_numbers := TStringList.Create;
for num in numbers do
if num > threshold then
greater_numbers.Add(IntToStr(num));
Memo1.Lines.Clear;
Memo1.Lines.Add('Числа більші за ' + IntToStr(threshold) + ':');
Memo1.Lines.Add(greater_numbers.Text);
greater_numbers.Free;
end;
Події та обробники:
Подія OnClick для кнопки Button1.
Умова: Дано масив слів та певне значення. Потрібно знайти всі слова, довжина яких більша за задану.
Розв'язок на Python:
python
Копіювати код
# Вхідні дані
words = ["apple", "banana", "kiwi", "orange", "grape"]
threshold_length = 5
long_words = []
# Алгоритм пошуку слів, довжина яких перевищує поріг
for word in words:
if len(word) > threshold_length:
long_words.append(word)
print(f"Слова довжиною більше за {threshold_length} символів:", long_words)
Розв'язок на Lazarus:
Алгоритм створення проекту:
Створити новий проект.
Додати елементи: кнопка (Button1), текстове поле для виведення результату (Memo1), поле для введення порогу довжини слова (Edit1).
Код Lazarus:
pascal
Копіювати код
procedure TForm1.Button1Click(Sender: TObject);
var
words: array[1..5] of string = ('apple', 'banana', 'kiwi', 'orange', 'grape');
threshold_length: Integer;
word: string;
long_words: TStringList;
begin
threshold_length := StrToInt(Edit1.Text);
long_words := TStringList.Create;
for word in words do
if Length(word) > threshold_length then
long_words.Add(word);
Memo1.Lines.Clear;
Memo1.Lines.Add('Слова довжиною більше за ' + IntToStr(threshold_length) + ':');
Memo1.Lines.Add(long_words.Text);
long_words.Free;
end;
Події та обробники:
Подія OnClick для кнопки Button1.
Елементи на формі:
Button1 — Кнопка для запуску алгоритму.
Memo1 — Текстове поле для виведення результатів.
Edit1 — Поле для введення значення порогу (для задачі з числом чи довжиною слова).
Події:
Button1.OnClick — Подія для кнопки, яка викликає обробник події, що виконує алгоритм пошуку.
Ці задачі на Python та Lazarus допоможуть учням зрозуміти основи пошуку елементів за умовою та застосовувати ці знання на практиці.