мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
pascal:strings [20/10/2009 12:06] ybezrukovpascal:strings [23/04/2016 14:33] (текущий) ybezrukov
Строка 1: Строка 1:
-===== Работа со строками =====+===== Строки (String) ===== 
 + 
 +Строки нужны для работы с текстовой информацией - для вывода сообщений, хранения и обработки имён, названий, слов и т.д.  
 + 
 +==== Строковые константы ==== 
 + 
 +==== Строковые переменные ==== 
 + 
 +==== Работа со строками ====
 FIXME FIXME
 +<code pascal>
 +var
 +  str1, str2, str3 : string; {Обычные строки - вмещают до 255 (не 256!) символов (char)}
 +  
 +begin
 +  str1 := 'Ответ';
 +  str2 := ' 42';
 +  str3 := str1 + str2;
 +  writeln(str3);
 +end.
 +</code>
 +
 +Можно использовать "укороченные" строки, как это сделано ниже. Строки займут меньше места, но надо учитывать следующее обстоятельство. При выполнении любого присваивания строкового значения, результат автоматически усекается с конца так, чтобы войти в отведённое под строку количество символов, причём, это не считается ошибкой - за этим должен следить программист.
 +
 +<code pascal>
 +var
 +  str4, str5, str6 : string[5];    { "Укороченные" строки - вмещают 5 символов максимум }
 +  
 +begin
 +  str1 := 'Ответ';
 +  str2 := ' 42';
 +  str3 := str1 + str2; 
 +    { Здесь - ошибка, которую "не заметит" компилятор! Результат будет "обрезан" до 5 символов}
 +  writeln (str3);        { Здесь ошибка проявится, 42 - потеряется }
 +  writeln (str1 + str2); { Так всё будет выведено на экран полностью, но будет использована "неявная" переменная }
 +  writeln (str1, str2);  { Так - тоже верно } 
 +end.
 +</code>
 +
 +==== Процедуры и функции ====
 +
 +Важнейшие функции - /ord/ и /chr/. Они служат для перевода букв в их коды (номера) и обратно.
 +
 +
 +^ Имя ^ Описание ^ Пример ^
 +| Chr | Перевод номера в букву | s[i] := Char(65); |
 +| Ord | Перевод буквы в номер | s[i] := Char ( ord(s[i]) +  1 ) |
 +