🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #9335

Algoritmo de insercion de vector.

#9335
From: eldebianita
Date: Sun, 28 Jul 2002 03:00
86 lines
3044 bytes
Saludos colisteros!,
Me encuentro realizando un ejercicio donde utilizo archivos de registros
siendo el enunciado el siguiente:

Dado el archivo de cuentas corrientes se desea conocer las 20 cuentas de
mayor saldo deudor.

Algoritmo saldo es:
-------------------

Tipos:
------

registro_cta_cte
.nro_cuenta:cadena
.cliente:cadena
.saldo:real
fin registro

tabla:arreglo[1..cmax] de registro_cta_cte

archivo_cta_cte:archivo de registro_cta_cte

Variables globales:
-------------------

x:tabla
a:archivo_cta_cte
b:registro_cta_cte
tope:entero

constantes
----------

cmax=30

abrir (a);leer (a,b)
mientras no fin (a) hacer

si (b.saldo>0)
   entonces
   si (tope<cmax)
      entonces
      tope<---tope+1
      x[tope]<---b
      burbuja (x,tope)

   sino
       compara_maximo(x,tope,b)
       leer(a,b)
fin mientras

 cerrar (a)
 
fin algoritmo
 
como pueden observar el arreglo x recibira los veinte primeros saldos
negativos burbujeando cada vez que un valor sea insertado el orden sera
ascendente o sea del saldo menor al saldo mayor.
El procedimiento compara_maximo realiza la siguiente tarea:

procedimiento compara_maximo(ref:x:tabla;valor:tope:entero;valor:
b:registro_cta_cte)
variables locales
-----------------
i:entero,
i<---1
                si (b.saldo>x[i].saldo)
	          entonces
		  x[i]<---b
		sino
		   mostrar ('el dato no sera incluido')
		fsi   
obviamente seguida esta accion vendria un burbujeo que me reacomodara
los datos nuevamente.
La cuestion es la siguiente:la intencion del procedimiento es comparar
el dato de b.saldo contra el menor del arreglo x que por su parte esta
completo si el dato que trae b.saldo es mayor se lo asignara al arreglo
x,pues bien que les parece el procedimiento?,hay otra posibilidad de
mejorarlo?,he probado un insertar con orden pero los ejemplos que he
visto quedaban lugares en el arreglo y no es este el caso,por lo que me
he visto obligado a realizar un burbujeo,sin poder evitarlo.
sin mas los saluda.
-- 
eldebianita
Powered by Debian/GNU Linux 3.0
Technical Details
Message-ID: <gnmvha.lu1.ln@fibertel.com.ar>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!lnewspeer00.lnd.ops.eu.uu.net!bnewspeer01.bru.ops.eu.uu.net!emea.uu.net!fu-berlin.de!uni-berlin.de!ol188-103.fibertel.com.AR!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII-7-bit
X-Google-Thread: f86c8,bb9477f3f2c2d2f1,start
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2002-07-27 20:36:31 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!lnewspeer00.lnd.ops.eu.uu.net!bnewspeer01.bru.ops.eu.uu.net!emea.uu.net!fu-berlin.de!uni-berlin.de!ol188-103.fibertel.com.AR!not-for-mail
From: eldebianita <eldebianita@fibertel.com.ar>
Newsgroups: es.comp.os.linux.programacion
Subject: Algoritmo de insercion de vector.
Date: Sun, 28 Jul 2002 00:00:00 -0300
Lines: 87
Message-ID: <gnmvha.lu1.ln@fibertel.com.ar>
Reply-To: eldebianita@fibertel.com.ar
NNTP-Posting-Host: ol188-103.fibertel.com.ar (24.232.103.188)
X-Trace: fu-berlin.de 1027827390 34001021 24.232.103.188 (16 [133769])
X-Orig-Path: fibertel.com.ar!nobody
User-Agent: slrn/0.9.7.4 (Linux)