Основни принципи на работа със статични структури от данни, реализирани на езика Delphi

Програмите в крайна сметка са конкретни формулировки на абстрактни алгоритми, базирани на конкретни представяния и структури от данни.

Данните са предимно абстракции на реални обекти и за предпочитане са формулирани като абстрактни структури.

Основните структури от данни, които са сравнително лесни за внедряване на съвременните компютри, включват запис, масив и набор. Фундаменталните структурни променливи могат само да променят своята стойност, като запазват формата или набора от стойности, които могат да приемат. Така размерът на заетата от тях памет остава постоянен.

Целта на лекцията е да се изучат основните принципи на работа със статични структури от данни, реализирани на езика Delphi.

Данните, използвани при програмирането, се разделят на две големи групи:

  • данни със статична структура са данни, чиято относителна позиция и взаимовръзки на елементи остават постоянни по време на изпълнението на програмата;
  • данните с динамична структура са данни, чиято вътрешна структура се формира според някакъв закон, но броят на елементите, тяхното взаимно разположение и връзки могат динамично да се променят по време на изпълнение на програмата според закона за формиране.

Данните на статичната структура могат да бъдат прости (скаларни) и съставни (агрегирани), които се образуват от прости структури по някакъв закон (фиг. 1.1).

работа

Ориз. 1.1. Класификация на данни за статична структура

Простите данни в езиците за програмиране съответстват на стандартни (предварително дефинирани) типове данни, които като правило включват аритметика (естествено, цяло число, реално, сложно),символни, булеви и указателни (референтни) типове. Delphi включва:

  • естествените типове Byt e, Word, LongWord и Cardinal;
  • цели числа Integer, Shortint, Smallint, Longint, Int64;
  • реални типове Real, Real48, Single, Double, Extended, Comp, Currency;
  • булеви типове Boolean, ByteBool, WordBool, LongBool;
  • символен тип Char ( AnsiChar , WideChar );
  • тип указател Указател .

В допълнение, Delphi позволява на програмиста да опише собствените си скаларни типове, като изброи всички техни разрешени стойности или като посочи поддиапазон от стойности от друг скаларен тип. Такива функции се поддържат съответно като изброени и диапазонни типове.

структури

Ориз. 1.2. Класификация на данни за динамична структура

Данните на композитната структура са хомогенни, т.е. такива, в които всички елементи от един и същи тип, и разнородни (комбинирани), които комбинират елементи от различни видове в едно цяло. Хомогенните структурни данни включват масиви, низове и набори, докато хетерогенните (комбинирани) структурни данни включват прости записи, вариантни записи, обединения и класове (обекти).

Масивите могат да бъдат класифицирани по два различни начина:

  • по броя на измеренията масивите се разделят на едномерни масиви (вектори), двумерни (матрици) и многомерни (три-, четириизмерни и др.);
  • Според вида на елементите масивите се разделят на масиви от прости данни, масиви от хомогенни структури от данни, масиви от разнородни структури от данни и масиви от файлове.

Простите и вариантните нотации се поддържат от отделни синтактични конструкции на езика.

Класовете (обектите) са подобни по структура на записите, но за разликате могат да включват полета не само от прости и съставни типове, но и от процедурни типове, което значително увеличава силата им като структури от данни.

Данните за динамична структура включват файлове, несвързани и свързани динамични данни. Класификацията на данните за динамична структура е показана на фиг. 1.2.

2. ДАННИ ЗА СТАТИЧНАТА СТРУКТУРА

2.1. Масиви и работа с тях

Масивът е структура от данни, която е хомогенен, фиксиран по размер и конфигурация набор от елементи на проста или съставна структура, подредени по числа. Масивите са полезни за съхраняване на информация от хомогенен характер, като например таблици и списъци.

Масивът се определя от име (идентификатор) и броя на измеренията (координати), необходими за намиране на желания елемент от масива. Името на масива е едно и също за всички негови елементи. Тъй като конфигурацията на елементите на масива е фиксирана, отделен елемент може да бъде достъпен с помощта на един или повече индекси, в зависимост от броя на измеренията на масива. Индексите могат да бъдат константи и променливи от порядъчен тип (например целочислен тип int e ger).

Валидни типове индекси са всички поредни типове, чийто диапазон не надвишава 2 GB.

Масивът може да има произволен брой измерения и за всяко измерение на масива се посочва броят на елементите.

Елементите на масива могат да бъдат както прости променливи от всякакъв тип, така и променливи от съставни типове (масиви, низове, записи и др.).

Използваните в програмата масиви трябва да бъдат декларирани в раздела за описание на програмата (модула).

Име: масив [субиндекс..горен индекс] от тип;

име на масив;

lower_index и upper_index целочислени константи, които дефинират обхвата на индекса на елемента на масива и имплицитно броя на елементите (размера) на масива;

въведете типа на елементите на масива.

Схематично едно-, дву- и триизмерните масиви могат да бъдат представени по следния начин: