Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Файл( разность первой и последней компоненты 
:(
    Опции темы
nastin
  Дата 11.12.2013, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 20.12.2012

Репутация: нет
Всего: нет



Никак не выходит реализовать задание: дан файл, нужно записать в другой файл разность первой и последней компоненты файла ( разность - это разница "большее" минус "меньшее"). Кое-что написала, но не работает, помогите, пожалуйста!

Код

domains
  file = inp;out
predicates
  main
  first(real)
  next(real)
  max(real,real)
clauses  
  main :-     openread(inp, "LAB.txt"),
             openwrite(out, "LAB1_result.txt"),
             readdevice(inp),
             writedevice(out),!,
             first(_).
first(X):-eof(inp),closefile(inp),closefile(out).
first(X):-readreal(X),next(X).
next(X):-not(eof(inp)),readreal(Y),next(Y).
next(X):-eof(inp),max(X,Y).
max(X,Y):-X>Y,closefile(inp),write(X-Y),closefile(out).
max(X,Y):-X=>Y,closefile(inp),write(Y-X),closefile(out).


             
 
             
goal
  main.


PM MAIL   Вверх
Фантом
Дата 11.12.2013, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 6
Всего: 49



А зачем Вам два, вообще говоря, практически идентичных по смыслу предиката first и next (или, как вариант, зачем нужен first)?

Зачем искать максимум, если в природе есть функция abs, с помощью которой можно вычислить модуль разности?

Почему бы не сохранить информацию о первом компоненте во внутренней базе данных (и не таскать ее за собой в рекурсию)?
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума Prolog
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Prolog | Следующая тема »


 




[ Время генерации скрипта: 0.2684 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.