Три задачки на строки. - Pascal
Формулировка задачи:
1)В ведённой строке удвойте вхождение каждой буквы, кроме буквы Б
2)Дана строка найти все слова длиннее 9 букв и вывести на экран все эти слова.
3)Дан текст определить сколько раз встречается заданная буква.
Решение задачи: «Три задачки на строки.»
textual
Листинг программы
var s,s1:string;
i,j,k:byte;
begin
writeln('Введите строку из слов, разделенных пробелами');
readln(s);
s:=' '+s+' ';
writeln('Слова длиннее 9 букв');
i:=2;
k:=0;
while i<length(s) do
if(s[i]<>' ')and(s[i-1]=' ')then
begin
s1:='';
j:=i;
while(j<=length(s))and(s[j]<>' ') do
begin
s1:=s1+s[j];
j:=j+1;
end;
if length(s1)>9 then
begin
k:=1;
writeln(s1);
end;
i:=i+length(s1);
end
else i:=i+1;
if k=0 then write('Таких слов нет')
end.
Объяснение кода листинга программы
- Объявляются переменные:
s, s1: string(строковые переменные для хранения вводимой строки и текущего слова),i, j, k: byte(переменные для циклов и условий).
- Программа запрашивает у пользователя ввод строки из слов, разделенных пробелами.
- Введенная строка добавляется пробелы в начале и в конце, чтобы правильно обрабатывать первое и последнее слово.
- Начинается поиск слов длиннее 9 букв в строке:
- Устанавливается значение
iравным 2, аkравным 0. - Запускается цикл, проверяющий каждый символ в строке:
- Если текущий символ не равен пробелу и предыдущий символ равен пробелу, то начинается формирование текущего слова.
- Слово формируется циклом, который записывает каждый символ в переменную
s1до тех пор, пока не встретится пробел. - Если длина текущего слова больше 9 символов, устанавливается значение
kна 1 и выводится это слово. - Значение
iустанавливается равнымiплюс длина текущего слова. - Если условие не выполнено, значение
iувеличивается на 1.
- Устанавливается значение
- Если ни одно слово длиннее 9 символов не найдено, программа выводит сообщение
Таких слов нет. Этот код находит слова длиннее 9 букв во введенной строке и выводит их на экран.