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

Замечание.
Сколько слов в строке? Делаем упрощение. Между словами у нас что? Правильно - символ пробела!
Самое простое решение, основанное на том, что строка всегда заканчивается символом точки.
Решение №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.
После изучения этих примеров, можете смело переходить к созданию собственного решения!
Задача на Паскаль. «Лесенка» чисел Задача на проверку символьных цепочек, с использованием букв А и Б.