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

Различия

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

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

Следующая версия
Предыдущая версия
pascal:strings [20/10/2009 02:17] – создано ybezrukovpascal:strings [23/04/2016 14:33] (текущий) ybezrukov
Строка 1: Строка 1:
-===== Работа со строками =====+===== Строки (String) ===== 
 + 
 +Строки нужны для работы с текстовой информацией - для вывода сообщений, хранения и обработки имён, названий, слов и т.д.  
 + 
 +==== Строковые константы ==== 
 + 
 +==== Строковые переменные ==== 
 + 
 +==== Работа со строками ==== 
 +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 ) |