Advertisement
orneto

bissecção

May 3rd, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.02 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5.  
  6.  
  7. float funcao(float x){
  8.     float y;
  9.     y=x*x+8*x-9;//insira a função aqui
  10.     return y;
  11. }
  12. int main() {
  13.     double intervaloA, intervaloB, a, b, c, precisao;
  14.     int iteracoes, i, j=0;
  15.         printf("digite o valor do intervalo, A: ");
  16.         scanf("%lf", &a);
  17.         printf("digite o valor do intervalo, C: ");
  18.         scanf("%lf", &c);
  19.         printf("digite o numero de iteracoes: ");
  20.         scanf("%d", &iteracoes);
  21.         printf("digite a precisao esperada: ");
  22.         scanf("%lf", &precisao);
  23.             if (funcao(a)*funcao(c)>0){
  24.                 i=0;
  25.                 printf("Nao e possivel calcular a raiz!"); //não existe um ponto entre a e c onde a funcao passa pelo 0
  26.             }
  27.             else{
  28.                 for(i=0; i<iteracoes; i++){
  29.                     b=a+((c-a)/2);
  30.                     if(funcao(a)*funcao(b)<0){
  31.                         c=b;
  32.                     }
  33.                     else{
  34.                         a=b;
  35.                     }
  36.                     if(fabs(c-a)<precisao){ //verifica se a precisao esperada ja foi atingida
  37.                         break;
  38.                     }
  39.                 }
  40.             }
  41.             if(i>0){
  42.                 printf("a raiz encontrada foi: %lf", b);
  43.             }
  44.     return 0;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement