У вас вопросы?
У нас ответы:) SamZan.net

Разобрать процедуру GetWord которая находит fp ~ первую позицию слова lp ~ последнюю позицию слова в строке

Работа добавлена на сайт samzan.net: 2016-03-30

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 18.2.2025

Практическое занятие (строки)

1. Разобрать процедуру GetWord, которая находит fpпервую позицию слова, lpпоследнюю позицию слова в строке.

const Lat=['a'..'z','A'..'Z'];

Procedure GetWord(s:string;var fp,lp:integer);

begin

 while (fp<=length(s)) and not (s[fp] in Lat) do fp:=fp+1;

 lp:=fp;

 while (lp<=length(s)) and (s[lp] in Lat) do lp:=lp+1;

 lp:=lp-1;

end;

2. Решить задачу:

Дана строка символов. Заменить в тексте слово, содержащее заданный фрагмент на другое заданное слово, посчитать количество таких замен.

const Lat=['a'..'z','A'..'Z'];

Procedure GetWord(s:string;var fp,lp:integer);

begin

 while (fp<=length(s)) and not (s[fp] in Lat) do fp:=fp+1;

 lp:=fp;

 while (lp<=length(s)) and (s[lp] in Lat) do lp:=lp+1;

 lp:=lp-1;

end;

Procedure Alg(var s:string;fr,z:string; var k:integer);

var i,fp,lp:integer; word_: string;

begin

  i:=1; k:=0;

  while i<=length(s)do begin

     fp:=i;

     GetWord(s,fp,lp);

     word_:= Copy (s,fp,lp-fp+1);

     if Pos(fr,word_)>0 then begin

       delete(s,fp,lp-fp+1);

       insert(z,s,fp);

       i:=fp+length(z)+1;

       k:=k+1;

     end

     else

     i:=lp+1;

   end;

end;

var s,fr,z:string; k:integer;

begin

 writeln('Введите строку');   Readln (s);

 writeln('Введите фрагмент'); Readln (fr);

 writeln('Введите новое слово'); Readln (z);

 Alg(s,fr,z,k);

 writeln(' Результат :',s);

 writeln(' Кол-во :',k);

end.

3. Решить задачу:

Дана строка символов. Переписать наоборот каждое слово, посчитать количество слов.

const Lat=['a'..'z','A'..'Z'];

Procedure GetWord(s:string;var fp,lp:integer);

begin

 while (fp<=length(s)) and not (s[fp] in Lat) do fp:=fp+1;

 lp:=fp;

 while (lp<=length(s)) and (s[lp] in Lat) do lp:=lp+1;

 lp:=lp-1;

end;

Procedure Change(var s:string);

var i,l:integer; c:char;

begin

 l:=length(s);

 for i:=1 to l div 2 do begin

   c:=s[i]; s[i]:=s[l-i+1];  s[l-i+1]:=c;

 end;

end;

Procedure Alg(var s:string; var k: integer);

var i,fp,lp:integer; word_: string;

begin

  i:=1; k:=0;

  while i<=length(s)do begin

     fp:=i;

     GetWord(s,fp,lp);

     word_:= Copy(s,fp,lp-fp+1);

     change(word_);

     delete(s,fp,lp-fp+1);

     insert(word_,s,fp);

     i:=lp+1;

     k:=k+1;

   end;

end;

var s:string; k:integer;

begin

 writeln('Введите строку');

 Readln (s);

 Alg(s,k);

 writeln('Результат :',s);

 writeln('Количество слов:',k);

end.

4. Решить задачу:

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

const Lat=['a'..'z','A'..'Z'];

Procedure GetWord(s:string;var fp,lp:integer);

begin

 while (fp<=length(s)) and not (s[fp] in Lat) do fp:=fp+1;

 lp:=fp;

 while (lp<=length(s)) and (s[lp] in Lat) do lp:=lp+1;

 lp:=lp-1;

end;

Procedure Alg(var s:string; var k: integer);

var i,fp,lp:integer; word_: string;

begin

  i:=1; k:=0;

  while i<=length(s)do begin

     fp:=i;

     GetWord(s,fp,lp);

     word_:= Copy(s,fp,lp-fp+1);

     if word_[1]=word_[length(word_)] then begin

       k:=k+1;

       writeln(word_);

     end;

     i:=lp+1;

   end;

end;

var s:string; k:integer;

begin

 writeln('Введите строку');

 Readln (s);

 Alg(s,k);

 writeln('Результат :',s);

 writeln('Количество слов:',k);

end.




1. Реферат- Клиникопсихологическая характеристика акцентуаций
2. 17 января 2013 г. Протокол 6 Расчет рейтинга текущего контроля знаний студента по социологии Пе
3. реферат дисертації на здобуття наукового ступеня кандидата біологічних наук.2
4. Оперативные переключения на ТЭС
5.  Спишите предложения дайте каждому из них характеристику
6. Сравнительная характеристика СССР и Российской Федерации
7. XII 400312 від 24.02.94 ВВР 1994 N 25 ст
8. Статья- Базилика Сен-Дени
9. Философско-политические воззрения Hиколо Макиавелли и современность
10. Основы криптографической защиты информации