ESTRUCTURAS DINÁMICAS DE DATOS (LISTAS)
|
|
- Andrea Ríos Silva
- hace 7 años
- Vistas:
Transcripción
1 2012 UNAN LEON Departamento de Computación Ing. En Sistemas de Información Docente: Ing. Karina Esquivel A. Asignatura: Algoritmo y Estructura de Datos. ESTRUCTURAS DINÁMICAS DE DATOS (LISTAS)
2 TEMA 2: ESTRUCTURAS DINÁMICAS DE DATOS (LISTAS) 2.1 INTRODUCCIÓN: Cuando se procesan conjuntos de datos cuyo espacio de almacenamiento no se puede predecir 'a priori' (en tiempo de compilación) y además la actividad de los mismos (inserciones y borrados) es frecuente, las estructuras de datos estáticas (los vectores) no son adecuadas para su implementación. Las razones son varias: 1. Los vectores deben ser declarados en tamaño en el programa fuente, de modo que si se elige uno mayor que el necesario, entonces se malgasta espacio de memoria, y si se hace pequeño, podría no ejecutarse el programa. 2. La operación de añadir datos al final del vector es un proceso rápido; sin embargo, las inserciones y eliminaciones en el interior del vector son lentas y complejas, ya que puede ser necesario desplazar cada elemento del éste para hacer espacio al nuevo elemento, o bien cerrar el espacio dejado por una eliminación. Si a esta dificultad se añaden los casos en que las operaciones anteriores sean frecuentes, se puede deducir que en estos casos las estructuras más idóneas son las estructuras dinámicas de datos. Las estructuras dinámicas nos permiten crear estructuras de datos que se adapten a las necesidades reales a las que suelen enfrentarse nuestros programas. A través de estas podremos crear estructuras de datos muy flexibles, en cuanto al orden, la estructura interna o las relaciones entre los elementos que las componen. Las estructuras de datos están compuestas de otras pequeñas estructuras a las que llamaremos nodos o elementos, que agrupan los datos con los que trabajará nuestro programa y además uno o más punteros autoreferenciales, es decir, punteros a objetos del mismo tipo. CLASIFICACIÓN DE LAS ESTRUCTURAS DE DATOS DINÁMICAS: 1.- Lineales a) Pila b) Cola c) Lista 2.- No lineales a) Árboles 2
3 Dentro de las estructuras lineales podemos hablar de: LISTAS LINEALES: Cada elemento (nodo) sólo dispone de un puntero, que apuntará al siguiente elemento de la lista o valdrá NULL si es el último elemento. Sólo se pueden recorrer hacia delante. PILAS: Son un tipo especial de lista, conocidas como listas LIFO (Last In, First Out): el último en entrar es el primero en salir). Los elementos se "amontonan" o apilan, de modo que sólo el elemento que está encima de la pila puede ser leído, y sólo pueden añadirse elementos encima de la pila. COLAS: Otro tipo de listas, conocidas como listas FIFO (First In, First Out: El primero en entrar es el primero en salir). Los elementos se almacenan en fila, pero sólo pueden añadirse por un extremo y leerse por el otro. LISTAS CIRCULARES: También llamadas listas cerradas, son parecidas a las listas enlazadas, pero el último elemento apunta al primero. De hecho, en las listas circulares no puede hablarse de "primero" ni de "último". Cualquier nodo puede ser el nodo de entrada y salida. Se recorren siempre en el mismo sentido. LISTAS DOBLEMENTE ENLAZADAS: Cada elemento dispone de dos punteros, uno apunta al siguiente elemento y el otro al elemento anterior. Al contrario que las listas abiertas anteriores, estas listas pueden recorrerse en los dos sentidos. ÁRBOLES: Un árbol se define como un conjunto de uno o más nodos, tales que: - Existe un nodo especial llamado raíz. - Los restantes nodos o subárboles, cada uno de los cuales es, a su vez, un árbol. 3
4 2.2 LISTA ENLAZADA: Una lista lineal enlazada es un conjunto de elementos u objetos de cualquier tipo, originariamente vacía que, durante la ejecución del programa va creciendo o decreciendo elemento a elemento según las necesidades previstas. En una lista lineal cada elemento apunta al siguiente, es decir, cada elemento tiene información de dónde esta el siguiente. Por este motivo también se le llama lista enlazada. La forma más simple de estructura dinámica es la lista enlazada. En esta forma los nodos se organizan de modo que cada uno apunta al siguiente, y el último no apunta a nada, es decir, el puntero del nodo siguiente vale NULL. En las listas lineales existe un nodo especial: el primero. Normalmente diremos que nuestra lista es un puntero a ese primer nodo y llamaremos a ese nodo la cabeza de la lista. Eso es porque mediante ese único puntero podemos acceder a toda la lista. Cuando el puntero que usamos para acceder a la lista vale NULL, diremos que la lista está vacía. El nodo típico para construir listas tiene esta forma: struct nodo int dato; struct nodo *siguiente; ; En el ejemplo, cada elemento de la lista sólo contiene un dato de tipo entero, pero en la práctica no hay límite en cuanto a la complejidad de los datos a almacenar LISTAS SIMPLEMENTE ENLAZADAS: La forma más simple de estructura dinámica es la lista simplemente enlazada o lista abierta. En esta forma los nodos se organizan de modo que cada uno apunta al siguiente, y el último no apunta a nada, es decir, el puntero del nodo siguiente vale NULL: La anterior es una lista simplemente enlazada que consta de 4 elementos (nodos). 4
5 Para crear una lista debemos definir la clase de elementos que van a formar parte de la misma. Un tipo de dato genérico podría ser la siguiente estructura: struct nodo int dato; struct nodo *sig; ; El miembro de la estructura "sig", puede apuntar a un objeto del tipo nodo. De este modo, cada nodo puede usarse como un ladrillo para construir listas de datos, y cada uno mantendrá ciertas relaciones con otros nodos. En el ejemplo, cada elemento de la lista sólo contiene un dato de tipo entero, pero en la práctica no hay límite en cuanto a la complejidad de los datos a almacenar. Se pueden diseñar datos struct que actúen como nodos tan complejos como se desee. El nodo anterior se representará así (no consideramos el miembro datos, sólo el miembro sig, que ahora apunta a NULL. Para acceder a un nodo de la estructura sólo necesitaremos un puntero a un nodo. En el ejemplo anterior declaramos una variable de estructura, que va a ser un puntero a dicha estructura. Mediante typedef declaramos un nuevo tipo de dato: typedef struct nodo int dato; struct nodo *siguiente; elemento; elemento *c; //puntero a nodo Ahora elemento es un tipo de dato, sinónimo de struct nodo. El miembro siguiente ha sido declarado como puntero al dato struct nodo y no como puntero a tipo de dato elemento, ya que en ese instante, elemento no estaba aún definido. Por tanto, elemento es el tipo para declarar nodos. Ahora es un tipo de dato. La variable *c es un puntero al tipo de dato elemento. 5
6 En las listas simples enlazadas existe un nodo especial: el primero. Normalmente diremos que nuestra lista es un puntero a ese primer nodo y llamaremos a ese nodo cabeza de la lista. Eso es porque mediante ese único puntero podemos acceder a toda la lista. Nota: Es muy importante que nuestro programa nunca pierda el valor del puntero al primer elemento, ya que si no existe ninguna copia de ese valor, y se pierde, será imposible acceder al nodo y no podremos utilizar la información almacenada ni liberar el espacio de memoria que ocupa. Cuando el puntero que usamos para acceder a la lista vale NULL, diremos que la lista está vacía: *c = NULL; //lista vacía Inicialmente *siguiente apunta a NULL. Lo representamos gráficamente en la forma: OPERACIONES BÁSICAS CON LISTAS: Con las listas se pueden realizar las siguientes operaciones básicas: a) Crear lista. b) Añadir o insertar elementos. c) Buscar o localizar elementos. d) Borrar elementos. Cada una de estas operaciones tendrá varios casos especiales, por ejemplo, no será lo mismo insertar un nodo en una lista vacía, o al principio de una lista no vacía, o la final, o en una posición intermedia CREAR UNA LISTA Si queremos crear una lista, podemos emplear la técnica de reservar memoria dinámicamente. Para ello escribimos una función llamada nuevo_elemento(): elemento *nuevo_elemento(void) elemento *q; q = (elemento *)malloc(sizeof(elemento)); if(q == NULL) puts( No se ha reservado memoria para el nuevo nodo ); return q; //devuelve la dirección del espacio de memoria reservado 6
7 Cada vez que deseemos crear un nuevo nodo, debemos llamar a la función nuevo_elemento() para realizar la reserva de memoria. Ejemplo #1: Código C que permite crear una lista asignando memoria de forma dinámica. //crear_lista.c #include<stdio.h> elemento *nuevo_elemento(void) elemento *q; q = (elemento *)malloc(sizeof(elemento)); if(q == NULL) puts( No se ha reservado memoria para el nuevo nodo ); return q; //devuelve la dirección del espacio de memoria reservado void main() elemento *q; q = NULL; q = nuevo_elemento(); q->siguiente = NULL; //puntero a un nodo //lista vacía //q apunta al nodo recién creado //fin de lista //operaciones... //Liberación de memoria reservada free(q); Gráficamente: AÑADIR O INSERTAR ELEMENTOS EN UNA LISTA ENLAZADA: Insertar un elemento en una lista vacía: Este es el caso más sencillo. Equivale a crear una lista, como en el caso anterior. Partiremos de que ya tenemos el nodo a insertar (creado en la llamada a la función nuevo_elemento() ) y, por supuesto un puntero que apunte a él, además el puntero a la lista valdrá NULL: 7
8 El proceso es muy simple, bastará con que se realice lo siguiente: q = nuevo_elemento(); q->siguiente = NULL; Gráficamente: Insertar un elemento en la primera posición de una lista: Podemos considerar el caso anterior como un caso particular de éste, la única diferencia es que en el caso anterior la lista es una lista vacía, pero siempre podemos, y debemos considerar una lista vacía como una lista. Por tanto, ahora la lista ya existe. De nuevo partiremos de un nodo a insertar, con un puntero que apunte a él (q=nuevo elemento()), y de una lista en este caso no vacía, apuntada por c: El fragmento de código en lenguaje C que explica el proceso es: q = nuevo_elemento(); q->dato = valor; q->siguiente = c; c = q; Es fundamental no alterar el orden de las operaciones. Gráficamente, tenemos: 8
9 Insertar un elemento en general: La inserción de un elemento en la lista, a continuación de otro elemento apuntado por c, es de la forma siguiente: El fragmento de código en lenguaje C que explica el proceso es: q = nuevo_elemento(); q->dato = x; /*Valor insertado */ q->siguiente = c->siguiente; c->siguiente = q; Gráficamente, tenemos: Inserción en la lista detrás del elemento apuntado por c. La inserción de un elemento en la lista antes de otro elemento apuntado por c, se hace insertado un nuevo elemento detrás del elemento apuntado por c, intercambiando previamente los valores del nuevo elemento y del elemento apuntado por c. El fragmento de código en lenguaje C que explica el proceso es: q = nuevo_elemento(); *q = *c; c -> dato = x; /*Valor Insertado*/ q -> siguiente = c -> siguiente; c -> siguiente = q; 9
10 Gráficamente, sería: X Inserción en la lista antes del elemento apuntado por c BORRAR ELEMENTOS DE UNA LISTA ENLAZADA: De nuevo podemos encontrarnos con varios casos, según la posición del nodo a eliminar. Eliminar el primer nodo de una lista enlazada: Es el caso más simple. o Partiremos de una lista con uno o más nodos, y usaremos un puntero auxiliar, q: o Hacemos que q apunte al primer elemento de la lista, es decir a c. o Asignamos a c la dirección del segundo nodo de la lista: c = c->siguiente. o Liberamos la memoria asignada al primer nodo, q, el que queremos eliminar: free(q); Si no guardamos el puntero al primer nodo antes de actualizar c, después nos resultaría imposible liberar la memoria que ocupa. Si liberamos la memoria antes de actualizar c, perderemos el puntero al segundo nodo. El fragmento de código en lenguaje C que explica el proceso es: q = c; c = c->siguiente; //Actualizar el comienzo de la lista free(q); Si la lista sólo tiene un nodo, el proceso es también válido, ya que el valor de c- >siguiente es NULL, y después de eliminar el primer nodo la lista quedará vacía, y el valor de c será NULL. De hecho, el proceso que se suele usar para borrar listas completas es eliminar el primer nodo hasta que la lista esté vacía. 10
11 Gráficamente, sería: Eliminar un nodo cualquiera de una lista enlazada: En todos los demás casos, eliminar un nodo se puede hacer siempre del mismo modo. Supongamos que tenemos una lista con al menos dos elementos, y un puntero c al nodo anterior al que queremos eliminar. Y un puntero auxiliar q. Si el nodo a eliminar es el último, el procedimiento es igualmente válido, ya que c pasará a ser el último, y c->siguiente valdrá NULL. El fragmento de código en lenguaje C que explica el proceso es: q = c -> siguiente; c -> siguiente = q -> siguiente; free(q); Gráficamente, sería: Borrar el sucesor del elemento apuntado por c 11
12 Borrar todos los elementos de una lista: Equivale a liberar la memoria reservada para cada uno de los elementos de la misma. Si el primer nodo está apuntado por c, empleamos el puntero auxiliar q: El fragmento de código en lenguaje C que explica el proceso es: q = c; //salvamos el puntero a la lista while(q!= NULL) c = c->siguiente; free(q); q = c; Hay que observar que antes de borrar el elemento apuntado por q, hacemos que c apunte al siguiente elemento ya que si no perdemos el resto de la lista RECORRIDO DE UNA LISTA CUYO PRIMER ELEMENTO ESTÁ APUNTADO POR c. Supongamos que hay que realizar una operación con todos los elementos de una lista, cuyo primer elemento está apuntado por c. Por ejemplo, escribir el valor de cada elemento de la lista. La secuencia de operaciones es la siguiente: El fragmento de código en lenguaje C que explica el proceso es: q = c; /*salvamos el puntero al comienzo de la lista*/ while(q!=null) printf( %d,q->dato); q = q->siguiente; BUSCAR UN ELEMENTO CON UN VALOR x DENTRO DE LA LISTA ENLAZADA. La búsqueda es secuencial y termina cuando se encuentra el elemento, o bien, cuando se llega al final de la lista. 12
13 El fragmento de código en lenguaje C que explica el proceso es: Estructuras Dinámicas de Datos (Listas) q = c; printf( Que valor desea buscar en la lista? ); scanf( %d,&x); while(q!= NULL && q->dato!= x) q = q->siguiente; 3.1 EJEMPLO COMPLETO DE LISTA LINEAL ENLAZADA: Programa que nos permita crear una lista clasificada, en la cual cada elemento conste de dos campos: uno que contenga un número entero y otro que sea un puntero a un elemento del mismo tipo. El programa incluirá las siguientes funciones: 1. Añadir un elemento. Esta función comprenderá dos casos: insertar un elemento al principio de la lista o insertar un elemento después de otro. 2. Borrar un elemento de la lista. Esta función buscará el elemento a borrar y después lo borrará. Hay que distinguir si se trata de la cabecera o de un elemento cualquiera. 3. Buscar un elemento en la lista. 4. Visualizar el contenido de la lista. /****************** Operaciones con listas **********************/ #include <stdio.h> #include <stdlib.h> #include <conio.h> #include<string.h> #define ListaVacia (cabecera==null) /*Lista simplemente enlazada. Cada elemento contiene un nº entero*/ typedef struct datos elemento; /*declaración del tipo elemento*/ struct datos /*elemento de una lista de enteros*/ int dato; elemento *siguiente; ; /*Funciones prototipos*/ elemento *NuevoElemento(void); void error(void); void menu(void); void anadir(elemento **, int); void borrar(elemento **, int); elemento *buscar(elemento *, int); void visualizar(elemento *); 13
14 /*Función principal*/ void main() elemento *cabecera = NULL; elemento *q; int opcion, dato, k = 10; while(1) do system("cls"); menu(); scanf("%d",&opcion); while(opcion < 1 opcion > 5); system("cls"); // Limpiar Pantalla switch(opcion) case 1: printf("insertar datos: "); scanf("%d",&dato); anadir(&cabecera,dato); break; case 2: printf("borrar dato: "); scanf("%d",&dato); borrar(&cabecera,dato); break; case 3: printf("buscar dato: "); scanf("%d",&dato); q = buscar(cabecera,dato); if(q) printf("el dato buscado es: %d",q->dato); else printf("lista vacia\n"); break; case 4: visualizar(cabecera); break; case 5: exit(0); system("pause"); 14
15 //Definición de Funciones /* Crear un nuevo elemento */ elemento *NuevoElemento(void) elemento *q = (elemento *)malloc(sizeof(elemento)); return (q); /* Función Error */ void error (void) perror ("Error: insuficiente espacio de memoria.\n"); exit (-1); /* Función Menú */ void menu() printf("\n\t1. Insertar un elemento\n"); printf("\n\t2. Borrar un elemento\n"); printf("\n\t3. Buscar un elemento\n"); printf("\n\t4. Vizaualizar la lista\n"); printf("\n\t5. Salir\n"); printf("\nelija la opcion deseada:\n"); /* Introducir un elemento ordenadamente en la lista */ void anadir(elemento **cab, int dato) elemento *cabecera = *cab; elemento *actual = cabecera,*anterior = cabecera, *q; if (ListaVacia) /*Si la lista esta vacía, crear un nuevo elemento*/ cabecera = NuevoElemento(); cabecera->dato = dato; cabecera->siguiente = NULL; *cab=cabecera; return; /*Entrar en la lista y encontrar el punto de inserción*/ while(actual!= NULL && dato > actual->dato) anterior = actual; actual = actual->siguiente; 15
16 /*Dos casos: *1) Insertar al principio de la lista *2) Insertar después de anterior (incluye insertar al final)*/ q = NuevoElemento(); /*se genera un nuevo elemento*/ if(anterior == actual) /*insertar al principio*/ q->dato = dato; q->siguiente = cabecera; cabecera = q; else /*insertar después de anterior*/ q->dato = dato; q->siguiente = actual; anterior->siguiente = q; *cab = cabecera; /* Encontrar un dato y borrarlo */ void borrar(elemento **cab, int dato) elemento *cabecera = *cab; elemento *actual = cabecera, *anterior = cabecera; if (ListaVacia) printf("lista Vacia\n"); return; /*entrar en la lista y encontrar el elemento a borrar*/ while(actual!=null && dato!= actual->dato) anterior = actual; actual = actual->siguiente; /*si el dato no se encuentra retornar*/ if(actual == NULL) printf("dato no encontrado\n"); return; /*si el dato se encuentra, borrar el elmento*/ if(anterior == actual) /*borrar el elemento de cabecera*/ cabecera = cabecera->siguiente; 16
17 else anterior->siguiente = actual->siguiente; free(actual); *cab = cabecera; /* Buscar un elemento determinado en la lista */ elemento *buscar(elemento *cabecera, int dato) elemento *actual = cabecera; while(actual!= NULL && dato!= actual->dato) actual = actual->siguiente; return (actual); /* Visualizar la lista */ void visualizar(elemento *cabecera) elemento *actual = cabecera; if (ListaVacia) printf("lista Vacia\n"); else while(actual!= NULL) printf("%d ",actual->dato); actual = actual->siguiente; printf("\n"); 17
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 detallesCapítulo. Listas, pilas y colas en C. Contenido. Introducción
Capítulo 32 Listas, pilas y colas en C Contenido Listas enlazadas Clasificación de listas enlazadas Operaciones en listas enlazadas Inserción de un elemento en una lista Búsqueda de un elemento de una
Más detallesProcesadores 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 detallesClases e instancias. Algoritmos y Estructuras de Datos I. Clases e instancias. memoria dinámica.
Algoritmos Estructuras de Datos I Primer cuatrimestre de 2014 Departamento de Computación - FCEN - UBA Programación imperativa - clase 10 Memoria dinámica listas enlazadas Clases e instancias El paquete
Más detallesRelación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática
Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 2: Memoria dinámica y Bibliotecas Objetivos Practicar conceptos
Más detallesTabla de Símbolos. Programación II Margarita Álvarez
Programación II Margarita Álvarez La tabla de símbolos es una estructura global utilizada por distintos módulos del compilador. Es el principal atributo heredado. Almacena todos los nombres declarados
Más detallesUNIDAD 9. DATOS COMPLEJOS PILAS
UNI 9. TOS OMPLEJOS PILS Una pila es una lista de elementos en la que se pueden insertar y eliminar elementos sólo por uno de los extremos. omo consecuencia, los elementos de una pila serán eliminados
Más detallesTema 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 detallesMemoria 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 detallesEstructura de Datos. TDA: Listas. Primer Semestre, 2010. Indice. Tipos de estructura de datos lineales
Estructura de Datos TDA: Listas Prof. Mauricio Solar Prof. Lorna Figueroa Parte del material fue obtenido de Lic. Claudio Barúa Primer Semestre, 2010 Indice Tipos de estructura de datos lineales Listas
Más detallesTema: Tipos Abstractos de Datos (TAD s) en C++.
Programación II. Guía 12 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Tipos Abstractos de Datos (TAD s) en C++. Objetivos Específicos Explicar el concepto "Tipo Abstracto
Más detallesmedia = ( temp0 + temp1 + temp2 + temp3 + temp temp23 ) / 24; printf( "\nla temperatura media es %f\n", media );
Arrays en el lenguaje C Introducción Una posible definición de array sería: Un conjunto de datos del mismo tipo, identificados por el mismo nombre, y que se pueden distinguir mediante un número de índice.
Más detallesTEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero
TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando
Más detallesTEMA 4. ESTRUCTURAS DE CONTROL
M.P. Sesmero, P. de Toledo, F.J. Ordoñez, J. Gómez-Romero, J.A. Iglesias, J.L. Mira Programación TEMA 4. ESTRUCTURAS DE CONTROL Grado en Ingeniería en Tecnologías Industriales Programación CONTENIDOS 4.1.
Más detallesTodo programa en 'C' consta de una o más funciones, una de las cuales se llama main.
LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan
Más detallesInstituto Politécnico Nacional
Instituto Politécnico Nacional Secretaria Académica Dirección de Estudios Profesionales Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Culhuacan Ingeniería en Comunicaciones y Electrónica Academia
Más detallesPRÁCTICA Nº 5: 2 sesiones (del 11 de Abril al 17 de Abril de 2003) Listas con punto de interés para la composición de melodías musicales
PRÁCTICA Nº 5: 2 sesiones (del 11 de Abril al 17 de Abril de 2003) Listas con punto de interés para la composición de melodías musicales 0. OBJETIVOS El objetivo de esta práctica es la implementación del
Más detallesLaboratorio 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 detallesExamen Principios de Programación Febrero 2012
Por favor siga las siguientes indicaciones: Escriba con lápiz. Escriba su nombre y número de documento en todas las hojas que entregue. Numere las hojas e indique el total de hojas en la primera de ellas.
Más detallesCurso 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 detallesApuntadores (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 detallesUNIDAD 4. MODIFICAR TABLAS DE DATOS
UNIDAD 4. MODIFICAR TABLAS DE DATOS Aquí veremos las técnicas de edición de registros para modificar tanto la definición de una tabla como los datos introducidos en ella. Esta unidad está dedicada, principalmente,
Más detallesEstructuras de datos: Pilas, Colas, Listas
Estructuras de datos: Dep. de Computación - Fac. de Informática Universidad de A Coruña Santiago Jorge santiago.jorge@udc.es Índice Pilas 1 Pilas 2 3 Referencias bibliográficas Pilas M. A. Weiss., pilas
Más detallesTema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C
Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS Departamento de Ciencias de la Computación e IA Subprogramas en C Objetivo Una vez que tengamos un programa que resuelva un problema concreto, ser capaces de usarlo
Más detallesApuntadores 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 detallesFundamentos de Informática
Tema 8: 8: Estructuras datos. Fundamentos Informática 1º Ingeniería Industrial Escuela Superior Ingenieros Universidad Sevilla Ismael Alcalá Torrego José Ángel Acosta Rodríguez Fernando Dorado Navas Fabio
Más detallesAMBITO DE VARIABLES EN C. GLOBALES Y LOCALES. UNDECLARED (FIRST USE IN THIS FUNCTION). EJEMPLOS (CU00548F)
APRENDERAPROGRAMAR.COM AMBITO DE VARIABLES EN C. GLOBALES Y LOCALES. UNDECLARED (FIRST USE IN THIS FUNCTION). EJEMPLOS (CU00548F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde
Más detalles2.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 detallesLas plantillas permiten definir funciones genéricas.
Introducción (Genericidad). Plantillas de funciones o funciones genéricas. Sintaxis de plantillas. Ejemplos de declaraciones. A tener en cuenta Un ejemplo de plantilla de funciones: Máximo de un vector.
Más detallesFundamentos de programación
Fundamentos de programación Estructuras de Control Estructuras de control Estructuras de control Estructura secuencial Estructura alternativa Sentencias if, if else Sentencias if else anidadas El operador
Más detallesEl TAD Grafo. El TAD Grafo
! Esta representación resulta útil cuando el número de vértices se conoce previamente y permanecerá fijo durante la resolución del problema, pero resulta ineficiente si necesitamos añadir o eliminar vértices
Más detallesIntroducció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 detallesFicheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen
Fundamentos de Informática. Dpto. de ATC - Página 1 de 8 conceptos Manejo de ficheros en C Contienen los datos que se almacenan en dispositivos de almacenamiento masivo: disquetes, discos duros, DROM,
Más detallesPILAS Fundamentos
Alg. y Estr. Datos-I / Fund. Progr.-II (R. Ferrís, J. Albert) 11 PILAS 11.1 Fundamentos En este tema y en el siguiente se analizarán las estructuras de datos lineales pilas y colas. Las pilas y las colas
Más detallesCaracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación
1 Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera Fundamentos de programación Agenda Caracteres y Cadenas Conversión de Datos Introducción a las funciones y procedimientos
Más detallesEstructura 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 detallesTema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos
Tema 2 Memoria Dinámica 2.1 Datos estáticos y dinámicos Datos estáticos: su tamaño y forma es constante durante la ejecución de un programa y por tanto se determinan en tiempo de compilación. El ejemplo
Más detallesPrincipios 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 detallesSistemas Operativos Practica 1: procesos y concurrencia.
Sistemas Operativos Practica 1: procesos y concurrencia. Objetivos: Introducir al alumno a los conceptos de programa, concurrencia, paralelismo y proceso o tarea. Manejo del concepto de concurrencia haciendo
Más detallesAgradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
Más detallesProgramación estructurada (Introducción a lenguaje C)
Programación estructurada (Introducción a lenguaje C) M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 15-I Sergio Luis Pérez (UAM CUAJIMALPA) Curso de programación estructurada
Más detallesEstructuras de Datos Dinámicas. Diseñar y programar en lenguaje C soluciones utilizando estructuras de datos dinámicas
Fundación Misión Sucre Colegio Universitario de Caracas Taller 3: Estructuras de Datos Dinámicas Objetivo Diseñar y programar en lenguaje C soluciones utilizando estructuras de datos dinámicas Contenido
Más detallesProgramación Estructurada
Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 7 Nombre: Estructuras de datos Contextualización Cuando un programa suele ser muy extenso, un problema clásico de los programadores es la
Más detalles6.1.- Introducción a las estructuras de datos Tipos de datos Arrays unidimensionales: los vectores Operaciones con vectores.
TEMA 6: ESTRUCTURAS DE DATOS (Arrays). CONTENIDO: 6.1.- Introducción a las estructuras de datos. 6.1.1.- Tipos de datos. 6.2.- Arrays unidimensionales: los vectores. 6.3.- Operaciones con vectores. 6.4.-
Más detallesPráctica 3: Vectores y matrices en C.
Práctica 3: Vectores y matrices en C. Objetivos En esta práctica el objetivo principal es el de poner en práctica los principios básicos de algoritmia (bucles y bifurcaciones) empleando vectores y matrices.
Más detallesFUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)
APRENDERAPROGRAMARCOM FUNCIONES PHP: DECLARACIÓN Y LLAMADAS PARÁMETROS, RETURN EJERCICIOS EJEMPLOS RESUELTOS (CU00827B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero Fecha
Más detallesAlgoritmos 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 detallesUNIVERSIDAD 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 detalles1
Curso: BORLAN DELPHI 5 Curso de desarrollo de aplicaciones Windows utilizando el entorno de programación Borland Delphi 5. Se estudian las particularidades del lenguaje Delphi, así como su sintaxis; sus
Más detallesLenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006
Lenguaje C Elementos de un Programa Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Objetivos Conocer los elementos que conforman un programa en C 1. Elementos léxicos de un Programa Cuando el programa
Más detallesENTORNO DE DESARROLLO Y COMPILACIÓN DE PELLES C
2010 UNAN LEON Departamento de Computación Ing. En Sistemas Sabatino Autor: Ing.Karina Esquivel Alvarado. Asignatura: Programación II. ENTORNO DE DESARROLLO Y COMPILACIÓN DE PELLES C OBJETIVOS: Conocer
Más detallesIntroducción a C++ y Code::Blocks
Introducción a C++ y Práctica Imperativo Clase 1 Luis Agustín Nieto Departamento de Computación, FCEyN,Universidad de Buenos Aires. 28 de mayo de 2010 Menu de esta Tarde Funcional Vs. Imperativo (Intérprete
Más detalles7. Agrupamiento (clustering)
7. Agrupamiento (clustering) INMUEBLES y CONTRATOS I IA4 En medio, 8 Centro Castellón 600 C 004 Q6 600 Visa 00 S /6/99 /5/00 I IL94 Riu Ebre, 4 Ronda Sur Castellón 50 C 0075 Q76 50 Efectivo 700 N //00
Más detallesCREAR TABLAS EN BASES DE DATOS CON phpmyadmin. TIPOS DE DATOS BÁSICOS (VARCHAR, INT, FLOAT). INSERTAR FILAS. (CU00840B)
APRENDERAPROGRAMAR.COM CREAR TABLAS EN BASES DE DATOS CON phpmyadmin. TIPOS DE DATOS BÁSICOS (VARCHAR, INT, FLOAT). INSERTAR FILAS. (CU00840B) Sección: Cursos Categoría: Tutorial básico del programador
Más detallesINSTITUCION EDUCATIVA MANUEL ANGEL ANACHURY AREA: TECNOLOGIA E INFORMATICA
BASES DE DATOS (ACCES 2007) OBJETIVO: Conocer el concepto de bases de datos y su funcionalidad además de crear destrezas en su creación y manipulación. Elementos básicos de Access 2007 Vamos a ver cuáles
Más detallesTema 13 Punteros. Índice. 3. Aritmética de punteros. 4. Punteros y vectores/matrices. 5. Punteros y estructuras. 6. Asignación dinámica de memoria
Tema 13 Punteros Índice 1. Introducción 2. Operaciones 3. Aritmética de punteros 4. Punteros y vectores/matrices 5. Punteros y estructuras 6. Asignación dinámica de memoria 7. Punteros y funciones: Paso
Más detallesListas lineales (circulares,doblemente enlazadas recopilación Raúl H Ruiz C)
Listas circulares: Una lista circular es una lista lineal en la que el último nodo a punta al primero. Las listas circulares evitan excepciones en las operaciones que se realicen sobre ellas. No existen
Más detallesProgramación Estructurada
Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 2 Nombre: El lenguaje de programación C Contextualización Una constante en todos los lenguajes de programación (viejos y nuevos) es la implementación
Más detallesManual de Windows XP Copyleft - Jorge Sánchez 2005
Copyleft - Jorge Sánchez 2005 Organización de datos en Windows 4.7 Operaciones sobre archivos y carpetas 4.7.1 Crear nuevas carpetas A parte de saber examinar, guardar y abrir documentos, se hace totalmente
Más detallesVariables. 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 detallesElaboración de Documentos en Procesadores de Textos
Las tablas permiten organizar la información en filas y columnas, de forma que se pueden realizar operaciones y tratamientos sobre las filas y columnas. Por ejemplo, obtener el valor medio de los datos
Más detallesThe Atomik Microkernel API Reference, version 0.1 february 2014 (Spanish)
Atomik Kernel API loader Una de las funciones del microkernel consiste en ejecutar diversos tipos de procesos (hilos del kernel, procesos de sistema y procesos de usuario). Para el caso de los procesos
Más detallesAnexo. Control de errores
Anexo. Control de errores Tipos de errores Los errores en un programa o algoritmo se pueden clasificar de la siguiente manera Errores de compilación Los errores de compilación no permiten la ejecución
Más detallesArrays dinámicos y arrays estáticos con Visual Basic y.net. Redim, Redim Preserve, Erase. Ejemplos (CU00342A)
aprenderaprogramar.com Arrays dinámicos y arrays estáticos con Visual Basic y.net. Redim, Redim Preserve, Erase. Ejemplos (CU00342A) Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión:
Más detallesTema 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 detallesGuía práctica de estudio 05: Diagramas de flujo
Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de
Más detalles9.1. Insertar filas en una hoja
UNIDAD 9. INSERTAR Y ELIMINAR ELEMENTOS (I) Vamos a ver las diferentes formas de insertar y eliminar filas, columnas, celdas y hojas, operaciones muy útiles cuando tenemos un libro ya creado y queremos
Más detallesARCHIVOS. 1. Introducción. 2. Definición de archivo. 3. Archivos de acceso secuencial. 4. Gestión de un archivo secuencial de estructuras
ARCHIVOS 1. Introducción 2. Definición de archivo 3. Archivos de acceso secuencial 3.1. fopen 3.2. fclose 3.3. fcloseall 3.4. putc 3.5. getc 3.6. fscanf 3.7. fprintf 4. Gestión de un archivo secuencial
Más detallesPROBLEMAS DEL TEMA 7: Subprogramas y Modularidad
PROBLEMAS DEL TEMA 7: Subprogramas y Modularidad EJERCICIOS RESUELTOS 1. Escribe una función que calcule el factorial de un número, dado como parámetro. A continuación realiza un programa que lea por teclado
Más detallesHerramientas para investigadoras e investigadores sociales
Herramientas para investigadoras e investigadores sociales Nº1: Word para insertar citas y bibliografía Introducción En esta primera edición del apartado "Herramientas para investigadores e investigadoras
Más detallesFunciones como Subprogramas en C++
FUNCIONES Cuando es necesario escribir programas complicados para resolver problemas complejos, una práctica común entre los programadores es descomponer el algoritmo (el diagrama de flujo) en varias partes.
Más detallesPunteros. Definición Un puntero es un dato que contiene una dirección de memoria.
Punteros Definición Un puntero es un dato que contiene una dirección de memoria. NOTA: Existe una dirección especial que se representa por medio de la constante NULL (definida en ) y se emplea
Más detallesProcesos e Hilos en C
Procesos e Hilos en C 6 de febrero de 2012 En esta sesión vamos a escribir programas en lenguaje C que utilicen hilos y procesos para comparar el rendimiento del sistema ante la gestión de unos y otros.
Más detallesFunciones básicas del depurador
Funciones básicas del depurador Con frecuencia, los alumnos piensan que cuando su programa no tiene errores de compilación (está correctamente escrito) entonces ya es correcto. Muchas veces esto no es
Más detallesLENGUAJE. Tema 1 - Introducción
LENGUAJE Tema 1 - Introducción HISTORIA DEL LENGUAJE C El lenguaje de programación C fue creado por Dennis Ritchie cuando trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el diseño del
Más detallesPrá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 detalles1. Cuestiones. Ejercicios resueltos de C. Diego Rodríguez-Losada 1. //a) #include <stdio.h> main( ) { int x = 0, y = 0; //b) #include <stdio.
1. Cuestiones Enunciado Febrero 04. Ejercicio Tercero. (2 puntos 30 minutos) Resolver los siguientes problemas indicando, en la parte inferior, cual es el resultado de cada programa. En caso de que el
Más detallesPRÁCTICA No. 13 ÁRBOL BINARIO DE BÚSQUEDA
INSTITUTO POLITÉCNICO NACIONAL SECRETARIA ACADÉMICA DIRECCIÓN DE EDUCACIÓN SUPERIOR ESIME CULHUACAN NOMBRE ALUMNO: FECHA DIA MES AÑO INGENIERÍA EN COMPUTACIÓN ASIGNATURA 1. Objetivo Apellido paterno ESTRUCTURAS
Más detallesTEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 2 CADENAS O VECTORES DE CARACTERES 6 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8
TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 1.1 VECTORES O ARRAYS UNIDIMENSIONALES 2 1.2 ARRAYS MULTIDIMENSIONALES 3 1.3 INICIALIZACIÓN DE ARRAYS 4 1.3.1 INICIALIZACIÓN DE ARRAYS SIN
Más detallesRelación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática
Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 1: Punteros Objetivos Se hará hincapié en la aritmética de punteros
Más detallesSistemas operativos. Tema 10: Sistemas de ficheros
Sistemas operativos Tema 10: Sistemas de ficheros Sistemas de ficheros El sistema de ficheros suele ser el aspecto más m visible de un SO para los usuarios. Objetivos: Ofrecer una visión n uniforme del
Más detalles324 MR Versión 1 Prueba Integral 1/3 Semana 10 Lapso 2015-2
324 MR Versión 1 Prueba Integral 1/3 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA MODELO DE RESPUESTA ASIGNATURA: Computación II CÓDIGO: 324 MOMENTO: Prueba Integral FECHA DE APLICACIÓN:
Más detalles11.2. Manual de GTC 2.0: El primer contacto
11 MANUALES DE USUARIO 11.1. Introducción GTC 2.0 y Pocket GTC son herramientas desarrolladas para la gestión del trabajo colaborativo. Pretenden ayudar en la difícil tarea de la evaluación de alumnos
Más detallesSistemas Operativos. Curso 2016 Sistema de Archivos
Sistemas Operativos Curso 2016 Sistema de Archivos Agenda Interfaz. Archivos. Directorios. Seguridad en archivos. Implementación. Definiciones. Sistema de archivos virtual. Estructura de los directorios.
Más detallesTablas Hash y árboles binarios
Tablas Hash y árboles binarios Algoritmos Tablas hash Árboles Binarios Árboles Balanceados Tablas Hash Introducción Las tablas hash son estructuras tipo vector que ayudan a asociar claves con valores o
Más detallesUna 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 detallesEstructuras de datos: Pilas, Colas, Listas
Estructuras de datos: Pilas,, Facultad de Informática Universidad de A Coruña Pilas,, Table of Contents Pilas 1 Pilas 2 3 Pilas,, Table of Contents Pilas 1 Pilas 2 3 Pilas,, Pilas Acceso limitado al último
Más detalles<tipo> Tipo de dato de los elementos del vector
Vectores y matrices Declaración Vector (array unidimiensional): []; Tipo de dato de los elementos del vector Identificador de la variable.
Más detallesUnidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas
Unidad II Fundamentos de programación en Java Ing. José Luis Llamas Cárdenas En java para poder escribir se emplea el objeto System.out, t pero para leer del teclado es necesario emplear System.in Et Este
Más detallesTema 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 detallesEXAMEN PARCIAL TRABAJO INTEGRADOR (TI) EVALUACIÓN CONTINUA PESO PORCENTUAL PESO PORCENTUAL 1 30% 06-MAY-14 30% 03-MAY-14 20% 20%
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS ROMA PLANEACIÓN DIDÁCTICA LICENCIATURA EJECUTIVA CICLO 201425 Nombre de la asignatura: Lenguajes Operativos Horas por semana: 6 Nombre del docente: Olvera Jiménez
Más detallesMICROSOFT EXCEL 2007
INGRESAR A EXCEL 007 MICROSOFT EXCEL 007. Clic en Inicio. Colocar el puntero del ratón (flecha) en Todos los programas. Colocar el puntero del ratón (flecha) en Microsoft Office. Clic en Microsoft Excel
Más detallesESTRUCTURAS CONDICIONALES SIMPLES: ESTRUCTURAS CONDICIONALES DOBLES: ESTRUCTURAS CONDICIONALES ANIDADAS:
ESTRUCTURAS CONDICIONALES SIMPLES: Si (Condición) entonces if (Condición) { ESTRUCTURAS CONDICIONALES DOBLES: Si (Condición) entonces if (Condición) { { ESTRUCTURAS CONDICIONALES ANIDADAS: Si (Condición1)
Más detallesTema: Introducción al IDE de Microsoft Visual C#.
Tema: Introducción al IDE de Microsoft Visual C#. Objetivos: El propósito de este tema es que el alumno se familiarice con el entorno de desarrollo de Visual C# Express mientras crea el formulario más
Más detallesDesde 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 detallesJava 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 detallesLABORATORIO 3 ESTRUCTURAS REPETITIVAS WHILE / DO WHILE
LABORATORIO 3 ESTRUCTURAS REPETITIVAS WHILE / DO WHILE 1 OBJETIVOS Al finalizar esta actividad, serás capaz de: Entender el funcionamiento de las estructuras iterativas en general; la(s) condición(es)
Más detallesProgramación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática
Programación de Computadores 4 Iteraciones y Decisiones Prof. Javier Cañas Universidad Técnica Federico Santa María Departamento de Informática Contenido 1 Introducción 2 Operadores Relacionales y Lógicos
Más detallesDEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006
ARBOLES ESTRUCTURAS DE DATOS 2006 DEFINICION Un árbol (tree) es un conjunto finito de nodos. Es una estructura jerárquica aplicable sobre una colección de elementos u objetos llamados nodos; uno de los
Más detalles(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados
Universidad Rey Juan Carlos Curso 2014 2015 Hoja de Problemas Tema 5 1. Cuáles de las siguientes afirmaciones acerca del algoritmo Minimax son ciertas (a) El algoritmo Minimax realiza una exploración primero
Más detalles