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

Программирование Помощь с решением задач на Prolog Задачи на строки и файлы Количество гласных букв в строке (Visual Prolog)

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

Просмотр 1 сообщения - с 1 по 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", Количество).

    Вложения:
    Вы должны войти для просмотра вложений.
Просмотр 1 сообщения - с 1 по 1 (всего 1)

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