Найти количество чисел в тексте - Prolog

Узнай цену своей работы

Формулировка задачи:

Как найти количество чисел (то есть любая последовательность цифр ) в тексте?

Решение задачи: «Найти количество чисел в тексте»

textual
Листинг программы
predicates
 
isdigit(char)
count_rec(string,integer,integer,integer)
count(string,integer)
 
clauses
 
isdigit(C) :- C <= '9', C >= '0'.
 
count(Text, Num) :- count_rec(Text, 1, 0, Num).
 
count_rec("", _, Num, Num) :- !.
count_rec(Text, State, Accum, Num) :- 
    frontchar(Text, Ch, Rest),
    isdigit(Ch),
    !,
    NewAccum = Accum + State,
    count_rec(Rest, 0, NewAccum, Num).  
count_rec(Text, _, Accum, Num) :- 
    frontchar(Text, _, Rest),
    count_rec(Rest, 1, Accum, Num). 
 
goal
 
Text = "12a7b23c01",
count(Text, Num),
write(Text, " -> ", Num), nl.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы