Форум программистов, компьютерный форум, киберфорум
Наши страницы
Prolog
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
INShcherbakov
0 / 0 / 0
Регистрация: 13.12.2014
Сообщений: 13
0

Во всех словах, оканчивающихся на "ing", замените это окончание на "ed"

08.03.2015, 08:19. Просмотров 383. Ответов 1
Метки (Все метки)

Всем привет!
Есть решение задачки (код ниже), но преподаватель сказал, что: "использовать предикат file_str нельзя, т.к. теряете переводы строк."
Кто знает, как изменить, чтоб исправить данную ошибку?
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
/*процедура во всех словах, оканчивающихся на "ing", меняет это окончание на "ed"*/
/*предикаты*/
predicates
    File(string)
    ingToEd(string,string,string)
    noIng(string,string)
    change(string,string)
/*внутрение цели*/
goal
    File("t.txt").
/*факты и правила*/
clauses
    /*правило: если файл существует, то его открываем, меняем окончания и сохраняем*/
    File(F):-existfile(F),
            file_str(F,S1),
        noIng(S1,S2),
        file_str(F,S2).
    /*правила изменения окончания*/
    noIng(S,Sout):- fronttoken(S,Tok,Rest), !, 
        noIng(Rest,So), 
        change(Tok,T),
        concat(" ",So,Sou), 
        concat(T,Sou,Sout).
    noIng(_,"").
    change(A,B):-ingToEd(A,"",B),!.
    change(X,X).
    ingToEd("ing",S,Sout):-!,concat(S,"ed",Sout).
    ingToEd(A,B,Out):- frontstr(1,A,C,R), 
        concat(B,C,D), 
        ingToEd(R,D,Out).


Вернуться к обсуждению:
Во всех словах, оканчивающихся на "ing", замените это окончание на "ed"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2015, 08:19
Готовые ответы и решения:

Подсчитать в слове все сочетания "нн". Считать, что в последовательности "ннн" "нн" встречается один раз
напишите, пожалуйста, программу подсчета в слове всех сочетаний "нн". считать,...

Определить правила "призывник", "запасник", "отсрочка"...[GNU Prolog 1.3.1]
GNU Prolog 1.3.1! Задание 1 призывник(Х) – здоровые мужчины в возрасте от 18...

Написать программу, выясняющую, есть ли в слове X буква "а", стоящая на нечётном месте после буквы "к""
Я нашла похожую на форуме, но переделать под свой вариант не очень получается,...

Проверить, есть ли в заданном слове буква "к", стоящая на четных местах перед буквой "и"
Здравствуйте!Помогите пожалуйста решить задачу. Составьте программу,...

Построить программу "сжать", назначение которой - преобразование английских слов в их "звуковой" код
Всем привет . Не могли бы помочь решить данную задачу ?) Построить программу...

1
Другие темы раздела
Prolog Подзапрос http://www.cyberforum.ru/prolog/thread1389773.html
Помогите правильно решить задачку: "Придумайте и напишите программу, описывающую всех членов Вашей семьи. Для описания структуры семьи воспользуйтесь предикатами родители (отец, мать, ребенок) ...
Prolog Не могу создать решающее правило Мне необходимо было решить такую задачу: Определить предикат троюродная сестра и найти всех троюродных сестер и троюродных сестер конкретного лица. Я решал задачу следующим образом: domains a... http://www.cyberforum.ru/prolog/thread1389327.html
Семантическая сеть на прологе Prolog
Здравствуйте. Институт поставил меня в отчаянное положение. Нужно написать довольно сложную программу на языке с которым я еще не встречался (пролог) и сделать это в как можно более короткие сроки....
Создайте предикат, вычисляющий функцию ln(x) Prolog
Помогите,пожалуйста,с заданием: Создайте предикат, вычисляющий функцию ln(x), используя разложение в ряд по заданному количеству членов ряда. Нашла много примером с разложением в ряд Тейлора, а про...
Prolog Ввод строки и проверка через str_int http://www.cyberforum.ru/prolog/thread1387562.html
Есть программа для нахождения неотрицательное степени целого числа через рекурсию. Помогите пожалуйста в строке write("введите число "), readint(X),nl,как-то добавить проверку, что введено число, а...
Prolog Атомы и списки Помогите решить пожалуйста Есть 2 атома, а третьим является список букв( Он истинен если в 3 списке только те буквы , которые появляются в 1 и 2, но не в обоих сразу) возможно что-то не успела... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru