Масиви. Опис, заповнення та вивід масивів.

Матеріал з Фізмат Вікіпедії
Перейти до: навігація, пошук

Тема: Масиви. Опис, заповнення та вивід масивів.

Мета: засвоїти поняття «масив» (таблиця), «елемент масиву»; розглянути приклади одновимірних та двовимірних масивів; навчитись описувати масиви; розглянути різні способи вводу та виводу елементів одновимірного масиву; ознайомити з вводом та виводом елементів двовимірного масиву; розвивати в учнів увагу, логічне мислення, збагатити словник новими термінами;

Тип уроку: урок - формування нових знань

Наочність: таблиці

Методи навчання: практичні

Девіз уроку: «Хто володіє інформацією - той володіє світом»


План уроку

1. Організаційна частина [2 хв.].

2. Актуалізація опорних знань учнів [5 хв.].

3. Повідомлення нової теми [27 хв.].

4. Закріплення нового матеріалу [7 хв.].

5. Підсумок уроку [2 хв.].

6. Домашнє завдання [2 хв.].


Хід уроку

На початку уроку оголошую тему над якою учні будуть працювати на протязі 8 уроків (табличні величини) та її місце в курсі програмування.

Актуалізація опорних знань

Здійснюю фронтальне опитування.

Запитання :

1. Які величини використовують в мові програмування ПАСКАЛЬ?

2. Які типи величин ви знаєте?

3. Що таке ідентифікатор величини?

4. Як в мові програмування ПАСКАЛЬ описують типи змінних величин?

5. Як змінній можна надати певного значення?


Повідомлення нового матеріалу

Слово вчителя

Ми розпочинаємо вивчення нової теми «Масиви». На протязі восьми уроків ми будемо вивчати: визначення масиву; види масивів; правила опису масивів; способи заповнення масивів; вивід елементів масиву; класичні алгоритми для роботи з масивами:

1. заповнення масивів за певним правилом;

2. знаходження суми та добутку елементів масиву;

3. пошук найбільшого (найменшого) елемента масиву та його індекса;

4. методи сортування масивів (обмінні сортування, методи прямого вибору, методи прямої вставки)


На сьогоднішньому уроці ми вивчимо, що таке масив, як задаються і описуються масиви, які існують масиви, як заповнювати і виводити елементи масиву. Отже, в робочому зошиті запишіть тему уроку : «Масиви. Ввід та вивід елементів масиву».

На практиці інформацію досить часто подають у вигляді таблиць. Це дає змогу записувати інформацію в компактному вигляді і легко нею користуватися. Ви під час навчання в школі досить часто користуєтесь таблицями : таблиця Піфагора (таблиця множення), таблиця квадратів двоцифрових чисел, чотиризначні таблиці та іншими. Та і поза школою ви теж маєте справу з таблицями : розклад руху автобусів, довідкова інформація в газетах, таблиця чемпіонату по футболу тощо. Отже, постає питання : «Яким чином табличну інформацію можна подавати в мові програмування ПАСКАЛЬ і як її опрацьовувати?»

Поняття таблиці виникло тоді, коли програмістам знадобилося запам'ятати та обробити великий набір однотипних даних. Наприклад, якщо ми хочемо знайти середній бал кожного учня класу з інформатики за чверть, нам необхідно знайти суму дуже великої кількості оцінок. Як зберігати всі ці оцінки? Зарезервувати для цього 40 (а може і більше змінних? Це дуже незручно. Ось тут і приходить на допомогу такий структурований тип даних, як таблиця або інакше масив.

Учням дається запитання : «Наведіть приклади застосування таблиць». Учні наводять приклади таблиць.

Даю визначення масиву.

Масив (таблиця) - це впорядкований набір фіксованої кількості однотипних елементів, які позначаються одним іменем .

Всі елементи масиву мають порядковий номер (індекс). Елементи масиву ще називають змінними з індексами.

Види масивів (таблиць):

1. одновимірний масив (лінійна таблиця);

2. двовимірний масив (прямокутна таблиця);

3. масиви іншої розмірності.

В мові програмування ПАСКАЛЬ є певні обмеження на розмірність масивів. Ми будемо мати справу з одновимірними та двовимірними масивами.

Таблиця визначається ім'ям (ідентифікатором) і кількістю індексів (номерів), що потрібні для визначення місцезнаходження необхідного елементу масиву. Ім'я масиву є єдиним для всіх його елементів.

В програмуванні кількість індексів таблиці називають його розмірністю, кількість дозволених значень кожного індексу - його діапазоном, а сукупність розмірності та діапазону - формою масиву.

Оскільки конфігурація елементів масиву фіксована, то до окремого елементу можна звертатися за допомогою одного або кількох індексів. У якості індексів можуть використовуватися константи або змінні порядкових типів.

Тип real в якості індекса використовувати не можна.

Елементами можуть бути як прості змінні будь-яких типів, так і змінні складених типів (масивів, рядків, тощо), тобто може існувати масив масивів, масив рядків і т.і. Глибина вкладеності цих типів - довільна, тому кількість індексів не обмежена, але сумарна довжина структури не повинна перевищувати дозволені Паскалем 64 Кбайти. В пам'яті ПК всі елементи масиву зберігаються послідовно, тому при переході від молодших до старших адрес першим змінюється самий правий індекс.

По таблицях 1 і 2 розглядаємо приклади одновимірних та двовимірних масивів.

Приклади одновимірних масивів

Температура повітря за добу (T[1..24]).

Час вимірювання, год. 1 2 3 4 5 23 24
Температура, град. -3 -3 -4 -3 0 1 1

Масив A[1..N].

Час вимірювання, год. 1 2 3 N-1 N
Температура, град. A[1] A[2] A[3] A[N-1] A[N]

Приклади двовимірних масивів

Масив B[1..2,1..5]

1 2 3 4 5
1 В[1,1] В[1,2] В[1,3] В[1,4] В[1,5]
2 В[2,1] В[2,2] В[2,3] В[2,4] В[2,5]

Наголошую, що бажано не використовувати одне і теж позначення (ім’я) для масивів і простої змінної або для масивів різної розмірності в одній програмі.

Порядок роботи з масивом:

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

2) заповнити необхідними значеннями масив для розв'язування задачі;

3) якщо треба, вивести масив на екран для зорової перевірки роботи з ним;

4) робота з даним масивом;

5) виведення отриманих результатів.


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

Формат опису:


1) Var

<ім'я масиву> : array [<розмірність>] of <базовий тип елементів>;

Для опису масиву можна використовувати попередньо визначену константу:

Const К=40;

Var

Mas:array[1..К] of real;

Приклади опису:

Const n = 100;

Var А: аrrау[1..n] оf real;

В: аrrау[1..50] of integer;

Першим описаний масив, до складу якого входить 100 дійсних чисел, а другим - масив з 50 цілих чисел.

Крім того масив можна описати за допомогою опису відповідного типу.


2) Type

< ім'я типу > = array [<розмірність>] of < базовий тип елементів>;

Var

<ім'я масиву> : <ім'я типу>;

Приклад:

Type Mas = array [1..20] of longint;

Var А, Х: Mas;

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

Звертання до елементу масиву:

<ім’я масиву>[<його_індекс>]

Приклад:

M[6] - шостий елемент масиву М;

A[10] - десятий елемент масиву А;

B[i] - і-тий елемент масиву В.


В мові програмування ПАСКАЛЬ не визначені операції з масивами. Тому введення - виведення масивів і будь-яка їх обробка здійснюється поелементно. Розглянемо приклади вводу та виводу елементів одновимірного масиву по таблиці 3.

Заповнення одновимірного масиву:

1) за формулою:

for і:=1 to n do

А[і]:=5*i {або будь-яка формула};

Заповнює масив n-першими числами кратними 5.

2) з клавіатури:

for і:=1 to n do

begin

write('Введіть М[',i,']: ');

readln(М[i]);

end;

3) випадковим чином (генератором випадкових чисел) із проміжку [X, Y]:

for і:=1 to n do

К[і]:=random(Y-X)+X;

Заповнює масив випадковими числами з проміжку [X,Y].


Виведення елементів одновимірного масиву на екран

1) виведення у стовпчик:

for і:=1 to n do

writeln(А[i]);

2) виведення у рядок:

for і:=1 to n do

write(А[i]:8);


При виведенні елементів масиву у рядок бажано зазначити формат виведення, наприклад, write(А[і]:8:3) - для дійсних чисел або write (А[i]:6) - для цілих.

Дозволяється об'єднувати в одному циклі кілька етапів розв'язування задачі. Наприклад, очищення, заповнення масиву та виведення елементів масиву для контролю на екран.

На закріплення учням дається завдання: скласти програми:

1. Заповнити та вивести елементи масиву Х, що складається з 50-ти елементів. Заповнення масиву здійснювати випадковими числами з проміжку [0, 10].

2. Дано масив розмірності N. Заповнити цей масив n-першими натуральними числами (1, 2, …, n). Вивести елементи одержаного масиву в зворотному порядку.

Розв’язки записуються на дошці.

Ознайомлюю з вводом та виводом елементів двовимірного масиву по таблиці 4.

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


Заповнення двовимірного масиву:

1) з клавіатури:

for і:=1 to n do

for j:=1 to m do

begin

write ('введіть А[',i,',',j,']: ');

readln (А[i,j]);

end;

2) за формулою:

for і:=1 to n do

for j:=1 to m do

А[і,j]:=i*2 {або будь-яка формула};

3) випадковим чином із проміжку [A,B]:

for і:=1 to n do

for j:=1 to m do

А[і,j]:=random(B-A)+A;


Виведення двовимірного масиву на екран:

for і:=1 to n do

begin

for j:=1 to m do

write(A[i,j]:6); {виведення в рядок}

writeln; {перехід на новий рядок}

end;

Якщо в матриці кількість рядків і стовпчиків однакова, то таку матрицю називають квадратною (на відміну від звичайної прямокутної таблиці). Тільки в квадратних матрицях існують головна та бічна діагоналі.


Підводжу підсумок уроку.

Ми розглянули поняття «масив», «елемент масиву»; розглянули різні види масивів; навчились описувати масиви; навчились вводити та виводити елементи одновимірних масивів; ознайомились з вводом та виводом елементів двовимірного масиву. Ці знання допоможуть нам на наступних уроках складати програми опрацювання масивів (знаходження суми та добутку елементів масиву, пошук мінімального та максимального елементів масиву, впорядкування масиву по зростанню та спаданню та інших програм).


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

1) Вивчити масиви, опис масивів, заповнення та вивід елементів одновимірного та двовимірного масивів.

2) Повторити цикли.

3) Початковий рівень

Скласти програму заповнення одновимірного масиву B[1..n] n - першими членами послідовності bn=n/(n+1) та виводу елементів цього масиву на екран.

Середній рівень

Скласти програму для побудови таблиці Піфагора (табличка множення)

Достатній рівень

Скласти програму для побудови таблиці квадратів двоцифрових чисел

Високий рівень Дано натуральні числа n, m. Обчислити значення елементів матриці Cij, (i = 1,2,…n, j=1,2,…,m), якщо:

Cij = i + j, якщо i < j

Cij = i*i - j*j, в решті випадків