%% prog 22 area del circulo while clearvars close all; clc; %programa para calcular el àrea de un circulo %usando poligonos regulares de N lados con un error %permitido menor a una millonesima % abs( areaverd - areaaprox ) < 10-6 %% lectura de datos R = input('R = '); %% inicializacion averd = pi*R^2; %area verdadera aaprox = 0; %area aproximada N = 2; %numero incial de lados (triangulo) %% ciclo principal while abs(averd - aaprox) >= 10e-10 %aumentamos el numero de lados N = N+1; %angulo alfa = (2*pi)/N; %base B = sqrt( 2*R^2 - 2*R^2*cos(alfa) ); %altura H = R*cos(alfa/2); %area triangulo AT = (B*H)/2; %area del poligono aaprox = AT*N; end; err = abs(averd - aaprox); %% escribir resultados fprintf('averd = %f\n',averd); fprintf('aaprox = %f\n',aaprox); fprintf('N = %d\n',N); fprintf('err = %f\n',err);