Raiz quadrada aproximada
Publicado por Thiago 08/11/2005
[ Hits: 13.148 ]
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.
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Script de montagem de chroot automatica
archlinux resolução abaixou após atualização (14)
Conselho distribuiçao brasileira (2)
Não consigo instalar distro antiga no virtualbox nem direto no hd (33)









