Entradas populares

domingo, 6 de marzo de 2011

Algunos programas muy utlies

  • Este es un programa que resuelve un sumatoia de 1/k^2 (para los que o saben el símbolo '^'  significa a la potencia _y el numero de la potencia.) la sumatoria la hace desde el valor de k=1 hasta k=200. Un dato curioso que podrán notar es el uso de la instrucción cout.precision(3);  la cual me permite definir la precisión con la que quiero que se trabajen los flotantes o dicho de una manera mas sencilla los digitos que deseo que se usen después del punto decimal, en este caso es 3.
#include<stdio.h>
#include<iostream>
#include<conio.h>
using namespace std;
main()
{
      float suma=0.0, lim, k=0.0;

     cout<<"   ************************************************************************\n";
     cout<<"   **Programa para sacar la sumatoria de 1/K,aritmetica de punto flotante**\n";
     cout<<"   ************************************************************************\n";
     cout<<"\n\n\n";
     cout.precision(2);
     for( lim = 1; lim <= 200; ++lim )
     {
          suma = suma + (1/ (lim*lim));
          cout.precision(3);

     }
     putchar('\n');

     cout<<"La sumatoria de todos los numeros representados con un aritmetica de putno      flotante de (10,3,9,9) \n\n        >>>>Es: "<<suma;
     cout<<"\n\n\n Conclucion:\nPodemos ver la infinidad de numeros que pueden ser formados con una aritmetica  de punto fotante de este tipo,";
     cout<<" debido a lo pequeño que se torno el numero       conciderando los valores significativos que obtuvo despues del punto decimal.";
     getche();
     return(0);
}



  • Este es un programita muy curioso, bueno la verdad es que no mucho o depende del que le analize bajo sus criterios personales. El punto es que este programa se encarga de pasar un numero de notación decimal a binaria.
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
main()
{
      long int decimal,i,cont=0, bin[30], cont2,ind=0;
      long int  numconv;
      cout<<"                   Pasar un numero de Decimal a Binario.";
      
      cout<<"\n\n                   Digite el numero Decimal: "; /* Aqui pide el numero que deseas pasar a binario*/
      cin>>decimal;  
      
      numconv=decimal; /* Salvamos el numero en otra variables para usarlo despues*/
       if(decimal>10)
      {
                    cont=12;
      }
      else
      cont=decimal/2;
      cont2=cont;/* Salvamos el contador en otra variable*/
      
      for(i=0; i<=cont; i++) /* Proceso de conversión.*/
      {
      bin[i]=decimal%2;
      decimal=decimal/2;
      }
      
      putchar('\n');
      cout<<"                   El numero en binario es: ";
      
      for(i=cont2-1; i>0; --i)
      {
                    if(bin[i]==0)
                    {
                                 --cont;
                    }
                    else
                    break;
      }
           
      for(i=cont;i>=0; i--) /* Lo Imprimimos*/
      {
      cout<<bin[i];
      }
      
      getche();
      return(0);
}

  • Hablando todavía de notaciones les traigo el programa que hace el proceso inverso al anterior, este en lugar de pasar de decimal a binario pasa de binario a decimal.usamos lo que son la sentecnia while por si el usuario desea volver hacer otra conversion.
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
main()
{
      int decimal=0;
      int binario,res,cont=1;
      int continuar=1;
      cout<<"                   Pasar un numero de Binario a Decimal.";
      
      while(continuar==1)
      {
       cout<<"\n\n                   Digita el numero en binario: ";
       cin>>binario;
       decimal=0;
       
                 while(binario>0)
                 {
                  res=0;
         res=cont*(binario%10);
         decimal+=res;
         cont*=2;
         binario/=10;
                 }
                 
       cout<<"\n                   El numero en decimal es: "<<decimal;
       cout<<"\n\nSi desea continuar presione 1, si no presione 0\n"; 
       cin>> continuar;
       }
return(0);
getche();
}

  • Este sera el ultimo aporte( !de esta entrada¡) y no es ni mas ni menos que un programa en el cual empleo el uso de funciones en c/c++,(si utilizan codeblocks deben de hacerle unas modificaciones) y de la sentencia switch para crear lo que es un menú el cual hace que nuestro programa se vuelva interactivo ( que el programa sea interactivo quiere decir que le pide al usuario que le digite algún dato, para poder hacer algo ). este programa junta las funciones de los dos antiguos programas.
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
void pantallaso();
int entrada(); /* funcion que recogera una opcion que digite el usuario.*/
void decimal(); /* Funcion que pasara de decimal a binario*/
void binario(); /* Funcion que pasara de binario a decimal*/

main()/* Iniciamos las sentencias de ejeucion del programa*/
{
         int dato, continuar=1;
         
         pantallaso();
         while(continuar==1)
         {
         cout<<"\n\n";
         dato= entrada(); /* Pide a opcion de lo que deseas convertir*/
         switch(dato)
                     {
                          case 1:
                               cout<<"\n\n";
                               decimal();
                               break;
                          case 2:
                               cout<<"\n\n";
                               binario();
                               break;
                          default:
                               cout<<" Dato Erroneo";
                               break;
                     }  
                     
         cout<<" \n\n >>>Si desea continuar precione 1; si no precione 0";
         cout<<"\n\n                        >Digite su opcion: ";
         cin>>continuar;/* Opción por si desea continuar*/
         }
         
         getche();
         return(0);
}
void pantallaso()
{
     cout<<"   ************************************************************************\n";
     cout<<"   **Programa para convertir de Decimal a binario o de Binario a Decimal.**\n";
     cout<<"   ************************************************************************\n";
     cout<<"\n\n\n";
}

int entrada()
{
    int opcion;
    cout<<"                >>>Si desea convertir de Decimal a Binario presione '1'.\n\n";
    cout<<"                >>>Si desea convertir de Binario a Decimal presione '2'.\n\n";
    cout<<"                >Digite su opcion: ";
    cin>>opcion;/* Variable en la cual guardamos la opcion que digito el usuario*/
    return(opcion);
}

void decimal()
{
      long int decimal,i,cont=0, bin[30], cont2,ind=0;
      long int  numconv;
      cout<<"\n\n";
      cout<<"                   Pasar un numero de Decimal a Binario.";
      
      cout<<"\n\n                   Digite el numero Decimal: "; /* Aqui pide el numero que deseas pasar a binario*/
      cin>>decimal;  
      
      numconv=decimal; /* Salvamos el numero en otra variables para usarlo despues*/
       if(decimal>10)
      {
                    cont=12;
      }
      else
      cont=decimal/2;
      cont2=cont;/* Salvamos el contador en otra variable*/
      
      for(i=0; i<=cont; i++) /* Proceso de conversión.*/
      {
      bin[i]=decimal%2;
      decimal=decimal/2;
      }
      
      putchar('\n');
      cout<<"                   El numero en binario es: ";
      
      for(i=cont2-1; i>0; --i)
      {
                    if(bin[i]==0)
                    {
                                 --cont;
                    }
                    else
                    break;
      }
           
      for(i=cont;i>=0; i--) /* Lo Imprimimos*/
      {
      cout<<bin[i];
      }

}

void binario()
{
     int decimal=0;
     int binario,res,cont=1;
     
     cout<<"\n\n";
     cout<<"                   Pasar un numero de Binario a Decimal.";
      
     cout<<"\n\n                   Digita el numero binario: ";
     cin>>binario;
     decimal=0;
       
                 while(binario>0)
                 {
                  res=0;
         res=cont*(binario%10);
         decimal+=res;
         cont*=2;
         binario/=10;
                 }
     cout<<"\n                   El numero en decimal es: "<<decimal;
     
}


No hay comentarios:

Publicar un comentario