0 / 0 / 0
Регистрация: 26.11.2010
Сообщений: 52
1

Переставить слова в строке (turbo prolog)

15.11.2012, 17:06. Показов 1823. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите, пожалуйста выполнить задание: вводится с клавиатуры строка, состоящая из слов, слова разделены пробелами. Нужно вывести слова в обратном порядке. Не очень понимаю пока в принципе как писать на прологе посмотрев текст программы, надеюсь разобраться Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2012, 17:06
Ответы с готовыми решениями:

Разбиение строки на слова turbo prolog
Доброго времени суток. Есть задание: организовать ввод текста и процедуру разделения на слова. Если...

Поиск подстроки в строке Turbo prolog
Добрый вечер, Помогите реализовать поиск подстроки в строке, если удачно то необходимо вывести...

Замена четных символов в строке на Turbo Prolog
Добрый вечер. Имеется следующая задача: Составьте программу, меняющую в слове X букву «а» на букву...

Turbo Prolog. Нахождение гласной буквы, чаще всего встречающейся в строке
Всем привет. Есть код, который ищет все гласные в строке, но что-то не могу придумать как...

5
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
16.11.2012, 22:53 2
Предикат очень простой. Используйте fronttoken, который отщипывает первое слово строке. И дальше будет такая форма
п(Строка):-fronttoken(Строка,Слово,ОстатокСтроки),п(ОстатокСтроки),вывести(Слово).
Попробуйте написать самостоятельно. А если уж не получиться, ты выложите свои попытки, и я помогу.
1
0 / 0 / 0
Регистрация: 26.11.2010
Сообщений: 52
19.11.2012, 15:14  [ТС] 3
Грымзик, спасибо за объяснение, сажусь и пробую

Добавлено через 2 часа 50 минут
программа выводит пустоту
Prolog
1
2
3
4
5
6
7
8
9
predicates
 p (string)
 
goal
 readln (Str), p (Str).
 
clauses
p (Str) :-
fronttoken (Str, Token, St), p (St), write (Token).
0
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
19.11.2012, 20:58 4
Программа не может завершиться удачей, у Вас не рассматривается случай достижения конца строки.
Prolog
1
2
3
4
5
6
7
8
9
predicates
 p (string)
 
goal
 readln (Str), p (Str).
 
clauses
p (Str) :- fronttoken (Str, Token, St),!, p (St), write (Token," ").
p (_).
1
0 / 0 / 0
Регистрация: 26.11.2010
Сообщений: 52
19.11.2012, 22:28  [ТС] 5
Грымзик, спасибо, работает а расскажете, что означают "!" и (_)? а то и загуглить их даже не получается )
0
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
19.11.2012, 23:41 6
Гуглите как "отсечение" и "безымянная переменная".
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.11.2012, 23:41
Помогаю со студенческими работами здесь

Turbo Basic. Переставить местами два заданных слова
На фотке полное условие задачи.

Turbo Basic. В произвольной фразе переставить слова местами по первой букве русского алфавита в обратном порядке
Надо в произвольной фразе переставить слова местами по первой букве русского алфавита в обратном...

Как переделать программу написанную на Turbo-Prolog в SWI-Prolog?
Ребята подскажите пожалуйста как переделать эту программу написанную на Turbo-Prolog в SWI-Prolog?...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru