Форум программистов, компьютерный форум, киберфорум
Наши страницы
Prolog
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Prolog В последовательности слов определить количество слов, начинающихся с заданной буквы. [Turbo Prolog][есть решение] http://www.cyberforum.ru/prolog/thread312469.html
predicates %!--------------------------------------------------------------------------------------------- gtwrd(string,string,string,string) %...
В заданной последовательности символов удалить каждый символ * и повторить каждый символ, отличный от * [Turbo Prolog][есть решение] Prolog
predicates p(string, string) %i,o goal write("String: "), readln(S), p(S,R), write("Result: ", R),nl, readint(_). %задержка(ожидание <ENTER>) clauses p("", "").
Дерево. Список деревьев. Глубина дерева [turbo Prolog] [есть решение] Prolog
Имеется список, элементы которого – непустые бинарные деревья. Для каждого элемента списка найти глубину дерева, из полученных результатов сформировать список (без использования стандартного...
Prolog Заданы 3 точки, проверить лежат ли они на 1 прямой Заданы три числа (x1,y1,x2,y2,x3,y3) найти их расположение, образуют ли они прямую... http://www.cyberforum.ru/prolog/thread311795.html
Prolog Рекурсия на Турбо Прологе http://www.cyberforum.ru/prolog/thread311253.html
y={a}^{n}+{a}^{n-1}+....+{a}^{2}+a+1,где а и n вводятся с клавиатуры.реализовать рекурсию в турбо прологе
Prolog Составить маршрут, который бы проходил через все пункты
Помогите, пожалуйста, решить задачу: Составить маршрут, который бы проходил через все пункты, некоторые из которых связаны напрямую и через каждый пункт проходил только один раз.
Поиск эйлеровых циклов Prolog
Требуется написать программу, реализующую поиск эйлеровых циклов в графе. Программа должна быть представленна на Prolog и Haskel.
Prolog Количество слов, начинающихся с заданной буквы [Visual Prolog] В последовательности слов, разделенных пробелами, определить количество слов, начинающихся с заданной буквы. сделал пока для идеального случая: domains i = integer c = char list = char*... http://www.cyberforum.ru/prolog/thread310704.html
Prolog Соревнования по плаванию. Кто на какое место претендует? [visual prolog] http://www.cyberforum.ru/prolog/thread310669.html
Перед соревнованием по плаванию каждого из четырех участников Алексея, Бориса, Виктора, Григория спросили, на какое место он претендует. Алексей сказал, что планирует быть первым, Борис обещал не...
Prolog Сопоставление (унификация) списков Помогите решить задачу: Какое значение получит X в результате операции сопоставления (унификации) списков и в Прологе? http://www.cyberforum.ru/prolog/thread310622.html
rrrFer
Заблокирован
0

Дана строка. Вывести на экран слова, внутри которых имеется хотя бы одна буква, с которой слово начинается. [Turbo prolog][есть решение]

03.06.2011, 21:04. Просмотров 1778. Ответов 2
Метки (Все метки)

Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
predicates
    %!---------------------------------------------------------------------------------------------
    gtwrd(string,string,string,string)  
                                        % i,i,o,o       
                                        %       выделение слова
                                        %       #формат: исходная строка,"", слово, остаток строки
                                        %       #использует: ---
    %!---------------------------------------------------------------------------------------------    
    %!---------------------------------------------------------------------------------------------                                              
    substr(string,string,integer)        
                                        % i,i,i     
                                        %       ищет подстроку в строке, завершается успешно, если подстрока найдена
                                        %       #формат: исходная строка, подстрока,0
                                        %       #использует: ---
    %!---------------------------------------------------------------------------------------------
    p(string)                             %i
    
goal
    write("String: "),
    readln(S),
    p(S),
    readint(_).                            %задержка(ожидание <ENTER>)
clauses
 
    substr(_,"",_):-!.                    %подстрока закончилась - значит найдена
    substr("",_,_):-!,fail.                %если же ищем в пустой строке - то завершаем неудачей
    substr(S,SS,_):-                    %иначе:
        frontchar(S,SC,S_),                %выделяем первый символ строки
        frontchar(SS,SC,SS_),            %если он совпал с первым символом подстроки
        substr(S_,SS_,1).                %проверям рекурсивно остатки строк
    substr(S,SS,0):-                    %иначе    
        frontchar(S,_,S_),                %получаем остаток строки от выделения символа
        substr(S_,SS,0).                %ищем подстроку в этом остатке
        
    gtwrd(S,W,E,T):-
        frontchar(S,C,S1),                %выделяю символ
        NOT(C=' '),                        %если это не пробел
        str_char(SS,C),                    %преобразую символ в строку
        concat(W,SS,R),                    %прикрепляю символ к результату
        gtwrd(S1,R,E,T),!.                
    gtwrd(S,W,W,R):-                    %иначе(если это был пробел) возвраю результат
        frontchar(S,_,R).
    gtwrd(S,W,W,S).
    
    p(""):-!.                            %в пустой строке нечего искать
    p(S):-
        gtwrd(S,"",W,SS),                %выделяю слово W, и остаток строки SS
        frontchar(W,C,SSS),                %выделяю первый символ слова и остаток от выделения слова SSS
        str_char(SC,C),                    %преобразую его в строку
        substr(SSS,SC,0),                %ищу символ в остатке строки
        write(W),nl,                    %если найден - вывожу слово
        p(SS),!;                        %и продолжаю поиск слов в остатке строки
        gtwrd(S,"",_,SS),                %иначе, получаю опять получаю остток строки от выделения слова
        p(SS),!.                        %и продолжаю поиск в этом остатке(без вывода текущего слова)


Вернуться к обсуждению:
Дана строка. Вывести на экран слова, внутри которых имеется хотя бы одна буква, с которой слово начинается. [Turbo prolog][есть решение]
5
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2011, 21:04
Готовые ответы и решения:

Дана строка. Указать те слова в которых есть хотя бы одна буква "k"
Помогите решить задачу: Дана строка. Указать те слова в которых есть хотя бы одна буква &quot;k&quot;. Я...

Дана строка. Указать те слова в которых есть хотя бы одна буква "k"
Помогите решить задачу: Дана строка. Указать те слова в которых есть хотя бы одна буква &quot;k&quot;. Я...

Дана строка, состоящая из слов. Удалить из строки все слова, в которых хотя бы одна буква встречается дважды
Delphi 6. Нужно с визуализацией, вывод результата в форму.

Вывести те слова, у которых есть хотя бы одна буква «а», стоящая рядом с «м»
Вывести те слова, у которых есть хотя бы одна буква «а», стоящая рядом с «м».

Дана строка. Вывести на экран те слова строки, где встречается хотя бы одна цифра
оформить в виде процедуры и функции

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