Programación Instituto Tecnológico de Celaya EJERCICIOS 1. Escriba la definición y el prototipo de una función que recibe tres argumentos de tipo entero y que regresa el promedio de sus tres argumentos. 2. Escriba la definición y el prototipo de una función que toma un argumento de tipo de numérico de punto flotante. Como resultado, la función regresa el caracter ‘N’, si el argumento es cero o negativo, o el caracter ‘P’ si el argumento es positivo. 3. ¿Qué muestra en pantalla el siguiente programa? #include <iostream.h> #include <stdlib.h> char misterio(int argumento_1, int argumento_2); int main() { cout<< “m” << misterio(10,9) << “no \n”; cout<< “ \n”; system("PAUSE"); return 0; } char misterio(int argumento_1, int argumento_2) { if (argumento_1 >= argumento_2) return ‘a’; else return ‘o’; } Ingeniería Química Programación Instituto Tecnológico de Celaya EJERCICIOS 1. Escriba un programa que utilice la función que ejecuta el cálculo del factorial de un número entero. En dicho programa se deberá calcular el numero de combinaciones posibles que se tienen para seleccionar m números a partir de un total de n números. 2. Debido a la inflación, los costos de los bienes cambian con el tiempo. Así, por ejemplo, si se desea comprar un auto dentro de dos años, no se debería de considerar únicamente el precio actual del automóvil, si no que debería también tomarse en cuenta el aumento de precio que tendrá debido a la inflación. Escriba un programa que reciba como datos el costo de un producto en la actualidad, el número de años a partir de la fecha actual en que se va a comprar el producto y la tasa de inflación anual. El resultado del programa debe ser el costo del producto al tiempo en que se va a realizar la compra. Se debe realizar el programa de forma que el cálculo del precio del producto se realice a partir de la definición de una función. 3. El calor específico (Cp) y la presión de vapor (Pv) son dos cantidades usadas comúnmente en cálculos de ingeniería química. Ambas propiedades suelen tener valores diferentes para cada sustancia, y ambas dependen de la temperatura. Dos expresiones utilizadas con frecuencia para determinar estas cantidades son: Cp R a bT cT 2 lnPv A d T2 B T C donde T es la temperatura en grados Kelvin, Pv es la presión de vapor en kPa, Cp es el calor específico en (cal / (mol K)) y R vale 1.987. Ingeniería Química Programación Instituto Tecnológico de Celaya a, b, c, d, A, B y C son constantes que dependen de la sustancia en particular. Elabore un programa que, dados los valores de dichas constantes y el valor de la temperatura, calcule los valores de la presión de vapor y del calor específico. El programa deberá obtener el resultado a través del llamado a dos funciones dados los parámetros necesarios. Una función realiza el cálculo de la presión de vapor y la otra realiza el cálculo de la capacidad calorífica. Ingeniería Química Programación Instituto Tecnológico de Celaya /* Este programa calcula el numero de combinaciones de m numeros que se pueden obtener a partir de un total de n numeros (donde n>m) */ #include <iostream.h> #include <stdlib.h> int factorial(int numero); /* Prototipo de la funcion que calcula el factorial de un numero */ int main() { /* Declaracion de Variables */ int combinaciones; int n, m; /* Entrada de datos */ cout<<"Dame el numero total de numeros (n) y el tamano de la muestra(m)\n" <<"Presiona Enter despues de cada numero \n"; cin>>n >>m; cout<<"\n"; /* Procesamiento */ combinaciones = factorial(n) / (factorial(m) * factorial(n-m)); /* Salida de Resultados */ cout<<"El numero de combinaciones de " <<m <<" numeros " <<"a partir de " <<n << "\n" << "numeros es "<<combinaciones <<"\n"; cout<<"\n"; system("PAUSE"); return 0; } /* Funcion que calcula el factorial de un numero entero*/ int factorial(int numero) { /* Declaracion */ int contador; int producto; /* Inicializacion*/ contador = 1; producto = 1; /* Calculo iterativo del factorial de numero */ while(contador <= numero) { producto = producto * contador; contador++; } return producto; /* Valor de regreso */ } Ingeniería Química Programación Instituto Tecnológico de Celaya #include <iostream.h> #include <stdlib.h> /* Prototipo de la Funcion */ double nuevo_precio(double price, double rate, int years); /* Funcion Principal */ int main() { /* Este programa esta diseñado para calcular el precio de un bien cualquiera en un tiempo determinado tomando en cuenta la tasa de inflacion anual */ /* Declaracion de variables */ double precio_actual,tasa, precio_a_futuro; int periodo; /* Entrada de datos */ cout<<"Dame el precio actual del producto en pesos. \n"; cin>>precio_actual; cout<<"\n"; cout<<"Dentro de cuantos anios realizara la compra.\n"; cin>>periodo; cout<<"\n"; cout<<"Dame la tasa de interes en procentaje \n"; cin>>tasa; cout<<"\n"; /* Procesamiento de datos */ precio_a_futuro = nuevo_precio(precio_actual, tasa, periodo); /* Salida de datos */ cout<<"El precio del producto luego de "<< periodo << " anios es " << precio_a_futuro <<"\n" <<"\n";; system("PAUSE"); return 0; } /* Funcion que realiza el calculo del precio de un producto en el futuro considerando la inflacion */ double nuevo_precio(double price, double rate, int years) /* encabezado */ { int counter; rate = rate / 100.0; counter = 1; while (counter <= years) { price = price * ( rate + 1.0); counter = counter + 1; } return price; /*Valor de regreso, resultado*/ } Ingeniería Química Programación Instituto Tecnológico de Celaya #include <iostream.h> #include <stdlib.h> #include <math.h> /* Prototipos de Funciones */ /* Calculo de calor especifico */ double heat_capacity(double c1, double c2, double c3, double c4, double T); /* Calculo de presion de vapor */ double vapor_pressure(double C1, double C2, double C3, double T); int main() { /*Este programa sirve para calcular el calor especifico y la presion de vapor de una sustancia conociendo sus constantes y su temperatura en grados kelvin*/ /*Declaracion de variables*/ double Cp, Pv, Temperatura; double a,b,c,d,A,B,C; /*Entrada de datos*/ cout<<"Dame el valor de las cuatro constantes para el calculo del Cp\n"; cout<<"Presiona enter despues de cada valor \n"; cin>> a >> b >> c >> d; cout<<"\n"; cout<<"Dame el valor de las tres constantes para el calculo de Pv.\n"; cout<<"Presiona enter despues de cada valor \n"; cin>> A >> B >> C; cout<<"\n"; cout<<"Dame el valor de la Temperatura en grados Kelvin\n"; cin>> Temperatura; cout<<"\n"; /* Procesamiento de Datos */ Cp = heat_capacity(a, b, c, d, Temperatura); Pv = vapor_pressure(A, B, C, Temperatura); /* Salida de Resultados */ cout<<"\n"; cout<<"El calor especifico es de la sustancia es "<<Cp<<" cal/(mol K) \n"; cout<<"\n"; cout<<"La presion de vapor es de la sustancia es "<<Pv<<" KPa \n"; cout<<"\n"; system("PAUSE"); return 0; } Ingeniería Química Programación Instituto Tecnológico de Celaya /* Funcion para el calculo de calor especifico */ double heat_capacity(double c1, double c2, double c3, double c4, double T) { double calor_especifico; const double R=1.987; calor_especifico=( c1 + c2* T + c3 *pow(T,2.0) +(c4 / pow(T,2.0)) )*R; return calor_especifico; /* valor de regreso */ } /* Funcion para el calculo de la presion de vapor */ double vapor_pressure(double C1, double C2, double C3, double T) { double presion_de_vapor; presion_de_vapor = exp( C1 - C2 /(T + C3)); return presion_de_vapor; /* valor de regreso */ } Ingeniería Química