LIGA VENEZOLANA DE BEISBOL
MINIPROYECTO III
Elaborado por:
Carlos Rodríguez
Bárbara Jaspe
MANUAL DE USUARIO
CONTENIDO DE LA PRESENTACIÓN
introducción Objetivos generales y específicos
Red Modular Explicación breve de la red modular
Especificaciones sintáctica y semántica de cada TDA Estructuras del programa
Diseño de la salida Algoritmos pseudo formal con datos de prueba
Conclusiones generales
INTRODUCCIÓN El concepto de tipo de dato abstracto (TDA, Abstract Data Type), fue propuesto por primera vez
hacia 1974por John Guttag y otros, pero no fue hasta 1975 que por primera vez Liskov lo propuso para el lenguaje CLU.
El lenguaje Turbo Pascal fue determinante para la común aceptación de los TDA con la introducción de las Units, si bien estas no cumplen con las características básicas de un Tipo de dato Abstracto como por ejemplo la encapsulación de los datos. El lenguaje Ada pudo implementar exitosamente los TDA con sus Packages. Vale recordar que estos dos últimos lenguajes soportan formalmente la Programación modular.
En el mundo de la programación existen diversos lenguajes que se han ido creando con el paso del tiempo y que se han perfeccionado debido a las necesidades de los programadores de la época a la que pertenecen. Los primeros lenguajes de programación eran de tipo lineal, ya que un programa se recorría desde un punto marcado como Inicio hasta llegar a un punto Fin. Con el tiempo se fueron creando nuevos lenguajes y en nuestros días los más utilizados son los llamados “Orientados a Objetos”.
Los Lenguajes Orientados a Objetos (LOO) tienen la característica de que no son lenguajes lineales, sino que se forman de diversas funciones, las cuales son llamadas en el orden en que el programa mismo las pide o el usuario determina. Para entender mejor cómo funcionan los Lenguajes Orientados a Objetos, vamos a introducir un concepto fundamental en las Estructuras de Datos denominado Abstracción de Datos y que es parte importante de estos Lenguajes y de la manera en que funciona la mayoría del software comercial de nuestros días. Con mucha frecuencia se utilizan los términos TDA y Abstracción de Datos de manera equivalente, y esto es debido a la similitud e interdependencia de ambos. Los Tipos de Datos Abstractos (TDA) son generalizaciones de los tipos de datos primitivos (enteros, reales, etc.), al igual que los procedimientos y funciones son generalizaciones de operaciones primitivas (suma, resta, multiplicación, entre otros). Se enfocan los TDA bajo cuatro aspectos: especificación sintáctica, especificación semántica, selección de la representación en función de los tipos definidos en los lenguajes de programación y las operaciones sobre la representación escogida.
OBJETIVO GENERAL Y OBJETIVO ESPECIFICO
Como objetivo general se pretende aplicar los tipos de datos abstractos en sus diferentes funciones y procedimiento que permitan realizar las listas u otros datos
RED MODULAR0:
estadificas de la liga
venezolana de beisbol
1: Crear
archivo de
equipos
1.1:Insertar equipos
1.2:Guardar
en archivo equipos
2:eliminar equipos
2.1:Actualizar archivo de
equipos
3:modificar Equipos
3.1:Actualizar
archivo de
equipos
4:listar
equipos
4.1:Mostrar
lista
5:Crear
archivo jugador
5.1:Insertar jugador
5.2Guardar
en archivo jugador
6:eliminar jugador
6.1:Actualizar
archivo jugador
7:listar
jugador por
equipo
7.1: Actualizar el archivo
de equipos
8:modificar jugador
8.1:Actualizar
archivojugador
9:cambiar
jugador por equipo uno
a uno
9.1: Actualizar
archivo jugador
9.2:Actualiza archivo equipos
10:Clasificación
general
10.1:Mostrar
clasificación general
EXPLICACIÓN BREVE DE LOS MÓDULOS A continuación se explicara cada uno de los módulos que conforman la red modular del programa, que no es otra cosa que explicar de una breve manera los procesos y sub procesos que conforman el programa y que tendrán como resultado la ejecución del mismo.
Modulo 0: Estadística liga Venezolana de Beisbol este modulo 0 lleva a realizar una serie de procesos a partir de el, cuyos procesos generara una estadística de la liga.
Modulo 1: Crear archivo de equipos: en este modulo se crea el archivo punto dat donde se almacenara la información de los equipos el cual debe ser actualizado con cada operación que se relacione con el mismo.
Modulo 1.1: insertar equipos: en este modulo se ingresan los datos para registrar los equipos que serán guardados en el archivo de equipos.
Modulo 1.2: Guardar en archivos de equipos: en este modulo se guardara la información dada en el correspondiente archivo punto dat.
Modulo 2: Eliminar equipos: en este modulo se procede a eliminar equipos del correspondiente archivo posteriormente de que se realice la búsqueda del equipo, para esto se emplea la función buscar.
Modulo 2.1: Actualizar archivo de equipos: este archivo se actualizara luego de cualquier cambio que se le realice al mismo.
Modulo 3: Modificar equipos: en este campo se procede a ejecutar una serie de acciones que permiten que el registro de equipos sea modificado.
Modulo 3.1: actualizar archivo de equipos: este archivo se actualizara luego de cada modificación lo que permitirá mantener los datos actualizados de los equipos.
Modulo 4: Listar equipos: en este modulo se procede a elaborar la lista de los equipos. Modulo 4.1: Mostrar lista: las operaciones realizadas en este modulo es para mostrar por pantalla la lista de equipos. Modulo 5: Crear archivo Jugadores: en este modulo se procede a crear un archivo punto dat para almacenar la información
de lo jugadores. Modulo 5.1: Insertar jugador: se procede en este modulo a ingresar los datos de los jugadores. Modulo 5.2: Guardar en archivo jugador: luego de haber ingresado los datos se guardan el archivo punto dat
correspondiente.
EXPLICACIÓN BREVE DE LOS MÓDULOS
o Modulo 6: Eliminar archivo jugador: En este modulo se procede a eliminar de la lista a jugadores mediante el procedimiento Eliminar de los TDA posteriormente de haber aplicado la función búsqueda para encontrar el campo que se desea a eliminar.
Modulo 6.1: Actualizar archivo jugador: en este modulo se actualiza el archivo luego de eliminar a los jugadores.
o Modulo 7: listar jugador por equipo: En este modulo se procede a elaborar la lista de jugadores por equipo.
Modulo 7.1: Actualizar archivo de equipo: En este Modulo se procede a actualizar el archivo de equipos mostrando una distribución de los jugadores.
o Modulo 8: Modificar Jugador: en este modulo se emplea el procedimiento Modificar para de esta manera cambiar los datos del jugador.
Modulo 8.1: Actualizar Jugador: este procedimiento se procede a actualizar el archivo Jugador con los datos Modificados.
o Modulo 9: Cambiar jugador por equipo uno a uno: en este modulo se trata de hacer un cruce o redistribución de los equipos que permite cambiar jugadores por equipo de uno en uno.
Modulo 9.1: Actualizar Archivo Jugador: Por consecuencia del modulo 9 se procede a actualizar el archivo jugador dando asi una nueva lista de jugadores con sus respectivos cambios es decir el equipo donde este asignado
Modulo 9.2: Actualizar Archivo equipo: Por consecuencia del modulo 9 se procede a actualizar el archivo equipo.
o Modulo 10: Clasificación General: Se emplean las operaciones necesarias para obtener las estadísticas necesarias para mostrara la clasificación de los 5 mejores equipos
Modulo 10.1: Mostrar Clasificación General: mostrara por pantalla la clasificación general
ESPECIFICACIÓN SINTÁCTICA YSEMÁNTICA Y
SINTÁCTICA DE LAS TDA
ESPECIFICACION SINTACTICA
OPERACIÓN DOMINIO RANGOIngresar equipo equipos x cod lista_equipoEliminar equipo equipos x cod lista_equipoModifica equipo equipos x cod lista_equipoListar equipo equipos lista_equipoIngresar jugador jugadores x cod lista_equipoEliminar jugador jugadores x cod lista_equipoListar jugador jugadores lista_equipoModificar jugador jugadores x cod lista_equipoCambiar jugador jugadores x posicion lista_equipoClasificacion general jugadores x cod lista_equipo
ESPECIFICACION SEMANTICA
Procedimiento ingresar_equipo (var equipos:lista_equipos, cod:integer)Precondicion: buscar (equipos,cod)= final ( equipos)Postcondicion: l=(cod) v l=(l1, l2….)AccionSi l=()L=(cod)SinoSi l=(l1, l2….ln)
Procedimiento eliminar_equipo (var equipos:lista_equipos,cod:integer)Precondicion:
ESTRUCTURA DE PROGRAMA
PARTES PALABRAS RESERVADAS
CABECERA DEL PROGRAMA PROGRAM interfas_miniproyecto;
DECLARACION DE UNIDADES USES crt;
DECLARACION DE TIPOS TYPE
equipo=record
jugador= record
datpicher = record
DECLARACION DE VARIABLES VAR
var
op,i,j,u,a,l,t: integer;
ARCHIVO DE PICHER
archivoJ: file of datpicher;
picher:lista_equipos;
elem:datpicher;
num:integer;
ARCHIVO DE JUGADOR
archivoE:file of jugador;
jugadores:lista_equipos;
elemen:jugador;
equipos: lista_equipos;
element:equipo;
DECLARACION DE SUBPROGRAMAS FUNCION O PROCEDURE
PROCEDURE carga;
PROCEDURE bienvenido;
PROCEDURE bandera;
PROCEDURE menú;
PROCEDURE iut;
PROCEDURE ingresar_picher (var picher:lista_equipos);
PROCEDURE ingresar_jugador (var jugadores:lista_equipos);
PROCEDURE ingresar_equipo(var equipos:lista_equipos);
PROCEDURE eliminar_equipo (var equipos:lista; num:integer;elem:equipo);
PROCEDURE modificar_equipo(var equipos:lista; num:integer;elem:equipo);
PROCEDURE mostrar_equipo (equipos,jugadores:lista_equipos);
PROCEDURE insertar_jugador (jugadores:listas; elemen:jugador);
PROCEDURE eliminar_jugador (var jugadores:listas;num:integer;elemen:jugador);
PROCEDURE mostrar_jugador(elemen:jugador);
PROCEDURE modificar_jugador(var jugadores:listas; num:integer;elemen:jugador);
FUCTION BUSCAR;
CUERPO DEL PROGRAMA BEGIN END Y PUNTO (.)
ALGORITMOS PSEUDO FORMAL CON DATOS DE
PRUEBA
program interfas_miniproyecto; CABECERA DEL PROGRAMA
uses crt; DECLARACION DE UNIDADES
Type DECLARACION DE TPOS
equipo=record
cod : integer; //codigo del equipo
nombre : string[20]; //nombre del equipo
jj : integer; //juegos jugados
jg : integer; //juegos ganados
jp : integer; //juegos perdidos
ave : real; end;
//==============================================================================
jugador= record
cedula : integer; //cedula del jugador
nombre : string[20]; //nombre del jugador
posi:string[5];
hits : integer; //imparables
vb : integer; //veces al bate
ci : integer; //Carreras impulsadas
ca : integer; //Carreras anotadas
br : integer; //Bases Robadas
aver : integer; //Promedio
end;
datpicher = record
ced : integer; //cedula del jugador
nombre : string[20]; //nombre del jugador
il : integer; //innin lanzados
cl : integer; //Carreras limpias
efc : integer; //efectivida
jg : integer; //juegos ganados
so : integer; //ponches
js : integer; //juegos salvados end;
sub_lista=^sub_lis_equipo;
sub_lis_equipo=record
info_equi:equipo;
info_juga:jugador;
info_pich:datpicher;
sig:sub_lista; end;
lista_equipos=sub_lista;
/=============================================================================
Var DECLARACION DE VARIABLES
op,i,j,u,a,l,t: integer;
//=======================================================================
picher:lista_equipos;//
=======================================================================
jugadores:lista_equipos;equipos: lista_equipos;//
============================================================================== //__ ___PROCEDURE MENU________________/
procedure menu; DECLARACION DE SUBPROGRAMAS
Begin (TODOS LOS PROCEDIMIENTOS Y FUNCIONES)
for i:= 25 to 47 doBEGINgotoxy (30,13);textcolor (GREEN);writeln('OPCION A');gotoxy (i,15);textcolor (blue);write(#176);gotoxy (i,16);textcolor (blue);write(#176);gotoxy (i,17);textcolor (blue);write(#176);gotoxy (i,18);textcolor (blue);write(#176);gotoxy (i,19);textcolor (blue);write(#176);gotoxy (29,16);textcolor (white);write('(A)OPERACIONES CON');gotoxy (33,17);textcolor (white);write('LOS EQUIPOS')END;
//_____PROCEDURE INGRESAR EQUIPO_______// En este proceso se procede a ingresar los datos del _______________________________________________________equipo el cual se guardara en el archivo de equipos el mismo que sera recorrido y actualizado según lo indique el usuario la opciones del menu.
procedure ingresar_equipo(var equipos:lista_equipos;cod:integer);varnombre:string[20];aux:lista_equipos;beginclrscr; delay (500);gotoxy(35,3);textcolor(white);write('INSERTAR EQUIPO');for i:= 23 to 29 dofor j:= 55 to 60 dobegin
gotoxy(i,3);textcolor(yellow);write (#17);gotoxy(j,3);textcolor(yellow);write (#17);end;delay(10);textcolor(10);gotoxy (12,10);writeln('A CONTINUACION INGRESE LOS DATOS DEL EQUIPO QUE
DESEA REGISTRAR:');delay(10);textcolor(15);gotoxy (15,14);writeln('CODIGO DEL EQUIPO');gotoxy (45,14);readln(cod);delay(10);textcolor(15);gotoxy (15,16);writeln('NOMBRE DEL EQUIPO');gotoxy (45,16);readln(nombre);
aux:=nil;new(aux);aux^.info_equi.cod:= cod;aux^.info_equi.nombre:= nombre;aux^.sig:= equipos;equipos:= aux;end;
//__PROCEDURE ELIMINAR EQUIPO______// Este procedimiento elimina un equipo
procedure eliminar_equipo(var equipos:lista_equipos;cod:Integer); de igual manera su dominio es elemento x
Var aux,aux1:lista_equipos; posición y recibe una lista esto modificando archivo equipo
Begin
clrscr; delay (500);gotoxy(35,3);textcolor(white);write('ELIMINAR EQUIPO');
for i:= 23 to 29 do
for j:= 55 to 60 do
begin
gotoxy(i,3);textcolor(yellow);write (#17);gotoxy(j,3);textcolor(yellow);write (#17);end; delay(10);textcolor(10);gotoxy (12,10);writeln('A CONTINUACION INGRESE LOS DATOS DEL EQUIPO QUE DESEA ELIMINAR:'); delay(10);textcolor(15);gotoxy (15,14);writeln('CODIGO DEL EQUIPO');gotoxy (40,14);Readln(cod);
If (equipos^.info_equi.cod=cod) then
Begin
equipos:=equipos^.sig;
End
Else
Begin
New(aux); aux:=equipos;New(aux1); aux1:=aux1^.sig;
While (aux1<>NIL) do
Begin
If (aux^.info_equi.cod=cod)then
Begin
aux^.Sig:=aux1^.sig; aux:=aux1^.Sig;aux1:=aux1^.sig;
End Else Begin
aux:=aux^.sig; aux1:=aux1^.sig;End;end;End;
Writeln('ESTA ELIMINADO'); end;
//__________-PROCEDURE MODIFICAR EQUIPO_________/ En este procedimiento se modifica los datos
Procedure modificar_equipo(var equipos:lista_equipos; cod:integer); del equipo y se actualiza el archivo equipo
Varnombre:string[20];Aux:lista_equipos;encontrar:boolean;Beginclrscr; delay (500);gotoxy(35,3);textcolor(white); write('MODIFICAR EQUIPO');for i:= 23 to 29 dofor j:= 55 to 60 dobegingotoxy(i,3);textcolor(yellow);write (#17);gotoxy(j,3);textcolor(yellow);write (#17);end;Aux:=equipos;encontrar:=false;delay(10);textcolor(10);gotoxy (12,10);writeln('A CONTINUACION INGRESE LOS DATOS DEL EQUIPO QUE DESEA
REGISTRAR:');delay(10);textcolor(15);gotoxy (15,12);writeln('CODIGO DEL EQUIPO');gotoxy (45,12);readln(cod);delay(10);textcolor(15);gotoxy (15,14);writeln('NOMBRE DEL EQUIPO:', aux^.info_equi.nombre);delay(10);textcolor(15);gotoxy (15,18);writeln('NOMBRE DEL EQUIPO');gotoxy (45,18);readln(nombre);While (not encontrar) and (aux <> nil) doBeginIf aux^.info_equi.cod = cod thenbeginencontrar:=true;endElsebeginAux:=aux^.sig;End;end; new(aux);aux^.info_equi.cod:= cod; aux^.info_equi.nombre:= nombre; aux^.sig:= equipos; equipos:= aux; end;
//____PROCEDURE MOSTRAR EQUIPO___/ Se procede a mostrar los equipos registrados
en el archivo procedimiento cuyo dominio es
elemento X lista rango devuelve una lista
procedure mostrar_equipo (equipos:lista_equipos);
var
j:integer;
begin
clrscr; delay (500);gotoxy(35,3);textcolor(white); write('LISTAR EQUIPO');
for i:= 23 to 29 do
for j:= 55 to 60 do
begin
gotoxy(i,3);textcolor(yellow);write (#17);
gotoxy(j,3);textcolor(yellow);write (#17);
end;
delay(10);textcolor(10);gotoxy (1,10);writeln('CODIGO EQUIPO ');
While (equipos<>Nil) do
Begin
Writeln(equipos^.info_equi.cod:3, equipos^.info_equi.nombre:13);
equipos:=equipos^.Sig;
Readln;
End;
end;
//__INSERTAR JUGADOR____/ Se procede a insertar un jugador En una posición de memoria el dominio de la misma seria lista x elemento x posición para retorna una lista que actualiza el archivo jugador
procedure ingresar_jugador (var jugadores:lista_equipos;cod:integer);Var j,hits,vb,ci,ca,br,ave:integer; nombre,equi:string[20]; posi:string[5]; auxi:lista_equipos;beginclrscr; delay (500);gotoxy(35,3);textcolor(white);write('INSERTAR JUGADOR');for i:= 23 to 29 dofor j:= 55 to 60 dobegingotoxy(i,3);textcolor(yellow);write (#17);gotoxy(j,3);textcolor(yellow);write (#17);end;delay(10);textcolor(10);gotoxy (12,10);writeln('A CONTINUACION INGRESE LOS DATOS DEL EQUIPO QUE DESEA
REGISTRAR:');delay(10);textcolor(15);gotoxy (15,12);write('CEDULA DEL JUGADOR');gotoxy (40,12);readln(cod);delay(10);textcolor(15);gotoxy (15,14);writeln('NOMBRE DEL JUGADOR');gotoxy (40,14);readln(nombre);delay(10);textcolor(15);gotoxy (15,16);writeln('POSICION');gotoxy (40,16);readln(posi);delay(10);textcolor(15);gotoxy (15,18);writeln('NUMERO DE HITS');gotoxy (40,18);readln(hits);delay(10);textcolor(15);gotoxy (15,20);writeln('VECES AL BATE');gotoxy (40,20);readln(vb);delay(10);textcolor(15);gotoxy (15,22);writeln('CARRERAS IMPULSADAS');gotoxy (40,22);readln(ci);delay(10);textcolor(15);gotoxy (15,24);writeln('CARRERAS ANOTADAS');gotoxy (40,24);readln(ca);delay(10);textcolor(15);gotoxy (15,26);writeln('BASES ROBADAS');gotoxy (40,26);readln(br);delay(10);textcolor(15);gotoxy (15,28);writeln('EQUIPO');gotoxy (40,28);readln(equi);ave:= (hits * vb); new(auxi);auxi^.info_juga.cedula:= cod; auxi^.info_juga.nombre:= nombre; auxi^.info_juga.posi:= posi;auxi^.info_juga.hits:= hits; auxi^.info_juga.vb:= vb; auxi^.info_juga.ci:= ci;auxi^.info_juga.ca:= ca; auxi^.info_juga.br:= br;auxi^.info_juga.aver:= ave;auxi^.info_juga.equipo:= equi;auxi^.sig:= jugadores;jugadores:= auxi;end;
//____PROCEDURE ELIMINAR JUGADOR________/ Este procedimiento elimina un jugador
procedure eliminar_jugador (var jugadores:lista_equipos;cod:integer); de una posición de memoria
Var actualizando así la lista y el archivo jugador
auxi,auxi1:lista_equipos; teniendo como dominio elemento x posición
lbegin y obteniendo una lista
clrscr; delay (500);gotoxy(35,3);textcolor(white); write('ELIMINAR JUGADOR');
for i:= 23 to 29 do
for j:= 55 to 60 do
begin
gotoxy(i,3);textcolor(yellow);write (#17);gotoxy(j,3);textcolor(yellow);write (#17);end;
delay(10);textcolor(10);gotoxy (12,10);writeln('A CONTINUACION INGRESE LOS DATOS DEL EQUIPO QUE DESEA ELIMINAR:');
delay(10);textcolor(15);gotoxy (15,14);writeln('CODIGO DEL EQUIPO');gotoxy (40,14);
Readln(cod);
If (jugadores^.info_juga.cedula=cod) then
Begin
jugadores:=jugadores^.sig;
End Else Begin New(auxi); auxi:=equipos; New(auxi1); auxi1:=auxi1^.sig;
While (auxi1<>NIL) do
Begin
If (auxi^.info_juga.cedula=cod)then
Begin auxi^.Sig:=auxi1^.sig; auxi:=auxi1^.Sig; auxi1:=auxi1^.sig; End
Else
Begin
auxi:=auxi^.sig; auxi1:=auxi1^.sig;
End; end;End; Writeln('ESTA ELIMINADO');
end;
/___PROCEDURE MOSTRAR JUGADOR___/ Se procede a mostrar los jugadores registrados
en el archivo procedimiento cuyo dominio es
elemento X lista rango devuelve una lista
procedure mostrar_jugador( jugadores:lista_equipos) ;
begin
clrscr; delay (500);gotoxy(35,3);textcolor(white); write('LISTAR JUGADORES');
for i:= 23 to 29 do
for j:= 55 to 60 do
begin
gotoxy(i,3);textcolor(yellow);write (#17);
gotoxy(j,3);textcolor(yellow);write (#17);
end;
delay(10);textcolor(10);gotoxy (1,10);writeln('CEDULA NOMBRE POS H VB CI CA BR AVE EQUIPO');
While (jugadores<>Nil) do
Begin
Writeln(jugadores^.info_juga.cedula:3, jugadores^.info_juga.nombre:10,jugadores^.info_juga.posi:10,jugadores^.info_juga.hits:10,jugadores^.info_juga.vb:10,jugadores^.info_juga.ci:10,jugadores^.info_juga.ca:10,jugadores^.info_juga.br:10,jugadores^.info_juga.aver:8,'.',jugadores^.info_juga.equipo:5 );
jugadores:=jugadores^.Sig;
Readln;
End;
end;
//_____PROGRAMA PRINCIPAL___/ CUERPO O PROGRAMA PRINCIPALBEGIN // BEGIN PRINCIPAL CASE Y LLAMADAS AL
PROCEDIMIENTOcarga;textbackground(8); (*-----color de fondo de la pantalla-*)clrscr; (*limpia la pantalla*)iut; bienvenido; bandera;readkey;clrscr; (*limpia la pantalla*)Repeat bandera;iut; menu;case op2 of1:begin ingresar_equipo(equipos,cod);end; 2:begin eliminar_equipo(equipos,cod);end;3:begin modificar_equipo(equipos,cod);end; 4:begin mostrar_equipo(equipos);end;5:begin ingresar_jugador(jugadores,cod);end; 6:begin eliminar_jugador(jugadores,cod);end;7:begin mostrar_jugador(jugadores);end; 8:begin modificar_jugador(jugadores,cod);end;9: beginclrscr; delay (500);gotoxy(35,3);textcolor(white); write('CAMBIAR JUGADOR POR EQUIPO UNO A UNO');for i:= 23 to 29 dofor j:= 55 to 60 dobegingotoxy(i,3);textcolor(yellow);write (#17);gotoxy(j,3);textcolor(yellow);write (#17);end;CLRSCR;writeln('LO
SENTIMOS ESTA OPCION NO ES VALIDA POR LOS MOMENTOS');end; 10: begin clrscr; delay (500);gotoxy(35,3);textcolor(white); write('CLASIFICACION GENERAL');for i:= 23 to 29 dofor j:= 55 to 60 dobegingotoxy(i,3);textcolor(yellow);write (#17);gotoxy(j,3);textcolor(yellow);write (#17);end;CLRSCR; writeln('LO SENTIMOS ESTA OPCION NO ES VALIDA POR LOS MOMENTOS'); end;;
PANTALLA 1: INICIO O BIENVENIDA
PATALLA 2: MENU DE DOS OPCIONES
PANTALLA 3: SUB MENU EQUIPO
PANTALLA 4 : SUB MENU INSERTAR EQUIPO
PANTALLA 5 :SUB MENU ELIMINAR EQUIPO
PANTALLA 6: SUB MENU MODIFICAR EQUIPO
PANTALLA 7: SUB MENU MOSTRAR EQUIPOS
PANTALLA 8:SUB MENU JUGADORES
PANTALLA 9: SUBMENU INSERTAR JUGADOR
PANTALLA 10: SUB MENU ELMINAR JUGADOR
PANTALLA 11: SUBMENU MODIFICAR JUGADOR
PANTALLA 12: SUB MENU LISTA JUGADORES
CONCLUSIONES Un TDA es un tipo de dato definido por el programador que se puede manipular de un modo similar a
los tipos de datos definidos por el sistema.
Está formado por un conjunto válido de elementos y un número de operaciones primitivas que se pueden realizar sobre ellos Un TDA es el elemento básico de la abstracción de datos. Su
desarrollo es independiente del lenguaje de programación
utilizado, aunque este puede aportar mecanismos que faciliten
su realización.