Лекция С1
Работа со строковыми переменными
1.Описание строковых переменных.
Использование компьютеров в настоящее время в значительной мере состоит из работы с текстами и прочей нечисловой информацией. Поэтому в современном программировании задачи, связанные с обработкой текстовой информации, встречаются очень часто. Познакомимся с некоторыми возможностями языка паскаль, предназначенными для решения этого класса задач.
С текстовыми (они же символьные или строковые) данными мы уже встречались на одном из первых занятий, так что для начала вспомним то, что нам уже известно.
Описание строковой переменной помещается в блок описания переменных (после слова Var) и выглядит так:
Var
<имя_переменной> : String [<количество_символов_N>]
1<=N<=255
колличество символов N может отсутствовать, тогда считается, что задается max колличество символов =255 символам, т.е.
<имя_переменной> : String
В квадратных скобках должно стоять либо целое число, либо имя целочисленной константы (объявленной в блоке const), либо составленное из них целочисленное выражение. Например, такое описание
Var name : String[50];
отводит в памяти компьютера 50+1 байт для размещения переменной с именем name. При этом нужно иметь ввиду, что в квадратных скобках записывается наибольшее возможное для этой переменной количество символов, то есть объем оперативной памяти компьютера, необходимый для хранения значений этой переменной во время исполнения всей программы. Если в какой-то момент этой переменной будет присвоено более "короткое" значение, то часть памяти компьютера просто не будет использоваться, а если более "длинное", то часть символов пропадет.
Нулевой символ строки содержит информацию о текущей длине строки, его код равен числу символов в строке.
Можно объявить строковую константу в разделе описания констант:
const
<имя_переменной>:String='значение'
Пр. const
st='группа';
2. Ввод и вывод символьных переменных.
Работа с символьными переменными.
Ввод и вывод символьных переменных осуществляется с помощью команд Read (ReadLn) и Write(Writeln) соответственно. При этом введется и напечатается столько символов, сколько указано в описании (недостающие дополнятся пробелами, лишние "отрежутся").
Присваивание значения такой переменной осуществляет обычный оператор присваивания (:=), при этом текстовую константу следует заключить между двумя знаками ', например, выполнение оператора
name := 'все, что угодно'
приведет к тому, что в 50-символьную переменную text будет занесена строка, содержащая 15 символов:
все, что угодно
Остальные 35 байт использоваться не будут. При выполнении оператора
name:='все, что угодно, и еще много разного нужного и не очень'
в переменную name будет занесена строка все, что угодно, и еще много разного нужного и не
Остальная часть (очень) введена не будет.
Для работы с отдельным символом из строки можно указывать имя строки и номер нужного символа в квадратных скобках.
Так name[1] указывает на первый символ строки name.
Пример: var speech:string[20];
...
speech:='Маузер';
speech[4]:='ч';
speech[1]:='В';
Writeln(speech);
...
На экране: Ваучер
3. Группы символов кодовой таблицы ASCII.
Константа типа Char - это непустой символ из кодовой таблицы ПК, заключенный в апострофах: 'D', '*' и т.д.
Cимволы можно задавать и с помощью кодового номера с префиксом #, например: #7 - звуковой сигнал, #254 - символ ю, и т.д.
Для неклавишных символов это - один из основных способов задания.
Символы с кодами 0-31 являются управляющими, это означает, что вывод их на экран или в файл эквивалентен подаче команды, управляющей работой устройства.
Гpуппы символов кодовой таблицы ПК (альтернативной):
0..127 - стандартные символы ASCII
0...31 - управляющие символы
(управляют работой компьютера);
32 - пробел
33..47, 58..64, 91..96 - математические и другие знаки;
48-57 - цифры
65 - A .. 90 - Z -прописные латинские буквы
97 - a .. 122 - z - строчные латинские буквы
128-А..159-Я - прописные русские буквы
160-а..175-п, 224-р..239-я - строчные русские буквы
176..178 - символы заполнения фона
179..222 - символы псевдографики
Символы, используемые при оформлении программ:
░ -176 ▒ -177 ▓ -178 □ -219
Символы, используемые для построения таблиц и рамок:
194 196 203 205
218 ┌ ┬ ─ ┐ 191 201 ╔ ╦ ═ ╗ 187
195 ├ ┼ 197 ┤ 180 204 ╠ ╬ 206 ╣ 185
179 │ │ 179 186 ║ ║ 186
192 └ ┴ ─ ┘ 217 200 ╚ ╩ ═ ╝ 188
193 196 202 205
4. Стандартные функции обработки символьных величин:
Chr(k:byte):char - получение символа по его коду;
Ord(c:char):byte - получение кода заданного символа;
UpCase(c:char):char - перевод строчных латинских символов
'a'..'z' в прописные 'A'..'Z'; остальные символы не изменяются;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.