Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
samost_pascal_delphi_2012.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
4.33 Mб
Скачать

Опис меж

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

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

Приклад. Опишемо двовимірний дійсний масив matrix з maxrow рядків і maxcol стовпців:

Const maxrow=10; maxcol=15;

Var matrix: array [1.. maxrow, l .. maxcol] of real;

Дії над масивами.

Над масивами визначена єдина команда присвоєння. Наприклад, команда а:= а1 всі значення масиву а1 привласнить відповідним елементам масиву а. Решта всіх операцій визначена тільки над елементами масиву.

Доступ до елементів масиву здійснюється так:

<Ім'я масива>[<індекс елемента>]

Індекс записують в квадратних дужках, наприклад, а[1] - перший елемент масиву а.

Елементу масиву можна привласнити значення а[1]:= 15.1;

Заповнення масиву даними

Масив, описаний як константа, що типізується, вже містить дані.

Масиви, оголошені в розділі опису змінних, необхідно заповнити даними, перш ніж виконувати з ними які-небудь дії.

У будь-якому випадку для заповнення масиву використовується цикл. Найбільш зручний цикл for, причому для багатовимірних масивів застосовуються вкладені цикли.

  1. Введення з клавіатури ("сліпий", без використання коментарів, на практиці введення елементів масиву зазвичай супроводжується виведенням відповідних пояснюючих текстів):

  • вектора з 10 елементів:

for i:=1 to 10 do readln(а[i]);

  • матриці розміром 5x4:

for i:=1 to 5 do

for j:=1 to 4 do readln(а[i,j]);

  1. За допомогою датчика випадкових чисел.

Функція Random(<диапазон>) повертає випадкове число Х типу Word, що задовольняє умові 0<X< діапазону. Перед зверненням до функції її необхідно ініціалізувати процедурою Randomize.

random

0.0<X< 1.0 (тип real)

Random(b-a)+a

a<X< b

Фрагмент програми заповнення одновимірного масиву х з п елементів випадковими числами в діапазоні від 0 до 99 включно виглядає так:

randomize; { ініціалізація датчика випадкових чисел }

for i:=1 to n do x[i]:=random(100);

  1. Присвоєння заданих значень. Нерідко доводиться заповнювати масив нульовими значеннями — обнуляти його. Для матриці розміром n*m:

for i:=l to n do

for j : =1 to m do а[i,j]:=0;

Виведення масиву.

Виведення значень елементів масиву також виконується в циклі for з використанням операторів write і writeln.

  1. Виведення вектора з 5 елементів:

  • у стовпець:

for i:=1 to 5 do writeln(а[i]);

  • у один рядок, через пропуск-роздільник:

for i:=1 to 5 do write(а'[i] ');

  • або із завданням формату, де під кожен елемент відводиться 4 позиції:

for i:=1 to 5 do write(а[i]:4)

  1. Виведення матриць в стандартній формі запису — по рядках і стовпцях — виконується за допомогою оператора writeln; (без параметра). Він використовується після виведення поточного рядка матриці для переходу курсора в початок наступного рядка екрану:

for i:=1 to n do begin

for j:=1 to m do write(а[i,j]:4);

writeln;

end;

Зауваження Завдання формату виведення допомагає розташувати матрицю на екрані рівними стовпцями.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]