Você está na página 1de 5

ALGORITMO DO CUSTO MÍNIMO

#include <iostream>

#include <math.h>

using namespace std;

double minimo(double _d,double _D,double _p,double _P){

return (_p*_d)/sqrt((_P*_P)-(_p*_p));

double custo(double _x,double _d,double _D,double _p,double _P){

if(_P<=_p){

return _P*sqrt(pow(_d,2)+pow(_D,2));

}else{

return _P*sqrt(pow(_d,2)+pow(_x,2)) + _p*(_D - _x);

int main(){

double x,d,D,p,P;

double vetor[3];

//d -> Distancia da plataforma ate a costa.

//D -> Distancia da costa ate a refinaria.

//p -> Preço da tubulação em terra.

//P -> Preço da tubulação no Mar.

//x -> Ponto de minimo.

cout<<"\n\n" ;

cout<<" Este programa lhe informa o custo e a distancia em que a tubulacao deve ser
instalada para minimizar o preco de construcao. " ;

cout<<"\n\n" ;
cout<<" Informe o preco de construcao no mar: ";

cin>>P;

cout<<"\n Informe o preco de construcao na terra: ";

cin>>p;

cout<<"\n Informe a distancia da plataforma ate a costa: ";

cin>>d;

cout<<"\n Informe a distancia da costa ate a refinaria: ";

cin>>D;

cout<<"\n\n";

if(d<0 or D<0){

cout<<" Esse valor eh invalido! Informe novamente os valores. ";

main();

if(P>p){

x = minimo(d,D,p,P);

vetor[0] = custo(0,d,D,p,P);

vetor[1] = custo(x,d,D,p,P);

vetor[2] = custo(D,d,D,p,P);

double menor = vetor[0];

int j=0;

for(int i = 1; i<=2;i++){

if(menor>vetor[i]){

menor=vetor[i];

j=i;

}
}

cout<<" O menor custo para a construcao eh: "

<<menor

<<" reais , e a distancia em relacao a costa que a tubulacao deve ser conectada eh: ";

if(j==0){

cout<<0;

}else if(j==1){

cout<<x;

}else{

cout<<D;

cout<<" metros.";

}else{

cout<<" O menor custo para a construção eh: "

<<custo(0,d,D,p,P)

<<" reais, e a obra deve ser feita toda pelo mar, saindo direto da plataforma ate a
refinaria";

cout<<"\n\n\n";

system ("pause");

}
ALGORÍTMO DO RAÍZ DE DOIS

#include <iostream>

#include <math.h>

using namespace std;

int main(){

double x,b,a,erro;

cout<<"\n\n" ;

cout<<" Este programa tem o objetivo de calcular a raiz quadrada aproximada do numero 2,
baseando-se em um intervalo [ A , B ] e uma aproximacao definidos por voce. " ;

cout<<"\n\n" ;

int cont;

cont=0;

cout<<" Escreva o A: ";

cin>>a;

cout<<"\n Escreva o B: ";

cin>>b;

cout<<"\n Escreva a aproximacao desejada: ";

cin>>erro;

do{

x=(a+b)/2;

if((x*x)>2){

b=x;

}else{

a=x;

}
cont +=1;

}while ((b-a)>erro);

cout<<"\n\n\tA aproximacao para raiz de dois eh: ";

cout<<"\t"

<<x;

cout<<"\n\n\tO valor da raiz de dois no C++ eh: ";

cout<<"\t"

<<(sqrt(2));

cout<<"\n\n";

cout<<"\n\n A operacao foi executada "

<<cont

<<" vezes!\n\n\n\n";

system("pause");

Você também pode gostar