Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Масиви. Доступ до елементів масиву.

 

Регулярні типи даних відносяться до структурованих типів. Регулярні типи називають ще масивами. Отже, масиви –це впорядкована сукупність однотипних величин. Кожна окрема величина називається компонентом (елементом) масиву. Тип компонента може бути будь-яким, допустими типом мови Паскаль, крім файлового типу. Тип компонентів називається базовим типом. Вся сукупність компонентів визначається однім ім'ям. Для позначення окремих компонентів використовується конструкція, що називається змінною з індексом чи з індексами.Головні характеристики сукупності значень, що утворюють масив такі: ім’я, розмірність ( кількість компонентів), тип компонентів і тип індексів Ім’я- це повна змінна типу масив, її значенням є весь масив. Загальний вигляд масиву:

 

{для одновимірних масивів}

Type

<:ім’я> = array[<тип_індекса>] of <тип_елементів>;

{для двовимірних масивів}

Type

<:ім’я>=array[<тип_індекса1>,<тип_індекса2>]of <тип_елементів>;

type

mas=array[1..10] of integer;

mas1=array[1..10,1..5] of integer;

або

var

mas: array[1..10] of integer;

mas1:array[1..10,1..5] of integer;

Індексом може бути довільний вираз. Тип індексів може бути тільки iнтервальним або перерахованим.

Приклад:

type

Robochid=(pn,vt,sr,ct,pt,sb);

Mas=array[Robochid] of Boolean;

 

Дійсний і цілий типи недопустимі. Індекси iнтервального типу, для якого базовим є цілий тип, можуть приймати від'ємні, нульове і додатні значення. В операторній частині програми один масив може бути присвоєний іншому, якщо їх типи iдентичні.

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

Окремий елемент масиву вибирають, зазначаючи ідентифікатор масиву, після якого в квадратних дужках записують індексний вираз. Індексний вираз повинен набувати значення, що є в діапазоні, визначеному типом індексу.

 

 

Наприклад:

Mas[2]=25;

Mas1[3][5]=10;

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

Iниціалiзація масивів (присвоєнння початкових значень всім компонентам масивів) здійснюється двома способами. Перший спосіб - з використанням типізованих констант, наприклад:

 

type Dim10 = Array [1.. 10] of Real;

const ram10 : Dim10 = ( 0, 2.1, 4, 5.65, 6.1, 6.7,

7.2, 8, 8.7, 9.3 );

 

При iнициалiзації двомірних масивів значення компонентів кожного з одномірних масивів, які його утворюють, записуються в дужках:

 

type Dim3x2= Array [1.. 3, 1.. 2] of Integer;

const iam3x2 : Dim3x2= ( ( 1, 2 ) ( 3, 4 ) ( 5, 6 ));

 

Другий спосіб iніціалiзації - використання різновиду процедури Fillchar:

 

Fillchar( var V; Nbytes : Word; B : Byte );

 

Ця процедура заповнює дільницю пам'яті однобайтовими значенням. Наприклад, для обнулення масиву A[1.. 10] of Real можна записати:

 

Fillchar( A, 40, 0 );

або Fillchar( A, Sizeof(A), 0) ;

Приклад: Програма множення многочленів.Нехай маємо многочлени вигляду a(x)=akxk+ak-1xk-1+..+a1x+a0,b(x)=bkxk+bk-1xk-1+..+b1x+b0,

p(x)=a(x)*b(x);

Program dobut;

Const

Max=10;

Var

A,b,p:array[0..max] of real;

j.k:integer;

begin

for k:=0 to max do

a[k]:=k;

b:=a;

for k:=0 to max do

p[k]:=0.0;

for j:=0 to max do

for k:=0 to max-j do

p[j+k]:= p[j+k]+a[j]*b[k];

for k:=0 to max do

writeln (p[k]);

readln;

end.


Читайте також:

  1. II. За зміною ступенів окиснення елементів, які входять до складу реагуючих речовин
  2. Аналіз службового призначення деталей та конструктивних елементів обладнання харчових виробництві, визначення технічних вимог і норм точності при їх виготовленні
  3. БАГАТОСТАНЦІЙНИЙ ДОСТУП І МЕТОДИ РОЗДІЛЕННЯ СИГНАЛІВ ЗЕМНИХ СТАНЦІЙ
  4. Будова атомів хімічних елементів.
  5. Будова нагрівальних елементів
  6. Валентність — це здатність атомів одного елемента сполу­чатися з певним числом атомів інших елементів під час утворення хімічних сполук.
  7. Взаємозв’язок елементів управління
  8. Виберіть 2 положення, які треба добавити у визначення елементів наукової проблеми.
  9. Вивчення структури та зв”язку структурних зрушень елементів.
  10. Вимоги до абонентського доступу
  11. Вимоги до структурних елементів пояснювальної записки
  12. Вимоги до структурних елементів роботи




Переглядів: 2128

<== попередня сторінка | наступна сторінка ==>
Діапазонний тип. | Стрічкові типи даних.

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.031 сек.