Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Масиви





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

Індексом називається порядковий номер елемента масиву.

Як звернутися до елементів цього масиву? Для цього необхідно вказати індекс.

Наприклад,

T[2], T[5], T[i], T[i + j].

Масиви відносяться до структур з так званим прямим або довільним доступом: щоб визначити окремий елемент масиву, достатньо вказати його індекс.

Тепер зрозуміло, як у циклі перебирати різні значення елементів масиву: для цього достатньо змінювати їх індекси. А закон зміни індексів дуже простий - кожне наступне значення більше попереднього на одиницю. Дуже зручна закономірність!

Оскільки у мові Pascal усе з чим ми працюємо потрібно оголошувати, то масиви також потрібно оголосити. Це можна зробити кількома способами:

 

у полі const

const <ім'я змінної>=array[1.. <клькість елементів>] of <тип> = (1,2,3,... <значення>);

Зверніть увагу на те, що в розділі констант стоїть символ «=», а не символ «:=».Використовуючи в програмі константи, необхідно врахувати таку особливість: їх значення не можна змінювати під час виконання програми. Тобто ідентифікаторам, що визначають константи, не можна присвоювати ніяких нових значень. їх можна використовувати лише для обчислення інших значень.

 

у полі type

type <ім'я типу>=array[1.. <кількість елементів>] of <тип>;

var <ім'я змінної>: <ім'я типу>;

 

у полі var

var <ім'я змінної>: array[1.. <кількість елементів>] of <тип>;

 

Приклад:

type Mas = array[1.. 5] of integer;

var a: Mas;

 

Масиви бувають одновимірними (у вигляді послідовності чисел), двовимірними (у вигляді таблиць чисел розміром m x n) і багатовимірними (3-,4-вимірні і т.д. 3-вімірні - це об'ємний простір з комірками, а 4-вимірні і більше - це фантастично-абстрактні поняття).

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

Масив називається двовимірним, якщо для задання місцеположення елемента в масиві необхідно вказати значення двох індексів.

Запам'ятайте, що у двовимірних масивах перший індекс завжди вказує на номер рядка, а другий - на номер стовпчика в цьому рядку!

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

Загальний вигляд опису масивів:

<ім'я змінної>: array [<межі зміни індексів>] of <тип>.

 

Наприклад,

varA: array[1..10] of real;B: array[1..100,1..100] of byte;C: array[1..100] of array[1..100] of byte.

 

Зауваження.

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

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

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

Якщо вас не цікавлять конкретні дані, які будуть надані елементам масиву під час виконання програми, то скористайтеся можливостями стандартної процедури Pascal Randomize та функції Random (n), що генерують випадкові числа. Параметр n (типу Word) у процедурі Random визначає праву межу інтервалу, в якому будуть визначатися випадкові числа (ліва межа завжди 0). Функція Random може задаватися і без параметра. У цьому разі вона генеруватиме те дійсне число в діапазоні [0; 1). А для того щоб випадкові числа в програмі з кожним її наступним запуском не повторювалися (хоча вони і випадкові, але послідовність цих чисел постійна), то скористайтеся процедурою Randomize, яка встановить початок відрахунку випадкових чисел залежно від поточного стану системного годинника вашого комп'ютера.

 

Фрагмент програми, що використовує випадкові числа, може виглядати так:

randomize;

for і:= 1 to n doa[i]:= random (100);

 

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

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

for i:=1 to n do readln(a[i]);

тут і - параметр, n - кількість елементів у масиві, а - одновимірний масив

 

Друк масиву на екран

for i:=1 to n do writeln(a[i]);

Пошук мінімального/максимального елеманту

Припускаємо, що це перший і переглядаємо масив. Якщо зустрінемо більший (чи менший) за нього елемент, то цей елемент стає максимальним (мінімальним). Розглянемо пошук максимального:

max:=a[1];

for i:=1 to n do

if a[i]>max then max:=a[i];

Сортування за зростанням/спаданням

Переглянемо масив n разів. Кожного разу розглядаємо всі елементи від 1 до n-1. Якщо елемент більший (сортування за зростанням) за нступний за ним, то міняємо їх місцями.

fo j:=1 to n do {переглядаємо масив n разів}

for i:=1 to n-1 do {переглядаємо кожного разу елементи від 1 до n-1 (бо можемо поміняти місцями a[n-1] і a[n] - а у програмі буде a[i] та a[i+1] при i=n-1)}

if a[i]>a[i+1] then

begin

b:=a[i]; {зберігаємо значення a[i] в іншу змінну, тип якої такий як і елементів масиву}

a[i]:=a[i+1]; {власне міняємо місцями елементи - записуємо менше значення на місце більшого}

a[i+1]:=b; {"витягуємо" з пам'яті значення a[i], більше, і записуємо на нове місце}

end;

Такий метод сортування називається бульбашковим (або "Метод бульбашки").

 

Двовимірні масиви (n x m)

 

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

for i:=1 to n do {перебір n рядків}

for j:=1 to m do {перебір m стовпців}

readln(a[i,j]); {власне ввід кожного елементу}

 

Вивід масиву на екран

Щоб вивести двовимірний масив на екран у вигляді таблиці роблять наступне:

for:=1 to n do {перебір рядків}

begin

for j:=1 to m do write(a[i,j],' '); {вивід кожного рядка}

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

end;

 


Date: 2015-09-05; view: 411; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию