Está en la página 1de 8

UNIVERSIDAD NACIONAL DE HUANCAVELICA

FACULTAD DE INGENIERÍA ELECTRÓNICA –SISTEMAS

ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

ASIGNATURA : PROGRAMACIÓN DIGITAL


CICLO : III
DOCENTE : ING. MONTAÑEZ RODRÍGUEZ
EMERSSON
SEMESTRE : 2019-I
ALUMNO : ALANYA PESUA WILFREDO

PAMPAS – TAYACAJA
2019


“UNIVERSIDAD NACIONAL DE HUANCAVELICA”

ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

DESARROLLO DE EJERCICIOS PROPUESTOS



P2.1. Ejercicio 6.
Realice los cambios necesarios en el anterior código para trabajar con números enteros con
signo y codificados con 4 bytes (32 bits). A continuación añada el código correspondiente al
cálculo de la suma, resta, multiplicación, cociente y resto de las variables a y b. Debe
visualizar por pantalla el resultado de cada una de las operaciones realizadas.

#include <stdio.h>
#include <stdint.h>
int main(void)
{
long a, b; //a, b: Primer y segundo dato de entrada
printf("-----------------------\n");
printf("--Calculadora \"ABACO\"--\n");
printf("-----------------------\n");
printf("\nIntroduzca el primer dato (a): ");
scanf(" %i", &a); // Recuerde el espacio antes del %.
printf("\nIntroduzca el segundo dato (b): ");
scanf(" %i", &b); // Recuerde el espacio antes del %.
printf("Los datos introducidos son: %i y %i", a, b);
printf("\nLa suma de %i y %i es %i", a, b, a+b); //suma
printf("\nLa resta de %i y %i es %i", a, b, a-b); //resta
printf("\nEl producto de %i y %i es %i", a, b, a*b); //producto
printf("\nEl cociente de %i y %i es %i", a, b, a/b); //cociente
return 0;
}

2
“UNIVERSIDAD NACIONAL DE HUANCAVELICA”

ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA


P2.1. Ejercicio 7.
Nuestra calculadora trabaja con enteros en formato decimal. Amplíe la funcionalidad de
ABACO para que, además de las operaciones en base decimal, muestre el resultado en
octal y hexadecimal.

#include <stdio.h>
#include <stdint.h>
int main(void)
{
long a, b;
printf("-----------------------\n");
printf("--Calculadora \"ABACO\"--\n");
printf("-----------------------\n");
printf("\nIntroduzca el primer dato (a): ");
scanf(" %i", &a);
printf("\nIntroduzca el segundo dato (b): ");
scanf(" %i", &b);
printf("\n Los datos introducidos son: %i y %i ", a,b);
printf(", en octal son: %o y %o ",a,b);
printf("\n Y en hexadecimal son: %X y %X ",a,b);
printf("\nLa suma de %i y %i es %i", a, b, a+b); //suma
printf(" , en octal es %o", a+b); printf(" y en en exadecimal es %X", a+b);
printf("\nLa resta de %i y %i es %i", a, b, a-b); //resta
printf(" , en octal es %o", a-b); printf(" y en en exadecimal es %X", a-b);
printf("\nEl producto de %i y %i es %i", a, b, a*b); //producto
printf(" , en octal es %o", a*b); printf(" y en en exadecimal es %X", a*b);
printf("\nEl cociente de %i y %i es %i", a, b, a/b); //cociente
printf(" , en octal es %o", a/b); printf(" y en en exadecimal es %X", a/b);
return 0;
}

3
“UNIVERSIDAD NACIONAL DE HUANCAVELICA”

ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA


P2.1. Ejercicio 9.
Realice las modificaciones necesarias para que:

- Los valores de a y b se muestren siempre con 3 decimales

- Los resultados por pantalla deben ser mostrados en formato científico con
2 decimales en la mantisa.

#include <stdio.h>
int main(void) {
double a, b; //a, b: Primer y segundo dato de entrada
printf("------------------------\n");
printf("--Calculadora \"ABACO2\"--\n");
printf("------------------------\n");
printf("\nIntroduzca el primer dato (a): ");
scanf("%lf", &a);
printf("\nIntroduzca el segundo dato (b): ");
scanf("%lf", &b);
printf("\nLa suma de %.3lf y %.3lf es %.2lf", a, b, a+b); //suma
printf("\nLa resta de %.3lf y %.3lf es %.2lf", a, b, a-b); //resta
printf("\nEl producto de %.3lf y %.3lf es %.2lf", a, b, a*b); //producto
printf("\nEl cociente de %.3lf y %.3lf es %.2lf", a, b, a/b); //cociente
return 0;}

4
“UNIVERSIDAD NACIONAL DE HUANCAVELICA”

ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

P2.2. Ejercicio 2.
Una vez que haya detectado el error (si le sirve de ayuda, el error está localizado en la
línea marcado con /*02*/ en Código 2.17.), sustituya la sentencia de conversión de
temperatura por una de las siguientes sentencias y verifique el correcto funcionamiento
con cada una de ellas.
c = (5 / 9.0) * (f - 32);
c = ((double)5 / 9) * (f - 32); //casting
c = 5 * (f - 32) / 9;

#include <stdio.h>
int main(void) {
double f; // Temperatura en Fahrenheit.
double c; // Temperatura en Celsius.
printf("\nTemperatura en Fahrenheit ... ");
scanf(" %lf", &f);
printf("\nLa temperatura en grados Celsius ");
c = ((double)5 / 9) * (f - 32);
printf("es ... %lf. ", c);
return 0; // el programa ha acabo correctamente
}

P2.2. Ejercicio 3.
Modifique el código convenientemente para mostrar por pantalla valores de
temperatura con dos decimales

#include <stdio.h>
int main(void) {
double f; // Temperatura en Fahrenheit.
double c; // Temperatura en Celsius.
printf("\nTemperatura en Fahrenheit ... ");
scanf(" %lf", &f);
printf("\nLa temperatura en grados Celsius ");
c = ((double)5 / 9) * (f - 32);
printf("es ... %.2lf. ", c);
return 0; // el programa ha acabo correctamente
}

5
“UNIVERSIDAD NACIONAL DE HUANCAVELICA”

ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA


P2.3. Ejercicio 2.
Ahora debemos realizar una sencilla ampliación: considerar además un formato de
datos en coma flotante de 8 bytes. Se debe mostrar por pantalla el número áureo
obtenido en formatos float y double con distintos decimales: desde 1 hasta 9.
#include <stdio.h>
#include <math.h>
int main(void)
{
float aureo_f;
double aureo_d;
printf("\n-------------------------\n");
printf("\n EL N%cMERO %cUREO\n",233,181);
printf("-------------------------\n");
aureo_f = (1.0 + sqrt(5.0)) / 2.0;
printf("\n El numero aureo como float (%d bytes) \n ",sizeof(float));
printf(" \n con un decimal es igual a %.1f", aureo_f);
printf("\n con 2 decimales es igual a %.2f", aureo_f);
printf("\n con 3 decimales es igual a %.3f", aureo_f);
printf("\n con 4 decimales es igual a %.4f", aureo_f);
printf("\n con 5 decimales es igual a %.5f", aureo_f);
printf("\n con 6 decimales es igual a %.6f", aureo_f);
printf("\n con 7 decimales es igual a %.7f", aureo_f);
printf("\n con 8 decimales es igual a %.8f", aureo_f);
printf("\n con 9 decimales es igual a %.9f", aureo_f);
printf("\n-------------------------\n");
aureo_d = (1.0 + sqrt(5.0)) / 2.0;
printf("\n El numero aureo como double (%d bytes) \n",sizeof(double));
printf(" \n con un decimal es igual a %.1f", aureo_d);
printf(" \n con 2 decimales es igual a %.2f", aureo_d);
printf(" \n con 3 decimales es igual a %.3f", aureo_d);
printf(" \n con 4 decimales es igual a %.4f", aureo_d);
printf(" \n con 5 decimales es igual a %.5f", aureo_d);
printf(" \n con 6 decimales es igual a %.6f", aureo_d);
printf(" \n con 7 decimales es igual a %.7f", aureo_d);
printf(" \n con 8 decimales es igual a %.8f", aureo_d);
printf(" \n con 9 decimales es igual a %.9f", aureo_d);
return 0; }

6
“UNIVERSIDAD NACIONAL DE HUANCAVELICA”

ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA


P2.3. Ejercicio 3.
Seguidamente, se debe mostrar el error entre los formatos de representación float y
double para el número áureo, es decir, si aureo_f es el número áureo en formato float
y aureo_d es el número áureo en formato double se debe mostrar por pantalla el error
cometido al utilizar 32 bits (float) en lugar de 64 bits (double): e = aureo_f - aureo_d.
#include <stdio.h>
#include <math.h>
int main(void)
{
float aureo_f;
double aureo_d;
printf("\n-------------------------");
printf("\n ERROR ENTRE LOS FORMATOS DE REPRESENTACION FLOAT Y
DOUBLE PARA EL NÚMERO ÁUREO,",233,181);
printf("-------------------------\n");
aureo_f = (1.0 + sqrt(5.0)) / 2.0;
aureo_d = (1.0 + sqrt(5.0)) / 2.0;
printf(" \n error entre los formatos float y double con un decimal %.1f ",
aureo_f - aureo_d);
printf(" \n error entre los formatos float y double con 2 decimales %.2f ",
aureo_f - aureo_d);
printf(" \n error entre los formatos float y double con 3 decimales %.3f ",
aureo_f - aureo_d);
printf(" \n error entre los formatos float y double con 5 decimales %.5f ",
aureo_f - aureo_d);
printf(" \n error entre los formatos float y double con 6 decimales %.6f ",
aureo_f - aureo_d);
printf(" \n error entre los formatos float y double con 7 decimales %.7f ",
aureo_f - aureo_d);
printf(" \n error entre los formatos float y double con 8 decimales %.8f ",
aureo_f - aureo_d);
printf(" \n error entre los formatos float y double con 9 decimales %.9f ",
aureo_f - aureo_d);
printf(" \n error entre los formatos float y double con 15 decimales %.15f ",
aureo_f - aureo_d);
printf(" \n error entre los formatos float y double con 31 decimal %.31f ",
aureo_f - aureo_d);
return 0; }

7
“UNIVERSIDAD NACIONAL DE HUANCAVELICA”

ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA


P2.5. Ejercicio 1.
El tiro parabólico es un ejemplo de movimiento realizado por un cuerpo en dos dimensiones
o sobre un plano. El tiro parabólico es la resultante de la suma vectorial del movimiento
horizontal uniforme y de un movimiento vertical rectilíneo uniformemente acelerado.

1 Solicite por teclado la velocidad inicial ( ) y el ángulo de salida ( ) medido en grados.


2 continuaciones, solicite el tiempo que ha transcurrido desde el lanzamiento del proyectil.

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
float angulo;
float g; pi; r; t1; tiempo; v0; vr; vx; x; x1; z1;
v0=x1;
angulo= z1;
tiempo = t1;
g= 9,8;
cout<< "ingrese velocidadad inicial (m/s)"<< endl;
cin >> x1;
cout << "ingrese angulo (grados)" << endl;
cin >> z1;
cout << "ingrese el tiempo transcurrido (s)" << endl;
cin >> t1;
x = x1*cos(z1*M_PI/180)*(t1);
r = 0+x1*sin(z1*M_PI/180)*(t1)-(1/2)*g*(t1*t1);
vx = x1*cos(z1*M_PI/180);
vr = x1*sin(z1*M_PI/180)-(g)*t1;
cout << "la posicion (x,Y) es (" << x << "," << r << ")" << endl;
cout << "la velocidad (Vx,Vy) es " << "(" << vx << ","
<< vr << ")" << endl;
return 0;
return 0;
}

También podría gustarte