русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Then begin


Дата додавання: 2014-09-10; переглядів: 1035.


f := true;// Дане число в масиві зустрілося

break;// Перериваємо виконання циклу, бо число зустрілося в масиві

end;

If f

then Label1.Caption := 'зустрічається'

else Label1.Caption := 'не зустрічається';

end;

 

Задача 4. У даному масиві з 10 дійсних чисел визначити найбільше значення.

 

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

 

procedure TForm1.Button1Click(Sender: TObject);

var a: array [1..10] of Real; i: Integer; max: Real;

Begin

for i := 1 to 10 do

a[i] := StrToFloat (Memo1.Lines[i-1]);

max := a[1];// Вважаємо, що найбільший елемент – перший

for i := 2 to 10 do

if a[i] > max then max := a[i];// Замінюємо значення найбільшого елемента

Label1.Caption := FloatToStr (max) + ' – найбільше значення';

end;

 

Задача 5. У даному масиві з 10 різних дійсних чисел визначити найбільше значення і найменше значення і обміняти їх місцями.

 

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

Спочатку вважатимемо, що значення першого елемента масиву і найбільше, і найменше, а номер найбільшого і найменшого елемента масиву 1. Після чого послідовно переглядатимемо всі інші елементи масиву. Якщо значення чергового елемента масиву більше того значення, яке ми на той момент вважаємо найбільшим, то замінюємо найбільше значення серед уже переглянутих елементів масиву і номер найбільшого елемента. Якщо ні, то може це значення менше ніж те, яке ми поки що вважаємо найменшим. І якщо це так, то замінюємо найменше значення серед уже переглянутих елементів масиву і номер найменшого елемента.

 

procedure TForm1.Button1Click(Sender: TObject);

var a: array [1..10] of Real; i, nmax, nmin: Integer; max, min: Real;

Begin

for i := 1 to 10 do

a[i] := StrToFloat (Memo1.Lines[i-1]);

max := a[1]; nmax := 1;// Значення першого елемента приймається за найбільше

min := a[1]; nmin := 1;// Значення першого елемента приймається за найменше

for i := 2 to 10 do

if a[i] > max// Порівняння значення чергового елемента з найбільшим на цей момент

Then

Begin

max := a[i];// Замінюємо значення найбільшого елемента

nmax := i;// Замінюємо номер найбільшого елемента

End

Else

if a[i] < min// Порівняння значення чергового елемента з найменшим на цей момент

Then

Begin

min := a[i];// Замінюємо значення найменшого елемента

nmin := i;// Замінюємо номер найменшого елемента

end;

a[nmax] := min; a[nmin] := max;// Обмін значеннями найбільшого і найменшого елементів

for i := 1 to 10 do

Memo1.Lines.Append(FloatToStr(a[i]);// Виведення значень елементів масиву з переставленими найбільшим і найменшим значеннями

end;

Задача 6. Визначити елементи даного масиву з 10 дійсних чисел, значення яких більше даного дійсного числа.

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

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

У мові програмування Delphi є можливість використовувати масиви, кількість елементів яких заздалегідь невідома і яка може змінюватися в ході виконання проекту. Такі масиви називаються динамічними. На відміну від них, масиви, кількість елементів яких відома заздалегідь і яка не змінюється в ході виконання проекту, називаються статичними.

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

У рядку var динамічний масив b, елементами якого будуть дійсні числа, описується так: var b: array of Real;.

 

procedure TForm1.Button1Click(Sender: TObject);

var a: array [1..10] of Real; b: array of Real; i, k: Integer; x: Real;

Begin

for i := 1 to 10 do

a[i] := StrToFloat (Memo1.Lines[i-1]);

x := StrToFloat (Edit1.Text);

k := 0;// Лічильник кількості елементів масиву b (спочатку в масиві b немає елементів)

for i := 1 to 10 do

if a[i] > x


<== попередня лекція | наступна лекція ==>
Деякі задачі опрацювання значень елементів одновимірного масиву | Then begin


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн