Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_работа_2_экон_осень_2012_2.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
100.86 Кб
Скачать

I, {номер обрабатываемого символа }

kol_sl, { количество слов в строке }

dl_sl { длина очередного слова в строке }

:integer;

st :string; { исходная строка }

fl : Boolean; {индикатор – слово найдено или нет }

begin

{ задание символов-разделителей слов в строке }

razd:=[' ',',','.',':','!'];

writeln(‘Введите строку для обработки ’);

Readln (st);

i:=1; { обработка начинается с первого символа строки}

kol_sl:=0; {до обработки строки количество слов = 0 }

while ( i<=length(st)) do {обеспечение перебора всех

символов строки }

begin

fl := false; {пока слово не обнаружено }

{ цикл перебора символов текущего слова }

while (i<=length(st)) and (not (st[i] in razd)) do

begin

fl := true; {слово обнаружено }

i:=i+1; {переход к очередному символу строки }

end;

if fl = true

then kol_sl:= kol_sl+1;

i:=i+1; {переход к очередному символу строки }

end;

writeln (‘ В строке ‘ , st ,

обнаружено ‘, kol_sl, ‘слов’);

readln;

end.

{ Определение количества слов в строке. Использование длины слова}

Program Strings_2a;

var

razd:set of char; {множество предполагаемых

разделителей слов в строке }

I, {номер обрабатываемого символа }

kol_sl, { количество слов в строке }

dl_sl { длина слова }

:integer;

st,st1,max,min:string;

begin

{ задание символов-разделителей слов в строке }

razd:=[' ',',','.',':','!'];

writeln(‘Введите строку для обработки ’);

Readln (st);

i:=1; { обработка начинается с первого символа строки}

kol_sl:=0; {до обработки строки количество слов = 0 }

while ( i<=length(st)) do {обеспечение перебора всех

символов строки }

begin

dl_sl:=0; {длина текущего слова}

{ цикл перебора символов текущего слова }

while (i<=length(st)) and (not (st[i] in razd)) do

begin

dl_sl:= dl_sl+1;

i:=i+1; {переход к очередному символу строки }

end;

if dl_sl > 0

then {было слово} kol_sl:= kol_sl+1;

i:=i+1; {переход к очередному символу строки }

end;

writeln (‘ В строке ‘ , st ,

обнаружено ‘, kol_sl, ‘слов’);

readln;

end.

{ Распечатка в столбик слов заданной строки с их номерами}

Program Strings_3;

var

razd:set of char;

I, {номер обрабатываемого символа }

kol_sl, { количество слов в строке,

оно же – порядковый номер }

dl_sl {длина очередного слова}

: integer;

st, {исходная строка }

wrd {текущее слово }

: string;

begin

razd:=[' ',',','.',':','!'];

writeln(‘Введите строку для обработки ’);

Readln (st);

i:=1; { обработка начинается с первого символа строки}

kol_sl:=0; {до обработки строки количество слов = 0 }

while ( i<=length(st)) do {обеспечение перебора всех

символов строки }

begin

dl_sl:=0; {длина текущего слова}

wrd := ‘’; { нач. значение – пустая строка}

{ цикл перебора символов текущего слова }

while (i<=length(st)) and (not (st[i] in razd)) do

begin

dl_sl:= dl_sl+1;

wrd := wrd + st[ i ]; {формирование текущего

слова из букв}

i:=i+1; {переход к очередному символу строки }

end;

if dl_sl > 0

then begin

kol_sl:= kol_sl+1;

writeln ( kol_sl, ‘ ‘, wrd);

end;

i:=i+1; {переход к очередному символу строки }

end;

readln;

end.

{ Поиск палиндромов среди слов заданной строки }

Program Strings_3;

var

razd:set of char;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]