русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

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


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Шановні українці! Матеріал був перекладений з російської мови. Тому можуть бути незначні помикли...

Змінні типи даних в Паскале

Простий тип - це тип, який може представляти тільки одне значення. Крім стандартних скалярних типів ТР до простих типів відносяться також змінні типи: що перераховується і діапазон.

Інтервальний тип даних

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

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

Наприклад:

Type
n = 1..100;
Day =1..31;
Month =1..12;
Year =1900..2004;
Letter= ‘A’..’Z;
LP=Fasle..True;
Var
i, j : n;
D1, D2 : Day;
M1, M2 : Month;
G : 1900..2004;
R, S : Letter;
L :LPe;

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

Так як ці типи даних є порядковими (поряд з типами: цілий, логічний прав то до них можна застосовувати також стандартні функції SUCC, PRED і ORD.

Застосування змінних інтервального типу покращує наочність програми і підвищує її надійність оскільки в програмах здійснюється контроль виходу значень змінних за межі вказаного діапазону з допомогою директиви ${R+}.

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

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

1. Type<ім'я типу>=(<список констант>);
Var<ім'я змінної>:<ім'я типу>;
2. Var<ім'я змінної>:(< список констант >);

Наприклад:

Type
MONTH=(JAN, FEB, MAR, APR, MAY, JUN,
JUL, AUG, SEP, OCT, NOV, DEC);
COLOR=( White, Blue, Yellow , Brown, Red, Cyan, Green, Magenta, Black);
(Білий, Синій, Жовтий, Коричневий, Червоний, Голубий, Зелений, Фіолетовий, Чорний)
Var
M :MONTH;
CO :COLOR;

Значення який перераховується типу впорядковані і змінюються від 0 до 255. Для що перераховується типу застосовні тільки операції порівняння (=, <, >, <>, <=, >=) вони м. б. використані в логічних виразах..
що перераховується типу застосовуються такі стандартні функції:
SUCC(X) -возвращает наступне значення; наприклад: SUCC(AUG)=SEP;
PRED(X) - возвращает попереднє значення; (PREDAUG)=JUL;
ORD(X) - возвращает порядковий номер ; ORD(AUG)=8.

Обмеження, пов'язані з перечислимым типом:

  1. Об'єктами що перераховується типу не м. б. числа, символьні і логічні константи.
  2. У різних перерахування не д. б. однакових елементів.
  3. не Можна змінної одного типу присвоювати значення з іншого типу.
  4. не Можна безпосередньо вводити і виводити значення змінних перелічувального типу (можна використовувати оператор CASE).

Приклад 10.1. Скласти програму введення з файлу d1.txt і підрахунку розміру середньомісячної зарплати.
Файл d1.txt

1231.23 1324.34 1145.54 1376.13 1263.65 1132.54
1143.76 1231.76 1321.76 1243.87 1287.87

Текст програми

Program zpl;
Uses CRT;
Type Month=(Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
vec_z=array[Month] of real;
Var
zp :vec_z;
sz :real;
i :Month;
f :text;
Begin
clrscr;
Assign(f,"d1.txt"); Reset(f);
Writeln("Помесяная зарплата:");
For i:= Jan to Dec do
Begin
Read(f,zp[i]);Write(zp[i]:7:2," ":3);
End;
sz:=0;
For i:= Jan to Dec do sz:sz=+zp[i]/12;
Writeln;
Writeln("Підсумок:");
Writeln("Середня зарплата становить:");
Writeln("sz=",sz:8:2);
Close(f);
Readln;
End.

Результат роботи програми:

Щомісячна зарплата:
1231.23 1324.34 1145.54 1376.13 1263.65 1132.54 1287.43 1143.76
1231.76 1321.76 1243.87 1287.87
Результат:
Середня зарплата становить:
sz= 1249.16

Приклад 10.2. Скласти програму, яка за введеного значення порядкового номера виводить відповідне значення змінної.

Текст

Program pt;
Uses CRT;
Type COLOR=(Red, Green, Yellow);
Var
co :color;
n :byte;
Begin
clrscr;
Write("Уведіть n=>");
Read(n);
Case n of
0: co:=Red;
1: co:= Green ;
2: co:= Yellow;
End;
Write("Колір=>");
Case co of
Red : Writeln("Red");
Green : Writeln("Green");
Yellow : Writeln("Yellow ");
End;
Repeat Until KeyPressed;
End.

 

Результат роботи програми:

Введіть n=>1

Колір=>Green

Просмотров: 6686

Повернутися в зміст:Алгоритмічні мови





Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн