Manual de referencia de C++ Parte IV Variables Punteros. Preparado por Prof. Luis A. Ortiz Ortiz

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Manual de referencia de C++ Parte IV Variables Punteros. Preparado por Prof. Luis A. Ortiz Ortiz"

Transcripción

1 Manual de referencia de C++ Parte IV Variables Punteros Preparado por Prof. Luis A. Ortiz Ortiz

2 TABLA DE CONTENIDO Memoria de la computadora... 1 Representación de la memoria de la computadora... 1 Declaración de variables... 2 Variable puntero... 2 Dirección de una variable... 3 Cómo utilizar la dirección que guarda un puntero... 4 Arreglo de una dimensión... 5 Memoria asignada a un programa durante su ejecución... 5 Ejemplo del uso de la pila... 6 Montículo o memoria dinámica... 7 Cambio del tamaño de un arreglo dinámico... 8 ii

3 Memoria de la computadora La memoria de la computadora es un dispositivo electrónico que permite almacenar y examinar la información (por ejemplo, datos o instrucciones) guardada en esta. La unidad básica para representar información en la memoria se llama bit. El bit es la elección entre dos opciones de igual probabilidad, 0 o 1. Sin embargo, el byte es la unidad de medición de la información almacenada en la memoria equivalente a ocho bits. Para identificar un byte particular en la memoria de la computadora es necesario conocer su localización exacta. Dicha localización se conoce como la dirección donde se encuentra el byte. Por lo tanto, hay que indicar la dirección donde está el byte para colocar información o examinar lo que guarda actualmente el byte. Representación de la memoria de la computadora un byte F i l a s Columnas Figura 1. Una sección de la memoria de la computadora La figura 1 muestra una sección de la memoria de una computadora la cual está dividida en bytes. La dirección de un byte se obtiene combinando la fila y la columna correspondiente donde se encuentra el byte en la memoria de la computadora. De la combinación se obtiene una secuencia de ceros y unos que indica la dirección del byte. Todos los bytes de la memoria de la computadora tienen almacenado un valor correspondiente a una secuencia de ceros y unos, por ejemplo, un byte puede guardar la secuencia o la secuencia Esas secuencias en los bytes pueden representar por ejemplo números enteros, reales, caracteres, direcciones donde están los bytes, instrucciones o simplemente basura. Una secuencia de ceros y unos se considera basura, a menos que hayan sido colocado por alguien. Claro, esos valores válidos en algún momento se convertirán en basura cuando dejen de ser útiles para alguien. 1

4 Declaración de variables Las variables son símbolos que representan un valor en determinado tiempo. En C++, la declaración de una variable indica el nombre de la variable y la cantidad de bytes que la variable necesita para almacenar su información en la memoria de la computadora. Cuántos bytes son reservados para una variable, depende del tipo indicado en la declaración de la variable. Una vez el programa comienza su ejecución, el grupo de bytes reclamados por la variable son establecidos en la memoria de la computadora. Además, se crea un vínculo entre el nombre de la variable y el grupo de bytes asignados a la misma. En otras palabras, el nombre de la variable sabe cual es el grupo de bytes donde estará la información que le pertenece. El grupo se comporta como una unidad inseparable. Nombre de la variable 4 bytes Figura 2. Posible localización asignada a una variable entero La figura 2 muestra una sección de la memoria de la computadora donde reside el grupo de bytes que pertenecen a una variable de tipo entero. Los cuatro bytes son el lugar donde la variable colocará su valor. Por ejemplo, si el valor asignado a la variable es el número cinco entonces la secuencia de ceros y unos en el grupo de bytes sería así: los tres primeros bytes de la variable almacenarían cada uno ocho ceros y el último byte guardaría la secuencia Así que para examinar o modificar el grupo de bytes, hay que usar el nombre de la variable asociado al grupo o la dirección donde está el grupo. Variable puntero En C++ existen unas variables especiales que pueden almacenar la dirección (localización) donde se encuentra un grupo de bytes en la memoria de la computadora. Esas variables se conocen como variables puntero o simplemente punteros. La declaración de un puntero es inconfundible ya que su declaración incluye uno o más asteriscos. El formato para declarar un puntero es el siguiente: Tipo del dato en la memoria Un asterisco más que el tipo del dato en la memoria Nombre de la variable puntero ; 2

5 El tipo del dato en la memoria puede ser, por ejemplo, un tipo entero, punto flotante (real), booleano, carácter o el tipo de un puntero. Además, el tipo del dato en la declaración puede ser remplazado por un tipo de dato creado por el programador. Los punteros son variables clasistas; no guardan la dirección de cualquier grupo de bytes en la memoria de la computadora. Es decir, la dirección que guarde el puntero depende de lo que el grupo de bytes esté a su vez guardando. Por ejemplo, si el grupo de bytes está almacenando un número entero entonces el puntero que guarde la dirección del grupo de bytes debe ser declarado de la siguiente manera: int por el tipo del dato guardado en el grupo de bytes seguido de un asterisco debido a que el puntero tiene que poseer un asterisco más que el tipo del dato que guarde el grupo de bytes. En este caso, el tipo del puntero será int *. La siguiente tabla muestra varios ejemplos de declaraciones de punteros: Declaración del puntero Tipo del puntero Tipo del dato que guardarán los bytes int * p; int * int int ** k; int ** int * char * ch; char * char double * m; double * double double ** w; double ** double * double *** z; double *** double ** bool * s; bool * bool bool ** v; bool ** bool * Nótese que los punteros también son variables. Por lo tanto, el grupo de bytes asignados a un puntero tiene su propia dirección la cual puede ser guardada por otro puntero. Dirección de una variable El siguiente formato muestra como obtener la dirección de un grupo de bytes que le pertenecen a una variable: & Nombre de la variable La dirección devuelta por la expresión anterior solo puede ser guardada en un puntero cuya declaración tome en cuenta el tipo del dato almacenado en el grupo de bytes pertenecientes a la variable (el nombre de la variable conoce donde están los bytes de la variable). Por ejemplo, la figura 3 muestra el resultado del siguiente código: double * abc; double ** def; def = &abc; 3

6 abc def Figura 3. Posible localización asignada a una variable La variable def guarda la dirección donde reside el grupo de bytes de la variable abc. La flecha representa la dirección donde reside el grupo de bytes de la variable abc. Sin embargo, el pedazo de código no asigna valor alguno a la variable abc. Cómo utilizar la dirección que guarda un puntero La dirección de un grupo de bytes puede usarse para acceder al grupo de bytes tanto para examinar o cambiar el valor almacenado en el grupo. Así que si la dirección se guarda en un puntero entonces a través del puntero se puede acceder el grupo de bytes. Para acceder el grupo de bytes es necesario colocar un asterisco al frente del nombre del puntero. Usando el pedazo de código presentado anteriormente, abc es equivalente a *def debido a la relación descrita en el pedazo de código. Ambos casos se refieren al mismo grupo de bytes. El primer caso es la manera directa de acceder el grupo de bytes (a través del nombre dado al grupo de bytes). La segunda forma permite acceder el grupo de bytes de manera indirecta (a través de la dirección almacenada en el puntero def). Si abc guardara la dirección de un lugar donde hay almacenado un valor real entonces con *abc se puede examinar o cambiar el valor real en el grupo de bytes. Pero hay otra alternativa para acceder el grupo de bytes donde está almacenado el valor real, **def. El primer asterisco indica el lugar donde está almacenada la dirección del grupo de bytes que tiene el valor real, la variable abc. El segundo asterisco permite acceder el grupo de bytes donde se almacena el valor real. La siguiente figura muestra la relación entre los tres grupos de bytes: def abc *abc Grupo de bytes donde estaría el número real *def **def Figura 4. Relación entre abc, def y el grupo de bytes donde estaría el valor real 4

7 Arreglo de una dimensión Los arreglos de una dimensión son un grupo de variables llamadas elementos (todos los elementos son del mismo tipo). Lo peculiar de un arreglo es que el nombre del arreglo es un puntero constante. Por lo tanto, el nombre del arreglo de una dimensión conoce donde está el primer elemento (primera variable) del grupo. Ya que los elementos son variables, la dirección donde residen sus bytes puede obtenerse usando el formato para obtener la dirección de una variable. Recordatorio, el nombre del arreglo no es una variable, es una constante. Sus elementos son las variables. La siguiente figura muestra un arreglo de una dimensión: s[0] s[1] s[2] s Figura 5. Posible representación de un arreglo de una dimensión de tres elementos de tipo carácter Memoria asignada a un programa durante su ejecución Durante la ejecución de un programa en la computadora, un grupo de bytes de la memoria de la computadora es asignado al programa. Ese grupo asignado al programa se divide en tres áreas: La primera de las tres áreas guardará el código del programa. El código es la parte del programa que no cambia. La segunda área se utilizará para mantener el estado (o las condiciones) en que se encontraban las funciones (subprogramas) cuando fueron interrumpidas por otras funciones como también mantendrá el estado de la función que está ejecutando actualmente. Además, el estado de las funciones se guarda según el orden en que las mismas fueron interrumpidas. De esta manera, una función interrumpida puede resumir su ejecución una vez la función que la interrumpió termine su tarea. Esta sección se conoce por el nombre de pila (stack). La última área está reservada para que el programador indique su uso durante la ejecución del programa. Esta sección se conoce como montículo (heap). 5

8 Ejemplo del uso de la pila La siguiente figura muestra un ejemplo de la división descrita anteriormente: Código de la función main Código de la función a Código de la función b C ó d i g o Función que está ejecutando actualmente Funciones en suspenso, en espera de continuar su ejecución Estado de la función b quien interrumpió la función llamada a Estado de la función a quien interrumpió la función llamada main Estado de la función main P i l a M o n t í c u l o Figura 6. Ejemplo de una pila donde b fue invocada por a y a fue invocada por main El estado de una función (subprograma) que se encuentre en la pila, por ejemplo a, guardará, entere otras cosas, los valores de los parámetros, las variables locales y la dirección del grupo de bytes que almacena la instrucción que causó la interrupción de la función que la activó, en este caso, la función main. Esa dirección permitirá a la función interrumpida, en este caso, la función main, continuar la ejecución de las instrucciones que faltan para completar su tarea en un futuro cercano. En este caso, la función main continuará su ejecución cuando la función a haya terminado su tarea. Una relación similar existe entre la función b y la función a. 6

9 Montículo o memoria dinámica El montículo permite al programador manejar el área sin restricciones, de ahí el nombre de memoria dinámica. El efecto de la manipulación del montículo sucederá durante la ejecución del programa. Las únicas instrucciones en C++ para afectar el montículo son new y delete. El operador new permite reservar grupos de bytes para usarse durante la ejecución del programa; no para alterar la cantidad bytes reservados anteriormente por el operador. El operador delete permite liberar los grupos de bytes reservados por el operador new para que puedan usarse más adelante (el montículo no es infinito) durante la ejecución del programa. Ambos operadores ofrecen dos versiones: <variable puntero> = new <tipo del dato> ; <variable puntero> = new <tipo del dato> [ <cantidad de espacios> ] ; delete <variable puntero> ; delete [ ] <variable puntero> ; El primer formato permite reservar un grupo de bytes capaz de almacenar un valor del tipo indicado en la instrucción. El segundo formato permite reservar varios grupos de bytes según la cantidad indicada en la instrucción (un arreglo dinámico). Ambos operadores devuelven la dirección donde están los bytes reservados en el montículo. Por eso, la dirección devuelta por el operador new hay que guardarla en un puntero. Los dos últimos formatos son la antítesis de los dos primeros formatos. Son para liberar los bytes reservados por el operador new. El formato uno y tres son pareja. El segundo y cuarto formato también son pareja. El operador delete no elimina el grupo de bytes asignados al puntero, elimina la reservación de los bytes cuya dirección guarda el puntero de manera que estos puedan usarse más adelante por alguien más. El siguiente código muestra como crear un arreglo dinámico cuyos elementos son de tipo carácter: char * s; s = new char[3]; // variable puntero // s guarda la dirección del primero de tres grupos de bytes Este pedazo de código produce el mismo efecto que muestra la figura 5. En este caso el arreglo es dinámico. El mismo efecto se produce cuando el arreglo es declarado en forma estática, char s[3]. Moraleja, todo lo que sea creado dinámicamente puede ser liberado durante la ejecución del programa. Lo que fue creado estáticamente, es decir, creado por una declaración, no puede ser alterado durante la ejecución del programa utilizando los operadores new y delete. En el caso anterior, la declaración char * s reserva un grupo de bytes para la variable s. La cantidad de bytes en el grupo asignado a la variable no puede ser liberado, el grupo es 7

10 estático una vez es asignado a la variable. Sin embargo, la segunda instrucción reserva tres grupos de bytes consecutivos del montículo durante la ejecución del programa el cual puede ser liberado en cualquier momento por el operador delete. Cambio del tamaño de un arreglo dinámico Hay circunstancias en las cuales se reservan una cantidad de bytes que satisfacen las necesidades del momento. Quizás, en otro momento la necesidad indique que lo reservado no es suficiente. Por lo tanto, es preciso reservar una mayor cantidad de bytes para satisfacer las nuevas condiciones. El problema es que la cantidad reservada no puede ser alterada ya que no existe un operador en C++ que cambie el tamaño de un arreglo dinámico. Sin embargo, si se puede simular el efecto de aumentar o disminuir, según sea el caso, el tamaño del arreglo dinámico. El procedimiento es el siguiente: 1. Crear un arreglo dinámico del tamaño necesario sin deshacerse del antiguo arreglo. 2. Colocar las copias de los datos almacenados en los elementos del antiguo arreglo en los elementos del nuevo arreglo. Si el procedimiento es para disminuir el arreglo dinámico entonces no todos los elementos en el antiguo arreglo serán copiados en el nuevo arreglo. 3. Liberar el antiguo arreglo. Para realizar el procedimiento anterior es necesario contar con dos punteros. Uno que guarde la dirección del antiguo arreglo y otro para que guarde la dirección del nuevo arreglo. Al final de todo, el nuevo arreglo es el que sobrevive. 8

Tema 6: Memoria dinámica

Tema 6: Memoria dinámica : Programación 2 Curso 2013-2014 Índice 1 2 3 El tamaño es fijo y se conoce al implementar el programa Declaración de variables int i=0; char c; float vf[3]={1.0, 2.0, 3.0}; i c vf[0] vf[1] vf[2] 0 1.0

Más detalles

2.2 Nombres, Ligado y Ámbito

2.2 Nombres, Ligado y Ámbito 2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el

Más detalles

Programación I Unidad III. Tema: Tipos, estructuras y uniones

Programación I Unidad III. Tema: Tipos, estructuras y uniones Programación I Unidad III Tema: Tipos, estructuras y uniones El especificador typedef La palabra reservada typedef representa un especificador de clase de almacenamiento, y se utiliza para definir nuevos

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo rcoppo@uns.edu.ar Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación

Más detalles

Definición y Conversión de datos. Agustín J. González ELO-329

Definición y Conversión de datos. Agustín J. González ELO-329 Definición y Conversión de datos Agustín J. González ELO-329 1 Calificador Const El calificador const previene que un objeto sea modificado con posterioridad a su definición. El objeto calificado como

Más detalles

Definición de Memoria

Definición de Memoria Arquitectura de Ordenadores Representación de Datos en Memoria Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Definición de Memoria DRM-1 La memoria

Más detalles

El lenguaje C. 1. Identificadores, constantes y variables

El lenguaje C. 1. Identificadores, constantes y variables Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria

Más detalles

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los

Más detalles

Tema 6. Gestión dinámica de memoria

Tema 6. Gestión dinámica de memoria Tema 6. Gestión dinámica de memoria http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz@icc.uji.es Estructuras de datos y de la

Más detalles

Tema 13: Apuntadores en C

Tema 13: Apuntadores en C Tema 13: Apuntadores en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Introducción

Más detalles

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. APUNTADORES Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No hay que confundir una dirección de memoria con el contenido

Más detalles

Tema: Tipos Abstractos de Datos (TAD s) en C#.

Tema: Tipos Abstractos de Datos (TAD s) en C#. Programación II. Guía No. 12 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Tipos Abstractos de Datos (TAD s) en C#. Objetivos Comprender el concepto Tipo Abstracto de Datos

Más detalles

Tema 2. El lenguaje JAVA

Tema 2. El lenguaje JAVA Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias

Más detalles

Apuntadores en C y C++

Apuntadores en C y C++ Apuntadores en C y C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Prof. Marcos A. Gil T. 8 de diciembre de 2004 1. Introducción Los apuntadores en C y C++ son una herramienta

Más detalles

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

Apuntadores (Punteros)

Apuntadores (Punteros) Apuntadores (Punteros) x9ff10 X int 209 SESION 7 *ptr Definición Llamados también punteros. Un Apuntador es una variable que contiene una dirección de memoria, la cual corresponderá a un dato o a una variable

Más detalles

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica Tema 2: Desarrollo de Algoritmos E.E. de Algorítmica Temas a tratar Identificadores Variables Constantes Tipos de Datos Separadores Operadores Aritméticos Unarios Relacionales y Condicionales Nivel de

Más detalles

Curso de Programación Avanzada en C

Curso de Programación Avanzada en C Curso de Programación Avanzada en C Copyright, 1996 Universidad Sim on Bol ivar 1 Prof. Mariela J. Curiel Contenido del Curso Conceptos BásicosB Estructuras de Control Arreglos Otros tipos de datos derivados

Más detalles

Tema 14: Arreglos estáticos en C

Tema 14: Arreglos estáticos en C Tema 14: Arreglos estáticos en C Solicitado: Ejercicios 05: Ejercicios con arreglos estáticos unidimensionales M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom

Más detalles

VARIABLES TIPOS FUNDAMENTALES

VARIABLES TIPOS FUNDAMENTALES VARIABLES Una variable es un espacio reservado en el ordenador para contener valores que pueden cambiar durante la ejecución de un programa. Los tipos determinan cómo se manipulará la información contenida

Más detalles

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. Indíce Algoritmo Elementos de un algoritmo: Variables, Constantes, Expresiones Datos: Definición y

Más detalles

TEMA 02 TIPOS, OPERADORES Y EXPRESIONES

TEMA 02 TIPOS, OPERADORES Y EXPRESIONES TEMA 02 TIPOS, OPERADORES Y EXPRESIONES 2.1.- Introducción. 2.2.- Datos. 2.3.- Entrada y salida básica. 2.4.- Modificadores. 2.5.- Cadenas de caracteres. 2.6.- Operadores. 2.7.- Precedencia de operadores.

Más detalles

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes:

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes: Constantes Las constantes se pueden declarar con la palabra reservada const y se le asigna un valor en el momento de la declaracion, este valor no se puede modificar durante el programa y cualquier intento

Más detalles

Expresiones, variables y tipos. Funciones y paso de. Facultad de Ingeniería. Universidad del Valle

Expresiones, variables y tipos. Funciones y paso de. Facultad de Ingeniería. Universidad del Valle , y. y paso de. carlos.andres.delgado@correounivalle.edu.co Facultad de Ingeniería. Universidad del Valle Agosto de 2016 Contenido 1 2 3 4 5 Los lenguajes de, cuentan con expresiones para facilitar el

Más detalles

Tema 8: Tipos de datos. Sesión 24: Tipos de datos (1)

Tema 8: Tipos de datos. Sesión 24: Tipos de datos (1) Tema 8: Tipos de datos Sesión 24: Tipos de datos (1) Referencias Programming Languages Pragmatics: Capítulo 7, apartados 7.1 (Type Systems) y 7.2 (Type Checking) Programming in Scala: Capítulo 5 (Basic

Más detalles

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo

Más detalles

Unidad I Tipos de Datos en C

Unidad I Tipos de Datos en C Tipos de Datos en C 1. El concepto de los tipos de datos. 2. Tipos de datos básicos del C. 3. Modificadores de tipo. 4. Declaración de variables. 5. Inicialización de variables. 6. Declaración de identificadores

Más detalles

Curso de Programación en C. Licenciatura, FCQeI. APUNTADORES.

Curso de Programación en C. Licenciatura, FCQeI. APUNTADORES. APUNTADORES. La memoria de una máquina esta ordenada en forma de celdas numeradas consecutivamente y que se pueden manipular individualmente o en grupos contiguos. La siguiente figura muestra una representación

Más detalles

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola) Objetivos de la sesión Entender el tipo de programas que se pueden realizar con aplicaciones de consola. Conocer el concepto de variable, la forma en que se declaran y su utilización. Conocer la forma

Más detalles

Memoria Dinámica. Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez

Memoria Dinámica. Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez 1. PUNTEROS 2. MEMORIA DINÁMICA 2 1. PUNTEROS 3 Qué es un puntero? Un tipo de variable cuyo valor es la dirección de memoria de otra variable.

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

Instituto Tecnológico de Celaya

Instituto Tecnológico de Celaya CADENAS DE CARACTERES Hasta ahora se han manejado variables de tipo caracter cuyo valor es un sólo caracter. En algunos casos, sin embargo, es necesario usar variables cuyos valores sean un conjunto (cadena)

Más detalles

TEMA 8: Gestión dinámica de memoria

TEMA 8: Gestión dinámica de memoria TEMA 8: Gestión dinámica de memoria 8.1.-Tipo de datos puntero Hasta ahora, los tipos de datos que hemos visto (a excepción de strings y ficheros) eran estructuras de datos estáticas, es decir, estructuras

Más detalles

Nombres, Ligaduras, Chequeo de Tipos y Alcance. Luis Garreta (Basados en el libro de Robert Sebesta)

Nombres, Ligaduras, Chequeo de Tipos y Alcance. Luis Garreta (Basados en el libro de Robert Sebesta) Nombres, Ligaduras, Chequeo de Tipos y Alcance Luis Garreta lgarreta@unicauca.edu.co (Basados en el libro de Robert Sebesta) 1 Nombres, Ligaduras, Chequeo de Tipos y Alcance Nombres Variables El concepto

Más detalles

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS Una vez que ya sabes crear tus propios programas, vamos a analizar los fundamentos del lenguaje de programación C. Este capítulo incluye además los siguientes temas:

Más detalles

Organización de Computadoras. Clase 7

Organización de Computadoras. Clase 7 Organización de Computadoras Clase 7 Temas de Clase Formatos de instrucción Modos de direccionamiento Notas de Clase 7 2 Elementos de una instrucción de máquina Código de operación especifica la operación

Más detalles

Tema 8 Gestión de la memoria en tiempo de ejecución.

Tema 8 Gestión de la memoria en tiempo de ejecución. Traductores, Compiladores e Intérpretes 1 Tema 8 Gestión de la memoria en tiempo de ejecución. S Organización de la memoria en tiempo de ejecución. Cuando un programa se ejecuta sobre un sistema operativo

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

Extracto del material disponible en

Extracto del material disponible en Estrategias para la recolección de basura (Garbage Collection strategies) Winter/seg3310/ Terminología Heap: - Es un área de memoria donde los datos pueden ser almacenados y removidos en cualquier orden.

Más detalles

Tema 6 Organización y gestión de la memoria

Tema 6 Organización y gestión de la memoria Departamento de Tecnologías de la Información Tema 6 Organización y gestión de la memoria Ciencias de la Computación e Inteligencia Artificial Índice 6.1 Organización de la memoria en tiempo de ejecución

Más detalles

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO 1.- Resumen de Prog1 Comentarios es C++ Declaraciones de variables.

Más detalles

Desarrollo de Programas. Prof. Lisbeth C. Pérez Rivas

Desarrollo de Programas. Prof. Lisbeth C. Pérez Rivas Desarrollo de Programas Prof. Lisbeth C. Pérez Rivas lisbethpe@ula.ve Desarrollo de Programas Ejercicio: Calcular el sueldo neto de un trabajador conociendo el número de horas trabajadas, la tarifa horaria

Más detalles

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros Práctica 3. Paso de parámetros entre subrutinas 1. Objetivo de la práctica El objetivo de esta práctica es que el estudiante se familiarice con la programación en ensamblador y el convenio de paso de parámetros

Más detalles

Ejercicios del tema 4. El procesador

Ejercicios del tema 4. El procesador jercicios del tema 4. l procesador jercicio 1. Considere un procesador de 32 bits con una frecuencia de reloj de 500 MHz con la estructura del mostrado en el jercicio 3. La memoria se direcciona por bytes

Más detalles

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía Tema 3 SUBRUTINAS ÍNDICE Definición e instrucciones básicas Soporte para el tratamiento de subrutinas (ejecución de la subrutina y gestión del bloque de activación) Interrupciones vs llamadas a procedimiento

Más detalles

Laboratorio de Arquitectura de Redes. Asignación dinámica de memoria en lenguaje C

Laboratorio de Arquitectura de Redes. Asignación dinámica de memoria en lenguaje C Laboratorio de Arquitectura de Redes Asignación dinámica de memoria en lenguaje C Asignación dinámica de memoria en lenguaje C Definición La memoria en los programa en ejecución Asignación y liberación

Más detalles

Introducción al lenguaje C

Introducción al lenguaje C Programación 2 Profesorado de Informática CeRP del Suroeste, Uruguay 29 de marzo de 2016 Estructuras de control IV Iteración Sentencia for: for (inicio; condicion; paso) cuerpo for (int i = 0; i < 10;

Más detalles

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C Laboratorio de Arquitectura de Redes Punteros en lenguaje C Punteros en lenguaje C Definición Declaración e inicialización de punteros Operadores de punteros: «*» y «&» Operaciones con punteros Operaciones

Más detalles

Guía práctica de estudio 04. Almacenamiento en tiempo de ejecución

Guía práctica de estudio 04. Almacenamiento en tiempo de ejecución Guía práctica de estudio 04. Almacenamiento en tiempo de ejecución Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio

Más detalles

Manipulación de procesos

Manipulación de procesos Manipulación de procesos Las primeras computadoras solo podían manipular un programa a la vez. El programa tenía control absoluto sobre todo el sistema. Con el desarrollo vertiginoso del hardware ese panorama

Más detalles

Computación I Curso 2016 Facultad de Ingeniería Universidad de la República

Computación I Curso 2016 Facultad de Ingeniería Universidad de la República Computación I Curso 2016 Facultad de Ingeniería Universidad de la República Objetivos de la programación Exactitud en la realización de la tarea Tiene que satisfacer la especificación exactamente. Simplicidad.

Más detalles

TIPOS DE DATOS BASICOS EN LENGUAJE C

TIPOS DE DATOS BASICOS EN LENGUAJE C TIPOS DE DATOS BASICOS EN LENGUAJE C TIPO char int float double void ANCHO EN BIT 64 0 TIPOS DE DATOS RANGO EN PC -12 a 127 3.4E-3 a 3.4E+3 1.7E-30 a 1.7E+30 sin valores TIPO ANCHO EN BIT RANGO EN PC char

Más detalles

como les va con las practicas?

como les va con las practicas? como les va con las practicas? Problemas NP-completos y Estructuras de datos básicas (representación de datos) mat-151 1 Una maquina de Turing Aceptation state Una maquina de Turing Maquina de Turing Determinística,

Más detalles

Uso de la función Imprimir y mantener en espera

Uso de la función Imprimir y mantener en espera Al enviar un trabajo a la impresora, puede especificar en el controlador que desea que la impresora retenga el trabajo en memoria. Cuando esté listo para imprimir el trabajo, debe ir a la impresora y utilizar

Más detalles

Clase Práctica Memoria Caché

Clase Práctica Memoria Caché Organización del Computador 1 Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 1 de Junio de 2010 Clase Práctica Memoria Caché Qué es la memoria caché? En el sentido general, un caché

Más detalles

TIPO DE DATO ABSTRACTO (TDA)

TIPO DE DATO ABSTRACTO (TDA) TIPO DE DATO ABSTRACTO (TDA) Ing. Eduard Antonio Lozano Córdoba Nota: Toda la información fue copiada de: Libros físicos e Internet Actividad Extra Clases #include #include int binario(int

Más detalles

Programación. Test Autoevaluación Tema 3

Programación. Test Autoevaluación Tema 3 Programación Test Autoevaluación Tema 3 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.

Más detalles

Escribir programas a partir de un diagrama de flujo

Escribir programas a partir de un diagrama de flujo Escribir programas a partir de un diagrama de flujo por Iván Cruz En esta lectura se revisará una estrategia específica para lograr implementar un programa computacional a partir de un diagrama de flujo,

Más detalles

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas El computador puede realizar cálculos además de mostrar datos por pantalla.

Más detalles

Programación en java. Estructuras algorítmicas

Programación en java. Estructuras algorítmicas Programación en java Estructuras algorítmicas Estructuras algoritmicas 1. Conceptos basicos 1. Dato 2. Tipos de datos 3. Operadores 2. dsd Conceptos Basicos DATO: se considera una representación simbólica

Más detalles

Unidad V Análisis Semántico. M.C. Juan Carlos Olivares Rojas

Unidad V Análisis Semántico. M.C. Juan Carlos Olivares Rojas Unidad V Análisis Semántico M.C. Juan Carlos Olivares Rojas Agenda 5.1 Analizador semántico 5.2 Verificación de tipos en expresiones. 5.3 Conversión de tipos. 5.4 Acciones agregadas en un analizador sintáctico

Más detalles

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Introducción a la Programación 11 O. Humberto Cervantes Maceda Introducción a la Programación 11 O Humberto Cervantes Maceda Recordando En la sesión anterior vimos que la información almacenada en la memoria, y por lo tanto aquella que procesa la unidad central de

Más detalles

Funciones Definición de función

Funciones Definición de función Funciones Definición de función Una función es un bloque de código que realiza una tarea específica. Una función es una porción de programa, identificable mediante un nombre, que realiza determinadas tareas

Más detalles

Programación en Lenguaje C

Programación en Lenguaje C Lenguaje de programación C Programación en Lenguaje C Introducción El Lenguaje de programación C fue implantado por primera vez en los años 70 por Dennis Ritchie para una computadora DEC PDP-11 corriendo

Más detalles

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado Facultad de Ingeniería. Escuela de computación. 2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 5 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas

Más detalles

4. Operadores Operador asignación

4. Operadores Operador asignación Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre

Más detalles

Las clases están compuestas por un conjunto de miembros. (datos y funciones) también se conocen como (atributos y métodos)

Las clases están compuestas por un conjunto de miembros. (datos y funciones) también se conocen como (atributos y métodos) Clases y Objetos Las clases están compuestas por un conjunto de miembros (datos y funciones) también se conocen como (atributos y métodos) Una clase se usa como el modelo que deben seguir los objetos Un

Más detalles

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente:

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente: Pseudocódigo El pseudocódigo o pseudolenguaje, son una serie de instrucciones en nuestro lenguaje natural (español, ingles, etc.) y expresiones que representan cada uno de los pasos que resuelven un problema

Más detalles

Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México

Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México Unidad Académica Profesional Tianguistenco Ingeniería de Software Estructura de Datos

Más detalles

INTRODUCCIÓN. Comunicación Serial.

INTRODUCCIÓN. Comunicación Serial. INTRODUCCIÓN La función principal de este tipo de comunicación es la de convertir datos de salida de forma paralela a serial y la de convertir datos de entrada de forma serial a paralela. El acceso al

Más detalles

La sintaxis básica para definir una clase es la que a continuación se muestra:

La sintaxis básica para definir una clase es la que a continuación se muestra: DEFINICIÓN DE CLASES Y OBJETOS EN C# Sintaxis de definición de clases La sintaxis básica para definir una clase es la que a continuación se muestra: class nombreclase miembros De este modo se definiría

Más detalles

Programación MODULAR: Subalgoritmos - funciones y procedimientos

Programación MODULAR: Subalgoritmos - funciones y procedimientos Programación MODULAR: Subalgoritmos - funciones y procedimientos Uno de los métodos fundamentales para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. Estos problemas

Más detalles

Estructuras de Datos Declaraciones Tipos de Datos

Estructuras de Datos Declaraciones Tipos de Datos Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación

Más detalles

Estructura de Datos: Archivos

Estructura de Datos: Archivos Estructura de Datos: Archivos Registros (record) Un registro es una estructura que consiste de un número fijo de componentes llamados campos. Los campos pueden ser de diferentes tipos y deben tener un

Más detalles

Resolución de Problemas y Algoritmos

Resolución de Problemas y Algoritmos Resolución de Problemas y Algoritmos Sistemas Operativos Estadísticas (de web servers) Clase 8: Sistemas Operativos. Almacenamiento en Memoria. Archivos secuenciales en Pascal. Dr. Alejandro J. García

Más detalles

ESCUELA DE INFORMÁTICA

ESCUELA DE INFORMÁTICA TÉCNICO EN SISTEMAS LABORAL SUBMODULO TEMA 1 (Visual Basic for Application) Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar

Más detalles

06 Introducción al procesamiento de imágenes BMP con ANSI C

06 Introducción al procesamiento de imágenes BMP con ANSI C 06 Introducción al procesamiento de imágenes BMP con ANSI C Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco efranco.docencia@gmail.com Estructuras de datos (Prof. Edgardo

Más detalles

Modos de Direccionamiento

Modos de Direccionamiento Arquitectura de Ordenadores Modos de Direccionamiento del Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Modos de Direccionamiento ADM-1

Más detalles

Ejercicio 1. Ejercicio 2

Ejercicio 1. Ejercicio 2 Todos los ejercicios incluyen una parte opcional de mayor dificultad, indicada con una serie de asteriscos en función del grado de dificultad. Ejercicio 1 Este ejercicio servirá para practicar la declaración

Más detalles

FACULTAD DE INGENIERÍA

FACULTAD DE INGENIERÍA NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Variables y Tipos de Datos PRÁCTICA NÚM. [ 1 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje

Más detalles

Programación Básica Apuntadores y Archivos en C

Programación Básica Apuntadores y Archivos en C Arturo Vega González a.vega@ugto.mx Division de Ciencias e Ingenierías Universidad de Guanajuato Campus León Sesión 10 Universidad de Guanajuato, DCI, Campus León 1 / 21 Universidad de Guanajuato, DCI,

Más detalles

Cadenas y Caracteres. Universidad Católica de Honduras Nuestra Señora Reina de la Paz. Asignatura. Programación Científica. Tema de Exposición

Cadenas y Caracteres. Universidad Católica de Honduras Nuestra Señora Reina de la Paz. Asignatura. Programación Científica. Tema de Exposición Universidad Católica de Honduras Nuestra Señora Reina de la Paz Asignatura Programación Científica Tema de Exposición Caracteres y Cadenas Catedrático: Ing. Henry Pinto Tegucigalpa, M. D. C. del 2008 01

Más detalles

Introducción a la programación: Algoritmos

Introducción a la programación: Algoritmos Introducción a la programación: Algoritmos Algoritmo La palabra algoritmo proviene del nombre del matemático persa del siglo IX Muhammad ibn Musa al-jwarizmi Un algoritmo es una secuencia ordenada de pasos,

Más detalles

1 ELEMENTOS BASICOS DEL LENGUAJE

1 ELEMENTOS BASICOS DEL LENGUAJE 1 ELEMENTOS SICOS DEL LENGUJE Contenido: Variables su declaracion y asignacion Caracteres en java Secuencias de escape y comentarios Tipos de datos Operadores aritméticos, relacionales y lógicos Entrada

Más detalles

Organización de Computadoras

Organización de Computadoras Organización de Computadoras SEMANA 10 UNIVERSIDAD NACIONAL DE QUILMES Qué vimos? Mascaras Repeticiones controladas Arreglos Modo indirecto Q5 Hoy! Memorias: Características Memorias ROM Jerarquía de memorias

Más detalles

Una base de datos de Access puede estar conformada por varios objetos, los más comunes son los siguientes:

Una base de datos de Access puede estar conformada por varios objetos, los más comunes son los siguientes: MICROSOFT ACCESS DEFINICIÓN MS Access es un programa para manejar bases de datos. Una base de datos es un conjunto de datos de un determinado tema o contexto, almacenados de forma sistemática, para obtener

Más detalles

Gestión de la memoria en tiempo de ejecución

Gestión de la memoria en tiempo de ejecución Apéndice A Gestión de la memoria en tiempo de ejecución A1. Organización de la memoria en tiempo de ejecución Las técnicas de gestión de la memoria durante la ejecución del programa difieren de unos lenguajes

Más detalles

Estructura y Tecnología de Computadores. Módulo C. Arquitectura del procesador. Tema 4. Modos de direccionamiento y tipos de datos

Estructura y Tecnología de Computadores. Módulo C. Arquitectura del procesador. Tema 4. Modos de direccionamiento y tipos de datos 1 Estructura y Tecnología de Computadores Módulo C. Arquitectura del procesador Tema. Modos de direccionamiento y tipos de datos José Manuel Mendías Cuadros Dpto.. Arquitectura de Computadores y Automática

Más detalles

APUNTES DE CATEDRA: SISTEMAS DE NUMERACION - REPRESENTACION INTERNA DE NUMEROS Y CARACTERES

APUNTES DE CATEDRA: SISTEMAS DE NUMERACION - REPRESENTACION INTERNA DE NUMEROS Y CARACTERES Cátedra de COMPUTACION Carreras: Licenciatura en Matemática Profesorado en Matemática Profesora: Mgr. María del Carmen Varaldo APUNTES DE CATEDRA: SISTEMAS DE NUMERACION - REPRESENTACION INTERNA DE NUMEROS

Más detalles

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal. LENGUAJE DE PROGRAMACIÓN TURBO PASCAL El lenguaje de programación de alto nivel Pascal fue diseñado el 1968 por Niklaus Wirth con una finalidad eminentemente pedagógica El 1983, el Pascal fue estandarizado

Más detalles

FUNDACIÓN EDUCATIVA OBRERA FUNEDO TÉCNICO EN SECRETARIADO EJECUTIVO SISTEMATIZADO. Conceptos básicos de Access 2013

FUNDACIÓN EDUCATIVA OBRERA FUNEDO TÉCNICO EN SECRETARIADO EJECUTIVO SISTEMATIZADO. Conceptos básicos de Access 2013 Base de datos: Conceptos básicos de Access 2013 Una base de datos es un conjunto de datos que están organizados para un uso determinado y el conjunto de los programas que permiten gestionar estos datos

Más detalles

Para obtener más información sobre esta función, haga clic en un tema:

Para obtener más información sobre esta función, haga clic en un tema: Cuando envíe un trabajo a la impresora, puede especificar en el controlador que desea que la impresora retenga el trabajo en la memoria. Cuando esté preparado para imprimir el trabajo, debe ir a la impresora

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

ENIAC, Primer computador electrónico y su panel de conexiones

ENIAC, Primer computador electrónico y su panel de conexiones -1 La arquitectura de Von Neumann. Los primeros computadores se programaban en realidad recableándolos. Esto prácticamente equivalía a reconstruir todo el computador cuando se requería de un nuevo programa.

Más detalles

Algoritmos y Programación I

Algoritmos y Programación I Algoritmos y Programación I ARREGLOS Y ESTRUCTURAS EN C Arreglos Un arreglo o vector es un conjunto de datos del mismo tipo, almacenados de forma contigua (es decir uno al lado del otro) en memoria principal.

Más detalles

Representación de la información

Representación de la información Laboratorio de Introducción a las Ciencias de la Computación Página 1 UNIERSIDAD CATÓLICA DE SANTA MARÍA PROGRAMA PROESIONAL DE INGENIERÍA DE SISTEMAS SESIÓN 2: Representación de la información OBJETIOS

Más detalles

Procesadores de lenguaje Tema 6 La tabla de símbolos

Procesadores de lenguaje Tema 6 La tabla de símbolos Procesadores de lenguaje Tema 6 La tabla de símbolos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen La tabla de símbolos. Requerimientos de información. Diseño de la tabla de

Más detalles

Introducción a variables de tipo Puntero (Apuntadores) Contenidos. 1. Introducción a las variables puntero 2. Repaso:

Introducción a variables de tipo Puntero (Apuntadores) Contenidos. 1. Introducción a las variables puntero 2. Repaso: Contenidos 1. Introducción a las variables untero 2. Reaso: - oerador de dirección: & - referencias 3. Declaración de variables de tio untero 4. Inicialización de variables de tio untero - El untero nulo:

Más detalles

Estructura de Datos. Arreglos. Experiencia Educativa de Algorítmica ESTRUCTURA DE DATOS - ARREGLOS 1

Estructura de Datos. Arreglos. Experiencia Educativa de Algorítmica ESTRUCTURA DE DATOS - ARREGLOS 1 Estructura de Datos Arreglos Experiencia Educativa de Algorítmica ESTRUCTURA DE DATOS - ARREGLOS 1 Introducción Una estructura de datos es una colección de datos que pueden ser caracterizados por su organización

Más detalles