将相同的C++功能/概念转换为Prolog

convert same function/concept of C++ to prolog

本文关键字:转换 Prolog 功能 C++      更新时间:2023-10-16

我只是想知道是否可以通过使用I/O将c ++代码的概念转换/获取为prolog? 如果可能的话,如何? 因为正如我被告知的那样,Prolog不是一种强大的编程语言,所以我们一次只能输入一个输入,但是通过在Prolog中使用I/O,也许我们可以搜索文件中的输入。

#include <iostream>
using namespace std;   
int main ()
{
  int i, x;
  int id[5];
  cout << "Please enter an integer value: ";
  cin >> i;
  cout << "The value you entered is " << i<<"n";
  for(x=0; x<i;x++){
     cout << "Enter id: ";
     cin>>id[x]; 
     }
  for(x=0; x<i;x++){
    cout << "nYou have enter id "<<x+1<<": "<<id[x];
    }  
   cout<<"n";
   system("pause");
   return 0;
}

几种方法可以编写Prolog中显示的示例程序。一种简单的方法是:

main :-
    write('Please enter an integer value: '),
    read(N),
    integer(N),
    N > 0,
    length(L, N),
    maplist(read_n, L),
    write_list(L).
read_n(N) :-
    write('Enter id: '),
    read(N),
    integer(N).
write_list(L) :-
    write_list(L, 1).
write_list([], _) :- nl.
write_list([H|T], N) :-
    format('~nYou have entered id ~w: ~w', [N, H]),
    N1 is N + 1,
    write_list(T, N1).

试运转:

| ?- main.
Please enter an integer value: 4.
Enter id: 5.
Enter id: 6.
Enter id: 3.
Enter id: 6.
You have entered id 1: 5
You have entered id 2: 6
You have entered id 3: 3
You have entered id 4: 6
yes
| ?-