Menú principal

viernes, 29 de abril de 2016

Numero ¿par o impar? - C

El programa a realizar consiste en comprobar si un número introducido por el usuario es par o impar.

Solución:

#include <stdio.h> 
int main ( ) 

{ 
    
int num ; 

    
printf ( "Intro numero: " ) ; 
    scanf
 ( "%d" , & num ) ; 

    
if ( num % 2 == 0 ) //simbolo % para expresar el resto 
    
{ 
        
printf ( "El numero %d es par\n" , num ) ; 
    
} 

    
else 
    
{ 
        
printf ( "El numero %d es impar\n" , num ) ; 
    
} 
} 
 

Mostrar tabla de multipicar de un número - C

El programa consiste en pedir al usuario que introduzca un número, a continuación sacaremos la tabla de multiplicar de dicho número hasta el 10.

Solución

#include <stdio.h> 
int main ( ) 
{ 
    
int num , i , total ; 

    
printf ( "Intro numero: " ) ; 
    scanf
 ( "%d" , & num ) ; 

    
for ( i = 1 ; i <= 10 ; i ++ ) 
    
{ 
        total
 = num * i ; 
        
printf ( "\n%d * %d = %d" , num , i , total ) ; 
    
} 
} 

lunes, 25 de abril de 2016

División con divisor diferente a 0 (while) - C

Realizar programa en el que haga una división con el dividendo y divisor introducido por el usuario. La peculiaridad de dicho programa es que mientras el usuario introduzca como divisor el 0 el programa siga pidiendo introducir otro divisor.


Solución: 

#include <stdio.h>

int main()
{
    float dendo,dsor,coci;

    printf("Intro dividendo: ");
    scanf("%f", &dendo);

    printf("Intro divisor: ");
    scanf("%f", &dsor);

    while(dsor==0)
    {
        printf("El divisor no puede ser 0, ya que esto sería una indeterminacion\n");
        printf("Por favor introduzca otro divisor: ");
        scanf("%f", &dsor);
    }

    coci=dendo/dsor;
    printf("El resultado es: %f\n", coci);

}

División con divisor diferente a 0 (do-while) - C

Realizar programa en el que haga una división con el dividendo y divisor introducido por el usuario. La peculiaridad de dicho programa es que mientras el usuario introduzca como divisor el 0 el programa siga pidiendo introducir otro divisor.

Solución:

#include <stdio.h>

int main()
{
    float dendo,dsor,coci;

    printf("Intro dividendo: ");
    scanf("%f", &dendo);

    do
    {
        printf("Intro divisor: ");
        scanf("%f", &dsor);
    }
    while(dsor==0);

    coci=dendo/dsor;

    printf("El resultado es: %f\n\n", coci);
}

División con divisor diferente a 0 (if) - C

Realizar un ejercicio que haga una división con el dividendo y el divisor que introduzca el usuario siempre y cuando el divisor sea diferente a 0.

Solución:


#include <stdio.h>

int main()
{
    float dendo,dsor,coci;

    printf("Intro dividendo: ");
    scanf("%f", &dendo);

    printf("Intro divisor: ");
    scanf("%f", &dsor);

    if(dsor==0)
    {
      printf("El divisor no puede ser 0, ya que esto resultaria una indeterminacion\n");
      printf("Por favor reinicie el programa\n\n ");
    }
    else
    {
        coci=dendo/dsor;
        printf("El resultado es: %f\n", coci);
    }
}

sábado, 23 de abril de 2016

Realizar suma pidiendo el número de sumandos al usuario - C

Este ejercicio consiste en realizar una suma pidiendo al usuario el número de sumandos que quiere introducir y dichos sumandos. Tras ello habrá que ir sumando todos los sumandos que va introduciendo.

Solución

#include <stdio.h>

int main()
{
    int i, total=0, numS, sumando;

    printf("¿Cuantos sumando quieres introducir?: ");
    scanf("%d", &numS);

    for(i=1; i<=numS; i++)
    {
        printf("\nIntro sumando %d: ", i);//Así iremos poniendo sumando 1, sumando 2...
        scanf("%d", &sumando);
        total=sumando+total;
        printf("El total es: %d", total);
    }

}


Inicializamos la variable total a cero para que luego al realizar la suma se haga de la siguiente forma:
total=sumando+total;     //Supongamos que el usuario introduce como primer sumando el 5
0=5+0      //La suma daría 5 de momento, siguiente número es el 8
5=8+5    //El total se modificaría por un 13 y así sucesivamente

Realizar una suma en C

El ejercicio a realizar consiste en realizar una suma con los dos sumandos que el usuario introduce por teclado.

Solución

#include <stdio.h>
int main()
{
    int sumando1, sumando2, total;

    //pedimos al usuario el primer sumando
    printf("Introduce el primer sumando: ");
    scanf("%d", &sumando1);

    //pedimos al usuario el segundo sumando
    printf("Introduce el segundo sumando: ");
    scanf("%d", &sumando2);

    //realizamos la suma y la visualizamos
    total=sumando1+sumando2;
    printf("La suma es igual a: %d", total);

    return 0;
}

lunes, 4 de abril de 2016

Comandos desde terminal - Linux

Aunque se puede instalar un programa de forma gráfica como puede ser desde el centro de software de Ubuntu, en mi opinión lo más útil, potente y rápido es hacerlo desde el terminal. Un terminal es una forma de acceder al sistema mediante un formato de texto, por lo tanto, la forma de utilizar este sistema es mediante ordenes. Algunos lo definen también como la herramienta favorita de los Power-users y el terror de muchos usuarios que llevan poco tiempo con Linux.

PARA INSTALAR UN PROGRAMA:

Abrimos el terminal desde el lanzador o bien pulsamos Ctrl+Alt+T, a continuación tecleamos:

sudo apt-get install programa (ej: sudo apt-get install gimp)

A continuación nos pedirá el password y nos saldrán un montón de comandos donde estará buscando paquetes e instalándolos.

Si queremos abrir el programa bastaría con poner el nombre del programa y se abriría.

PARA DESINSTALAR UN PROGRAMA: 

Abrimos el terminal y escribimos el siguiente comando:

sudo apt-get remove programa (ej: sudo apt-get install gimp)

PARA ACTUALIZAR UN PROGRAMA:

Abrimos el terminal y escribimos:

sudo apt-get update programa (ej: sudo apt-get update gimp)

Recorrido de números en display - Arduino

Hoy haremos un ejercicio en Arduino pero de forma diferente ya que utilizaremos un "display". Para conseguirlo podeis o bien comprarlo o bien hacerlo casero (como en mi caso), para ello os dejo un link donde aprendí yo a hacerlo: link.

Una vez dicho esto, os explicaré en lo que consiste el ejercicio: el programa a realizar en arduino debe imprimir todos los números (del 1 al 9) en el display mencionado anteriormente.

En el programa utilizaremos una matriz (matrices) donde asignaremos los leds que se deben encender para que aparezca el número en el display.




NOTA: El display que he utilizado lleva la siguiente estructura: Las letras de color negro son donde están colocados los leds y los números de color blanco que están al lado de las letras son os pines donde he conectado cada led al arduino. Dependiendo de donde conectéis estos habrá que modificar en cierta parte el programa.





Podéis ver un vídeo del funcionamiento en el siguiente link: vídeo

PROGRAMA RESUELTO

int matriz[10][7]={
  {
    1,1,1,1,1,1,0      }//numero 0
  ,
  {
    0,1,1,0,0,0,0      }//1
  ,
  {
    1,1,0,1,1,0,1      }//2
  ,
  {
    1,1,1,1,0,0,1      }//3
  ,
  {
    0,1,1,0,0,1,1      }//4
  ,
  {
    1,0,1,1,0,1,1      }//5
  ,
  {
    1,0,1,1,1,1,1      }//6
  ,
  {
    1,1,1,0,0,0,0      }//7
  ,
  {
    1,1,1,1,1,1,1      }//8
  ,
  {
    1,1,1,1,0,1,1      }//9
};

void setup()
{

  for(int i=2; i<9; i++)//desde entrada 2 a la 9 
  {
    pinMode(i, OUTPUT);//declarar como salida
  }

}
void loop()
{

  for(int num=0; num<10; num++)//repetir 9 veces 
  {
    for(int i=0; i<7; i++)//i representa cada led
    {
      if(matriz[num][i]==1)//si en el numero[0] el led [2]==1 enciendele si no apagale
      {
        digitalWrite(i+2, HIGH);//i+2 porque he conectado el primer led en el pin 2
      }
      else 
      {
        digitalWrite(i+2, LOW);
      }
    }
    delay(1000);//entre numero y numero espera 1 segundo

  }
}

domingo, 3 de abril de 2016

Matrices - Arduino / C

Una matriz es un conjunto de elementos (números) ordenados en filas y columnas, es decir un vector multidimensional (podríamos verlo también como varios vectores del mismo tamaño).  Las matrices se definen por su tamaño, que normalmente suele se de dos dimensiones. A los elementos de las matrices se accede por subíndices (si la matriz es bidimensional necesitaremos dos subíndices, tridimensional tiene tres subíndices...)

El ejemplo mas típico de una matriz es una imagen, cada pixel va  a tener un valor que corresponde al color o nivel de gris y a esos valores podemos acceder por los subindices. por ejemplo en la imagen de a continuación si tratamos de visualizar el elemento imagen[0][3] sería el 44. Siempre el primer elemento son las filas y luego las columnas y siempre, como en los vectores, se empieza en 0

                                                     

Como podemos observar,  una dimensión seria de 8 filas y la segunda dimensión seria de 8 columnas.

La estructura de una matriz es:


int matriz[dimension1][diemnsion2];

En el caso del imagen:

int imagen[8][8]; //irá de 0 a 7


INICIALIZACIÓN DE UNA MATRIZ:

Las matrices se pueden inicializar al igual que un vector, para hacerlo se seguirá la siguiente estructura:

int matriz[dimension1][dimension2] = {{elemento1,elemento2,...}, {...}};

A continuación os muestro un programa donde empleamos una matriz, su primera dimensión es de 4 elementos y la segunda dimensión de 3.

#include <stdio.h>
int main()
{
    int i,j;
    int matriz[4][3] = {{1,0,8}, {1.4,2}, {2,7,4}, {3,9,6}};

    for (i = 0; i<4; i++)
    {
        for (j=0; j<3; j++)
        {
            printf("matriz[%d][%d] = ", i, j);
            printf("%d \t", matriz[i][j]);
        }
        printf("\n");
    }
}

La pantalla de salida será: