Menú principal

sábado, 26 de marzo de 2016

Pide y ordena números en C

El ejercicio a realizar consiste en que el programa pida al usuario el número de números que quiere ordenar, que les introduzca y finalmente que el programa muestre los números introducidos de menor a mayor.

Programa resuelto:

#include <stdio.h>

int main()
{
    int numElem;
    int aux;

    printf("El programa ordenara de menor a mayor\n");

    printf("¿Cuantos numeros quieres ordenar?\n");
    scanf("%d", &numElem);
    int num[numElem];
    
    int i;
    for(i=0; i<numElem; i++)
    {
        printf("Intro elemento %d: ", i+1);
        scanf("%d",&num[i]);
    }

    //ordenamos
    int mini, posmini;

    for(i=0; i<numElem-1; i++)
    {
        posmini=i;
        mini=num[i];
        int j;
        for(j=i+1; j<numElem; j++)
        {
            if(mini>num[j])
            {
                posmini=j;
                mini=num[j];
            }
        }
        aux=num[i];
        num[i]=mini;
        num[posmini]=aux;
    }

    //visualizamos

    for(i=0; i<numElem; i++)
    {
        printf("%d  ", num[i]);
    }
return 1;

}

Lanzamiento de la app Prgrameva

Hoy os traigo algo diferente, solamente quería informaros del lanzamiento de una aplicación desarrollada únicamente para permitir un acceso más cómodo y directo tanto a las entradas de mi blog como a mi canal de youtube y otras páginas de interés.

Os dejo la apk para que la podáis descargar (gratuitamente). De vez en cuando iré actualizando la app y por lo tanto también el Link de descarga. Si tenéis alguna sugerencia no dudéis en dejarmela en los comentarios.

Link de descarga: App Programeva

sábado, 12 de marzo de 2016

Pide nombre en C

En este ejercicio os enseñare un nuevo tipo de variable, char. Esta variable guarda caracteres como por ejemplo símbolos o letras. Lo peculiar que tiene este tipo de variable es que le tienes que asignar el numero de "espacios" que vas a utilizar, por ejemplo si quiero introducir el nombre Isabel pondré:

int main()
{

char nombre[6];

}

Y en memoria se verá así: 


Como podemos observar al final nos ha metido un caracter que siempre aparecerá al final de la variable char '\0'

Otra peculiaridad que tienen las variables tipo char es que en los scanf por una parte en vez de poner %d como en los int, ahora pondremos %s, y por otra parte no se pone el &, lo veréis en el siguiente ejercicio.
                                
El programa a realizar consiste en pedir el nombre al usuario y saludarle. Como no sabemos el número de caracteres que va introducir pondremos por ejemplo 20:

#include <stdio.h>

int main()
{
    char nombre[20];

    printf("Intro tu nombre: ");
    scanf("%s", nombre);

    printf("Tu nombre es: %s", nombre);

}


Odena números en C

El siguiente ejercicio consiste en pedir al usuario que introduzca cuantos números quiere ordenar y a continuación pedirle que les introduzca por teclado. El programa les visualizará ordenados de menor a mayor.

Programa resuelto:

#include <stdio.h>

int main()
{
    int numElem;
    int aux;

    printf("El programa ordenara de menor a mayor\n");

    printf("¿Cuantos numeros quieres ordenar ?\n");
    scanf("%d", &numElem);
    int num[numElem];

    int i;
    for(i=0; i<numElem; i++)
    {
        printf("Intro elemento %d: ", i+1);
        scanf("%d",&num[i]);
    }

    //ordenamos
    int mini, posmini;

    for(i=0; i<numElem-1; i++)
    {
        posmini=i;
        mini=num[i];
        int j;
        for(j=i+1; j<numElem; j++)
        {
            if(mini>num[j])
            {
                posmini=j;
                mini=num[j];
            }
        }
        aux=num[i];
        num[i]=mini;
        num[posmini]=aux;
    }

    //visualizamos

    for(i=0; i<numElem; i++)
    {
        printf("%d  ", num[i]);
    }
return 1;

}

Emisor / receptor infrarrojo controlado desde arduino

En esta práctica controlaremos un emisor y un receptor infrarrojo desde arduino. La práctica consiste en acercar el emisor al receptor y cuando este detecte la luz emitida por el emisor se encienda un led, ya que los rayos infrarrojos no son perceptibles por el ojo humano.

A continuación os dejo el programa y un vídeo en el que podéis apreciar el funcionamiento:

Videohttps://www.youtube.com/watch?v=2KfdGZI2arw

Programa:

const int analogInPin = A1; // Pin analogico A1 para la lectura del Fototransistor
const int OutPin = 13;      // Pin para el indicador led 

int sensorValue = 0;        // Inicializamos el valor del sensor a 0

void setup() 
{
  pinMode(OutPin, OUTPUT);
}

void loop()  
{
  // leemos el pin y asignamos el valor a la variable.  
  sensorValue = analogRead(analogInPin);           
  
  // Si el valor obtenido es mayor a 1022 se activa el LED  
  if(sensorValue > 1022)
  {
    digitalWrite(OutPin, HIGH);
  }
  else
  {
    digitalWrite(OutPin, LOW);
  }
                    
}