Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Новая методичка.rtf
Скачиваний:
6
Добавлен:
22.07.2019
Размер:
7.64 Mб
Скачать

Var Str:string; otvet, I, n: integer;

begin

i =0; otvet:=0; N:=StrToInt(Edit1.Text);

if N<>length (Str) then begin Label5.Caption:= ’Ошибка!

Длина строки должна быть равна числу N’;

Edit1.Text:=’ ’;Edit2.Text:=’ ’; Edit3.Text:= ’ ’; Exit; end;

if Length(Edit3.Text)<>3 then begin

Label5.Caption:=’Ошибка!

Искомая комбинация должна содержать 3 символа’;

Edit1.Text:=”; Edit2.Text:=”; Edit3.Text:=”; Exit; end;

while i<N do begin i:=i+1;

if (str[i]=Edit3.Text[1]) and (str[i+1]=Edit3.Text[2]) and

(str[i+2]=Edit3.Text[3]) then begin i:=i+2;

Otvet:=otvet+1; end; end;

Label5.Caption:=’Ответнайдено

+IntTostr(otvet)+’искомых комбинаций’;

end;

Задание к лабораторной работе №6

  1. Даны целое число N, символы S1,S2,…,SN . Подсчитать, сколько раз среди данных символов встречается буква X.

  2. Даны: целое число N, символы S1,S2,…,SN. Подсчитать:

  • сколько раз среди данных символов встречается символ "+" и сколько раз символ "*";

  • общее число вхождений символов "+" и "*" в последовательность.

  1. Даны целое число N, символы S1,S2,…,SN. Преобразовать последовательность S1,S2,…,SN, заменив в ней:

  • все восклицательные знаки точками;

  • каждую точку многоточием, т.е. тремя точками;

  • каждую из групп, стоящих рядом точек одной точкой;

  • каждую из групп стоящих рядом точек (многоточием).

  1. Даны: целое число N, символы S1,S2,…,SN, среди которых есть двоеточие:

  • получить все символы, расположенные до первого двоеточия включительно;

  • получить все символы, расположенные после первого двоеточия включительно;

  • получить все символы, расположенные между первым и вторым двоеточием. Если второго двоеточия нет, то получить все символы, расположенные после единственного имеющегося двоеточия;

  1. Даны: целое число N, символы S1,S2,…,SN:

  • подсчитать наибольшее количество идущих подряд пробелов;

  • выяснить, имеются ли в данной последовательности пять подряд идущих букв Е;

  1. Даны: целое число N, символы S1,S2,…,SN. Выяснить, имеются ли в последовательности подряд идущие запятая и тире.

  2. Даны: целое число N, символы S1,S2,…,SN. Выяснить, имеются ли в последовательности подряд идущие три запятые и тире.

  3. Даны: целое число N, символы S1,S2,…,SN. Получить номер первого элемента в данной последовательности, расположенного между двумя буквами А. Если такой элемент отсутствует, то ответ должен быть 0.

  4. Даны: целое число N, символы S1,S2,…,SN. Определить число вхождений в последовательность букв: АВС; АВА.

  5. Даны: целое число N, символы S1,S2,…,SN. Заменить каждую последовательность букв CHILD на CHILDREN.

  6. Даны: целое число N, символы S1,S2,…,SN. Исключить из данной последовательности группы символов, расположенные между круглыми скобками. Сами скобки тоже исключить. Предполагается, что внутри круглых скобок других круглых скобок нет.

  7. Даны: целое число N, символы S1,S2,…,SN. Преобразовать последовательность, если нет символов *, то оставить без изменений, иначе заменить каждый символ, встречающийся после первого вхождения символа * на символ –.

  8. Даны: целое число N, символы S1,S2,…,SN. Преобразовать последовательность, удалив из нее все запятые, предшествующие первой точке, и заменив знаком + все цифры "3", встречающиеся после первой точки.

  9. Даны: целое число N, символы S1,S2,…,SN. Группы символов, разделенных пробелами, одним или несколькими, и не содержащих пробелов внутри себя, будем называть словами:

  • подсчитать количество слов в данной последовательности;

  • найти количество слов, начинающихся с буквы А;

  • найти количество слов, у которых первый и последний символы совпадают друг с другом;

  • найти какое-нибудь слово, начинающееся с буквы А.

  1. Задан массив строковых переменных F$, каждый элемент которого состоит из фамилии студента и его оценки за экзамен. Составьте программу сортировки элементов массива строковых переменных по алфавиту фамилий. Введите в память ЭВМ массив : IVANOV 4, PETROV 4, SIDOROV 3, VASILIEV 2, FEDOROV 5, ALEKSEEV 4. Используя составленную вами программу, проведите сортировку массива F$ по алфавиту и напечатайте его элементы в следующем виде:

Family name

Mark

1

ALEKSEEV

4

2

FEDOROV

5

….

………….

………

Кроме того, в Вашу программу должны быть включены операторы расчета количества number различных оценок mark и определения среднего арифметического значения оценок группы студентов middle mark и выдачи этих данных на печать в виде number of.

16. Разработайте и напишите программу анализа текста. Она должна воспринимать фрагмент текста как предложение и вычислять частоту появления входящих в него слов. Таким образом, как только при обработке текста встречается новое слово, оно должно запоминаться в таблице со значением частоты появления, равной 1; если обнаруженное слово не является новым, то определяется его положение в таблице и соответствующее ему значение частоты появления увеличивается на 1. Отсортируйте результаты и изобразите слова в порядке алфавита с указанием частоты их появления.

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