Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Условия задач.doc
Скачиваний:
8
Добавлен:
18.11.2019
Размер:
253.95 Кб
Скачать

Обработка строк и символов

Пример 1. Вводятся строка и символ. Определить количество заданных символов во введенной строке.

Program primer;

Var st: string; c: char;

k, n, i: integer;

begin

write(‘stroka=’); readln(st);

write(‘simvol=’); readln(c);

n:= length(st);

k:=0;

for i:=1 to n do

if st[i]=c tnen inc(k);

writeln (‘k=’, k);

readln;

end.

  1. Определить количество "2" и "3" во введенной строке.

  2. Определить, имеются ли во введенной строке следующие подряд две "4".

Резерв 1. Дана последовательность слов из латинских букв. Соседние слова отделены друг от друга пробелом. Определить количество слов, которые начинаются с буквы a.

Пример 2. Заменить во введенной строке все цифры символом *.

Program primer;

Var st: string;

n, i: integer;

begin

write(‘stroka=’); readln(st);

n:= length(st);

for i:=1 to n do

if (st[i]>=’0’) and (st[i]<=’9’) then st[i]:=’*’;

writeln (‘st=’, st);

readln;

end.

  1. Заменить во введенной строке попарно символы: ‘a’ – ‘x’ , ‘b’ – ‘y’, ‘c’ – ‘z’.

  2. Введена строка маленьких латинских букв. Преобразовать ее, превратив маленькие буквы в большие.

Резерв 1. В I в н.э. Ю. Цезарь во время войны с галлами, переписываясь со своими друзьями в Риме, заменял в сообщении первую букву латинского алфавита (A) на четвертую (D), вторую (B) – на пятую (E), наконец, последнюю – на третью:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Напишите программу – шифратор, заменяющую введенный текст кодом (если встречаются цифры или другие символы (точка, запятая и т.д.) оставить их без изменения).

Пример 3. Удалить из введенной строки все символы ‘3’.

Program primer;

Var st1, st: string;

i: integer;

begin

write(‘stroka=’); readln(st);

for i:=1 to length(st) do

if st[i]<>’3’ then st1:=st1+st[i];

writeln (‘st1=’, st1);

readln;

end.

Program primer;

Var st: string;

i: integer;

begin

write(‘stroka=’); readln(st);

i:=1;

repeat

if st[i]=’3’ then delete(st, i, 1) else i:=i+1;

until i=length(st);

writeln (‘st=’, st);

readln;

end.

  1. Преобразовать введенную строку так, чтобы из нее были удалены буквы с ASCII - кодами от 70 до 75.

  2. Напечатать текст удалив из него все лишние пробелы, т.е. из нескольких подряд идущих пробелов оставить только один.

Пример 4. Введенную строку преобразовать так, чтобы после каждого слова следовала точка.

Program primer;

Var st: string;

i: integer;

begin

write(‘stroka=’); readln(st);

i:=1;

repeat

if (st[i]<>’ ’) and (st[i+1]=’ ’) then begin insert(‘.’, st, i+1); i:=i+2; end else i:=i+1;

until i=length(st);

writeln (‘st=’, st);

readln;

end.

  1. Введенную строку букв и цифр преобразовать так, чтобы после каждой цифры следовал пробел.

  2. Напечатать заданный непустой текст, удвоив знаки ‘+’ и ‘-‘.

Резерв 1. В заданном тексте слова перечислены через запятую. Распечатать слова текста в столбик.

Пример 5. Найти сумму цифр введенной строки, содержащей цифры и буквы.

Program primer;

Var st: string;

i, x, k, s: integer;

begin

write(‘stroka=’); readln(st);

s:=0;

for i:=1 to length(st) do

begin

val(st[i],x,k);

if k=0 then s:=s+k;

end;

write(‘s=’,s);

readln;

end.

  1. Найти произведение четных цифр введенной строки, содержащей цифры и буквы.

  2. Удалить из введенной строки все цифры, кратные 3.

Резерв 1. Преобразовать введенную строку так, чтобы сначала были расположены цифры, потом остальные символы.