jueves, 8 de octubre de 2026

01w.- Programación II - CALIFICACIONES Parcial Nro.1 (2027 - I) - CALIFICACIONES DEFINITIVAS 1ER CORTE

 

Mi reconocimiento a los estudiantes Paul Manrrique y Roberto Pérez, su examen presentó niveles de excelencia destacables, por encima del promedio del grupo.

Nuevamente mi reconocimiento para los Sres. Manrrique y Pérez.



01u.- Programación II - Parcial Nro. 1 - Semestre 2027-I - Solución del Profesor

  


Solución

El primer paso es definir la fórmula de volumen de la piscina que corresponde a lo que queremos maximizar:

para eso descomponemos las figuras en dos: un paralelepípedo y una cuña,




En consecuencia, el volumen de la piscina corresponde a:

Vol = XY mt3  + XY/2 mt3 => Vol = 3XY/2 mt3


La ecuación de Volumen quedó en función de dos variables, necesitamos que quede en función de una sola.

 

Como conocemos la cantidad de material que tendremos para construir el fondo y las paredes de la piscina podemos establecer lo siguiente:

 

M = Material para construir



M = Área del fondo + Área de las 4 paredes =>

M = (XY + 2Y + [X+X/2] + [X+X/2] + Y) mt2 =>

M = (XY + 3Y + 3X/2 + 3X/2) mt2 =>

M = (XY + 3Y + 3X) mt2

 

Conociendo esto podemos expresar una variable en función de la otra:

X = (M - 3Y) / (Y+3) mt

En consecuencia, el volumen correspondería a:

Vol = 3 [(M-3Y)  / (Y+3)] Y/2 mt3   

La ecuación también la podemos expresar como

Vol =(3/2) (MY – 3Y2) / (Y+3) mt3

 

Para hallar el valor de Y en donde el Volumen se hace máximo derivamos el volumen con respecto a Y y lo igualamos a cero dvol/dy=0, luego despejamos Y. 

 

dvol/dy=0 =>

[(M – 6Y) (Y+3) – (MY –3Y2)] / (Y+3)2 = 0

 

El denominador del lado izquierdo pasa al otro lado multiplicando y se cancela, en consecuencia, la ecuación quedaría:

 

MY + 3M – 6Y2 – 24Y – MY + 4Y2 = 0 =>

-4Y2 – 24Y + 3M = 0 => 4Y2+24Y-3M = 0 =>

al resolver la ecuación de 2do grado y dado que los valores de M están entre 2000 y 2500 mt2 se puede apreciar que una de las raíces nos quedará positiva y la otra negativa por lo que descartamos la repuesta negativa dado que no hay distancias negativas.

 

Al tener Y, sustituimos este valor en

 

X = (M - 4Y) / (Y+3) mt

Y obtenemos X,

 

Ahora procedemos a elaborar el programa.


PROGRAMA NRO. 1

MÉTODO DE LA DERIVADA


/* Este programa calcula las dimensiones de ancho y largo de la piscina de forma de obtener el máximo volumen posible con el material suministrado (parcial 1 semestre 2026-II)


************ Método de la derivación ********************


Elaborado por Carlos Ferrer

fecha: 11 de Abril de 2026

Rev. : 1

*/


#include<iostream>

#include<math.h>

#include<iomanip> //Biblioteca para imprimir sin notación científica

#include<locale.h>

using namespace std;


main()

{

double X,Y=0; //Largo y Ancho a calcular

double M; //Cantidad de material donado

float litros; //Capacidad en litros de la piscina

setlocale(LC_ALL, "spanish");

do

{

cout <<"Favor ingrese la cantidad de material donado en mts2 (2000-2500) = ";

cin >>M;

if (M<2000 or M>2500)

{

cout <<"dato incorrecto = "<<M<<endl;

system("pause");

system("cls");

}

}

while(M<2000 or M>2500);


//Calculamos Y y X

Y=(-18+sqrt(pow(18,2)-4*3*(-3*M)))/(2*3);

X=(M-3*Y)/(Y+3);

litros=(3*X*Y*1000)/2;


//Presentamos los resultados


cout <<endl<<"El largo de la piscina es de "<<Y<<" mts y"<<endl;

cout <<"el ancho de la piscina es de "<<X<<" mts."<<endl<<endl;

cout <<"El volumen es de "<<3*X*Y/2<<" mts3 (";

cout <<setprecision(2) << fixed <<litros<<" Litros)"<<endl<<endl;

cout <<"Para que la piscina tenga máximo volumen el fondo debe ser cuadrado!!!"<<endl<<endl;

system("pause");

}


Resultados



PROGRAMA NRO. 2
Método del tanteo (Iteración)


/* Este programa calcula las dimensiones de ancho y largo de
la piscina de forma de obtener el máximo volumen posible con el
material suministrado (parcial 1 semestre 2026-II)

*************** Método del tanteo ***************

Elaborado por Carlos Ferrer

fecha: 11 de Abril de 2026

Rev : 1

*/



#include<iostream>
#include<math.h>
#include<iomanip> //Biblioteca para imprimir sin notación científica
#include<locale.h>
using namespace std;


main()

{

double X,Y=0; //Largo y Ancho a calcular
double M; //Cantidad de material donado
double vol,aux,litros; //Capacidad en litros de la piscina
setlocale(LC_ALL, "spanish");

do

{
cout <<"Favor ingrese la cantidad de material donado en mts2 (2000-2500) = ";
cin >>M;
if (M<2000 or M>2500)
{
cout <<"dato incorrecto = "<<M<<endl;
system("pause");
system("cls");
}
}

while(M<2000 or M>2500);

//Calculamos Y y X

Y=0.0001;
X=(M-3*Y)/(Y+3);
vol=3*X*Y/2;
aux=0;

while (vol>aux)
{
aux=vol;
Y=Y+0.0001;
X=(M-3*Y)/(Y+3);
vol=3*X*Y/2;
}

Y-0.0001;
X=(M-3*Y)/(Y+3);
vol=3*X*Y/2;
litros=(3*X*Y*1000)/2;


//Presentamos los resultados

cout <<endl<<"El largo de la piscina es de "<<Y<<" mts y"<<endl;
cout <<"el ancho de la piscina es de "<<X<<" mts."<<endl<<endl;
cout <<"El volumen es de "<<3*X*Y/2<<" mts3 (";
cout <<setprecision(2) << fixed <<litros<<" Litros)"<<endl<<endl;
cout <<"Para que la piscina tenga máximo volumen el fondo debe ser cuadrado!!!"<<endl<<endl;
system("pause");
}

martes, 6 de octubre de 2026

01f.- Programación II - Ejercicio de Manejo de Costos - Tipo Parcial Nro 3

 Dos vigas de 20 y 28 mts de Altura se encuentran a una distancia de (L) de metros entre ellas. Se han de sujetar con una Guaya fijada en un solo punto desde el suelo a los extremos superiores de las vigas. El día de hoy la distancia entre las dos vigas L es de 30 metros. El costo del metro lineal de Guaya es de 2.95$.






La idea es determinar el punto P en donde el costo de comprar las Guayas sea mínimo. 

Conociendo la distancia L usted debe elaborar un programa que determine:
  •  La ubicación del punto P 
  • El costo de la Guaya para el segmento Z (Costo mínimo)
  • El Costo de la Guaya para el segmento Y (Costo mínimo)


Los únicos dos (2) datos que se deben ingresar al programa son:
  • Costo del Metro Lineal de Guaya en $.
  • Distancia entre las dos Vigas (L) en metros.

Solución Esperada




01r.- Programación II - Parcial Nro. 1 (Semestre 2026 - I)

 

1) Es necesario elaborar un programa que permita determinar el corte de láminas de cartón rectangular de forma de elaborar cajas con el mayor volumen posible:

Las láminas rectangulares deben cortarse en sus esquinas de forma de poder doblarlas para construir las cajas, similar a las cajas de una torta de cumpleaños (Sin la tapa superior), el siguiente diagrama indica como se cortará y doblará la caja:

El programa a elaborar deberá permitir ingresar el largo y el ancho de la lámina de cartón (mts), El programa deberá indicar

Cuál será la medida "x"

Cuál es el volumen de la caja en mts. cúbicos


Solución Esperada





01i.- Programación II - Parcial Nro. 1 - Actividad evaluada 01 de Octubre de 2025 (semestre 2026 - I)

   

Nota: Los trabajadores se colocan la cabilla en el hombro en el momento de transpórtalas al interior del almacén.


Solución Esperada





jueves, 1 de octubre de 2026

02b.- Programación II - Actividad a desarrollar clase 01 de Oct 2026 - Solución del Profesor

Video Explicativo


La Gobernación de Miranda desea instalar semáforos dentro de los túneles del edo. Miranda de forma de alertar accidentes o trabajos dentro de los mismo, los semáforos tienen una masa 12.2 kg aproximadamente. Estos semáforos se fijaran al techo de la entrada de los túneles con un sistema de soporte como se muestra en la figura:



Para fijar la estructura al techo se empleara dos segmentos independiente de guaya sobrante de otros proyectos. Cada segmento de guaya solo soporta 10 kg de masa. Elabore un programa que determine cual rango puedo reducir o aumentar el segmento X sin que las guayas terminen rompiéndose. Adicionalmente informe los valores de los ángulos Alfa y Beta para esas longitudes límites. 

Nota la cadena soporta masas de hasta 50 kg.

Solución

Analizamos los diagramas de cuerpo libre, se puede establecer lo siguiente considerando que el sistema esta en equilibrio:


El sistema es representado por dos (2) ecuaciones de cuatro (4) incógnitas (T1, T2, α y β). 

Del triangulo que conforma las dos (2) cuerdas y el techo conocemos dos (2) segmentos: el techo = 2 mts y la cuerda que absorbe la tensión T2 = 1.5 mts. Se puede desarrollar un programa en el cual se ingrese la dimensión de la cuerda que soporta la tensión T1 (segmento X) y así obtener los ángulos α y β usando la ley del coseno, por lo tanto podemos establecer:

X2 = (1.5)2 + (2)2 – 2(1.5)(2) cos β => 

β=arccos[(X2 - (1.5)2 - (2)2)/( – 2(1.5)(2))]

(1.5)2 = X2+ (2)2 – 2(X)(2) cos α => 

α =arccos[((1.5)2 - X2 - (2)2)/( – 2(X)(2))]

Al conocer α y β podemos determinar las tensiones T1 y T2 resolviendo el sistema de ecuaciones de dos incógnitas:

T2 cos β = T1 cos α => T2 = T1 (cos α / cos β) en consecuencia podemos sustituir T2 en la otra ecuación:

T1 seno α + T2 seno β = 122 newton => 

T1 seno α + T1 (seno β x cos α / cos β) = 122 newtons =>

T1 = [122 newton/( seno α + (seno β x cos α / cos β)]

Al obtener T1 determinamos también T2 y evaluamos si alguna de las dos NO soporta 10 kg x 10 mt/seg2 o lo que es lo mismo 100 newtons.

A partir de allí podemos iterar hasta obtener las medidas limites del segmento X. 


Programa (C++)

/* Programa para determinar los rangos limites del segmento

X en cual la estructura soportará el peso del semáforo según

la figura.

Elaborado por Carlos Ferrer

Rev. Oct 2024

*/

#include<iostream>

#include<math.h>

using namespace std;

main()

{

double beta=0,alfa=0; //Ángulos

double x,t1=0,t2=0; //Segmento X y tensiones t1 y t2

double x_menor,x_mayor; //limites mayor y menor del segmento X

double beta_mayor,beta_menor; //limites mayor y menor del ángulo beta

double alfa_mayor,alfa_menor; //limites mayor y menor del ángulo alfa


/*iteramos y calculamos los ángulos y las tensiones al 

ampliar el segmento x*/

x=1.5; //longitud inicial

while (t2<100)

{

x=x+0.001;

beta=acos((pow(2,2)+pow(1.5,2)-pow(x,2))/(2*1.5*2));

alfa=acos((pow(2,2)+pow(x,2)-pow(1.5,2))/(2*x*2));

t1= 122/(sin(alfa)+sin(beta)*cos(alfa)/cos(beta));

t2=t1*cos(alfa)/cos(beta);

}

x_mayor=x;

beta_mayor=beta*180/M_PI;

alfa_mayor=alfa*180/M_PI;


/*iteramos y calculamos los ángulos y las tensiones al 

reducir el segmento x*/

x=1.5;

while(t1<100)

{

x=x-0.001;

beta=acos((pow(2,2)+pow(1.5,2)-pow(x,2))/(2*1.5*2));

alfa=acos((pow(2,2)+pow(x,2)-pow(1.5,2))/(2*x*2));

t1= 122/(sin(alfa)+sin(beta)*cos(alfa)/cos(beta));

t2=t1*cos(alfa)/cos(beta);

}

x_menor=x;

beta_menor=beta*180/M_PI;

alfa_menor=alfa*180/M_PI;

//presentamos los resultados

cout <<"La longitud minima que puede disminuir la guaya X corresponde a = "<<x_menor<<" mts"<<endl; 

cout <<"lo cual ocurre cuando alfa = "<<alfa_menor<<" deg y beta = "<<beta_menor<<endl<<endl; 

cout <<"La longitud maxima que puede aumentar la guaya X corresponde a = "<<x_mayor<<" mts"<<endl; 

cout <<"lo cual ocurre cuando alfa = "<<alfa_mayor<<" deg y beta = "<<beta_mayor<<endl<<endl; 

system ("pause");

}


Programa (Python)


# Programa para determinar los rangos limites del segmento # X en cual la estructura soportará el peso del semáforo según # la figura. # Elaborado por Carlos Ferrer # Rev. Oct 2024

import math
import os
os.system("cls")
beta = 0  # Ángulo
alfa = 0  # Ángulo
x = 1.5  # longitud inicial
t1 = 0
t2 = 0  # tensiones t1 y t2

# Iteramos y calculamos los ángulos y las tensiones al ampliar el segmento x
while t2 < 100:
    x += 0.001
    beta = math.acos((2**2 + 1.5**2 - x**2) / (2 * 1.5 * 2))
    alfa = math.acos((2**2 + x**2 - 1.5**2) / (2 * x * 2))
    t1 = 122 / (math.sin(alfa) + math.sin(beta) * math.cos(alfa) / math.cos(beta))
    t2 = t1 * math.cos(alfa) / math.cos(beta)

x_mayor = x
beta_mayor = beta * 180 / math.pi
alfa_mayor = alfa * 180 / math.pi

# Iteramos y calculamos los ángulos y las tensiones al reducir el segmento x
x = 1.5
while t1 < 100:
    x -= 0.001
    beta = math.acos((2**2 + 1.5**2 - x**2) / (2 * 1.5 * 2))
    alfa = math.acos((2**2 + x**2 - 1.5**2) / (2 * x * 2))
    t1 = 122 / (math.sin(alfa) + math.sin(beta) * math.cos(alfa) / math.cos(beta))
    t2 = t1 * math.cos(alfa) / math.cos(beta)

x_menor = x
beta_menor = beta * 180 / math.pi
alfa_menor = alfa * 180 / math.pi

# Presentamos los resultados
print(f"La longitud minima que puede disminuir la guaya X corresponde a = {x_menor} mts")
print(f"lo cual ocurre cuando alfa = {alfa_menor} deg y beta = {beta_menor} deg\n")
print(f"La longitud maxima que puede aumentar la guaya X corresponde a = {x_mayor} mts")
print(f"lo cual ocurre cuando alfa = {alfa_mayor} deg y beta = {beta_mayor} deg\n")




02a.- Programación II - Actividad a desarrollar clase 01 de Oct 2026

La Gobernación de Miranda desea instalar semáforos dentro de los túneles del edo. Miranda de forma de alertar accidentes o trabajos dentro de los mismo, los semáforos tienen una masa 12.2 kg aproximadamente. Estos semáforos se fijaran al techo de la entrada de los túneles con un sistema de soporte como se muestra en la figura:



Para fijar la estructura al techo se empleara dos segmentos independiente de guaya sobrante de otros proyectos. Cada segmento de guaya solo soporta 10 kg de masa. Elabore un programa que determine cual rango puedo reducir o aumentar el segmento X sin que las guayas terminen rompiéndose. Adicionalmente informe los valores de los ángulos Alfa y Beta para esas longitudes límites. 

Nota la cadena soporta masas de hasta 50 kg.