1. Дана строка символов. Подсчитать количество цифр в строке
var s:string; i,k:integer;
begin
write('s='); readln(s);
k:=0;
for i:=1 to length(s) do
if (s[i]>='0') and (s[i]<='9') then inc(n);
writeln('n=',n);
end.
4
uses crt;
var s:string;s1:char;
i:integer;
begin
writeln('Введите строку');
readln(s);
i:=1;
while i<=length(s) do
begin
if s[i]='a' then begin insert('a',s,i); i:=i+1 end;
i:=i+1;
end;
writeln(s);
end.
2. В строке удвоить заданную букву.
5
uses crt;
const n=3;
var s:array[1..n] of string;
i,j:integer; s1:string;
begin
writeln(‘введите ',n, ' слов');
for i:=1 to n do
readln(s[i]);
s1:='a';
for i:=1 to n do
for j:=1 to length(s[i])+2 do
if copy(s[i],j,1)='a' then begin insert(s1,s[i],j); j:=j+1 end;
for i:=1 to n do
writeln(s[i]);
end.
3. Дано n слов. Удвоить буквы ‘а’.
6
uses crt;
const n=6;
var s:array[1..n] of string[7]; i,j,k:integer;
begin
writeln(n, ' slov');
for i:=1 to n do
begin
write(i,'=');
readln(s[i]);
end;
k:=0;
for i:=1 to n do
if s[i][1]=s[i][length(s[i])]
then begin k:=k+1; writeln(s[i]);end;
writeln('k=',k);
end.
4. Дано n слов. Подсчитать количество слов, имеющих одинаковые первую и последнюю буквы и выдать их на экран.
7
uses crt;
const p=5;
var s:array[1..p] of string[7];
i,j,m,n,k:integer;
begin
writeln(p,' slov');
for i:=1 to p do
begin
write(i,'=');
readln(s[i]);
end;
5. Даны р слов. Определить в каком слове больше букв ‘r’.
8
m:=0;
for i:=1 to p do
begin
k:=0;
for j:=1 to length(s[i]) do
if s[i][j]='r' then k:=k+1;
if k>m then begin m:=k;n:=i; end;
end;
writeln('v slove s nomerom ',n,' r=',m);
write('k=',k);
end.
uses crt;
const n=5;
var s:array[1..n] of string;
i,k,max:integer;
begin
writeln('vvedite ',n,' slov');
for i:=1 to n do
readln(s[i]);
6. Найти самое длинное слово и убрать его из массива.
9
max:=0;
for i:=1 to n do
if length(s[i])>max then
begin
max:=length(s[i]);
k:=i;
end;
delete(s[k],1,length(s[k]));
writeln('новый массив');
for i:=1 to n do
writeln(s[i]);
end.
uses crt;
const n=3;
var s:array[1..n] of string; i,j:integer; s1:string;
begin
writeln('vvedite ',n,' slov');
for i:=1 to n do
readln(s[i]);
for i:=1 to n do
begin
delete(s[i],3,1);
insert('tu',s[i],3);
end;
for i:=1 to n do
writeln(s[i]);
end.
7. Дан массив слов. Заменить в словах третью букву на слог ‘tu’.
10
Домашнее задание
Дана строка символов. Найти слово, которое имеет четную длину и начинается с заданного символа.
Дан массив слов. Вывести на печать слова, в которых три и более букв «о».
Дан массив слов. Стереть все буквы ‘a’, начиная с третьей.
Пройти тест «Строковый тип» на портале электронного обучения.
11
Контрольные вопросы
Как в программе обозначается строковая константа, как определяется строковая переменная?
Какой может быть максимальная длина строки?
Что является результатом каждой функции, предназначенной для выполнения операций над строками?
Что является результатом действия функции length(s)?
Что является результатом действия функции Pos(s)?
12
© ООО «Знанио»
С вами с 2009 года.