Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 05.11.2009
Сообщений: 97
1

Англо-русский переводчик

22.06.2012, 21:03. Показов 3209. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется программа

Пользователь вводит слово. Если программа знает его перевод, то выводит перевод
на экран, иначе спрашивает пользователя о том, какой перевод у незнакомого слова
(и запоминает его). Программа работает циклически, пока не будет введено слово
"exit" (выход).
(*) реализовать пословный перевод введенной строки текста, неизвестные
слова не переводить, а спрашивать их переводы после вывода результата.

Писала по примеру, но программа не работает, выдает ошибку 7123. Подскажите пожалуйста что не так

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
DOMAINS 
rus, eng = string
file = f 
Fact=word(rus, eng) 
Facti=Fact*
 
DATABASE 
word(rus, eng)
 
PREDICATES 
nondeterm fact(Fact)
nondeterm rus2eng(rus, eng)
nondeterm eng2rus(rus, eng)
nondeterm punkt(char)
nondeterm menu
nondeterm result
nondeterm poelem(Facti)
 
CLAUSES
rus2eng(Russian,Word):- word(Russian,Word),!. 
rus2eng(_,"Англ перевода нет в базе ").
eng2rus(Russian,Word):- word(Russian,Word).
eng2rus("рус перевода нет в базе ",_).
 
fact(word(Russian,English)):-word(Russian, English).
 
result:-existfile("C:\Users\nrmL\Desktop\words.txt"),!,consult("I:\\words.txt"),menu.
result:-openwrite(f,"C:\Users\nrmL\Desktop\words.txt"),closefile(f),menu.
 
poelem([]):- nl.
poelem([H|T]):- write(H,"\n"),poelem(T).
 
menu:- 
write("1 - Перевод русского слова на английский"),nl,
write("2 - с англ на рус"),nl,
write("3 - новая запись"),nl, 
write("4 - изменение перевода рус языка"),nl, 
write("5 - изменение перевода англ языка"),nl, 
write("6 - удаление записи из словаря"),nl,
write("7 - вывод всех записей"),nl,
write("0 - выйти"),nl,
readchar(C), punkt(C).
 
punkt('1'):-
write("введите русское слово: "),readln(Rus),
rus2eng(Rus, Eng),nl,
write("перевод: ",Eng),nl, 
readchar(_),menu,nl.
 
punkt('2'):-
write("введите англ слова: "),readln(Eng),
eng2rus(Rus, Eng),nl,
write("перевод: ",Rus),nl,
readchar(_),menu,nl.
 
punkt('3'):-
write("введите рус слово: "),readln(Rus),
write("введите перевод: "),readln(Eng),
assert(word(Rus,Eng)),nl,menu,nl.
 
punkt('4'):-
write("введите англ слово: "),readln(Rus),
write("введите перевод: "),readln(Eng),
retract(word(Rus,_)),
assert(word(Rus,Eng)),
menu,nl.
 
punkt('5'):-
write("введите англ: "),readln(Eng),
write("введите рус: "),readln(Rus),
retract(word(Rus,_)),
assert(word(Rus,Eng)),
menu,nl.
 
punkt('6'):-write("введите англ слово, запись которого нужно удалить: "), nl, 
readln(Eng),retract(word(_,Eng)),menu,nl.
 
punkt('7'):-findall(Fact,fact(Fact),Facti),nl,poelem(Facti),menu,nl.
 
punkt('0'):-save("C:\Users\nrmL\Desktop\words.txt"),retractall(_).
punkt(_):- menu.
 
GOAL 
result.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.06.2012, 21:03
Ответы с готовыми решениями:

Англо-русский переводчик
Пользователь вводит слово. Если программа знает его перевод, то выводит перевод на экран, иначе...

Написать переводчик англо-русский и русско-английский
Здравствуйте уважаемые форумчане. Только начали изучать Пролог и вот не могу никак решить...

Экспертная система: Англо-русский переводчик [SWI]
англо-русский переводчик. Пользователь вводит слово. Если программа знает перевод, то выводит...

Англо-русский и русско-английский словарь [Решено] [Turbo Prolog]
domains predicates translate(string,string) menu(integer) goal menu(0). clauses...

1
2506 / 1482 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
23.06.2012, 20:55 2
Это при запуске? Тогда наверно в этом дело consult("I:\\words.txt"). Вы проверяете наличие одного файла, а открываете другой.
0
23.06.2012, 20:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.06.2012, 20:55
Помогаю со студенческими работами здесь

Англо русский переводчик
посмотрите плиз,прога перводчик проверяет слова в текстовом файле(словаре),мне нужно дополнить...

Англо-русский программа-переводчик
есть текстовый файл в нем записаны английские слова в одной строке одно слово и далее в этой же...

Как сделать Англо русский переводчик?!
Мне нужно сделать англо русский переводчик, точнее: Слов будет примерно 20 на русском, выбирать...

Книга на PascalABC или англо - русский переводчик
Привет всем господа программисты мне необходима помощь в написании одной из этих программ (Книга...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru