Pascal para Java

Alguém conhece algum programa freeware que converte um código pascal em um código java?

Obrigado,
Herlen

Eu cheguei a procurar algo assim para converter código em C para Java. Só que em todos os lugares que eu lia a respeito, sempre havia a seguinte ressalva: não converta!! Reescreva!

O resultado de uma conversão pode ser medonha!

É muito mais negócio reescrever, mesmo que leve algum tempo. A lógica do que deve ser feito você já tem (o código original), que é o que mais tempo tomaria, caso não existisse.

O que normalmente ocorre é que as ferramentas tentam converter mas não conseguem fazer uma conversão perfeita. Problemas:

  • Muitas APIs não podem ser diretamente convertidas (APIs do Windows, do Delphi etc);
  • Algumas construções não podem ser corretamente traduzidas (em Delphi, por exemplo, há ponteiros de memória, que não têm um correspondente no Java);
    Então dá mais trabalho. Não é a mesma coisa que traduzir inglês para o português usando o Babelfish (que deixa algumas coisas sem traduzir e traduz algumas coisas errado, tudo porque o computador não pensa e não lê jornais…); no caso do Babelfish a tradução ainda é usável porque ao você ler, você compensa os erros. No caso do Pascal para Java quem vai usar a saída é o computador, e ele não consegue compensar os erros de tradução.
    Mas sempre existe alguma coisa que pode lhe ajudar. O que não existe é uma ferramenta que faça o trabalho 100% perfeito e 100% sozinho.

Com certeza não sairia 100%, mas ajudaria muito.
Aproveitando que eu estou tentando transformar uma função de pascal para java, vcs conhecem uma função no java similar a função “ord” no pascal. A função “ord” no pascal me retorna o código ASCII de um caracter, sua sintaxe é ord(c: char): integer
E a função mod, que me retorna o resto da divisão de dois inteiros, vcs conhecem alguma similar no java? Essa é fácil de implementar, mas se já tiver alguma pronta…

Valeu

Função mod em java, na realidade é o operador %. Por exemplo: 4%2=0

Quanto ao ASCII, em java ach melhor vc se acostumar com UTF.

[quote=ranophoenix]Função mod em java, na realidade é o operador %. Por exemplo: 4%2=0

Quanto ao ASCII, em java ach melhor vc se acostumar com UTF.[/quote]

Por questões de compatibilidade com outros sistemas desenvolvidos em Delphi, nesse caso, terei que continuar usando o ASCII. Descobri como pegar o valor, na realidade é bem fácil, basta colocar (int)meuchar.

Valeu.

alguem pode me ajudar… como ficaria os codigos do pascal escritos em java ??
eu não estou conseguindo, se alguem puder me ajudar .Obrigado!
meu e-amil ->> ( foxlan@bol.com.br )


Program  Farma;
 var  quant,cont,cont2:real;//declaração da variavel

    i, preco1, preco2, preco3: integer;
    remedio, med1, med2, med3:  string;
    med: array[1..3] of string;  // declaração do vetor
    preco: array [1..3] of real; //Um array é uma estrutura que representa listas (vetores) ou tabelas (matrizes) de valores
begin
	cont:=0;
     cont2:=0;
	for i:= 1 to 3 do  
   begin
	    clrscr;// serve para apagar o que foi digitado
	    write('Digite o nome do remedio:');
         read (remedio);
                
         if(remedio='anador') then 
     	cont:=2.80;
         if(remedio='apracur') then
          cont:=3.20;
         if(remedio='dipirona') then
          cont:=5.30;
          cont2:=cont+cont2;
          med[i]:=remedio;
          preco[i]:=cont;
   end;
	   
	     writeln;// serve para pular uma linha
	     writeln;
	     writeln ;
          writeln ('                       Sua compra foi: ');
 
 
        	writeln;
          for i:= 1 to 3 do
		writeln ( med[i], ':                       R$        ',preco[i]:2:2);
	     writeln ;
          writeln ('Total:                        R$         ', cont2:2:2);
End.// end do begin inicial

ao pe da letra sem a orientacao a objetos seria:

import java.util.Scanner;

public class Farmacia{

     public static void main(String[] args){

          String[] med = new String[3];
          Float[] preco = new Float[3];

          String remedio;

          float cont=0,cont2=0;

          Scanner in = new Scanner(System.in);

          for(int i = 0; i < 3; i++){

               System.out.print("\nDigite o nome do remedio: ");
               remedio = in.next();

               if(remedio.equals("anador"))
                    cont=2.80f;
               else if(remedio.equals("apracur"))
                    cont=3.20f;
               else if(remedio.equals("dipirona"))
                    cont=5.30f;

               cont2=cont+cont2;
               med[i]=remedio;
               preco[i]=cont;
          }
          System.out.print("\n\n\n\nSua compra foi:\n");

          for(int i = 0; i < 3; i++){

               System.out.println(med[i]+": R$ "+preco[i]);
          }
          System.out.println("Total: R$ "+cont2);
     }
}

espero que ajude

oow mano obrigado!!!

mais ainda ta dando uma mensagem e nao ta rodando…
acho que esteja faltando declarar a variavél??

testei no eclipse.
vc pode da uma olhada dinovo?
vlw.

Bom eu connferi aqui e ta certinho…

q erro ta dando pra vc???