Задача на Паскаль. Количество слов в строке.


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


Дана строка, заканчивающаяся точкой. Подсчитать, количество слов в строке.


задача на паскаль, количество слов в строке http://inphormatika.ru

Замечание.


Сколько слов в строке? Делаем упрощение. Между словами у нас что? Правильно - символ пробела!


Самое простое решение, основанное на том, что строка всегда заканчивается символом точки.


Решение №1.


program stroki;

var s:string;
k,i:integer;
begin write(Введите строку:);
readln(s);
s:= +s;
for i:=1 to length(s) do
if s[i]= then k:=k+1;
writeln(k);
end.

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


Решение №2.


Program slov_v_stroke;

Var stroka:string;
dlina,i,k:integer;
Begin
k:=0; // обнуляем количество строк
write(Введите строку: );
readln(stroka);
dlina:=length(stroka); // определяем длину строки
//если последний символ строки не содержит точки
if stroka[length(stroka)]<>. then writeln(Это неправильная строка!)
else
case dlina of
1: writeln(В строке нет слов!); // в единичной строке нет слов
2: begin k:=1; write(Слов в строке=,k); end;
else
begin
k:=1; // изначально, у нас уже есть одно слово
i:=2;
while (i<dlina) do
begin
if ord(stroka[i])=32 then
// Делаем проверку на лишние пробелы
if (ord(stroka[i])=32) and (ord(stroka[i-1])<>32) then
k:=k+1; // увеличиваем количество слов
i:=i+1;
end;
write(Слов в строке=,k); // выводим результат
end;
end;
End.

После изучения этих примеров, можете смело переходить к созданию собственного решения!


Задача на Паскаль. «Лесенка» чисел