2 Tecnología de los componentes electrónicos Variables en C

Anuncio
Tecnología de los componentes electrónicos
Variables en C
G.E.:
2
1.
El siguiente código, permite sumar dos variables. Se pide:
a. Ejecutarlo y ver el resultado.
b. Modificarlo para que todas las variables sean del tipo “signed char”. ¿Qué ocurre en este
caso? ¿Qué tipo de variable signada deberá ser utilizada en este caso para que el resultado
sea el correcto?
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
// Declaración de las variables
unsigned char A,B,C;
// Inicialización de las variables
A=123;
B=45;
C=A+B;
printf("%d+%d=%d\n",A,B,C);
}
2. Realice un programa que muestre el resultado producto de una resta de dos variables.
3. El siguiente código permite sumar dos variables mediante una función con el nombre suma. Realice un
programa que reste dos variables con una función resta que se declare de la siguiente forma: signed
long int resta(signed long int Num1,signed long int Num2).
#include <stdio.h>
#include <stdlib.h>
// Declaro las funciones
signed short int suma(signed short Var1,signed short Var2);
// Comienzo con el main
void main(void)
{
// Declaración de las variables
unsigned short int A,B,C;
// Inicialización de las variables
A=123;
B=45;
// Inicio del programa
C=suma(B,A);
printf("El resultado de sumar %d y %d es %d\n",A,B,C);
}
// Definición de la función suma.
signed short int suma(signed short Var1,signed short Var2)
{
unsigned short int Resultado;
Resultado=Var1+Var2;
return (Resultado);
}
4. Utilizando variables signed long int, realice:
1
a. Un programa que multiplique dos variables.
b. Un programa que multiplique dos variables mediante una función que se declare como:
signed long int producto(signed short int Num1,signed short int Num2);
5. Utilizando variables del tipo float, realice:
a. Un programa que divida dos variables.
b. Un programa que divida dos variables mediante una función que se declare como:
float division(float Dividendo,float Divisor);
c. ¿Qué ocurre si se trabaja con variables del tipo int y se dividen dos números cuyo resultado
debería dar con coma (es decir que el resto de la divión es distinta a 0)?
NOTA: Para mostrar en la consola variables enteras mediante el printf se utiliza %d. Este es uno de los
caracteres de conversión, para variables del tipo float habrá que utilizar %f. Estos caracteres y otros
importantes se muestran en la siguiente tabla:
Caracter
%d
%f
%o
%x
%c
%s
El
El
El
El
El
El
dato
dato
dato
dato
dato
dato
Significado
es entero y en decimal.
está en coma flotante.
está en octal.
está en hexadecimal.
es un caracter. (ver Código ASCII).
es una cadena de caracteres.
6. Con variables enteras, se puede saber cuánto vale el resto de una división mediante el operador %.
Realice un programa que obtenga de un número decimal de dos dígitos, la unidad y la decena (tenga
presente la conclusión del punto 5.c).
Otros ejercicios
7. Realice un programa que implemente la siguiente función, que permita calcular para un circuito
monoestable el valor de la resistencia teniendo como datos el tiempo (t) y el valor del capacitor (C).
float resistencia_Monoestable(float t,float C);
8. Se desea hacer una calculadora que permita realizar operaciones matemáticas básicas con números
complejos. Un número complejo se puede expresar en forma binómica como 𝑍 = 𝑎 + 𝑖𝑏, donde 𝑎 y 𝑏
pueden ser almacenados como dos variables, por ejemplo del tipo float.
a. Realice un programa que mediante las dos funciones que se detallan abajo sume dos números
complejos 𝑍1 = 𝑎 + 𝑖𝑏 y 𝑍2 = 𝑐 + 𝑖𝑑.
float r_suma_imag(float a,float b, float c, float d);
float i_suma_imag(float a,float b, float c, float d);
La función r_suma_imag suma dos números complejos y devuelve la parte real. Es decir que
si 𝑍3 = 𝑒 + 𝑖𝑓 = 𝑍1 + 𝑍2 , esta función devolverá el valor de 𝑒, mientras que r_suma_imag
devolverá el valor de 𝑓.
b. Realice ahora las funciones relacionadas con la resta.
float R_resta_imag(float a,float b, float c, float d);
float I_resta_imag(float a,float b, float c, float d);
c.
Ahora respetando lo realizado anteriormente en los puntos 7.a y 7.b, realice las funciones y
los programas que permitan multiplicar y dividir complejos. NOTA: en el caso de necesitar
elevar un número al cuadrado recuerde que puede realizarlo simplemente multiplicando dicho
número por sí mismo.
2
Descargar