Просмотр содержимого документа
«Символьный и строковый тип данных на Паскале. 10 класс.»
12/12/2021
Символьный и строковый типы данных
Символьный тип данных:
Под символами мы понимаем буквы и знаки на клавиатуре.
Обычно для хранения символов используют код, называемый ASCII (американский стандартный код обмена информацией).
12/12/2021
В компьютере коды записаны в двоичном виде. На каждый код выделено 8 бит, то есть 1 байт.
Всего в таблице ASCII 256 кодов: наименьшее значение кода 00000000, наибольшее —11111111 (это 255 в двоичном виде).
Значения символьным величинам задаются:
командой присваивания (s:=’e’;) и записывается в апострофах;
вводом с клавиатуры (read (s); readln(a,b);).
При вводе с клавиатуры апострофы не ставятся, т.е. они не являются элементами величины .
12/12/2021
Символьный тип данных: Char
Var
x: char;
12/12/2021
Функции:
- Ord(s) – возвращает код символа s.
Ord('А')= 65, Ord('5')= 53
- Chr(n) – возвращает символ с кодом n.
Chr(65)='A', Chr(53)='5'
12/12/2021
Пример 1. Составить программу на Паскале, по которой на экран будет выводиться таблица кодировки в диапазоне кодов от 32 до 255. Напомним, что символы с кодами, меньшими 32 являются управляющими (не экранными).
Program Tabl_code;
Var kod: Byte ;
Begin
For kod:= 32 To 255 Do
Begin
If (kod mod 10 = 0 )Then Writeln;
Write(chr(kod):3, kod:4);
End
End.
12/12/2021
12/12/2021
Строковый тип данных
- Строка – это упорядоченная последовательность символов.
- Количество символов с строке – её длина
(от 0 до 255).
- Строковая константа - последовательность символов в апострофах. Н-р: ‘мама’, ‘245’,
‘ ’ -пустая строка.
12/12/2021
Строковый тип данных: string
- Строковая переменная описывается в разделе описания переменных:
var S1,S2:string;
Var A,B: string [80]
Элементы строки – S[5] или N[i]
Максимальное количество символов в строке
12/12/2021
Операции над строками:
- Операция сцепления (конкатенации) – соединение нескольких строк в одну.
- Примеры:
Объединение строк
‘ космо’ + ’навт’
Результат
‘ 5.’ + ’4’
‘ космонавт’
‘ привет’ + ’’
‘ 5.4’
‘ привет’
12/12/2021
Операции над строками:
- Кроме метода объединения строк с помощью знака + , для конкатенации двух или нескольких строк служит функция Concat.
- Примеры
Функция
Concat (‘космо’,’навт’)
Результат
Concat (‘5.’,’4’)
‘ космонавт’
Concat (‘привет’,’’)
‘ 5.4’
‘ привет’
12/12/2021
СРАВНЕНИЕ СТРОК
- Произвольные строки сравниваются с помощью операторов отношений. Они сравниваются посимвольно.
- Операции:
=, ,
Из двух символов большим считается тот, код которого больше: ‘A’
12/12/2021
Функции:
- Copy(S,Poz,N) - выделяет из строки S подстроку длиной N символов с позиции Poz.
- Length(S) - определяет длину строки S.
- Pos(S1,S2) - обнаруживает первое появление подстроки S1 в строке S2.
12/12/2021
Пример
Функция
Результат
Copy (‘ИНФОРМАТИКА’,1,2)
‘ ИН’
Copy (‘ИНФОРМАТИКА’,3,5)
‘ ФОРМА’
Copy (‘ИНФОРМАТИКА’,10,1)
‘ А’
12/12/2021
Пример
Функция
Результат
Length (‘победа’)
6
Length (‘6.8’)
3
Length (’’)
0 (пустая строка)
12/12/2021
Пример
Функция
Результат
Pos (‘12’,’123123’)
1
Pos (‘21’,’123123’)
0
Pos (‘23’,’123123’)
2
Pos (‘31’,’123123’)
3
12/12/2021
Процедуры:
- Delete(S,Poz,N)- удаление N символов из строки S, начиная с позиции Poz.
- Insert(S1,S2,Poz)- вставка строки S1 в строку S2, начиная с позиции Poz.
12/12/2021
Пример: Переменная STR типа string[5] перед выполнением процедуры имеет значение ‘ПАСКАЛЬ’.
Пример
Переменная STR типа string перед выполнением процедуры имеет значение ‘ ПАСКАЛЬ ’.
ПРОЦЕДУРА
Delete (STR,4,4)
STR
‘ ПАС’
Delete (STR,1,3)
Delete (STR,2,3)
‘ КАЛЬ’
‘ ПАЛЬ’
Delete (STR,1,6)
‘ Ь’
12/12/2021
Пример
Переменная STR типа string перед выполнением процедуры имеет значение ‘ ИНФОРМ ’.
ПРОЦЕДУРА
STR
Insert (‘О’,STR,2)
‘ ИОНФОРМ’
Insert (‘О’,STR,4)
‘ ИНФООРМ’
Insert (‘ИН’,STR,3)
‘ ИНИНФОРМ’
Insert (‘МАТИКА’,STR,6)
‘ ИНФОРМАТИКА’
Insert (‘’,STR,5)
‘ ИНФОРМ’
12/12/2021
Пример:
- Подсчитать количество символов в заданной строке. Получить новую строку, путем удаления из текущей трех последних символов.
Program Stroka;
Var S1:string;k:integer;
Begin
Write(‘введите исходную строку’);
Read(S1);
K:=length(S1);
delete(S1,k-2,3);
Writeln(‘количество символов=’,k);
Writeln(S1);
End .
12/12/2021
Обобщение
Chr
Процедуры
Функции
Строковый
Ord
Символьный
Типы данных
12/12/2021
Домашнее задание
- §27, 28 (выписать систему основных понятий)
- С. 184 №5
- С.190 №3
12/12/2021