Форум программистов, компьютерный форум, киберфорум
Наши страницы
Prolog
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
S.T.I.R.L.I.T.Z
1 / 1 / 0
Регистрация: 06.06.2010
Сообщений: 6
1

Количество слов, начинающихся с заданной буквы [Visual Prolog]

02.06.2011, 10:57. Просмотров 1486. Ответов 1
Метки нет (Все метки)

В последовательности слов, разделенных пробелами, определить количество слов, начинающихся с заданной буквы.
сделал пока для идеального случая:
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
domains
i = integer
 c = char
 list = char*
predicates
 nondeterm result
 nondeterm convert(string,list)
 nondeterm chek(list,c,i)
clauses
 convert("",[]).
 convert(Str,[H|T]):-frontchar(Str,H,Ost),convert(Ost,T).
 chek([],_,0).
 chek([H1,H2|T],C,N):-H1=' ',H2=C,N1=N+1,chek(T,C,N1).
 
 result:- write("Ââåäèòå ñòðîêó: "),readln(S),nl,write("Êîëè÷åñòâî= "),convert(S,L),chek(L,'G',N),write(N),nl.
goal
 result.
в правиле перед result переменная N неконкретезирована, что делать?
обсолютно не понимаю принципов работы prolog-программ
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2011, 10:57
Ответы с готовыми решениями:

Нужно преобразовать строку в список слов. Visual Prolog 5.2
Здраствуйте, нужна помощь с такой программой: Создайте предикат, которые преобразует строку в...

Списки: буквы оставить без изменения, а цифры умножить на 2 (Visual Prolog)
добрый день всем! ребят, помогите пожалуйста осуществить задачу: Список состоит их букв и цифр,...

Количество узлов дерева на заданной глубине. Arity Prolog
Условие:?- pred(s(f(b(m,k),a),t(a,w)),1,X). X = 1 ?- pred(s(f(b(m,k),a),t(a,w)),3,X). X = 4 ...

Посчитать количество русских слов в текстовом файле (Turbo Prolog)
Ребята,помогите,пожалуйста,нужно переделать эту программу,что бы она считала количество русских...

Перенос программы с Visual Prolog 7.1 в Visual Prolog 7.5
Проблема переноса. Взяла пример с книги Visual Prolog 7.1 для начинающих. Это игра червь. Вроде...

1
rrrFer
Заблокирован
02.06.2011, 13:10 2
S.T.I.R.L.I.T.Z, предикат должен принимать строку, символ и возвращать число.
1. Если строка пуста - вернуть число 0 и завершить работу.
2. выделить из строки первое слово(используем предикат gtwrd отсюда: Обработка строк в Турбо Пролог ), получить <слово> и <остаток строки>
3. сравнить первый символ с заданным( используем frontchar( <слово><символ>,<_> ), если совпадают - то на п.4, иначе п.6
4. вызвать рекурсивно себя, при этом передать в качестве первого параметра <остаток строки> вместо второго <символ>, в результате выполнения получить <число_> из третьего параметра
5. < число > = <число> + 1. Завршить работу
6. выделить из строки первое слово(используем предикат gtwrd отсюда: Обработка строк в Турбо Пролог ) <слово> и <остаток строки>
7. вызвать рекурсивно себя, при этом передать в качестве первого параметра <остаток строки> вместо второго <символ>, в результате выполнения получить <число> из третьего параметра. Завершить работу.
Добавлено через 2 минуты
Цитата Сообщение от S.T.I.R.L.I.T.Z Посмотреть сообщение
в правиле перед result переменная N неконкретезирована, что делать?
там вызывается предикат check:
Prolog
1
2
chek([],_,0).
 chek([H1,H2|T],C,N):-H1=' ',H2=C,N1=N+1,chek(T,C,N1).
он возвращает N в третьем параметре, но нигде не задается значение N, зато пытаетесь его использовать.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2011, 13:10

Из Turbo Prolog в Visual Prolog - где будут отличия в коде?
ребята ,помогите. есть прога на турбо прологе,а нужно отредактировать под visual prolog 7.5. Что...

Пожалуйста, помоите переделать программу с Turbo Prolog на Visual Prolog
DOMAINS l_i=integer* l_s=string* i=integer s=string c=char structura=str(i,s) %Структура...

Перевести код из turbo prolog в visual prolog
не подскажите плиз как будет выглядеть код turbo prolog в Visual Prologe 5.2 turbo prolog: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru