Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DELPHI-ЛР-19.doc
Скачиваний:
0
Добавлен:
24.08.2019
Размер:
132.61 Кб
Скачать

Лабораторна робота №___

Тема: Створення програм з використання масивів

Мета: Набути практичних навичок створення програм, що містять одновимірні масиви даних; засвоїти синтаксис оголошення та ініціалізації масивів; навчитись використовувати в програмах базові операції при роботі з масивами.

Теоретичні відомості

1. Поняття одновимірного масиву

Для розв’язування задач, у яких опрацьовуються значення великої кількості змінних, можна піти таким шляхом: розглядати всі ці змінні як елементи деякого впорядкованого набору змінних. Цей набір змінних має ім’я, а ім’я кожної змінної набору складається з імені набору та порядкового номера цієї змінної в наборі. Такому набору даних можна надати загальне ім’я, а кожна окрема змінна визначатиметься наданим загальним іменем і своїм порядковим номером у цьому наборі.

Впорядкований набір змінних одного типу називається масивом. Кожна змінна, що входить до масиву, називається елементом масиву.

Масив, у якому кожний елемент визначається тільки одним порядковим номером, називається одновимірним.

Ім’я кожного елемента одновимірного масиву складається з імені масиву й узятого у квадратні дужки порядкового номера цього елемента в масиві.

Так, наприклад, замість 100 окремих змінних одного типу варто розглядати масив, що складається зі 100 елементів. Якщо надати ім’я масиву a, то імена змінних – елементів цього масиву будуть такі: a[1], a[2], a[3], ..., a[100].

Тоді, щоб знайти суму значень усіх цих 100 змінних, достатньо записати такі команди:

suma := 0;

for i := 1 to 100 do suma := suma + a[i];

Звертаємо вашу увагу, що номер елемента масиву може задаватися як числом, так і значенням виразу, що набуває цілочисельного значення.

У тексті програми мовою Delphi у рядку var змінна a типу одновимірний масив оголошується так:

var a: array [1..100] of Real;

(англ. array – масив). У квадратних дужках указується діапазон номерів елементів масиву: від 1 до 100. За цим записом компілятор виділяє в пам’яті комп’ютера 100 ділянок під кожну зі 100 змінних – елементів масиву. Розмір кожної ділянки залежить від типу елементів масиву.

Звертаємо вашу увагу, що інколи зручно нумерувати елементи масиву, починаючи не з першого номера. Так, наприклад, для змінних, значення яких – кількість населення України в період з 1990 по 2011 роки можна використати масив a: array [1990..2011] of Integer. Взагалі, номери елементів одновимірного масиву можуть буди елементами довільного діапазону цілих чисел.

2. Введення та виведення значень елементів одновимірного масиву

Для введення і виведення значень елементів одновимірного масиву можна скористатися багаторядковим полем (компонент типу TMemo).

Задача. Сформувати одновимірний масив з десяти дійсних чисел, які вводяться в рядки багаторядкового поля, піднести ці числа до квадрата і вивести ці квадрати в інше багаторядкове поле.

Розмістимо на формі два багаторядкових поля з іменами Memo1 і Memo2, розташуємо їх на формі одне поруч з іншим та встановимо для них значення властивостей: Height = 150, ScrollBars = ssVertical, ReadOnly = False. Розмістимо на формі також кнопку, встановимо для неї Caption = 'До квадрата' і створимо процедуру, пов’язану з подією OnClick для цієї кнопки.

Текст процедури:

procedure TForm1.Button1Click(Sender: TObject);

var

a:array[1..10] of Real;

i:Integer;

begin

for i:=1 to 10 do

a[i]:=StrToFloat(Memo1.Lines[i-1]); {Дані з рядка перевести в число і присвоїти елементу масиву}

for i:=1 to 10 do

a[i]:=a[i]*a[i];

Memo2.Lines.Clear; {Очистити усі рядки багаторядкового поля}

for i:=1 to 10 do

Memo2.Lines.Append(FloatToStr(a[i])); {Додати рядок і вивести в нього елемент масиву, переведений у текст}

end;

У тексті процедури використано два стандартні методи, що пов’язані з багаторядковим полем: процедура Clear (англ. clear – очищувати), що очищує всі рядки цього компонента, і процедура Append (англ. append – додавати), що додає до багаторядкового поля новий рядок і виводить у нього значення параметра, вказаного в дужках.

На рисунку 1 наведено вікно виконання програми.

Звертаємо вашу увагу: в наведеному прикладі процедури розв’язування задачі 1 уведення значень елементів, піднесення їх до квадрата і виведення нових значень елементів масиву організовано трьома окремими циклами лише для кращого розуміння. Очевидно, що усі ці операції можна було б організувати в одному циклі.

Після запуску проекту на виконання у вікні, що відкрилося, у першому багаторядковому полі (на рис. 1 зліва) потрібно видалити текст Memo1, який знаходився там за замовчуванням, і ввести в кожний рядок по одному числу, які й будуть значеннями відповідних елементів масиву. Після цього потрібно вибрати кнопку і в результаті виконання процедури з чисел у рядках першого багаторядкового поля буде сформований одновимірний масив, потім значення елементів цього масиву будуть піднесені до квадрата і нові значення будуть виведені в рядки другого багаторядкового поля.

Можна ввести числа у багаторядкове поле до запуску проекту, змінюючи значення властивості Lines цього поля. Це зручно робити, наприклад, на етапі налагодження програми. Для цього потрібно:

  1. Вибрати багаторядкове поле.

  2. Вибрати кнопку в кінці рядка Lines вікна Object Inspector.

  3. У вікні String List Editor, що відкрилося, видалити текст першого рядка і ввести дані десяти чисел, натискуючи після кожного клавішу Enter.

  4. Вибрати кнопку OK.

Тоді при збережені проекту ці значення також будуть збережені й автоматично з’являться в цьому полі після запуску проекту на виконання.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]