LINUX.ORG.RU

[prolog] Что выбрать для лаб?


0

1

Добрый вечер.

В универе сейчас проходим курс пролога (сложно назвать курсом, но всё же). Методичка по лабам, разумеется, ориентирована на турбопролог. Хотелось бы их писать на swi-prolog, но, прежде чем разбираться с ним, хотелось бы узнать, можно ли в нём выполнить задачу «посчитать сумму всех чисел в файле»?

спасибо

бери swi-prolog, даже и не думай

хотелось бы узнать, можно ли в нём выполнить задачу «посчитать сумму всех чисел в файле»

а какие ожидаются проблемы?

shty ★★★★★ ()
Ответ на: комментарий от shty

shty

а какие ожидаются проблемы?

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

do0dlez ★★ ()

> Методичка по лабам, разумеется, ориентирована на турбопролог

ООП, анонимные предикаты, статическая типизация и т.д.? В ISO стандарте такого нет, так что отличия могут быть существенные.

kim-roader ★★ ()
Ответ на: комментарий от do0dlez

А можно ссылку, где есть годный подобный пример?

/tmp $ cat nums 
123 53
1 23 66
12 
1 12 67 98
/tmp $ cat code.pl
:- initialization(main).

main :- open('/tmp/nums', read, H),
	sum(H, 0, R),
	print(R), nl,
	close(H),
	halt.

sum(H, R, R1) :-
	(   catch(read_number(H, N), _Error, fail) ->
	    R2 is R + N,
	    sum(H, R2, R1)
	;   R1 = R
	).
/tmp $ gplc code.pl 
/tmp $ ./code 
456
/tmp $ 
kim-roader ★★ ()

У нас Visual Prolog Personal Edition в универе на венде. Причём достаточно старый, 5.2.

adriano32 ★★★ ()

Бери swi-prolog - много либ и хорошая документация. Еще хорош yap - он на порядок быстрей сви-пролога и все основные библиотеки есть.

bik ★★ ()
Ответ на: комментарий от do0dlez

Если делать что-то серьезное я всеми руками за SWI-Prolog, но зачем для лаб в универе лишний раз напрягать мозг и пытаться переделывать программы с одного диалекта на другой.

buddhist ★★★★★ ()

wine + Visual Prolog. 5(.1?) отлично работал

yoghurt ★★★★★ ()

[ложка дёгтя]
ужс, у нас в унив. еле на Си перешли с Паскаля, а тут такая редкость да студентам в голову.
Очень маловероятно кто-то что-то толковое будет писать на этом.
Разве что диссертацию напишут «О возможных применения языка программирования Prolog в науке и технике», что также, imho, глупо.

blinkenlichten ()
Ответ на: комментарий от blinkenlichten

>Очень маловероятно кто-то что-то толковое будет писать на этом.

Охо-хо

yoghurt ★★★★★ ()
Ответ на: комментарий от yoghurt

переписывание с диалекта на диалект, лишь бы оно заработало на универских компах

переписывание, возможно, и не так эффективно, но оно даёт возможность глубже рассмотреть язык, узнать какие бывают нюансы, как отличаются диалекты - это всё полезно

кроме того, помимо переписывания есть понимание работы пролога на таком уровне, чтобы диалект был не особо важен

короче тут такое дело - любая самостоятельная работа по теме идёт в плюс

shty ★★★★★ ()
Ответ на: комментарий от blinkenlichten

Писать на прологе плеер — действительно плохая идея, но это вовсе не означает, что язык не нужен.

buddhist ★★★★★ ()
Ответ на: комментарий от buddhist

Суть процесса обучения — научиться максимизировать полезную работу при минимизации усилий.

это вторая часть, необязательная, первая часть - научиться получать знания самостоятельно

shty ★★★★★ ()
Ответ на: комментарий от yoghurt

yoghurt

лишь бы оно заработало на универских компах

сдавать-то я буду на нетбуке

do0dlez ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.