Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /** João Vitor Monteiro Leduino - MAT: 1906488 */
- #include <stdlib.h>
- #include <stdio.h>
- #include <math.h>
- #define EPS 0,0000001
- double funcao1(float x){ /** Função 1----> f(x) = x^2 - 2^x */
- return pow (x, 2.0) - pow(2.0, x);
- }
- void metodoBissec1 (){ /** Esta função utiliza a funcao1 para substituir o va- */
- /** lor de x por uma entrada do usuário, depois de ler */
- /** os valores para x ela começa a aplicar o método de */
- /** de Bissecção para cercar o valor da raíz, foi usado */
- /** algoritmo fornecido pelo exercício para o desenvolvi-*/
- /** mento deste programa. */
- double raiz, fx1, fx2, fraiz, x1, x2;
- printf("\nDigite o valor de x1 e x2 da Funcao:\n\n");
- scanf("%f%f", &x1, &x2);
- fx1=funcao1(x1);
- fx2=funcao1(x2);
- if ((fx1 * fx2)<0){
- while (abs (raiz) > EPS){
- raiz = (x1+x2)/2;
- fraiz = f1(raiz);
- if(f1(x1)*f1(raiz)<0){
- x2=raiz;
- fx2 = fraiz;
- }
- else{
- x1 = raiz;
- fx1 = fraiz;
- }
- raiz = (x1+x2)/2;
- printf("%.50lf\n", raiz);
- }
- printf("A raiz da Funcao eh, aproximadamente: %.lf",
- raiz);
- }
- else
- printf("Nao ha raizes no intervalo dado.\n");
- }
- double f2(float x){ /** Função 2 ----> f(x) = x^3 - 9x + 3 */
- return pow (x, 3)-9.0*x+3;
- }
- void metodoBissec2 (){ /** Esta função utiliza a funcao2 para substituir o va- */
- /** lor de x por uma entrada do usuário, depois de ler */
- /** os valores para x ela começa a aplicar o método de */
- /** de Bissecção para cercar o valor da raíz, foi usado */
- /** algoritmo fornecido pelo exercício para o desenvolvi-*/
- /** mento deste programa. */
- double raiz, fx1, fx2, fraiz, x1, x2;
- printf("Digite o valor de x1 e x2 da Funcao:\n\n");
- scanf("%f %f", &x1, &x2);
- if (f1(x1) * f1(x2)<0){
- while (fabs(raiz) > EPS){
- raiz = (x1+x2)/2;
- if(f2(x1)*f2(raiz)<0){
- x2=raiz;
- fx2 = fraiz;
- }
- else{
- x1 = raiz;
- fx1 = fraiz;
- }
- raiz = (x1+x2)/2;
- printf("%.30f\n", raiz);
- }
- printf("A raiz da Funcao eh, aproximadamente: %lf", raiz);
- }
- else
- printf("Nao ha raizes no intervalo dado.");
- }
- int main () { /** Na função principal o programa da algumas opções */
- /** para o usuário escolher, após isso, ele chama a */
- /** função de acordo com a opção do usuário. */
- int opcao;
- printf("Quer definir a raiz de qual funcao?"
- "\n(1) Funcao 1 --> f(x) = x^2 - 2^x"
- "\n(2) Funcao 2 --> f(x) = x^3 - 9x + 3"
- "\n\n--> ");
- scanf("%d", &opcao);
- if(opcao == 1)
- metodoBissec1();
- else if(opcao == 2)
- metodoBissec2();
- else
- printf("\nERROR\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement