Строки и символы. Тексты программ

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску

Определение кода по символу и символа по коду

var 
  c: char;
  code: integer;
begin
  c := 'z';
  code := Ord(c);
  writeln('Код символа ',c,' равен ',code);
  code := 35;
  c := Chr(code);
  writeln('Символ с кодом ',code,' - это ',c);
end.

Преобразование цифрового символа в соответствующее однозначное число и обратно

var 
  c: char;
  digit: integer;
begin
  c := '5';
  digit := Ord(c) - Ord('0');
  writeln('Цифра, соответствующая символу ''',c,''' - это ',digit);
  digit := 7;
  c := Chr(digit + Ord('0'));
  writeln('Символ цифры ',digit,' - это ''',c,'''');
end.

Преобразование числа в строку и обратно

var 
  s: string;
  num: integer;
begin
  s := '356';
  num := StrToInt(s);
  writeln('Число, соответствующее строке ''',s,''' - это ',num);
  num := 563;
  s := IntToStr(num);
  writeln('Строка, соответствующая числу ',num,' - это ''',s,'''');
end.

Формирование строки из n одинаковых символов

var 
  c: char;
  s: string;
  n: integer;
begin
  n := 10;
  c := 'z';
  s := '';
  for var i:=1 to n do
    s += c;
  writeln(s);
end.

Замена всех маленьких английских букв в строке соответствующими большими

var s: string := 'Hello, World!';
begin
  var dist := Ord('a')-Ord('A');
  for var i:=1 to s.Length do
    if s[i] in ['a'..'z'] then
      s[i] := Chr(Ord(s[i])-dist);
  writeln(s);
end.

Сумма записанных в строке чисел

var

 s: string := '1 2 4 8 16 32 64 128 256 512';
 sum: integer;
 num,p: integer;
 numstr: string;

begin

 sum := 0;
 while s.Length>0 do
 begin
   while s[1]=' ' do // Удаление лидирующих пробелов
     Delete(s,1,1);
   p := Pos(' ',s); // Поиск следующего пробела
   if p=0 then      // Если он не найден, то до конца строки находится последнее число
     p := s.Length;
   numstr := Copy(s,1,p);
   Delete(s,1,p);
   num := StrToInt(numstr);
   sum += num;
 end;
 writeln('Сумма чисел строки равна ',sum);

end.

Количество вхождений подстроки в строку

Ссылки

Программы для начинающих