18 de febrero de 2010

Proyecto I

Bueno Gabriela Alemán García con matrícula: 1410319 y yo Juan Manuel Casanova Villarreal con matrícula: 1453829 del grupo 4200 de las clases de los martes en la hora: V4 a V6 hicimos el proyecto 1 con 2 problemas a resolver, en esta entrada voy a poner el primer problema y en otra entrada el otro.


Problema 1: Buscar un número telefonico en la guía telefónica.
Aqui esta el diagrama de flujo de este problema:
Como vemos en la imagen anterior, al principio la primer pregunta es que si tienes directorio, si dices que si continua el diagrama pidiendote la primera inicial del apellido de la persona que buscas, despues te pide que busques la siguiente letra y despues todo el apellido.
Enseguida viene el estatúto de decisión que te dice que si encontraste el apellido que lo compares con el nombre completo y si no encontraste el nombre completo te dice que la persona que buscas no esta dada de alta en la guía telefónica.
Si ya encontraste el nombre de la persona viene otro estatúto de decisión que dice: ¿si es el que buscabas? y si dices que si te dice felicidades haz encontrado el número y si no es el que buscabas te regresa a la parte en que dice que la persona que buscas no esta dada de alta en el directorio. Al terminar te dice que si quieres buscar otro número, si lo quieres buscar vas a volver a iniciar desde el punto señalado con el número 1.
Bueno asi es como queda el algoritmo.

Aqui esta el programa y el codigo en C:














#include
#include
int dir;
main()
{
do{
do{
printf("Tienes un directorio?\n1.-Si\n2.-No\n");
scanf("%d",&dir);
 if(dir==2)
 printf("Consigue un directorio\n");
}while(dir==2);


printf("Busca la seccion de la primera letra del apellido\n");
getch();
printf("Busca el apellido identico al que buscas\n");
 getch();
printf("Lo encontraste?\n1.-Si\n2.-No\n");
scanf("%d",&dir);

if(dir==1)
    {
        printf("\nExiste mas de un apellido igual\n1.-Si\n2.-No\n");
        scanf("%d",&dir);
        if(dir==1||dir==2)
        {
            printf("\nCompara el nombre completo\n");
                getch();
            printf("Es el que buscas\n1.-Si\n2.-No\n");
            scanf("%d",&dir);
            if(dir==1)
                    printf("\nFelicidades ya sbes usar un directorio\n");
                else
                    printf("\n\nLa persona no se encuentra registrada en este directorio\n");
        }
    }
    else
    {
    printf("\nLa persona no se encuentra registrada en este directorio\n");
    }
    getch();
      clrscr();
    printf("\Deseas hacer otra consulta?\n1.-Si\n2.-No\n");
    scanf("%d",&dir);
}while(dir==1);

}


Despues tenemos 2 ejemplos de ejecución paso a paso para poder comprender mejor el algoritmo:
Ejemplo 1:
Tenemos un nombre completo por ejemplo Jose Luis Gonzalez Lopez.
Te pregunta si tienes directorio en este caso si.
Buscas la inicial del primer apellido que es la "G", buscas la siguiente letra que es la "o", después busca el apellido completo, si ya lo encontraste compara el nombre completo, si es el que buscabas felicidades ya encontraste el numero, si no, puede que no este dado de alta la persona en esta guía telefónica.
Ejemplo 2:
Tenemos el nombre: Pedro Gutierrez Gonzalez.
Busca la inicial del primer apellido que es la "G", buscas la siguiente letra que es la "u", despues busca el apellido completo, si ya lo encontraste compara con el nombre completo, si es el que buscabas felicidades ya encontraste el numero, si no, puede que no este dado de alta en la guía telefónica.

Bueno este fue el problema 1, en la siguiente entrada esta la continuación del proyecto con el problema 2 que es colocar un grupo de libros en un librero en orden alfabetico según el titulo. 

1 comentario:

Elisa dijo...

En ambas sus soluciones dicen simplemente "buscar", pero no dicen cómo. Hay muchas maneras de buscar ;) En programación y en lo que es diseño de algoritmos es importante ser muy específico.