Pascal/Turbo Pascal - ejercicios de listas, Ayuda

 
Vista:

ejercicios de listas, Ayuda

Publicado por Martin (6 intervenciones) el 26/06/2012 20:43:21
HOLA , QUIEN ME PODRIA AYUDAR CON ESTOS EJERCICIOS .

1 - Listas simplemente vinculadas
a) Implementar un algoritmo en Pascal que dada la siguiente secuencia de números enteros
{20, 6, 7, 11, 2, 30, 1, 49, 9, 16}, genere una lista dinámica.
b) Implementar un algoritmo en Pascal que recorra la lista del inciso (a) y genere una nueva
lita ordenada de mayor a menor.
c) Implementar un algoritmo en Pascal que dada la lista dinámica obtenida en el inciso (a),
elimine los números pares.
d) Implementar un algoritmo en Pascal que concatene las listas obtenidas en los incisos (a) y
(b).
e) Implementar un algoritmo en Pascal que elimine los elementos, los cuales, sumandos a un
valor ingresado por teclado se encuentran en la lista obtenida en el inciso (d).
f) Implementar en Pascal el método de ordenamiento por selección con listas.
g) Implementar en Pascal el método de ordenamiento por inserción con listas.
h) Implementar en Pascal el método de ordenamiento de burbujeo con listas.
2 - Listas doblemente vinculadas
a) Implementar un algoritmo en Pascal que cree una lista doblemente enlazada con el
nombre de los alumnos de su curso.
b) Implementar un algoritmo en Pascal que dada la lista del inciso (a) elimine, todos los
alumnos cuyos nombres comiencen con una vocal.
c) Implementar un algoritmo en Pascal que dada la lista del inciso (a), cree una nueva lista
doble ordenada en forma alfabética.
3 - Listas Circulares
a) Implementar en Pascal un algoritmo que cree una lista circular con la secuencia de
números enteros {20, 6, 7, 11, 2, 30, 1, 49, 9, 16}, insertándolos en forma ordenada .
b) Implementar en Pascal un algoritmo que dada la lista del inciso (a) elimine, todos los
números impares.
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

ejercicios de listas, Ayuda

Publicado por ramon (2158 intervenciones) el 27/06/2012 17:28:09
Pasa te por [Compilador de pascal 7.7] en esta sección dentro encontraras información
referente a lo que pides, no octante te preparare unos ejemplos que tendrás que ajustar a tus conocimientos.
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

ejercicios de listas, Ayuda

Publicado por Martin (6 intervenciones) el 27/06/2012 17:54:06
hola no encuentro esa seccion , en que parte esta??? no me podrias resolver los ejercicios que te pase o porlomenos la mitad , eso me ayudaria un monton si podes hacerlos mejor si no podes igual mil gracias...
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

ejercicios de listas, Ayuda

Publicado por ramon (2158 intervenciones) el 27/06/2012 20:08:57
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
{Lo tienes aquí en  pagina mira las de un mes y lo veras}
 
{A ver si vamos por buen camino }
 
program aalistas;
 uses
    crt;
  const
     numeros : array[1..10] of integer = (
     20, 6, 7, 11, 2, 30, 1, 49, 9, 16);
 
  type
     ptlistas = ^listas;
     listas = record
            num : integer;
            sig, ant : ptlistas;
          end;
 
   var
     prime, anteri, ultimo, actual : ptlistas;
     priorden, antorden, nuevaordenada : ptlistas;
     i : integer;
     concatenados : array[1..10] of integer;
 
 
 
  procedure insertanumero;
  begin
      i := 1;
      prime := nil;
   repeat
      if prime = nil then
      begin
          new(actual);
          actual^.num := numeros[i];
          prime := actual;
          actual^.sig := nil;
      end
   else
      begin
          anteri := actual;
          new(actual);
          actual^.num := numeros[i];
          anteri^.sig := actual;
          actual^.sig := nil;
      end;
      i := i + 1;
      until i > 10;
  end;
 
  procedure listaordenada;
  var
     listasord : ptlistas;
     numer : array[1..10] of integer;
     g, temp, t, ii : integer;
  begin
      listasord := prime;
      t := 1;
      while  listasord <> nil do
      begin
          numer[t] := listasord^.num;
          listasord := listasord^.sig;
          t := t + 1;
      end;
     for g := 1 to t - 1 do
       for ii := g + 1 to t - 1 do
       if numer[g] < numer[ii] then
       begin
           temp := numer[g];
           numer[g] := numer[ii];
           numer[ii] := temp;
       end;
     priorden := nil;
     for ii := 1 to t - 1 do
     begin
         if priorden = nil then
         begin
            new(nuevaordenada);
            nuevaordenada^.num := numer[ii];
            priorden := nuevaordenada;
            nuevaordenada^.sig := nil;
         end
       else
          begin
             antorden := nuevaordenada;
             new(nuevaordenada);
             nuevaordenada^.num := numer[ii];
             antorden^.sig := nuevaordenada;
             nuevaordenada^.sig := nil;
         end;
     end;
  end;
 
 procedure anulapares;
 var
    anular : ptlistas;
    adavuen : array[1..10] of integer;
    x, l : integer;
 begin
     anular := prime;
     l := 1;
     while anular <> nil do
     begin
        if anular^.num mod 2 <> 0 then
        begin
            adavuen[l] := anular^.num;
            l := l + 1;
        end;
           anular := anular^.sig;
      end;
       for x := 1 to l - 1 do
       write(' ',adavuen[x]);
  end;
 
  procedure concatenalistas;
  var
    pasa1, pasa2 : ptlistas;
    y : integer;
  begin
     y := 1;
     writeln;
     writeln('*** Concadenado De [a/b] ***');
     pasa1 := prime;
     pasa2 := priorden;
     while  pasa1 <> nil do
     begin
        write(' ',pasa1^.num + pasa2^.num);
        concatenados[y] := pasa1^.num + pasa2^.num;
        y := y + 1;
        pasa1 := pasa1^.sig;
        pasa2 := pasa2^.sig;
     end;
  end;
 
 
  procedure presentalistas;
  var
    lis1, lis2 : ptlistas;
  begin
   writeln('**** Lista Inicio ****');
  lis1 := prime;
   while lis1 <> nil do
   begin
      write(' ',lis1^.num);
      lis1 := lis1^.sig;
   end;
   writeln;
   writeln('**** Lista Ordenada De mayor a Menor ****');
   lis2 := priorden;
   while lis2 <> nil do
   begin
      write(' ',lis2^.num);
      lis2 := lis2^.sig;
   end;
   writeln;
   writeln('**** Lista Anulados Los Pares ****');
   anulapares;
   concatenalistas;
   readln;
  end;
 
  procedure eliminacion;
  begin
{ Implementar un algoritmo en Pascal que elimine los elementos, los cuales, sumandos a un
valor ingresado por teclado se encuentran en la lista obtenida en el inciso (d). que elemento
sumo al entrado}
  end;
 
 
  begin
      clrscr;
      insertanumero;
      listaordenada;
      presentalistas;
      dispose(actual);
      dispose(nuevaordenada );
  end.
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