USM PROG II
Blog informativo Cátedra de Programación II Profesor: Ing Carlos Ferrer - USM Caracas
miércoles, 2 de julio de 2025
04.- Programación II - Parcial Nro. 4 - Solución del Profesor
La empresa para la cual usted trabaja está adquiriendo un lote de láminas metálicas de forma rectangular de ancho variable y de 3 mts de largo. Se desea construir con ellas bebederos para animales procediendo a doblar la chapa como se indica en la siguiente figura:
- La capacidad en litros del bebedero (Máxima)
- La área total del tope de madera (mts2)
a.- Que hace el programa?b.- Cual es el objetivo del vector "e[7]"?c.- Cual es el objetivo del vector "b[7]"?
Solución
Pregunta Nro1.
/* Programa que determina el bebedero de máximo volumen según
los especificado en el Parcial nro. 1 de programación II - USM
semestre 2022-I
Elaborado por Carlos Ferrer
Fecha: 30 de Oct 2021
*/
#include<iostream> //biblioteca para ingresar el valor del ancho de la lamina
#include<math.h> //biblioteca matemática
double ancho; //Ancho de la lamina
double base1,base2,x; //bases del trapecio y valor de x que forma parte de la base2
double h; //Altura del trapecio
double area_rec,area_trap; //Área del rectángulo y Área del trapecio
double Q; //Ángulo de elevación del lateral del trapecio
double volumen; //Volumen para cada ángulo
/*Area total de la base de madera en donde se obtiene el máximo volumen
(Area del rectángulo + Area del trapecio)*/
double area_tot;
double volumen_final=0; //Volumen máximo del bebedero
double Q_final; //Angulo donde se obtiene el máximo volumen
//Área del rectángulo y Área del trapecio que juntos dan el área máxima de la base
double area_rec_optimo,area_trap_optimo;
double x_optimo; //Valor de x donde se obtiene el máximo volumen
using namespace std;
main()
{
//Elaboramos un ciclo que determine el ángulo donde se da el volumen máximo
while(ancho<1.5 or ancho>2.5)
{
cout <<"Ingrese el ancho de la lamina. (1.5 a 2.5 mts) = ";
cin >>ancho;
if(ancho<1.5 or ancho>2.5)
{
system ("cls");
cout <<"Ancho ingresado fuera de rango "<<endl<<endl;
}
}
for (Q=0;Q<=90;Q=Q+0.01)
{
base1=ancho/5;
x= ancho/5*cos(Q*M_PI/180);
base2=base1+2*x;
h= ancho/5*sin(Q*M_PI/180);
area_trap=(base1+base2)*h/2;
area_rec=(ancho/5+2*x)*ancho/5;
area_tot=area_rec+area_trap;
volumen=area_tot*3*1000;
if (volumen>volumen_final)
{
volumen_final=volumen;
Q_final=Q;
area_rec_optimo=area_rec;
area_trap_optimo=area_trap;
x_optimo=x;
}
}
//Presentamos el resultado
system("cls");
cout <<"Para una lamina de un ancho de "<<ancho<<" mts y un largo de 3 metros.";
cout <<" Los resultados son los siguientes: "<<endl<<endl;
cout <<"El angulo thetha (Q) en donde se obtiene la maxima area es = "<<Q_final<<" grados"<<endl;
cout <<"El valor de X asociado a este angulo corresponde a = "<<x_optimo<<" mts"<<endl<<endl;
cout <<"El area total de la base es igual = "<< area_rec_optimo+area_trap_optimo<<" mts2"<<endl;
cout <<"(Area del Rectangulo = "<<area_rec_optimo<<" mts2 + Area del Trapecio = "<<area_trap_optimo<<" mts2)"<<endl<<endl;
cout <<"EL VOLUMEN MAXIMO DEL BEBEDERO ES DE "<<volumen_final;
cout << " LITROS PARA UNA LAMINA DE "<<ancho<<" MTS DE ANCHO"<<endl<<endl;
cout <<"MUCHO EXITO PARA TODOS!!!!"<<endl<<endl;
system ("pause");
}
martes, 17 de junio de 2025
jueves, 29 de mayo de 2025
03.- Programación II - Proyecto Parcial Nro. 03
A continuación el programa que se deberá desarrollar.
Esta mañana estaré aclarando cualquier duda asociada al mismo.
Usted ha sido contratado por Dupont, líder mundial en fabricación de pintura para el sector automotriz. Su Jefe, al revisar su curriculum, detecta que usted tiene conocimientos de programación en C++ y le solicita que programe el sistema de elaboración de las dos pinturas lideres para el mercado venezolano: Azul Marino (AzMarino) y Azul Celeste (AzCeleste).
3ro.- Cuando una bomba se encuentra trabajando con con la válvula de succión y descarga abierta su caudal de operación es de 100 lts/mi.
9no.- El programa debe impedir que se arranque un nuevo lote de mezclado de pintura si el lote en curso no se ha completado. En caso de intentar arrancar el proceso nuevamente sin que el lote de preparación actual este completado, el programa deberá presentar un mensaje en pantalla que informe que el ultimo proceso de mezclado no se ha completado y la solicitud no será aceptada.
- El Archivo de texto contendrá las Válvulas V201, V202, V203, V401, V402, V403, el Color a mezclar (AzMarino / AzCeleste) y el comando de arranque de fabricación (ON/OFF); si este comando pasa a ON y el mezclador esta vacío se procederá a fabricar el lote de pintura definida según el Color a mezclar. Si durante el proceso de fabricación de un lote se coloca en OFF el comando de arranque, el proceso de fabricación en curso deberá completarse.
- Se debe indicar tiempo de funcionamiento de cada bomba en segundos y los transmisores de niveles de los tanques bases y el mezclador, de forma de verificar el funcionamiento del programa.
- Usted debe simular todos los elementos del esquema y su funcionamiento.
- Se debe monitorear todos los elementos en pantalla.
- una vez finalice el ciclo de mezclado el mezclador debe vaciarse a razón de 4% cada segundo (25 seg totales)
- Los niveles de los tanques bases son de 25% el nivel del mezclador en 0%
- Los interruptores de Flujo en Normal.
- Todas las válvulas abiertas.
- Las bombas apagadas.
- Los transmisores de presión en 0 psi.
- El comando de arranque de fabricación en OFF.
- El selector de tipo de pintura en AzCeleste
martes, 20 de mayo de 2025
03.- Programación II - Esquema de Bombeo - Simulación Clase Nro 3 - Actividad propuesta miércoles 22 de May
Para mejorar el funcionamiento del sistema de bombeo industrial, en la clase del Miércoles 06 de Nov se estableció una modificación del esquema trabajado por el profesor, la modificación consiste en incorporar un "Switch de Alto Nivel"y "Una válvula de desvió de seguridad", el esquema quedaría de la siguiente forma: