El alumno debe escribir en programa en lenguaje c basandose en el diagrama de flujo anexo. El programa pregunta al usuario por los valores de xi , iter y errS. Donde iter y errS son valores para detener el probrama. iter es la cantidad de aproximaciones a mostrar en la tabla, y errS el error relativo porcentual para detener el programa. La ecuacion donde se desea encontrar la raiz debe escribirse explicitamente en funcion f(x) y la derivada de f(x) escribirlo en fprima(x).
Respuestas a la pregunta
A continuación codificación en C de diagrama de flujo para generar tabla de valores de error relativo y aproximación de ecuaciones. Se adjunta imagen de salida por pantalla.
Código en C de programa que muestra tabla con diferentes variables calculadas mediante funciones
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
// Declaraciones de las funciones
float newtoraphos(float xi, float iter, float errs);
float f(float xi);
float fprima(float xi);
int main() {
/* Definir e inicializar varibles */
float errs;
float iter;
float r;
float xi;
xi = 0;
errs = 0;
r = 0;
iter = 0;
printf("xi: ");
scanf("%f",&xi);
printf("iter: ");
scanf("%f",&iter);
printf("errS: ");
scanf("%f",&errs);
r = newtoraphos(xi, iter, errs);
printf("La raíz es: %f\n",r);
return 0;
}
float newtoraphos(float xi, float iter, float errs) {
/* definir variables */
float erp;
float i;
float r;
float ximas1;
float ye;
float yie;
i = 1;
erp = 0;
ye = 0;
yie = 0;
r = 0;
ximas1 = 0;
printf("i , xi , f(xi) , f(xi) , xi+1 , Erp\n");
do {
ye = f(xi);
yie = fprima(xi);
ximas1 = (xi-ye)/yie;
erp = abs((ximas1-xi)/ximas1)*100;
printf("%.1f , %.1f , %.1f , %.1f , %.1f , %.1f\n",i,xi,ye,yie,ximas1,erp);
xi = ximas1;
i = i+1;
} while (i<=(iter) && erp>(errs));
r = ximas1;
return r;
}
float f(float xi) {
float ye;
ye = 2*pow(xi,2);
return ye;
}
float fprima(float xi) {
float yie;
yie = 2*(xi);
return yie;
}
Para saber más acerca de programas en C con funciones consulte: https://brainly.lat/tarea/12963853
#SPJ1