Translate

miércoles, 15 de febrero de 2017

Ejercicio en .c 3

En este trabajo se han realizado cuatro ejercicios.
Aquí os dejo enlazado la pagina donde he sacado los ejercicios.

https://dochub.com/franvazquezalonso/aBNrqb/cprogramming_tutorial?dt=j6f6p0mcap1bi79d

Ejercicio 1:


#include <stdio.h>

main()

{

signed int a = 60; /* 60 = 0011 1100 */

unsigned int b = 13;  /* 13 = 0000 1101 */

c = a & b; /* 12 = 0000 1100 */

printf("Line 1 - Value of c is %d\n", c );

c = a | b; /* 61 = 0011 1101 */

printf("Line 2 - Value of c is %d\n", c );

c = a ^ b; /* 49 = 0011 0001 */

printf("Line 3 - Value of c is %d\n", c );

c = ~a; /*-61 = 1100 0011 */

printf("Line 4 - Value of c is %d\n", c );

c = a << 2; /* 240 = 1111 0000 */

printf("Line 5 - Value of c is %d\n", c );

c = a >> 2; /* 15 = 0000 1111 */

printf("Line 6 - Value of c is %d\n", c );
}


Si tu incluyes las declaraciones de variables "unsigned int" declaras las variables sin signo.

Línea 8 .  "c = a & b" realiza la función de ver que valores de binario tienen ambos números en común y los representa como otro número, siendo 60 = 0011 1100 y  13 = 0000 1101, los valores que toman ambos  son: 12 = 0000 1100.

Línea 10 . "c = a | b" realiza la función de poner  los valores que tienen en común o no, siendo 60 = 0011 1100 y  13 = 0000 1101, todos los valores que toman son:  61 = 0011 1101.

Línea 12 . "c = a ^ b" realiza la función de poner los valores que no tiene en común, siendo 60 = 0011 1100 y  13 = 0000 1101, los valores que no tienen en común son:  49 = 0011 0001. 

Línea 14 . "c = ~a" realiza la función de poner los valores opuestos que tenga el número, siendo 60 = 0011 1100, pasa a ser -61 = 1100 0011.

Línea 16 . "c = a << 2" realiza la función de desplazar los valores a la izquierda tantas veces como venga indicado siendo 60 = 0011 1100, pasa a ser 240 = 1111 0000.

Línea 18 . "c = a >> 2" realiza la función de desplazar los valores a la derecha tantas veces como venga indicado, siendo 60 = 0011 1100, pasa a ser 15 = 0000 1111.





Ejercicio 2:

#include <stdio.h>

main()
{

int a = 21;
int c ;

c = a;
printf("Line 1 - = Operator Example, Value of c = %d\n", c );

c += a;
printf("Line 2 - += Operator Example, Value of c = %d\n", c );

c -= a;
printf("Line 3 - -= Operator Example, Value of c = %d\n", c );

c *= a;
printf("Line 4 - *= Operator Example, Value of c = %d\n", c );
c /= a;
printf("Line 5 - /= Operator Example, Value of c = %d\n", c );

c = 200;
c %= a;
printf("Line 6 - %= Operator Example, Value of c = %d\n", c );

c <<= 2;
printf("Line 7 - <<= Operator Example, Value of c = %d\n", c );

c >>= 2;
printf("Line 8 - >>= Operator Example, Value of c = %d\n", c );

c ^= 2;
printf("Line 10 - ^= Operator Example, Value of c = %d\n", c );

c |= 2;
printf("Line 11 - |= Operator Example, Value of c = %d\n", c );

}

c &= 2;
printf("Line 9 - &= Operator Example, Value of c = %d\n", c );


Línea 5 . "c = a" esta función hace que c tenga el valor de a, es decir 21.

Línea 7 . "c += a" esta función hace que se sume a 21, = 42.

Línea 9 . "c -= a" esta función hace que a c  se le reste 21, = 21.

Línea 10 . "c *= a" esta función multiplica c (21) por a, = 441.

Línea 11 . "c /= a" esta función divide c (441) entre a, = 21.

Línea 13 . "c %= a" esta función nos da el resto de la división de c (200) y de a,= 11.

Línea 14 . "c <<= 2" esta función hace que el número en binario se desplace a la izquierda 2 veces. Siendo 11 = 0000 1011 y  44 = 0010 1100. 

Línea 15 . " c >>= 2" esta función hace que el número en binario se desplace 2 veces a la derecha.
Siendo 44 = 0010 1100, y  11 = 0000 1011.

Línea 16 . "c &= 2" esta función hace que se cojan solo los valores en binario que ambos números tienen, siendo 11 = 0000 1011 y 2 = 0000 0010.

Línea 17 . "c ^= 2" esta función hace que se tomen solo los valores de binario que no tienen en común, siendo 2 = 0000 0010 y 2 = 0000 0010, y dando 0 = 0000 0000.

Línea 18 . "c |= 2" esta función hace se tomen todos los valores que tengan ambos números  en común o no en común, siendo 0 = 0000 0000 y 2 = 0000 0010.



Ejercicio 3:

#include <stdio.h>

int main ()
{
/* local variable definition */
int a = 10;

/* check the boolean condition using if statement */
if( a < 20 )
{

/* if condition is true then print the following */
printf("a is less than 20\n" );
}
printf("value of a is : %d\n", a);

return 0;
}

Este programa calcula si a es menor a 20 mediante if y después da el valor de a.

Línea 5 . if  si esto se cumple haría la función que se encuentra tras el if .



Ejercicio 4:

int main ()
{
/* local variable definition */
int a = 100;

/* check the boolean condition */
if( a < 20 )
{

/* if condition is true then print the following */
printf("a is less than 20\n" );
}
else
{
/* if condition is false then print the following */
printf("a is not less than 20\n" );

}
printf("value of a is : %d\n", a);

return 0;
}

Este programa explica si es superior o inferior a 100, mediante un if y un else.

Línea 5 . if  (a < 20) si esto se cumple cumpliria la función que se encuentra tras el if .

Línea 6 . else, si el if de la línea 5 no cumple  la función que se encuentre entre { } tras el else.



Bibliografía:

La información que he utilizado la he cogido de Tecnochamizo2 y de las explicaciones de clase.








miércoles, 1 de febrero de 2017

Ejercicios en .c 2

Para este ejercicio me ha basado en un manual en ingles de donde he sacado estos programas.
Aquí os de el enlace al manual que he utilizado.

https://dochub.com/franvazquezalonso/aBNrqb/cprogramming_tutorial?dt=j6f6p0mcap1bi79d

Ejercicio 1

En este ejercicio se pueden calcular las variables. Las variables se han declarado en la parte superior, pero se han definido dentro de la función principal.

#include <stdio.h> // Variable declaration: extern int a, b; extern int c; extern float f; int main () { /* variable definition: */ int a, b; int c; float f; /* actual initialization */ a = 10; b = 20; c = a + b; printf("value of c : %d \n", c); f = 70.0/3.0; printf("value of f : %f \n", f); return 0; }


Ejercicio 2

En este ejercicio se muestra la forma de #define para definir una constante:

#include <stdio.h>
dio.h> #define LENGTH 10 #define WIDTH 5 #define NEWLINE '\n' int main() { int area; area = LENGTH * WIDTH; printf("value of area : %d", area); printf("%c", NEWLINE); return 0; }

Ejercicio 3

En este ejercicio se muestra la forma de declarar constantes:

#include <stdio.h>

int main()
{

const int LENGTH = 10;
const int WIDTH = 5;
const char NEWLINE = '\n';
int area;

area = LENGTH * WIDTH;
printf("value of area : %d", area);
printf("%c", NEWLINE);


return 0;
}


Ejercicio 4

En este ejercicio se van a mostrar operaciones aritméticas en lenguaje de c :

#include <stdio.h>

main()
{
int a = 21;
int b = 10;
int c ;

c = a + b;
printf("Line 1 - Value of c is %d\n", c );
c = a - b;
printf("Line 2 - Value of c is %d\n", c );
c = a * b;
printf("Line 3 - Value of c is %d\n", c );
c = a / b;
printf("Line 4 - Value of c is %d\n", c );
c = a % b;
printf("Line 5 - Value of c is %d\n", c );
c = a++;
printf("Line 6 - Value of c is %d\n", c );
c = a--;
printf("Line 7 - Value of c is %d\n", c );

}


Ejercicio 5

En este ejercicio se van a realizar también operaciones aritméticas con operadores racional en lenguaje de c:

#include <stdio.h>

main()
{
int a = 21;
int b = 10;
int c ;

if( a == b )
{
printf("Line 1 - a is equal to b\n" );
}
else
{
printf("Line 1 - a is not equal to b\n" );
}
if ( a < b )
{
printf("Line 2 - a is less than b\n" );
}
else
{
printf("Line 2 - a is not less than b\n" );
}
if ( a > b )
{
printf("Line 3 - a is greater than b\n" );
}
else
{
printf("Line 3 - a is not greater than b\n" );
}
/* Lets change value of a and b */
a = 5;
b = 20;
if ( a <= b )
{
printf("Line 4 - a is either less than or equal to b\n" );
}
if ( b >= a )
{
printf("Line 5 - b is either greater than or equal to b\n" );
}
}


Ejercicio 6

En este ejercicio se van a realizar operaciones aritméticas con operadores de lógica:

#include <stdio.h>

main()
{
int a = 5;
int b = 20;
int c ;

if ( a && b )
{
printf("Line 1 - Condition is true\n" );
}
if ( a || b )
{
printf("Line 2 - Condition is true\n" );
}
/* lets change the value of a and b */
a = 0;
b = 10;
if ( a && b )
{
printf("Line 3 - Condition is true\n" );
}
else
{
printf("Line 3 - Condition is not true\n" );
}
if ( !(a && b) )
{
printf("Line 4 - Condition is true\n" );
}
}