Количество гласных букв в строке (Visual Prolog)

      Комментарии к записи Количество гласных букв в строке (Visual Prolog) отключены

В этой теме 0 ответов, 1 участник, последнее обновление  Васильев Владимир Сергеевич 1 месяц назад.

  • Автор
    Сообщения
  • #4195

    Необходимо подсчитать количество гласных букв в строке на Visual Prolog 5.2:

    Напишем два предиката, один будет проверять что буква является гласной, а другой – считать количество таких букв в строке:

    predicates
    	nondeterm количество_гласных(string, integer)
    	nondeterm гласная(char)

    Реализовать проверку гласных букв можно по-разному, но самый примитивный вариант – перечислить все такие буквы:

    clauses
      	гласная('e').
      	гласная('y').
      	гласная('u').
      	гласная('i').
      	гласная('o').
      	гласная('a').
      	гласная('E').
      	гласная('Y').
      	гласная('U').
      	гласная('I').
      	гласная('O').
      	гласная('A').

    Подсчет количества гласных сводится к перебору символов строку и проверки каждого символа на гласность. Если Он является гласным – то к счетчику прибавляется единица:

      	количество_гласных("", 0).
      	количество_гласных(Строка, Количество):-
      		frontchar(Строка, Буква, ОстатокСтроки),
      		гласная(Буква),
      		количество_гласных(ОстатокСтроки, ОстатокКоличества),
      		Количество = ОстатокКоличества + 1;
      		frontchar(Строка, Буква, ОстатокСтроки),
      		NOT(гласная(Буква)),
      		количество_гласных(ОстатокСтроки, Количество).

    Выделение символов строки обеспечивается с помощью встроенный функции frontchar.
    Проверим результат работы:

    goal
    	количество_гласных("Hello world", Количество).

Для ответа в этой теме необходимо авторизоваться.