Lección 023: El tipo Puntero
Página 1 de 1.
Lección 023: El tipo Puntero
Ejercicio1:
a) Determinen cuáles de las siguientes proposiciones son válidas:
Ejercicio 2:
1. Consideren las declaraciones que se hicieron en el Ejercicio 1. Determinen la salida que produce el siguiente código:
Ejercicio 3: Consideren las declaraciones realizadas en el Ejercicio 1, determinen la salida del siguiente código:
Ejercicio 4: Dado el siguiente código en Pascal
2- Dada la instrucción:
2.2 ¿Sería correcto hacer dispose(b) antes de la instrucción? Justifiquen.
3- Dada la instrucción
3.2 ¿Qué valor tiene b^.capacidad?
3.3 Teniendo en cuenta que se quiere mantener las referencias a los componentes referenciados ¿sería correcto hacer dispose(c ) después de la instrucción? Justifiquen.
=========================================================================
Navegación:
a) Determinen cuáles de las siguientes proposiciones son válidas:
- Código:
• new(apun1)
• new(apun1^)
• apun1 := apun3
• apun2^ := apun2^ + apun1^
• apun1 := NIL
• apun4^ := NIL
• writeln(apun2, apun3)
• read(apun1^, apun4^)
- Código:
1.apun1 := NIL
2.apun2 := new(apun1)
3.dispose(apun3)
4.apun3^ := NIL
5.apun3 := apun4 AND (apun3 = NIL)
6.apun4^ := NIL
Ejercicio 2:
1. Consideren las declaraciones que se hicieron en el Ejercicio 1. Determinen la salida que produce el siguiente código:
- Código:
new(apun1);
new(apun2);
new(apun3);
apun2 := apun1;
apun1^ := 2;
apun2^ := 3;
apun3^ := ’A’;
writeln(apun1^, apun2^, apun3^)
- Código:
new(apun1);
read(apun1^);
writeln(apun1^);
dispose(apun1);
writeln(apun1^)
Ejercicio 3: Consideren las declaraciones realizadas en el Ejercicio 1, determinen la salida del siguiente código:
- Código:
new(apun3);
new(apun1);
apun3^ := ’Z’;
apun2 := NIL;
apun4 := NIL;
IF (apun3 <> NIL) AND (apun2 = NIL) THEN
writeln (‘Código A’);
IF apun3^ = ‘Z’ THEN
writeln (‘Código Z’)
ELSE
writeln (‘Código X’)
Ejercicio 4: Dado el siguiente código en Pascal
- Código:
Type
TipoVehiculo = (barco, camion);
Transporte = record
capacidad : INTEGER;
case vehiculo : TipoVehiculo of
barco : (habitaciones : INTEGER);
camion : ();
end;
var a, b, c : ^Transporte;
begin
new(a);
a^.capacidad := 30;
a^.vehiculo := barco;
a^.habitaciones := 4;
new(b);
b^.capacidad := 4;
b^.vehiculo := camion;
new(c);
c^.capacidad := 5;
c^.vehiculo := camion;
end.
2- Dada la instrucción:
- Código:
b := c
2.2 ¿Sería correcto hacer dispose(b) antes de la instrucción? Justifiquen.
3- Dada la instrucción
- Código:
b^ := c^
3.2 ¿Qué valor tiene b^.capacidad?
3.3 Teniendo en cuenta que se quiere mantener las referencias a los componentes referenciados ¿sería correcto hacer dispose(c ) después de la instrucción? Justifiquen.
=========================================================================
Navegación:
- Ir al índice del curso.
- Ir al índice de ejercicios de Pascal.
Temas similares
» Lección 019: Registros
» Lección 018: Enumerados
» Soluciones lección 006
» Soluciones lección 007
» Lección 012: Arreglos multidimensionales
» Lección 018: Enumerados
» Soluciones lección 006
» Soluciones lección 007
» Lección 012: Arreglos multidimensionales
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.