- •А.И. Газейкина Основы структурного программирования на языке Паскаль
- •Тема 1. Линейные программы 4
- •Некоторые стандартные функции языка Турбо Паскаль
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 2. Разветвляющиеся программы Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 3. Циклические программы Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 4. Обработка данных строкового типа Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 5. Система типов языка Паскаль Краткое изложение теоретического материала
- •Тема 6. Перечисляемый тип Краткое изложение теоретического материала
- •Тема 7. Тип-диапазон Краткое изложение теоретического материала.
- •Тема 8. Множество (множественный тип) Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 9. Массивы в языке Паскаль Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 10. Графика в языке Паскаль Краткое изложение теоретического материала
- •Контрольные задания
- •Тема 11. Подпрограммы в языке Паскаль Краткое изложение теоретического материала
- •Процедуры в языке Турбо Паскаль
- •Функции в языке Турбо Паскаль
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 12. Тип данных запись (Record) Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 13. Работа с файлами в языке Паскаль Краткое изложение теоретического материала
- •Текстовые файлы
- •Примеры решаемых задач
- •Типизированные файлы
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 14. Динамические переменные в языке Паскаль Краткое изложение теоретического материала Статические и динамические переменные
- •Указатели
- •Типизированные указатели
- •Нетипизированные указатели
- •Динамические структуры данных
- •Примеры решаемых задач
- •Контрольные задания
- •Список литературы
Тема 4. Обработка данных строкового типа Краткое изложение теоретического материала
Символьный тип Char. Значением является один символ. Все символы упорядочены. Порядковый номер символа – его код. К данным символьного типа применимы операции отношения (сравниваются коды символов). Отображаемыми (на экране) являются символы с кодами от 32 до 255. Символы с кодами от 0 до 31 – управляющие. Русские и латинские буквы упорядочены по алфавиту.
Функции преобразования:
Chr(X) – возвращает символ с кодом Х;
Ord(C) – возвращает код (порядковый номер) символа С.
Прочие стандартные функции:
Pred(C) – возвращает символ, предшествующий символу С;
Succ(C) – возвращает символ, следующий за символом С.
Строковый тип String. Строка – произвольная последовательность символов. Длина строки – количество символов в ней. Пустая строка не содержит ни одного символа. Ее длина равна нулю.
Стандартный паскаль допускает использование строк длиной до 255 символов - это тип String.
В Delphi для работы со строками есть типы:
- ShotString, аналогичный типу String в стандартном паскале;
- String для обработки строк сколь угодно большой длины, ограниченной лишь размерами памяти (такие строки размещаются в динамической памяти).
Строковая константа заключается в апострофы: ‘Мама мыла раму’.
Описание строковой переменной:
Var <имя переменной> : String [N];
где N – максимальная длина строки. Если она не указана, максимальной длиной строки считается число 255 для коротких строк (или любая длина для длинных строк).
Например:
Var Family : String [20];
Name : String [10];
P : String;
Номер символа в строке называется еще индексом. Для обращения к отдельному символу строки его индекс указывается после имени строки в квадратных скобках. Например, P[3] – 3-й символ строки P; Name[K] – K-й символ строки Name.
К данным строкового типа применима операция конкатенации (обозначается символом «+»). Например, после выполнения последовательности команд:
A:= ’тепло’;
B:= ’ход’;
C:= A+B;
в переменной С будет записана строка ‘теплоход’.
К данным строкового типа применимы операции отношения, причем строки сравниваются посимвольно, с учетом порядковых номеров символов в алфавите. Например, ‘мама’ < ’папа’, ‘машина’>’мама’.
Стандартные функции:
Length (S) – возвращает длину строки S.
Pos (P, S) – возвращает позицию первого вхождения строки P в строку S. Например, после выполнения последовательности команд:
A := ’крокодил’;
B := ’код’;
K := Pos (B, A);
N := Pos (‘о’, A);
M := Pos (‘a’, A);
переменные К, N, M примут следующие значения: K=4, N=3, M=0.
Copy(S, K, N) – выделяет (копирует) часть строки S длиной N начиная с К-го символа. Например, после выполнения последовательности команд:
A := ’крокодил’;
B := Copy (A, 2, 3);
значением переменной В будет слово ‘рок’.
Стандартные процедуры:
Delete (S, K, N) – удаляет из строки S N символов, начиная с K-го. Например, после выполнения последовательности команд:
A := ’корзина’;
Delete (A, 4, 3);
значением переменной A будет слово ‘кора’.
Insert (P, S, K) – вставляет строку P в строку S начиная с позиции с номером K. Например, после выполнения последовательности команд:
A := ’кот’;
Insert (‘р’, A, 2);
значением переменной A будет слово ‘крот’.
Val (S, N, K) – преобразует строку S в число N; K – номер позиции в строке S, где встретился символ, недопустимый в записи числа.
Str (N, S) – преобразует число N в строку S.