
- •Содержание:
- •Упр. 41. Ввести строку с клавиатуры и заменить все буквы «а» на буквы «б». 67
- •Writeln('Введите строку'); 67
- •1. Что такое величина типа String? Как описать переменную-строку? 67
- •§1. Понятие алгоритма. Свойства, виды и формы представления алгоритмов
- •§ 2. Введение в язык программирования Pascal
- •Write(список выражений и/или переменных); Writeln(список выражений и/или переменных);
- •№4. Вывести на экран рисунок из букв § 3. Типы величин. Переменные. Присваивание.
- •§ 4.Оператор ввода.
- •§ 5. Арифметические операции
- •§ 6. Стандартные математические функции
- •§ 7. Логические выражения
- •§ 8. Решение задач по теме «Линейные программы. Логические величины.»
- •§ 9. Условный оператор
- •В общем случае полная форма условного оператора имеет вид:
- •Условный оператор работает по следующему алгоритму.
- •§ 10. Решение задач
- •§ 11. Вложенные условные операторы
- •§ 12. Цикл с предусловием
- •Представим всю информацию о цикле с предусловием в таблице:
- •§ 13. Решение задач по теме «Цикл с предусловием»
- •§ 14. Цикл с постусловием
- •§ 15. Решение задач по теме «Цикл с постусловием»
- •§ 16. Цикл с параметром (счетчиком)
- •Общая форма записи цикла со счетчиком (параметром)
- •§ 17. Решение задач по теме «Цикл со счетчиком»
- •§ 18. Линейные массивы: описание, ввод, вывод
- •§ 19. Заполнение массива случайными числами и его обработка
- •§ 20. Замены и перестановки в массиве.
- •§ 21. Поиск максимального элемента
- •§ 22. Сортировка линейного массива
- •Сортировка методом простого выбора (простой перебор)
- •Сортировка массива по возрастанию:
- •§ 23. Двумерные массивы (матрицы)
- •§ 24. Обработка двумерного массива (матрицы)
- •§ 25. Символьный тип данных
- •№57. Вводится код символа (любое число 0-255). На экран выводится символ с данным кодом. § 26. Строковый тип данных, операции и функции.
- •Упр. 41. Ввести строку с клавиатуры и заменить все буквы «а» на буквы «б».
- •Writeln('Введите строку');
- •Что такое величина типа String? Как описать переменную-строку?
- •§ 27. Процедуры для работы со строковыми величинами.
- •§ 28. Подпрограммы пользователя
№57. Вводится код символа (любое число 0-255). На экран выводится символ с данным кодом. § 26. Строковый тип данных, операции и функции.
Величина типа “строка” (тип STRING) - последовательность произвольных печатных символов не длиннее 255 символов.
Чтобы использовать переменную-строку в программе, ее нужнo описать в разделе описаний: Var <имя>:string; При этом в памяти компьютера резервируется массив из 255 ячеек по 1 байту каждая. Обращаться к элементам строки можно так же, как к элементам массива:
Можно зарезервировать строку покороче, для этого при описании типа указывается в квадратных скобках длина строки:
Значением переменной-строки может быть произвольная последовательность печатных символов, заключенная в апострофы (') или выражение, результат выполнения которого - строка символов.
Чтобы поместить в строковую переменную какое-либо значение, можно воспользоваться одним из способов:
- присвоить переменной какое-либо новое значение;
- считать в эту переменную значение при помощи оператора ввода ( READ).
Например: s:=’мама мыла раму’;
Строки можно сравнивать. Сравнение строк производится слева направо посимвольно до первого несовпадающего символа, большей считается та строка, в которой первый несовпадающий символ имеет больший код в таблице кодировки. Строки равны, если они имеют равную длину и все символы совпадают.
‘Abc’<’abc’ (отношение истинно, т.к. код символа ‘A’ = 65, а код символа ‘a’ – 97);
‘строка’<’строки’ (верно, т.к. шестые символы строк ‘a’<’и’ );
‘год’>’век’ (отношение верно, т.к. буква ‘г’ в алфавите стоит после буквы ‘в’).
Строки можно склеивать (объединять нескольких строк с помощью знака +).
s:='123'+'456'; { s = ‘123456’}
Получить любой символ из строки можно указанием его номера в квадратных скобках рядом с именем переменной. Например:
s:='Hello!';
Writeln(s[2]); {на экране: e}
Над величинами строкового типа разрешено использовать следующие функции:
LENGTH (S)
Возвращает длину строки S (количество символов в ней). Результат - целый.
var Str: String; L: Integer;
{ ... }
Str:='Hello!';
L:=Length(Str); {L = 6}
2. COPY (St,a,b)
Возвращает b символов строки St, начиная с позиции a.
var s, s1, s2: string;
begin
s := '123456789';
s1 := Copy ( s, 3, 6 ); {345678}
s2 := Copy ( s1, 2, 3 ); {456}
end.
3. POS (S1,St)
Возвращает номер позиции, с которой строка S1 входит в строку St. Возвращает ноль, если такой подстроки в исходной строке нет.
var Str1, Str2: String; P: Integer;
{ ... }
Str1:='Hi! How do you do?';
Str2:='do';
P:=Pos(Str2, Str1); {P = 9}
Упр. 41. Ввести строку с клавиатуры и заменить все буквы «а» на буквы «б».
program zamena;
var s: string;
i: integer;
begin
Writeln('Введите строку');
readln(s);
{начинаем цикл, в котором будем двигаться по строке и менять буквы:}
for i:=1 to Length(s) do
if s[i] = 'а' then s[i] := 'б';
writeln(s);
end.
Домашние вопросы и задачи: