• Viernes 17 de Mayo de 2024, 04:48

Autor Tema:  Construccion De Algoritmos  (Leído 2237 veces)

Tuxnet

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Construccion De Algoritmos
« en: Viernes 25 de Abril de 2008, 04:12 »
0
Hola a todos:

Soy nuevo en este foro, les cuento que estoy dando los primeros pasos en el mundo de la programacion, el motivo de este post es que en estos dias estoy leyendo un libro de origen mexicano llamado "Metdologia de la programacion algoritmos, diagramas de flujo y programas"  el autor es Osvaldo Cairo.
El libro es muy bueno y completo tiene 460 paginas aprox. la dificultad que tengo es que me he clavado en el entendimiento de un diagrama de flujo cuyo ejemplo es el siguiente:

Dados  los datos A, B y C que representan numeros enteros diferentes, construya un diagrama de flujo para escribir estos numeros en forma descendente.
Estos datos son variables de tipo entero.
Quienes conocen el libro el ejemplo esta impreso en la pagina 75 y muestra el desarrollo bajo una estructura selectiva en cascada o anidadas y en ese caso emplea operadores relacionales.Mi pregunta es como se construye ese diagrama ?
Sabiendo que se empieza de arriba hacia abajo y de izquierda a derecha como                                            se van formulando las condiciones ?  lo mas claro que tengo es que las condiciones se van construyendo de la siguiente forma:

Las estructuras son del tipo doble: si entonces / sino


A > B ? si,

entonces A > C ?  si

entonces B > C ? si

entonces imprima A, B,  C

El resultado esta suponiendo que A=3  B=2  y  C=1  pero despues hay que completar el resto del diagrama porque pueden darse todas las variantes posibles.Parece facil pero no tanto.
Dicho la pregunta de otra manera: como surge la comparacion entre los operandos ?
porque el libro no lo explica.
Alguien me ayuda a entender eso ?
Desde ya muchas gracias

Saludos
Tuxnet

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Construccion De Algoritmos
« Respuesta #1 en: Lunes 28 de Abril de 2008, 04:20 »
0
Algunops autores quieren ser tan puristas que se olvidan que sus 'libros' van dirigidos a la gente sencilla no a mestros 'oádicos' que van a felicitarle por su obra...

El tipo  hablando en cristiano,  te está hablando de un algooritmo de ordenación, en el caso conreto descendente... a pesar de lo extraño que te lo haga parecer en el libro, el algoritmo que te describe, ya lo conoces, lo usas a diario intuitivamente,  

Coge tre trozos de papel  de diferente tamaño, al más grande le escribes A, al más pequeño C al otro B, cólocalos en orden alfabético...

ahora intenta ordenarlo sin ningún algoritmo leído, pero cada movimiento descríbelo en papel de moooodo detallado.

Lo que haces para determinar que uno es mayor que otro es compararlo con aquel... la comparación siempre es una resta:

comparacion= a-b, si comparacion es mayor que 0, a es mayor, si comparación es menor que 0 el mayor es 'b' si comaracion es 0 son iguales...

No obstante al programar no es preciso hacerlo así, el ensablador ya lo hace por nosotros, nosotros podemos hacerlo ya condicionado a un más alto nivel usando decisiones.. ... enla forma : Si 'A' es mayor que 'B' luego .....


Entonces tu diagrama sería algo como: dibujas 3 letras  una para cada variable encerrada en un círculo, luego comparas:  comparar 'A' y 'B'  esto es diibujas un rombo y llevas 2 lineas al rombo una desde el circulito A y otra desde el de B, hazlos entrar por esquinas del rombo, en las líneas dibuja unas flechitas pequeñas para indicar que van desde los círculos hacia el rombo... en el rombo dentro escribes ¿B>A?  saca ahora 2 líneas del rombo  solo un poquito,  justo después de una pones  B > A   en la otra B < A o bien pones SI y en la otra NO.... por la que pone si (B>A)  contnúa la línea y haz que entre a otro rombo, al rombo hazle llegar otra línea pero ahora desde el círculo 'C', ponle la dirección de las flechitas... dentro del rombo este escribe ¿C>B?   saca dos líneas y como antes escribes  -----Si --------> y en la otra  --------NO--------->   al final de SI pones C>B>A  en la que sale NO lllevas la línea hacia un 3º rombo.... ahora completa el resto de casos siguiendo el método....verás que hay 6 soluciones posibles y has necesitado 4 operaciones de comparación, para encontrar la respuesta, sea cuales sean los valores de A,B y C.
«Ma non troppo»
----> ModoVacaciones = False<----