Raiz quadrada aproximada
Publicado por Thiago 08/11/2005
[ Hits: 13.127 ]
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();
}
EXPRESSÕES ARITMÉTICAS - PARTE 2
Passar uma string pra caixa alta.
Nenhum comentário foi encontrado.
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
diferença entre o Tor baixado pelo Gerenciador de Aplicativos e o Tor ... (1)
Podem me chamar de 1mbecil :) (2)
Debian Stable travado em atualizações: dist-upgrade não resolve [RESOL... (11)
Como ler fonte de um projeto? [RESOLVIDO] (5)
Perfil criado no samba ad dc não loga no Windows 10 e 11 [RESOLVIDO] (14)









