Студопедия

КАТЕГОРИИ:

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


PROGRAM mean;




{обчислення середнього арифметичного n додатних чисел}

LABEL 999;

\/AR n,і: іnteger;

suma,number, seredne:real;

BEGIN

wrіte (‘Введіть кількість чисел ‘);

readln (n); suma:=0;

FOR i:=1 TO n DO

BEGIN

write(‘Введіть кількість чисел ‘);

ReadIn(number);

IF number < 0 THEN goto 999;

sumas:=suma+number

END;

seredne:=suma/n;

Writeln;

writeln (‘Середнє арифметичне=’, seredne);

999: writln(‘Виконання програми припиняється')

END.

2.7. Прості нестандартні типи даних

У мові програмування Паскаль, крім стандартних типів (integer, real, char, boolean), можна використовувати й ін­ші типи даних. Використання в програмі таких типів мож­ливі тільки після відповідного їх визначення в спеціально­му розділі. Типи можна поділити на прості (скалярні, неструктуровані) і складені (структуровані). Стандартні типи даних належать до простих типів. До простих не­стандартних типів даних належать перелічувальні i інтервальні типи.

Перелічувальний тип. Цей тип означається перелічень ням по порядку всіх його значень. Значення нового типу подаються iменами (ідентифікаторами), які є константами цього типу. Означення типу має вигляд

TYPE ім'я типу = (список констант-iдентифікаторів);

TYPE day = (monday, tuesday, wednesday, thursday. friday, saturday» sunday);

month = (january, february, march, april, may, june, july, august, september, oktober, november, december);

znak = (plus, minus, multiply, divide);

color = (red, orange, yellow, green, lightblue, blue, violet);

{тип день = (понеділок, вівторок, середа, четвер, п'ятниця, су­бота, неділя);

місяць == (січень, лютий, березень, квітень, травень, червень, липень, серпень, вересень, жовтень, листопад, грудень);

znak = (плюс, мінус, множити, ділити);

колір = (червоний, оранжевий, жовтий, зелений, голубий, синій, фіолетовий);}

Тут означаються чотири перелічувальні типи, імена яких day, month, znak, color. Тепер ці iмена такі ж iдентифікатори типу, як inte­ger або real.

Для будь-якого перелічувального типу t, який означа­ється записом

TYPE t = (v1, v2 , ..., vn ),

де tім'я типу; v1, v2 , ..., vn— константи-ідентифікатори, повинні задовольнятися вимоги:

1) vi¹ vj, якщо i¹j;

2) vi<vj, якщо і < j(впорядкованість), тобто впоряд­кованість у перелічувальних типах визначається порядком, в якому значення перелічені в означенні типу;

3) значення типу t можуть бути лише v1, v2 , ..., vn.

До перелічувальних типів можна застосовувати опера­ції відношення =, <>,<,< =, >, > =, якщо обидва компоненти відношення одного типу. Отже, для наведено­го прикладу можна записати вирази

monday < thursday

minus > plus які мають значення true.

Для аргументів перелічувального типу можна застосо­вувати стандартні функції знаходження попереднього і наступного елементів:

pred (vi)= ,i=2,3, .... n;

succ (vi) = vi+1 , i=2,3, .... n-1.

Функція ord для перелічувального аргументу видає чис­ло, яке є порядковим номером заданого значення в списку означення. При цьому порядковий номер першого значення списку дорівнює нулю, тобто

ord (v1) =0; ord (vi) = ord (pred (vi)) + 1, і= 2, 3, ..., n.

Таким чином, ord (red) = ord (January) = 0;

ord (green) = 3; ord (divide) = 3.

Зауважимо, що стандартний булевий тип автоматично означається як

TYPE boolean = (false, true);

До перелічувального типу можна віднести також стан­дартний тип char. Його, як і булевий тип, не треба оз­начати програмісту, оскільки він означається автома­тично.

Типи, що означаються програмістом, використовують­ся так, як і стандартні. Наприклад,

VAR winterm, summerm : month;


Поделиться:

Дата добавления: 2015-08-05; просмотров: 65; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.01 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты