Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Характеристика типа данных real языка Pascal.

Поиск

Вещественный тип

Тип Диапазон Целая часть числа Формат
real 2.9*10^-39..1.7*10^38 11..12 6 байт

 

Операции:

· Сравнения (<,>,=,>=,<=,<>);

· Арифметические(+,-,*,/).

 

Процедуры и функции:

· Все математические;

· Все тригонометрические;

· Прочие:

o Trunc(x) – отсечение дробной части;

o Round(x) – округление до ближайшего целого числа;

Характеристика типов данных char, boolean языка Pascal.

 

Логический тип (Boolean) True/False

Формат – 1 байт

Операции:

 

· Логические (or, and, not);

· Сравнения (<,>,=,>=,<=,<>).

 

Процедуры и функции:

 

· False < True;

· Ord(False) = 0;

· Ord(True) = 1;

· Succ(False) = True;

· Pred(True) = False.

 

Символьный тип (char)

Кодировка: расположение символов по кодам их представляемых.

Условия:

· Каждый символ имеет свой числовой эквивалент;

· Коды символов, изображающие арабские цифры идут строго последовательно, и упорядочены по возрастанию;

· Любая кодировка должна содержать символ пробела.

ACSII – 256 символов,2 байта

Unicode – 1 байт

 

Операции:

· Сравнения (<,>,=,>=,<=,<>);

 

Процедуры и функции:

· Ord(A)=152

· Chr(152)=A

Характеристика типов данных перечисление, отрезок, множество языка Pascal.

 

Отрезки типа (ЗАПРЕЩЕНО! Использовать для Real)

Type имя = min..max

pul=10..50;

color=red..black;

 

type matrix = array[1..m,1..n] of real;

 

Перечислимые типы

имя знач.1

имя знач.2

Type имя =.....

имя знач.N-1

имя знач.N

var x:имя;

 

Операции:

· Сравнения (<,>,=,>=,<=,<>);

 

Процедуры и функции:

· Pred;

· Succ;

· Ord;

 

I/O: НЕТ!

Множественные типы

Type имя = set of базовый тип

M1 = set of color;

Var x:M1;

Присваивания:

x:=[red,black,green];

x:=[white];

x:=[].

Операции:

· Сложение;

· Умножение;

· Вычитание;

· In.

Процедуры и функции: НЕТ!

I/O: НЕТ!

Характеристика типов данных «массив» и «запись» языка Pascal.

Массив

Type имя = array [T1] of T2

 

T1 – тип индекса (кроме вещ.)

T2 – тип элементов (кроме file)

 

Все действия только по элементам.

Операции: НЕТ!

Процедуры и функций: НЕТ!

I/O: НЕТ!

Обращение к элементам: имя[n].

Запись

Type имя = record {как begin}

имя поля1: тип1;

имя поля2: тип2;

End;

 

Пример:

type day=1..31;

month=(янв,фев,мар,..,дек);

data=record

 

d:day;

m:month;

y:integer;

end;

 

var

x:data;

 

begin

x.d:=15;

x.m:=май;

x.y:=2007;

end.

 

Все действия только по составляющим полям.

Процедуры и функций: НЕТ!

I/O: по полям!

Характеристика типа данных «файл» языка Pascal.

 

1. Текстовые (Text);

2. Типизированные;

3. Нетипизированные.

 

Текстовые (Text)

Константы: input, output – зарезервированные переменные для ввода/вывода;

Процедуры и функции:

· Assign(f, ‘путь’) – ассоциация файловой переменной с файлом;

· Reset(f) – открытие файла на чтение;

· Rewrite(f) – открытие файла на запись;

· Append(f) – открытие файла на дозапись;

· Close(f) – закрытие файла.

 

Ввод/вывод:

· Read(f, значение) – если файл открыт для чтения;

· Readln(f, значение) – если файл открыт для чтения;

· Write(f, значение) – если файл открыт для записи или дозаписи;

· Writeln(f, значение) – если файл открыт для записи или дозаписи;

· EoF(f) – проверка, достигнут ли конец строки в файле (результат – boolean).

 

Типизированные (File of тип)

Константы: input, output – зарезервированные переменные для ввода/вывода

Процедуры и функции:

· Assign(f, ‘путь’) – ассоциация файловой переменной с файлом;

· Reset(f) – открытие файла на чтение;

· Rewrite(f) – открытие файла на запись;

· Close(f) – закрытие файла;

· EoF(f) – проверка, достигнут ли конец файла (результат – boolean);

· Seek(f, физический номер) – смещение на позицию в файле;

· FileSize(f) – получает размер файла;

· FilePos(f) – получает текущую позицию в файле (физический номер «предыдущего» элемента);

· Truncate(f) – удаляет все элементы типизированного файла с текущей позиции файлового указателя до конца файла;

· Rename(f, NewName) - позволяет переименовать физический файл на диске. Переименование возможно после закрытия файла;

· Erase (f) - уничтожает физический файл на диске.

Ввод/вывод:

· Read(f, значение) – если файл открыт для чтения;

· Write(f, значение) – если файл открыт для записи.

Нетипизированные файлы (File)

Процедуры и функции:

· Assign(f, ‘путь’) – ассоциация файловой переменной с файлом;

· Reset(f) – открытие файла на чтение;

· Rewrite(f) – открытие файла на запись;

· Close(f) – закрытие файла;

· EoF(f) – проверка, достигнут ли конец файла (результат – boolean);

· Rename(f, NewName) - позволяет переименовать физический файл на диске. Переименование возможно после закрытия файла.

· Erase (f) - уничтожает физический файл на диске.

Ввод/вывод:

· Read(f, значение) – если файл открыт для чтения;

· Write(f, значение) – если файл открыт для записи.

Характеристика типа данных «ссылка» языка Pascal.

Type

mas = array[1..20] of integer; {базовый тип}

pm = ^mas; {тип-указатель на массив}

pin = ^integer; {тип-указатель на целое число}

Базовым типом для ссылочного типа может быть любой тип, в том числе и ещё необъявленный, что является исключением для Turbo Pascal. То есть ссылочный тип может быть объявлен раньше, чем объявлен базовый тип.

Например:

Type

pm = ^mas;

mas = array[1..20] of integer;

Имея в программе определения ссылочного типа, можно по общим правилам описать переменные этого типа (указатели). Ссылочные типы в описаниях можно задавать как посредством идентификаторов, так и явно, например:

Var

p1, p2: pin;

mm: ^mas;

После объявления переменной ссылочного типа (указателя), значение её не определено. Значением ссылочной переменной может быть адрес переменной базового типа. Для того чтобы определить значение ссылочной переменной, необходимо занести в неё (присвоить) адрес переменной базового типа.

Операция взятия указателя:

Если в программе объявлена некоторая переменная, например:

Var

i: integer;

то при обращении к этой переменной по её имени мы получим содержимое этой переменной. Если же, при обращении к этой переменной, перед её именем (идентификатором) поставить специальный символ '@', то мы получим не значение данной переменной, а её адрес.

Операция взятия указателя допустима для любых переменных, в том числе для элементов массивов, полей записи и т.д. Например, если есть описание:

var

A: array[1..10] of integer;

то обращение @A[i] имеет смысл указателя на i-ое целое в массиве A и также может участвовать в присваивании:

p1:= @A[i];

Характеристика скалярных типов данных языка С.

 

Указатели;

Арифметические (основные):

· Целые:

· Символьный, char, 1байт, -128..+127;

· Целый, int, зависит от реализации, 2 байт, -32768..32767;

· Короткий целый, short, 2байта, -32768..32767;

· Длинный целый, long, 4байта, -2млрд..2млрд;

· Беззнаковый символьный, unsigned char, 1 байта, 0..255;

· Беззнаковый целый, unsigned int, 2 байта, 0..65535;

· Беззнаковый длинный, unsigned long, 4 байта, 0..4млрд;

· Беззнаковый короткий, unsigned short, 2 байта, 0..65535;

· Плавающие;

Характеристика составных типов данных языка С.

Составные типы:

1. Массив;

2. Структура;

3. Смесь.

Массив

Массивы - это группа элементов одинакового типа (double, float, int и т.п.). Из объявления массива компилятор должен получить информацию о типе элементов массива и их количестве.

В языке СИ первый элемент массива имеет индекс равный 0.

Например:

int a[2][3]; - матрица 2х3

double b[10]; - вектор из 10 элементов имеющих тип double

int w [3][3] = { { 2, 3, 4 },

{ 3, 4, 8 },

{ 1, 0, 9 } };

В последнем примере объявлен массив w[3][3]. Списки, выделенные в фигурные скобки, соответствуют строкам массива, в случае отсутствия скобок инициализация будет выполнена неправильно.

Структура

Структуры - это составной объект, в который входят элементы любых типов, за исключением функций.

Тип структуры определяется записью вида:

struct {список определений }

В структуре обязательно должен быть указан хотя бы один компонент.

Например:

struct { double x,y; } s1, s2, sm[9];

struct {

int year;

char moth, day;

} date1, date2;

Объединения (смеси)

Объединение подобно структуре, однако в каждый момент времени может использоваться (или другими словами быть ответным) только один из элементов объединения. Тип объединения может задаваться в следующем виде:

union { описание элемента 1;

...

описание элемента n; };

Для каждого из объявленных элементов выделяется одна и та же область памяти.

Доступ к элементам объединения осуществляется тем же способом, что и к структурам.

Например:

union {

char fio[30];

char adres[80];

int vozrast;

int telefon;

} inform;



Поделиться:


Последнее изменение этой страницы: 2016-07-14; просмотров: 624; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.44.22 (0.012 с.)