Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Переменная типа string должна быть объявлена в разделе описания переменных так:
Имя: string;
или
Имя: string[длина];
где Имя – имя переменной; string – ключевое слово обозначения строкового типа; длина – константа типа integer, определяющая максимальную длину последовательности символов, которая может быть присвоена переменной.
Примеры: name: string [30]:
s: string;
Если при объявлении переменной длина не указывается, то предполагается что длина строки равняется 255 символам, т. е. объявления s: string; и s:string[255]; эквивалентны.
В тексте программы последовательность символов, являющаяся строкой, заключается в одинартные кавычки. Например, чтобы присвоить строковой переменной parol значение, нужно записать:
parol:=’большой секрет’;
или parol:=’2004’;
Утверждение parol:=2004; приведет к ошибке при компиляции, так как тип переменной не соответствует типу константы.
Переменную типа string можно сравнивать с другой переменной или константой типа string, используя операторы =, <, >, <=, >=, <>. Строки сравниваются посимвольно от первого символа. Если все символы сравниваемых строк одинаковые, то такие строки считаются равными. Если в одинаковых позициях строк находятся разные символы, большей считается та строка, у которой в этой позиции находится символ с большим кодом. Например: Иванов – 1 строка, Иванов – 2 строка, тогда они равны; васильев – 1 строка, Васильев – 2 строка, тогда 1 строка больше 2; Алексеев – 1 строка, петров – 2 строка, тогда 1 строка меньше 2; Иванова – 1 строка, Иванов – 2 строка, тогда 1 строка больше 2.
Кроме операций сравнения к строковым переменным и константам можно применить оператор сложения, в результате выполнения которого получается новая строка, полученная склеиванием двух или более строк. Например: name:=’Иван’;
fam:=’Иванов’;
fn:= fam +’ ‘+name;
переменная fn получит значение ’Иванов Иван’.
Задачи:
1. Составить программу:
а) которая запрашивает имя человека и повторяет его на экране;
б) которая запрашивает имя человека и повторяет его на экране с приветствием;
в) которая запрашивает название футбольной команды и повторяет его на экране со словами: "Это чемпион!".
2. Дано слово. Получить и вывести на экран буквосочетание, состоящее из его второго и четвертого символов.
3. Дано слово. Получить и вывести на экран буквосочетание, состоящее из его третьего и последнего символов.
4. Составить программу, которая запрашивает отдельно имя и отдельно фамилию, а затем выводит их как одну символьную строку.
5. Дано слово. Вывести на экран его третий символ.
6. Дано слово. Вывести на экран его последний символ.
7. Дано слово. Вывести на экран его k-й символ.
8. Дано слово. Определить, одинаковы ли второй и четвертый символы в нем.
9. Дано слово. Верно ли, что оно начинается и оканчивается на одну и ту же букву?
10. Даны два слова. Верно ли, что первое слово начинается на ту же букву, которой оканчивается второе слово?
Turbo Pascal предоставляет несколько полезных при работе со строками функций и процедур.
Функция length.
Функция length возвращает длину строки. У функции один параметр – переменная строкового типа. Возвращаемое значение функции (целое число) – количество символов, из которых состоит строка, без учета начальных и завершающих пробелов. Например length(’Иванов’) равно 6, а значение length(’ Невский проспект ’) равно 16, так как при вычислении длины строки функция не учитывает начальные и завершающие пробелы.
Примеры определения длины строки
• k:=length(‘мир’); k=3
• s:=‘Кот и пес’;
n:= length(s); n=9
• s1=‘’;
i:= length(s1); i=0
‘’ - пустая строка!
Задачи:
1. Дано название футбольного клуба. Определить количество символов в нем.
2. Дано название города. Определить четно или нет количество символов в нем.
3. Даны две фамилии. Определить какая из них длиннее.
Функция copy.
Функция copy позволяет выделить фрагмент строки. В общем виде обращение к функции copy выглядит так: (строка, p, n);
где строка – переменная строкового типа, содержащая строку, фрагмент которой надо получить; p – номер первого символа в строке строка, с которого начинается выделяемая подстрока; n – длина выделяемой подстроки. Например, в результате выполнения команд:
s:= ‘Инженер Иванов’;
fam:= copy (s, 9, 6);
значением переменной fam будет строка ‘Иванов’.
Примеры выделения символов
• s:=‘информатика’;
s1:=copy (s, 3, 5); s1=‘форма’
s2:=copy (s, 8, 2)+ copy (s, 3, 1); s2=‘тиф’
Задачи:
1. Дано слово. Получить его часть, образованную второй, третьей и четвертыми буквами.
2. Дано слово, состоящее из четного числа букв. Вывести на экран его первую половину, не используя оператор цикла.
3. Дано слово. Получить его часть, образованную идущими подряд буквами, начиная с m-й и кончая n-й.
4. Из слова "яблоко" путем вырезок его букв получить слова "блок" и "око".
5. Из слова "информатика" путем вырезок его букв получить слова "форма" и "тик".
Процедура insert.
Процедура insert позволяет добавить часть строки в исходную строку. В общем виде обращение к процедуре выглядит так: Insert ( подстрока, строка, p);
где подстрока – строковая константа или переменная, которую необходимо добавить в строковую переменную строка; p – номер первого символа в строке строка, с которого начинается добавление подстроки.
Примеры вставки символов
• s:=‘мама’;
insert (‘очк’, s, 4); s=‘мамочка’
• s1:=‘рог’;
s2:=‘по’;
insert (s1, s2, 3); s2=‘порог’
Задачи:
1. Дано слово. Вставить букву "т" после k-й буквы.
2. Дано слово. Вставить заданную букву после первой буквы "и".
3. Дано слово. Переставить его первую букву на место последней. При этом вторую, третью, ..., последнюю буквы сдвинуть влево на одну позицию.
Процедура delete.
Процедура delete позволяет удалить часть строки. В общем виде обращение к процедуре выглядит так: delete (Строка, p, n);
где строка – переменная строкового типа; p – номер символа, с которого начинается удаляемая подстрока; n – длина удаляемой подстроки.
Например, в результате выполнения команд:
s:= ‘Город Санкт-Петербург’;
delete (s, 7, 6);
значение переменной s будет строка ‘Город Петербург’.
Примеры удаления символов
• s:=‘котик’;
delete (s, 4, 2); s=‘кот’
• s:=‘информатика’;
delete (s, 1, 2);
delete (s, 6, 4); s=‘форма’
Задачи:
1. Дано слово:
а) удалить из него третью букву; б) удалить из него k-ю букву.
2. Дано слово:
а) Удалить из него первую из букв "о", если такая буква есть.
б) Удалить из него последнюю из букв "т", если такая буква есть.
3. Дано слово. Если его длина нечетная, то удалить среднюю букву, в противном случае - две средних буквы.
4. Дано предложение. Удалить из него все символы с n1-го по n2-й (n1£n2).
5. Дано предложение. Удалить из него все буквы "с".
6. Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые вхождения, то есть в слове должны остаться только различные буквы.
7. Дано предложение. Удалить из него все буквы "о", стоящие на нечетных местах.
8.
Функция pos.
Функция pos позволяет определить положение подстроки в строке. В общем виде обращение к функции выглядит так: pos (Подстрока, строка);
где Подстрока – строковая константа или переменная, которую надо найти в строковой константе или переменной строка.
Например, в результате выполнения команды: p:= pos (‘Пе’, ‘Санкт-Петербург’); значение переменной p будет равно 7. Если в строке нет искомой подстроки, то функция возвращает ноль.
Примеры определения позиции
• k:=pos(‘р’, ’мир’); k=3
• s:=‘колокол’;
n:=pos(‘кол’, s); n=1
• s1:=‘ок’; s2:=‘кок’;
i:=pos(s1, s2); i=2
• k:=pos(‘п’, ’мама’); k=0
Например
var
st: string;
begin
write (‘Введите строку: ’);
readln (st);
while (pos (‘ ‘, st)=1) and (length (st)>0) do
delete (st, 1, 1);
write (‘Строка без начальных пробелов: ’, st);
end.
Данная программа использует функцию pos и процедуру delete для удаления пробелов в начале введенной с клавиатуры строки. пробелы удаляются в цикле while до тех пор, пока функция pos обнаруживает пробел в начале строки (значение pos при этом равно единице). Проверка условия length (st)>0 нужна, так как возможно, что введенная с клавиатуры строка состоит вся из пробелов.
Задачи:
1. Дано предложение, в котором имеется несколько букв "е". Найти:
а) порядковый номер первой из них;
б) порядковый номер последней из них.
2. Дано предложение. Определить, есть ли в нем буква "а". В случае положительного ответа найти также порядковый номер первой из них.
3. Дано предложение. Определить количество букв "н", предшествующих первой запятой предложения.
4. Дано предложение. Напечатать все символы, расположенные между первой и второй запятой. Если второй запятой нет, то должны быть напечатаны все символы, расположенные после единственной имеющейся запятой.
5. Дано предложение, в котором имеются одна буква "с" и одна буква "т". Определить, какая из них встречается раньше (при просмотре слова слева направо).
Процедура val.
процедура val позволяет преобразовать изображение числа в число. В общем виде обращение к процедуре выглядит так: val (Строка, число, код).
где строка – строковая константа или переменная, содержащая изображение числа; число - переменная, которой должно быть присвоено значение, изображенное строкой строка; код – возвращаемый процедурой код ошибки. Если строка может быть преобразована в число, то код ошибки равен нулю.
Процедура val полезна при организации ввода с клавиатуры. Например, если в программе описана переменная month типа integer и ее значение вводится с клавиатуры, то в результате возможной ошибки оператора, задавшего месяц строкой символов, например 'июнь', а не цифрой, программа завершается ошибкой времени выполнения. Однако если числовые данные вводить как строку, а затем преобразовывать в число с помощью процедуры val, то можно избежать подобного неприятного завершения программы. Ниже приведен пример такой программы.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |


