SlideShare a Scribd company logo
1 of 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]

More Related Content

What's hot

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
 

What's hot (18)

Informe técnico 1
Informe técnico 1Informe técnico 1
Informe técnico 1
 
Estructuras punteros
Estructuras punterosEstructuras punteros
Estructuras punteros
 
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
 

Viewers also liked

2011 clase19
2011 clase192011 clase19
2011 clase19PatriciaU
 
Términos de Programación Distribuida 8
Términos de Programación Distribuida 8Términos de Programación Distribuida 8
Términos de Programación Distribuida 8RJ Manayay Chavez
 
Ventajas y desventajas de usar software libre ::: http://leymebamba.com
Ventajas y desventajas de usar software libre ::: http://leymebamba.comVentajas y desventajas de usar software libre ::: http://leymebamba.com
Ventajas y desventajas de usar software libre ::: http://leymebamba.com{|::::::. ELDAVAN .:::::::|}
 
2011 clase18
2011 clase182011 clase18
2011 clase18PatriciaU
 
Programación estructurada presentación
Programación estructurada presentaciónProgramación estructurada presentación
Programación estructurada presentaciónIvarra
 
Software Informatico
Software InformaticoSoftware Informatico
Software Informaticoeliizabeth_ha
 
Introduccion a los Sistemas Embebidos
Introduccion a los Sistemas EmbebidosIntroduccion a los Sistemas Embebidos
Introduccion a los Sistemas Embebidosjkovima
 
Exposición Elearning
Exposición ElearningExposición Elearning
Exposición Elearningyeliyeli22
 

Viewers also liked (11)

2011 clase19
2011 clase192011 clase19
2011 clase19
 
Sistemas de archivos
Sistemas de archivosSistemas de archivos
Sistemas de archivos
 
Términos de Programación Distribuida 8
Términos de Programación Distribuida 8Términos de Programación Distribuida 8
Términos de Programación Distribuida 8
 
Ventajas y desventajas de usar software libre ::: http://leymebamba.com
Ventajas y desventajas de usar software libre ::: http://leymebamba.comVentajas y desventajas de usar software libre ::: http://leymebamba.com
Ventajas y desventajas de usar software libre ::: http://leymebamba.com
 
2011 clase18
2011 clase182011 clase18
2011 clase18
 
sistema de archivos
sistema de archivossistema de archivos
sistema de archivos
 
Sistema de archivos
Sistema de archivosSistema de archivos
Sistema de archivos
 
Programación estructurada presentación
Programación estructurada presentaciónProgramación estructurada presentación
Programación estructurada presentación
 
Software Informatico
Software InformaticoSoftware Informatico
Software Informatico
 
Introduccion a los Sistemas Embebidos
Introduccion a los Sistemas EmbebidosIntroduccion a los Sistemas Embebidos
Introduccion a los Sistemas Embebidos
 
Exposición Elearning
Exposición ElearningExposición Elearning
Exposición Elearning
 

Similar to 2011 clase17

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 to 2011 clase17 (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++
 

2011 clase17

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