Páginas

sábado, 24 de noviembre de 2012

Un cuento hecho en Youblisher.

Youblisher es una herramienta, que permite subir un documento pdf para convertirlo en una presentacion tipo revista o libro, en la cual le da un efecto mas dinamico al momento de revisar la presentacion.

A continuacion un ejemplo hecho en esta herramienta:

Los tres cochinos

viernes, 2 de noviembre de 2012

      BUSQUEDA BINARIA DE UN VECTOR.

La búsqueda binaria al igual que otros algoritmos como el quicksort utiliza la técnica divide y vencerás. Uno de los requisitos antes de ejecutar la búsqueda binaria, es que el conjunto de elementos debe de estar ordenado. 

Supongamos que tenemos el siguiente array:
57 53 21 37 17 36 22 3 44 97 89 26 31 47 8 17

Debemos ordenarlo:
3 8 17 17 21 22 26 31 36 37 44 47 53 57 89 97


Necesitamos una seria de datos para realizar la búsqueda: El elemento en la posición inicio, fin, medio. Y porsupuesto el tamaño del vector y elemento que queremos buscar.

inicio = 0;
fin = tam – 1;
medio = (inicio + fin) / 2;


 A continuacion el codigo:

/*
HECHO POR:
ING.SAUL VALECILLOS C.I:21151142.
*/

#include<iostream>

using namespace std;

int busqueda_binaria(int *array, int clave, int tamaño=10)
    {
        int medio, inicio, fin;
        inicio = 0;
        fin = tamaño-1;
   
        while(inicio <= fin){
          medio = (inicio + fin) / 2;
     

 /*Preguntamos si el elemento buscado es igual al elemento que se encuentra en la posicion medio del array, si es afirmativo ya encontramos el elemento y no hay nada más que hacer.*/ 
  if(clave == array[medio]){
            cout << "Se encuentra en la posicion " << medio + 1 << endl;
            return array[medio];
          } 

 /*Si no es así. Preguntamos si el elemento que se encuentra en la posición medio es mayor al elemento buscado, si es afirmativo y como el array está ordenado, quiere decir que elemento buscado es menor al del medio. Entonces ahora solo buscaríamos en esa división del array,
por lo tanto, el fin ahora sería el elemento anterior al medio.*/

               else{
              if(array[medio] > clave){
                fin= medio - 1;
              } 

 /*De lo contrario quiere decir que elemento buscado es mayor al del medio, entonces debemos buscar en la otra división del array, por lo tanto el inicio sería el elemento posterior al medio.*/
             else {
            inicio = medio + 1;
              }
          }
        }
        return -1;
}
int main()
{
    int i,j,cambio,clave, array[10]={9,81,54,63,87,41,36,78,99,12},tamaño=10;

    cout<<"La tabla desordenada:"<<endl;

    for( i=0;i<=6;i++){
           cout<<array[i]<<endl;          
                      }
    for(i=0;i<=6;i++){
        for(j=i;j<=6;j++){
                        
            if(array[i]>array[j]){

                cambio=array[i];
                array[i]=array[j];
                array[j]=cambio;
            }
        }
    }   
    cout<<"\nLa tabla ordenada:"<<endl;
    for(i=0;i<=6;i++){     
      cout<<array[i]<<endl;
    }
cout<<"Ingrese el valor que desea buscar"<<endl;
cin>>clave;
busqueda_binaria(array,clave,tamaño=10);


    system("pause");
    return 0;
}

El programa ya compilado:















BUSQUEDA LINEAL DE VECTORES


     Los algoritmos de búsqueda lineal y binaria son 2 de los algoritmos más usados para encontrar elementos en una estructura de datos.
      La búsqueda lineal probablemente es sencilla de implementar e intuitiva. Básicamente consiste en buscar de manera secuencial un elemento, es decir, preguntar si el elemento buscado es igual al primero, segundo, tercero y así sucesivamente hasta encontrar el deseado. 

     A continuacion un codigo sencillo, para desmostrar como funciona el programa:

El programa compilado:







viernes, 19 de octubre de 2012

Metodo de ordenamiento de vectores
Intercambio

     El día de hoy se vio en clase algunos métodos de ordenamiento, estos son por el método de intercambio. Son algoritmos sencillos que permiten ordenar  vectores o matrices  que contienen  números enteros, puede ser de mayor a menor o lo contrario. Primero se necesita saber el concepto de vectores.
     En la informatica un vector es una zona de almacenamiento continuo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz. Desde el punto de vista lógico una matriz se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones). 

      A continuacion el codigo por el METODO DE INTERCAMBIO:

Las letras verdes dan la explicacion de su funcion.




El programa ya compilado:








miércoles, 10 de octubre de 2012

Repaso de C++

       El día de hoy repasamos en clase algunos códigos de C++. Recordando algunas librerías como "iostream", los operadores como la suma, uso de llaves para abrir y cerrar el cuerpo del programa, las variables y las constantes.
      A continuación un programa básico que se realizo hoy en clase, un simple software que suma dos números:

/*programa que suma dos numeros enteros*/
1)#include<iostream>
2)using namespace std;

    4)  int main()
    5) {
    6) int a,b,c;
    7) cout<<"Imprima un numero:\n";
    8) cin>>a;
     
   10)  cout<<"Imprima otro numero para completar para la suma:\n";
   11)   cin>>b;
   12)   /*Operador que suma las variables*/
   13)    c=a+b;
     
    15)cout<<"El resultado es:\n"<<c<<"\n"; 
    16)    return 0;
    17)    }

 Linea 1: Es donde se incluye la libreria del programa para especificar cuales codigos o comandos funcionaran en el software. En este programa nadamas se incluye la libreria "iostream" para decirle al compilador que usaremos "cout" y "cin" en nuestro en ella.

Linea 2: El "using namespace std" hace que el compilador reconosca "cout" y "cin". Algunos compiladores atacan los dos codigos mencionados anteriormente, es por eso que se usa este comando mencionado en la linea o se puede sustituir colocando en la libreria "iostream.h" o escribiendo "std" en cada linea del programa.

Linea 4: la función main(), es la más importante de todas la funciones , pues es esta la que nuestro compilador buscará para iniciar la ejecución de nuestro código, si esta función falta, nuestro programa no podrá arrancar, pues no sabrá desde donde hacerlo. La función main, como cualquier otra debe tener un tipo, es decir debe tener indicado cual es el valor que esta va a retornar al final, los tipos de las funciones pueden ser, enteros (int), decimales simples(float), decimales dobles(double), booleanos(bool), vacíos (void) entre algunos más, la función main, puede ser cualquiera de estos, pero por acuerdo, se coloca siempre como entera (int) y siempre retornara 0. 

Linea 5: Contiene la llave habriendo para especificar desde donde comienza la funcion.

Linea 6: Contiene una declaracion de variables (a,b,c) de tipo entero, es decir, las cifras no tienen decimales. Esta línea es sensible, porque tanto en C como en C++ los nombres de las variables son sensibles a las mayúsculas y a las minúsculas, es decir, para C o C++ la variable numero y la variable Numero, son dos variables totalmente distintas o la variable Numero y la variable NuMeRo. 

Linea 7: Esta linea contiene el codigo "cout" que es "mostrar por pantalla", es decir, cualquier cosa que se escriba a lado del codigo dentro de las comillas se mostrara en el programa. Esta linea es una sentencia. ¿Que es una sentencia? una sentencia es una línea de código, en la cual se realiza algún tipo de operación, asignación, comparación o declaración y siempre termina con un punto y coma, para indicar que finaliza esa linea, de lo contrario habra errores en los codigos. Las lineas 8,10,11,13,15,17,19 son sentencias.

Linea 8: Se utiliza el codigo "cin" la cual es para escribir por teclado, es decir, que le daremos un valor escribiendolo en el teclado a la variable que estemos usando.

Linea 13: Es un operador, lo cual sirve para sumar los valores de las variables que estamos usando. Hay muchos tipos de operadores como la sumas, las restas, multiplicaion,
division, etc...

Linea 15: Es igual que la linea 7 pero muestra el valor de la suma de los dos numeros enteros.

Linea 16: Esta nos indica por medio del return lo que la función debe retornar, en este caso, nos está diciendo que la función main(), deberá retornar cero cada vez que termine, en realidad la función main podría retornar cualquier cosa o incluso nada (void), podría retornar cualquier tipo de variable o incluso la variable numero misma, pero se ha establecido por acuerdo que siempre debería retornar 0, pues dado el caso en que retorne otro valor estando la sentencia return 0; dentro de ella, esto implicaría que hay algún error en la ejecución del programa.

Linea 17: Muestra la llave que cierra el cuerpo del codigo.