Algorítmica y Programación

Slides:



Advertisements
Presentaciones similares
Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Advertisements

IBD Curso 2007 Clase 2.
2 Estructuras lineales.. Qué es una estructura? La estructura es una manera de conectar los valores y de manera automática conectarlos de manera que tengan.
Estructuras en C++ Roger Morera Fallas.
Metodología de la Programación
Estructuras de Datos (ARRAYS)
INFORMATICA I Arreglos 1 CLASE 17.
Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde1 Tipos definidos por el usuario –Parámetros array ilimitados.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Teoría de lenguajes y compiladores
Arreglos Ing. Nahiby Castillo.
Vectores en java.
Arboles Binarios de expresiones
Fundamentos de Programación
Clase 12 COMPUTACION 2009 Tipos de Datos PASCAL Estructurados Simples Primitivos No primitivos Estáticos Integer Real Char Boolean String Archivos Registros.
Departamento de Informática Universidad Técnica Federico Santa María Capítulo 2 “Subprogramas/Funciones - Arreglos” Arreglos-Arrays.
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
Matrices Es una estructura homogénea, compuesta por varios elementos, todos del mismo tipo y almacenados consecutivamente en memoria A cada elemento se.
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
Índice. Revisando conceptos acerca de la memoria.
1 3Tablas o matrices 3.1. Concepto Las tablas corresponden al concepto matemático de matriz. Todos sus elementos deben ser del mismo tipo y se accede a.
COMPUTACION 2009 Clase 6 Clase 7.
Clase 10: Estructuras de datos y arreglos.
Valor X Valor Y Punto (0,0) Coordenadas.
METODOLOGÍA DE LA PROGRAMACIÓN
Others, soporte para síntesis. Los agregados tienen la habilidad de usar la sentencia others, la cual asignará un valor a todos los otros elementos de.
Unidad VI Registros (estructuras, uniones y enumeraciones)
Programación en Pascal
Sesión 17 Tipos de datos Estruturados Arreglos de Registros Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Aplicación de estructuras de datos
Programación I Arreglos II- Matrices.
75.40 Algoritmos y Programación I
Prof. Gonzalo Pastor struct. struct Un struct permite dividir cada posición del vector en varias partes Una estructura (struct) es un tipo de datos compuesto.
Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)
Fundamentos de Programación
Vectores y Matrices.
Programación I Arreglos. Los elementos de un arreglo son todos del mismo tipo de dato (todos integer o real o char o registros o aún arreglos)
Programación en C para electrónicos
Definir un vector Forma general Variable=[tipo]*tamaño Tipo: es el valor inicial con el cual quedarán llenas todas las posiciones creadas del vector. Tamaño:
Tema 2: Base de datos relacionales
Matrices Departamento de Computación Escuela de Ingeniería de Sistemas
Vectores y Matrices.
Estructura general de un programa en el servidor de Bases de Datos.
INSTRUCCIONES Elaboración de la Presentación:
Departamento de Informática Universidad Técnica Federico Santa María Temas 2,3,4: Estructura de un Programa Pascal Declaraciones Tipos de Datos Simples.
Clase 6 COMPUTACION 2009 C lase 8 Tipos de Datos PASCAL Estructurados Simples Primitivos No primitivos Integer Real Char Boolean String Archivos Registros.
Arreglos y comunicación Usuario
Matrices Prof. Flor Narciso Departamento de Computación
Vectores y Matrices.
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
Registros Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
PHP con Bases de Datos Tema 2 Variables, Constantes y Tipos de Datos
Contenido:  ¿Qué son los Punteros?  Los Procedimientos: New y Dispose.
Registros Departamento de Computación
Visual Basic FUNCIONES Y PROCEDIMIENTOS
Capitulo 4 Arreglos o Arrays Unidimensionales Bidimensionales Strings
Arreglos: Vectores Departamento de Computación
Teoría de lenguajes y compiladores
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 9: Funciones, variables y arreglos en BASH Nombre.
Fundamentos de Programación
Arreglos unidimensionales
Arreglos: Vectores Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
Visual Basic Prof.: Carol Briones García. Uso de Archivos  Definición  Es un conjunto de información que se almacena en algún medio de escritura que.
Después de completar esta lección, debe ser capaz de:  Crear registro definidos por el usuario.  Crear un registro con el atributo %ROWTYPE.  Crear.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 5.
PROF. RAFAEL MONTENEGRO B. UNELLEZ-APURE Introducci Ó n a los Arreglos (“arrays”) en C++
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
3.6 Manejo de E/S Estructuras En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos.
Transcripción de la presentación:

Algorítmica y Programación Registros en Ada Vectores de Registros

Algorítmica y Programación I Registros en Ada Un record se define con la palabra "record", seguida de la declaración de los campos del record y "end record". 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; Algorítmica y Programación I

Algorítmica y Programación I Registros en Ada Declaración de variables y constantes <nombre de variable> : <tipo de dato registro>; <nombre de constante>: constant <tipo de dato registro>:= ( <nombre de campo 1> => <valor campo 1> , <nombre de campo 2> => <valor campo 2>, … , <nombre de campo N> => <valor campo N>); Algorítmica y Programación I

Algorítmica y Programación I Ejemplo 1: 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 => "Enero ", anio => 2011); Se pueden especificar valores iniciales para los campos de un record en la propia definición del tipo. Por ejemplo: mes:string (1..10) := (others => ' '); anio:integer:=2011; Algorítmica y Programación I

Algorítmica y Programación I El acceso a los valores Para acceder a los campos de un registro se usa la clásica notación registro.componente: procedure Mostrar_fecha_nacimiento (nacimiento: in fecha) is begin nacimiento.dia := 15; nacimiento.mes := “Enero "; nacimiento.anio := 1980; Put_Line ("Su fecha de nacimiento es: " & integer’image(nacimiento.dia) & " de " & nacimiento.mes & " de " & integer’image(nacimiento.anio)); end Mostrar_fecha_nacimiento; Los registros pueden ser manipulados como objetos completos. Además, es posible asignar valores a todos los componentes de un registro mediante un conjunto ordenado o desordenado. agregado posicional: especificando los valores de todos los campos en el orden adecuado y entre paréntesis: nacimiento := (15, “Enero ", 1980 ); agregado nominal: especificando los nombres de los campos junto con los valores: nacimiento := (anio => 1980, mes => “Enero ", dia => 15); Cuando se usa un agregado nominal los campos se pueden enumerar en cualquier orden, pero siempre hay que enumerarlos a todos. Algorítmica y Programación I

Algorítmica y Programación I Ejemplo 2: -- 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; Algorítmica y Programación I

Algorítmica y Programación I Ejemplo 3: 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); Programa ejemplo En las siguientes dos diapositivas veremos el código fuente del Programa_ejemplo Algorítmica y Programación I

Algorítmica y Programación I

Algorítmica y Programación I

Algorítmica y Programación I 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 Algorítmica y Programación I

Algorítmica y Programación I Ejemplo : 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} Algorítmica y Programación I

Veamos cómo se dispone la información en la memoria: Posición 1 2 3 4 5 6 7 8 9 … 28 29 30 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 Facultad Algorítmica y Programación I

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; Algorítmica y Programación I

Algorítmica y Programación I El siguiente programa manipula un vector de registros, en los que cada componente contiene información de tipo T_Persona En la siguiente diapositiva veremos el código fuente del ejecutable enlazado Algorítmica y Programación I

Algorítmica y Programación I

Algorítmica y Programación I

Algorítmica y Programación I Veremos en el pizarrón cómo: generar un vector de registros ordenar un vector de registros imprimir un vector de registros Algorítmica y Programación I