Que tipo de lenguaje es?
Publicado por Natali (1 intervención) el 15/11/2013 04:15:55
hola necesitaria saber que tipo de lenguaje esta este codigo, ya que tengo que pasarlo a C y no tengo la menor idea!, desde ya muchas gracias.
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
{mode objfpc}{H+}
uses
{IFDEF UNIX}{IFDEF UseCThreads}
cthreads
{ENDIF}{ENDIF}
Classes
{ you can add units after this };
{R *.res}
type
Cadena=string[30];
Ldoble=^Nodo; {Lista doble para los alumnos}
Nodo=record
nombre:Cadena;
sig:Ldoble;
ant:Ldoble;
end;
Lsimple=^nodo2; {Lista simple para los equipos}
nodo2=Record
chico:Cadena;
sig:Lsimple;
end;
Var
x:integer;
num:integer;
ldc:Ldoble;
le1:Lsimple;
le2:Lsimple;
Procedure AgregarNodo(nom:Cadena; var ldc:Ldoble);
var
nue:Ldoble;
begin
new(nue);
nue^.nombre:=nom;
if (ldc=nil) then
begin
ldc:=nue;
nue^.sig:=nue;
nue^.ant:=nue;
end
else
begin
ldc^.ant^.sig:=nue;
nue^.ant:=ldc^.ant;
nue^.sig:=ldc;
ldc^.ant:=nue;
end;
end;
Procedure CrearListaDobleCircular(var ldc:Ldoble);
var
nom:Cadena;
begin
writeln('Ingrese el primer participante.');
readln(nom);
While (nom<>'xxx') do
begin
AgregarNodo(nom,ldc);
writeln('Ingrese otro participante, para dejar de ingresar introduzca xxx.');
readln(nom);
end;
end;
procedure QuitarAlumno (var ldc:Ldoble);
Var
Eliminado:Ldoble;
Begin
Eliminado:=ldc;
if (ldc^.sig=ldc) then begin
dispose(ldc);
ldc:=nil;
end
else begin
ldc^.ant^.sig:=ldc^.sig;
ldc^.sig^.ant:=ldc^.ant;
ldc:=ldc^.sig;
dispose (Eliminado);
end;
end;
procedure Crearequipo (var le:Lsimple; nom:Cadena);
var
nue:Lsimple;
begin
new (nue);
nue^.chico:=nom;
nue^.sig:=nil;
if (le=nil) then
begin
le:=nue;
end
else
begin
nue^.sig:=le;
le:=nue;
end;
end;
Procedure DarEquipo (ldc:Ldoble;var le1,le2:Lsimple);
var
i,num:integer;
Begin
While (ldc<>nil) do begin
For i:=1 to (random(6)+1)do
begin
ldc:=ldc^.sig;
end;
Crearequipo (le1, ldc^.nombre);
QuitarAlumno (ldc);
If (ldc<>nil) then begin
For i:=1 to (random(6)+1) do
ldc:= ldc^.ant;
Crearequipo (le2,ldc^.nombre);
QuitarAlumno (ldc);
End;
End;
end;
Begin
ldc:=nil;
le1:=nil;
le2:=nil;
CrearListaDobleCircular (ldc);
DarEquipo (ldc,le1,le2);
{Esto es para probar que imprime y si funciona nada mas}
while (le1<>nil) do
begin
writeln (le1^.chico,' estos son del equipo 1');
le1:=le1^.sig;
end;
while (le2<>nil) do
begin writeln (le2^.chico,' estos son del equipo 2');
le2:=le2^.sig;
end;
writeln('ingrese un numero para dar por finalizado el programa');
readln(x);
{Hasta aca}
END.
Valora esta pregunta


0