Logo Studenta

Unidad_4_-_Registros

¡Estudia con miles de materiales!

Vista previa del material en texto

UNIDAD 4.- REGISTROS 
Cátedra: Algoritmos y Estructuras de Datos – 1 
UNIDAD 4.- REGISTROS 
 
OBJETIVOS: 
 Que el alumno comprenda el concepto de dato, los seleccione adecuadamente y los 
organice en forma estructurada. 
 Que comprenda el concepto de estructura de datos y describa las aplicaciones 
adecuadas de los registros. 
 Que represente adecuadamente los registros. 
 
TEMAS: 
4.1. Definición, lectura e impresión. 
4.2. Representación en lenguaje C. 
4.3. Registros Jerarquizados. 
4.4. Array de registros. 
4.5. Registros de array. 
 
UNIDAD 4.- REGISTROS 
Cátedra: Algoritmos y Estructuras de Datos – 2 
4.1. DEFINICIÓN 
Un registro, en programación, es un tipo de dato estructurado estático, donde sus elementos pueden ser 
de distinta naturaleza, es decir que son heterogéneos; los mismos se denominan campos; y pueden ser, o 
bien datos elementales (entero, real, carácter,...), o bien otras estructuras de datos. 
 
4.2. REPRESENTACIÓN EN LENGUAJE C 
Los registros son llamados también estructuras en lenguaje C, y cada uno de sus elementos se denominan 
miembros. 
Sintaxis: 
struct [<identificador>] { 
 [<tipo> <nombre_variable>[,<nombre_variable>,...]]; 
 . 
}; 
El identificador de la estructura es un nombre opcional para referirse a la misma. 
En el interior de una estructura, entre las llaves, se pueden definir todos los elementos que se consideren 
necesarios, del mismo modo que se declaran las variables. 
Las estructuras pueden referenciarse completas, usando su nombre, y también se puede acceder a los 
elementos en el interior de la estructura usando el operador de selección (.), un punto, que se denomina 
selector de campo. 
También pueden declararse más variables del tipo de estructura en cualquier parte del programa, de la 
siguiente forma: 
[struct] <identificador> <variable_estructura> 
 [,<variable_estructura>...]; 
 
LECTURA E IMPRESIÓN 
Para ingresar o mostrar los datos de un registro, es necesario hacerlo campo por campo. 
En el siguiente ejemplo se ingresan y muestran los campos código, descripción y precio de un 
artículo. 
PROGRAMA PARA LECTURA E IMPRESIÓN DE LOS ELEMENTOS DE UN REGISTRO 
#include <stdio.h> 
#include <conio.c> 
#include <string.h> 
UNIDAD 4.- REGISTROS 
Cátedra: Algoritmos y Estructuras de Datos – 3 
 
struct registro 
{ 
 int codigo; 
 char descri[30]; 
 float precio; 
}; 
 
main (void) 
{ 
 registro reg; 
 
 printf("Ingrese los datos del registro\n\n"); 
 printf("Codigo: "); 
 scanf("%d",&reg.codigo); 
 
 printf("Descripcion: "); 
 scanf("%s",reg.descri); 
 
 printf("Precio: "); 
 scanf("%f",&reg.precio); 
 
 printf("\n\nLOS DATOS INGRESADOS SON:\n\n"); 
 printf("Codigo: %d",reg.codigo); 
 printf("\nDescripcion: "); 
 puts(reg.descri); 
 
 printf("Precio: %.2f",reg.precio); 
 getch(); 
} 
 
 
4.3. REGISTROS JERARQUIZADOS 
Un registro jerarquizado también denominado en lenguaje C como estructura anidada, es un registro 
en el cuál por lo menos uno de sus campos es a su vez un registro. 
 
Ejemplo: 
Al registro del artículo que tenía los campos código, descripción y precio le agregamos el campo 
fecha de vencimiento; el cuál a su vez es un registro que posee los campos día, mes y año. 
 
codigo descri precio fec 
dia mes anio 
 
 
PROGRAMA PARA LECTURA E IMPRESIÓN DE LOS ELEMENTOS DE UN REGISTRO JERARQUIZADO 
#include <stdio.h> 
#include <conio.h> 
#include <string.h> 
 
UNIDAD 4.- REGISTROS 
Cátedra: Algoritmos y Estructuras de Datos – 4 
struct fecha 
{ 
 int dia,mes,anio; 
}; 
 
struct registro 
{ 
 int codigo; 
 char descri[30]; 
 float precio; 
 fecha fec; 
}; 
 
main (void) 
{ 
 registro reg; 
 
 printf("Ingrese los datos del registro\n\n"); 
 printf("Codigo: "); 
 scanf("%d",&reg.codigo); 
 
 printf("Descripcion: "); 
 scanf("%s",reg.descri); 
 printf("Precio: "); 
 scanf("%f",&reg.precio); 
 
 printf("\n\nFecha de Vto: \n"); 
 printf("Dia: "); 
 scanf("%d",&reg.fec.dia); 
 printf("Mes: "); 
 scanf("%d",&reg.fec.mes); 
 printf("Año: "); 
 scanf("%d",&reg.fec.anio); 
 
 printf("\n\nLOS DATOS INGRESADOS SON:\n\n"); 
 printf("Codigo: %d",reg.codigo); 
 printf("\nDescripcion: "); 
 puts(reg.descri); 
 printf("Precio: %f",reg.precio); 
 printf("\n\nFecha de Vto: \n"); 
 printf("Dia: %d",reg.fec.dia); 
 printf("\nMes: %d",reg.fec.mes); 
 printf("\nAño: %d",reg.fec.anio); 
 
 getch(); 
} 
 
 
4.4. ARRAY DE REGISTROS 
Un array de registros es un arreglo (vector, matriz, arreglo multidimensional) cuyos elementos son 
registros. 
Este tipo de estructura surge para poder conservar en memoria los valores que se ingresan de todos 
los registros, caso contrario se tiene en memoria los valores sólo del último registro ingresado. 
 
UNIDAD 4.- REGISTROS 
V 
 
 codigo descri precio codigo descri precio 
 
 
 V[i] registro 
 
Ejemplo: 
Ingresar y mostrar un array (vector) de registros de 2 elementos; cuyos registros tendrán la siguiente 
configuración: código, descripción y precio. 
 
PROGRAMA PARA INGRESAR Y MOSTRAR UN ARRAY DE REGISTROS 
#include <stdio.h> 
#include <conio.c> 
#include <string.h> 
 
struct registro 
{ 
 int codigo; 
 char descri[30]; 
 float precio; 
}; 
 
main (void) 
{ 
 registro v[2]; 
 int i; 
 
 for (i=0;i<2;i++) 
 { 
 clrscr(); 
 printf("Ingrese los datos del registro %d\n\n",i); 
 printf("Codigo: "); 
 scanf("%d",&v[i].codigo); 
 
 printf("Descripcion: "); 
 scanf("%s",v[i].descri); 
 
 printf("Precio: "); 
 scanf("%f",&v[i].precio); 
 } 
 
 for (i=0;i<2;i++) 
 { 
 clrscr(); 
 printf("\n\nLOS DATOS INGRESADOS SON REGISTRO %d:\n\n",i); 
 printf("Codigo: %d",v[i].codigo); 
 printf("\nDescripcion: "); 
 puts(v[i].descri); 
 
 printf("Precio: %.2f",v[i].precio); 
Cátedra: Algoritmos y Estructuras de Datos – 5 
UNIDAD 4.- REGISTROS 
 getch(); 
 } 
 
} 
 
 
 
4.5. REGISTROS DE ARRAY 
Un registro de array es un registro en el cual por lo menos uno de sus campos es un arreglo. 
 
Ejemplo: 
Un registro que posee los campos: 
 Legajo 
 Notas (es un vector de 5 elementos) 
 
 registro campo 
legajo 
notas 
5 6 7 8 5 
Cátedra: Algoritmos y Estructuras de Datos – 6 
 
 vector notas 
cada elemento es notas[i] 
 
PROGRAMA PARA INGRESAR Y MOSTRAR UN REGISTRO DE ARRAY 
#include <stdio.h> 
#include <conio.c> 
#include <string.h> 
 
struct registro 
{ 
 int legajo; 
 int notas[5]; 
 
}; 
 
main (void) 
{ 
 registro reg; 
 int j; 
 
 printf("Ingrese los datos del registro\n\n"); 
 printf("Legajo: "); 
 scanf("%d",&reg.legajo); 
 
 for (j=0;j<5;j++) 
 { 
UNIDAD 4.- REGISTROS 
Cátedra: Algoritmos y Estructuras de Datos – 7 
 printf("Nota %d: ",j); 
 scanf("%d",&reg.notas[j]); 
 } 
 
 printf("\n\nLos datos ingresados del registro\n\n"); 
 printf("Legajo: %d",reg.legajo); 
 for (j=0;j<5;j++) 
 { 
 printf("\nNota %d: %d",j,reg.notas[j]); 
 } 
 
 getch(); 
}

Continuar navegando

Materiales relacionados

9 pag.
TP4 RESUELTO - Omar Arellano

User badge image

Desafio PASSEI DIRETO

301 pag.
146 pag.
DO-FIN-EE-MAI-UC0316-2018

SIN SIGLA

User badge image

Mucha Aprendizaje