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.


 

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

6900. Разработка форм и интерфейса базы данных используя средства Microsoft Access 336 KB
  Разработка форм Цель работы: Используя средства Microsoft Access, приобрести навыки разработки интерфейса базы данных Основы создания формы. Создадим форму с помощью автоформы - Клиенты. Для этого будем использовать таблиц...
6901. Лінійна алгебра. Конспект лекцій та тестові завдання 855 KB
  Вища математика належить до циклу фундаментальнихдисциплін і забезпечує вивчення загальнонаукових, загально інженерних та спеціальних дисциплін.У технічному університеті курс вищої математики є одним із основних, визначальних, як для всь...
6902. Правознавство. Основи державного (конституційного) права України 1.37 MB
  Лекція 1. Основи державного (конституційного) права України ПЛАН Загальна характеристика держави. Державний суверенітет. Поняття і риси правової держави. Форми держави. Загальна характеристика права. Поняття норм права. Джере...
6903. Економіка та організація виробництва. Опорні конспекти 618 KB
  Підприємство, як субєкт господарювання. Визначення, мета і напрямки діяльності підприємства. Вплив зовнішнього оточення на діяльність підприємств. Класифікація підприємств. Порядок створення і ліквідація підприємств. В...
6904. Суеверие голубя 59.5 KB
  Суевериеголубя Сказать, что подкрепление это стимул на ответные реакции, значит сказать ничего более чем то, что он следует за ответной реакцией. Он может следовать из-за некоторых механических связей или из-за посредничества другого механизма...
6905. Нужны ли теории научения 652.5 KB
  Нужны ли теории научения В своей работе 1950 г. Скиннер задался вопросом - Нужны ли теории научения? и предположил, что нет. Он определил понятие слова теория. Оно означало "любое объяснение наблюдаемого факта, апеллирующее к событиям, происх...
6906. Электромагнитное поле. Полная система уравнений электромагнитного поля в дифференциальной и интегральной форме. Волновое уравнение 28.22 KB
  Электромагнитное поле. Полная система уравнений электромагнитного поля в дифференциальной и интегральной форме. Волновое уравнение. Электромагнитное поле - это совокупность электрических и магнитных полей, которые могут переходить друг в друга...
6907. Визначення питомого заряду електрону методом магнетрону 276.5 KB
  Визначення питомого заряду електрону методом магнетрону Мета роботи - вивчення одного з методів визначення питомого заряду електрону, який базується на рухові заряджених частинок під дією однорідного магнітного і радіального електричного полів,...
6908. Дослідження електричних полів 279.5 KB
  Дослідження електричних полів Мета роботи: користуючись методом електролітичної ванни визначити еквіпотенціальні поверхні та силові лінії електричного поля між електродами різної конфігурації, розрахувати траєкторію руху пучка електронів. Зміст робо...