Pascal/Turbo Pascal - Pascal a Java - Duda de variables y tipos de datos

 
Vista:

Pascal a Java - Duda de variables y tipos de datos

Publicado por xSnei (1 intervención) el 29/10/2012 15:43:48
Tengo el siguiente codigo y necesito pasarlo a Java:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
UNIT TDA_cola;
INTERFACE
const nulo = nil;
type
tinfo = char;
tPos = ^tNodo;
tNodo = record
Info: tinfo;
sig: tPos ;
end;
tCola = record
Ini, Fin: tPos;
end;
procedure Cola_Vacia (var Cola: tCola);
function Es_cola_vacia (Cola: tCola): boolean;
procedure Meter_Cola (x:tinfo; var Cola: tCola );
procedure Sacar_Cola (var x: tinfo; var Cola: tCola);
 
 
IMPLEMENTATION
 
Procedure Cola_Vacía (var Cola: tCola);
begin
with Cola do begin
Ini:=nulo;
Fin:=nulo;
end
end;
 
function Es_cola_vacia (Cola: tCola): boolean;
begin
Es_cola_vacia:= Cola.Ini = nulo;
end;
procedure Crear_nodo (x: tinfo; var nuevo: tPos );
{Precond: se supone memoria suficiente para crear la variable}
begin
new(nuevo);
nuevo ^.info:=x;
nuevo ^.sig:=nulo;
end;
 
procedure Meter_Cola (x:tinfo; var Cola: tCola );
var nuevo: tPos ;
begin
Crear_nodo (x, nuevo);
with Cola do begin
if Es_vacia(Cola)
then Ini:= nuevo
else Fin^.sig:= nuevo;
Fin:= nuevo;
end
end;
 
procedure Sacar_Cola (var x:tInfo; var Cola: tCola );
var auxt: tPos
begin
with Cola do begin
x:= Ini^.info;
aux:= Ini;
Ini:=Ini^.sig;
If Ini:=nulo then Fin:=nulo; {si la cola se queda vacia la inicializo}
dispose(aux);
end
end;
end.


He leido un poco sobre Pascal y su estructura, ya mas o menos como funciona. Pero al momento de pasarlo a Java no hallo muy bien como usar las variables del principio (tCola, tinfo, tPos, ^tNodo, record.... ) y la constante.

Espero me puedan ayudar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Pascal a Java - Duda de variables y tipos de datos

Publicado por ramon (2158 intervenciones) el 29/10/2012 21:08:51
{Espero esto te ayude java no tiene punteros el trabaja como puntero}

Java Pascal
----------------------- -------------------------------
float x, y; var x, y: real;
boolean b; b: boolean;
char c; c: char;
int i, j; i, j: integer;

Java Pascal
----------------------- -------------------------------
int A[] = new int[5]; var A: array[1..5] of integer;
float B[] = {3, 6, 9, 2};
String s = "Hello World!"; var s: string;
... s := 'Hello World';
String t;

Java Pascal
----------------------- -------------------------------
i = i + 1; i := i + 1;
i++;


Java Pascal
------------------------- -------------------------------
++ -- + - ! ( <type> ) n/a n/a + - not n/a
* / % * / div mod
+ - + -
<= >= < > <= >= < >
== != = <>
&& and
|| or
= (assignment) :=


Java Pascal
----------------------- -------------------------------
abs atan cos exp log abs arctan cos exp ln
acos asin ceil floor n/a
max min pow random n/a
rint round n/a
n/a odd ord pred succ trunc
sin sqrt tan sin sqrt tan

Conditionals
Java Pascal
----------------------- -------------------------------
if ( <condition> ) { if <condition> then begin
<statements> <statements>
else { else begin
<statements> <statements>
} end
} end


Java Pascal
----------------------- -------------------------------
for (i=1; i<=n; i++) { for i:=1 to n do begin
<statements> <statements>
} end

while ( <expression> ) { while <expression> do begin
<statements> <statements>
} end
Switch and Break
Java Pascal
----------------------- -------------------------------
switch ( <expression> ) { case <expression> of
case <value1>: <statement1> ; <value1>: <statement1> ;
break;
case <value2>: <statement2> ; <value2>: <statement2> ;
break;
... ...
} end


Java Pascal
----------------------- -------------------------------
<type> <name> (<params>) { function <name> (<params>)
<local variable declarations> <local variable declarations>
begin
<statements> <statements>
return <expression> ; <name> := <expression>
} end;


Java Pascal
----------------------- -------------------------------
"Hello World!" 'Hello World!'
String s = "Hello World!"; var s: string;
... s := 'Hello World!';
String t = "Hello " + s; t := concat('Hello ', s);
i = t.length(); i := length(t);
i = s.indexOf(" "); i := pos(s, ' ');
t = s.substring(6, 10); t := copy(s, 7, 5);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar