Хелпикс

Главная

Контакты

Случайная статья





1. Постановка задачи. Дано: s – строка символов из слов, разделенных символом пробела. Надо: вывести список слов строки. Находим позицию i-того символа пробела, начиная с первого символа с помощью функции pos. Если i<>0 (пробел найден), выделяем сим



1. Постановка задачи

Дано: s – строка символов из слов, разделенных символом пробела. Надо: вывести список слов строки. Находим позицию i-того символа пробела, начиная с первого символа с помощью функции pos. Если i< > 0 (пробел найден), выделяем символы, начиная с 1 по i-1 в отдельную строку с помощью функции copy. Удаляем текущее слово из строки с помощью процедуры delete: начиная с 1 символа, удаляем i символов (слово вместе с разделяющим пробелом).

2. Программный код:

write(‘Введите предложение: ‘); readln(s);

repeat

i: =pos(‘ ‘, s);

if i< > 0 then

begin w: =copy(s, 1, i-1); delete(s, 1, i); end

else w: =s;

writeln(‘слово: ’, w);

until i=0;

 

Пример 3. Составьте программу разбиения строки на слова с формированием из них массива (поскольку заранее неизвестно количество слов в строке, создайте массив w, заведомо больший количества слов n).

Программный код:

var s: string; i, n: integer;          w: array [1.. 200] of string;

begin

write(‘Введите предложение: ‘); readln(s);

n: =1;

repeat

i: =pos(‘ ‘, s);

if i< > 0 then

begin w[n]: =copy(s, 1, i-1); n: =n+1; delete(s, 1, i); end

else w[n]: =s;

until i=0;

for i: =1 to n do writeln(w[i]);

end.

 

Пример 4. Составьте программу поиска самого длинного слова во введенной строке.

К программе примера 3 следует дописать код:

m: =1;

for i: =2 to N do

if length(w[i])> length(w[m]) then m: =i;

writeln(‘Самая длинная строка ‘, w[m], ’ под номером ‘, m);

 

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

1. Как описываются строковые переменные?

2. Какова максимальная длина строки в Pascal?

3. Какие операции допустимы над строками?

4. Назовите стандартные процедуры и функции для работы со строками.

5. В чем отличие строковой переменной от массива символов?

Задания для самостоятельного выполнения

1. Создайте две строки из больших и малых русских букв.

2. Найдите номера букв из введенного слова в массивах, сформированных в задании 1.

3. Разбейте введенную строку на слова, учитывая, что слова могут разделяться пробелами, запятыми и точками.

4. Удалите из строки самое длинное слово.

5. Преобразуйте введенное предложение так, чтобы последовательность слов не изменилась, а сами слова были задом наперед (‘Hello world’ => ’olleH dlrow’, воспользуйтесь инверсией одномерного массива)

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.