Está en la página 1de 5

Unidad 6 1

Fundamentos de Programación 2008


UNIDAD 6
Introducción a la programación en C++
Prof. Gerardo Sas

Respuestas a los ejercicios de la Guía Nº 6

Ejercicio 6.1
Determine la validez en C++ de los siguientes identificadores:
X-da (error) float (error) const (error) x,7 (error)
3Total (error) var56x (ok) x7 (ok) x/7 (error)

Ejercicio 6.2
Observe los siguientes números. a) Indique si su notación es correcta en C++. Si
no lo es, mencione la causa de su invalidez. b) Si tiene notación correcta clasifique
dicho número dentro de los tipos numéricos admitidos por C++, considerando la me-
nor cantidad de bytes posible.
a) -123.89 (si) b) 16.0 (si-salida) c) 56890 (si)
d) 16.345,89 (no) e) 12 (si) f) 1,99 (no)
g) .234 (si) h) 7.33 (si) i) 12E+23 (si-salida)
j) 5.6E-1 (si-salida) k) 29 (si) l) 0.12348976 (si)

Ejercicio 6.3
Declare y defina variables numéricas inicializándolas con los valores del ejercicio
anterior. En los casos en que los números estén incorrectamente planteados escrí-
balos correctamente.

Enteros
Tipo Rango Tamaño (bytes)
char --127 .. 128 1
unsigned char 0 .. 255 1
short -32768 .. 32767 2
unsigned short 0.. 65535 2
int -2.147.483.648 .. 2.147.483.647 4
unsigned int 0.. 4.294.967.295 4
long -2.147.483.648 .. 2.147.483.647 4
unsigned long 0.. 4.294.967.295 4

Reales (punto flotante)


Tipo Rango Tamaño (bytes)
float 3.4 x 10-38 .. 3.4 x 10 38 4
double 1.7 x 10 -308.. 1.7 x 10 308 8
long double 3.4 x 10 -4932 .. 3.4 x 10 4932 10

a) float a=-123.89
b) float b= 16.0
c) unsigned short c= 56890
d) float c= 16345.89
e) unsigned short e= 12
f) float f= 1.99
g) float g= 0.234
Facultad de Ingeniería y Ciencias Hídricas de la UNL
Ingeniería Informática – Fundamentos de Programación
Unidad 6 2

h) float h= 7.33
i) float i= 120000000000000000000
j) float j= 0.56
k) char k= 29
l) float l= 0.12348976

Ejercicio 6.4.
Escriba un programa C++ que permita ingresar las edades de dos personas y obten-
ga las fechas (años) de nacimiento correspondientes. El formato de salida debe ser
como el del recuadro siguiente:

Ingrese la primer edad: 29


Ingrese la segunda edad: 31

Edad Anio de nacimiento


29......................................1969
21......................................1977

//Encabezado: aquí se incluyen las librerías que necesito


#include <iostream.h>
#include <iomanip.h>
using namespace std;
//Profesor Gerardo SAS - Fundamentos de Programación
//Cuerpo principal del programa, funcion main
int main(void){
int edad1, edad2; //Declaracion de variablaes
cout<<"Ingrese la primer edad: ";//Salida por pantalla
cin>>edad1; //Ingreso por teclado de edad1
cout<<"\nIngrese la segunda edad: ";//Salida pantalla
cin>>edad2; //Ingreso por teclado de edad2
cout<<"\nEdad Anio de nacimiento"; //Salida pantalla
//defino ancho de campo con setw y relleno con setfill
cout<<'\n'<<edad1<<setw(20)<<setfill('.')<<2007-edad1;
cout<<'\n'<<edad2<<setw(20)<<setfill('.')<<2007-edad2;
return 0;
}

Ejercicio 6.5
Escriba un programa C++ que permita ingresar un número y lo muestre en base 8 (octal) y
en base 16 (hexadecimal) . Proponga además mensajes alusivos que mejoren la interfaz de
usuario.

//Encabezado: aquí se incluyen las librerías que necesito


#include <iostream.h>
#include <iomanip.h>
using namespace std;
//Profesor Gerardo SAS - Fundamentos de Programación
//Cuerpo principal del programa, funcion main
int main(void){
int num;
cout<<"Ingrese un numero: ";
cin>>num;
cout<<'\n'<<"Octal "<<setw(10)<<oct<<num;
cout<<'\n'<<"Hexadecimal "<<setw(10)<<hex<<num;
return 0;
}

Facultad de Ingeniería y Ciencias Hídricas de la UNL


Ingeniería Informática – Fundamentos de Programación
Unidad 6 3

Ejercicio 6.6
Escriba un programa C++ que permita ingresar un valor numérico correspondiente a una me-
dida en pies y devuelva la cantidad equivalente en metros. Nota: un pie = 0,3048 metros.
Proponga una interfaz de usuario adecuada.

//Encabezado: aquí se incluyen las librerías que necesito


#include <iostream.h>
#include <iomanip.h>
using namespace std;
//Profesor Gerardo SAS - Fundamentos de Programación
//Cuerpo principal del programa, funcion main
int main(void){
float pies;
cout<<"Ingrese una medida en pies: ";
cin>>pies;
cout<<'\n'<<"Equivale a "<<setw(10)<<pies*0.3048<<" metros";
cout<<"\n\n\n\n\n\n\n\n\n\n\n\nPulse una tecla para continuar";
return 0;
}

Ejercicio 6.7
Escriba un programa Pascal que calcule el área y circunferencia de un círculo cuyo
radio se ingresa como dato.

//Encabezado: aquí se incluyen las librerías


#include <iostream.h>
#include <conio.h>
#include <math.h>
using namespace std;
//Profesor Gerardo SAS - Fundamentos de Programación
int main(void){
float radio,area,circunferencia;
cout<<"Ingrese el radio: ";
cin>>radio;
area= M_PI * pow(radio,2);
circunferencia= M_PI * 2 * radio;
cout<<'\n'<<"Area= "<<area;
cout<<'\n'<<"Circunferencia = "<< circunferencia;
cout<<"\n\n\n\n\n\n\n\n\n\n\n\nPulse una tecla para continuar";
return 0;
}

Ejercicio 6.8
Escriba un programa C++ que calcule las raíces o soluciones de una ecuación cua-
drática del tipo ax2+ bx + c=0, siendo que el usuario del programa ingresa como
datos los coeficientes a, b y c. Suponga que los datos corresponden a ecuaciones
de raíces reales.

//Encabezado: aquí se incluyen las librerías


//Profesor Gerardo SAS - Fundamentos de Programación
#include <iostream.h>
#include <conio.h>
#include <math.h>
using namespace std;
int main(void){ //FUNCION MAIN, CUERPO DEL PROGRAMA
float a,b,c,x1,x2,x,dis;
Facultad de Ingeniería y Ciencias Hídricas de la UNL
Ingeniería Informática – Fundamentos de Programación
Unidad 6 4

cout<<"Ingrese A= ";
cin>>a;
cout<<"Ingrese B= ";
cin>>b;
cout<<"Ingrese C= ";
cin>>c;
x= pow(b,2)+(4*a*c);
dis=sqrt(x);
x1= (-b+dis)/(2*a);
x2= (-b-dis)/(2*a);
cout<<"\nX1= "<<x1;
cout<<"\nX2= "<<x2;
cout<<"\n\nPulse una tecla para continuar";
return 0;
}

Ejercicio 6.9
Un canal tiene sección trapezoidal como indica
la figura.
Se conocen como datos la base b, el nivel h y el
ángulo de inclinación de las paredes . h
Si la velocidad media de la corriente es conoci- α
da y tiene un valor v, determine e informe el b
caudal medio Q que pasa por dicho canal.
(Nota: Q medio se calcula con el producto entre
la velocidad media y el área de la sección). Codifique en C++ la solución de este problema.

//Encabezado: aquí se incluyen las librerías


//Profesor Gerardo SAS - Fundamentos de Programación
#include <iostream.h>
#include <conio.h>
#include <math.h>
using namespace std;
int main(void){ //FUNCION MAIN, CUERPO DEL PROGRAMA
float b,alfa,h,x,Bmayor,AreaT;
cout<<"Ingrese b (en cm): ";
cin>> b;
cout<<"\nIngrese h (en cm): ";
cin>> h;
cout<<"\nIngrese Alfa (en grados): ";
cin>> alfa;
//si x es la diferencia entre
//la base mayor y b
x= 2*(h/tan(alfa*M_PI/180));
Bmayor= b+x;
// cálculo del área del trapecio
AreaT=(Bmayor+b)*h/2;
cout<< "\nArea trapecio= "<<AreaT<<" cm2";
return 0;
}

Ejercicio 6.10
Escriba un programa C++ que permita a un usuario conocer cuánto debe pagar por
el consumo de energía eléctrica realizado en el último período. Se conocen el costo
del consumo en KW sin impuestos, la lectura actual del medidor y la lectura del perí-
odo anterior. Además en concepto de impuestos los usuarios abonan un 22% sobre
el total correspondiente al consumo.

//Profesor Gerardo SAS - Fundamentos de Programación


#include <iostream.h>
using namespace std;
Facultad de Ingeniería y Ciencias Hídricas de la UNL
Ingeniería Informática – Fundamentos de Programación
Unidad 6 5

int main(void){
float KW,Lactual,Lanterior,Imp,Total;
cout<<"Ingrese KW: ";
cin>> KW;
cout<<"\nIngrese Lectura Actual: ";
cin>> Lactual;
cout<<"\nIngrese Lectura Anterior: ";
cin>> Lanterior;
cout<<"\nIngrese Porc. Impuestos: ";
cin>> Imp;
Total= (Lactual-Lanterior)*KW*(1+Imp/100);
cout<< "\nTotal a pagar: "<<Total;
return 0;
}

Facultad de Ingeniería y Ciencias Hídricas de la UNL


Ingeniería Informática – Fundamentos de Programación

También podría gustarte