SlideShare una empresa de Scribd logo
1 de 17
Algorítmica y Programación Registros en Ada Vectores de Registros
Registros en Ada Declaración de tipo registro type  <nombre del tipo>  is record   <nombre de campo 1> : <tipo de dato 1>; <nombre de campo 2> : <tipo de dato 2>;   …   <nombre de campo N> : <tipo de dato N>; end record ; Un record se define con la palabra &quot;record&quot;, seguida de la declaración de los campos del record y &quot;end record&quot;.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Registros en Ada
type   t_fecha  is   record dia:integer  range   1..31; mes:string (1..10); anio:integer; end record ; nacimiento: t_fecha; fecha_fija:  constant  t_fecha:= (dia => 01, mes =>  &quot; Enero  &quot;,  anio => 2011); Se pueden especificar valores iniciales para los campos de un record en la propia definición del tipo. Por ejemplo: type   t_fecha  is record dia:integer  range   1..31 ; mes:string (1..10)  := ( others  => ' '); anio:integer := 2011 ; end record ; Ejemplo 1:
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],El acceso a los valores
-- otra forma de declarar tipo fecha type   t_mes  is  (ene,feb,mar,abr,may,jun,jul,ago,sep,oct,nov,dic); type   t_fecha  is record dia : integer  range   1..31 ; mes : t_mes; anio : integer:= 2010; end record ; descubrimiento  :  constant   t_fecha ( 12  ,oct,  1492 ); ayer,hoy  : t_fecha; Ejemplo 2:
type t_persona  is   record  nombre : cadena25; dni  : cadena8; domicilio  : cadena25; cursadas  : vector30; finales  : vector30; end record ; alumno, auxiliar, egresado : t_persona; ……………… .. alumno.dni:=“10800854”; egresado.finales:=(9.0,8.0,7.0,8.0,6.0,8.0, 9.0,8.0,7.0,8.0,6.0,8.0, 9.0,8.0,7.0, 9.0,8.0,7.0,8.0,6.0,8.0, 9.0,8.0,7.0,8.0,6.0,8.0, 9.0,8.0,7.0); alumno.cursadas:=( others  =>6.0); Ejemplo 3: En las siguientes dos diapositivas veremos el código fuente del Programa_ejemplo Programa ejemplo
 
 
Vector de registros Podemos agrupar registros por medio de un arreglo, el cual puede ser de cualquier tipo simple de datos (entero, flotante, caracter, etc. ) o tipos compuestos (registros,  arreglos) Teniendo en cuenta la declaración de tipo siguiente y nuevas variables veremos como manipular un  arreglo  de  registros .  Tipos T_registro =  registro Campo1: T_dato1 Campo2: T_dato2 FinRegistro Variables VariableRegistro : T_registro ArregloRegistro:  arreglo  (30) de T_registro Comienza ...... i    1  {   quiero acceder a la posición 1 del arreglo  } VariableRegistro    ArregloRegistro ( i ) {  accedo a la información de un registro} {  si ahora quiero mostrar el primer campo de la 5 posición del arreglo de registros } Escribir  (ArregloRegistro(5).Campo1) ...... Termina
Supongamos que queremos almacenar información del personal de la Facultad. Primero debemos definir qué estructura utilizaremos para contener la información. Una elección posible podría ser: Tipos T_Registro_Persona =  Registro Nombre  : cadena20 Edad  : entero Ocupacion : cadena25 Salario  :flotante Fin Registro Variables Yo : T_Registro_Persona Facultad : Arreglo (30) de T_Registro_Persona  {  permite mantener información de 30 personas } Ejemplo :
Veamos cómo se dispone la información en la memoria: Facultad Posición facultad(1).nombre facultad(1).edad facultad(1).ocupacion facultad(1).salario facultad(2).nombre facultad(2).edad facultad(2).ocupacion facultad(2).salario facultad(3).nombre facultad(3).edad facultad(3).ocupacion facultad(3).salario facultad(29).nombre facultad(29).edad facultad(29).ocupacion facultad(29).salario facultad(30).nombre facultad(30).edad facultad(30).ocupacion facultad(30).salario 1 2 3 4 5 6 7 8 9 … … 28 29 30
Ejemplo de Vector de Registros en Ada T_Persona  is   record  nombre  : cadena25; dni  : cadena8; domicilio  : cadena25; cursadas  : vector30; finales  : vector30; end record ; T_Vec_Personas  is array (1..30) of T_Persona; Info: T_Vec_Personas; ……… -- en el programa pueden aparecer instrucciones como….   info(i).nombre:=“Juan Perez  ”; info(i).dni:=“23455678”;  for j in 1..30 loop  get(info(i).cursadas(j)) end loop;
En la siguiente diapositiva veremos el código fuente del ejecutable enlazado El siguiente programa manipula un vector de registros, en los que cada componente contiene información de tipo T_Persona
 
 
[object Object],[object Object],[object Object],[object Object]

Más contenido relacionado

La actualidad más candente

Informe técnico 1
Informe técnico 1Informe técnico 1
Informe técnico 1Saya Paredes
 
Guia7 programación
Guia7 programación Guia7 programación
Guia7 programación Edwin Ortega
 
6.1 vectores
6.1 vectores6.1 vectores
6.1 vectoresSNPP
 
Ejercicios resueltos de c++
Ejercicios resueltos de c++Ejercicios resueltos de c++
Ejercicios resueltos de c++Jhon TRUJILLO
 
Programa para suma y multiplicacion nelson
Programa para suma y multiplicacion nelsonPrograma para suma y multiplicacion nelson
Programa para suma y multiplicacion nelsonNelson Piñero
 
Diapo funciones
Diapo funcionesDiapo funciones
Diapo funcionesmelpod
 
Matriz diagonal
Matriz diagonalMatriz diagonal
Matriz diagonalwalther_27
 
Sol. (3era unidad)
Sol. (3era unidad)Sol. (3era unidad)
Sol. (3era unidad)Gipsy0211
 
Programación 1: tipos básicos de datos en C
Programación 1: tipos básicos de datos en CProgramación 1: tipos básicos de datos en C
Programación 1: tipos básicos de datos en CAngel Vázquez Patiño
 
Laboratorio 1 koshy_en_maxima
Laboratorio 1 koshy_en_maximaLaboratorio 1 koshy_en_maxima
Laboratorio 1 koshy_en_maximaMayra Alarcon
 
Trabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje cTrabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje coswnes92
 

La actualidad más candente (18)

Estructuras punteros
Estructuras punterosEstructuras punteros
Estructuras punteros
 
Informe técnico 1
Informe técnico 1Informe técnico 1
Informe técnico 1
 
Guia7 programación
Guia7 programación Guia7 programación
Guia7 programación
 
6.1 vectores
6.1 vectores6.1 vectores
6.1 vectores
 
Ejercicios resueltos de c++
Ejercicios resueltos de c++Ejercicios resueltos de c++
Ejercicios resueltos de c++
 
Programa para suma y multiplicacion nelson
Programa para suma y multiplicacion nelsonPrograma para suma y multiplicacion nelson
Programa para suma y multiplicacion nelson
 
Agregar un metodo que toma parametros
Agregar un metodo que toma parametrosAgregar un metodo que toma parametros
Agregar un metodo que toma parametros
 
Diapo funciones
Diapo funcionesDiapo funciones
Diapo funciones
 
Codificación
CodificaciónCodificación
Codificación
 
Matriz diagonal
Matriz diagonalMatriz diagonal
Matriz diagonal
 
Clase 2 (2)
Clase 2 (2)Clase 2 (2)
Clase 2 (2)
 
Programación 1: algoritmos
Programación 1: algoritmosProgramación 1: algoritmos
Programación 1: algoritmos
 
Sol. (3era unidad)
Sol. (3era unidad)Sol. (3era unidad)
Sol. (3era unidad)
 
Programación 1: tipos básicos de datos en C
Programación 1: tipos básicos de datos en CProgramación 1: tipos básicos de datos en C
Programación 1: tipos básicos de datos en C
 
Problema 10 JM
Problema 10 JMProblema 10 JM
Problema 10 JM
 
Michael
MichaelMichael
Michael
 
Laboratorio 1 koshy_en_maxima
Laboratorio 1 koshy_en_maximaLaboratorio 1 koshy_en_maxima
Laboratorio 1 koshy_en_maxima
 
Trabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje cTrabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje c
 

Destacado

Archivo de procesamiento por lotes
Archivo de procesamiento por lotesArchivo de procesamiento por lotes
Archivo de procesamiento por lotesMiguel Magaña
 
Estructura de archivos secuencial indexado
Estructura de archivos secuencial indexadoEstructura de archivos secuencial indexado
Estructura de archivos secuencial indexadodexter120
 
Procesamiento de datos
Procesamiento de datosProcesamiento de datos
Procesamiento de datosyandismedina
 
Archivos Y Procesamiento
Archivos Y ProcesamientoArchivos Y Procesamiento
Archivos Y Procesamientojorgeabustillo
 
Conceptos Archivisticos Básicos
Conceptos Archivisticos BásicosConceptos Archivisticos Básicos
Conceptos Archivisticos BásicosDora Duque
 
Archivo Secuencial-Indexado
Archivo Secuencial-IndexadoArchivo Secuencial-Indexado
Archivo Secuencial-Indexadoluismy_martinez
 

Destacado (10)

Archivo de procesamiento por lotes
Archivo de procesamiento por lotesArchivo de procesamiento por lotes
Archivo de procesamiento por lotes
 
Programacion Batch
Programacion BatchProgramacion Batch
Programacion Batch
 
Estructura de archivos secuencial indexado
Estructura de archivos secuencial indexadoEstructura de archivos secuencial indexado
Estructura de archivos secuencial indexado
 
Procesamiento de datos
Procesamiento de datosProcesamiento de datos
Procesamiento de datos
 
Bases de Datos Cap I: Introducción
Bases de Datos Cap I: IntroducciónBases de Datos Cap I: Introducción
Bases de Datos Cap I: Introducción
 
Diseño de archivos
Diseño de archivosDiseño de archivos
Diseño de archivos
 
Archivos Y Procesamiento
Archivos Y ProcesamientoArchivos Y Procesamiento
Archivos Y Procesamiento
 
Conceptos Archivisticos Básicos
Conceptos Archivisticos BásicosConceptos Archivisticos Básicos
Conceptos Archivisticos Básicos
 
Procesamiento de datos
Procesamiento de datosProcesamiento de datos
Procesamiento de datos
 
Archivo Secuencial-Indexado
Archivo Secuencial-IndexadoArchivo Secuencial-Indexado
Archivo Secuencial-Indexado
 

Similar a Registros y vectores de registros en Ada

1.Tipos de Datos.ppt
1.Tipos de Datos.ppt1.Tipos de Datos.ppt
1.Tipos de Datos.pptmarcos793515
 
1.Tipos de Datos.ppt
1.Tipos de Datos.ppt1.Tipos de Datos.ppt
1.Tipos de Datos.pptSANTOS400018
 
Tipos de Datos y su tipologia en contexto.ppt
Tipos de Datos y su tipologia en contexto.pptTipos de Datos y su tipologia en contexto.ppt
Tipos de Datos y su tipologia en contexto.pptricardosusa5
 
ProgramacióN En Java Variables Y Ciclos
ProgramacióN En Java Variables Y CiclosProgramacióN En Java Variables Y Ciclos
ProgramacióN En Java Variables Y CiclosAndres Garcia
 
19 Contenedores De Stl Basados En Arboles
19 Contenedores De Stl Basados En Arboles19 Contenedores De Stl Basados En Arboles
19 Contenedores De Stl Basados En ArbolesUVM
 
introducción a la programación utilizando C++.pptx
introducción a la programación utilizando C++.pptxintroducción a la programación utilizando C++.pptx
introducción a la programación utilizando C++.pptxErisbeymarin
 
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)luis freddy
 
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)luis freddy
 
Introduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquezIntroduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquezederhenriquez
 
Elementos básicos de c++
Elementos básicos de c++Elementos básicos de c++
Elementos básicos de c++luiscristian
 
Elementos básicos de c++
Elementos básicos de c++Elementos básicos de c++
Elementos básicos de c++luiscristian
 

Similar a Registros y vectores de registros en Ada (20)

Tipos De Datos
Tipos De DatosTipos De Datos
Tipos De Datos
 
1.Tipos de Datos.ppt
1.Tipos de Datos.ppt1.Tipos de Datos.ppt
1.Tipos de Datos.ppt
 
1.Tipos de Datos.ppt
1.Tipos de Datos.ppt1.Tipos de Datos.ppt
1.Tipos de Datos.ppt
 
1.Tipos de Datos.ppt
1.Tipos de Datos.ppt1.Tipos de Datos.ppt
1.Tipos de Datos.ppt
 
1.tipos de datos
1.tipos de datos1.tipos de datos
1.tipos de datos
 
Tipos de Datos y su tipologia en contexto.ppt
Tipos de Datos y su tipologia en contexto.pptTipos de Datos y su tipologia en contexto.ppt
Tipos de Datos y su tipologia en contexto.ppt
 
Curso9 estructuras
Curso9 estructurasCurso9 estructuras
Curso9 estructuras
 
Curso9 estructuras
Curso9 estructurasCurso9 estructuras
Curso9 estructuras
 
Registro
RegistroRegistro
Registro
 
ProgramacióN En Java Variables Y Ciclos
ProgramacióN En Java Variables Y CiclosProgramacióN En Java Variables Y Ciclos
ProgramacióN En Java Variables Y Ciclos
 
arreglos y matrices
arreglos  y matricesarreglos  y matrices
arreglos y matrices
 
19 Contenedores De Stl Basados En Arboles
19 Contenedores De Stl Basados En Arboles19 Contenedores De Stl Basados En Arboles
19 Contenedores De Stl Basados En Arboles
 
introducción a la programación utilizando C++.pptx
introducción a la programación utilizando C++.pptxintroducción a la programación utilizando C++.pptx
introducción a la programación utilizando C++.pptx
 
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (2)
 
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
3 desarollo manejo datos capitulo 2 -01 arreglos dos dimensiones (5)
 
Introduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquezIntroduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquez
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Elementos básicos de c++
Elementos básicos de c++Elementos básicos de c++
Elementos básicos de c++
 
Elementos básicos de c++
Elementos básicos de c++Elementos básicos de c++
Elementos básicos de c++
 

Registros y vectores de registros en Ada

  • 1. Algorítmica y Programación Registros en Ada Vectores de Registros
  • 2. Registros en Ada Declaración de tipo registro type <nombre del tipo> is record <nombre de campo 1> : <tipo de dato 1>; <nombre de campo 2> : <tipo de dato 2>; … <nombre de campo N> : <tipo de dato N>; end record ; Un record se define con la palabra &quot;record&quot;, seguida de la declaración de los campos del record y &quot;end record&quot;.
  • 3.
  • 4. type t_fecha is record dia:integer range 1..31; mes:string (1..10); anio:integer; end record ; nacimiento: t_fecha; fecha_fija: constant t_fecha:= (dia => 01, mes => &quot; Enero &quot;, anio => 2011); Se pueden especificar valores iniciales para los campos de un record en la propia definición del tipo. Por ejemplo: type t_fecha is record dia:integer range 1..31 ; mes:string (1..10) := ( others => ' '); anio:integer := 2011 ; end record ; Ejemplo 1:
  • 5.
  • 6. -- otra forma de declarar tipo fecha type t_mes is (ene,feb,mar,abr,may,jun,jul,ago,sep,oct,nov,dic); type t_fecha is record dia : integer range 1..31 ; mes : t_mes; anio : integer:= 2010; end record ; descubrimiento : constant t_fecha ( 12 ,oct, 1492 ); ayer,hoy : t_fecha; Ejemplo 2:
  • 7. type t_persona is record nombre : cadena25; dni : cadena8; domicilio : cadena25; cursadas : vector30; finales : vector30; end record ; alumno, auxiliar, egresado : t_persona; ……………… .. alumno.dni:=“10800854”; egresado.finales:=(9.0,8.0,7.0,8.0,6.0,8.0, 9.0,8.0,7.0,8.0,6.0,8.0, 9.0,8.0,7.0, 9.0,8.0,7.0,8.0,6.0,8.0, 9.0,8.0,7.0,8.0,6.0,8.0, 9.0,8.0,7.0); alumno.cursadas:=( others =>6.0); Ejemplo 3: En las siguientes dos diapositivas veremos el código fuente del Programa_ejemplo Programa ejemplo
  • 8.  
  • 9.  
  • 10. Vector de registros Podemos agrupar registros por medio de un arreglo, el cual puede ser de cualquier tipo simple de datos (entero, flotante, caracter, etc. ) o tipos compuestos (registros, arreglos) Teniendo en cuenta la declaración de tipo siguiente y nuevas variables veremos como manipular un arreglo de registros . Tipos T_registro = registro Campo1: T_dato1 Campo2: T_dato2 FinRegistro Variables VariableRegistro : T_registro ArregloRegistro: arreglo (30) de T_registro Comienza ...... i  1 { quiero acceder a la posición 1 del arreglo } VariableRegistro  ArregloRegistro ( i ) { accedo a la información de un registro} { si ahora quiero mostrar el primer campo de la 5 posición del arreglo de registros } Escribir (ArregloRegistro(5).Campo1) ...... Termina
  • 11. Supongamos que queremos almacenar información del personal de la Facultad. Primero debemos definir qué estructura utilizaremos para contener la información. Una elección posible podría ser: Tipos T_Registro_Persona = Registro Nombre : cadena20 Edad : entero Ocupacion : cadena25 Salario :flotante Fin Registro Variables Yo : T_Registro_Persona Facultad : Arreglo (30) de T_Registro_Persona { permite mantener información de 30 personas } Ejemplo :
  • 12. Veamos cómo se dispone la información en la memoria: Facultad Posición facultad(1).nombre facultad(1).edad facultad(1).ocupacion facultad(1).salario facultad(2).nombre facultad(2).edad facultad(2).ocupacion facultad(2).salario facultad(3).nombre facultad(3).edad facultad(3).ocupacion facultad(3).salario facultad(29).nombre facultad(29).edad facultad(29).ocupacion facultad(29).salario facultad(30).nombre facultad(30).edad facultad(30).ocupacion facultad(30).salario 1 2 3 4 5 6 7 8 9 … … 28 29 30
  • 13. Ejemplo de Vector de Registros en Ada T_Persona is record nombre : cadena25; dni : cadena8; domicilio : cadena25; cursadas : vector30; finales : vector30; end record ; T_Vec_Personas is array (1..30) of T_Persona; Info: T_Vec_Personas; ……… -- en el programa pueden aparecer instrucciones como…. info(i).nombre:=“Juan Perez ”; info(i).dni:=“23455678”; for j in 1..30 loop get(info(i).cursadas(j)) end loop;
  • 14. En la siguiente diapositiva veremos el código fuente del ejecutable enlazado El siguiente programa manipula un vector de registros, en los que cada componente contiene información de tipo T_Persona
  • 15.  
  • 16.  
  • 17.