Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
57
Добавлен:
07.02.2016
Размер:
116.22 Кб
Скачать

Масиви у мові Pascal.

Загальний опис масиву у мові Pascal має форму:

type ім’я_типу = array [тип_індексу] of базовий_тип_елементів;

Елементами масиву можуть бути значення будь-якого типу. В якості типу індексу може виступати будь-який тип, крім real,longint та обмежених типів, побудованих на цьому типу. Це пояснюється дуже великою кількістю чисел цього діапазону. В мові Pascal для встановлення кількості елементів масиву використовується тип індексу. Кількість елементів визначається кількістю можливих значень вказаного типу. Така особливість мови Pascal дає йому додаткову гнучкість, дозволяючи «нумерувати» елементи масиву не тільки цілими числами, але і значеннями довільного дискретного типу. Базовий тип може бути будь-яким, крім файлового та процедурного.

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

type mas=array [1..20] of real;{тип mas - тип масиву з 20 дійсних чисел}

mas1= array [‘a’,’b’,’c’] of integer; {тип mas1 - тип масиву з трьох цілих чисел з індексами - символами ‘a’,’b’,’c’}

var a, x: mas; {змінні a, x типу mas }

b, c: mas1; {змінні b, c типу mas1}

s: array [(red, yellow, green)] of char; {змінна s -масив трьох символьних елементів з індексами red, yellow, green }

Двумірний масив можна описати наступним чином:

y: array [1..10] of array [1..3] of byte;

або

y: array [1..10,1..3] of byte;

Загальний розмір пам’яті, що відводиться під масив, не повинен перевищувати 64 Кбайти.

В мові Pascal є поняття упакованого масиву, елементи якого зберігаються в пам’яті максимально щільно. При цьому губиться час на доступ до даних. Для опису таких масивів використовують службове слово packed,якевказують перед словом array. Наприклад:

v: packed array [1..20] of char;

Використання одновимірних масивів.

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

Приклад 4.1. Заданий масив дійсних чисел. Знайти суму елементів масиву, середнє арифметичне та середнє геометричне елементів масиву, добуток додатних елементів масиву та кількість парних елементів.

Var a:array [1..10] of real;

I,n,k:integer;

s,p,sra,srg,p1:real;

begin

writeln('n');{введення кількості елементів масиву, з яким ми будемо працювати, n<=10}

readln(n);

for i:=1 to n do readln(a[i]); {введення масиву окремо по елементам}

for i:=1 to n do write(' ',a[i]:4:1); {виведення масиву в рядок}

writeln;

s:=0; {знаходження суми елементів масиву}

for i:=1 to n do s:=s+a[i];

writeln('s=',s:8:3);

sra:=s/n; {знаходження середнього арифметичного елементів масиву}

writeln('sra=',sra:8:3);

p1:=1; {знаходження середнього геометричного елементів масиву}

for i:=1 to n do p1:=p1*a[i];

if p1>0 then

begin

srg:=exp(1/n*ln(p1));

writeln('srg=', srg:8:3);

end

else writeln('n.r.');

p:=1; {знаходження добутку додатних елементів масиву}

for i:=1 to n do

if a[i]>0 then p:=p*a[i];

writeln('p=',p:8:3);

k:=0; {знаходження кількості парних лементів масиву}

for i:=1 to n do

if (a[i]/2=int(a[i]/2)) then k:=k+1;

writeln('k=',k);

readln;

end.

Приклад 4.2Заданий масив різних дійсних чисел. Знайти найменший та найбільший елементи масиву та їх індекси.

const a:array [1..10] of real=(6,-5,4,7,-4,-8,9,0,2,4);{Введення масиву як типізованої константи}

var

Соседние файлы в папке конспект лекцій 1 паск