Menú principal

sábado, 28 de mayo de 2016

Calcular vértice de una parábola - C

Calcular el las coordenadas del vértice de una parábola, sabiendo que la coordenada x se calcula con la expresión: -b/(2*a) y la coordenada y sustituyendo el valor de la x en la parábola.

/*Calcula el vertice de una parabola*/

#include <stdio.h>
#include <stdlib.h>

int main()
{
    float a, b, c;
    float x, y; //coordenada y ordenada del vertice

    printf("Intro la parábola con forma ax^2+bx+c");

    printf("\nIntro a: ");
    scanf("%f", &a);

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

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

    if(a==0)
    {
        printf("La expresion introducida es una recta.");
        printf("\nEl valor de a tiene que ser diferente de 0.\n");
    }
    else
    {
        x=(-b/(2*a));
        y=a*(x*x)+b*x+c;

        printf("Las cordenadas del vertice son (%f , %f)", x, y);
    }
}



jueves, 26 de mayo de 2016

Calcular ecuación 2º grado - C

/*Calcula la ecuacion de 2 grado*/

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
    float a, b, c;
    float s1, s2;

    printf("La ecuación se introducirá de la siguiente manera ax^2 + bx + c\n");

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

    if(a==0)
    {
        printf("a tiene que ser distinto de 0\n");
        printf("Por favor reinicie el programa\n");
    }
    else
    {
        printf("Intro b: ");
        scanf("%f", &b);

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

        s1=(-b+sqrt(b*b-4*a*c))/(2*a);
        s2=(-b-sqrt(b*b-4*a*c))/(2*a);

        printf("\nLa primera solución es: %f", s1);
        printf("\nLa segunda solución es: %f", s2);
    }
}


sábado, 21 de mayo de 2016

Factorial de un número - C

Simplemente comentar que el factorial de un numero se calcula de la siguiente manera:

n! = n * (n-1) * (n-2) ... * 1
Ejemplo:

4! = 4 * 3 * 2 * 1 = 24

/*Calcula el factorial de un numero
introducido por el usuario*/
 


#include <stdio.h>

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

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

    
for ( i = num ; i > 0 ; i -- ) 
    
{ 
        total
 = i * total ; 
    
} 

    
printf ( "%d\n" , total ) ; 
}

Números pares (for) - C

/*Calcula con un bucle for los numeros pares
comprendidos entre el 0 y el 20*/
 


#include <stdio.h>

#include <stdlib.h> 
int main ( ) 
{ 
    
int i ; 

    
for ( i = 0 ; i < 21 ; i += 2 ) //Se utiliza el +=2 para ir de dos en dos 
    
{ 
        
printf ( "%d \n" , i ) ; 
    
} 
}

sábado, 14 de mayo de 2016

Función atoi - C

En este ejercicio utilizaremos una función que sirve para convertir una cadena de caracteres (que tenga algún número) en una variable que me guarde ese número ya sea int, float (atof)... En este caso será a int.

En el siguiente programa calcularemos los años que tiene el usuario.

/*Este programa calculará cuantos años tiene
el usuario sabiendo que estamos en el 2016.
El usuario introducira la fechar en formato:
DD/MM/AAAA*/

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char fecha[10];
    int i;
    char num[5];
    int anios;

    printf("Intro tu fecha de nacimiento (DD/MM/AAAA) : ");
    scanf("%s", fecha);

    if(strlen(fecha)!=10)
        printf("El formato debe de ser: DD/MM/AAAA");

    else
    {
        for(i=6; i<11; i++)//El año empieza en la posicion 7, fecha[6]
        {
            num[i-6]=fecha[i];
        }

        //Calculamos los años que tiene el usuario.
        anios=2016-atoi(num);

        printf("Tienes %d ", anios);
    }
}



viernes, 13 de mayo de 2016

Funciones - C

Una función es un conjunto de líneas de código que realizan una tarea específica y puede retornar un valor. Las funciones pueden tomar parámetros que modifiquen su funcionamiento. Las funciones son utilizadas para descomponer grandes problemas en tareas simples y para implementar operaciones que son comúnmente utilizadas durante un programa y de esta manera reducir la cantidad de código. Cuando una función es invocada se le pasa el control a la misma, una vez que esta finalizó con su tarea el control es devuelto al punto desde el cual la función fue llamada.

Para explicar la estructura de una función utilizaremos un programa que tiene una función para realizar una suma.

Algo importante a destacar es que los nombres de la variables que declaramos en la función fuera del main (Suma(int sumando1, int sumando2;) no tienen que ser igual a los que ponemos dentro del main ( int a, b, total;). Los valores de sumando1 y sumando 2 los asignara a a y b por orden, es decir si el sumando 1 vale 5 como hemos puesto en el main primero la a "total=Suma(a, b);" el valor 5 lo asignará a la a y el sumando 2 que por ejemplo es 3, lo asignará a b.


#include <stdio.h>
#include <stdlib.h>
int Suma(int sumando1, int sumando2);//como son los datos que va  a tener la suma

//-------------------ENTRAMOS EN EL MAIN-----------------//
int main()
{
    int a, b, total;

    printf("Intro sumando 1:");
    scanf("%d", &a);

    printf("Intro sumando 2:");
    scanf("%d", &b);

    total=Suma(a, b);//Total = a lo que devuelva la función Suma (return)

    printf("El resultado es %d\n", total);

}
//-------------FUERA DEL MAIN SE DECLARA LA SUMA CON SUS VARIABLES--------//
//Se realiza las operaciónes en la función, en este caso una suma

int Suma (int sumando1, int sumando2)
{
    int result;
    result = sumando1 + sumando2;

    return(result);
}


¿Par o impar? - Función - C

Realizar función para que te diga si un número es par o impar y luego lo imprima.

SOLUCIÓN

#include <stdio.h>
#include <stdlib.h>

int par (int numero);

int main()
{
   int numero, result;

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

   result=par(int numero);

   if(result==1)
   {
       printf("El numero es par");
   }
   else
   {
       printf("El numero no es par");
   }
}

int par(int numero)
{
    int total;

    total=numero%2==0;

    return total;
}

Función multiplicación - C

El siguiente ejercicio consiste en realizar una multiplicación con dos números que introduzca el usuario con una función.

SOLUCIÓN

#include <stdio.h>
#include <stdlib.h>
float Multiplica(float x, float y);

int main()
{
    float total;
    float x, y;

    printf("Intro el primer número: ");
    scanf("%f", &x);

    printf("Intro el primer número: ");
    scanf("%f", &y);

    total=Multiplica(x, y);

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

float Multiplica(float x, float y)
{
    float resultado;

    resultado=x*y;

    return resultado;
}


jueves, 12 de mayo de 2016

Control potenciometro - Arduino

Hoy realizaremos una tarea con un display, esta vez igual que la anterior consistirá en hacer que el display recorra los números del 1 al 9 pero manejándolo con un potencómetro.

Un potienciómetro es una resistencia variable mecánica, esta nos va a permitir mostrar en el display unos determinados números dependiendo del valor que demos a esta resistencia. Por lo tanto el programa será de la siguiente manera:

**NOTA: Al final de la entrada os dejaré un video del funcionamiento**

const int analogPin = A0;
int value;      //variable que almacena la lectura analógica del potienciometro
int num;   //posicion del potenciometro en tanto por ciento

int matriz[10][7]={//leds que se tienen que encender para cada numero (0-9)

  {
    1,1,1,1,1,1,0      }
  ,
  {
    0,1,1,0,0,0,0      }
  ,
  {
    1,1,0,1,1,0,1      }
  ,
  {
    1,1,1,1,0,0,1      }
  ,
  {
    0,1,1,0,0,1,1      }
  ,
  {
    1,0,1,1,0,1,1      }
  ,
  {
    1,0,1,1,1,1,1      }
  ,
  {
    1,1,1,0,0,0,0      }
  ,
  {
    1,1,1,1,1,1,1      }
  ,
  {
    1,1,1,1,0,1,1      }
};

void setup() {
  for(int i=2; i<9; i++)
  {
    pinMode(i, OUTPUT);
  }
}

void loop() {
  value = analogRead(analogPin); // realizar la lectura analógica de potienciometro
  num = map(value, 0, 1023, 0, 9);  // convertir a porcentaje


   for(int i=0; i<7; i++) //i son los pines
    {
      if(matriz[num][i]==1)
      {
        digitalWrite(i+2, HIGH);
      }
      else 
      {
        digitalWrite(i+2, LOW);
      }
    }
  
  //delay(1000);
  Serial.print(num);
}
------------------------------------VIDEO-------------------------------------------

link: https://youtu.be/594WCYPTWDM

domingo, 1 de mayo de 2016

Función strlen (cuenta letras) - C

En el ejercicio que vamos a realizar hoy utilizaremos una nueva función, strlen, la cual sirve para contar el número de letras que tiene una cadena de caracteres (ej: Luis con la función strlen nos saldrá por pantalla 4).

Para utilizar esta función, necesitamos una librería que señalaremos en el inicio del programa (fuera del main). Necesitaremos incluir el fichero de cabecera:  #include<string.h>

Para ver como va esta función realizaremos un programa que pida el nombre al usuario y cuente el número de letras que tiene este.

Solución:


#include<stdio.h> 
#include<string.h> 
int main ( )
{
   
char nombre [ 10 ] ;
   
int numletras ;
   
   
printf ( "Intro nombre: " ) ;
    scanf
( "%s" , nombre ) ;
   
    numletras
= strlen ( nombre ) ;
   
   
printf ( "El numero de letras es: %d" , numletras ) ;
}