double arrow

Основная программа

Uses

op, obrabotka;

Var

str: string; // строка текста

LstSlovo: tLstSlovo; // список слов

KolSlov: byte; // количество слов в тексте

Begin

// ввод исходной строки

WriteLn(’Введите строку текста’);

ReadLn(str);

// обработка строки

KolSlov:=VidelitSlova(str, LstSlovo);

DeleteBukva(LstSlovo, KolSlov);

// вывод найденных слов

PrintSlova(LstSlovo, KolSlov)

End.

Задания для самостоятельного решения.

Вариант 1.

1. Напишите программу подсчета суммарного числа букв ’а’ и ’б’ в заданном тексте. Вывести на экран сообщение, каких букв больше.

2. Дан текст. Преобразовать его следующим образом: если нет символа ’*’, то оставить его без изменений, иначе заменить каждый символ ’*’, встречающийся после первого его вхождения, на символ ’-’.

3. Дана строка в виде предложения, причем известно, что слова отделены друг от друга пробелами. Посчитать, сколько слов начинается с буквы ’T ’.

Вариант 2.

1. Написать программу, удаляющую из данного текста все буквы ’л’.

2. Выяснить, является ли введенное слово перевертышем.

3.Задано предложение Y, состоящее из слов. Проверить, встречается
ли данное слово X в предложении Y.

Вариант 3.

1. Написать программу, которая каждую букву ’б’ заменяет сочетанием ’ку ’.

2. Дана последовательность символов. Преобразовать ее следующим образом: удалить каждый символ ’*’ и повторить каждый символ, отличный от символа ’*’.

3. Дан текст. Преобразовать его следующим образом: удалить группы пробелов, которыми начинается и заканчивается последовательность, а также заменить каждую внутреннюю группу пробелов одним пробелом. Если указанных групп нет в данном тексте, то оставить его без изменений.

Вариант 4.

1. Дан текст. Определить число вхождений в строку, группы букв ’aвс’.

2. Написать программу, подсчитывающую, сколько раз в данном слове X встречается (в качестве его части) слово Y.

3. Дан текст. Написать программу, которая подсчитывает количество слов в тексте учитывая, что между словами может быть по несколько пробелов.

Вариант 5.

1. Дан текст. Выяснить, верно, ли, что в тексте имеется пять идущих подряд букв ’е’.

2. Написать программу, которая каждый встречающийся в строке заданный символ заменяет на заданную последовательность символов, расширяя при этом строку.

3. Дан текст. Написать программу, которая находит самое длинное слово, встречающееся в тексте.

Вариант 6.

1. Дан текст, заменить все вхождения буквы ’а’ на ’о’.

2. Выяснить, является ли введенное слово симметричным.

3. Дана последовательность символов. Преобразовать ее следующим образом: удалить из слов этого текста все предыдущие вхождения последней буквы каждого слова.

Вариант 7.

1. Дан текст, заменить все вхождения заданного слога (сочетания 2-х символов) на заданный символ.

2. Выяснить, сколько в тексте слов перевертышей.

3. Дана последовательность символов. Преобразовать ее следующим образом: удалить из слов этого текста все последующие вхождения первой буквы каждого слова.

Вариант 8.

1. Пусть задано слово длиной не менее 10 символов. Если слово нечетной длины, то удалить его первую букву, если слово четной длины, то удалить его последнюю букву.

2. Дан текст, заканчивающийся точкой (это необходимо в задачах, когда нужно выделить последний символ слова). Подсчитать кол-во слов, у которых первый и последний символы совпадают.

3. Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 1 до 5 букв латинского или русского алфавита; между соседними словами - запятая, за последним словом - точка. Напечатать все слова, которые встречаются в последовательности по одному разу.

Вариант 9.

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

2. Дан текст. Удалить самое короткое слово из текста, учитывая, что все слова разной длины.

3. Дана последовательность слов. Написать программу, которая выведет на печать эту же последовательность слов, но в обратном порядке.

Вариант 10.

1. В заданном слове перенести первую букву в конец слова.

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

3. Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 1 до 5 букв латинского или русского алфавита; между соседними словами - запятая, за последним словом - точка. Напечатать эту же последовательность слов, но удалив из нее повторные вхождения слов.

Контрольные вопросы:

1. Какие существуют способы моделирования строк?

2. Если строка описана как массив символов, можно ли использовать процедуры и функции обработки строки?

3. Какое моделирование строк позволяет использовать для ее обработки, типовые алгоритмы обработки массивов?

4. Можно ли из строки удалить символ (или группу символов), если да, то каким образом и что при этом происходит со строкой?

5. Укажите тип переменной х в операторе присваивания: x:="видео"+"адаптер.

6. Пусть задана программа

Var

st, st1, st2: string;

Begin

st1:= ’инфо’;

st2:=’мати’;

st:=st1+’р’+st2+’ка’;

WriteLn(st);

End.

Чему будет равно значение переменной st=___________

7. Строка а “аромат’, строка b равна “финик’. Известны алгоритмы образования строк a и b из строки n:

a:=n[11]+n[5]+n[4]+n[6:8]

b:=n[3]+n[1:2]+n[9]+n[10]

Строка n=______________________

8. Пусть задана программа

Var

st, subst: string;

k: integer;

Begin

st:=‘Мама мыла раму’;

subst:=’ма’;

k:=pos(subst, st);

WriteLn(k);

end.

Чему будет равно значение переменной k=__________________

9. Пусть задана программа

Var

st: string;

k: integer;

Begin

st:= ’Динамическое программирование.’;

k:=Length(st);

WriteLn(k);

end.

Чему будет равно значение переменной k=__________________

10. Пусть задана программа

Var

st: string;

k, i: integer;

Begin

st:= ’Программирование’;

k:=Length(st);

i:=1;

while i<=k do

if st[i]=’р’ then

Delete(st, i, 1)

Else

i:=i+1;

WriteLn(st)

end.

Чему будет равно значение переменной st=__________________



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: