Ввод строки и проверка через str_int - Prolog

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

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

Есть программа для нахождения неотрицательное степени целого числа через рекурсию. Помогите пожалуйста в строке
Листинг программы
  1. write("введите число "), readint(X),nl,
как-то добавить проверку, что введено число, а не строка через str_int, и если введена строка - то вывести сообщение об этом...
Листинг программы
  1. predicates
  2. equ
  3. st(integer,integer,integer,integer)
  4. clauses
  5. equ:-
  6. write("введите число "), readint(X),nl,
  7. write("введите степень "), readint(N),nl,
  8. st(X,N,Y,N),write(Y).
  9. st(_,N,_,_):-N<0,!,write("степень отрицательная!").
  10. st(_,_,Y,I):-I=0,!,Y=1.
  11. st(X,N,Y,I):-N>0,!, I1=I-1, st(X,N,Y1,I1), Y=X*Y1.
  12. goal
  13. equ.
Я думала так
Листинг программы
  1. write("введите число "), readint(ST),str_int(ST,X),!,"введено не число",nl,
но так не работает

Решение задачи: «Ввод строки и проверка через str_int»

textual
Листинг программы
  1. write("введите число "), readint(ST),str_int(ST,X),!,"введено не число",nl,

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

  1. Программа предлагает пользователю ввести число и сохраняет введенное значение в переменной ST.
  2. Затем происходит проверка введенного значения с помощью функции str_int(ST,X). Эта функция преобразует строку ST в целое число и сохраняет результат в переменной X.
  3. Если преобразование прошло успешно, то программа продолжает работу. В противном случае выводится сообщение введено не число.
  4. Для выхода из программы используется оператор !.
  5. Функция nl используется для перехода на новую строку.

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


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

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

9   голосов , оценка 4.444 из 5

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

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

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