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


Полезное:

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


Категории:

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






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





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

Наведемо приклад опису даних перераховного типу:

Type month=(jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec);

Var m:month;

s:(CPM,MSXDOS_2_0,PCDOC,UNIX);

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

Наведемо приклад опису даних діапазонного типу:

Type spring=mar..may;

Var sm:spring;

a: 0..100;

В даному випадку вважають, що перераховний тип, який містить mar і may, вже описаний.

Масивовий тип є складеним або структурним типом. Масив складається з фіксованого числа компонент, кожна з яких має один і той самий тип. Компоненти масиву називаються його елементами. Елементи масиву можуть мати стандартний тип або тип, введений користувачем. Тип елементів масиву називається базовим. Елементи масиву розміщені впорядковано, кожен має свій номер, який називається індексом. Доступ до елементів масиву відбувається шляхом вказування порядкового номера (індексації). Індексом може бути будь-який вираз ординального типу. Тип індексу визначає границі зміни значень індексу.

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

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

Type <ім'я типу> = array [<тип індексу >] of <тип елементів>;

Наприклад,

Const n = 10;

Type rgb = (red, green, blue);

nat = 1..MaxInt;

ar = array [0..n] of Integer;

Var matrix: array [1.. 8,1.. 8] of Real;

color: array [ rgb ] of Byte;

a,b: ar;

ar2: array [nat] of ar;

c: array [0..n] of Integer;

Якщо базовим типом є масивовий, то отримується багатовимірний масив. У наведеному прикладі змінні ar2 і matrix є двовимірними масивами. Опис змінної matrix еквівалентний такому опису

Var matrix: array [1..8] of array [1..8] of Real;

Слід зазначити, що типи змінних а і с не еквівалентні, бо змінна а має тип аr, а змінна с не є типу аr.

Оператор присвоєння можна застосовувати до масиву як до єдиного цілого. Для цього необхідно, щоб масиви були одного й того самого типу. В результаті виконання оператора а:=b усі значення елементів масиву b будуть присвоєні відповідним елементам масиву а.

Так, для описаних вище змінних правильним є оператор аr2[3]:=а (оскільки аr2[3] є масив того самого типу, що й масив а). Оператор присвоєння с:=а неправильний, оскільки масиви а і с не еквівалентних типів.

Доступ до елементів масиву. Елементи масиву зображаються в програмі за допомогою імені елемента масиву, який складається з імені масиву та індексу в квадратних дужках. Для наведеного вище прикладу color[green] - байтова величина, matrix[4,7] - дійсна величина, аr2[10] - величина типу аr. Для багатовимірних масивів допускається така форма запису доступу до елемента:

matrix[1][2], аr2[4][0] - відповідно те саме, що й matrix[1,2], аr2[4,0].

Символьні масиви. Символьними масивами є масиви з типом індексів Integer, елементами його є символи, тобто базовий тип – Char. Одновимірні символьні масиви можна вважати змінними рядкового типу із сталою довжиною. Крім того, величині рядкового типу можна присвоїти символьний масив. В цьому випадку кількість символів у масиві і в рядку може бути різною.

Наприклад,

Type name = array [1..12] of Char;

Var s: string[12];

a: name;

.............

a:=’Turbo Pascal ’; s:= a; { правильні присвоєння }

a:=s; { масиву не можна присвоїти значення рядкового типу }

а:-='Turbo'; а:=' Turbo Pascal v. 3.0 '; {неправильно, символьні константи мають символів менше або більше, ніж масив}.

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

Наприклад,

Type rgb = (red,green,blue);

Const color: array [1..4] of string [15]= (‘ red’,' green ',' blue ');

table: array [1..4] of Real = (0,0.5,1,1.5);

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

Наприклад,

Type rectangle = array [1..4,1..2] of Integer;

Const box: rectangle = ((0,0),(0,1),(5,1),(5,0));

Задавати символьні констант-масиви можна двома способами:

Const vocal: array [1..7] of Char = ('А', 'Е', 'І', ' J', 'О', 'U', 'Y');

Const vocal: array [1..7] of Char =’АЕІJОUY’

Методичні вказівки:

а) вивчити правила організації масивів та синтаксис описання в програмі одномірних та двомірних масивів(матриць);

б) вивчити організацію вкладених циклів з урахуванням порядку перебору елементів матриці;

в) вивчити правила використання прийомів програмування в структурах із вкладеними циклами;

г) розробити алгоритм вирішення задач свого варіанту, записавши їх у вигляді блок-схем;

д) забезпечити в програмі виведення коментарів та природне завершення програми в випадках можливого зациклення та зависання програми.

Контрольні запитання:

1. Задавання одномірного масиву.

2. Форми задавання багатомірного масиву.

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

4. Тип індексу масиву.

5. Тип елементів масиву.

6. Перераховний та діапазонний типи даних.

 

 

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



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