Kategoriak: All - datos - elementos - índices - registros

arabera Cuenta Privada 1 year ago

83

Arreglo de registro

En el ámbito de la programación, los arreglos y los registros son componentes esenciales en la gestión de datos. Un arreglo es una estructura de datos que agrupa elementos de tipo homogéneo, permitiendo acceso directo a cada elemento mediante un índice.

Arreglo de registro

Arreglo de registro

Diseñar un módulo que actualice el stock de cada producto, restando al stock actual las ventas realizadas a lo largo de la semana.

procedimiento ActualizarVentas(valor ventas:tabla;ref Productos:p) var entero : i,j inicio desde i <- 1 hasta n hacer desde j <- 1 hasta 7 hacer p[i].stock Å p[i].stock – tabla[i,j] fin_desde fin_desde fin_procedimiento

Diseñar un módulo que permita leer las ventas de cada producto, teniendo en cuenta que la entrada de datos se hará por día de la semana (es decir, primero se leerán las ventas del lunes del producto 1, después las ventas del lunes del producto 2, después las ventas del lunes del producto 3, etc.)

procedimiento LeerVentas(ref ventas : tabla; valor entero : n) var entero : i,j inicio desde i <- 1 hasta 7 hacer //Leer todas las ventas del día i desde j <- 1 hasta n hacer leer(tabla[j, i]) fin_desde fin_desde fin_procedimiento fin_procedimiento

Declarar de todas las estructuras de datos necesarias para realizar las acciones de los puntos si guientes.

const N = … //Número de productos a manejar tipos registro = Producto cadena : código, descripción entero : stock : stock fin_registro array[0..N] de Producto = Productos array[1..N,1..7] de entero = Ventas

A los elementos de un arra y de re gistros se accede con la notación ya explicada.

//Leer por teclado el DNI del cuarto empleado leer( [] ) vendedores[4].DNI) //Escribir el año del contrato del cuarto empleado escribir(vendedores[4].fechaContrato.año) vendedores[5].ventas[12] <-vendedores[5].ventas[12] + 1000 //Calcular el total de las ventas de los 40 empleados utilizando //el procedimiento CalcularVentasAnualesEmpleado ya definido desde i <- 1 hasta 40 hacer CalcularVentasAnualesEmpleado(vendedores[i]) fin desde

El tipo base de un array también puede ser un registro:

● Arrays de registros. var array[ ] 1..40 de empleado : vendedores

Arrays paralelos.

Dos o más arrays que utilizan el mismo subíndice para referirse a términos homólogos se llaman arrays paralelos.

Registros

Operaciones
Los registros también se pueden pasar como argumentos a los procedimientos.

procedimiento LeerRegistro(ref empleado : e) var entero : i inicio leer(e.DNI) leer(e.nombre) leer(e.sueldo) leer(e.fechaContrato día) leer(e.fechaContrato.mes) leer(e.fechaContrato.año) desde i <- 1 hasta 12 hacer leer(e.ventas[i]) fin desde fin_desde fin_procedimiento //Calcula el total de las ventas anuales del empleado procedimiento CalcularVentasAnualesEmpleado(ref empleado : e) var entero : i inicio e.totalVentas <- 0 //Se podría haber hecho e.totalVentas=SumaVector(e.ventas,12) desde i <- 1 hasta 12 hacer e.totalVentas <- e.totalVentas + e.ventas[i] fin_desde fin_procedimiento

Con los elementos individuales de un registro, se podrán realizar las mismas operaciones que se realizan con datos de ese tipo de dato.

//Concatena la cadena Pérez al nombre del empleado empleado.nombre <- empleado.nombre & 'Pérez' //Lee por teclado el sueldo del empleado leer(empleado.sueldo) //escribe la desviación estándar de las ventas del empleado //utilizando la función del ejemplo 5 2 escribir(DesviaciónEstándar(empleado.ventas,12))

Con una estructura de tipo registro sólo se podrá realizar la operación de asignación.

● Se podrá asignar un registro a otro del mismo tipo. Dos registros son del mismo tipo si tienen los mismos campos y del mismo tipo de dato.

Declaración
Se realiza enumerando cada uno de los componentes que lo forman.

registro : nombreRegistro tipoDeDato : nombreCampo tipoDeDato : nombreCampo ... Fin_registro

● nombreRegistro es un identificador que se utilizará para hacer referencia a la estructura Se pueden declarar varias variables del mismo tipo.

Por cada campo hay que incluir su tipo de dato y su nombre. tipoDeDato será cualquier dato simple o estructurado. nombreCampo será id tifi d álid á un identificador válido.

registro : empleado cadena : DNI, nombre real : sueldo fin_registro

Los registros (o estructuras) son datos estructurados formados por elementos heterogéneos y lógicamente relacionados.
● Estructura jerárquica con información de distinto tipo referente a un Estructura jerárquica con información de distinto tipo referente a un mismo objeto. 9 A cada componente de un registro se le denomina campo.

Arreglo

Se trata de una estructura de acceso directo o aleatorio.
● Es posible acceder a cada elemento de forma individual. 9 Los elementos pueden seleccionarse arbitrariamente y son igualmente accesibles. 9 Para designar a un elemento se utilizará el selector. o Uno o más índices que indican su posición dentro de la estructura. ● Dependiendo del número de índices necesario para referenciar un componente habrá: Dependiendo del número de índices necesario para referenciar un componente habrá: 9 Arrays unidimensionales (vectores). 9 Arrays bidimensionales (matrices) 9 Arrays multidimensionales.
Estructura de datos formada por un conjunto finito y ordenado de elementos homogéneos.
● Elementos homogéneos: todos los elementos son del mismo tipo: el tipo base del array. ● Serie finita: tiene un tamaño limitado que habrá que definir en la declaración y que no puede ca b a m i r. ● Ordenado: cada elemento puede ser identif