Алгоритми опрацювання табличних величин
За новою програмою
Урок 46
9
Найбільший і найменший елементи табличної величини
Розділ 6 § 6.2
Задача 4. Визначити найбільше значення елементів табличної величини.
Спочатку вважатимемо, що значення першого елемента табличної величини є найбільшим.
Після цього послідовно переглядатимемо значення всіх інших елементів табличної величини, і якщо трапиться значення, що більше того, яке на даний момент вважаємо найбільшим, то вважатимемо тепер уже це значення найбільшим.
9
© Вивчаємо інформатику teach-inf.at.ua
Найбільший і найменший елементи табличної величини
Розділ 6 § 6.2
Текст відповідної процедури:
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;
9
© Вивчаємо інформатику teach-inf.at.ua
Найбільший і найменший елементи табличної величини
Розділ 6 § 6.2
Можливий варіант розміщення об’єктів на електронній формі.
9
© Вивчаємо інформатику teach-inf.at.ua
Найбільший і найменший елементи табличної величини
Розділ 6 § 6.2
Задача 5. Дано табличну величину, значення всіх елементів якої різні. Визначити найбільше та найменше значення серед елементів цієї табличної величини та поміняти їх місцями.
Оскільки треба поміняти місцями найбільше та найменше значення серед значень елементів табличної величини, то потрібно визначити не тільки самі ці значення, а ще й номер елемента, значення якого найбільше, та номер елемента, значення якого найменше.
Визначимо все це, переглядаючи значення елементів табличної величини лише один раз.
9
© Вивчаємо інформатику teach-inf.at.ua
Найбільший і найменший елементи табличної величини
Розділ 6 § 6.2
Спочатку вважатимемо, що значення першого елемента і найбільше, і найменше, а номер найбільшого і найменшого елементів:
1
9
© Вивчаємо інформатику teach-inf.at.ua
Найбільший і найменший елементи табличної величини
Розділ 6 § 6.2
Після цього послідовно переглядатимемо всі інші елементи масиву. Якщо значення чергового елемента табличної величини більше того значення, яке на той момент вважаємо найбільшим, то замінюємо найбільше значення серед уже переглянутих і номер найбільшого елемента.
Якщо ні, то може це значення менше, ніж те, яке поки що вважаємо найменшим. І якщо це так, то замінюємо найменше значення серед уже переглянутих і номер найменшого елемента.
9
© Вивчаємо інформатику teach-inf.at.ua
Найбільший і найменший елементи табличної величини
Розділ 6 § 6.2
Можливий варіант розміщення об’єктів на електронній формі.
9
© Вивчаємо інформатику teach-inf.at.ua
Найбільший і найменший елементи табличної величини
Розділ 6 § 6.2
Текст відповідної процедури:
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
9
© Вивчаємо інформатику teach-inf.at.ua
Найбільший і найменший елементи табличної величини
Розділ 6 § 6.2
(Продовження…) Текст відповідної процедури:
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
Memo2.Lines.Append(FloatToStr(a[i])); {виведення значень елементів табличної величини з переставленими найбільшим і найменшим значенням}
end;
9
© Вивчаємо інформатику teach-inf.at.ua
Розгадайте ребус
Найбільше
Розділ 6 § 6.2
9
© Вивчаємо інформатику teach-inf.at.ua
Дайте відповіді на запитання
max := а[1];
for і := 2 to 10 do If a[i] > max Then max := a[i];
Розділ 6 § 6.2
9
© Вивчаємо інформатику teach-inf.at.ua
Дайте відповіді на запитання
s := 0; k := 0;
for і := 1 to 10 do If a[i] > 0 Then begin s := s + a[i]; k := k + 1; end;
sa := s/k;
У яких випадках під час виконання проекту із цим фрагментом може виникнути помилка?
Розділ 6 § 6.2
9
© Вивчаємо інформатику teach-inf.at.ua
Домашнє завдання
Проаналізувати
§ 6.2, ст. 167-173
Розділ 6 § 6.2
9
© Вивчаємо інформатику teach-inf.at.ua
Працюємо за комп’ютером
Сторінка
169-170
Розділ 6 § 6.2
9
© Вивчаємо інформатику teach-inf.at.ua
Дякую за увагу!
За новою програмою
Урок 46
9