Ввод строки и проверка через str_int - Prolog
Формулировка задачи:
Есть программа для нахождения неотрицательное степени целого числа через рекурсию. Помогите пожалуйста в строке
как-то добавить проверку, что введено число, а не строка через str_int, и если введена строка - то вывести сообщение об этом...
но так не работает
Листинг программы
- write("введите число "), readint(X),nl,
Листинг программы
- predicates
- equ
- st(integer,integer,integer,integer)
- clauses
- equ:-
- write("введите число "), readint(X),nl,
- write("введите степень "), readint(N),nl,
- st(X,N,Y,N),write(Y).
- st(_,N,_,_):-N<0,!,write("степень отрицательная!").
- st(_,_,Y,I):-I=0,!,Y=1.
- st(X,N,Y,I):-N>0,!, I1=I-1, st(X,N,Y1,I1), Y=X*Y1.
- goal
- equ.
Я думала так
Листинг программы
- write("введите число "), readint(ST),str_int(ST,X),!,"введено не число",nl,
Решение задачи: «Ввод строки и проверка через str_int»
textual
Листинг программы
- write("введите число "), readint(ST),str_int(ST,X),!,"введено не число",nl,
Объяснение кода листинга программы
- Программа предлагает пользователю ввести число и сохраняет введенное значение в переменной ST.
- Затем происходит проверка введенного значения с помощью функции str_int(ST,X). Эта функция преобразует строку ST в целое число и сохраняет результат в переменной X.
- Если преобразование прошло успешно, то программа продолжает работу. В противном случае выводится сообщение
введено не число
. - Для выхода из программы используется оператор !.
- Функция nl используется для перехода на новую строку.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д