#La idea de este algoritmo es aproximar mediante rectangulos el área de un cuadrante de Circulo #Dividimos la base sucesivamente en 2, 3, 4,... y así #Debemos ingresar el radio y Queremos hallar el número de veces que se dividirá #Trabajamos con una tolerancia de 10^-3 # r^2 = x^2 + y^2 area_cuadrante=function(r) { A0 = 0.25*pi*r^2 #Area verdadera del cuadrante A1 = r*r #Area aproximada con rectangulos inicial n = 1 #numero de iteraciones tabla=c(n,A0,A1,A1-A0) #tabla con los datos while (abs(A1-A0) > 0.001) { #mientras el error sea mayor que 10^(-3) n = n + 1 #incrementamos n para que se divida el radio entre 2 b = r/n # La base es el radio dividido entre n-iteracion A1 = 0 #Acumulador de las areas de los rectangulos for (i in seq(0,n-1,1)) { x = i*b #el punto en x para hallar la altura y = sqrt(r*r - x*x) # la altura correspondiente A1 = A1 + b*y #El area del rectangulo se acumula }#for tabla=rbind(tabla,c(n,A0,A1,A1-A0)) #pegamos una nueva fila a la tabla }#while tabla } #para probar la función area_cuadrante(1)