С клавиатуры вводится текст. Слова разделяются пробелом. Ввод текста прекращается после...

0 голосов
145 просмотров

С клавиатуры вводится текст. Слова разделяются пробелом. Ввод текста прекращается после нажатия на клавиатуре точки. Посчитать количество цифр в этом тексте.
Программа на языке Pascal


Информатика (12 баллов)
оставил комментарий Архангел (142k баллов)

Можно уточнить, какая именно версия Pascal? Потому что версии для Windows (например, PascalABC.Net) при вводе используют стандартные процедуры Windows и обработка ввода в них всегда заканчивается по нажатию клавиши Enter - в этом случае мы не можем в процессе ввода отслеживать нажатие клавиши с точкой и только в уже введенной строке вынуждены обрабатывать строку до первой точки.

Дан 1 ответ
0 голосов
Начинающий (918 баллов)

Var
str : string;
i, num : integer;
begin
readln(str);
num := 0;

for i := 1 to length(str) do
if str[i] in ['0'..'9'] then
num := num + 1;

writeln(num);
end.

оставил комментарий Архангел (142k баллов)

У Вас не использовано условие "Ввод текста прекращается после нажатия на клавиатуре точки".

оставил комментарий Начинающий (918 баллов)

Иногда данное условие превращают в "Концом текста является точка", именно об это я и подумал. Плюс, наверное, в условие было не количество цифр, а количество чисел, но это уже не моё дело.

оставил комментарий Начинающий (918 баллов)

условии*

оставил комментарий Архангел (142k баллов)

На точку Вы тоже не проверяете.

оставил комментарий Начинающий (918 баллов)

Окей, ладно, признаю, был не прав. Если действительно углубляться в суть вопроса и делать Именно так, как в сказано в условии, то моё решение не подойдёт

...