sábado, 20 de noviembre de 2010

Programas

Máximo Común Divisor

Este programa nos dice cual es el  MCD de dos números asignados por el usuario.

Primero guardamos el código con la extensión ".c"

Código:

#include<stdio.h> 

 

int main (){

         int n1, n2, res;   

   

 printf("\nDame el primer numero entero: ");

    scanf("%d", &n1);

    printf("\nDame el segundo numero entero: ");

    scanf("%d", &n2);

   

   

if(n1

    res= n1*n2;}

    if(n1>n2){

    res= n1*n2;}

    if(n1==n2){

    res= n1;}

   

printf("\nEl maximo comun divisor de %d y %d es: %d",n1,n2,res);

 

printf("\n");

 

}

Una vez que lo tenemos localizado en la terminal, es hora de compilarlo.

(Cambiar de carpeta con "cd", ver su contenido con "ls")

Para compilar usamos "gcc archivo.c"

(Sin el "getch();")


Vamos a ejecutarlo, usamos "./a.out".


Nos pide el primer numero.


Y luego el segundo numero.


Y al final imprime los numero utilizados y su "MCD".

Programa

Es Divisor?

Esta vez haremos un programa que nos dice si un numero es divisor de otro, estos números nosotros se los proporcionamos.

Crear un archivo con la extensión ".c" y guardamos el código ahí.

Aquí esta el código:

#include<stdio.h> 

 

int main (){

         int n1, n2;   

   

    printf("Dame el primer numero entero: ");

    scanf("%d",&n1);

   

    printf("\nDame el segundo numero entero: ");

    scanf("%d",&n2);

   

    if(n1%2==0&&n2%2==0){

    printf("\n%d y %d es divisor", n1, n2);}

    else

    printf("\nNo son divisibles");

 

                printf("\n");

 

}

Bien localizamos el archivo en la terminal, y lo compilamos.

("cd" cambiar de carpeta, "ls" ver su contenido)

Compilar con "gcc archivo.c"

(Sin el "getch();")


Y ahora lo ejecutamos con "./a.out".


Nos pide el primer numero entero.


Después el segundo numero entero.


Y al final nos dice si es divisor o no lo es.


Programa

Área de un círculo

Este es un programa sencillo que sirve para calcular el área de un círculo, así como su circunferencia también, en base al radio que nosotros le proporcionamos.

Bien guardamos el código con la extensión ".c"

Este es el código:


#include<stdio.h> 

#include<math.h> 

 

int main (){

         float rad, area, circunferencia;   

   

    printf("Dame el radio del circulo: ");

   scanf("%f", &rad);

  

   area= M_PI* pow(rad,2);

   circunferencia=(2*M_PI*rad);

  

   printf("El area es de: %.2f\n", area);

   printf("La circunferencia es de: %.2f", circunferencia);

   printf("\n");

 

}

  

Vamos a la terminal, buscamos el archivo ("cd" cambiar carpeta, "ls" ver contenido), y para compilar usamos "gcc archivo.c" (sin que tenga el  "gtech();").


Para ejecutarlo usamos "./a.out"


Nos pide el radio del círculo.


Y nos dice el área y la circunferencia del círculo.

Programa

Cuanto es un día?

Vamos hacer un programa que nos diga cuantos segundos, minutos y horas hay en una cantidad de días que nosotros le demos.

Hacemos un archivo ".c" con el código:


#include<stdio.h> 

         int main (){

         int dia, segundos, minutos, horas;   

   

    printf("Dame el numero de dias: \n");

    scanf("%d", &dia);

   

    segundos= (dia* 86400);

    printf("El numero de segundos que hay en %d dias es: %d segundos.\n", dia, segundos);

 

    minutos= (dia* 1440);

    printf("El numero de minutos que hay en %d dias es: %d minutos.\n", dia, minutos);

 

    horas= (dia* 24);

    printf("El numero de horas que hay en %d dias es: %d horas.\n", dia, horas);

 

}


Cuando tengamos el código localizado en la terminal lo compilamos. ("cd" cambiar de carpeta, "ls" ver contenido).

Para compilar usamos "gcc archivo.c", (Sin el "getch();")


Para ejecutar usamos "./a.out"


Le damos el numero de días que queremos convertir y nos da las cantidades en sus respectivas unidades.


Programa

Cual es tu horóscopo? Averígualo

Este es un programa que te dice tu horóscopo para eso le decimos nuestro día y mes de cumpleaños, es un programa con un código muy largo así que un error por un ";" es un poco difícil de encontrar.

Pero en fin, manos a la obra, vamos a ver el código, y lo guardamos con la extensión ".c"

Así queda el código:


#include <stdio.h>

 

int main (){

         int dia, mes;   

   

    printf("Ingresa tu dia de cumple: ");

    scanf("%d", &dia);

    printf("Ingresa el numero del mes de tu cumple: ");

    scanf("%d", &mes);

      

switch (mes){

       case 1: {if(dia>=1&&dia<=20)               

               printf("Tu signo es Capricornio");

               else if(dia>=21&&dia<=31)

               printf("Tu signo es Acuario");

               else

               printf("No existe signo");

               }

               break;

              

       case 2: {if(dia>=1&&dia<=19)            

               printf("Tu signo es Acuario");

               else if(dia>=20&&dia<=29)

               printf("Tu signo es Piscis");

               else

               printf("No existe signo");

               }

               break;

             

       case 3: {if(dia>=1&&dia<=19)              

               printf("Tu signo es Piscis");

               else if(dia>=21&&dia<=30)

               printf("Tu signo es Aries");

               else

               printf("No existe signo");

               }

               break;   

     

       case 4: {if(dia>=1&&dia<=20)              

               printf("Tu signo es Aries");

               else if(dia>=21&&dia<=30)

               printf("Tu signo es Tauro");

               else

               printf("No existe signo");

               }

               break;   

     

       case 5: {if(dia>=1&&dia<=21)               

               printf("Tu signo es Tauro");

               else if(dia>=22&&dia<=31)

               printf("Tu signo es Geminis");

               else

               printf("No existe signo");

               }

               break;   

      

       case 6: {if(dia>=1&&dia<=20)               

               printf("Tu signo es Geminis");

               else if(dia>=21&&dia<=30)

               printf("Tu signo es Cancer");

               else

               printf("No existe signo");

               }

               break;          

             

      case 7: {if(dia>=1&&dia<=22)               

               printf("Tu signo es Cancer");

               else if(dia>=23&&dia<=31)

               printf("Tu signo es Leo");

               else

               printf("No existe signo");

               }

               break;          

             

      case 8: {if(dia>=1&&dia<=22)               

               printf("Tu signo es Leo");

               else if(dia>=23&&dia<=31)

               printf("Tu signo es Virgo");

               else

               printf("No existe signo");

               }

               break;           

     

      case 9: {if(dia>=1&&dia<=22)               

               printf("Tu signo es Virgo");

               else if(dia>=23&&dia<=30)

               printf("Tu signo es Libra");

               else

               printf("No existe signo");

               }

               break;           

      

       case 10: {if(dia>=1&&dia<=22)

               printf("Tu signo es Libra");

               else if(dia>=23&&dia<=31)

               printf("Tu signo es Escorpio");

               else

               printf("No existe signo");

               }

               break;

      

       case 11: {if(dia>=1&&dia<=21)               

               printf("Tu signo es Escorpio");

               else if(dia>=21&&dia<=30)

               printf("Tu signo es Sagitario");

               else

               printf("No existe signo");

               }

               break;                     

      

       case 12: {if(dia>=1&&dia<=21)

               printf("Tu signo es Sagitario");

               else if(dia>=22&&dia<=31)

               printf("Tu signo es Capricornio");

               else

               printf("No existe signo");

               }

               break;                

       default : printf("No existe") ;

       break;      

              }

}

Bueno una vez guardado y localizado en la terminal,("cd" para cambiar de carpeta, "ls" para ver su contenido") el código vamos a compilarlo.

Usamos "gcc nombre de archivo.c" (No poner el "getch();" o marcara error al compilar en Ubuntu).

Si compilo bien vamos a ejecutarlo para eso usamos "./a.out"


Nos pide que le demos el día de nuestro cumpleaños.


Y ahora nos pide el mes(es el número del mes).


Al final nos dice nuestro signo.

Un poco de ocio en "C"

Usuario vs Compu!!

Este es un programa que imita el juego de "piedra, papel o tijeras" en el que puedes competir contra tu pc.

Primero guardemos el código con la extensión ".c"

Este es el código:


/*Este programa es un juego de piedra, papel o tijera*/

#include <stdio.h>

#include <stdlib.h>

 

/* la función main inicia la ejecución del programa */

int main ()

{

    /* fase de inicialización */

    int x;  /*La eleccion del usuario*/

    int intentos; /*Numero de intentos*/

    int ganados ; /*Numero de veces ganados*/

    int perdidos; /*Numero de veces perdidos*/

    int empate; /*Numero de veces empatados*/

    unsigned int y; /*Numero que se utiliza para establecer un numero aletorio*/

       

    intentos=0;

    ganados=0;

    perdidos=0;

    empate=0;

   

    printf("Selecciona una opcion\n1.-Piedra\n2.-Papel\n3.-Tijera\n(o -1 para terminar): \n");

    scanf("%d", &x);

   

    while(x!=-1){  /*Ciclo controlado por centinela*/

    y =(rand() %3);  /*Numero aletorio del 1 al 3*/

   

                 /*Determina cual fue la opcion que elegio el usuario*/

                 switch(x){    /*switch anidado dentro del while*/

                           case 1:

                                   if(x==y){ /*Se evaluan las siguientes condiciones*/

                                   printf("Es un empate\n");

                                   empate+= 1; /*Incrementa empate*/

                                   intentos+=1;/*Incrementa intentos*/}

                                   else if(x<=y){

                                   printf ("Tu pierdes\n");

                                   perdidos+=1;/*Incrementa perdidos*/

                                   intentos+=1;/*Incrementa intentos*/}

                                   else if (x>=y){

                                   printf("Ta ganas\n");

                                   ganados+=1;/*Incrementa ganados*/

                                   intentos+=1;/*Incrementa intentos*/

                                   }/*Fin del if*/

                                  

                                   break;/*Sale del switch*/

                          

                           case 2: if(x==y){ /*Se evaluan las siguientes condiciones*/

                                   printf("Es un empate\n");

                                   empate+= 1;/*Incrementa empate*/

                                   intentos+=1;/*Incrementa intentos*/}

                                   else if(x<=y){

                                   printf ("Tu pierdes\n");

                                   perdidos+=1;/*Incrementa perdidos*/

                                   intentos+=1;/*Incrementa intentos*/}

                                   else if(x>=y){

                                   printf("Tu ganas\n");

                                   ganados+=1;/*Incrementa ganados*/

                                   intentos+=1;/*Incrementa intentos*/

                                   }/*Fin del if*/

                                  

                                   break;/*Sale del switch*/

                          

                           case 3: if(x==y){ /*Se evaluan las siguientes condiciones*/

                                   printf("Es un empate\n");

                                   empate+= 1;/*Incrementa empate*/

                                   intentos+=1;/*Incrementa intentos*/}

                                   else if(x<=y){

                                   printf ("Tu pierdes\n");

                                   perdidos+=1;/*Incrementa perdidos*/

                                   intentos+=1;/*Incrementa intentos*/}

                                   else if(x>=y){

                                   printf("Tu ganas\n");

                                   ganados+=1;/*Incrementa ganados*/

                                   intentos+=1;/*Incrementa intentos*/

                                   }/*Fin del if*/

                                  

                                   break;/*Sale del switch*/

                                  

                           default: printf("Error\n");

                                    break;/*Sale del switch*/

                                    }/*Fin del switch*/

                                   

                                    printf("Selecciona una opcion\n1.-Piedra\n2.-Papel\n3.-Tijera\n(o -1 para terminar)\n");

                                    scanf("%d", &x);

                                    }/*Fin del while*/

   

   

    printf("\nHas ganado %d veces\n", ganados);/*Despliega el numero de veces ganados*/

    printf("Has perdido %d veces\n", perdidos);/*Despliega el numero de veces perdidos*/

    printf("Has empatado %d veces\n", empate);/*Despliega el numero de veces empatados*/

    printf("Has jugado %d veces\n", intentos);/*Despliega el numero de intentos*/

   

    if(ganados>perdidos){ /*Se evaluan las siguientes condiciones*/

    printf("\nGanaste la partida");}

    else if(perdidos>ganados){

    printf("\nPerdiste la partida");}

    else if(ganados==perdidos){

    printf("\nEs un empate");}/*Fin del if*/

 

    printf("\nGracias por jugar ;)");

   

}/*Fin de main*/

Una vez que tenemos el codigo vamos a compilarlo, pero primero localizamos el archivo en la terminal, "cd" para cambiar de carpeta y "ls" para ver su contenido.

Ya que lo localizamos, compilamos, para eso usamos "gcc nombre del archivo.c" y le damos enter.


Si compiló correctamente aparece un archivo llamado "a.out" que es el que ejecutaremos, (no es necesario poner el "getch();" de lo contrario marcará error).

Ahora para ejecutar el programa usamos "./a.out".

Bien como pueden ver aparecen las instrucciones de que numero teclear para elegir una opción, o salir. 1 para piedra, 2 para papel, 3 para tijeras y -1 para terminar.


Elegí tijeras y gane!!, nos pide otra elección.


Ahora elegí piedras y fue empate.


Después de varios intentos perdí por elegir piedra.


Al terminar nos dice cuantas ganamos, empatamos o perdimos, y las veces que jugamos.

Según el resultado nos dice si ganamos, perdimos o empatamos la partida.


Un poco de ocio

Adivina el número!!

Bueno compañeros ahora haremos un programa que nos pide que adivinemos el numero que escoge al azar en la menor cantidad de intentos posibles.

Para eso necesitamos hacer el código, recuerden lo pueden guardar en cualquier parte de su disco pero para hacer mas sencilla la búsqueda y ejecución lo guardo en el escritorio.

Este es el código:


/* Este programa es de adivinar un numero que la computadora elige al azar*/

#include<stdio.h> 

#include<stdlib.h> 

 

/* la función main inicia la ejecución del programa */

int main()

{

    /* fase de inicialización */

                int valor;/*El numero elegido por el usuario*/

    int intentos;/*Numero de intentos*/

                unsigned int z;/*Numero que se utiliza para establecer un numero aletorio*/

               

    intentos=1;

               

 

                printf("Dime un numero entre 1 y 1000 (-1 para terminar): ");

    scanf("%d",&valor);

   

    srand(valor);/*Se establece para que se genere un numero aleatorio*/

    z= 1+(rand() %1000);/*Numero aletorio del 1 al 1000*/

   

    while(valor!=-1){ /*Ciclo controlado por centinela*/

                    

                     if(valor==z){ /*Se evaluan las siguientes condiciones*/

                     printf("Felicidades hacertaste en %d intentos\n", intentos);}

                     else if(valor

                     printf("Mas arriba.Intentalo de nuevo\n");

                     intentos++;}/*Incrementa intentos*/

                     else if(valor>z){

                     printf("Mas abajo.Intentalo de nuevo\n");

                     intentos++;/*Incrementa intentos*/

                     }  /*Fin del if*/        

                                       

               

    printf("\nDime un numero entre 1 y 1000 (-1 para terminar): ");

    scanf("%d",&valor);

}/*Fin del while*/

 

   if(valor==-1){ /*Se evaluan las siguientes condiciones*/

   printf("\nGracias por jugar");

   }/*Fin del if*/   

 

 

}/*Fin de main*/


Ahora que ya tenemos el código podemos ir a la terminal, recuerden guardarlo con la extencion ".c".

También recuerden que en Ubuntu no es necesario poner el "getch();" ya que si lo dejamos marcara error al compilar.

Para cambiar de carpeta en la terminal se usa "cd" y para ver su contenido se usa "ls", (seguramente ya se lo aprendieron estos pasos pero de todas formas los pongo porque no están de más).

Una vez localizado el archivo vamos a compilarlo: usamos "gcc nombre del archivo.c"

Si compiló correctamente aparecerá otro archivo llamado "a.out" y en la terminal se muestra así:


Ahora sigue ejecutar el archivo para eso usamos "./a.out":


Una vez ejecutado nos pide que adivinemos el número, para eso le damos valores desde 1 hasta 1000, y si queremos terminarlo ponemos -1.


Yo le di el numero 500 y me dice que es mas abajo, que lo intente de nuevo.


Después de varios intentos acerté con el número 399, si le atinas te dice Felicidades y el número de intentos que tardaste en adivinar.