Pages

lunes, 31 de diciembre de 2012

Insertar n números en un arreglo ordenado – Diagrama de flujo

Problema
Hacer un programa o algoritmo. Se tiene un arreglo "A" donde se encuentra 10 números ordenados en forma ascendente, y se pide que el algoritmo  permita el ingreso de un número y lo coloque en la posición donde debería de estar con respecto al orden del arreglo.


Solución
Inicializamos la variable “q” en cero, se llama a la subrutina Cargar10Numeros para inicializar el arreglo ordenado ascendentemente, se solicita ingrese la cantidad de números que desea insertar, se captura el valor en la variable “C”, Se asigna a la variable “T” el total del longitud del arreglo, se llama a la subrutina CapturaNumeros, donde se ingresara los números que se desean insertar en el arreglo, luego se llama a la subrutina OrdenarAsc en la cual se ordenara los nuevos números ingresados y finalmente se llama a la subrutina MostrarNumeros, que nos mostrara la lista ordenada con los números insertados.Finaliza.


Diagrama de flujo - Insertar n numeros en una lista ordenada

En la subrutina Cargar10Numeros, se crea un arreglo Lista en donde se cargaran diez números ordenados ascendentemente en este arreglo se cargaran los números ingresados.


Diagrama de flujo - Subrutina Cargar10Numeros

En la Subrutina CapturaNumero, se crea un bucle For para agregar los números ingresados por el usuario estos números se asignan al final del arreglo Lista a partir de la posición 11, finaliza el ciclo.


Diagrama de flujo - Subrutina CapturaNumero

En la Subrutina OrdenaAsc , usamos el ordenamiento usando el algoritmo de la burbuja para lo cual se crea dos bucles, un bucle exterior While con condición q != (T-1)  se encargara de revisar si el arreglo ya esta ordenado, se inicializa el valor de “q” en cero, se crea un bucle For que recorrerá el arreglo y luego se
Se Compara si el primer elemento es menor  al segundo (Lista(k) <= Lista(k+1))
Si es Verdadero (Si)
    Actualizamos el valor de “q” agregándole 1.
Si es Falso (No)
    Se realiza un intercambio entre el primer y segundo elemento del arreglo
Se finalizan los bucles.

Diagrama de flujo -  Subrutina OrdenaAsc

 En la Subrutina MostrarNumeros, se crea un bucle For para mostrar los elementos ordenados ascendentemente del arreglo Lista, finaliza el bucle.


Diagrama de flujo - Subrutina MostrarNumeros

 Diagrama Fuente en FreeDFD 
 Código fuente en Java
 Código fuente en C++
 Código fuente en C
 Código fuente en C#
 Código fuente en Python
 Código fuente en Visual Basic

0 comentarios:

Publicar un comentario en la entrada