А. В. Розина программирование на паскале методическое пособие
Вид материала | Методическое пособие |
СодержаниеТема 7. Переменные типа CHAR Тема 8. Строки Операция отношения ( = , < > , > , = , < = ) Операция сцепления ( + ) CONCAT (s1,s2,...,sn) |
- Тема урока: Программирование ветвлений на Паскале, 61.32kb.
- Программирование ветвлений на Паскале Оператор ветвления на Паскале, 166.05kb.
- Программа элективного курса «Алгоритмизация и программирование», 95.38kb.
- Контрольная работа по темам «Линейное программирование на Паскале» и«Условный оператор», 4.21kb.
- Методическое пособие по выполнению курсовых работ по дисциплине, 450.1kb.
- В. И. Эльманович нейролингвистическое программирование методическое пособие, 781.36kb.
- В. И. Эльманович нейролингвистическое программирование методическое пособие, 924.82kb.
- В. А. Жернов апитерапия учебно-методическое пособие, 443.6kb.
- Тема урока: Программирование циклов на Паскале (9 класс, базовый уровень), 46.43kb.
- Кемеровский Государственный Университет; Д. Н. Долганов. Белово, 2005. 55. методическое, 704.81kb.
Тема 7. Переменные типа CHAR
Значениями символьного типа являются элементы из набора символов. В разделе описания переменных используется стандартный идентификатор CHAR:
VAR W, T, L : CHAR ;
Каждая переменная данного типа может принимать значение только одного символа. Символьные значения могут меняться в зависимости от способа кодировки, принятого в конкретной ЭВМ. Наиболее распространенный – ASCII (American Standard Code for Information Interchange - американский стандартный код обмена информацией).
Символы, заключенные в апострофы, являются константами символьного типа. Для представления самого апострофа он повторяется дважды. Например,
'A' , '7' , ':' , ''''
Все символы в стандарте ASCII связно упорядочены:
'0' , '1' , ... ,'9' , 'A' , 'B' , ..., 'Z' , 'a' , 'b' ,...,'А' , 'Б' , ..., 'Я' , 'а' , 'б' , ... ,'я'.
Каждому символу алфавита соответствует числовой код от 0 до 255. Символы с кодами от 0 до 127 составляют так называемую основную таблицу кодов ASCII. Эта часть идентична на всех IBM-совместимых компьютерах. Символы с кодами от128 до 255 составляют так называемую национальную кодовую таблицу.
Над символьными переменными не определены никакие операции, кроме сравнения. Из двух символов меньший тот, который встречается в ASCII таблице раньше. Символьные переменные могут участвовать в чтении, печати, а также присутствовать в операторе присваивания.
Пример,
CH := 'A';
READ (CH1,CH2);
IF CH1 < CH2 THEN K := 1 ELSE K := 0;
WRITE (CH1);
Необходимо дать две стандартные функции, которые позволяют отображать множество символов на множество натуральных чисел и наоборот.
ORD ( C ) | дает порядковый номер символа, хранящегося в переменной С. Например, I := ORD ( ' : ' ) ; Переменная I примет значение 58, порядковый номер символа двоеточие. |
CHR ( R ) | дает символ с порядковым номером R (R – целая). Например, C := CHR (128); переменная С примет значение, равное символу 'Б'. |
Замечание.
CHR (ORD (C) ) = C - всегда.
ORD ( CHR ( R ) ) = R - если R не выходит за пределы целых значений, в которые отображается множество символов.
Тема 8. Строки
Строка – это последовательность символов. В строке может быть максимум 255 символов, минимум 0 символов. Для строки из N символов отводится N+1 байт: N байт для хранения символов в строке и 1 байт для значения текущей длины строки. В описательной части программы может быть указана явно длина строки в квадратных скобках. Если она не указана, то предполагается, что она равна 255 символов.
Пример.
VAR S : STRING;
A : STRING [10];
Под строку S резервируется 255 символов, а под строку А 10 символов.
Заметим, что в действительности длина строки в программе может быть и меньше указанных значений, но не больше!
К отдельному символу в строке можно обратиться по номеру (индексу). Индекс определяется выражением целого типа, которое записывается в квадратных скобках. Например, S [i].
Над строками определены следующие операции:
- Операция отношения ( = , < > , > , <,> = , < = )
Сравнение строк производится слева направо до первого несовпадающего символа. Та строка считается большей, в которой первый несовпадающий символ имеет больший код в таблице кодировки.
'4' >'234', т.к. код символа '2 '< кода символа '4'
- Операция сцепления ( + )
Применяется для сцепления строк в одну строку. Длина результирующей строки не должна превышать 255 символов.
A := A +'ко' ;
S:= 'кол'+'о'+'кол';
Над строками определены следующие функции:
- CONCAT (s1,s2,...,sn)
Выполняет сцепление строк в том порядке, в каком они указаны в параметрах.
A := CONCAT (s,t);
- COPY (S,I,K)
Выделяет из строки S подстроку из K символов, начиная с I-го.
A := COPY ('крокодил' , 4,3);
В результате строка А будет содержать 'код'.
- LENGTH (S)
Вычисляет текущую длину строки. Результат целого типа.
K := LENGTH ('каникулы');
В результате переменная К примет значение 8.
- POS (S,T)
Вычисляет номер позиции, с которого строка S входит первый раз в строку T. Если вхождение не обнаружено, результат =0.
I := POS ('ом', 'компьютер' );
В результате переменная I примет значение 2.
В языке Паскаль реализованы 4 стандартные процедуры обработки строк.
- DELETE (S,J,K)
Из строки S удаляется К символов, начиная с J-го.
S:='таракан';
DELETE (s,5,2);
Это аналогично оператору присваивания S:='таран';
- INSERT (S,T,J)
Строка S вставляется в строку Т с J-ой позиции.
Т:='таран';
INSERT ('ка',T,5);
Это аналогично оператору присваивания T:='таракан';
- STR (K,S)
Преобразует числовое значение K в строку S
STR (564,S);
Это аналогично оператору присваивания S:='564';
- VAL (S,K,I)
Преобразует значение строки S в величину целого или вещественного типа K. I- переменная целого типа. I=0, если ошибки при преобразовании не обнаружено, в противном случае I будет содержать номер позиции первого ошибочного символа, в этом случае значение K не определено.