viernes, 19 de febrero de 2010

Proyecto 1

Problema # 2
Colocar un grupo de libros en un librero en orden alfabético según el título.
Bueno este es el otro problema que mi compañera y yo elegimos. En este problema tenemos que encontrar la solución para poder ordenar los libros en orden alfabético según su título.
El algoritmo que realizamos fue el siguiente:

1. Inicio

2. Declaras los libros

3. Pedir y asignar los libros que vamos acomodar

4. Ingresas el titulo del libro

5. lo va acomodar directamente en la primera posición.

6. Si el siguiente libro que ingreses la letra es menor al primero lo correra a la segunda posición, sino quedara igual y asi sucesivamente todos los libros que ingreses.

7. fin

Para representar nuestro problema y algoritmo hicimos el siguiente diagrama de flujo:
Esta es la representacion de nuestro algoritmo.
Primero inicio, luego declaramos un arreglo indefinido porque aun no sabemos los libros que acomodaremos, primero pedimos y asiganamos los libros que queremos acomodar, para poder definir de que tamaño quedara nuestro arreglo, despues este arreglo toma como valor el numero de libros ingresados, despues nuestra variable "x" contara las filas del arreglo, despues nos pide el nombre del libro, ingresamos el nombre del primer libro que deseamos acomodar y el programa automaticamente lo va acomodar en la primera posición de nuestro librero porque aun no tenemos mas libros, pero despues se regresa y te pide el nombre del segundo libro y si este tiene su letra inicial menor que el primero que acomodamos regresara al siguiente libro hasta terminar de capturar el numero de libros que asignamos y si es mayor se iniciara otro contador que lo declararemos como "y"que controlara el valor de la fila del arreglo despues compararemos los valores guardados, si es mayor cambiaran los valores y seguiran realizandoce el mismo proceso de comparacion desde el inicio, en cambio si no es mayor pasara al siguiente par de las posiciones que tenemos. Al final despues de ingresar todos los nombres de libros imprimira nuestro programa la lista de los libros ya ordenados alfabeticamente.

A continuación presentare 2 ejemplos de nuestro problema:
Ejemplo 1
Primero nos pide el numero de libros que vamos acomodar en este caso pondremos 5 osea que ingresaremos 5 titulos de libros.





Despues ingresaremos los titulos de los 5 libros que son:
Este libro empezara en la primera posición parcialmente.


Despues de que ingresemos este segundo titulo nuestro programa comparara si va primero o despues del primero.

Despues ingresamos el tercer libro y comparara de nuevo con los 2 anteriores para poder acomodarlo en su respectiva posición que en este caso deberia de quedar en segundo osea en medio de los 2 anteriores.

Luego seguimos con el cuarto libro y nuestro programa hace de nuevo el mismo procedimiento comparar con los demas libros si es mayor o menor para asignarle su respectivo lugar.

Por ultimo ingresamos el quinto y ultimo libro que queriamos acomodar de nuevo hace el mismo proceso compara con todos los libros y lo acomoda, que en este caso tendria que quedar en primera posición.

Y para finalizar el programa nos lanzara la lista de los libros que ingresamos ya ordenada alfabeticamente.

Ejemplo 2
Nuestro programa preguntara cuantos libros deseas acomodar o almacenar.
Despues escribiremos los libros que queramos añadir a la lista igual como lo hicimos en el ejemplo 1 pero si se quisiera almacenar mas o menos libros de los indicados aparecera un error dependiendo de la razon:

El programa hara el mismo procedimiento que en el ejemplo 1 para acomodar y almacenar los libros de orden alfabetico segun su titulo.
Todos los diagramas de flujo fueron realizados en el diagram dessigner
Para mas información sobre ese software y donde podran descargarlo den click en el vinculo.

Mi compañera de equipo: Laura Gonzalez Hernandez

1 comentario:

  1. No entendí mucho de su diagrama. ¿Para qué andan sacando módulos? ¿Qué representan las variables x, y y z? ¿Qué quiere decir la estructura esa de tres niveles? La explicación que sigue luego me parece razonable, mientras al diagrama no lo sé apreciar mucho.

    ResponderEliminar


Ejemplo de una maquina turing

Diagrama de flujo

Diagrama de flujo
representacion grafica de un algoritmo

Numeros Binarios

* Cada entero positivo se puede expresar como la

suma de selectas potencias de dos



*Cada potencia aparece por máximo una vez



* La presencia de una potencia se indica con el

dígito uno, su ausencia con el dígito cero



* La potencia cero se ubica en el extremo derecho

de la cadena binaria



EJEMPLO:

5612 convertido a numero binario

quedaria asi:

1010111101100



13503 convertido a numero binario

quedaria asi:

11010010111111

Se preguntaran que es lo que hice bueno hay les van los pasos para realizar este cambio:
1. Buscamos el multiplo de 2 que este mas cerca de nuestro numero, pero sin pasarse por ejemplo en el 5612 el multiplo mayor que utilizamos fue el 12 que seria 4096.
2. Despues restamos primero el multiplo de dos que tengamos mayor y asi susecivamente vamos restando de lo que nos queda el sig. multiplo y cada que restemos ponemos un "1" y en caso de que un numero no lo podamos restar porque es menor lo brincamos pero en nuestro numero binario pondriamos un "0" y asi hasta llegar a cero.
3. Luego comprobamos sumando todos los multiplos de 2 que restamos y nos debe de dar el mismo resultado.

Ejemplo: 5612
el multiplo con el que empezariamos seria el de 12- 4096 se lo restamos al 5612 y en este caso pondriamos en nuestro numero binario un "1" lo que nos de lo restamos al siguiente y asi sucesivamente.