12.07.2015 Views

Apuntadores - Universidad de Carabobo, FACYT - computacion

Apuntadores - Universidad de Carabobo, FACYT - computacion

Apuntadores - Universidad de Carabobo, FACYT - computacion

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

UNIVERSIDAD DE CARABOBOFACULTAD EXPERIMENTAL DE CIENCIAS Y TECNOLOGÍADEPARTAMENTO DE COMPUTACIÓNGRUPO DE DESARROLLO DE SOFTWARE Y SISTEMASALGORITMOS Y PROGRAMACIÓN II(CS218)GUIAS DE EJERCICIOS DE PRÁCTICAAÑO LECTIVO 2005Marylin GiugniLuis Guillermo León G.Enero, 2006


PRÁCTICA 3. APUNTADORESUNIVERSIDAD DE CARABOBOFACULTAD EXPERIMENTAL DE CIENCIAS Y TECNOLOGÍADEPARTAMENTO DE COMPUTACIÓNGRUPO DE DESARROLLO DE SOFTWARE Y SISTEMASCS0218 − ALGORITMOS Y PROGRAMACIÓN IIPRÁCTICA 3(APUNTADORES)1. Indique cuáles <strong>de</strong> las siguientes afirmaciones son verda<strong>de</strong>ras y cuáles son falsas. Justifique surespuestas.a) ¿Qué es un apuntador?.b) ¿Cuáles son las operaciones <strong>de</strong>finidas sobre el tipo Apuntador y cómo funcionan?.c) Investigue acerca <strong>de</strong>l uso <strong>de</strong> apuntadores en lenguaje C.d) Investigue acerca <strong>de</strong> la artmética <strong>de</strong> apuntadores en lenguaje C.2. En los siguientes algoritmos indique gráficamente lo que va ocurriendo con cada uno <strong>de</strong> los objetos<strong>de</strong>clarados a medida que se van ejecutando cada una <strong>de</strong> las instrucciones.(a)TipoREF_INT = Apuntador a Entero;(b)TipoREF_REAL = Apuntador a Real;VariableVariableP, Q, R : REF_INT; R1, R2, R3 : REF_REAL;A, B : Entero; X, Y : Real;igual1, igual2 : Booleano;igual1, igual2 : Booleano;ComienzoCrear(P)ComienzoP↑ ← 20; X ← 10.5;A ← P↑ + 5; Y ← 22.3;Q ← βA;R1 ← βX;B ← Q↑ + P↑;R2 ← βY;R ← P;X ← R1↑ + R2↑;P ← βB;Crear(R3);R↑ ← R↑ + P↑; R3↑ ← X;Q↑ ← Q↑ + 5;igual1 ← (R3 = R1);igual1 ← (Q↑ = A); R3↑ ← R2↑ + Y;igual2 ← (P = βB); R1 ← R3;Crear(P);igual2 ← (R1↑ = X);igual1 ← (P = βB);FinFinCS218-Algoritmos y Programación IIEnero, 20061M.G.,L.G.L / mg. lgl


PRÁCTICA 3. APUNTADORES(c)TipoREF_NODO = Apuntador a NODO;REF_INT = Apuntador a Entero;NODO = Registroinfo : Entero;prox : REF_NODO;finregistro;(d)Consi<strong>de</strong>re el tipo REF_INT <strong>de</strong>finido como en elejercicio 1cVariableP1, P2: REF_INT;a, b, c: enteroigual1, igual2, igual3 : Booleano;VariableComienzoP1, P2, P3 : REF_INT; a 100;N1, N2 : REF_NODO; b 200;X, Y : Entero; P1 βa;igual1, igual2, igual3 : Booleano;P2 βb;a a + b;Comienzoc P1↑;X ← 10;Crear(P1);Y ← 10; P1↑ b;P1 ← βX;igual1 (P1 = P2);P2 ← βY;igual2 (P1↑ = P2↑);igual1 ← (βP1 = βP2);igual3 (βP1 = βP2);igual2 ← (P1 = P2);Crear(P2);igual3 ← (P1↑ = P2↑); P2↑ c;X ← P1↑ + P2↑; P2↑ P2↑ - 100;Crear(P3);igual1 (P1↑ = P2↑);P3↑ ← X;Liberar(P1);igual1 ← (P3 = P1);Liberar(P2);Crear(N1);igual1 (P1 = P2);N1↑.info ← P1↑;igual2 (βP1 = βP2);Crear(N1↑.prox);igual3 (P1↑ = P2↑);N1↑.prox↑.info ← P3↑;FinN2 ← N1↑.proxCrear(N2↑.prox);N2↑.prox↑.info ← Y;FinCS218-Algoritmos y Programación IIEnero, 20062M.G.,L.G.L / mg. lgl


PRÁCTICA 3. APUNTADORES(e)Consi<strong>de</strong>re los tipos REF_NODO y NODO <strong>de</strong>finidoscomo en el el ejercicio 1c(f)Consi<strong>de</strong>re los tipos REF_NODO y NODO <strong>de</strong>finidoscomo en el el ejercicio 1cVariableVariableL, P1: REF_NODO; L, P1, P2, P3, ANT: REF_NODO;i: entero; i, x: entero;ComienzoComienzoCrear(L);Crear(L);L↑.info 0; L↑.info 100;P1 L; P1 L;Para i 1 hasta 5 hacerPara i 1 hasta 3 hacerCrear(P1↑.prox);Crear(P1↑.prox);P1 P1↑.prox;P1 P1↑.prox;P1↑.info (i**2); P1↑.info (i + 1) * 100;fparaFparaFin x 50;Mientras x < 500 hacerCrear(P2);P2↑.info x;P1 L;ANT L;Mientras P1 ≠ nil ∧ P1↑.info < x hacerANT P1;P1 P1↑.proxFmientrasSi P1 = L entL P2;P2↑.prox P1;SinoANT↑.prox P2;P2↑.prox P1;Fsix x + 100FmientrasFinCS218-Algoritmos y Programación IIEnero, 20063M.G.,L.G.L / mg. lgl

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!