Estructuras de Datos Dinámicas. Diseñar y programar en lenguaje C soluciones utilizando estructuras de datos dinámicas

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Estructuras de Datos Dinámicas. Diseñar y programar en lenguaje C soluciones utilizando estructuras de datos dinámicas"

Transcripción

1 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 Presentación del taller. 62 Buenas Prácticas de Programación.. 64 Conceptos a revisar. 64 Desarrollo del Taller. 73 Ejercicios 73

2 Presentación del taller En el taller anterior se realizaron actividades para reforzar los conocimientos básicos que permiten crear un programa utilizando estructuras de datos estáticas. Así, se realizaron ejercicios sobre punteros, arreglos, arreglos multi-dimensionales, funciones de manejo de cadenas, arreglos de cadenas, estructuras y sentencia typedef. En esta oportunidad, se abordarán las estructuras de datos dinámicas para dar conclusión al contenido de la unidad curricular ubicada dentro del Programa Nacional de Formación en Sistemas e Informática. Te recomendamos realizar algunos ejercicios propuestos para consolidar los conocimientos adquiridos por estos talleres y poder definir tu preparación para este ultimo taller de estructura de datos dinámico. En estos ejercicios propuestos encontraras una autoevaluación que te permitirá conocer tu rendimiento en los conceptos básicos de lenguaje C. Estos ejercicios están presentes en los anexos de esta guía, muchos éxitos. Esta tercera guía taller contempla manejar la programación con las estructuras dinámicas básicas de: listas, pilas y colas. El propósito es guiar a los estudiantes a la consolidación de los conocimientos adquiridos en clase. Los ejercicios presentados en este material están divididos en tres fases de desarrollo, que contemplan lo siguiente: Fase 1: El alumno correrá extractos de programa en frío comentando debidamente línea por línea y determinando la función que cumple este extracto dentro de un programa fuente para trabajar con un tipo específico 62

3 de estructura dinámica. Fase 2: El alumno deberá armar el archivo fuente básico para trabajar con la estructura dinámica en discusión tomando los extractos trabajados en la fase 1. Fase 3: Se presentan varios ejercicios que permiten la instalación de un laboratorio a desarrollar por los estudiantes. Es indispensable que los conceptos involucrados en el tema se hayan trabajado con los alumnos con anterioridad por el docente asesor, a su vez se recomienda una revisión de estos conocimientos antes de iniciar el presente taller. Por otra parte, dado que los ejercicios iniciales de entendimiento de código son necesarios para la elaboración de laboratorios posteriores y debido a que las soluciones a estos laboratorios pueden ser variadas en estilo de programador a programador las soluciones a este taller deben ser estudiadas junto al profesor asesor el que guiará y orientará el logro de las mismas. Para facilitar el uso de la guía de ejercicios se incluye una breve descripción de la simbología usada. Simbología a usar: Fase 1: Que hace el programa? Fase 2: Armar el código fuente Fase 3: Desarrollar programa 63

4 Buenas Prácticas de Programación En el taller 1 se enumeran las prácticas consideradas como de buen programador haciendo referencia a características específicas del Lenguaje C, en el taller 2 se hace énfasis en las mismas. En este taller el alumno debe respetar la estructura de código establecida como un ejemplo de buenas prácticas de programación. Conceptos a revisar Las estructuras básicas que se han estudiado hasta ahora tienen una limitación importante: no pueden cambiar de tamaño durante la ejecución; es decir, los arreglos están compuestos por un número fijo de elementos, el cual se determina al inicio de la creación del programa. Está claro que se pueden construir arreglos dinámicos, pero una vez creados, su tamaño será fijo y cualquier modificación en el tamaño requiere de la reconstrucción del arreglo desde el principio. Una de las aplicaciones de la memoria dinámica y los punteros son las estructuras dinámicas de datos. Éstas nos permiten crear estructuras de datos adaptadas a necesidades reales a ser cubiertas en un programa y permiten crear estructuras de datos flexibles, ya sea en cuanto al orden, la estructura interna o las relaciones entre los elementos que las componen. Dependiendo del número de punteros y de las relaciones entre los nodos, podemos distinguir varios tipos de estructuras dinámicas como son: listas abiertas, pilas, colas, listas circulares o listas cerradas, listas doblemente enlazadas, árboles simples, árboles binarios, árboles binarios de búsqueda, árboles AVL, árboles B, tablas HASH, grafos, y diccionarios. 64

5 El presente taller, tiene como propósito que el estudiante consolide conocimientos fundamentales en las estructuras de datos dinámicas básicas simples: listas abiertas, pilas y colas. Para ello se debe tener en cuenta los siguientes conceptos: Nodo: Las estructuras de datos están compuestas de otras pequeñas estructuras que se denominan nodos o elementos y que agrupan los datos con los que trabajará el programa y además uno o más punteros autoreferenciales, es decir, punteros a objetos del mismo tipo nodo. Una estructura básica de un nodo para crear listas abiertas, pilas o colas simples de datos seria: struct nodo { int dato; struct nodo *otronodo; }; El campo "otronodo" puede apuntar a un objeto del tipo nodo. De este modo, cada nodo puede usarse para construir listas de datos, y cada uno mantendrá ciertas relaciones con otros nodos. Para acceder a un nodo de la estructura sólo se necesita un puntero a un nodo. Gráficamente se puede representar al nodo anterior, de la siguiente forma: Listas abiertas: cada elemento sólo dispone de un puntero, que apuntará al siguiente elemento de la lista o valdrá NULL si es el último elemento. 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. 65

6 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. Se realiza una breve revisión de los conceptos implícitos en cada una de las estructuras de datos a estudiar. LISTAS Concepto: Es la forma más simple de estructura de datos dinámica. 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. Implementación: Para representar en lenguaje C esta estructura de datos se utilizan los punteros ya estudiados en el taller anterior. El nodo típico para construir listas tiene la siguiente forma: struct lista { int dato; struct lista *siguiente; }; 66

7 Debe notarse que de ésta forma, 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 en la estructura. Cuando se crea una lista debe estar vacía por lo que debe representarse con la constante NULL, para crearla se hace lo siguiente: struct lista *milista; milista = NULL; Es decir, cuando el puntero que usamos para acceder a la lista vale NULL, diremos que la lista está vacía: Lista NULL Normalmente se definen varios tipos que facilitan el manejo de las estructuras, en C una declaración de tipos para las listas puede ser: typedef struct _nodo { int dato; struct _nodo *siguiente; } tiponodo; typedef tiponodo *pnodo; typedef tiponodo *Lista; tiponodo es el tipo para declarar nodos, evidentemente. pnodo es el tipo para declarar punteros a un nodo. Lista es el tipo para declarar listas, note que cualquier puntero a un nodo es una lista, cuyo primer elemento es el nodo apuntado. Es muy importante que en el programa nunca se pierda el valor del puntero al primer elemento, de lo contrario será imposible acceder al nodo y no se podrá liberar el espacio de memoria que ocupa. 67

8 Operaciones Básicas: Las operaciones básicas con listas son: Añadir o insertar elementos. Buscar o localizar elementos. Borrar elementos. Moverse a través de una lista, anterior, siguiente, primero. Se debe tomar en cuenta que no es igual insertar un nodo en una lista vacía, o al principio de una lista no vacía, o al final, o en una posición intermedia. Una explicación de cada uno de estos procesos escapa de los objetivos de este taller, se recomienda haber revisado estos conceptos previamente al mismo. PILAS Concepto: Como mencionamos anteriormente una pila es un tipo especial de lista, Dado que una pila es una lista abierta sigue siendo muy importante no perder el valor del puntero al primer elemento, igual que pasa con las listas abiertas. Un ejemplo para entender las pilas es una pila de periódicos. Sólo es posible añadir periódicos en la parte superior de la pila, y sólo pueden tomarse del mismo extremo, por ello se conocen conocidas como listas LIFO (del inglés Last In, First Out) el último en entrar es el primero en salir. Implementación: El nodo para construir pilas es el mismo que vimos para la construcción de listas: 68

9 struct pilas { int dato; struct pilas *siguiente; }; La definición de tipos para pilas es muy similar a la que se realiza para manejar listas, tan sólo cambian algunos nombres: typedef struct _nodo { int dato; struct _nodo *siguiente; } tiponodo; typedef tiponodo *pnodo; typedef tiponodo *Pila; donde: tiponodo es el tipo para declarar nodos, evidentemente. pnodo es el tipo para declarar punteros a un nodo. Pila es el tipo para declarar pilas. Operaciones básicas: Las inserciones (push) y eliminaciones (pop) en una pila se hacen siempre en un extremo, lo que se considera como el primer elemento de la lista es en realidad el último elemento de la pila. 69

10 Las pilas tienen un conjunto de operaciones muy limitado, aparte de las operaciones comunes a todos como son inicializar, y vacía (nos indica si la pila está vacía) sólo permiten las operaciones de insertar "push" y eliminar "pop": Push: Añadir un elemento al final de la pila. Pop: Leer y eliminar un elemento del final de la pila. Tope: Retorna el elemento en el tope de la pila. COLAS Concepto: Una cola es un tipo especial de lista abierta en la que sólo se puede insertar nodos en uno de los extremos de la lista y sólo se pueden eliminar nodos en el otro extremo. Este tipo de lista es conocido como lista FIFO (por el inglés First In First Out), el primero en entrar es el primero en salir. El símil cotidiano es una cola para comprar, por ejemplo, la cola para las entradas al circo. Los nuevos compradores de entradas sólo pueden colocarse al final de la cola, y sólo el primero de la cola puede comprar la entrada. 70

11 Implementación: El nodo típico para construir pilas es el mismo que vimos en los capítulos anteriores para la construcción de listas y pilas: struct colas { int dato; struct colas *siguiente; }; Los tipos que se definen para manejar colas son similares a los que utilizamos para manejar listas y pilas, tan sólo cambian algunos nombres: donde: typedef struct _nodo { int dato; struct _nodo *siguiente; } tiponodo; typedef tiponodo *pnodo; typedef tiponodo *Cola; tiponodo es el tipo para declarar nodos. pnodo es el tipo para declarar punteros a un nodo. Cola es el tipo para declarar colas. Dado que una que una cola es un tipo de lista abierta, nuevamente es muy importante que no se pierda el valor del puntero al primer elemento, al igual que pasa con las listas abiertas. Por otra parte, debido al funcionamiento de las colas, también se debe mantener un puntero para el último elemento de la cola, que será el punto donde se inserten nuevos nodos. 71

12 Operaciones básicas: Además, como sucede con las pilas, las escrituras de datos siempre son inserciones de nodos, y las lecturas siempre eliminan el nodo leído. De nuevo nos encontramos ante una estructura con muy pocas operaciones disponibles. Las colas sólo permiten añadir y leer elementos: Encolar: Inserta un elemento al final de la cola. Desencolar: Lee y elimina un elemento del principio de la cola. Frente: devuelve el elemento a la cabeza de la cola, pero no lo extrae. Teniendo en cuenta que las lecturas y escrituras en una cola se hacen siempre en extremos distintos, lo más fácil es insertar nodos por el final, a continuación del nodo que no tiene nodo siguiente, y leerlos desde el principio. Se debe recordar que leer un nodo implica eliminarlo de la cola. 72

13 Desarrollo del taller Ejercicios A continuación se presentan los ejercicios para el desarrollo del taller de Estructuras Dinámicas, los ejercicios están agrupados por el tipo de estructura. Recuerda revisar la simbología en la presentación del taller. Ejercicios sobre LISTAS: Ejercicio 1: Acorde a listas, qué hacen los siguientes fragmentos de código?. Recuerda incluir comentarios línea por línea. /* */ void nueva(list_array *list_ptr) { int k; list_ptr->cant = 0; /* */ for(k = 0; k < LISTMAX; k++) strcpy(list_ptr->list[k],"\0"); /* */ } 73

14 #define LISTMAX 10 /* */ typedef int Tipo_Elemento; typedef struct { int cant; /* Para manejar la Cantidad de elementos en la Lista */ Tipo_Elemento list[listmax]; } List_Array; /* */ int insertar(list_array *list_ptr, Tipo_Elemento *elemento) { if(list_ptr->cant == LISTMAX) return (-1); /* */ else { strcpy(list_ptr->list[list_ptr->cant], elemento); list_ptr->cant++; /* */ return (1); /* */ } } /* */ 74

15 int borrar(list_array *list_ptr, int pos) { int k; /* */ if (pos < 0 pos > list_ptr->cant-1) return (-1); /* */ else { /* */ for (k = pos; k < list_ptr->cant - 1; k++) strcpy(list_ptr->list[k],list_ptr->list[k+1]); list_ptr->cant--; return (1); /* */ } } /* */ int buscar(list_array *list_ptr, Tipo_Elemento *elemento) { int k = 0; while (k <= (list_ptr->cant - 1)) if (!strcmp(list_ptr->list[k], elemento)) /* */ return (k+1); else k++; return (-1); /* */ } /* */ int vacia(list_array *list_ptr) { 75

16 } if (list_ptr->cant == 0) return (1); /* */ else return (0); /* */ /* */ int numelementos(list_array *list_ptr) { } return list_ptr->cant; Ejercicio 2: Realiza un fragmento de código que encuentre y devuelva un elemento sucesor dada una posición en la lista. Ejercicio 3: Realiza un fragmento de código que encuentre y devuelva un elemento predecesor dada una posición en la lista. Ejercicio 4: Realiza dos fragmento de código: uno que devuelva el primer elemento de la lista y el otro que devuelva el último elemento de la lista. Ejercicio 5: Toma todos los fragmentos de código de los primeros cuatro ejercicios y construye el código fuente para que lo puedas usar como base en los ejercicios siguientes (si tienes dudas sobre como compilar un archivo en c 76

17 junto a otro donde colocas el código fuente revisa el anexo Línea de comandos GCC ). Ejercicio 6: Realiza un código para inserción en listas según el siguiente algoritmo para inserción con ordenamiento ascendente. 1. Crear un nodo para el dato que vamos a insertar. 2. Si Lista es NULL, o el valor del primer elemento de la lista es mayor que el del nuevo, se insertará el nuevo nodo en la primera posición de la lista. 3. En caso contrario, se buscará el lugar adecuado para la inserción, se tiene un puntero "anterior". Se inicializa con el valor de Lista, y se avanza mientras anterior- >siguiente no sea NULL y el dato que contiene anterior->siguiente sea menor o igual que el dato que se quiere insertar. Ahora ya se tiene anterior señalando al nodo adecuado, así que se inserta el nuevo nodo a continuación de él. Ejercicio 7: Realiza un código para borrar elementos de una lista según el siguiente algoritmo: Recuerda que para eliminar un nodo se necesita disponer de un puntero al nodo anterior. 1. Localizar el nodo a eliminar, si es que existe. (Pero sin perder el puntero al nodo anterior, partir del nodo primero, y del valor NULL para anterior y avanzar mientras nodo no sea NULL o mientras que el valor almacenado en nodo sea menor que el que buscamos). 2. Nota que pueden darse tres casos: 1. Que el nodo sea NULL, esto indica que todos los valores almacenados en la lista son menores que el que se busca y el nodo que se busca no existe. Se retorna sin borrar nada. 77

18 2. Que el valor almacenado en nodo sea mayor que el que se busca, en ese caso también se retorna sin borrar nada, ya que esto indica que el nodo que se busca no existe. 3. Que el valor almacenado en el nodo sea igual al que se busca. 3. De nuevo existen dos casos: 1. Que anterior sea NULL. Esto indicaría que el nodo que se quiere borrar es el primero, así que se modifica el valor de Lista para que apunte al nodo siguiente al que se quiere borrar. 2. Que anterior no sea NULL, el nodo no es el primero, así que se asigna a anterior->siguiente la dirección de nodo->siguiente. 4. Después de 7 u 8, se libera la memoria de nodo. Laboratorios de Listas Propuestos Nota: Para el desarrollo de los siguientes ejercicios de laboratorio se debe utilizar el archivo fuente que contenga todas las funciones básicas para el manejo de las estructuras, ej: listas.h, y se debe producir un archivo donde se desarrollará el programa principal.c con las posibles variables a utilizar llamado, ej: "listas.c. Ejercicio 8: Realiza un programa que simule una lista de invitados a una boda que permita a los novios insertar, buscar y eliminar un invitado de la lista. Ejercicio 9: Agrega una función al ejercicio anterior que permita visualizar en pantalla los invitados en lista. Ejercicio 10: Realizar un programa que permita el ingreso de una lista de números (enteros positivos) al usuario, indique la cantidad de elementos en la lista y calcule el número mayor ingresado. El usuario indicará el final de su ingreso ingresando -1. Para ello se pide que se escriba una función a utilizar llamada Encontrar_Maximo() que retorne el máximo valor de la lista, y su posición. Se 78

19 debe dar el resultado en reporte en pantalla. Ejercicio 11: Realiza una función que permita imprimir en pantalla los números ingresados por el usuario ordenados en forma descendente. Ejercicio 12: Realizar un programa que simule un diccionario, permita el ingreso de palabras en el mismo, las ordene ascendentemente y que al final imprima todos los elementos de la lista de palabras ingresadas en orden alfabético. Ejercicio 13: Realizar un programa que permita al usuario hacer una lista de artículos a comprar en el supermercado, el programa debe permitir verificar si la lista de mercado esta vacía, así como vaciar e imprimir la lista. Ejercicios sobre PILAS: Ejercicio 1: Acorde a los conceptos de pilas, qué hacen los siguientes fragmentos de código?. Recuerda incluir comentarios línea por línea. #define MAXPILA 10 /* */ /* */ void nuevapila(tipo_pila *st_ptr) { st_ptr->cima = 0; /* */ 79

20 } /* */ int vacia(tipo_pila *st_ptr) { if(st_ptr == NULL) return 1; /* */ if(st_ptr->cima == 0) return 1; /* */ else return 0; /* */ } /* */ Ejercicio 2: Realiza un fragmento de código que encuentre y devuelva el elemento del tope de la pila. Ejercicio 3: Realiza un fragmento de código que cree el tipo de estructura para manejar las pilas. pila esta llena. Ejercicio 4: Realiza un fragmento de código que permita indicar si la una 80

21 Ejercicio 5: Realiza un código para la función pop en pilas según el siguiente algoritmo Algoritmo de la función "pop": 1. Hacer que nodo apunte al primer elemento de la pila, es decir a Pila. 2. Asignar a Pila la dirección del segundo nodo de la pila: Pila->siguiente. 3. Guardar el contenido del nodo para devolverlo como retorno, recuerda que la operación pop equivale a leer y borrar. 4. Liberar la memoria asignada al primer nodo, (del que se quiere eliminar) Ejercicio 6: Realiza un código para la función push en pilas según el siguiente algoritmo: Algoritmo de la función "push": 1. Crear un nodo para el valor que colocaremos en la pila. 2. Hacer que nodo->siguiente apunte a Pila. 3. Hacer que Pila apunte a nodo. Ejercicio 7: Toma todos los fragmentos de código de los primeros ejercicios y construye el código fuente para que lo puedas usar como base en los ejercicios siguientes (si tienes dudas sobre como compilar un archivo en c junto a otro donde colocas el código fuente revisa el anexo Línea de comandos GCC ). 81

22 Ejercicio 8: Realizar un programa que permita al usuario hacer un programa que simule un estacionamiento para autos de una sola calle y un sólo sentido (es decir, en forma de pila), deberá de manejar placas, poner límite máximo de autos a estacionar, y poner una función para sacar auto, llamar al programa autos.c, recuerda incluir las funciones en autos.h. Ejercicio 9: Realizar un programa que complemente el programa anterior agregando funciones push y pop para manejar la pila de autos, una función para insertar los elementos en forma ordenada y otra función para imprimir los elementos en reversa, llamar al programa autos_orden.c. Ejercicio 10: Realizar un programa que permita al usuario crear una pila que contenga la información de una la empresa Motores C. A., encargada de vender motores de vehículos. Por cada motor se tienen los siguientes datos: serial, cilindros y caballos de fuerza. El ingreso de datos finalizará cuando el usuario teclee al serial el valor -1. Este valor no debe ser parte de la pila. El programa debe mostrar por pantalla los elementos o valores que se encuentran en la pila. Para el desarrollo de este laboratorio se debes usar el archivo que creaste en ejercicio anterior que contiene todas las funciones básicas para el manejo de las pilas pila.h y además se debe desarrollar un archivo que contenga la función main con las posibles variables a utilizar llamado "pila.c. Ejercicio 11: Realizar un programa que permita al usuario crear una pila que contenga información sobre las ventas efectuadas durante un día en la litografía Mi Litografía C. A., se desea calcular el costo de cada palabra impresa, 82

23 sabiendo que cada letra tiene un costo de 3 BF. si es impresa con tinta negra y 5 BF. si es impresa a color. Se debe indicar a cada cliente el monto a pagar por el trabajo a realizar (dependiendo si la cadena usa sólo tinta negra o a color) sumándole el IVA calculado al 9%. El ingreso de datos finalizará cuando se introduzca una cadena contenida con *** (3 asteriscos). Este registro, no debe ser parte de la pila. El programa debe mostrar por pantalla: El monto a pagar por cada cliente. Total en BF. de palabras impresas con tinta negra. Total en BF. de palabras impresas con tinta a color. Para esto harán uso de una función llamada MostrarPila() la cual será desarrollada por los estudiantes en la librería pila.h. Ejercicio 12: Usando los conocimientos obtenidos sobre estructuras dinámicas listas y pilas, escriba un programa que permita al usuario seleccionar entre las siguientes opciones: a) ingresar datos numéricos en una pila A, b) ingresar datos numéricos en una pila B, c) generar una lista ordenada con los números contenidos en ambas estructuras y que la muestre por pantalla (las pilas deberán quedar vacías) d) finalizar el programa, Mientras el usuario no elija la opción d), le será posible seguir seleccionando y ejecutando opciones. 83

24 Ejercicios sobre COLAS: Ejercicio 1: Realizar todas las funciones necesarias para el uso adecuado de las colas, debe ser guardadas en un archivo llamado cola.h. Defina las operaciones de: primero, último, encolar, desencolar, numeroelementosencola, vaciar, eliminarelementoenposicion, posicion. Ejercicio 2: Usando los conocimientos obtenidos sobre colas realice un programa que permita crear una cola de personas ingresando su nombre, el usuario debe indicar cuando desea dejar de ingresar más personas en la cola tecleando $, luego debe presentar al usuario opciones que le permitan: Conocer el último elemento de la cola, indicar el número de personas en la cola, ingresar un nuevo elemento a la cola y eliminar elementos de la cola, el programa debe indicar si la cola está vacía. Ejercicio 3: Especificar las siguientes operaciones para el tipo abstracto colas y diseñar los métodos que implementen las nuevas operaciones usando la representación dinámica de las colas. Una operación que produzca la inversa de una cola. Una operación que concatene dos colas, es decir, que coloque los elementos de una al final de la otra. Muestra al usuario los elementos de la cola 1 y de la cola dos, y luego se debe concatenar ambas colas y presentar los elementos de la cola concatenada en pantalla indicando el primer elemento y el último. 84

25 Ejercicio 4: Diseñar dos algoritmos uno usando pilas y otro usando colas, que decidan si una frase ingresada como una sucesión de caracteres leídos del periférico de entrada es o no palíndrome. Recuerda que una frase se llama palíndrome si la sucesión de caracteres obtenida al recorrerla de izquierda a derecha (ignorando los blancos) es la misma que si el recorrido se hace de derecha a izquierda, por ejemplo en la frase dábale arroz a la zorra el abad. Ejercicio 5: Una cola medieval se comporta como una cola ordinaria, con la única diferencia que los elementos almacenados en ella se dividen en dos estamentos: nobles y plebeyos. Dentro de cada estamento, los elementos deben ser atendidos en orden de llegada; pero siempre que haya nobles en la cola, éstos deben ser atendidos antes que los plebeyos. Realiza un programa en C que permita: Especificar un tipo abstracto de datos para las colas medievales que disponga de operaciones para: crear una cola medieval vacía, añadir un elemento nuevo a una cola, consultar el primer elemento de una cola, quitar el primer elemento de una cola, consultar el número de nobles en una cola, consultar el número de plebeyos en una cola, consultar si una cola es vacía o no. Ejercicio 6: Se desea implementar una estructura de datos que permita gestionar las tareas que se ejecutan en una CPU multitarea. Dentro del conjunto de tareas se pueden diferenciar cinco niveles de prioridad, de 1 a 5, siendo el nivel más prioritario el 1. Cuando hay tareas de nivel 1 éstas serán las primeras en ejecutarse, si no hay de este nivel se ejecutarán las de nivel 2 y así sucesivamente hasta que no haya tareas. El orden de ejecución dentro de un mismo nivel de 85

26 prioridad es por orden de llegada. Realizar un programa que simule la selección de tareas de la CPU, seleccione las estructuras a utilizar acorde al planteamiento. Ejercicio 7: Un concesionario de autos tiene un número limitado de modelos, todos en un número limitado de colores distintos. Cuando un cliente quiere comprar un automóvil, lo solicita de un modelo y color determinados. Si el auto de ese modelo y color no está disponible en el concesionario, se toman los datos del cliente (nombre), y se almacenan para ser atendida su petición cuando el esté disponible. Si hay más de una petición con las mismas características, se atienden las peticiones por orden cronológico. a) Definir la estructura de datos más adecuada capaz de contener las peticiones de un modelo y color de auto. c) Definir una operación que, dado un cliente (nombre) que desea comprar un auto de un modelo y color determinado, coloque sus datos como última petición de ese modelo y color. d)elimine clientes a los que se les entregue el auto de un color y modelo dado. Ejercicio 8: Una librería registra las peticiones de cualquier libro que no tiene en ese momento. La información de cada libro consiste en el título del libro, el precio (en BF), el número de libros en stock, y las peticiones del libro en estricto orden de llegada. Cada petición consiste en el nombre de una persona y su C.I. Implementa una operación que dado un cliente que pide un libro, vea si hay en stock, y si quedan, actualice el stock con la venta de ese libro, y si no, guarde los datos del cliente como última petición de ese libro. 86

27 Ejercicio 9: Un restaurante dispone de n número de mesas. De cada mesa se sabe su código de identificación. Hay una cola de espera para ir ocupando las mesas, de forma que, para cada elemento, se sabe el nombre de la persona que ha hecho la reserva y el número de comensales que no debe exceder de 5. Definir una operación que, dado un identificador de mesa libre, devuelve el nombre de la persona que se encuentra de primera de la lista de clientes que hayan hecho una reserva indicándole que puede pasar al comedor. La estructura debe quedar convenientemente actualizada una vez la persona pase al comedor saliendo así de la lista de espera. No se permiten reservas que excedan el número de comensales por mesa. Realiza el programa para representar la reservación de mesas del restaurante. Ejercicio 10: En una tienda hay sólo 1 caja registradora, en la cual se colocan los clientes con sus carros de la compra en orden de llegada. De la caja registradora se guarda el número identificador de la caja, la recaudación acumulada y los carros en espera. Por otro lado, en cada carro se amontonan los distintos productos, de modo que tan sólo puede añadirse o extraerse el situado en la parte superior. Por cada producto guardamos su nombre y precio. - Definir la estructura más adecuada para guardar un carro de la compra y explicar por qué? - Definir la estructura más adecuada para guardar una caja registradora explicar por qué? - Escribir una función denominada atender_cliente que dado un carro de la compra, pase los productos que contiene por caja y calcule el costo a pagar. - Desarrollar una función que calcule la recaudación de la caja después de pasar los primeros n carros por cada una de ellas. n será un argumento de entrada que no puede ser mayor que el número de carros en espera en la caja Utilizar la estructura de datos más adecuada para devolver el resultado pedido en cada uno de los casos. 87

Tema 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 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 detalles

Estructura de datos y de la información Boletín de problemas - Tema 7

Estructura de datos y de la información Boletín de problemas - Tema 7 Estructura de datos y de la información Boletín de problemas - Tema 7 1. Un concesionario de coches tiene un número limitado de M modelos, todos en un número limitado de C colores distintos. Cuando un

Más detalles

Listas, Pilas, Colas y Punteros. Semana 3

Listas, Pilas, Colas y Punteros. Semana 3 Listas, Pilas, Colas y Punteros Semana 3 Dictado por Marco González Núñez 14 de Febrero de 2011 Estructuras de datos simples Hoy hablaremos de lo que sin duda me motivó a crear este curso que son los punteros,

Más detalles

Organización de Computadoras

Organización de Computadoras Organización de Computadoras Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Segundo Cuatrimestre de 2015 Proyecto N 1 Programación en Lenguaje C El objetivo principal

Más detalles

Tecnólogo Informático- Estructuras de Datos y Algoritmos- 2009

Tecnólogo Informático- Estructuras de Datos y Algoritmos- 2009 Árboles Ejemplos de estructuras arborescentes: con forma de árbol Regla de Alcance: los objetos visibles en un procedimiento son aquellos declarados en él mismo o en cualquier ancestro de él (cualquier

Más detalles

INSTITUTO POLITECNICO NACIONAL. ESCUELA SUPEIRIOR DE INGENIERIA MECANICA Y ELECTRICA. UNIDAD CULHUACAN. INTEGRANTES: FLORES ACOLTZI ONESIMO

INSTITUTO POLITECNICO NACIONAL. ESCUELA SUPEIRIOR DE INGENIERIA MECANICA Y ELECTRICA. UNIDAD CULHUACAN. INTEGRANTES: FLORES ACOLTZI ONESIMO INSTITUTO POLITECNICO NACIONAL. ESCUELA SUPEIRIOR DE INGENIERIA MECANICA Y ELECTRICA. UNIDAD CULHUACAN. INTEGRANTES: FLORES ACOLTZI ONESIMO MARCEL SANTOS ARIEL MARTINEZ AGUILAR GILBERTO. MATERIA: ESTRUCTURA

Más detalles

Programación: QBASIC

Programación: QBASIC 1. QBASIC Programación: QBASIC Guía del alumno Qbasic es una versión moderna del lenguaje BASIC. Se trata de un lenguaje de alto nivel. En un lenguaje de alto nivel las instrucciones tienen un formato

Más detalles

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h>

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h> Arreglos Introducción. En los temas anteriores se han estudiado los diferentes tipos de datos simples de C++, usados para representar valores simples como enteros, reales o caracteres. Sin embargo, en

Más detalles

Operación Microsoft Access 97

Operación Microsoft Access 97 Trabajar con Informes Características de los informes Un informe es una forma efectiva de presentar los datos en formato impreso. Como se tiene control sobre el tamaño y el aspecto de todos los elementos

Más detalles

COLAS. GRUPO # 22 Alumnos: Aguilar Elba Barrios Miguel Camacho Yaquelin Ponce Rodríguez Jhonny

COLAS. GRUPO # 22 Alumnos: Aguilar Elba Barrios Miguel Camacho Yaquelin Ponce Rodríguez Jhonny COLAS 2002 GRUPO # 22 Alumnos: Aguilar Elba Barrios Miguel Camacho Yaquelin Ponce Rodríguez Jhonny ESTRUCTURA DE DATOS TEMA 4 Estructura de datos Cola ÍNDICE 4.1. Definición y ejemplos...3 4.2. El TAD

Más detalles

Estructura de Datos. TDA: Listas. Primer Semestre, 2010. Indice. Tipos de estructura de datos lineales

Estructura 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 detalles

ELO320 Estructuras de Datos y Algoritmos. Arboles Binarios. Tomás Arredondo Vidal

ELO320 Estructuras de Datos y Algoritmos. Arboles Binarios. Tomás Arredondo Vidal ELO320 Estructuras de Datos y Algoritmos Arboles Binarios Tomás Arredondo Vidal Este material está basado en: Robert Sedgewick, "Algorithms in C", (third edition), Addison-Wesley, 2001 Thomas Cormen et

Más detalles

TEMA 3: EL LENGUAJE C: PRESENTACIÓN

TEMA 3: EL LENGUAJE C: PRESENTACIÓN TEMA 3: EL LENGUAJE C: PRESENTACIÓN Historia del lenguaje C Características del lenguaje C Estructura de un programa en C El editor de textos: elementos Funciones: de usuario y de librería Librerías de

Más detalles

COLEGIO APUNTES ACCESS

COLEGIO APUNTES ACCESS COLEGIO APUNTES ACCESS Índice Introducción al Access... 3 Conocimientos básicos... 6 Tablas... 7 Formularios... 10 Consultas... 12 Consultas de eliminación... 15 Consulta de actualización... 15 Informes...

Más detalles

MANUAL DE USUARIO DE TPV TÁCTIL

MANUAL DE USUARIO DE TPV TÁCTIL MANUAL DE USUARIO DE TPV TÁCTIL 1 MANUAL DE USUARIO DE TPV TÁCTIL Índice Instalación del programa...3 Primeras configuraciones del programa TPV TACTIL...3 Impresión...6 Gestión de impresoras....7 Creación

Más detalles

Aplicación informática para la inscripción de alumnos en experimentos del área de Psicología Básica

Aplicación informática para la inscripción de alumnos en experimentos del área de Psicología Básica Aplicación informática para la inscripción de alumnos en experimentos del área de Psicología Básica Dpto. Psicología Experimental y Fisiología del Comportamiento Universidad de Granada ÍNDICE 1. INTRODUCCIÓN

Más detalles

Objetivos. El alumno conocerá los elementos indispensables de un ambiente de programación y será capaz de realizar programas básicos en lenguaje C.

Objetivos. El alumno conocerá los elementos indispensables de un ambiente de programación y será capaz de realizar programas básicos en lenguaje C. Objetivos El alumno conocerá los elementos indispensables de un ambiente de programación y será capaz de realizar programas básicos en lenguaje C. Al final de esta práctica el alumno podrá: 1. Decir cuáles

Más detalles

BUSINESS OBJECTS EDICIÓN DE REPORTES NIVEL I

BUSINESS OBJECTS EDICIÓN DE REPORTES NIVEL I BUSINESS OBJECTS EDICIÓN DE REPORTES NIVEL I [Escriba texto] Contenido INTRODUCCIÓN... 3 CAPÍTULO I: Crear Reportes Desde Carpetas Publicas... 4 CAPÍTULO II: Editar Reportes... 6 CAPÍTULO III: Visualización

Más detalles

Informática I ACI-191

Informática I ACI-191 ACI-983 Informática I ACI-191 Taller de Informática Escuela de Ingeniería Unidad IV : Software de Planilla de Cálculo TEMA 1: Microsoft Excel No todo el mundo sabe cuál es la potencialidad real de una

Más detalles

Dar formato significa, en términos generales, fijar los parámetros que definirán el aspecto y la presentación de un documento.

Dar formato significa, en términos generales, fijar los parámetros que definirán el aspecto y la presentación de un documento. Formato del documento Características de los formatos Dar formato significa, en términos generales, fijar los parámetros que definirán el aspecto y la presentación de un documento. Existen formatos que

Más detalles

SISTEMA. Sistema StalixAdmin. Manual de Ayuda

SISTEMA. Sistema StalixAdmin. Manual de Ayuda Sistema StalixAdmin Manual de Ayuda 1 INTRODUCCIÓN El manual de ayuda les proporcionara toda la informacion necesaria para poder conocer el funcionamiento del sistema StalixAdmin De la mejor forma. StalixAdmin

Más detalles

Manual de operación Radix Audio Manager v3. Manual de operación... 1. Tabla de contenidos... 2. Instalación... 4

Manual de operación Radix Audio Manager v3. Manual de operación... 1. Tabla de contenidos... 2. Instalación... 4 Manual de operación Página 1 Tabla de contenidos Manual de operación... 1 Tabla de contenidos... 2 Instalación... 4 Corriendo el sistema por primera vez... 7 Licencia... 8 Añadiendo estaciones... 9 Pantalla

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

1.INTRODUCCIÓN... 6 2.INICIAR EXECUTER POS... 7 3.GENERALIDADES... 10 4.VENTAS...

1.INTRODUCCIÓN... 6 2.INICIAR EXECUTER POS... 7 3.GENERALIDADES... 10 4.VENTAS... Tabla de Contenido 1.INTRODUCCIÓN... 6 2.INICIAR EXECUTER POS... 7 3.GENERALIDADES... 10 4.VENTAS... 15 4.1 AGREGAR ARTÍCULO... 15 4.2 ELIMINAR ARTÍCULO... 19 4.3 DEFINIR CANTIDAD POR ARTÍCULO... 21 4.4

Más detalles

Curso: Access 2010 Nivel I. Access 2010 Nivel I. Índice del Curso

Curso: Access 2010 Nivel I. Access 2010 Nivel I. Índice del Curso Access 2010 Nivel I Índice del Curso Introducción de la... 2 Objetivos... 3 Contenidos... 4 Consultas... 4 Consultas de Selección... 4 Consulta con Parámetros... 15 Campos calculados en una consulta...

Más detalles

ÍNDICE WORD 2007. 2da. Parte

ÍNDICE WORD 2007. 2da. Parte ÍNDICE WORD 2007 2da. Parte PÁG. 02 05 08 12 13 15 16 17 18 19 20 22 25 TEMAS 27- Tabla de Ilustraciones 28- Índice 29- Tablas 30- Viñetas 31- Numeraciones 32- Esquemas. Esquemas numerados 33- Secciones.

Más detalles

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006

DEFINICION. 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

Guía Laboratorio Número 1

Guía Laboratorio Número 1 Guía Laboratorio Número 1 Página 1 de 5 Arquitectura de Computadoras 06/04/2014 Repaso lenguaje ensamblador Escribir códigos en lenguaje ensamblador es bastante sencillo, por lo que no es necesario el

Más detalles

Mini Curso Excel 1. HOJAS DE CÁLCULO

Mini Curso Excel 1. HOJAS DE CÁLCULO Mini Curso Excel El siguiente documento ha sido tomado con permiso desde GuillermoDiaz.com y adaptado para ser utilizado con Microsoft Excel 2003 y en coherencia con los contenidos expuestos en el laboratorio.

Más detalles

Construcción de Escenarios

Construcción de Escenarios Construcción de Escenarios Consiste en observar los diferentes resultados de un modelo, cuando se introducen diferentes valores en las variables de entrada. Por ejemplo: Ventas, crecimiento de ventas,

Más detalles

3.2 Operaciones aritmético-lógicas en Pascal

3.2 Operaciones aritmético-lógicas en Pascal 3.2 Operaciones aritmético-lógicas en Pascal Operadores Los operadores sirven para combinar los términos de las expresiones. En Pascal, se manejan tres grupos de operadores : 1. ARITMÉTICOS 2. RELACIONALES

Más detalles

STOCK CONTROL CENTER Edicion BASICA

STOCK CONTROL CENTER Edicion BASICA STOCK CONTROL CENTER Edicion BASICA SCC Básico, sistema con un equilibrio entre costo y prestaciones, su bajo costo y su simplicidad hace de esta herramienta útil para el control de stock, y ventas. Con

Más detalles

Organizando mi clase en el GES Material de apoyo

Organizando mi clase en el GES Material de apoyo Tabla de contenido 1. Cómo subir el programa del curso?... 1 1.1. Subir el programa del curso... 1 1.2 Enlazar un programa... 3 1.3 Crear un programa en GES... 5 2. Cómo agrego apuntes o material de clase?...

Más detalles

CÓMO CREAR NUESTRO CATÁLOGO

CÓMO CREAR NUESTRO CATÁLOGO CÓMO CREAR NUESTRO CATÁLOGO Mediante la aplicación (http://www.prensasoft.com/programas/conline) podemos crear nuestros propios catálogos. Para crear un catálogo necesitamos: - Varios productos que mostrar,

Más detalles

Ejercicio 1 (2 puntos. Tiempo: 25 minutos)

Ejercicio 1 (2 puntos. Tiempo: 25 minutos) Fecha de publicación de notas: jueves 18 de Julio. Fecha de revisión: viernes 19 de Julio a las 10:00h. Despacho C-209. Ejercicio 1 (2 puntos. Tiempo: 25 minutos) Se desea desarrollar un programa en C

Más detalles

Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas.

Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas. Formularios TEMA: FORMULARIOS. 1. INTRODUCCIÓN. 2. CREACIÓN DE FORMULARIOS. 3. INTRODUCIR DATOS EN UN FORMULARIO. 4. MODIFICAR UN FORMULARIO 5. MANERAS DE GUARDAR UN FORMULARIO. 6. IMPRIMIR FORMULARIOS.

Más detalles

Ilustrar el mecanismo de llamadas al sistema para solicitar servicios al sistema operativo.

Ilustrar el mecanismo de llamadas al sistema para solicitar servicios al sistema operativo. Práctica 1: introducción al simulador SPIM 1. Motivación Seguro que a estas alturas de la carrera sabe ya manejar un ordenador perfectamente. Incluso debe saber cómo programarlos en un lenguaje de alto

Más detalles

Manual de Nodrix CFDI

Manual de Nodrix CFDI 1 Manual de Nodrix CFDI Índice Paginas Iniciando Nodrix. 2 Configuración inicial. 2 Datos de la empresa 3 Servidor de Facturación 3 Ruta de Archivos XML 4 Formatos de Factura electrónica 5 Alta y modificación

Más detalles

HOJA DE CÁLCULO: MICROSOFT EXCEL Por: José De Ávila

HOJA DE CÁLCULO: MICROSOFT EXCEL Por: José De Ávila HOJA DE CÁLCULO: MICROSOFT EXCEL Por: José De Ávila Microsoft ha desarrollado una hoja electrónica potente y de gran eficiencia para el uso de aplicaciones financieras, contables, administrativas o simplemente

Más detalles

Elabore el análisis, el diseño mediante pseudocódigo y un diagrama de flujo de un algoritmo para resolver cada uno de las siguientes problemas:

Elabore el análisis, el diseño mediante pseudocódigo y un diagrama de flujo de un algoritmo para resolver cada uno de las siguientes problemas: OBJETIVO: El estudiante resolverá diversos ejercicios mediante el desarrollo de algoritmos aplicando arreglos MATERIAL Y EQUIPO NECESARIO: Papel y lápiz Se recomienda la comprobación de los ejercicios

Más detalles

Se guardan en archivos con extencion c y los cabezales con extension h

Se guardan en archivos con extencion c y los cabezales con extension h Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767

Más detalles

INSTITUTO TECNOLÓGICO DE NUEVO LAREDO ING. EN SISTEMAS COMPUTACIONALES

INSTITUTO TECNOLÓGICO DE NUEVO LAREDO ING. EN SISTEMAS COMPUTACIONALES OBJETIVO: El estudiante desarrollará aplicaciones mediante la implementación de estructuras de datos basadas en Pilas. MATERIAL Y EQUIPO NECESARIO: Papel y lápiz Se recomienda la comprobación de los ejercicios

Más detalles

CLASE 4 VISTAS DE UN DOCUMENTO

CLASE 4 VISTAS DE UN DOCUMENTO CLASE 4 VISTAS DE UN DOCUMENTO Word puede trabajar con el mismo documento de distintas formas. Cada una de ellas es adecuada para unas necesidades determinadas. La mayor parte de los modos disponibles,

Más detalles

Estructura de datos Tema 3: El TAD Lista lineal. Universidad de Valladolid. Departamento de informática. Campus de Segovia

Estructura de datos Tema 3: El TAD Lista lineal. Universidad de Valladolid. Departamento de informática. Campus de Segovia Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 3: El TAD Lista lineal Prof. Montserrat Serrano Montero ÍNDICE El TAD lista lineal Implementación con estructuras

Más detalles

Módulo 2: Liderar el proyecto educativo de la escuela

Módulo 2: Liderar el proyecto educativo de la escuela Guía de aprendizaje Como lo hicimos en el primer módulo, te ofrecemos la siguiente guía de aprendizaje que te va a ayudar a seguir una metodología para el estudio y análisis de los temas propuestos en

Más detalles

SIMULADOR DE REDES DE PETRI ASINCRONICAS

SIMULADOR DE REDES DE PETRI ASINCRONICAS SIMULADOR DE REDES DE PETRI ASINCRONICAS MANUAL DE USUARIO 1.1 Introducción. Los puntos que se tratarán serán los siguientes: La ventana principal: o Menús. o Barra de herramientas de control. o Barra

Más detalles

FORMACIÓN AULA VIRTUAL MANUAL DEL ALUMNO

FORMACIÓN AULA VIRTUAL MANUAL DEL ALUMNO FORMACIÓN AULA VIRTUAL Estimado Estudiante, Esperamos que el contenido de este manual ayude a sortear aquellas dificultades que se puedan presentar durante el periodo de familiarización con el nuevo entorno

Más detalles

Administrador de Contenidos. websoft factory

Administrador de Contenidos. websoft factory Administrador de Contenidos websoft factory Versión 1.1 Octubre de 2003 Tabla de Contenidos Tabla de Contenidos... 1 Introducción... 2 Módulo principal... 2 Módulo de administración de usuarios y grupos...

Más detalles

PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador.

PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador. PRACTICA #1 Aprender a programar una interrupción software empleando C y/o Ensamblador. Aprender a manipular dispositivos externos (8253, 8255) desde C y/o ensamblador. PROCEDIMIENTO: Vamos a programar

Más detalles

Práctica 2: Simón dice

Práctica 2: Simón dice Práctica 2: Simón dice Fecha de entrega: 31 de enero de 2016 0.- Descripción del juego (Wikipedia.org) Simon dice es un juego electrónico, creado por Ralph Baer, que consiste en reproducir una secuencia

Más detalles

Formatos para prácticas de laboratorio

Formatos para prácticas de laboratorio Fecha de efectividad: CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA LSC 2003-1 5221 Lenguaje de Programación Estructurada PRÁCTICA No. 8 LABORATORIO DE NOMBRE DE LA PRÁCTICA Licenciado

Más detalles

PRÁCTICA No. 13 ÁRBOL BINARIO DE BÚSQUEDA

PRÁ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 detalles

- Access es un gestor de bases de datos relacionales gráfico e interactivo.

- Access es un gestor de bases de datos relacionales gráfico e interactivo. ACCESS 2007 Que es Access? - Access es un gestor de bases de datos relacionales gráfico e interactivo. - Una base de datos Access, a diferencia de otros gestores de B.D., se guarda en un único fichero

Más detalles

myappgen Usted Construye la aplicación mientras la ejecuta http://www.myappgen.com info@myappgen.com

myappgen Usted Construye la aplicación mientras la ejecuta http://www.myappgen.com info@myappgen.com myappgen Usted Construye la aplicación mientras la ejecuta http://www.myappgen.com info@myappgen.com Tutorial 8 - Process En este tutorial le mostraremos como utilizar el modelo de programa del tipo Process,

Más detalles

FUNDACION EDUCATIVA OBRERA FUNEDO TECNICO EN SECRETARIADO EJECUTIVO SISTEMATIZADO

FUNDACION EDUCATIVA OBRERA FUNEDO TECNICO EN SECRETARIADO EJECUTIVO SISTEMATIZADO LOS FORMULARIOS Los formularios sirven para definir pantallas generalmente para editar los registros de una tabla o consulta. Veremos cómo crear un formulario, manejarlo para la edición de registros y

Más detalles

SQL EMBEBIDO FELIPE GARCÍA GÓMEZ

SQL EMBEBIDO FELIPE GARCÍA GÓMEZ UNIVERSIDAD DE CASTILLA-LA MANCHA ESCUELA SUPERIOR DE INFORMÁTICA SQL EMBEBIDO FELIPE GARCÍA GÓMEZ Profesor: Asignatura: Titulación: Fecha: D. Francisco Ruiz González Bases de Datos Ing. Sup. Informática

Más detalles

Secretariado de Tecnologías. Francisco Moreno. Microsoft PowerPoint 1 CREACIÓN DE PRESENTACIONES MICROSOFT POWERPOINT

Secretariado de Tecnologías. Francisco Moreno. Microsoft PowerPoint 1 CREACIÓN DE PRESENTACIONES MICROSOFT POWERPOINT Secretariado de Tecnologías. Francisco Moreno. Microsoft PowerPoint 1 1.- INTRODUCCIÓN CREACIÓN DE PRESENTACIONES MICROSOFT POWERPOINT PowerPoint es un programa que contiene un conjunto completo de herramientas

Más detalles

Edición básica. Contenido TECNOLOGÍA WORD

Edición básica. Contenido TECNOLOGÍA WORD Contenido 1. Desplazarse por un documento... 2 2. Seleccionar... 4 3. Eliminar... 5 4. Deshacer y rehacer... 6 5. Copiar, cortar y pegar... 7 6. Opciones de pegado... 8 7. Buscar... 8 8. Buscar y reemplazar...

Más detalles

Índice... 2 Introducción a Heracles... 3 Instalar Heracles... 4 Instalar Heracles en la PDA... 6

Índice... 2 Introducción a Heracles... 3 Instalar Heracles... 4 Instalar Heracles en la PDA... 6 Índice Índice... 2 Introducción a Heracles... 3 Instalar Heracles... 4 Instalar Heracles en la PDA... 6 Utilizar Heracles con Factura Plus o TPV Plus... 9 Configurar Factura Plus/TPV Plus... 9 Configurar

Más detalles

Manual de Usuario SOFTWARE DESPACHO JURIDICO 2015.

Manual de Usuario SOFTWARE DESPACHO JURIDICO 2015. 1 Tú imagínalo, nosotros lo desarrollamos. Manual de Usuario SOFTWARE DESPACHO JURIDICO 2015. VERSIÓN 2.0 Contenido Requerimientos del Sistema... 4 Instalación de los Prerrequisitos del Sistema... 4 Instalación

Más detalles

SOLUCION EXAMEN junio 2006

SOLUCION EXAMEN junio 2006 SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los

Más detalles

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Máquina Expendedora (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Circulo (1.0 pto.)... 3 1.3 Ejercicio

Más detalles

MANUAL DE LA APLICACIÓN DE GESTIÓN DE CRIONIZADOS

MANUAL DE LA APLICACIÓN DE GESTIÓN DE CRIONIZADOS MANUAL DE LA APLICACIÓN DE GESTIÓN DE CRIONIZADOS NEVERO 1.3 Acceso a la aplicación 1 Mantenimiento de Administradores 2 Alta Modificación: 2 Baja: 2 Mantenimiento de Tanques 3 Modificación: 3 Baja: 3

Más detalles

MANUAL DE TALLAS Y COLORES

MANUAL DE TALLAS Y COLORES MANUAL DE TALLAS Y COLORES INDICE 1. COMO INSTALAR EL PROGRAMA 2. CONDICIONES DEL EQUIPO 3. PANTALLA PRINCIPAL 4. PASOS A SEGUIR PARA PONER A PUNTO MI PROGRAMA 5. MANTENIMIENTO a. CLIENTES b. EMPLEADOS

Más detalles

MANUAL DE USUARIO SISTEMA CONTROL DE CALIDAD SYNERGY QC

MANUAL DE USUARIO SISTEMA CONTROL DE CALIDAD SYNERGY QC MANUAL DE USUARIO SISTEMA CONTROL DE CALIDAD SYNERGY QC Login... 2 Datos del Registro... 2 Cambio de Clave... 2 Configuración de Lotes... 3 Nuevo Lote... 3 Listado de Lotes... 4 Creación y configuración

Más detalles

Tema: Arreglos de Objetos en C++.

Tema: Arreglos de Objetos en C++. Programación II. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Arreglos de Objetos en C++. Objetivos Específicos Describir la implementación de arreglos de Objetos.

Más detalles

UNIDAD 4 ESCRITURA Y CORRECIÓN DE CARACTERES. Presentación

UNIDAD 4 ESCRITURA Y CORRECIÓN DE CARACTERES. Presentación UNIDAD 4 ESCRITURA Y CORRECIÓN DE CARACTERES Presentación El ordenador siempre ha dispuesto de una vía de comunicación para recibir información y de otra para transmitirla al exterior. En sus orígenes

Más detalles

Base de datos en la Enseñanza. Open Office

Base de datos en la Enseñanza. Open Office 1 Ministerio de Educación Base de datos en la Enseñanza. Open Office Módulo 1: Introducción Instituto de Tecnologías Educativas 2011 Introducción Pero qué es una base de datos? Simplificando mucho, podemos

Más detalles

Para ingresar a la aplicación Microsoft Word 97, los pasos que se deben seguir pueden ser los siguientes:

Para ingresar a la aplicación Microsoft Word 97, los pasos que se deben seguir pueden ser los siguientes: Acceso a la aplicación Descripción del ambiente de trabajo Para ingresar a la aplicación Microsoft Word 97, los pasos que se deben seguir pueden ser los siguientes: A través del botón Inicio: 1. Seleccionar

Más detalles

Programa Presupuestos de Sevillana de Informática.

Programa Presupuestos de Sevillana de Informática. Programa Presupuestos de Sevillana de Informática. Introducción. En sus inicios, el programa Presupuestos estaba pensado únicamente para escribir e imprimir presupuestos, facilitando el trabajo con un

Más detalles

TAD Lineales: Pila, Cola y Lista

TAD Lineales: Pila, Cola y Lista TAD Lineales: Pila, Cola y Lista Objetivos! Dar a conocer los TAD lineales pila, cola y lista! Presentar la especificación de cada uno de los TAD! Discutir implementaciones alternativas para cada uno de

Más detalles

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE MEDICINA Academia de Informática Médica Laboratorio de Informática Médica Access 2

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE MEDICINA Academia de Informática Médica Laboratorio de Informática Médica Access 2 Relaciones entre tablas INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE MEDICINA Academia de Informática Médica Laboratorio de Informática Médica Access 2 Usando relaciones entre objetos, se evita la

Más detalles

Formularios. Microsoft Excel 2007

Formularios. Microsoft Excel 2007 Person Sistemas de Información II Formularios Microsoft Excel 2007 Formularios de entrada de datos Microsoft Excel ofrece los siguientes tipos de formularios para ayudarle a escribir datos en un rango

Más detalles

Unidad III El lenguaje de programación C 1. 2. 3. 4. 5. 6. 7. 8.

Unidad III El lenguaje de programación C 1. 2. 3. 4. 5. 6. 7. 8. Unidad III 1. Introducción. 2. Breve historia del C. 3. Lenguajes de programación de alto nivel, bajo nivel y nivel medio. 4. Compiladores e intérpretes. 5. Compilación, enlace y generación de un programa

Más detalles

Manual del Profesor Campus Virtual UNIVO

Manual del Profesor Campus Virtual UNIVO Manual del Profesor Campus Virtual UNIVO Versión 2.0 Universidad de Oriente UNIVO Dirección de Educación a Distancia INDICE 1. Campus Virtual. 03 1.1 Accesos al Curso 04 1.2 Interfaz del Curso...06 1.3

Más detalles

Diseño y Admón. de Bases de Datos. Ingeniería Informática curso 2010/11

Diseño y Admón. de Bases de Datos. Ingeniería Informática curso 2010/11 Laboratorio 06. Objetivos: Representación interna de un BD. Tablas, índices e índices full-text. Sesiones: 1 (24 de noviembre de 2010) Ejercicio: 1. Representación interna: 1.1. Copiar al repositorio de

Más detalles

Quien de verdad sabe de qué habla, no encuentra razones para levantar la voz Leonardo Da Vinci (1452-1519) Pintor, escultor e inventor italiano.

Quien de verdad sabe de qué habla, no encuentra razones para levantar la voz Leonardo Da Vinci (1452-1519) Pintor, escultor e inventor italiano. CAPÍTULO 3: GESTIÓN DE CLIENTES Quien de verdad sabe de qué habla, no encuentra razones para levantar la voz Leonardo Da Vinci (1452-1519) Pintor, escultor e inventor italiano. CAPÍTULO 3: GESTIÓN DE CLIENTES

Más detalles

Manual del usuario PCFACTUR 1.0. Programa de gestión para Facturación Empresas

Manual del usuario PCFACTUR 1.0. Programa de gestión para Facturación Empresas 24 PCFACTUR 1.0 Programa de gestión para Facturación Empresas Protección de datos en facturas. Alertas de recibos y pagos. Control de almacén rápido y sencillo. Actualizaciones con acceso a Internet...

Más detalles

1. Se debe plantear sobre el papel la solución del ejercicio.

1. Se debe plantear sobre el papel la solución del ejercicio. CIUDAD UNIVERSITARIA s/n Aptdo. 60.149 28080 MADRID UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Universitaria de Informática Practicas y Pruebas de Evaluación a Distancia En este apartado se

Más detalles

Manual del Módulo de Programación y Formulación 2016

Manual del Módulo de Programación y Formulación 2016 Ministerio de Economía y Finanzas Manual del Módulo de Programación y Formulación 2016 Gobierno Nacional y Regional Marzo, 2015 INDICE 1. Acceso al Sistema y Entorno de Trabajo... 5 2. Usuario Pliego...

Más detalles

El Explorador es una de las aplicaciones más importantes con que cuenta

El Explorador es una de las aplicaciones más importantes con que cuenta El Explorador de Windows Características del Explorador de Windows Windows. El Explorador es una de las aplicaciones más importantes con que cuenta A través del Explorador se pueden realizar muchas tareas

Más detalles

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

8.1 Un primer bucle FOR... 5 8.2 Varias formas de utilizar el bucle FOR... 5 8.3 Calcular el factorial de un número mediante un bucle FOR...

8.1 Un primer bucle FOR... 5 8.2 Varias formas de utilizar el bucle FOR... 5 8.3 Calcular el factorial de un número mediante un bucle FOR... PROGRAMACIÓN EN C++ PRÁCTICA 08 INTRODUCCIÓN A C++ SENTENCIAS DE CONTROL DEL FLUJO DE UN PROGRAMA: Ejercicio 1. Un primer programa en C++....1 Ejercicio 2. Una conversación en C++....2 Ejercicio 3. Una

Más detalles

SESIÓN 6 INTRODUCCIÓN A WORD.

SESIÓN 6 INTRODUCCIÓN A WORD. SESIÓN 6 INTRODUCCIÓN A WORD. I. CONTENIDOS: 1. La pantalla de Word. 2. Partes de la pantalla de Word. 3. Funcionamiento de los menús. 4. Distintas formas de ver un documento. 5. Trabajar con varios documentos

Más detalles

CI2126 PRÁCTICA 9: TAD COLA. 1) Implemente las operaciones C_Insert y C_Remove del TAD COLA usando a. un arreglo. La estructura sería:

CI2126 PRÁCTICA 9: TAD COLA. 1) Implemente las operaciones C_Insert y C_Remove del TAD COLA usando a. un arreglo. La estructura sería: CI2126 PRÁCTICA 9: TAD COLA. 1) Implemente las operaciones C_Insert y C_Remove del TAD COLA usando a. un arreglo La estructura sería: typedef struct s_cola ELEM elementos[max]; int primero,ultimo; STRUCTCOLA,*COLA;

Más detalles

UNIDAD III PROCESADOR DE TEXTO WORD.

UNIDAD III PROCESADOR DE TEXTO WORD. UNIDAD III PROCESADOR DE TEXTO WORD. 3.1 Introducción. Hace algunos años, para crear documentos de texto se debía ser todo un experto de la industria editorial o de las artes gráficas, ya que las máquinas

Más detalles

HERRAMIENTAS DE ACCESS ACCESS 2010. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

HERRAMIENTAS DE ACCESS ACCESS 2010. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE HERRAMIENTAS DE ACCESS ACCESS 2010 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE HERRAMIENTAS DE ACCESS En esta unidad veremos algunas de las herramientas incorporadas de Access que

Más detalles

Ambiente de trabajo. Tutorial Ambiente de Trabajo en InfoStat ARCHIVO

Ambiente de trabajo. Tutorial Ambiente de Trabajo en InfoStat ARCHIVO Ambiente de trabajo InfoStat ofrece distintas herramientas para explorar su información de manera sencilla, intuitiva y amigable. Al abrir InfoStat, se visualizará una barra de herramientas localizada

Más detalles

Microsoft Word 2010. Los formatos son las características que le asignamos a cualquier carácter, a un conjunto de caracteres o a otros elementos.

Microsoft Word 2010. Los formatos son las características que le asignamos a cualquier carácter, a un conjunto de caracteres o a otros elementos. Microsoft Word 2010 Estilos y Formatos A continuación les voy a explicar como utilizar los estilos y formatos en Word, pero antes de esto necesitamos tener en claro que son los estilos y que son los formatos.

Más detalles

TEMA 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 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 detalles

GUIA PARA INSCRIBIR LAS ACTIVIDADES ACADÉMICAS PARA ESTUDIANTES

GUIA PARA INSCRIBIR LAS ACTIVIDADES ACADÉMICAS PARA ESTUDIANTES GUIA PARA INSCRIBIR LAS ACTIVIDADES ACADÉMICAS PARA ESTUDIANTES Ingrese al sitio Web de la Universidad de Caldas www.ucaldas.edu.co y por Registro Académico entre a la página específica del sistema de

Más detalles

Solución e-gestión Factura

Solución e-gestión Factura Solución e-gestión Factura Solución e-gestión Factura Página 1 de 157 Indice 1 Introducción...4 1.1 Qué es Solución Gestión Administrativa?...4 1.2 Requisitos del sistema...4 1.3 Configuración del NAVEGADOR...5

Más detalles

Tablas dinámicas. Tablas dinámicas

Tablas dinámicas. Tablas dinámicas Tablas dinámicas Con las tablas dinámicas se pueden procesar de manera rápida grandes cantidades de datos. Desde deporwin se puede trabajar con los datos de los listados, en forma de tabla dinámica. Así,

Más detalles

GUÍA RÁPIDA. www.cissprevencion.es

GUÍA RÁPIDA. www.cissprevencion.es GUÍA RÁPIDA www.cissprevencion.es 2 Cómo localizar la información que necesita en CISS Prevención de Riesgos Laborales? Con esta sencilla Guía rápida descubrirá que acceder a la información que precisa

Más detalles

Estructuras de Datos Abstractas en Lenguaje Java

Estructuras de Datos Abstractas en Lenguaje Java Universidad de Santiago de Chile Facultad de Ingeniería Departamento de Ingeniería Industrial Estructuras de Datos Abstractas en Lenguaje Java Listas Enlazadas, Colas, Pilas y Árboles Binarios Creado por

Más detalles

EDICIÓN Y FORMATO (II)

EDICIÓN Y FORMATO (II) EDICIÓN Y FORMATO (II) 1. INTRODUCCIÓN Writer dispone de una serie de barras de herramientas predeterminadas, en las que se encuentran botones de acceso directo a comandos específicos que se activan con

Más detalles

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS CONTENIDOS 1. Introducción a las cadenas 2. Definición 3. Declaración de cadenas 4. Inicialización de cadenas 5. Escritura y Lectura de datos tipo cadena 6. Funciones de manipulación de cadenas 7. Arrays

Más detalles

Operación de Microsoft Word

Operación de Microsoft Word Trabajar con tablas Las tablas permiten organizar la información y crear atractivos diseños de página con columnas paralelas de texto y gráficos. Las tablas pueden utilizarse para alinear números en columnas

Más detalles

9. Objetos y clases. 9.1. Clases

9. Objetos y clases. 9.1. Clases Programación orientada a objetos con Java 103 9. Objetos y clases Objetivos: a) Presentar el concepto de objeto, clase, atributo, método e instancia b) Interpretar el código fuente de una aplicación Java

Más detalles

reemplaza menú archivo y esta situado en la esquina superior izquierda de estos programas de

reemplaza menú archivo y esta situado en la esquina superior izquierda de estos programas de Taller de Computación Básica Curso de Apoyo a la Modalidad Presencial Lección 1: Conociendo Word Indicaciones: 1. Identifica los elementos principales e interfaz de Word. 2. Maneja los elementos principales

Más detalles