Trabajo Práctico Nº7y8

download Trabajo Práctico Nº7y8

of 5

description

ALGORITMOS Y ESTRUCTURAS DE DATOS EN LA UTN SAN FRANCISCO

Transcript of Trabajo Práctico Nº7y8

  • A l g o r i t m o y E s t r u c t u r a d e D a t o s

    Ing. en Sistemas de Informacin 1 ao Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez

    1

    Trabajo prctico N 7

    (Resolucin de problemas Estructura: pila y cola).

    Realiza el algoritmo de cada situacin problemtica y el programa en C

    correspondiente.

    1- Cargar en una pila n letras del abecedario.(n debe ser menor a 30)

    2- En la estructura creada en el ejercicio anterior, mostrar la cantidad de a o A que

    hay almacenadas.

    3- Dada una pila que almacena un nmero de n dgitos mostrar el mensaje el nmero es

    capica en caso que el nmero almacenado as lo sea, caso contrario mostrar el

    mensaje el nmero no es capica.

    4- Dada una estructura pila que almacena letras se pide agregar una letra que se debe

    ingresar por teclado.

    5- Dada la pila del ejercicio anterior ya cargada en la memoria, se pide eliminar de la

    estructura todas las letras iguales a X. X es una componente del mismo tipo que las que

    estn almacenadas en la estructura y se debe ingresar por teclado.

    6- Dada una cola de enteros no ordenada, escribir una funcin que:

    (a) Devuelva el mximo elemento.

    (b) Devuelva el promedio de los elementos.

    (c) Inserte un elemento.

    (d) Elimine los elementos iguales a k, siendo k un valor ingresado.

    7- Se tiene una cola circular con nmeros reales y enteros. Crear una funcin que me

    permita depurar la estructura cola de modo que queden todos aquellos datos superiores a

    un valor ingresado como parmetro de la funcin.

    8- Disear un programa para insertar elementos en una cola circular.

    9- Disee un programa que me permita eliminar elementos de una estructura cola

    circular. El elemento a eliminar debe ser igual a x, valor que se debe ingresar por

    teclado.

    10- Mostrar en qu posicin de la cola circular se encuentra un valor q que se debe

    leer por teclado. En caso que el valor no se halle en la estructura emitir un mensaje.

    (Considerar que en la cola puede haber uno, ninguno o muchos elementos).

    11- Dar el contenido de la pila despus de cada operacin en la secuencia

    E A S * Y * * Q U E * * * S T * * * I * O N * *.

    donde las letras se meten en la pila y * significa sacar.

  • A l g o r i t m o y E s t r u c t u r a d e D a t o s

    Ing. en Sistemas de Informacin 1 ao Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez

    2

    12-Escribir una funcin que evale una expresin aritmtica indicando si los parntesis,

    corchetes y llaves estn balanceados.

    Ejercicios Propuestos

    1- Un palndromo es una cadena de caracteres que se lee igual hacia delante que hacia

    atrs (pudindose modificar los espacios en blanco). Por ejemplo: Dbale arroz a la

    zorra el abad. Escribir un programa para detectar si una cadena de caracteres es un

    palndromo o no. (Nota: un mecanismo efectivo de solucin consiste en el uso

    simultneo de una pila y una cola).

    2- Dada una expresin en notacin postfija y utilizando como operadores +, -, *, : y ^,

    utilizaremos una pila sacar los datos para los clculos.

    3- Elaborar un programa que utilice el TDA pila, presentando un men en pantalla con

    las siguientes operaciones:

    (a) Crear una pila.

    (b) Insertar un elemento en la pila.

    (c) Eliminar un elemento de la pila.

    (d) Mostrar los elementos de la pila en pantalla.

    (e) Mostrar el tope de la pila.

    (f) Decir si la pila est vaca.

    Discuta posibles aplicaciones de este tipo de dato abstracto.

    4- Implemente el TDA pila usando un arreglo esttico. Qu ventajas y desventajas

    tiene esta implementacin con respecto a la implementacin dinmica?

  • A l g o r i t m o y E s t r u c t u r a d e D a t o s

    Ing. en Sistemas de Informacin 1 ao Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez

    3

    Trabajo prctico N 8 ( Resolucin de problemas Estructuras: Listas simples y circulares).

    Realiza el algoritmo de cada situacin problemtica y el programa en C

    correspondiente.

    1- Cargar en una lista n letras del abecedario.

    2- En la estructura creada en el ejercicio anterior, mostrar la cantidad de a o A que

    hay almacenadas.

    3- Dada en memoria una lista que almacena nmeros enteros (positivos, negativos y

    nulos), mostrar:

    - La cantidad de elementos nulos.

    - La suma de los elementos positivos.

    - El promedio de los elementos positivos.

    - La cantidad de elementos negativos.

    4- Dada una lista en memoria que almacena nmeros se pide agregar un elemento en un

    nodo al principio de la lista. El elemento es un nmero del mismo tipo que los

    componentes de la lista y se debe ingresar por teclado.

    5- dem al anterior pero insertar el elemento al final de la lista.

    6- Se posee en memoria una lista de nmeros ordenada ascendentemente. Se pide

    ingresar un nmero x e insertarlo en la lista de manera que la estructura quede ordenada

    ascendentemente. (Considerar que el elemento a insertar puede ser menor que el

    primero, puede ser menor que un valor que est en el centro de la lista o ser mayor que

    el ltimo). Mostrar toda la estructura, luego de insertar.

    7- Dada la lista en memoria del ejercicio 6- se pide eliminar un elemento que se debe

    ingresar por teclado que se sabe que est en la lista. Considerar las tres situaciones: -

    que sea el primer nodo, - que no sea ni primero ni ltimo y que sea el ltimo nodo de la

    lista.

    8- Dada en memoria dos listas L1 Y L2 que almacenan nmeros se pide UNIR las dos

    listas.

    9- Se pide disear una funcin que utilice listas para verificar si una cadena de

    caracteres es del tipo ABXBA; es decir se debe verificar que la cantidad de As y Bs que

    existen antes de la letra x sean igual a la cantidad de Bs y As que existen despus de la

    letra x, y en ese orden.

    Por ejemplo

    AABBXBBAA es del tipo de la cadena

    AXA es del tipo de la cadena

    AAABBBXBBBAAA es del tipo de la cadena

    ABXBBA no es del tipo de la cadena

  • A l g o r i t m o y E s t r u c t u r a d e D a t o s

    Ing. en Sistemas de Informacin 1 ao Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez

    4

    Las funciones que estn definidas en cada TDA son:

    TDA LISTA:

    Crear Lista

    Insertar Primero

    Insertar Ultimo

    Mostrar Lista

    Limpiar Lista

    Lista Vacia

    Borrar Primero

    Borrar Ultimo

    Borrar Elemento.

    10- Dada en memoria una lista que almacena longitudes de mediciones realizadas de

    viajes de distintos satlites a la luna, desde la tierra, se pide encontrar la menor distancia

    de la lista.

    11- Disear una funcin que, dado un entero i, suprima el elemento i-simo de la lista.

    12- Escribir una funcin que reciba dos listas, que a priori se sabe que son de

    igual longitud, y devuelva la raz cuadrada de la suma de los cuadrados de sus

    componentes.

    Ejercicios Propuestos

    1. Disear funciones para trabajar con listas de enteros capaces de realizar las

    operaciones siguientes:

    a) Aadir un elemento al final de la lista.

    b) Invertir la lista.

    c) Eliminar el primer y el ltimo elemento de la lista.

    d) Formar una lista que contenga los elementos comunes de otras dos.

    e) Insertar un elemento despus del elemento i-simo.

    f) Calcular la media y la desviacin tpica de los elementos de la lista.

    g) Calcular la longitud de la lista en cada momento.

    h) Mover un nodo j, n posiciones ms adelante.

    2. Escrbase una funcin para intercambiar las posiciones p y q de una lista.

    3. Dada una lista de enteros no ordenada, escribir una funcin que:

    (a) Devuelva el mximo elemento.

    (b) Devuelva el promedio de los elementos.

    (c) Devuelva el mdulo (suponiendo la lista un vector de n elementos)

    (d) Elimine los elementos repetidos

  • A l g o r i t m o y E s t r u c t u r a d e D a t o s

    Ing. en Sistemas de Informacin 1 ao Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez

    5

    4- Se posee en memoria dos listas L1 Y L2 que almacena edades de inscriptos en un

    gimnasio deportivo. Las dos estructuras estn ordenadas ascendentemente. Se pide

    armar una sola lista, usando los mismos nodos de manera que la lista armada quede

    ordenada del mismo modo que L1 Y L2.

    5- Dada una lista que se encuentra almacenada en memoria donde cada nodo posee la

    temperatura promedio diaria del mes de junio del corriente ao. Se pide armar tres

    listas:

    - una con los nodos cuya componente sea menor a 0.

    - otra con los nodos cuya componente sea mayor a 10.

    - y la ltima con los nodos cuyas temperaturas se encuentren en el rango 0-9 inclusive.

    6-Disear una funcin que concatene dos listas.