Урок 7. Строковые величины

Символьная переменная – величина, значением которой является один символ (буква, цифра, знак).

Строковая переменная – величина, значением которой является последовательность символов.

Значения символьных и строковых величин заключаются в апострофы (одиночные кавычки).

Например, 'A', '5', 'Минск'.

Длина строки – это количество символов в строке. Максимальная длинна строки в Pascal ABC – 255 символов.

Описание символьных и строковых переменных в Pascal ABC

Var s:string; {строковая переменная}
    t:char;   {символьная переменная}

Если известна длинная строки, например 20 символов, то для экономии памяти строку можно описать в следующем виде:

Var s1:string[20]; 

Чтобы в программе обратиться к конкретному символу строки, надо указать имя строковой переменной и индекс (порядковый номер) символа в строке. Запись s[1] обозначает первый символ строки s, s[i] – i-й символ строки s.

Два следующих друг за другом апострофа (”) обозначают пустую строку, т. е. строку с нулевой длинной.

Каждый символ имеет уникальный двоичный код от 00000000 до 11111111 (от 0 до 255 в десятичном представлении). Символы упорядочены в соответствии с их кодами. Коды всех символов размещены в кодовой таблице. 

Первые 32 кода (от 0 до 31) используются для кодирования управляющих сигналов. Коды 32-127 служат для кодирования букв латинского алфавита, цифр, знаков препинания, знаков арифметических действий, скобок и т. д.  Вторую половину кодов (коды 128-255) используются для представление символов псевдографики, математических знаков и символов национальных алфавитов. 

Первая половина таблицы стала международным стандартом ASCII 

Операции над символьными и строковыми переменными

1. Операции отношения <, >,  <=, >=, =, <>. При сравнении строк сравниваются их коды ASCII. Сначала сравниваются первые символы строк. Большим из них считается тот, код которого больше. Если равны первые символы, то так же анализируется следующая пара до тех пор, пока не будет найдено различие. Если символы строк совпадают и первая строка короче второй, то вторая автоматически считается больше. Результатом сравнения является константа True (Истина) или False (Ложь).

Примеры:

writeln('a'<'b');  // True
writeln('ac'<'ab');  //False

2. Операция конкатенации (соединения) +. Ее результатом является строка. Например, ‘ab’ + ‘cd’ = ‘abcd’. Длинна строки, полученной соединением других строк, не должна превышать 255 символов, в противном случае программа завершится сообщением об ошибке.

Строка может складываться с числом, при этом число предварительно преобразуется в строковую переменную. 

Пример:

s:= 'Масса='+15+'кг';  // s='Масса=15кг'

3. Операция * определена над строками и целыми величинами. s*n и n*s означает строку, образованную их строки s, повторенной n раз.

Примеры:

s:= 'M'*5;  // s= 'MMMMM'
l:= 3*'ab';  // l='ababab';  

Задания

  1. Составить программу, которая позволяет ввести с клавиатуры две строки a  и  b, затем определяет, равны ли эти строки между собой.
  2. С клавиатуры вводятся две строки. Составьте программу, которая выводит эти строки в алфавитном порядке.
  3. С клавиатуры вводятся две строки. Составьте программу, которая выводит результат соединения этих строк в одну строку.
  4. С клавиатуры вводится строка S и целое число N. Составьте программу, которая N раз выводит строку S.
  5. С клавиатуры вводится три строки S, N, SN: фамилия, имя и отчество. Составьте программу, которая выведет фразу, являющуюся сложением строк “Здравствуйте”, введенных фамилии, имени, отчества и восклицательного знака. Пример вывода: “Здравствуйте, Иванов Петр Сергеевич!”
  6. Ниже представлена программа, которая получает слово “гора” из слова “программирование “. Измените программу, добавив команду для получения двух новых слов из этого слова. Ваши слова выведите на экран.
var
  S, myWord: string;
begin
  s := 'программирование';
  myWord := s[4] + s[3] + s[2] + s[6];
  writeln(myWord);
end.

Это изображение имеет пустой атрибут alt; его имя файла - hw-e1653285769766.png

Домашнее задание

§ 7.1 учебного пособия, ответить на вопросы


Форма отправки файлов

Форма видна только зарегистрированным пользователям.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *