programacion basica pseudolenguaje

Iniciado por kiefer, 11 Mayo 2007, 23:23 PM

0 Miembros y 2 Visitantes están viendo este tema.

kiefer

hola soy nuevo en el tema y teno una una duda en un problema me piden calcular el sueldo mayor entre 1500 trabajadores ¿ cual es la formula matematica? ayudenme porfa

»~^~«CkNU!»~^~«

No necesitás ninguna fórmula matemática, o al menos es lo que interpreto.

Pensalo de esta forma. Tenés 1500 personas y querés averigüar cuál es el sueldo más alto. Cual es la forma?
Yo diría que lo mejor sería tomar un papel y preguntarle a cada uno. Voy al primero y anoto su sueldo, luego le pregunto al segundo. Si éste tiene sueldo mayor que el anterior borro el sueldo que había anotado y "guardo" el nuevo sueldo más alto. Si es más bajo o igual, me quedo con el que tengo.
Así vas "consultando" todos los empleados. Al final en tu papel vas a tener el valor del mayor sueldo de los 1500 empleados.

Bueno, aclarada la idea, ahora pasalo a pseudocódigo.
(Tampoco pretendas que te haga la tarea completa. ;))
»~^~«ChiCkENURiNE»~^~«

Hadess_inf

Algo rudimentario seria esto:

dim M(1500) as integer
dim suel as Integer
dim aux as integer
for i=o to M.length-1
  aux = M(i)
  if suel < aux then suel = aux
next
msgbox "El suedo maximo es: " & suel

Espero no equivocarme, saludos.

»~^~«CkNU!»~^~«

Ta, la idea era que lo pensara el. No está bueno dar todo digerido.
»~^~«ChiCkENURiNE»~^~«

Hadess_inf

La resolucion no esta completa, tambien es solo una idea, aunque casi en eun 90% ^^
seria bueno que la complete, quisas encuentre algun error T_T

antraXactive

#5
¡Buenas!

Cita de: hadess_inf en 22 Junio 2007, 05:15 AM
dim M(1500) as integer
dim suel as Integer
dim aux as integer

Un poco....basto ¿no?
con un array de dos tienes para guardar sueldos, hacer las comparaciones y guardar el sueldo mas alto ;-)

Si queréis el código (en c, estoy cansado de .Net y VB) no hay mas que decirlo ;-)
Saludos

darkraider

 en pseudo lenguaje (el que a mi me enseñaron sería asi):

funcion calcula-maximo (a:vector, elementos:entero) devuelve indice : entero
  max = 0;
  i = 0;
  mientras i<elementos hacer
      si a > max entonces max = i;
      i = i+1;
   fin_mientras
   indice = i;
fin_funcion

Entocnes ésto te devuelve "la coordenada"  del vector que tiene todos los sueldos de los empleados en la que el sueldo es el máximo.
Espero que te sirva. SAlu2
Curioso de mi...

Hadess_inf

Bueno, a mi criterio no creo que sea necesario crear 2 array o una matriz con 2 filas porque la pregunta dice que tenemos que ir preguntando a cada empleado su sueldo y segun eso contener el mayor sueldo, ahora, es por eso que tenemos la variable suel y aux, suel contendra el valor maximo y aux el valor que se comparara con suel, inclusive si son 1500 empleados de los cuales no keremos o sabemos ninguna informacion, no tendriamos que crear el array porque son 1500 usuarios unicos, unacamente haremos el bucle for hasta el valor 1500 (claro iniciando en 1).

En el caso que quisieramos un vector para el valor de los sueldos, lo llenariamos y llevariamos el maximo valor a la pocicion 0, y lo ordenamos con el metodo de la burbuja...saludos.

antraXactive

cierto, cierto... pensé que luego preguntarías al usuario el sueldo de cada uno, no que ya vendrían preescritos en el programa, xDDD. Al ver ese peazo array pensé que preguntarías los sueldos y los guardarías primero todos los ahí para luego compararlos y dije... ¿estás loco? culpa mia de no mirarme el código xDD

Hadess_inf

Seeee a veces tambien me ocurre, como que da un poco de flojera leer. verdad ¿?  ::)