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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 20.5.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. Гродномежрайгаззадачи и функции их структурных подразделений
3. перцептивные процессы Ощущения Ключевые понятия Сенсорнопер
4. тема От эффективности их функционирования во многом зависят не только хозяйственная активность и экономиче
5. - подотраслью права; - правовым институтом; - правильный ответ отсутствует
6. Цели обучения- Быстрое формирование профессиональных навыков для самостоятельной работы бухгалт
7. а на носках руки за головой; б скрестным шагом на внешней стороне стопы
8. Видавництво Країна Мрій 2012 ЧАСТИНА 1 ПОПІЛ РОЗДІЛ 1 Опустивши очі долі я зб
9. Тема 8 для 11а класса
10. пособие по написанию и правилам оформления курсовых работ для студентов направления 080500 Бизнесинформат