Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемЗинаида Двораковская
1 Основи алгоритмізації та програмування Табличні величини. Опис табличних величин мовою Паскаль
2 Exit Введення поняття масиву Учитель географії доручив Петрику протягом тижня кожного дня о вимірювати температуру повітря та записувати крейдою на спеціальній дошці, що розміщена поряд із термометром на географічному майданчику школи ПонеділокВівторокСередаЧетвер П'ятницяСуботаНеділя У даному випадку дошка відігравала роль змінної величини, значення якій змінював Петрик кожного дня. Позначимо її буквою t. Те значення, що було на ній записане називається поточним значенням змінної величини. У понеділок рівно о Петрик подивився на термометр і записав на дошці значення температури 15 градусів. У вівторок о цій же порі температура склала 17 градусів. Петрик витер з дошки попереднє значення і написав нове. Так він робив кожного дня і у неділю зробив останній запис 16 градусів.
3 Exit Введення поняття масиву Петрик був задоволений своєю роботою, але, як виявилося наступного понеділка, вчителеві знадобилося визначити середнє значення температури за минулий тиждень. Але ж для цього необхідно знати всі сім вимірів, а на дошці залишилося лише останнє значення. Тому на наступний тиждень він вирішив повісити сім дощечок і пронумеровати їх: для понеділка – 1, вівторка – 2 і так далі. Тепер, щоб записати нове значення, він не буде кожного дня витерати попереднє, а робитиме запис на новій дощечці ПонеділокВівторокСередаЧетвер П'ятницяСуботаНеділя У даному випадку Петрик отримав не одну змінну величину, а цілих сім. При чому всі вони є значеннями температури, але у різний час. Тому всіх їх позначимо буквою t, а щоб відрізняти між собою надамо їм індекси. Так t[1] – змінна, що містить температуру за понеділок, t[2] – за вівторок і так далі.
4 Exit Введення поняття масиву Звичайно, Петрик міг би не залучати сім дощечок, а обійтися однією. Замість цього він повинен був створити таблицю і заносити в неї кожного дня значення. t[1]t[2]t[3]t[4]t[5]t[6]t[7] Таблиця складається із рядка позначень і рядка значень величин. Причому всі величини мають загальне ім'я t. А позначення складається із імені величини та номеру її позиції у таблиці. Таку організацію даних називають "лінійною таблицею" або "одновимірним масивом". Рядок позначень Рядок значень Значення змінної t[2] Значення змінної t[6]
5 Exit Основні поняття пов'язані із масивами Одновимірним масивом називають множину однотипних величин – елементів масиву, що мають спільне ім'я та відрізняються між собою місцем у масиві, що визначається одним індексом. Масив складається із величин, що називаються елементами масиву. Найчастіше це змінні величини. Одновимірні масиви ще називають лінійними таблицями або векторами. Характеристики елементу масиву на прикладі t[3]:=16 ім'я масиву – t ім'я елементу – t[3] індекс елементу – 3 значення елементу – 16
6 Exit Чому саме індексовані змінні? На перший погляд індекси ускладнюють запис імені змінної та незручні у використанні. Та це лише на перший погляд. Чи можна було б позначати змінні масиву різними іменами та обійтися без індексів? Так можна. Тоді б ми мали справу, наприклад, із такою таблицею: abkfnwg t[1]t[2]t[3]t[4]t[5]t[6]t[7] Та чи зручно було б із нею працювати? Для розв'язування такого завдання, як "вкажіть значення п'ятої змінної" довелося би додатково визначатися із тим, звідкіля починати відлік змінних, а потім ще й лічити їх. При великій кількості змінних це було б дуже незручно. Такий недолік відсутній у індексованих змінних. За нижньою таблицею відразу можна відшукати значення п'ятої змінної, тобто змінної, що має позначення t[5]. Це буде 17. Ще однією перевагою індексованих змінних є те, що при опрацюванні масивів, індексом може бути не тільки константа, а й змінна величина.
7 Exit Описування масивів Як ми з'ясували, масив являє собою групу однотипних індексованих змінних величин, які мають одне ім'я. Із-за цього масив можна вважати структурованою змінною величиною, яку перед використанням у розділі операторів, як і звичайну змінну величину, слід описати у розділі описування змінних. Наприклад: var t : array[1..7] of Real; В цьому записі: var – службове слово, що вказує на розділ описування змінних; t – ім'я змінної-масиву; array – службове слово, яке вказує, що змінна матиме тип масив; [1..7] – проміжок можливих значень індексів елементів масиву; of - службове слово, яке вказує на те, що за ним буде вказано тип змінних-елементів масиву; Real – тип змінних-елементів масиву.
8 Exit Зауваження до використання масивів Зауваження 1 Ім'я масиву формується за тими же правилами, що і для звичайних змінних: можна використовувати латинські букви, арабські цифри та знак підкреслення, але на першому місці повинна бути буква. Наприклад, AWS_2 Зауваження 1 Ім'я масиву формується за тими же правилами, що і для звичайних змінних: можна використовувати латинські букви, арабські цифри та знак підкреслення, але на першому місці повинна бути буква. Наприклад, AWS_2 Зауваження 2 Діапазоном значень індексів може бути підмножина будь-якого перелічуваного типу, наприклад, [ ] або ['A'..'Z'] Зауваження 2 Діапазоном значень індексів може бути підмножина будь-якого перелічуваного типу, наприклад, [ ] або ['A'..'Z'] Зауваження 3 Елементи масиву можуть мати будь-який дозволений в Паскалі тип, навіть тип масив. Наприклад: Var AWS_2 : array[ ] of Real; Mtr : array[1.. 5] of array[1..9] of Integer; У другому прикладі ми маємо справу із масивом масивів, або двовимірним масивом (таблицею). Другий приклад можна записати так: Mtr : array[1..9, 1..5] of Integer; Зауваження 3 Елементи масиву можуть мати будь-який дозволений в Паскалі тип, навіть тип масив. Наприклад: Var AWS_2 : array[ ] of Real; Mtr : array[1.. 5] of array[1..9] of Integer; У другому прикладі ми маємо справу із масивом масивів, або двовимірним масивом (таблицею). Другий приклад можна записати так: Mtr : array[1..9, 1..5] of Integer;
9 Exit Зауваження до використання масивів Зауваження 4 Розмір оперативної пам'яті, що виділяється під масив залежить від кількості елементів масиву та їх типу. Наприклад, масив описаний як array[1..10] of Integer, в Алго займе місце розміром 40 байт, бо один елемент типу Integer займає 4 байти, а таких елементів 10. Зауваження 4 Розмір оперативної пам'яті, що виділяється під масив залежить від кількості елементів масиву та їх типу. Наприклад, масив описаний як array[1..10] of Integer, в Алго займе місце розміром 40 байт, бо один елемент типу Integer займає 4 байти, а таких елементів 10. Примітка: для змінних Паскаль виділяє у пам'яті сегмент розміром байт.
10 Exit Зауваження до використання масивів Зауваження 5 Введення та виведення масиву виконується поелементно. Присвоювання значень елементам масиву також виконується поелементно, наприклад a[1]:=b[1], але якщо масиви одного типу, то можна присвоювати значення одного масиву другому не поелементно. Наприклад, якщо два масиви описані як var a,b : array[1..5] of Integer; то можлива операція a:=b при виконанні якої всім елементам масиву a будуть присвоєні значення відповідних елементів масиву b. У такому випадку також можливий запис логічного виразу a=b Якщо два масиви описані окремо як var a : array[1..5] of Integer; b : array[1..5] of Integer; то вважається, що вони мають різні типи і операції порівняння (a=b) та присвоювання a:=b або b:=a для них недопустимі. Але допустимі операції порівняння та присвоєння для їх елементів, наприклад: a[1]:=b[1]; a[2]:=b[2] і так далі. (До того ж допустимі операції типу: a[1]:=b[2]; a[2]:=b[7] і так далі). Зауваження 5 Введення та виведення масиву виконується поелементно. Присвоювання значень елементам масиву також виконується поелементно, наприклад a[1]:=b[1], але якщо масиви одного типу, то можна присвоювати значення одного масиву другому не поелементно. Наприклад, якщо два масиви описані як var a,b : array[1..5] of Integer; то можлива операція a:=b при виконанні якої всім елементам масиву a будуть присвоєні значення відповідних елементів масиву b. У такому випадку також можливий запис логічного виразу a=b Якщо два масиви описані окремо як var a : array[1..5] of Integer; b : array[1..5] of Integer; то вважається, що вони мають різні типи і операції порівняння (a=b) та присвоювання a:=b або b:=a для них недопустимі. Але допустимі операції порівняння та присвоєння для їх елементів, наприклад: a[1]:=b[1]; a[2]:=b[2] і так далі. (До того ж допустимі операції типу: a[1]:=b[2]; a[2]:=b[7] і так далі).
11 Exit Зауваження до використання масивів Зауваження 6 Індексом елементу масиву може бути: - стала величина, наприклад, a[7] - змінна величина, наприклад, a[t] - вираз, наприклад, a[t+9] Зауваження 6 Індексом елементу масиву може бути: - стала величина, наприклад, a[7] - змінна величина, наприклад, a[t] - вираз, наприклад, a[t+9] Зауваження 7 Значення елементу масиву не повинно виходити за межі описаного діапазону. Наприклад, якщо масив описаний як a : array[5..10] of Integer, то допустимі значення індексів: 5, 6, 7, 8, 9 та 10. Всі інші не допустимі. a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] a[11] a[12] a[13] a[14] Зауваження 7 Значення елементу масиву не повинно виходити за межі описаного діапазону. Наприклад, якщо масив описаний як a : array[5..10] of Integer, то допустимі значення індексів: 5, 6, 7, 8, 9 та 10. Всі інші не допустимі. a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] a[11] a[12] a[13] a[14]
12 Exit Які задачі пов'язують із масивами? Масиви величин дуже широко використовуються у практиці алгоритмізації та програмування. Саме така організація даних спільно із конструкціями повторення спрощує процеси опрацювання великої кількості величин. Які ж задачі доводится розв'язувати при опрацюванні масивів? Найпоширенішими задачами є: - формування масиву, - ініціалізація масиву, - виведення значень елементів масиву, - знаходження суми елементів масиву, їх середньоарифметичного значення, - знаходження мінімального або максимального значення серед елементів масиву, - кількості елементів масиву, значення яких відповідають певній умові, - заміна значень певних елементів та подібні. Ці задачі будуть розглянуті на наступних заняттях.
Еще похожие презентации в нашем архиве:
© 2025 MyShared Inc.
All rights reserved.