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

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

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

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

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

textual
Листинг программы
domains
file = input
 
predicates
start
sum_by_neg(integer)
 
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).

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

  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
Похожие ответы