SlideShare una empresa de Scribd logo
1 de 12
INTRODUCCION


En este trabajo vamos a utilizar tres tipos de estructuras lineales el tipo cola: Una cola es una
estructura de datos, caracterizada por ser una secuencia de elementos en la que la
operación de inserción push se realiza por un extremo y la operación de extracción pop por el
otro. También se le llama estructura FIFO (del inglés First In FirstOut), debido a que el primer
elemento en entrar será también el primero en salir.
Las colas se utilizan en sistemas informáticos, transportes y operaciones de investigación
(entre otros), dónde los objetos, personas o eventos son tomados como datos que se
almacenan y se guardan mediante colas para su posterior procesamiento. Este tipo de
estructura de datos abstracta se implementa en lenguajes orientados a objetos mediante
clases, en forma de listas enlazadas.

Y la estructura de de listas enlazadas o doblemente enlazadas son: una lista enlazada es
una de las estructuras de datos fundamentales, y puede ser usada para implementar otras
estructuras de datos. Consiste en una secuencia de nodos, en los que se guardan campos
de datos arbitrarios y una o dos referencias (punteros) al nodo anterior y/o posterior.
OBJETIVOS



 Fundamentar la aplicación de las estructuras lineales pilas, colas, en situaciones
  reales haciendo uso de la representación de las listas por medio de apuntadores.
 Fundamentar la aplicación de las estructuras lineales: listas enlazadas y listas
  doblemente enlazadas, en situaciones reales haciendo uso de la representación de las
  listas por medio de apuntadores.
Actividad a realizar




1. Para lo cual es necesario iniciar con el desarrollo del planteamiento del problema o
   supuesto semántico que de aplicabilidad a una situación real del entorno y que pueda ser
   solucionado a través de una Lista enlazada, para ello se debe tener claro la
   conceptualización de las listas enlazadas; posteriormente realizar un listado de
   requerimientos, a lo que se conoce como captura de requerimientos para el desarrollo de
   software (se recomienda hacer una consulta del tema); Posteriormente se debe realizar
   un listado de recursos a utilizar tales como (Variables, constantes, funciones u
   operadores para la gestión de memoria, apuntadores, funciones para ser manejadas con
   las opciones del menú, entre otros).



Supuesto semántico:



La biblioteca de la UNAD desea llevar el registro de los estudiantes que la ingresan y que
adquieren el prestamos de un libro, de los estudiantes se desea saber (Nombre, Apellido,
COD, Carrera, Semestre, Hora del préstamo), cuando piden el préstamo se debe anotar del
(Nombre, Temática, ID), cuando el estudiante entrega el libro se debe eliminar de la lista, si
alguien desea saber si ese libro esta disponible la lista debe tener la posibilidad de saber si el
libro esta prestado.


2. El programa a implementar deberá cumplir con los siguientes requerimientos:


    Una opción de una Portada: que incluya datos básicos como:(Nombre de la
     Universidad, el texto del supuesto semántico es decir lo que hace el programa, el
     nombre de los integrantes del grupo (solo incluir a quienes realmente aportaron al
     desarrollo del trabajo), nombre del grupo colaborativo, nombre del tutor y la fecha).
    Una opción para Insertar registros a la Lista (La inserción de elementos debe permitir
     insertar al inicio, en el intermedio de la lista o al final de la lista)
    Una opción para Visualizar los registros de la lista
    Una opción para Eliminar o suprimir registros de la lista
    Una opción para Buscar un dato en la lista
    Una opción para Salir del programa


    #include <stdio.h>
#include <conio.h>
#include <stdlib.h>

structbiblio{
   char libro[15];
   charcod[10];
   char nombre[30];
   char apellido[20];
char cc[20];
chartel[12];
charcarr[30];
charsemes[15];
charhrpre[20];
char tema[30];
   structbiblio *sig;
structbiblio *ant;
}*cab=NULL, *fin=NULL, *p=NULL;



voidmenu();
void portada();
void insertar();
void eliminar();
void visualizar();
voidlibros();
voidbuscar();

void main(){
  clrscr();
menu();
}

voidmenu(){
  clrscr();
  printf("tGESTROR DE PRESTAMOS DE LIBROS DE LA BIBLIOTECA
UNADnnn");
  intop=0;
  do{
         clrscr();
         printf("------MENU DE OCIONES------nn");
         printf("1- PORTADA");
         printf("n2- INSERTAR USUARIO");
         printf("n3- VISUALIZAR USUARIOS");
         printf("n4- ELIMINAR DEL REGISTRO A UN USUARIO");
         printf("n5- BUSCAR DISPONIOBILIDAD DEL LIBRO");
         printf("n6- SALIR DEL GESTOR");
printf("nnnINGRESE LA ACCION QUE DESEA HACER: ");
        scanf("%d",&op);
        switch(op){
               case 1: portada();
                      break;
               case 2: insertar();
  getch();
                      break;
               case 3: visualizar();
  getch();
                      break;
               case 4: eliminar();
  getch();
                      break;
               case 5: buscar();
  getch();
                      break;
        }

   }while(op!=6);
clrscr();
   printf("GRACIAS POR USAR LA APLICACION");
   getch();
}

void portada(){
   clrscr();
   printf("tt------------PORTADA------------nn");
   printf("tttTRABAJO COLABORATIVO 1nn");
   printf("tttPRENSENTADO POR:ntttJHON SEBASTIAN SEPULVEDA
NOMESQUEn");
   printf("tttRUBY ALEJANDRA SUAREZntttMANUEL ALBERTO
CIFUENTESnn");
printf("tttSUPUESTO SEMANTICOnn");
   printf("La biblioteca de la UNAD desea llevar el registro de los estudiantesn");
   printf("que la ingresan y que adquieren el prestamos de un libro,de los n");
   printf("estudiantes se desea saber (Nombre, Apellido, COD, Carrera,
Semestre,n");
   printf("Hora del préstamo),cuando piden el préstamo se debe anotar del
libron");
   printf("(Nombre, Temática, ID), cuando el estudiante entrega el libro se debe n");
   printf("eliminar de la lista,si alguien desea saber si ese libro esta disponible n");
   printf("la lista debe tener la posibilidad de saber si el libro esta prestado.");
   getch();
}

voidinsertar(){
clrscr();
   p=(structbiblio *)malloc(sizeof(structbiblio)); //reservamosmemoria
   if(p==NULL)
          printf("UPS!!! NO HAY MEMORIA SUFICIENTE");
   printf("Nombre del Estudiante: ");
   scanf("%s",p->nombre);
   printf("Apellidos del estudiante: ");
   scanf("%s",p->apellido);
   printf("Carrera: ");
   scanf("%s",p->carr);
   printf("Numero de cedula: ");
   scanf("%s",p->cc);
   printf("Semestre Cursado: ");
   scanf("%s",p->semes);
   printf("Mire la siguiente lista y anote el nombre segun aparece en ella con su
Referencia");
   printf("Nombre del libro: ");
   scanf("%s",p->libro);
   printf("Numero de Referencia del Libro: ");
   scanf("%s",p->cod);
   printf("Hora de prestamo: ");
   scanf("%s",p->hrpre);
   p->sig=NULL;       //el campo siguiente va a ser null por ser el ultimo elemento
   if(cab==NULL){
          cab=p;
fin=p;
   }else{
          fin->sig=p;
fin=p;
   }
}

void visualizar(){}
void eliminar(){}
void buscar(){}
void libros(){
  clrscr();
  printf("tNOMBRE DEL LIBRO------REFERENCIAnnn");
  printf("tPROGRAMACION ESTRUCTURADA------104.9n");
  printf("tBIOLOGIA BASICA 1------189.8n");
  printf("tELECTRONICA Y TECNOLOGIA------123.7n");
  printf("tINFORMATICA BASICA------234.6n");
  printf("tARQUITECTURA DE COMPUTADORES 1------345.5n");
  printf("tALGEBRA LINEAL------143.4n");
  printf("tALGEBRA DE BALDOR------453.6n");
}
3.Aporte Individual Como aporte individual dentro del trabajo, cada integrante del grupo
además de lo anterior se va encargar de la documentación o explicación de cada linea de
código de una de estas anteriores funciónes, es decir que el grupo se repartan la explicación
de las funciones (visualizar, insertar, eliminar, buscar y la función main()) y esta explicación
se debe anexar en el documento de Word como se explica más adelante.



Listas Enlazadas

Recorrido

Definición:

Recorrido simplemente despliega los datos almacenados en el arreglo Info, con ayuda de un
segundo arreglo llamado Indice el cual guarda el orden en el que encuentran enlazados cada
uno de los datos.



Explicación:

Apuntador toma el valor de Inicio, después ve si la condición cumple para efectuar un Ciclo
mientras Apuntador sea diferente de 0, si cumple lo que hace es que despliega la
Info[Apuntador], después Apuntador toma el valor de Indice[Apuntador] (El cual nos indica el
siguiente nodo que sigue en la lista) y hace esto hasta que Apuntador sea igual a 0 (Cuando
llega a este punto a llegado al fin de la Lista Enlazada).




Las operaciones que podemos realizar sobre una lista enlazada son las siguientes:

     Recorrido. Esta operación consiste en visitar cada uno de los nodos que forman la lista
     . Para recorrer todos los nodos de la lista, se comienza con el primero, se toma el valor
     del campo liga para avanzar al segundo nodo, el campo liga de este nodo nos dará la
     dirección del tercer nodo, y así sucesivamente.


       Algoritmo:
Recorrido(Inicio, Info, Indice)
     Apuntador ←- Inicio
     Repetir mientras Apuntador ≠ Nill
     Imprimir Info[Apuntador]
     Apuntador ←- Indice[Apuntador]
     Fin del ciclo
     Salir




    Inserción. Esta operación consiste en agregar un nuevo nodo a la lista. Para esta
    operación se pueden considerar tres casos:
        Insertar un nodo al inicio.
        Insertar un nodo antes o después de cierto nodo.
        Insertar un nodo al final.



Algoritmo:


     InsPr(Inicio, Disp, Info, Indice, Elemento)
     Si Disp ≠ Nill entonces:
     Apuntador ←- Disp
     Disp ←- Indice[Disp]
     Info[Apuntador] ←- Elemento
     Indice[Apuntador] ←- Inicio
     Inicio ←- Apuntador
     Si no:
     Imprimir “SobreCarga”
     Salir




    Borrado. La operación de borrado consiste en quitar un nodo de la lista, redefiniendo
    las ligas que correspondan. Se pueden presentar cuatro casos:
        Eliminar el primer nodo.
   Eliminar el último nodo.
            Eliminar un nodo con cierta información.
            Eliminar el nodo anterior o posterior al nodo cierta con información.



Algoritmo:

EliBusq(Inicio, Info, Indice, Elemento)

Temp ←- Inicio

Si Temp = Nill

Imprimir “Lista Vacia… Imposible Eliminar” y Retornar

Repetir mientras Temp ≠ Nill

Si Elemento = Info[Temp] entonces:

Si Temp = Inicio entonces:

Inicio ←- Indice[Inicio]

Si no:

Indice[Temp2] ←- Indice[Temp]

Indice[Temp] ß Disp

Disp ←- Temp

Recorrido(Inicio, Info, Indice) y Retornar

Si no:

Temp2 ←- Temp

Temp ←- Indice[Temp]

Imprimir “Dato no encontrado… Imposible Eliminar” y Retornar
Búsqueda. Esta operación consiste en visitar cada uno de los nodos, tomando al
     campo liga como puntero al siguiente nodo a visitar




Algoritmo:



Recorrido(Inicio, Info, Indice, Elemento)

Apuntador ←- Inicio

Repetir mientras Apuntador ≠ Nill

Si Elemento = Info[Apuntador] entonces:

Imprimir Info[Apuntador]

Regresa Apuntador

Apuntador ←- Indice[Apuntador]

Fin del ciclo

Regresar Apuntador
ANEXOS
Trabajo colaborativo2

Más contenido relacionado

La actualidad más candente

La actualidad más candente (14)

Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Datos
DatosDatos
Datos
 
Trabajo de visual basic
Trabajo de visual basicTrabajo de visual basic
Trabajo de visual basic
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
Estructura de datos Pilas, Colas y Listas.
Estructura de datos Pilas, Colas y Listas.Estructura de datos Pilas, Colas y Listas.
Estructura de datos Pilas, Colas y Listas.
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colas
 
AMBIENTE DE TRABAJO EXCEL
AMBIENTE DE TRABAJO EXCEL AMBIENTE DE TRABAJO EXCEL
AMBIENTE DE TRABAJO EXCEL
 
Manual de isatis
Manual de isatisManual de isatis
Manual de isatis
 
Estructura de Datos (LISTAS, COLAS, PILAS)
Estructura de Datos (LISTAS, COLAS, PILAS)Estructura de Datos (LISTAS, COLAS, PILAS)
Estructura de Datos (LISTAS, COLAS, PILAS)
 
Estructura de datos I pilas
Estructura de datos I pilasEstructura de datos I pilas
Estructura de datos I pilas
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Presentacion De Cola
Presentacion De ColaPresentacion De Cola
Presentacion De Cola
 
Comando ddl
Comando ddlComando ddl
Comando ddl
 

Similar a Trabajo colaborativo2

Temas programacion java_2
Temas programacion java_2Temas programacion java_2
Temas programacion java_2Wally IG
 
Estructura de datos
Estructura de datos Estructura de datos
Estructura de datos jarydr18
 
Sesion n°1 estructura de datos
Sesion n°1 estructura de datosSesion n°1 estructura de datos
Sesion n°1 estructura de datosJosé Braganza
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datoscharlezgt
 
Presentacion sobre Listas Enlazadas en C++.ppt
Presentacion sobre Listas Enlazadas en C++.pptPresentacion sobre Listas Enlazadas en C++.ppt
Presentacion sobre Listas Enlazadas en C++.pptLucasTula1
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasMaxDLeon
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
GuíA De PráCtica 2
GuíA De PráCtica 2GuíA De PráCtica 2
GuíA De PráCtica 2louis
 
Programación II_modulo1lolololololo9oo.pptx
Programación II_modulo1lolololololo9oo.pptxProgramación II_modulo1lolololololo9oo.pptx
Programación II_modulo1lolololololo9oo.pptxhassanbadredun
 
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdfSesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdfMarxx4
 
Listas, pilas & colas
Listas, pilas & colasListas, pilas & colas
Listas, pilas & colasjorgeluis0317
 
Trabajos de Estructura de Datos
Trabajos de Estructura de DatosTrabajos de Estructura de Datos
Trabajos de Estructura de Datoscarpiop
 
Santiago lópez
Santiago lópezSantiago lópez
Santiago lópezcarpiop
 

Similar a Trabajo colaborativo2 (20)

Temas programacion java_2
Temas programacion java_2Temas programacion java_2
Temas programacion java_2
 
Estructura de datos
Estructura de datos Estructura de datos
Estructura de datos
 
Sesion n°1 estructura de datos
Sesion n°1 estructura de datosSesion n°1 estructura de datos
Sesion n°1 estructura de datos
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Presentacion sobre Listas Enlazadas en C++.ppt
Presentacion sobre Listas Enlazadas en C++.pptPresentacion sobre Listas Enlazadas en C++.ppt
Presentacion sobre Listas Enlazadas en C++.ppt
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
C++
C++C++
C++
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Cplus
CplusCplus
Cplus
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
GuíA De PráCtica 2
GuíA De PráCtica 2GuíA De PráCtica 2
GuíA De PráCtica 2
 
Modelo Dinamico
Modelo DinamicoModelo Dinamico
Modelo Dinamico
 
Programación II_modulo1lolololololo9oo.pptx
Programación II_modulo1lolololololo9oo.pptxProgramación II_modulo1lolololololo9oo.pptx
Programación II_modulo1lolololololo9oo.pptx
 
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdfSesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
 
ESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADASESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADAS
 
Listas, pilas & colas
Listas, pilas & colasListas, pilas & colas
Listas, pilas & colas
 
Trabajos de Estructura de Datos
Trabajos de Estructura de DatosTrabajos de Estructura de Datos
Trabajos de Estructura de Datos
 
Santiago lópez
Santiago lópezSantiago lópez
Santiago lópez
 

Último

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 

Último (20)

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 

Trabajo colaborativo2

  • 1. INTRODUCCION En este trabajo vamos a utilizar tres tipos de estructuras lineales el tipo cola: Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In FirstOut), debido a que el primer elemento en entrar será también el primero en salir. Las colas se utilizan en sistemas informáticos, transportes y operaciones de investigación (entre otros), dónde los objetos, personas o eventos son tomados como datos que se almacenan y se guardan mediante colas para su posterior procesamiento. Este tipo de estructura de datos abstracta se implementa en lenguajes orientados a objetos mediante clases, en forma de listas enlazadas. Y la estructura de de listas enlazadas o doblemente enlazadas son: una lista enlazada es una de las estructuras de datos fundamentales, y puede ser usada para implementar otras estructuras de datos. Consiste en una secuencia de nodos, en los que se guardan campos de datos arbitrarios y una o dos referencias (punteros) al nodo anterior y/o posterior.
  • 2. OBJETIVOS  Fundamentar la aplicación de las estructuras lineales pilas, colas, en situaciones reales haciendo uso de la representación de las listas por medio de apuntadores.  Fundamentar la aplicación de las estructuras lineales: listas enlazadas y listas doblemente enlazadas, en situaciones reales haciendo uso de la representación de las listas por medio de apuntadores.
  • 3. Actividad a realizar 1. Para lo cual es necesario iniciar con el desarrollo del planteamiento del problema o supuesto semántico que de aplicabilidad a una situación real del entorno y que pueda ser solucionado a través de una Lista enlazada, para ello se debe tener claro la conceptualización de las listas enlazadas; posteriormente realizar un listado de requerimientos, a lo que se conoce como captura de requerimientos para el desarrollo de software (se recomienda hacer una consulta del tema); Posteriormente se debe realizar un listado de recursos a utilizar tales como (Variables, constantes, funciones u operadores para la gestión de memoria, apuntadores, funciones para ser manejadas con las opciones del menú, entre otros). Supuesto semántico: La biblioteca de la UNAD desea llevar el registro de los estudiantes que la ingresan y que adquieren el prestamos de un libro, de los estudiantes se desea saber (Nombre, Apellido, COD, Carrera, Semestre, Hora del préstamo), cuando piden el préstamo se debe anotar del (Nombre, Temática, ID), cuando el estudiante entrega el libro se debe eliminar de la lista, si alguien desea saber si ese libro esta disponible la lista debe tener la posibilidad de saber si el libro esta prestado. 2. El programa a implementar deberá cumplir con los siguientes requerimientos:  Una opción de una Portada: que incluya datos básicos como:(Nombre de la Universidad, el texto del supuesto semántico es decir lo que hace el programa, el nombre de los integrantes del grupo (solo incluir a quienes realmente aportaron al desarrollo del trabajo), nombre del grupo colaborativo, nombre del tutor y la fecha).  Una opción para Insertar registros a la Lista (La inserción de elementos debe permitir insertar al inicio, en el intermedio de la lista o al final de la lista)  Una opción para Visualizar los registros de la lista  Una opción para Eliminar o suprimir registros de la lista  Una opción para Buscar un dato en la lista  Una opción para Salir del programa #include <stdio.h>
  • 4. #include <conio.h> #include <stdlib.h> structbiblio{ char libro[15]; charcod[10]; char nombre[30]; char apellido[20]; char cc[20]; chartel[12]; charcarr[30]; charsemes[15]; charhrpre[20]; char tema[30]; structbiblio *sig; structbiblio *ant; }*cab=NULL, *fin=NULL, *p=NULL; voidmenu(); void portada(); void insertar(); void eliminar(); void visualizar(); voidlibros(); voidbuscar(); void main(){ clrscr(); menu(); } voidmenu(){ clrscr(); printf("tGESTROR DE PRESTAMOS DE LIBROS DE LA BIBLIOTECA UNADnnn"); intop=0; do{ clrscr(); printf("------MENU DE OCIONES------nn"); printf("1- PORTADA"); printf("n2- INSERTAR USUARIO"); printf("n3- VISUALIZAR USUARIOS"); printf("n4- ELIMINAR DEL REGISTRO A UN USUARIO"); printf("n5- BUSCAR DISPONIOBILIDAD DEL LIBRO"); printf("n6- SALIR DEL GESTOR");
  • 5. printf("nnnINGRESE LA ACCION QUE DESEA HACER: "); scanf("%d",&op); switch(op){ case 1: portada(); break; case 2: insertar(); getch(); break; case 3: visualizar(); getch(); break; case 4: eliminar(); getch(); break; case 5: buscar(); getch(); break; } }while(op!=6); clrscr(); printf("GRACIAS POR USAR LA APLICACION"); getch(); } void portada(){ clrscr(); printf("tt------------PORTADA------------nn"); printf("tttTRABAJO COLABORATIVO 1nn"); printf("tttPRENSENTADO POR:ntttJHON SEBASTIAN SEPULVEDA NOMESQUEn"); printf("tttRUBY ALEJANDRA SUAREZntttMANUEL ALBERTO CIFUENTESnn"); printf("tttSUPUESTO SEMANTICOnn"); printf("La biblioteca de la UNAD desea llevar el registro de los estudiantesn"); printf("que la ingresan y que adquieren el prestamos de un libro,de los n"); printf("estudiantes se desea saber (Nombre, Apellido, COD, Carrera, Semestre,n"); printf("Hora del préstamo),cuando piden el préstamo se debe anotar del libron"); printf("(Nombre, Temática, ID), cuando el estudiante entrega el libro se debe n"); printf("eliminar de la lista,si alguien desea saber si ese libro esta disponible n"); printf("la lista debe tener la posibilidad de saber si el libro esta prestado."); getch(); } voidinsertar(){
  • 6. clrscr(); p=(structbiblio *)malloc(sizeof(structbiblio)); //reservamosmemoria if(p==NULL) printf("UPS!!! NO HAY MEMORIA SUFICIENTE"); printf("Nombre del Estudiante: "); scanf("%s",p->nombre); printf("Apellidos del estudiante: "); scanf("%s",p->apellido); printf("Carrera: "); scanf("%s",p->carr); printf("Numero de cedula: "); scanf("%s",p->cc); printf("Semestre Cursado: "); scanf("%s",p->semes); printf("Mire la siguiente lista y anote el nombre segun aparece en ella con su Referencia"); printf("Nombre del libro: "); scanf("%s",p->libro); printf("Numero de Referencia del Libro: "); scanf("%s",p->cod); printf("Hora de prestamo: "); scanf("%s",p->hrpre); p->sig=NULL; //el campo siguiente va a ser null por ser el ultimo elemento if(cab==NULL){ cab=p; fin=p; }else{ fin->sig=p; fin=p; } } void visualizar(){} void eliminar(){} void buscar(){} void libros(){ clrscr(); printf("tNOMBRE DEL LIBRO------REFERENCIAnnn"); printf("tPROGRAMACION ESTRUCTURADA------104.9n"); printf("tBIOLOGIA BASICA 1------189.8n"); printf("tELECTRONICA Y TECNOLOGIA------123.7n"); printf("tINFORMATICA BASICA------234.6n"); printf("tARQUITECTURA DE COMPUTADORES 1------345.5n"); printf("tALGEBRA LINEAL------143.4n"); printf("tALGEBRA DE BALDOR------453.6n"); }
  • 7. 3.Aporte Individual Como aporte individual dentro del trabajo, cada integrante del grupo además de lo anterior se va encargar de la documentación o explicación de cada linea de código de una de estas anteriores funciónes, es decir que el grupo se repartan la explicación de las funciones (visualizar, insertar, eliminar, buscar y la función main()) y esta explicación se debe anexar en el documento de Word como se explica más adelante. Listas Enlazadas Recorrido Definición: Recorrido simplemente despliega los datos almacenados en el arreglo Info, con ayuda de un segundo arreglo llamado Indice el cual guarda el orden en el que encuentran enlazados cada uno de los datos. Explicación: Apuntador toma el valor de Inicio, después ve si la condición cumple para efectuar un Ciclo mientras Apuntador sea diferente de 0, si cumple lo que hace es que despliega la Info[Apuntador], después Apuntador toma el valor de Indice[Apuntador] (El cual nos indica el siguiente nodo que sigue en la lista) y hace esto hasta que Apuntador sea igual a 0 (Cuando llega a este punto a llegado al fin de la Lista Enlazada). Las operaciones que podemos realizar sobre una lista enlazada son las siguientes: Recorrido. Esta operación consiste en visitar cada uno de los nodos que forman la lista . Para recorrer todos los nodos de la lista, se comienza con el primero, se toma el valor del campo liga para avanzar al segundo nodo, el campo liga de este nodo nos dará la dirección del tercer nodo, y así sucesivamente. Algoritmo:
  • 8. Recorrido(Inicio, Info, Indice) Apuntador ←- Inicio Repetir mientras Apuntador ≠ Nill Imprimir Info[Apuntador] Apuntador ←- Indice[Apuntador] Fin del ciclo Salir Inserción. Esta operación consiste en agregar un nuevo nodo a la lista. Para esta operación se pueden considerar tres casos:  Insertar un nodo al inicio.  Insertar un nodo antes o después de cierto nodo.  Insertar un nodo al final. Algoritmo: InsPr(Inicio, Disp, Info, Indice, Elemento) Si Disp ≠ Nill entonces: Apuntador ←- Disp Disp ←- Indice[Disp] Info[Apuntador] ←- Elemento Indice[Apuntador] ←- Inicio Inicio ←- Apuntador Si no: Imprimir “SobreCarga” Salir Borrado. La operación de borrado consiste en quitar un nodo de la lista, redefiniendo las ligas que correspondan. Se pueden presentar cuatro casos:  Eliminar el primer nodo.
  • 9. Eliminar el último nodo.  Eliminar un nodo con cierta información.  Eliminar el nodo anterior o posterior al nodo cierta con información. Algoritmo: EliBusq(Inicio, Info, Indice, Elemento) Temp ←- Inicio Si Temp = Nill Imprimir “Lista Vacia… Imposible Eliminar” y Retornar Repetir mientras Temp ≠ Nill Si Elemento = Info[Temp] entonces: Si Temp = Inicio entonces: Inicio ←- Indice[Inicio] Si no: Indice[Temp2] ←- Indice[Temp] Indice[Temp] ß Disp Disp ←- Temp Recorrido(Inicio, Info, Indice) y Retornar Si no: Temp2 ←- Temp Temp ←- Indice[Temp] Imprimir “Dato no encontrado… Imposible Eliminar” y Retornar
  • 10. Búsqueda. Esta operación consiste en visitar cada uno de los nodos, tomando al campo liga como puntero al siguiente nodo a visitar Algoritmo: Recorrido(Inicio, Info, Indice, Elemento) Apuntador ←- Inicio Repetir mientras Apuntador ≠ Nill Si Elemento = Info[Apuntador] entonces: Imprimir Info[Apuntador] Regresa Apuntador Apuntador ←- Indice[Apuntador] Fin del ciclo Regresar Apuntador