
Дана строка S, подсчитать количество слов в строке. Словом, считать набор символов любой длины
(от 1 до 255), кроме знаков препинания и цифр. Если в строке есть прописные латинские буквы, то их удалить. На Паскале нужно

Ответы на вопрос

Программа:
Pascal:
var
str, st: string;
count, i: integer;
c: char;
begin
write('Введите строку: '); readln(str);
st := str;
str := ' ' + str;
for i := 1 to length(str) - 1 do
if (str[i + 1] <> ' ') and (str[i] = ' ') then inc(count);
writeln('Слов в строке: ', count);
for c := 'A' to 'Z' do
while pos(c, st) > 0 do
delete(st, pos(c, st), 1);
writeln('Заменённая строка: ', st);
end.



Для решения данной задачи на Паскале можно использовать следующий алгоритм:
1. Создать переменные count и wordCount, инициализировать их значением 0. 2. Пройтись по каждому символу в строке S с помощью цикла. 3. Проверить, является ли текущий символ буквой. Если да, то перейти к следующему символу. 4. Если текущий символ не является буквой, увеличить значение переменной count на 1. 5. Если текущий символ является пробелом или символом конца строки, проверить значение переменной count. - Если count больше 0, увеличить значение переменной wordCount на 1 и сбросить значение переменной count в 0. - Если count равно 0, перейти к следующему символу. 6. После завершения цикла, проверить значение переменной count. - Если count больше 0, увеличить значение переменной wordCount на 1. 7. Вывести значение переменной wordCount - это будет количество слов в строке S.
Пример кода на Паскале:
``` program CountWords; var S: String; count, wordCount, i: Integer; begin S := 'Дана строка S, подсчитать количество слов в строке. Словом, считать набор символов любой длины (от 1 до 255), кроме знаков препинания и цифр. Если в строке есть прописные латинские буквы, то их удалить.'; count := 0; wordCount := 0;
for i := 1 to Length(S) do begin if not (S[i] in ['a'..'z', 'A'..'Z']) then Inc(count);
if (S[i] = ' ') or (S[i] = #13) or (S[i] = #10) then begin if count > 0 then begin Inc(wordCount); count := 0; end; end; end;
if count > 0 then Inc(wordCount);
WriteLn('Количество слов в строке S: ', wordCount); end. ```
В данном примере строка S инициализируется значением, указанным в задаче. Затем происходит подсчет количества слов с помощью описанного выше алгоритма. Результат выводится на экран.


Похожие вопросы







Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili