Алгоритми опрацювання табличних величин. Урок 26

Содержание

Слайд 2

Запитання

Розділ 6 § 6.2

Яка величина називається табличною?

Що таке елемент табличної величини? Із

Запитання Розділ 6 § 6.2 Яка величина називається табличною? Що таке елемент
чого складається його ім'я?

Як описується таблична величина в рядку var?

Слайд 3

Обчислення суми значень і кількості елементів табличної величини

Розділ 6 § 6.2

Розглянемо кілька

Обчислення суми значень і кількості елементів табличної величини Розділ 6 § 6.2
типових задач опрацювання табличних величин:

обчислення суми значень усіх її елементів

обчислення суми і кількості значень елементів, що відповідають певним умовам

знаходження найбільшого та найменшого елементів

пошук заданого елемента

Слайд 4

Обчислення суми значень і кількості елементів табличної величини

Розділ 6 § 6.2

Такі задачі

Обчислення суми значень і кількості елементів табличної величини Розділ 6 § 6.2
досить часто розв'язують на практиці. Наведемо лише кілька прикладів.

Так, синоптики визначають,

Найбільшу, найменшу та середню температуру за день

Середню кількість опадів протягом місяця
тощо

Слайд 5

Обчислення суми значень і кількості елементів табличної величини

Розділ 6 § 6.2

У процесі

Обчислення суми значень і кількості елементів табличної величини Розділ 6 § 6.2
визначення переможців у деяких змаганнях відкидають найбільшу та найменшу оцінки суддів і обчислюють середнє арифметичне тих оцінок, що залишилися.

Слайд 6

Обчислення суми значень і кількості елементів табличної величини

Розділ 6 § 6.2

Адміністрацію вашого

Обчислення суми значень і кількості елементів табличної величини Розділ 6 § 6.2
навчального закладу може цікавити, скільки учнів 9-х класів мають семестрові оцінки з інформатики:

10

11

12

Чи є у вашому класі учні, що отримали оцінку 8 за останню практичну роботу, тощо.

Слайд 7

Обчислення суми значень і кількості елементів табличної величини

Розділ 6 § 6.2

У всіх

Обчислення суми значень і кількості елементів табличної величини Розділ 6 § 6.2
задачах, які розглянемо в цьому пункті, будемо вводити значення елементів табличної величини з багаторядкового текстового поля, значення інших змінних — з текстових полів.

Якщо результатом є значення елементів табличної величини

Якщо результатом є значення інших змінних

то виводитимемо їх у багаторядкове текстове поле

то виводитимемо їх у написи

Слайд 8

Обчислення суми значень і кількості елементів табличної величини

Розділ 6 § 6.2

Для розв'язування

Обчислення суми значень і кількості елементів табличної величини Розділ 6 § 6.2
цих задач створимо процедури, що оброблятимуть подію Click для кнопки. Аналогічно ви зможете створювати процедури, які будуть обробляти інші події для кнопки або події для інших об'єктів.

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

Слайд 9

Обчислення суми значень і кількості елементів табличної величини

Розділ 6 § 6.2

Задача 1.

Обчислення суми значень і кількості елементів табличної величини Розділ 6 § 6.2
Визначити суму значень усіх елементів табличної величини.

Опрацювання елементів табличної величини здійснюватиметься з використанням циклу. Використаємо змінну

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

s

0

Слайд 10

Обчислення суми значень і кількості елементів табличної величини

Розділ 6 § 6.2

У циклі

Обчислення суми значень і кількості елементів табличної величини Розділ 6 § 6.2
послідовно переглядатимемо елементи табличної величини та додаватимемо їхні значення до змінної s.

procedure TForm1.Button1Click(Sender: TObject);
var a: array [1..10] of real; i: integer; s: real;
begin
for і := 1 to 10 do a[i] := StrToFloat(Memo1.Lines[i-1]); {дані з рядків багаторядкового текстового поля перевести в дійсні числа та присвоїти відповідним елементам табличної величини}
s := 0; {початкове значення для змінної, значення якої визначатиме суму значень елементів табличної величини}
for і := 1 to 10 do s := s + a[i]; {додавання до змінної s значення чергового елемента табличної величини}
Label1.Caption := FloatToStr(s); // виведення результату в напис
end;

Слайд 11

Обчислення суми значень і кількості елементів табличної величини

Розділ 6 § 6.2

Звертаємо вашу

Обчислення суми значень і кількості елементів табличної величини Розділ 6 § 6.2
увагу: якщо в циклі використовується команда змінення значення певної величини, у даній задачі:

s := s + а[і]

То перед циклом цій змінній обов'язково потрібно присвоїти початкове значення, у даній задачі:

s := 0

Слайд 12

Обчислення суми значень і кількості елементів табличної величини

Розділ 6 § 6.2

Задача 2.

Обчислення суми значень і кількості елементів табличної величини Розділ 6 § 6.2
Визначити, скільки разів задане дійсне число трапляється серед значень елементів табличної величини.

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

Слайд 13

Обчислення суми значень і кількості елементів табличної величини

Розділ 6 § 6.2

Текст відповідної

Обчислення суми значень і кількості елементів табличної величини Розділ 6 § 6.2
процедури:

procedure TForm1.Button1Click(Sender: TObject);
var a: array [1..10] of real; i, k: integer; x: real;
Begin
for і := 1 to 10 do a[i] := StrToFloat(Memo1.Lines[i-1]); {введення значень елементів табличної величини}
х := StrToFloat (Edit1.Text); // введення заданого числа
к := 0; {лічильник кількості елементів табличної величини, що дорівнюють заданому числу, — їх поки що не траплялося жодного}
for і := 1 to 10 do
If a[i] = х Then k := k + 1; {збільшення на 1 значення лічильника, якщо значення чергового елемента табличної величини дорівнює заданому числу}
Label1.Caption := IntToStr(k) + ‘разів’; {виведення результату в напис з додаванням пояснювального тексту}
end;

Слайд 14

Обчислення суми значень і кількості елементів табличної величини

Розділ 6 § 6.2

Задача 3.

Обчислення суми значень і кількості елементів табличної величини Розділ 6 § 6.2
Визначити, чи є задане дійсне число серед значень елементів даної табличної величини.

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

дорівнює 0

більше 0

то заданого числа серед значень елементів табличної величини

то задане число серед значень елементів табличної величини

немає

є

Слайд 15

Обчислення суми значень і кількості елементів табличної величини

Розділ 6 § 6.2

Але такий

Обчислення суми значень і кількості елементів табличної величини Розділ 6 § 6.2
метод розв'язування цієї задачі є нераціональним.

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

Слайд 16

Обчислення суми значень і кількості елементів табличної величини

Розділ 6 § 6.2

Для реалізації

Обчислення суми значень і кількості елементів табличної величини Розділ 6 § 6.2
раціонального методу розв'язування цієї задачі використаємо змінну логічного типу f і нехай її значення,

false

true

означатиме, що заданого числа серед значень елементів табличної величини

означатиме, що задане число серед значень елементів табличної величини

немає

є

Слайд 17

Обчислення суми значень і кількості елементів табличної величини

Розділ 6 § 6.2

Перед початком

Обчислення суми значень і кількості елементів табличної величини Розділ 6 § 6.2
перегляду значень елементів табличної величини присвоїмо змінній f значення false, адже задане число в табличній величині поки що не знайшлося. Порівнюватимемо в циклі послідовно значення елементів табличної величини із заданим числом, і якщо одне з них дорівнює заданому числу, то змінимо значення змінної f на true та перервемо виконання циклу командою break (англ. break — переривати).

Виведення реалізуємо залежно від значення змінної:

f

Слайд 18

Текст відповідної процедури:

Розділ 6 § 6.2

procedure TForm1.Button1Click(Sender: TObject);
var a: array [1..10] of

Текст відповідної процедури: Розділ 6 § 6.2 procedure TForm1.Button1Click(Sender: TObject); var a:
real; i: integer; x: real; f: boolean;
begin
for і := 1 to 10 do a[i] := StrToFloat(Memo1.Lines[i-1]);
x := StrToFloat(Edit1.Text);
f := false; // задане число поки що не траплялося
for і := 1 to 10 do
If а[і] = х
Then begin
f := true; // задане число є серед значень елементів табличної величини
break; // перериваємо виконання циклу, бо задане число є в табличній величині
end;
If f = true Then Label1.Caption := ‘Число є’
Else Label1.Caption := 'Числа немає’;
end;

Слайд 19

Задачі на змінювання значень елементів масиву

Розділ 6 § 6.2

Заміна значень усіх елементів

Задачі на змінювання значень елементів масиву Розділ 6 § 6.2 Заміна значень
масиву

Алгоритм розв'язування задачі: послідовно перебрати всі елементи масиву і значення чергового елемента змінити за певним правилом наприклад,

змінити знак елементів на протилежний

надати всім елементам нульові значення

збільшити значення всіх елементів на певну величину

Подвоїти значення елементів масиву A[1..N].

For і := 1 to N do A[i] := A[i]*2;

Слайд 20

Задачі на змінювання значень елементів масиву

Розділ 6 § 6.2

Заміна значень із перевіркою

Задачі на змінювання значень елементів масиву Розділ 6 § 6.2 Заміна значень
умови

Алгоритм розв'язування задачі: послідовно перебрати всі елементи масиву; якщо черговий елемент відповідає деякій умові, його значення змінити за певним правилом. Як умова може перевірятися значення елемента масиву на кратність деякому числу, додатність, рівність нулю тощо.

Може перевірятися також і значення індексу елемента масиву (наприклад, змінюються елементи, що стоять на парних місцях).

Слайд 21

Задачі на змінювання значень елементів масиву

Розділ 6 § 6.2

Від'ємні елементи масиву А

Задачі на змінювання значень елементів масиву Розділ 6 § 6.2 Від'ємні елементи
замінити числом 25.

For і := 1 to N do
If A[i] < 0 Then A[i] := 25;

Елементи масиву А, що мають парні індекси, замінити нулем.

For і := 1 to N do
If і mod 2 = 0 Then A[i] := 0;

Слайд 22

Задачі на пошук у масиві елемента із заданою властивістю

Розділ 6 § 6.2

Визначення

Задачі на пошук у масиві елемента із заданою властивістю Розділ 6 §
кількості елементів із заданою властивістю

Визначити кількість додатних елементів масиву А.

К := 0; {лічильник елементів із заданою властивістю}
For і := 1 to N do
If A[i] > 0 Then К := K+1;

Слайд 23

Задачі на пошук у масиві елемента із заданою властивістю

Розділ 6 § 6.2

Визначення

Задачі на пошук у масиві елемента із заданою властивістю Розділ 6 §
найбільшого (найменшого) елемента масиву A[i..N]

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

Часто крім значення максимального елемента потрібно знайти і його індекс.

Слайд 24

Задачі на пошук у масиві елемента із заданою властивістю

Розділ 6 § 6.2

Визначити

Задачі на пошук у масиві елемента із заданою властивістю Розділ 6 §
індекс найбільшого числа в масиві А[1..N].

Мах := А[1]; {змінна для збереження найбільшого значення елемента}
К := 1; // змінна для збереження індексу найбільшого елемента
For і := 2 to N do {перебираємо елементи, починаючи з другого}
If A[i] > Max Then begin
{ якщо і-й елемент більший за Мах, значення Мах замінюється на значення А[і]; у змінній К запам'ятовуємо значення індексу і }
Мах := А[і]; К := і; end;
Edit1.Text := 'Найбільший елемент має індекс ' + IntToStr(K);
Edit2.Text := 'Мах=' + IntToStr(Max);

Слайд 25

Задачі на пошук у масиві елемента із заданою властивістю

Розділ 6 § 6.2

Визначення

Задачі на пошук у масиві елемента із заданою властивістю Розділ 6 §
номера першого елемента масиву, значення якого відповідає умові

Алгоритм розв'язування задачі: збільшувати індекс і доти, доки елемент з індексом і не задовольнятиме даній умові та величина i не перевищуватиме розмірність масиву. Якщо після виходу з циклу і > N, це означає, що в масиві не знайдено елемента, значення якого відповідає умові.

Слайд 26

Задачі на пошук у масиві елемента із заданою властивістю

Розділ 6 § 6.2

Визначити

Задачі на пошук у масиві елемента із заданою властивістю Розділ 6 §
номер першого елемента масиву А[1..N], значення якого дорівнює Р.

і :=0;
Repeat
i:= i+1
Until A[i] = P Or (i > N); {N — кількість елементів в масиві А}
If і <= N Then Edit1.Text := 'i=' + IntToStr(i)
else Edit1.Text := 'значення не знайдене';

Слайд 27

Задачі на пошук у масиві елемента із заданою властивістю

Розділ 6 § 6.2

Задачі на пошук у масиві елемента із заданою властивістю Розділ 6 §
Задачі на знаходження суми (добутку) елементів

Знайти добуток всіх елементів масиву А[1..N].

Р := 1;
For і := 1 to N do P := Р*А[і];

Знайти суму додатних елементів масиву A[1..N].

S:=0;
For і := 1 to N do
If A[i] > 0 Then S := S+A[i];

Слайд 28

Розгадайте ребус

Масив

«Ребуси українською» © rebus1.com

Розділ 6 § 6.2

Розгадайте ребус Масив «Ребуси українською» © rebus1.com Розділ 6 § 6.2

Слайд 29

Дайте відповіді на запитання

Для розв'язування яких задач опрацювання табличної величини можна використати

Дайте відповіді на запитання Для розв'язування яких задач опрацювання табличної величини можна
наведені фрагменти?
а) s := 0; for і := 1 to 10 do s := s + a[i];
б) k := 0; for і := 1 to 10 do If a[i] < 0 Then k := k + 1;
в) k := 0; for і := 1 to 10 do If a[i] = x Then k := k + 1;

З якою метою у наведеному фрагменті використано змінну f?
f := false;
for і := 1 to 10 do If a[i] = x Then begin
f := true;
break; end;

Розділ 6 § 6.2

Слайд 30

Домашнє завдання

Проаналізувати
§ 6.2, ст. 165-167

Розділ 6 § 6.2

Домашнє завдання Проаналізувати § 6.2, ст. 165-167 Розділ 6 § 6.2

Слайд 31

Працюємо за комп’ютером

Сторінка
172-173

Розділ 6 § 6.2

Працюємо за комп’ютером Сторінка 172-173 Розділ 6 § 6.2
Имя файла: Алгоритми-опрацювання-табличних-величин.-Урок-26.pptx
Количество просмотров: 36
Количество скачиваний: 0