operaciones con apuntadores
Como hemos dicho que podemos acceder por posición y por dirección: ¿Es lo mismo &mat[0] y mat? Hemos visto las operaciones aritméticas llevadas a cabo sobre punteros. => Tenga cuidado con la serie de capacitación simple de C ++ aquí. ¿Sabías que en la aritmética con apuntadores importa el tipo de dato al que estamos haciendo referencia con el apuntador? En el programa anterior, tenemos una función 'displayVal' que simplemente imprime un valor entero que se le pasa. Ao del Centenario de la Instalacin del Congreso Constituyente PROGRAMACIN BASICA-Lic. Se trata de punteros, sus definiciones y usos en C ++. ¿Qué actividad realicé muy bien durante el desarrollo. 3. "Un Apuntadores una variable que contieneuna direcciónde memoria, la cualcorresponderáa un . Los campos obligatorios están marcados con *. Este nodo no apuntaría a ningún otro sino hasta que agreguemos un nuevo elemento a la lista, entonces ¿qué hacemos mientras llega un nuevo nodo? 1. los operadores (& y *). La salida de dicho ejemplo se muestra en la siguiente figura: De manera similar, el operador de decremento reduce la variable de puntero en 1 para que apunte al elemento anterior de la matriz. Lo que vimos en esta nota son conceptos muy útiles y que frecuentemente llegan a provocar un poco de confusión en los que apenas inician a conocer sobre apuntadores. Usando el puntero nulo, podemos evitar el mal uso de punteros no utilizados y evitar que las variables de puntero tengan algunos valores basura asignados. 0000004900 00000 n
Foto compartida por Laura Sánchez. M. en E. García Cabello Víctor. Itzel Vzquez Muoz… Si lo omitimos, se convertirá en un prototipo de función. La siguiente figura representa la relación entre P y P^. Tomamos un ejemplo para demostrar los punteros de función. El propósito de este documento es dar una introducción sobre apuntadores y de su uso a estos principiantes. Pero la diferencia es que el puntero de la función apunta al código ejecutable y no a datos como variables o matrices. JUDITH PEREZ MARCIAL (INVESTIGACION ELABORADA) POR ALUMNA: Jaqueline González, 2. . Representación de datos en memoria y operadores básicos, a. Declaración de datos, apuntadores y manejo de memoria. Este Blog fue realizado por el Bachiller Franco Marrocco para la materia Programación No Numérica, sección V del Instituto Universitario Politécnico Santiago Mariño. Como ptr tiene una dirección de variable p, * ptr dará el valor de la variable p (variable a la que apunta la variable puntero ptr). Punteros arduino. Prólogo (íntegro de lo que en su momento fue la edición impresa). ptr = &i; Indirección Operador * *<ptr> devuelve el contenido del objeto referenciado por el puntero <ptr>. Veamos algunos de los conceptos de puntero que se utilizan en C ++. El puntero de punteros no es más que múltiples indirecciones. Operaciones con apuntadores en Pascal. 0000014872 00000 n
Respuesta: Matrices con apuntadores y funciones. Estas funciones reciben o devuelven un valor que es un puntero. La posición de memoria designada por el valor de la variable apuntador P se representa por P^. 2. La expresión: *pint representa el valor de la variable (x) apuntada, es decir 25. La verdad es que puedes utilizar cualquiera de los dos, aunque, lo recomendable sería que siempre utilizaras NULL, esto para que tu código sea legible y evitar confusiones. De la misma manera, como tenemos punteros a variables, matrices, etc., también podemos tener punteros a funciones. Por lo tanto, una variable de puntero siempre contiene una ubicación o dirección de memoria. Valor de myarray [0] = 2 Valor de myarray [1] = 4 Valor de myarray [2] = 6 Valor de myarray [3] = 8 Valor de myarray [4] = 10. Hay cuatro operadores aritméticos que se pueden usar en punteros: ++, -, + y -. Introducción. (conteste la pregunta 1). 0000014554 00000 n
Yo probe con matrices cuadradas y funcionaba perfector. Un estudio intensivo de punteros y sus usos en C ++. p--; p Sin embargo, esta expresión debe ser utilizada con paréntesis: (*fptr)( ...);. Ejemplos: C´odigo C y C++ Un puntero es una variable que contiene la dirección de una ubicación de memoria. Los apuntadores son uno de los mitos del lenguaje de programación C (otro tabú es la recursividad aunque ésta no está asociada con ningún lenguaje sino con la programación). Reste b a c y guarde el resultado en c, use el apuntador a c y la variable b (conteste la pregunta 3). hola,en esta oportunidad les voy a compartir un par de ejercicios sobre listas enlazadas simples implementadas en c . El tener un apuntador de este tipo puede resultar peligroso porque, en caso de que lleguemos a utilizar tal apuntador, no tenemos conocimiento alguno de a qué dirección esté refiriéndose y podría ocasionar que nuestro programa simplemente finalice de manera inmediata. La variable de puntero con un valor NULL se denomina puntero NULL. quisiera saber como se realiza una operacion simple, como una suma o una resta con un arreglo dinamico. 0000014108 00000 n
La dirección de c es asignada a p2 *p2 = 3; // Paso 8. c = 3 printf("%d %d %d\n", a, b, c); // Paso 9. p = &p1; // Paso 10. p contiene la dirección de p1 p1 = p2; // Paso 11. p1= p2; *p1 = 1; // Paso 12. c = 1 printf("%d %d %d\n", a, b, c); // Paso 13. } Our partners will collect data and use cookies for ad targeting and measurement. Haz clic para compartir en Facebook (Se abre en una ventana nueva), Haz clic para compartir en Twitter (Se abre en una ventana nueva), Haz clic para enviar un enlace por correo electrónico a un amigo (Se abre en una ventana nueva), Ventajas y desventajas del sistema de Buffet, Antecedentes históricos de la periodoncia. Ejemplo: El operando cast-expresion es un puntero a un elemento después del último de una matriz. De igual forma hablaremos un poco sobre arreglos para que los conceptos vistos en esta nota queden más claros y veas cómo puedes aprovecharlos . En este tutorial, exploraremos todo sobre punteros y sus usos en C ++ en detalle. Operadores de puntero. 0000003487 00000 n
En otras palabras, un programa debe inicializar sus punteros – su declaración no basta- ; para inicializar un puntero se debe utilizar el procedimientoNew. Imágenes del tema de, Introducción a la Programación Estructurada, Fundamentos de la Programación Orientada a Objetos. Grupo: 1EV15 Martínez Hernández José Carlos “Operaciones con apuntadores” Operaciones con apuntadores. Es decir: int x = 25, *pint; pint = &x; La variable pint contiene la dirección . En el ejemplo vemos que tanto variable como apuntador son enteros. (5 l�`m2%��L��>���/��m��Ħ}�;9��� f�!0S�D� �o�� l���:`�����0A�)���QC�e����R��N��C� Introducción. Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés. Relación entre apuntadores y arreglos - Programación I . Se tiene así que las dos sentencias que siguen son igualmente válidas para invocar a la función, pero observe que la segunda tiene una sintaxis especial: En la programación C/C++ los punteros y sus operaciones constituyen parte fundamental del lenguaje, por lo que es muy frecuente el uso del operador de indirección * para acceder a entidades señaladas por punteros, y desde luego, este operador (herencia del C clásico), cubre suficientemente las necesidades de acceso a través de punteros de cualquier tipo. Una última operación que podemos realizar con apuntadores es la comparación, aquí podemos hacer uso de los operadores tan conocidos como mayor que, menor que, igual que, etc. Y &mat[1] = mat++ ? Un apuntador, 1.- TABLA DE DATOS DE CONDICIONES DE OPERACIÓN: Presión manométrica del vapor (Kg/Cm2) Temperatura de alimentación (°C) ºC Vacío en el condensador (mmHg.) El símbolo * tiene tres usos en C++: operador de multiplicación, indicador de tipo de variable (tipo puntero) y operador de indirección. 0000004063 00000 n
Sumar y restar valores que conocemos de toda la vida es sumamente sencillo. Sabemos que una variable de puntero siempre apunta a la dirección en la memoria. MODOS UTILIDADES inmediato 'Operaciones con constantes Directo por registro _| Variables locales de procedimientos no recursivos Indirecto por ret Variables referenciadas a través de apuntadores Absoluto Direcciones de sistema Relativo Variables globales Indexado 'Acceso a vectores, matrices y cadenas 'Autoincremental | Desapilar . Despues pase a otros tipos de matrices tipo 2x3 y 3x2 y ahi vi que fallaba. Los apuntadores se crean con las declaraciones ya citadas: P es una variable tipo ApuntadorEntero que apunta a posiciones que contienen enteros. La posición de memoria designada por el valor de la variable apuntador P se representa por P^. Tu dirección de correo electrónico no será publicada. 0000004612 00000 n
0000012511 00000 n
Hasta la próxima. Este operador unitario es complementario del de indirección. p = p – 2; p No es igual a cuando se . Además existen dos operadores específicos para punteros-a-clases. Itzel Vzquez Muoz 1 PLANTEL ING. 0000014749 00000 n
Desarrollo. Un operador de dirección &: Representa la dirección de memoria de la variable que le sigue; Operador unario que regresa la dirección de su operando, ejemplo: . Puede realizar las siguientes operaciones aritméticas con punteros: Agregar o restar un valor entero en un puntero; Restar dos punteros Una variable referenciada o variable dinámica es una variable que, a diferencia de una variable común, no se referencia mediante un nombre sino de manera indirecta a través de un puntero. Si añadimos una unidad a esta dirección, podría parecer lógico que el resultado fuera 201 pero no es así, al sumarle una unidad, obtendremos el valor 208 ¿¡por qué!? ICE Fundamentos de, INSTITUTO POLITECNICO NACIONAL En un programa se manejan variables que como su nombre lo indica su valor puede cambiar. Comparación de dos apuntadores a miembros del mismo arreglo. Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Culhuacán Sabemos que el nombre de la matriz apunta al primer elemento de la matriz y este es un puntero constante. apunta al siguiente entero. El martes 10 de enero del 2023, Story se somete a una cirugía y se perderá parte de la próxima temporada con Boston. p = p + 1; p EDWIN ALEJANDRO ANTURY LOZADA ID 378220 MONICA PAOLA CASTRO SANTANA ID 573501 ERICA, Instituto Politécnico Nacional Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Culhuacán ICE Fundamentos de programación. Se explicará como tema principal todo lo referente a Apuntadores. 0. Las variables se manejan asignándoles un bloque específico de memoria dentro de la computadora para guardar el valor de la variable. Como el nombre de la matriz apunta al primer elemento de la matriz, podemos imprimir el contenido de toda la matriz usando una variable de puntero e incrementarlo usando el operador ++. En el siguiente código se realiza un programa que emplea 0000005187 00000 n
Un Lvalue designando un objeto X que no sea un campo de bits ni tenga un especificador de almacenamiento tipo registro. H��WMs�6��W��Lc�A����d����a:�_����H���$����$HQ��*i���݇�oa�W������6͓&�+�(��6iSeKTe�����( ����$��%RK�0A�"���3^�~��d�[f�%9J�mrGC(s�-+t�TM�s�a��J �N ��H[�͘��6��ϟ&��*�\Ny�|�H� NULL es una constante simbólica definida en el archivo de cabeceras stddef.h el cual a su vez es incluido en el archivo de cabeceras stdio.h. Si pt1 y pt2 son dos punteros a las variables v1 y v2, la expresión *pt2 = *pt1; asignaría a la variable apuntada por pt2 el valor de la variable apuntada por pt1, es decir, equivale a v2 = v1;. (otro tabú es la recursividad aunque ésta no está asociada con ningún lenguaje sino con la programación).Esta entrada introduce a los conceptos y manipulación de apuntadores . En C++ el símbolo & se utiliza también como declarador de referencia; casi siempre para pasar argumentos a funciones. Los punteros son uno de los temas más difíciles de la programación, intentaré explicarlo de forma más sencilla y cercana a la práctica.Empecemos por la representación de los datos en la memoria del microcontrolador: en la lección sobre operaciones de bits, comentamos que el bloque de memoria mínimo direccionable es un byte, es decir, podemos hacer referencia a . 203 0 obj
<<
/Linearized 1
/O 205
/H [ 1490 1007 ]
/L 154813
/E 15298
/N 49
/T 150634
>>
endobj
xref
203 51
0000000016 00000 n
Pero no se pueden desreferenciar directamente. Utilizando sólo los apuntadores, almacene en c el resultado de la operación a + b. Veamos el uso de estas operaciones en un programa de ejemplo. Instituto Politécnico Nacional A continuación, declaramos un puntero vacío. 0000014494 00000 n
Un ejemplo que podemos mencionar es el de crear una lista enlazada. Apuntadores y Direcciones de Memoria. enero 10, 2023. En este caso, lo más probable es que se obtenga un error irrecuperable, como ocurre por ejemplo, con los compiladores Borland C++ 5.5 y MS Visual C++ 6.0 en la situación siguiente: El operando cast-expresion es un puntero a una variable automática y su bloque ha terminado la ejecución. Operaciones Con Apuntadores. Un puntero es una variable que contiene la dirección de memoria de una variable dinámica donde se podrá . BOSTON (AP) — Trevor Story . Una variable referenciada o variable dinámica es una variable que, a diferencia de una variable común, no se referencia mediante un nombre sino de manera indirecta a través de un puntero. Las operaciones aritméticas en los punteros de tipoX (punteros-a-tipoX) tienen automáticamente en cuenta el tamaño real de tipoX.Es decir, el número de bytes necesario para almacenar un objeto tipoX [].Por ejemplo, suponiendo una matriz de double con 100 elementos, si . Este concepto es prácticamente exclusivo de los apuntadores. Sabemos que todas las variables que declaramos, tienen una dirección específica en la memoria. La memoria en la dirección 0 está reservada por el sistema operativo y no podemos acceder a esta ubicación. 0000014374 00000 n
El operador * aplicado al nombre de un apuntador indica el valor de la variable apuntada: float altura = 26.92, *apunta; apunta = &altura; //inicialización del apuntador printf(“\n%f”, altura); //salida 26.92 printf(“\n%f”, *apunta); //salida 26.92 No se debe confundir el operador * en la declaración del apuntador: int *p; Con el operador * en las instrucciones: *p = 27; printf(“\nContenido = %d”, *p); Veamos con un ejemplo en C la diferencia entre todos estos conceptos Es decir: int x = 25, *pint; pint = &x; La variable pint contiene la dirección de memoria de la variable x. Las referencias también tienen un uso especial en C ++ y a menudo se utilizan como alias para variables. El operando cast-expresion debe ser alguno de los siguientes: La indirección de punteros a clases y a miembros, Operador de indirección de punteros-a-miembro . Regla: el operador de referencia no puede ser aplicado al valor devuelto por una función. En este documento, el presidente Petro además aprobó la suspensión del cese al fuego bilateral y temporal de carácter nacional con el ELN, que había sido ordenado mediante el decreto 2657 del . 0000013612 00000 n
Un estudio intensivo de punteros y sus usos en C ++. En un puntero se pueden realizar varias operaciones de tipo enteras, pero en dependencia de como se usen, sus resultados pueden ser muy diferentes, a continuación les muestro . En este artículo se explica de una manera sencilla y breve todo lo referente a la utilización de apuntadores tanto en C como en C++. NULL es básicamente lo mismo que el valor cero, puedes verlo en la siguiente sección de código: ¿Si puedo inicializar un apuntador a cero, puedo inicializarlo a cualquier otro valor numérico que yo quiera? Independientemente de si lo hemos indicado explícitamente o no, un apuntador siempre contendrá un valor. Serie: administración de sistemas GNU/Linux, Temporada 01: fundamentos básicos de la shell, Serie: programación orientada a objetos con C++, Temporada 01: fundamentos teóricos de la POO. Ejemplo: &9�Tf�]�V3���ɹ�T��Q�ts�e^i�5���)W��>+�tHP�̌�����)'f��v&�F��\�tD�`uؙg2f Se pueden asignar valores a P^ y utilizar valores P^ en expresiones como cualquier otra variable. Los punteros-a-void no pueden ser deferenciados sin un modelado explícito. 0000003345 00000 n
En otras palabras, no tiene porqué existir ninguna conexión entre las entidades representadas por ambos operadores. Equivale a b = 2; p1 = p2; // Paso 5. Un puntero ayuda a manipular las variables a través de su dirección. La aritmética de punteros se limita a suma, resta, comparación y asignación. Address: Copyright © 2023 VSIP.INFO. En el programa anterior, primero declaramos un puntero entero al que se le asigna un valor NULL. (descubrir errores es parte del aprendizaje). Si no deseas o no necesitas darle un valor a algún apuntador por el momento y, sobre todo, quieres evitar el error que te mencioné al principio de esta sección, simplemente inicialízalo a NULL. void somefunc (...); // una función con sus parámetros ... Scribd is the world's largest social reading and publishing site. la dirección de memoria de la variable que le sigue; Operador unario que regresa Redacción. ¿Existe alguna diferencia al momento de realizar estas operaciones sobre apuntadores? Tu dirección de correo electrónico no será publicada. También se puede hacer. El resultado de la operación de indirección sobre un puntero es indefinido si se da alguno de los casos siguientes (aquí "indefinido" significa que se obtiene basura o incluso un error irrecuperable): Se ha señalado que los punteros pueden a su vez señalar a punteros. Un identificador es una serie de caracteres formados por letras, dígitos y el carácter subrayado ( _, APUNTADORES Los apuntadores son variables que almacenan direcciones de memoria. Como resultado de esto, los cambios realizados en las variables dentro de las funciones también se reflejan en el exterior de la función que llama. Veremos esta asociación entre la variable de puntero y la matriz en el siguiente ejemplo de código. Una dirección de memoria no deja de ser un valor con el que podemos realizar ciertas operaciones, entre estas podemos encontrar la suma, la resta e incluso podemos comparar el valor de dos apuntadores entre sí. Benemérita Universidad Autónoma de Puebla UNIDAD REGIONAL ACATZINGO DE HIDALGO ASIGNATURA: PROGRAMACION CONCURRENTE Y PARALELA MCC. LECTURA 4 OPERACIONES CON APUNTADORES INSTRUCTOR: HUMBERTO DE J. OCHOA Operando cast-expresion debe ser una expresión que se resuelva a un puntero-a-objeto, o a-función. b. Direccionamiento (Posicionamiento) de los datos declarados utilizando mapas de memoria. Incremente en 5 el valor de b usando sólo apuntadores (conteste la pregunta 2). 0000006284 00000 n
En la memoria, esto se representará como: Un puntero de punteros se declara de la siguiente manera: Tomamos directamente un ejemplo de código para comprender mejor el puntero de punteros. Un apuntador puede inicializarse en NULL que corresponde a una dirección 0 o nula. Te tiro un consejo, para descubrir errores en estos casos. Veamos el funcionamiento de las variables de puntero a continuación. Hasta pronto. Variable var: 10 Puntero a variable: 10 Puntero a puntero a una variable: 10. Si queremos sumar 2 unidades a alguna cantidad, esta aumentará exactamente 2 unidades. Una buena forma de expresar mejor esto es si, por ejemplo, deseamos realizar algo si el apuntador no se está refiriendo a nada: ¿Cuál de las dos formas anteriores crees que exprese mejor tus intenciones? Siempre que queremos usar el apuntador debemos anteponer el asterisco (*) para indicar que usaremos el valor en la posición de memoria . Nota: El operador * que usamos con el puntero se usa para denotar que es una variable de puntero. Muchas de las funciones estándares de C, trabajan con punteros, como es el caso del scanf o strcpy. �D����rbC��N���Θ����f�>�a Ǭ�\g���4����r��s���I�\�I)������>�]��c�@�R����Fbӌ��J)���N9t�j�όLr;�������l�lvt�a��I'��F��\ٔ���0��W� ��� ysq��Ɣ�5
)G&�q?�EM�蕍�\N̎;ح 6s2+(�A��!��\�a��f�!PL�Vs6��]P D��@�%*hlf0 operando apunta, es decir un apuntador, ejemplo: • Se pueden realizar asignaciones entre punteros. 6. Las matrices y los punteros están fuertemente asociados entre sí. Operaciones básicas de entrada / salida en C ++, Operaciones de E / S básicas en Java (flujos de entrada / salida), Operaciones de entrada y salida de archivos en C ++, Sonic Frontiers: M-046 Guía de solución de rompecabezas, El golf comenzará en Nintendo Switch Sports la próxima semana, Nuevos trailers de Okamiden encantan el alma salvaje, Descarga de Nintendo: Star Wars: El Poder de la Fuerza, Tutorial On SAPlogon, SAP GUI, Navigation, SAP Tips & Tricks, Nintendo's Holiday Mall Experience comienza el 19 de noviembre, El Día N7 estuvo tranquilo este año, pero conseguimos este póster radical de Mass Effect, mejor programa para monitorear las temperaturas de la CPU, cómo crear una lista doblemente enlazada en java, Overwatch inicia los Juegos de Verano 2018 con nueve nuevas máscaras, Las ventas del Black Friday de Square Enix incluyen nuevos juegos como Guardians of the Galaxy, El remake de Resident Evil 3 alcanza los cinco millones de ventas, Las características de calidad de vida de Zelda: Skyward Sword HD provocan posibles 'refinamientos' en los tutoriales de Fi, Revisión: Borderlands: The Secret Armory of General Knoxx, La tarjeta de memoria. Como P^ designa una posición de memoria, se puede utilizar como . La siguiente es una lista de errores frecuentes observados en mis estudiantes o lectores del blog . Es decir, devuelve el valor del objeto señalado por el operando. 5 0 141KB Read more. APUNTADORES y ARREGLOS Sea el arreglo de una dimensión: int mat[ ] = {2, 16, -4, 29, 234, 12, 0, 3}; En el que cada elemento, por ser tipo int, ocupa dos bytes de memoria. BERNARDO QUINTANA ARRIOJA Lic. Tampoco se puede aplicar al valor devuelto por una función, en consecuencia, la expresión x = &func(x); es incorrecta, ya que el valor devuelto por func() es del tipo registro (está en la pila que no es direccionable por este método). Recordando un poco de lo que vimos en la primera nota, cada tipo de dato hace referencia al espacio que se ocupará en memoria, por tanto, si le agregamos a un apuntador “n” unidades, el resultado será añadir dicho número “n” multiplicado por el tamaño en bytes que ocupa el tipo de dato al que estamos apuntando. Aparte de estos operadores aritméticos, también podemos usar operadores de comparación como ==,. Aunque las operaciones de comparación no son muy utilizadas, vale la pena mencionar su existencia. �D�D%n}�91Q�[-�SlFn㢔��'{�uNL�ۭ ��Z̥��,c�ό�32n Si el resultado de la indirección es una función (método), solo podrá ser utilizado como operando con el operador de invocación de función ( ). // Se reservan 4 bytes para el dato de punto flotante, // Se incrementa el contenido de la dirección apuntada, // o sea se incrementa el dato. Hemos asignado la dirección de la función 'displayVal' a este puntero de función. El Olimpia comenzó este martes oficialmente la "Operación 36" que significa la obtención del título 36 en el torneo de Clausura que arrancará el 21 de enero. Y�U:��:�!�{���"L
\�@&�"� b�r�
endstream
endobj
253 0 obj
897
endobj
205 0 obj
<<
/Type /Page
/Parent 188 0 R
/Resources << /ColorSpace << /CS4 228 0 R /CS5 229 0 R /CS2 228 0 R /CS3 229 0 R /CS0 228 0 R
/CS1 229 0 R >>
/Font << /TT10 226 0 R /TT11 222 0 R /TT12 227 0 R /TT13 232 0 R /TT14 234 0 R >>
/ExtGState << /GS2 236 0 R >> /ProcSet [ /PDF /Text ] >>
/Contents 230 0 R
/MediaBox [ 0 0 612 792 ]
/CropBox [ 0 0 612 792 ]
/Rotate 0
/Annots 206 0 R
/B [ ]
>>
endobj
206 0 obj
[
207 0 R 208 0 R 209 0 R 210 0 R 211 0 R 212 0 R 213 0 R 214 0 R 215 0 R
216 0 R 217 0 R 218 0 R 219 0 R 220 0 R 221 0 R
]
endobj
207 0 obj
<<
/Type /Annot
/Subtype /Link
/Rect [ 182.10457 525.68523 430.52467 545.68515 ]
/A 237 0 R
/Border [ 0 0 0 ]
/H /I
>>
endobj
208 0 obj
<<
/Type /Annot
/Subtype /Link
/Rect [ 109.47327 436.21188 510.52437 455.15918 ]
/A 238 0 R
/Border [ 0 0 0 ]
/H /N
>>
endobj
209 0 obj
<<
/Type /Annot
/Subtype /Link
/Rect [ 109.47327 416.21196 511.577 435.15926 ]
/A 239 0 R
/Border [ 0 0 0 ]
/H /N
>>
endobj
210 0 obj
<<
/Type /Annot
/Subtype /Link
/Rect [ 118.94691 378.31737 514.73488 397.26466 ]
/A 240 0 R
/Border [ 0 0 0 ]
/H /N
>>
endobj
211 0 obj
<<
/Type /Annot
/Subtype /Link
/Rect [ 118.94691 358.31744 515.78751 377.26474 ]
/A 241 0 R
/Border [ 0 0 0 ]
/H /N
>>
endobj
212 0 obj
<<
/Type /Annot
/Subtype /Link
/Rect [ 119.99954 338.31752 515.78751 357.26482 ]
/A 242 0 R
/Border [ 0 0 0 ]
/H /N
>>
endobj
213 0 obj
<<
/Type /Annot
/Subtype /Link
/Rect [ 118.94691 317.26497 514.73488 336.21227 ]
/A 243 0 R
/Border [ 0 0 0 ]
/H /N
>>
endobj
214 0 obj
<<
/Type /Annot
/Subtype /Link
/Rect [ 119.99954 298.31767 514.73488 315.15971 ]
/A 244 0 R
/Border [ 0 0 0 ]
/H /N
>>
endobj
215 0 obj
<<
/Type /Annot
/Subtype /Link
/Rect [ 119.99954 278.31775 515.78751 295.15979 ]
/A 245 0 R
/Border [ 0 0 0 ]
/H /N
>>
endobj
216 0 obj
<<
/Type /Annot
/Subtype /Link
/Rect [ 248.4201 86.73953 364.20914 98.31844 ]
/A 246 0 R
/Border [ 0 0 0 ]
/H /N
>>
endobj
217 0 obj
<<
/Type /Annot
/Subtype /Link
/Rect [ 119 258 516 275 ]
/A 247 0 R
/Border [ 0 0 0 ]
/H /N
>>
endobj
218 0 obj
<<
/Type /Annot
/Subtype /Link
/Rect [ 119.99954 237.26527 516.84013 255.15994 ]
/A 248 0 R
/Border [ 0 0 0 ]
/H /N
>>
endobj
219 0 obj
<<
/Type /Annot
/Subtype /Link
/Rect [ 118.94691 219.37061 516.84013 235.16002 ]
/A 249 0 R
/Border [ 0 0 0 ]
/H /N
>>
endobj
220 0 obj
<<
/Type /Annot
/Subtype /Link
/Rect [ 118.94691 199.37068 516.84013 216.21272 ]
/A 250 0 R
/Border [ 0 0 0 ]
/H /N
>>
endobj
221 0 obj
<<
/Type /Annot
/Subtype /Link
/Rect [ 111.57852 159.37083 516.84013 177.2655 ]
/A 251 0 R
/Border [ 0 0 0 ]
/H /N
>>
endobj
222 0 obj
<<
/Type /Font
/Subtype /TrueType
/FontDescriptor 224 0 R
/BaseFont /TimesNewRoman
/FirstChar 31
/LastChar 255
/Widths [ 778 250 333 408 500 500 833 778 180 333 333 500 564 250 333 250 278
500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444
921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722
556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500
333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500
500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 778
500 778 333 500 444 1000 500 500 333 1000 556 333 889 778 778 778
778 333 333 444 444 350 500 1000 333 980 389 333 722 778 778 722
250 333 500 500 500 500 200 500 333 760 276 500 564 333 760 500
400 549 300 300 333 576 453 250 333 300 310 500 750 750 750 444
722 722 722 722 722 722 889 667 611 611 611 611 333 333 333 333
722 722 722 722 722 722 722 564 722 722 722 722 722 722 556 500
444 444 444 444 444 444 667 444 444 444 444 444 278 278 278 278
500 500 500 500 500 500 500 549 500 500 500 500 500 500 500 500
]
/Encoding /WinAnsiEncoding
>>
endobj
223 0 obj
<<
/Type /FontDescriptor
/FontName /Arial,Bold
/Flags 16416
/FontBBox [ -250 -250 1200 958 ]
/MissingWidth 750
/StemV 146
/StemH 146
/ItalicAngle 0
/CapHeight 958
/XHeight 670
/Ascent 958
/Descent -250
/Leading 250
/MaxWidth 1000
/AvgWidth 458
>>
endobj
224 0 obj
<<
/Type /FontDescriptor
/FontName /TimesNewRoman
/Flags 34
/FontBBox [ -250 -250 1200 938 ]
/MissingWidth 750
/StemV 68
/StemH 68
/ItalicAngle 0
/CapHeight 938
/XHeight 656
/Ascent 938
/Descent -250
/Leading 251
/MaxWidth 1000
/AvgWidth 375
>>
endobj
225 0 obj
<<
/Type /FontDescriptor
/FontName /Tahoma
/Flags 32
/FontBBox [ -250 -182 1637 1000 ]
/MissingWidth 1000
/StemV 83
/StemH 83
/ItalicAngle 0
/CapHeight 1000
/XHeight 700
/Ascent 1000
/Descent -182
/Leading 182
/MaxWidth 1364
/AvgWidth 455
>>
endobj
226 0 obj
<<
/Type /Font
/Subtype /TrueType
/FontDescriptor 225 0 R
/BaseFont /Tahoma
/FirstChar 31
/LastChar 255
/Widths [ 1000 313 332 401 728 546 977 674 211 383 383 546 728 303 363 303
382 546 546 546 546 546 546 546 546 546 546 354 354 728 728 728
474 909 600 589 601 678 561 521 667 675 373 417 588 498 771 667
708 551 708 621 557 584 656 597 902 581 576 559 383 382 383 728
546 546 525 553 461 553 526 318 553 558 229 282 498 229 840 558
543 553 553 360 446 334 558 498 742 495 498 444 480 382 480 728
1000 546 1000 211 546 397 817 546 546 546 1391 557 383 557 584 559
559 1000 211 211 401 401 455 546 909 546 876 446 383 446 468 444
444 313 546 546 518 546 600 382 546 546 929 557 573 728 363 929
559 471 728 546 274 546 568 546 303 546 525 446 573 498 546 361
444 621 600 600 600 600 498 601 601 601 561 561 561 561 373 373
678 698 667 667 708 708 708 708 728 621 656 656 656 656 576 584
548 360 525 525 525 525 229 461 461 461 526 526 526 526 229 229
687 573 558 558 543 543 543 543 728 360 558 558 558 558 498 334
546 ]
/Encoding /WinAnsiEncoding
>>
endobj
227 0 obj
<<
/Type /Font
/Subtype /TrueType
/FontDescriptor 223 0 R
/BaseFont /Arial,Bold
/FirstChar 31
/LastChar 255
/Widths [ 750 278 333 474 556 556 889 722 238 333 333 389 584 278 333 278 278
556 556 556 556 556 556 556 556 556 556 333 333 584 584 584 611
975 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778
667 778 722 667 611 722 667 944 667 667 611 333 278 333 584 556
333 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611
611 611 389 556 333 611 556 778 556 556 500 389 280 389 584 750
556 750 278 556 500 1000 556 556 333 1000 667 333 1000 750 750 750
750 278 278 500 500 350 556 1000 333 1000 556 333 944 750 750 667
278 333 556 556 556 556 280 556 333 737 370 556 584 333 737 552
400 549 333 333 333 576 556 278 333 333 365 556 834 834 834 611
722 722 722 722 722 722 1000 722 667 667 667 667 278 278 278 278
722 722 778 778 778 778 778 584 778 722 722 722 722 667 667 611
556 556 556 556 556 556 889 556 556 556 556 556 278 278 278 278
611 611 611 611 611 611 611 549 611 611 611 611 611 556 611 556
]
/Encoding /WinAnsiEncoding
>>
endobj
228 0 obj
/DeviceRGB
endobj
229 0 obj
/DeviceGray
endobj
230 0 obj
<< /Filter /FlateDecode /Length 233 0 R >>
stream
Tribunal Constitucional Consulta De Causas,
Inversiones En Bienes Inmobiliarios,
Maestro De Stranger Things,
Lista De Contenedores En Inglés Y Español,
Isdin Spot Prevent Para Que Sirve,
Como Recuperar Mi Contraseña De Evaluación Docente,
Manzana Con Manchas Rojas Por Dentro,
operaciones con apuntadores