1.
Задача на визначення, скільки разів трапляється
дане дійсне число серед елементів масиву.
В задачах, будемо
вводити значення елементів масиву з багаторядкового поля, а виводити результат
у багаторядкове поле, якщо результатом є значення елементів одновимірного
масиву, або в напис; створюватимемо процедури, пов’язані з подією OnClick для
кнопки. За потреби ви зможете аналогічно створити процедури, пов’язані з іншими
подіями або з іншими об’єктами.
Будемо розглядати
всі масиви з десяти чисел. Якщо кількість елементів масиву інша, то потрібно
буде внести до текстів процедур відповідні зміни.
Задача. Визначити, скільки разів трапляється дане дійсне
число серед значень елементів даного масиву з десяти дійсних чисел.
Очевидно, що для
розв’язування цієї задачі потрібно переглянути послідовно значення всіх
елементів масиву, порівняти кожне з них з даним числом, і якщо деяке з них
дорівнює цьому числу, то збільшити лічильник таких елементів масиву на 1.
procedure
TForm1.Button1Click (Sender: TObject);
var a: array
[1..10] of Real; i, k: Integer; x: Real;
begin
x := StrToFloat (Edit1.Text); {Уведення числа, з яким потрібно порівнювати значення
елементів масиву}
k := 0; {Лічильник
кількості елементів масиву, що дорівнюють даному числу х – їх поки що не
траплялося жодного}
for i := 1 to 10 do
begin
a[i] := StrToFloat (Memo1.Lines[i-1]); {Уведення значень елементів одновимірного масиву з
багаторядкового поля}
if a[i] = x
then k := k + 1; {Якщо значення чергового елемента масиву дорівнює
заданому числу, то значення лічильника збільшується на 1}
end;
Label1.Caption
:= IntToStr (k) + ' разів' {Виведення
результату в напис з додаванням пояснювального тексту}
end;
Зверніть увагу: якщо не включити перед початком циклу команду k
:= 0, то перше виконання команди k
:= k + 1 може виявитися некоректним.
2.
Задача
на визначення, чи трапляється дане дійсне число серед елементів масиву.
Задача. Визначити, чи трапляється дане дійсне число серед
значень елементів даного масиву з десяти дійсних чисел.
Можна було б
розв’язати цю задачу аналогічно попередній: визначити, скільки елементів масиву
дорівнюють даному числу, і якщо ця кількість 0, то даного числа в масиві немає,
а якщо більше 0, то є. Але такий метод розв’язування є нераціональним. Уявіть
собі, що дане число є значенням уже першого елемента масиву. Тоді всі інші
елементи масиву переглядати не потрібно, а попередній метод розв’язування
передбачає обов’язковий перегляд усіх елементів масиву.
Для реалізації
раціонального методу розв’язування цієї задачі використаємо змінну логічного
типу f і присвоїмо їй початкове значення false (дане число в
масиві поки ще не траплялося). Порівнюватимемо послідовно значення елементів
масиву з даним числом і якщо один з них дорівнює даному числу, то змінимо
значення змінної f на true і перервемо виконання циклу командою break
(англ. break – переривати). Виведення результату реалізуємо залежно
від значення змінної f.
procedure
TForm1.Button1Click (Sender: TObject);
var a: array
[1..10] of Real; i: Integer; x: Real; f: Boolean;
begin
for i := 1 to 10 do
a[i] := StrToFloat (Memo1.Lines[i-1]);
x := StrToFloat (Edit1.Text);
f := false; // Дане число в масиві поки що не траплялося
for i := 1 to 10 do
if a[i] = x
then begin
f := true; // Дане число в масиві трапилося
break; {Перериваємо виконання циклу, бо число трапилося в
масиві}
end;
if f
then
Label1.Caption := 'трапляється'
else
Label1.Caption := 'не
трапляється';
end;
Практичні завдання:
1. Створіть проект, у якому потрібно сформувати масив
із дев’яти цілих чисел, що знаходяться в рядках багаторядкового поля, визначте,
чи трапляються серед значень елементів цього масиву числа, кратні числу 3, і
виведіть результат у напис. Створіть у власній папці папку Проект 1. і
збережіть у ній проект.
2. Створіть проект, у якому потрібно сформувати масив
із десяти дійсних чисел, що знаходяться в рядках багаторядкового поля, знайдіть кількість від’ємних елементів у заданому масиві
дійсних чисел, виведіть результат у напис. Створіть у власній папці
папку Проект 2. і збережіть у ній проект.
Комментариев нет:
Отправить комментарий