- 281 -
добавим единицу, если первый символ – цифра, и ноль, если первый символ
– не цифра.
Пролог-программа:
dig(C,1):–
‗0‘<=C,C<=‘9‘,!. /* C — цифра*/
dig(_,0).
count_digit("",0):–!. /* В пустой строке цифр нет */
count_digit(S,N):–
frontchar(S,C,S2),
/* C — первый символ строки S,
S2 — хвост строки S */
dig(C,M), /* M равен единице, если C —
цифра, и нулю — иначе */
count_digit(S2,N2),
/* N2 — количество цифр
в строке S2*/
N=N2+M. /* Количество цифр во всей
строке больше на единицу,
чем количество цифр
в хвосте, если первый символ
строки — цифра, и равно
количеству цифр в хвосте —
иначе */