Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция Pascal_mat №8_9.doc
Скачиваний:
3
Добавлен:
02.12.2018
Размер:
196.61 Кб
Скачать

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

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

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

  3. вивести початковий масив на екран для контролю за правильністю роботи;

  4. робота з даним масивом (опрацювання);

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

Одновимірні масиви Опис одновимірних масивів

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

У випадку використання масиву в програмі він попередньо повинен бути описаний у розділі опису змінних. Це необхідно, щоб компілятор міг виділити пам’ять під елементи масиву. Але описується масив інакше, ніж звичайна змінна. Опис масиву містить у собі вказівки: зі змінних якого типу повинен складатися масив, скільки в ньому повинно бути елементів і які індекси повинні бути використані для доступу до його елементів. У загальному виді опис масиву, що складається з елементів-змінних, виглядає так:

var <ім’я_масиву> : array [<нижня границя> . . <верхня границя>] of <тип елементів>;

  • var, array і of – службові слова.

  • Array означає масив,

  • of (у цьому випадку) – з;

  • <нижня границя> і <верхня границя> – діапазон значень індексу (індекси елементів масиву, у загальному випадку, використовуються порядкового типу – зазвичай це тип integer, але можливі також типи char і boolean);

  • <ім’я_масиву> – задається відповідно до правил створення ідентифікаторів;

  • <тип елементів> – кожен зі стандартних або визначених користувачем типів.

Наведемо приклади опису масивів:

var а: array[1..20 ] of integer; b: array [‘а’ ..‘m’ ] of real;

Зауваження. У мові Турбо Паскаль існує обмеження пам’яті, що відводить під одну змінну програми 64 Кбайта. Одне значення типу integer займає в пам’яті 2 байти, byte - 1 байт, longint - 4 байти, real - 6 байтів. Тому при описі масиву певного типу варто підрахувати загальну кількість значень у ньому й скільки він займає пам’яті. Якщо ви задаєте масив, розмір пам’яті для якого перевищує 64 Кбайта, то при компіляції програми буде видане повідомлення про помилку Error 22: Structure too large (Помилка 22: Структура занадто велика). Ось приклад визначення масиву, що приводить до помилки: var massive: array [1..32000] of real. Особливо варто бути акуратними при описі двовимірних (і більше) масивів. Існують прийоми, що дозволяють обійти обмеження в 64 Кбайта, але їх розгляд виходить за рамки нашого курсу.

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

  1. за формулою: for i:=l to n do M[i] :=і*і-10 {або будь-яка інша формула};

  2. з клавіатури: for і:=1 to n do begin write(‘Введіть М[‘, і ,’]= ‘) ; readln(M[i]) ; end;

  3. випадково (генератором випадкових чисел): for i:=l to n do M[i]:=random(n) – але тоді на початку операторного блоку потрібно записати команду randomize;

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

  1. виведення у стовпчик: for i:=l to n do writeln(M[i]);

  2. виведення у рядок: for i:=l to n do write(M[i]:5); writeln;

Команда

Відповідь

Примітка

For i:=l to 4 do Writeln(A[i+5])

5 7 9 11

Друкується тільки чотири елемента масиву, тому що змінна циклу змінюється від 1 до 4, а індекс елементів масиву від 6 (1+5) до 9 (4+5)

While A[i]<0 do Begin

Writeln(A[i]); i:=i+l;

End;

-5 -3 -1

Друкуються тільки від’ємні елементи масиву, тому що умова виходу з циклу така, що коли А[і]>=0, він припинить свою роботу.

i:=l;

repeat

i:=i+l; Writeln(A[i])

until A[i]>=0;

-3 -1 1

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