Данные перечисляемого типа.




Перечисляемый тип (сокращённо перечисле́ние, англ. enumeration, enumerated type) — в программировании тип данных, чьё множество значений представляет собой ограниченный список идентификаторов.

Перечисления представляют собой упорядоченный список символьных «значений»:

 

Type

Rainbow = (red, orange, yellow, green, aqua, blue, purple);

Var

Col: rainbow;

 

В программе переменной col может быть присвоено одно из перечисленных значений:

 

Col: = green;

По описанию перечисления компилятор присваивает каждому мнемоническому «значению» числовой порядковый номер, начиная с 0 (red=0, orange=1, yellow=2 и т.д.). В принципе, над мнемоническими «значениями» можно производить такие же операции, как и над целыми числами(если это имеет смысл). Например:

 

Col:= orange + green; // аналог 1+3

 

После этого значению переменной col будет соответствовать мнемоническое значение aqua, имеющее порядковый номер 4.

 

Вопрос№18. Символьные данные

К данным типа char относятся объекты, представленные в оперативной памяти восьмибитовыми двоичными кодами от 0 до 255

Первую группу таких объектов с кодами от 0 до 31 относят к группе управляющих символов. Среди управляющих символов чаще других используются следующие:

* «пусто» (символ NIL с кодом 0)

* «звуковой сигнал» (символ BEL с кодом 8)

* «табулярный пропуск» (символ Tab с кодом 9)

* «конец строки» (символ LF с кодом 9)

* «перевод каретки» (символ CR с кодом 10)

* «отмена» (символ Esc с кодом 27)

Вторую группу составляют так называемые отображающие символы. При их выводе на экран каждый объект занимает одно знакоместо, в котором отображаются буква, цифра, скобка, знаки операций и препинания. Символ «пробел» с кодом 32 не миеет на экране видимого графического отображения, но он занимает знакоместо, используемое для разделения «слов» - цепочек видимых символов. Среди отображаемых символов присутствует единственный управляющий символ «забой» (backspace с кодом 127), назначение которого – стереть на экране предшествующий символ.

Вопрос№19.

Вывод данных на экран или файл в языке программирования Pascal осуществляется с помощью процедур write и writeln. Здесь будет рассмотрен вывод только на экран.

Допустим, нам требуется отобразить на экране пару фраз. Если мы хотим, чтобы каждая из них начиналась с новой строки, то надо использовать writeln, если нет – то write.Ввод данных с клавиатуры

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

Когда данные вводятся в память, то надо к ним в дальнейшем как-то обращаться, и знать, где они там лежат. За это все отвечает механизм переменных. Поэтому, когда в программе на Pascal используется процедура read (или readln), то в качестве фактического параметра (аргумента) ей передается имя переменной, которая будет связана с вводимыми данными.

При вводе данных их разделяют пробелом или переходом на новую строку (Enter).

Вопрос№20.

Строки. Строковый тип данных.

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


Для обработки строковой информации в Паскаль введен строковый тип данных. Строкой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется длиной строки. Синтаксис:
var s: string[n];
var s: string;
n - максимально возможная длина строки - целое число в диапазоне 1..255. Если этот параметр опущен, то по умолчанию он принимается равным 255.
Строковые константы записываются как последовательности символов, ограниченные апострофами. Допускается формирование строк с использованием записи символов по десятичному коду (в виде комбинации # и кода символа) и управляющих символов (комбинации ^ и некоторых заглавных латинских букв).
Пример:
'Текстовая строка'
#54#32#61
'abcde'^A^M
Пустой символ обозначается двумя подряд стоящими апострофами. Если апостроф входит в строку как литера, то при записи он удваивается.

Вопрос№21.

В Паскале подпрограммы делятся на процедуры и функции:

Синтаксически процедуры и функции состоят из заголовка (содержащего ключевое слово procedure или function, имени, за которым может следовать описание передаваемых параметров в скобках, тип возвращаемого значения через символ двоеточия для функций и точки с запятой для процедур), после заголовка следует тело, после которого ставится символ;

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

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

Процедуры отличаются от функций тем, что функции возвращают какое-либо значение, а процедуры — нет.

Процедуры Str и Val предназначены для прямого и обратного преобразования числовых значений любого типа.

Вопрос№22.

Format – универсальная функция преобразования данных

 

Наиболее широкими возможностями по преобразованию данных разного типа в их символьное представление обладает функция Format. Её идеология заимствована из языков C,C++. В упрошенном варианте обращение к функции Format Выглядит следующим образом:

s:=format (‘форматные указатели’, [список значений])

Квадратные скобки, выделяющие второй аргумент, здесь является обязательным элементом синтаксической конструкции. Функция Format возвращает результат преобразования в виде значения типа string.

Чтобы не запутаться во всех возможностях этой универсальной функции, продемонстрируем некоторые из них на следующем примере.

Program format 1;

Uses sysutils;

Var

I:integer=123;

F:single=pi;

Ch:=char=’A’;

S:string=’Hello, world’;

Begin

Writeln (format(‘i=%5d f=%8.2 ch=%s s=%s’,[I,f,ch,s]);

Readln;

End.

Вопрос№23.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: