Length(s)=6;
Length(s1)=7;
Length(str)=13
8) Выделение подстроки в строке
Copy(s,L,N)
Выделение подстроки из строки s длиной N, начинающуюся с позиции L.
Например, в строке s=’Я – студент геофака’, после выполнения оператора
Str:=Copy(s,5,7)
Получим str=’студент’ (вырезали из строки s подстроку, начиная с пятого символа, длиной семь символов).
9) определения номера начальной позиции первого вхождения подстроки в строке
Pos(s1,s)
- определяет номер начальной позиции первого вхождения подстроки S1 в строку S. Если подстрока не найдена, результат равен нулю.
Например, в строках s=’Я – студент геофака’, s1=’гео’, str=’студент’
Pos(s1,s)=13; (строка ’гео’ входит в строку ’Я – студент геофака’, начиная с тринадцатого символа)
Pos(str,s)=5; (строка ’студент’ входит в строку ’Я – студент геофака’, начиная с пятого символа, пробелы учитываются)
Pos(s1,str)=0; (строка ’гео’ входит в строку ’студент’ не входит)
10) удаление из строки подстроки
Delete(s, L, N)
- удаление из строки S подстроки длины N, начинающуюся с позиции L.
Например, в строке s=’Я учусь на геофаке’ в результате выполнения процедуры
Delete(s,3,6);
получим s=’Я на геофаке’ (удалили в строке s шесть символов , начиная c третьего).
11) вставка подстроки в строку
Insert(s1, s, L)
- вставка в строку S подстроки S1, начиная с позиции L.
Например, в строке s=’Я на геофаке’, s1=’КОВ’ в результате выполнения процедуры
Insert(s1,s,2);
получим s=’ЯКОВ на геофаке’ (строка s1 вставилась в строку s, начиная со второго символа).
3.3 Некоторые примеры решения задач на строки
Пример 1. Найти количество пробелов в строке.
Введем строку, затем перебирая все символы от первого (i=1) до последнего (i=length(s)) посмотрим, сколько из них равны пробелам, предварительно переменную k, которая отвечает за количество пробелов, присвоим нулю,
k:=0;
For i:=1 to length(s) do if s[i]=’ ‘ then k:=k+1;
Текст программы:
Program z1;
Var s:string;
i, k : integer;
begin
readln(s);
k:=0;
For i:=1 to length(s) do if s[i]=’ ‘ then k:=k+1;
writeln(k)
end.
Пример 2. Найти количество букв ‘j’ и ‘f’ в строке.
Также строку нужно ввести, перебрать все символы в строке, как и в предыдущем случае, и подсчитать количество символов ‘j’ и ‘f’. Переменную, отвечающую за количество букв ‘j’, обозначим k1, а переменную, отвечающую за количество букв ‘f’, обозначим k2.
k1:=0;
For i:=1 to length(s) do if s[i]=’j‘ then k1:=k1+1;
K2:=0;
For i:=1 to length(s) do if s[i]=’f‘ then k2:=k2+1;
Текст программы:
Program z2;
Var s:string;
i, k1,k2 : integer;
begin
readln(s);
k1:=0;
For i:=1 to length(s) do if s[i]=’j‘ then k1:=k1+1;
K2:=0;
For i:=1 to length(s) do if s[i]=’f‘ then k2:=k2+1;
writeln(k1, k2)
end.
Пример 3. В строке заменить слово «студент» на «абитуриент».
После ввода строки нужно при помощи операции pos найти номер символа, где это слово начинается.
n:=pos(‘студент’, s);
Если такое слово в предложении есть (If n>0 then), то удалим семь символов с места n в строке
delete(s, n.7);
после чего на это же место n вставим строку «абитуриент»
Insert(‘абитуриент’,s, n)
Текст программы:
Program z3;
Var s:string;
i, n :integer;
begin
readln(s);
n:=pos(‘студент’, s);
if n>0 then
begin delete(s, n,7);
Insert(‘абитуриент’,s, n)
End;
Writeln(s)
end.
Пример 4. В начало строки «наступил новый учебный год» добавить строку «1 сентября ».
Program z4;
Var s, s1, s2:string;
Begin s:=’наступил новый учебный год’;
s1:=’1 сентября’;
s2:=s1+s; { можно s2:=concat(s1,s); }
writeln(s2)
end.
3.4 Вопросы
1. Как объявить строку в Паскаль?
2. Во что необходимо заключать строковые переменные?
3. Какие операции над строками вы знаете?
3.5 Задания
Вариант 1.
Составьте программу, в которой вводится слово с клавиатуры, а выводится на печать само слово, первая и последняя буквы вместе.
Вариант 2.
Введите два слова с клавиатуры. Соедините их, определите длину полученного слова. Напечатайте введенные слова, полученное слово и его длину.
Вариант 3.
Из слова «Черепаха» получите:
¾ Слово «чех»;
¾ Слово «папаха»;
¾ Число 8;
¾ Число 3.
Вариант 4.
Составьте программу, которая вырезает пять символов из данного текста, соединяет эту вырезку со вторым текстом и определяет длину полученного слова.
Вариант 5.
Введите с клавиатуры три слова и соедините их в предложение. Напечатайте полученное предложение и длину каждого слова.
Вариант 6.
Составьте программу, которая получает следующие слова из «квартира» и определяет их длину:
¾ тир;
¾ рита;
¾ тара.
Вариант 7.
Составьте программу, которая заменяет три последние буквы введенного с клавиатуры слова на символ «f». Длину слова и результаты напечатать.
Вариант 8.
Составьте программу, которая получает из слова «смешной» слово «смешная».
Вариант 9.
Получите слово из заданного с клавиатуры слова, заменяя в нем вторую букву на букву «о».
Вариант 10.
Написать программу для получения из строки «17, 4, 21»:
¾ 1721;
¾ 38;
¾ 4.
Вариант 11.
Из слова «Салака» получить слова:
¾ Собака;
¾ Сало;
¾ Ласка.
Напечатайте их длину.
Вариант 12.
Из слова «Бригантина» напишите программу для получения слов и цифр:
¾ Бриг;
¾ бант;
¾ тина;
¾ 10.
1. Одномерные массивы
1.1. Что такое одномерный массив.
1.2. Описание одномерного массива
1.3. Операции с одномерными массивами.
1.4. Стандартные процедуры обработки одномерных массивов.
1.5. Некоторые примеры решения задач на массивы.
1.6. Вопросы
1.7. Задания
2. Двумерные массивы
2.1. Что такое двумерный массив.
2.2. Описание двумерного массива
2.3. Операции с двумерными массивами.
2.3. Стандартные процедуры обработки двумерных массивов.
2.5. Некоторые примеры решения задач на массивы.
2.6. Вопросы
2.7. Задания
3. Строки.
3.1. Описание строки.
3.2. Операции со строками.
3.3. Некоторые примеры решения задач на строки.
3.4. Вопросы
3.5. Задания
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 |


