
- •Краткий курс лекций
- •1Fns 12017 Алгоритмы, структуры данных и языки программирование
- •1. Основные понятия и определения
- •Лекция 2. Алгоритмический язык Турбо Паскаль 7.0.
- •Лекция 6. Перечислимый и ограниченный типы. Строки
- •1) Переменная типа "массив" (или просто массив) является совокупностью компонентов одного и того же типа, называемых элементами массива.
- •2) Каждый элемент массива может быть явно обозначен, и к нему имеется прямой доступ.
- •3) Число элементов массива определяется при его описании и в дальнейшем не меняется – массив является статическим.
- •Лекция 8. Файлы
- •1) Переменная типа "файл" (файловая переменная) позволяет получить доступ к элементам совокупности одного и того же типа, расположенным, обычно, на внешнем носителе (диске).
- •План практических занятий
- •1Fns 12017 Алгоритмы, структуры данных и языки программирование
- •Самостоятельная работа студентов
- •1Fns 12017 Алгоритмы, структуры данных и языки программирование
- •Самостоятельная работа студентов по дисциплине «Алгоритмы, структуры данных и языки программирования»
- •Экзаменационные вопросы по курсу «Алгоритмы, структуры данных и языки программирования»
Лекция 6. Перечислимый и ограниченный типы. Строки
Перечислимый тип задаётся следующим образом:
type
T = (W1, W2, …, WN);
здесь T – произвольное имя типа, а W1, W2, …, WN – произвольные имена констант, составляющих этот тип. Далее имя T можно использовать при описании переменных этого типа как обычно.
Если любой тип создаётся только для разового применения, то его можно задать неименованным (безымянным) сразу при описании переменных. Например, для перечислимого типа:
var
V1, V2, …, VM: (W1, W2, …, WN);
Теперь переменные V1, V2, …, VM смогут принимать значения любой из констант W1, W2, …, WN.
К данным перечислимого типа, как и к данным других порядковых типов, применяются функции Ord, Succ и Pred и стандартные процедуры Inc и Dec. Данные перечислимого типа могут присваиваться однотипным переменным, использоваться в качестве параметра цикла со счётчиком, индексов элементов массивов, их можно сравнивать между собой. Однако их нельзя вводить с клавиатуры и выводить на экран.
Ограниченный тип (тип-диапазон) задаётся следующим образом:
type
T = Min..Max;
здесь T – имя типа, а Min и Max – константы базового порядкового типа, задающие диапазон значений этого типа: Min, Min+1, …, Max-1, Max. Чаще всего безымянный тип-диапазон используется при задании типа индекса массива в силу его наглядности.
Строка – это фактически массив символов, но с более широким набором действий и операций, чем для обычного массива. Строковая константа – это нуль или более любых символов клавиатуры, заключённых в апострофы. Например: 'школа' – строка из 5 символов, '' – пустая строка из 0 символов.
Переменные строкового типа могут объявляться двумя способами:
var
A: string[N];
B: string;
В первом случае: N – положительная целочисленная константа не более 255, а переменная A может хранить строки длиной не более N. Во втором случае: переменная B может хранить строки длиной не более 255. Обе переменных – аналоги массивов array[0..N] of Char и array[0..255] of Char, поэтому к отдельному символу строки возможен прямой доступ: A[K], B[L].
Переменные строкового типа имеют специальную внутреннюю структуру: само значение в виде цепочки кодов символов размещается с первого байта, а в нулевом байте располагается текущая длина строки. Длина автоматически корректируется при присваивании или вводе значения для переменной. Если длина значения превышает максимально возможную длину N, то лишние символы в правой части строки отбрасываются.
Типизированная константа-строка – задаётся единой строковой константой или константным выражением, например:
const
A: string[10] = 'космос';
Из действий и операций со строками разрешены: присваивание, ввод с клавиатуры (желательна инструкция ReadLn, а не Read), вывод на экран, сцепление (конкатенация) строк (+), сравнения строк (=, <>, >, <, >=, <=). Остальные операции реализуются стандартными процедурами (Delete, Insert, Str, Val) и стандартными функциями (Copy, Length, Pos, UpCase).
Лекция 7. Массивы
Тип "массив" характеризуется следующими особенностями: