Hola taringueros este es un apunte que me sirvio mucho para estudiar estructura de datos, espero que les sirva tanto como a mi.
Ejemplo:
un inventario de productos es organizado en un negocios de ventas.Los datos asociados a cada uno de los ejemplares que estan a disposion de los clientes se almacenan de forma aproximada, como se muestra en la siguiente figura:
Nro_producto Descripción Precio Unitario Stock Observaciones
101 Pc Hp 3500 $ 2300 50
102 Monitor LCD’17 $ 800 38
103 Memoria intel $ 360 7
104 Mouse inalambrico $ 80 0
Realizar las estructuras, procedimientos y funciones necesarias que satisfagan los siguientes requerimientos:
1) Una subrutina que permita cargar la estructura del inventario como minimo, con 70 ejemplares y sus detalles corresspondientes.
2) Una subrutina que permita borrar un elemento de la estructura, dado el codigo de la misma.
3) Un procedimiento que muestre un listado completo de los elementos almacenados en la estructura.
4) Un procedimiento ue informe la disponibilidad de un articulo determinado, dado el codigo de la misma.
5) Una subrutina que informe el promedio total de los precios.
Pseudocodigo:
registro tabla
{
nro_producto:entero
descripcion:caracter
precioUn:real
stock:entero
obs:caracter
}
productos:vector[70]tabla
procedimiento cargar()
inicio
i:entero
desde i=1 hasta 70 hacer
escribir("ingrese numero de producto" )
leer(productos.nro_producto)
escribir("ingrese descripcion" )
leer(productos.descripcion)
escribir("ingrese precio unitario" )
leer(productos.precioUn)
escribir("ingrese stock " )
leer(productos.stock)
escribir("ingrese observaciones" )
leer(productos.obs)
fin_desde
fin
procedimiento borrar()
inicio
i:entero
x:entero
escribir("ingrese el numero del producto a eliminar" )
leer(x)
desde i=1 hasta 70 hacer
si productos.nro_producto=X entonces
borrar productos
fin_si
fin_desde
fin
procedimiento listado()
inicio
i:entero
desde i=1 hasta 70 hacer
escribir (productos.nro_producto)
escribir (productos.descripcion)
escribir (productos.precioUn)
escribir (productos.stock)
escribir (productos.obs)
fin_desde
fin
procedimiento stock()
inicio
i:entero
x:entero
escribir("ingrese numero de codigo" )
leer (x)
desde i:1 hasta 30 hacer
si productos=x entonces
escribir("Disponibilidad:",productos.stock)
break
fin_si
fin_desde
fin
funcion promedio(x:real)
inicio
i: entero
sum:real
desde i=1 hasta 70 hacer
sum=productos.stock + sum
fin_desde
retorno (sum/70)
fin
incio
cargar()
borrar()
listado()
stock()
prom=promedio()
escribir("promedio:",prom)
fin