Engenharia - prog i

Disponível somente no TrabalhosFeitos
  • Páginas : 4 (916 palavras )
  • Download(s) : 0
  • Publicado : 27 de novembro de 2012
Ler documento completo
Amostra do texto
QUESTÃO 1 : Raiz de dois
#include <iostream>
#include <cmath>
using namespace std;
int main()
//Declaração das variáveis que serão utilizadas no algoritmo
{
double ERRO;
doubleA,B,RAIZ;
double FX,FA;
int CONT;
CONT= 0;
//Diálogo com o usuário: aqui o usuário irá informar o erro máximo para a aproximação da raiz de dois(que não possui um número exato).
cout <<"Digite o erro maximo desejado para a raiz de 2\n"<<endl;
cin >> ERRO;
cout << " \n";
cin.get();
// Aqui, o programa recebe o intervalo “próximo” de 1.0 e 2.0 pois se sabe, que ovalor aproximado para o resultado de raiz de dois é de 1.5
A = 1.0;
B = 2.0;
RAIZ =(A+B)/2;
// (A+B)/2 é a média entre os valores dados. Neste caso, ainda o 1.0 e o 2.0. Essa média
//o erroinicial, está na margem de 0.5. Logo, não precisaremos repetir as divisões (fazer o teorema do valor intermediário de fato) se o erro digitado for maior que 0.5
if(ERRO>0.5)
{
cout << "Ovalor de raiz de 2 eh "<<RAIZ<<", com margem de erro 0.5"<<endl;
cout << " e com uma divisão feita";
}
else
{
// (B-A)/2>=ERRO é a condição limite proloop parar
while(((B-A)/2)>=ERRO)
{
// aqui começam as divisões para o teorema do valor intermediário, se o quadrado do valor encontrado, subtraído por 2 for positivo, significa que o numeroesta acima do raiz de 2 (já que o teorema do valor intermediário num numero elevado ao quadrado nos garante que há uma raiz entre 1 e 2)

RAIZ =(A+B)/2;
FX = RAIZ*RAIZ-2;
FA = A*A-2;
//conferindo se a margem de cima ou a de baixo será substituída (a e b)
if (FX*FA>0)
{
A=RAIZ;
}
else
{
B=RAIZ;
}
CONT++;
}

cout << "A raiz de 2 eh aproximadamente: "
cout << RAIZ;cout << " \n";
cout << " \n";
cout << "Numero de vezes que o teorema foi utlizado: ";
cout << CONT;
cout << " \n";
}
return 0;
}



QUESTÃO 2
#include...
tracking img