Raiz quadrada aproximada
Publicado por Thiago 08/11/2005
[ Hits: 13.098 ]
Calculando a raiz quadrada de um número através de aproximação usando o método de Newton.
Este fonte está em NCURSES sendo assim só roda no Linux que possui a biblioteca ncurses.h
/* Autor: thiagoamm
Data: 08/11/2005 */
#include<ncurses.h>
#include<math.h>
#include<string.h>
float raiz(float param, int quant);
float raiz(float param, int quant)
{
float x;
int i;
x = param / 2;
for(i = 1; i < quant; i++)
{
x = (pow(x,2) + param) / (2 * x);
}
return(x);
}
int main(void)
{
int i,pos,aprox,j;
float y;
char titulo[] = {"RAIZ QUADRADA - METODO DE NEWTON"};
WINDOW *wstd = NULL;
wstd = initscr();
start_color();
init_pair(1,COLOR_WHITE,COLOR_GREEN);
init_pair(2,COLOR_GREEN,COLOR_WHITE);
wclear(wstd);
wbkgd(wstd,COLOR_PAIR(1) | A_BOLD);
wattrset(wstd,COLOR_PAIR(1) | A_BOLD);
box(wstd,'@','#');
pos = (COLS - strlen(titulo)) / 2;
j = 1;
do
{
mvwprintw(wstd,1,pos,"%s",titulo);
mvwprintw(wstd,3,2,"INFORME O VALOR DE Y: ");
mvwscanw(wstd,3,24,"%f",&y);
mvwprintw(wstd,4,2,"INFORME QUANTAS APROXIMACOES DESEJA CALCULAR: ");
mvwscanw(wstd,4,48,"%d",&aprox);
mvwprintw(wstd,5,2,"RESULTADO: %.5f",raiz(y,aprox));
mvwprintw(wstd,6,2,"--> 0 para SAIR.");
mvwscanw(wstd,6,22,"%d",&j);
wclear(wstd);
box(wstd,'@','#');
}while(j != 0);
endwin();
}
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
VOL já não é mais como antes? (9)
É normal não gostar de KDE? (13)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









