36577

Концепция типа данных. простой тип данных

Контрольная

Информатика, кибернетика и программирование

К любому порядковому типу применимы следующие функции: OrdX порядковый номер значения выражения Х этого типа; PredX предыдущее значение выражения Х этого типа; SuccX следующее значение выражения Х этого типа; HighX наибольшее значение диапазона аргумента Х; LowX наименьшее значение диапазона аргумента Х; Функция Ord определена для любого значения порядкового типа причём нумерация значений начинается от номера 0 номера наименьшего значения типа. Функции Pred и Succ не определены соответственно для левой и правой границы...

Русский

2013-09-22

38 KB

3 чел.

Концепция типа данных. простой тип данных.

Согласно приведенной классификации, простые типы включают порядковые и вещественные типы. Рассмотрим вначале порядковые типы.

Порядковый тип - такой тип, который содержит упорядоченный ряд значений так, что каждому значению можно однозначно сопоставить некоторый порядковый номер (отсюда и название - порядковый тип). Другими словами, на порядковом типе задан линейный порядок значений (с отношениями <, >, <=, >=, =, <> между значениями). Каждый порядковый тип эквивалентен некоторому отрезку натурального ряда.

Вещественные типы не обладают указанными свойствами порядковых типов, т.к. множество их значений не сопоставимо однозначно с целыми числами-номерами (в виду приближенного представления вещественных чисел!).

К любому порядковому типу применимы следующие функции:

Ord(X) - порядковый номер значения выражения Х этого типа;

Pred(X) - предыдущее значение выражения Х этого типа;

Succ(X) - следующее значение выражения Х этого типа;

High(X) - наибольшее значение диапазона аргумента Х;

Low(X) - наименьшее значение диапазона аргумента Х;

Функция Ord определена для любого значения порядкового типа, причём нумерация значений начинается от номера 0 (номера наименьшего значения типа). Функции Pred и Succ не определены соответственно для левой и правой границы отрезка номеров значений типа.

Рассмотрим теперь разновидности порядковых типов согласно классификации.

Целые типы. Помимо уже знакомого нам типа integer, в Турбо Паскале имеется ещё несколько типов для представления целых чисел. Два из них представляют отрезки натуральных чисел:

byte - тип с диапазоном значений от 0 до 255 (представимых одним байтом);

word -тип с диапазоном значений от 0 до 65535 (представимых двумя байтами).

Два целых типа представляют "короткие целые" и "длинные целые":

shortint - тип с диапазоном значений -128 .. +127 (длиной 1 байт)

longint - тип с диапазоном значений -2147483648 ..+2147483647 (длиной четыре байта).

Для всех целых типов применимы стандартные процедуры и функции:

Для целых типов ord(x) = х, pred(x) = x - 1 , succ(x) = x + 1.

Символьный тип. Значениями этого типа являются, как указывалось ранее, все символы кодовой таблицы ASCII (Американский стандартный код внутримашинного обмена, используемый в системе MS DOS), которые считаются, упорядочены своими кодами. Для символьного типа применимы бинарные отношения (<,>, <=,>=,=, <>). Значением функции ord является код символа (в диапазоне 0..255). Стандартными функциями, применимыми к типу char, являются:

chr(b) - преобразование значения выражения b типа byte в символ ASCII.

upcase(c) - преобразование строчных латинских букв в прописные (для символов, не являющихся латинскими буквами, результатом является сам символ с).

Логический тип. Значениями логического типа (Boolean) являются константы true и false, которые считаются упорядоченными так, что ord(false)=0, ord(true) =1.

Соответственно, pred(true)= false, succ(false) =true, false<true, true>false.

Логические операции and, or, xor, not применимы также к целым числам, как битовые операции (0 - эквивалентен false, а 1 - эквивалентен true). К битовым операциям также относятся операции shl и shr (J shl K - сдвиг J на K бит влево, и J shr K - сдвиг J на K бит вправо).

Перечислимый тип. Это тип, задаваемый перечислением своих значений. В Паскале приняты соответствующие формы описания перечислимых типов, наиболее общим, из которых является следующий:

type < имя типа > = ( < список значений > );

где: < список значений > - перечисляемые через запятую значения, располагаемых в порядке от минимального до максимального (т.е. в виде диапазона значений). Каждое значение обозначается уникальным именем (идентификатором значения). Пример определения перечислимого типа:

type color = (black, red, green, blue, white );

Максимальная мощность перечислимого типа - 65536 значений.

Для любого порядкового типа можно определить тип-диапазон как подмножество значений этого порядкового типа (базового типа). Тип диапазон определяется своими границами внутри базового типа в форме : < мин.значение>..< макс.значение >

Например, type digit = 0..9; {тип - десятичная цифра}

date = 1..31; { тип - дата }

lat_lt = 'A' ..'Z'; { тип - латинская буква }

color3 = red .. blue; {тип - три цвета из набора color}

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

Вещественные типы. Помимо типа real, с которым уже встречались ранее, в Турбо Паскале имеется ещё несколько типов данных для представления вещественных чисел. Для всех этих типов характерно то, что значения чисел представляются приближенно в отличие от представлений целых чисел. Точность представления зависит от вещественного типа, для каждого из которых имеется свой формат представления числа.

Кроме типа real имеется ещё 3 вещественных типа:

single - диапазон десятичного порядка от -45 до +38 (длина числа 4 байта);

double - диапазон десятичного порядка от -324 до +308 (длина числа 8 байтов);

extended -диапазон десятичного порядка от -4951 до +4932 (длина 10 байтов);

Фактически эти типы перекрывают все потребности в точности представления вещественных чисел.

Дополнительно к указанным типам в Турбо Паскале имеется также специальный тип comp, который рассматривается как вещественное число. Фактически число типа comp - целое число со знаком, занимающее 8 байтов и представляющее 19-20 значащих десятичных цифр. Этот тип может использоваться для представления денежных сумм, обеспечивая точность до минимальных денежных единиц.

Для операций с вещественными числами предусмотрены стандартные функции, в числе которых: тригонометрические функции (sin, cos, arctan), логарифм и экспонента (ln, exp), выделение целой и дробной части (int, frag), квадратный корень (sqrt), функции abs, sqr и random, аналогичные функциям, используемым для целых типов.

Задача 4.2.6(15)

program Project15;

type mas=array[1..4,1..4] of Integer;

var a,b:mas;

i,j,k,l,s:Integer;

procedure p(x:mas; e:Integer; var n:integer);

var i,min:Integer;

begin

min:=x[1,1];

n:=1;

for i:=2 to e do

if x[i,i]<min then

begin

min:=x[i,i];

n:=i;

end;

end;

begin

for i:=1 to 3 do

for j:=1 to 3 do

read(a[i,j]);

Writeln;

for i:=1 to 4 do

for j:=1 to 4 do

read(b[i,j]);

p(a,3,k);

p(b,4,l);

s:=a[k,k];

a[k,k]:=b[l,l];

b[l,l]:=s;

Writeln;

for i:=1 to 3 do begin

for j:=1 to 3 do begin

write(a[i,j],' ');

end; writeln; end;

Writeln;

for i:=1 to 4 do begin

for j:=1 to 4 do begin

write(b[i,j],' ');

 end; writeln; end;

Readln;

end.


 

А также другие работы, которые могут Вас заинтересовать

66680. Жизнь и научная деятельность Натальи Ивановны Базилевич 136.45 KB
  Существует такое неофициальное, но очень почетное в профессиональных кругах звание - рыцарь науки. Его удостаиваются те, кто беззаветно служил избранному делу, посвятив свою жизнь исследованиям и добившиеся в этом деле выдающихся результатов. Бесспорно, таким рыцарем науки была Наталья Ивановна Базилевич.
66681. РАБОТА СО СПИСКАМИ ИЛИ БД 3.74 MB
  Excel может работать как с простыми и небольшими по размерам, так и с более сложными и занимающими большой объём дискового пространства базами данных (БД). В Excel БД это просто список, состоящий из одного или более столбцов.
66682. НАУКА І ТЕХНІКА ХУІІ-ХІХ СТОЛІТЬ 41.3 KB
  Розвиток матеріального виробництва стає тісно пов'язаний з досягненнями науки і використанням її результатів у практичному житті людей. На форми останніх впливали і особливості мануфактурного виробництва і наукова революція і зміни що виявлялись у самій техніці.
66683. Василий Васильевич Докучаев 123 KB
  Василий Васильевич родился 1 марта 1846 года и прожил 57 плодотворнейших лет, став родоначальником нашей науки, человеком, чье имя, пожалуй, в первую очередь приходит в голову, когда говоришь о почве и о почвоведении, ну да об этом несколько позже.
66684. Векторная графика 278.91 KB
  В зависимости от видов компьютерной графики под этим термином понимаются как и пиксели или спрайты в растровой графике так и векторные объекты такие как круг квадрат линия кривая и т. Для дальнейшего рассмотрения проблемы постройки объектов с помощью векторной графики...
66685. Времена года как тема искусства и музыки 87.63 KB
  Четыре времени года венецианского композитора Антонио Вивальди первые четыре из двенадцати скрипичных концертов его восьмого опуса одни из самых знаменитых его произведений и одни из известнейших музыкальных произведений в стиле барокко.
66686. Виды сетевых атак 206 KB
  Типичными угрозами в среде Интернета являются: Сбой в работе одной из компонент сети. Сбой изза ошибок при проектировании или ошибок оборудования или программ может привести к отказу в обслуживании или компрометации безопасности изза неправильного функционирования одной из компонент сети.
66688. Компьютерный вирус 64 KB
  Однако большинство специалистов сходятся на мысли что компьютерные вирусы как таковые впервые появились в 1986 году хотя исторически возникновение вирусов тесно связано с идеей создания самовоспроизводящихся программ. Одним из пионеров среди компьютерных вирусов считается вирус...