В файле задана последовательность целых чисел, найти сумму чисел, предшествующих первому отрицательному - Prolog

Узнай цену своей работы

Формулировка задачи:

В файле задана последовательность целых чисел, найти сумму чисел, предшествующих первому отрицательному.

Решение задачи: «В файле задана последовательность целых чисел, найти сумму чисел, предшествующих первому отрицательному»

textual
Листинг программы
  1. domains
  2. file = input
  3.  
  4. predicates
  5. start
  6. sum_by_neg(integer)
  7.  
  8. clauses
  9. sum_by_neg(S)  :- not(eof(input)),readint(N), N>=0, Q=S+N, sum_by_neg(Q).
  10. sum_by_neg(S)  :- write(S),nl.
  11. start :- openread(input,".\\my\\A1.TXT"),readdevice(input),sum_by_neg(0).

Объяснение кода листинга программы

  1. В начале кода объявляются пространства имен: domains file = input
  2. Затем объявляются предикаты: predicates start sum_by_neg(integer)
  3. Далее идут клаузы: clauses sum_by_neg(S) :- not(eof(input)),readint(N), N>=0, Q=S+N, sum_by_neg(Q). sum_by_neg(S) :- write(S),nl. start :- openread(input,.\\my\\A1.TXT),readdevice(input),sum_by_neg(0).
  4. В первой клаузе предиката sum_by_neg происходит подсчет суммы чисел, предшествующих первому отрицательному. Если вводимый файл пуст, то выводится сообщение об ошибке.
  5. Во второй клаузе предиката sum_by_neg выводится результат подсчета суммы.
  6. В последней клаузе предиката start открывается файл для чтения, считывается информация о файле и запускается подсчет суммы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы