русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Ограниченный тип (диапазон, интервал)


Дата добавления: 2014-09-02; просмотров: 823; Нарушение авторских прав


Множество значений простых типов упорядоченно и конечно (разумеется, кроме вещественного типа). Если программисту необходимо сузить диапазон значений, принимаемых некоторым объектом скалярного типа, то он осуществляет это в явном виде наложением ограничения на стандартный или определенный ранее перечислимый тип, который в этом случае называется базовым. Если какая-то переменная принимает не все значения своего типа, а только значения, содержащиеся в некотором ограниченном диапазоне, то ее можно рассматривать как переменную ограниченного типа (иногда говорят интервальный тип или тип диапазон).

Пример.Type Day = (Mo , Tu , We , Th , Fr , Sa , Su);

Mom = 10...25

Sss = ` C`...`X`;

Wd = SA...SU;

Для ограниченного типа Mom базовым является целый тип, для SSS - символьный, для Wd - определённый ранее перечислимый тип Day.

Попытка присвоить переменной ограниченного типа значение \, не входящее в заданный диапазон, приведёт к возникновению ошибки при счёте.

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

Пусть, например, в разделе описания указан перечислимый тип Год:

Type Year = ( Jan, Febr, Mart, Apr, May, Jun, Jul, Aug, Sent, Okt, Nov, Dec);

А нам предстоит решать задачи, связанные только с весенним временем года. Тогда можно ввести ограниченный тип: Spring Sum = Маy .. Aug; который является частью перечислимого типа.

При определении ограниченного типа указываются начальные и конечные значения диапазона, разделённые двумя точками.

Общий вид описания ограниченного типа:

Type имя типа = константа 1 .. константа N;

Общий вид описания переменных ограниченного типа:

Var имя переменной: имя типа;

Пример.

Type T = 1... 100;

Var A, B: T;

Переменные А и В могут принимать любые значения из диапазона 1..100.



При использовании ограниченного типа должно выполняться следующее

Правила:

1) обе граничные константы должны быть одинакового типа;

2) начальное значение не должно быть больше конечного;

3) тип констант может быть любой простой, кроме действительного (целый, символьный, логический, перечислимый).

Пример. К= 15 ... 70; - целый

Lit = ‘A’ ... ‘ z’ ; - символьный

Summer = Jun ... Aug ; - переменный

Если константы имеют стандартный типа можно делать непосредственно в разделе переменных.

Пример. Var S1, S2: 1..100;

Sim : ‘A’..’R’;

Тип констант называется базовым. Над переменными ограниченного типа разрешается выполнять все операции, которые допустимы для данных его базового типа.

Пример. Если переменная К принимает только целые значения 4,5,6,7,8,9, то лучше дать описание: Var K: 4..9; чем Var K: Integer; И вот почему. В случае выхода ‘K’ за диапазон 4..9 в первом варианте (ограниченный тип) будет выдано диагностическое сообщение об ошибке. Во втором варианте (целый тип) может быть выдан неверный результат.

Целый тип описания переменных рекомендуется использовать только тогда , когда диапазон значения переменной либо заранее неизвестен, либо занимает весь допустимый в языке Паскаль диапазон для целого типа.

Пример. Вычислить W = A ln |x| при |x| <1

W = при |x| >=1

Program usl;

Var A,X,W : Real;

Label : Error;

Begin

Writeln (‘ввести данные’);

Write (‘A=’);

Readln (A);

Write (‘X=’);

Readln (X);

If Abs (X) <1 Then Writeln (‘W=’, A*ln (Abs(X)))

Else If Sqr (X) >A Then begin Writeln (‘ошибка’);

goto Error

End.

Else Writeln (‘W=’, Sqrt (A-Sqrt(X)));

Error: End.

Пример. Составить программу для вывода возможных значений координат X и Y в зависимости от № квадранта.

Program Kvadrant;

Var Number : Integer;

Begin

Writeln (‘N=’);

Readln (Number);

Case Number of

1: Writeln (‘X и Y >0/’)

2: Writeln (‘X < 0/ , Y > 0/’);

3: Writeln (‘X и Y <0/’);

4: Writeln (‘X >0/ , Y <0/’);

End;

End.

Пример. Вывод первых дести натуральных чисел в возрастающем порядке.


Program Num 10;

Const KN = 10;

Var N:Integer;

Begin

For N:=1 To KN Do

Write (N:6);

Writeln;

End.


Program Num 10;

Const KN = 10;

Var N:Integer;

Begin

N:=0;

Rеpeat

N:=N+1;

Write (N);

Until N>=KN;

End.


Пример. Определить к, при котором функция становится меньше или равна а.

Program Inter;

Var X,A,P:Real;

K: Integer;

Begin

Writeln (‘ввести X,A’);

Read (X,A);

K:=1;

P:=X;

Write P/K >A Do

Begin

K: = K+1;

P: = P*X;

End;

Writeln (‘K = ‘, K);

End.

Program Inter;

Var X,A,P : Real;

K: Integer;

Begin

Writeln (‘Ввести X,A’);

Readln (X,A);

K: = 0;

P: = 1;

Repeat

K : = K+1;

P : = P*X;

Until P/K <=A;

Write(‘K = ‘,K);

End.

Пример. Вычислить сумму бесконечного ряда с точностью до члена ряда, меньшего Е: Z = 1+

Рекуррентная формула Yn = Y n-1 * X / n

Program Ryad;

Var X, Eps,Y,Z:Real;

N:Integer;

Begin

Writeln (‘Ввести X, Eps’);

Readln (‘X, Eps’);

N: = 0’

Y: = 1;

Z: = 1;

While Y > = Eps Do Begin

N: = N+1;

Y: = Y*X/N;

Z: = Z+Y;

End;

Write (‘Z = ‘Z);

End.

 



<== предыдущая лекция | следующая лекция ==>
Перечисляемый тип | ПРОЦЕДУРЫ И ФУНКЦИИ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.105 сек.