Wikipedia for Schools in Portuguese is available here
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Usuário:Marcelo Reis/botnum - Wikipédia

Usuário:Marcelo Reis/botnum

Origem: Wikipédia, a enciclopédia livre.

Não edite diretamente esta página, a não ser para adicionar trechos de código importantes. Se for o caso de alguma modificação (e já adianto, o programa está raw) faça um comentário na discussão. O código a seguir está licenciado para domínio público.

[editar] z.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class z extends JApplet
{
        JTextField cnum = new JTextField(10);
        JButton okb = new JButton("OK");
        JTextArea areasaida = new JTextArea(16,30);
        ActionListener a = new ActionListener()
        {
                public void actionPerformed(ActionEvent e)
                {
                        String numstring = cnum.getText();
                        Integer n = new Integer(0);
                        try
                        {
                                n = Integer.valueOf(numstring, 10);
                                botnum t = new botnum(n.intValue());
                                botnum ta = new botnum(n.intValue() - 1);
                                botnum tp = new botnum(n.intValue() + 1);
                                String saida = "";
                                saida += "{| border=\"0\" align=\"right\" cellspacing=\"0\" cellpadding=\"4\" style=\"border-width: 1px; border-color: #888888; border-style: solid\"";
                                saida += "\n|-----";
                                saida += "\n| colspan=\"3\" bgcolor=\"#C0C0FF\" align=\"center\" | <font size=+2>'''" + t.getn() + "'''</font>";
                                saida += "\n|-----";
                                saida += "\n| colspan=\"2\" bgcolor=\"#F0F0FF\" | [[Cardinal]]";
                                saida += "\n| bgcolor=\"#F0F0FF\" | " + t.extenso();
                                saida += "\n|-----";
                                saida += "\n| colspan=\"2\" bgcolor=\"#F0F0FF\" | [[Ordinal]]";
                                saida += "\n| bgcolor=\"#F0F0FF\" | " + t.ordinal();
                                saida += "\n|-----";
                                saida += "\n| colspan=\"2\" bgcolor=\"#F0F0FF\" | [[Factorização]]";
                                saida += "\n| bgcolor=\"#F0F0FF\" | " + t.getn() + " = ";
                                int[] fat = t.fatores();
                                int c;
                                for(c = 0; c < fat.length; c++)
                                {
                                        if(c != fat.length - 1) saida += fat[c] + " x ";
                                        else saida += fat[c];
                                };
                                saida += "\n|-----";
                                saida += "\n| colspan=\"2\" bgcolor=\"#F0F0FF\" | [[Numeração romana]]";
                                saida += "\n| bgcolor=\"#F0F0FF\" | " + t.romano();
                                saida += "\n|-----";
                                saida += "\n| colspan=\"2\" bgcolor=\"#F0F0FF\" | [[Sistema binário]]";
                                saida += "\n| bgcolor=\"#F0F0FF\" | " + t.binario();
                                saida += "\n|-----";
                                saida += "\n| colspan=\"2\" bgcolor=\"#F0F0FF\" style=\"padding: 2px; border-bottom-style: solid; border-width: 1px; border-color: #888888\" | [[Sistema hexadecimal]]";
                                saida += "\n| bgcolor=\"#F0F0FF\" style=\"padding: 2px; border-bottom-style: solid; border-width: 1px; border-color: #888888\" | 2A";
                                saida += "\n|-----";
                                saida += "\n| colspan=\"3\" bgcolor=\"#FFD0D0\" align=\"center\" | '''Propriedades matemáticas'''";
                                saida += "\n|-----";
                                saida += "\n| bgcolor=\"#FFF0F0\" | [[Função phi de Euler|φ(" + t.getn() + ")]] = " + t.totiente();
                                saida += "\n| bgcolor=\"#FFF0F0\" | τ(" + t.getn() + ") = " + t.sigma(0);
                                saida += "\n| bgcolor=\"#FFF0F0\" | σ(" + t.getn() + ") = " + t.sigma(1);
                                saida += "\n|-----";
                                saida += "\n| bgcolor=\"#FFF0F0\" | π(" + t.getn() + ") = " + t.pi();
                                saida += "\n| bgcolor=\"#FFF0F0\" | [[Função de Möbius|μ(" + t.getn() + ")]] = " + t.mobius();
                                saida += "\n| bgcolor=\"#FFF0F0\" | [[Função de Mertens|''M''(" + t.getn() + ")]] = " + t.mertens();
                                saida += "\n|}";
                                
                                saida += "\n\n'''" + t.getn() + "''' (" + t.extenso() + ", " + t.romano() + ") é um [[número natural]]. ";
                                saida += "Ele é precedido pelo [[" + ta.extenso() + "|" + ta.getn() + "]] e sucedido pelo [[" + tp.extenso() + "|" + tp.getn() + "]]";
                                
                                saida += "\n\n<!--Categoria-->\n[[Categoria:Inteiros]]";
                                saida += "\n\n<!--Interwiki-->\n[[en:" + t.getn() + " (number)]]";
                                
                                areasaida.setText(saida);
                        }
                        catch(NumberFormatException nfe) {
                                areasaida.setText("Por favor, indique um número entre 0 e 999...");
                        };
                }
        };
        
        public void init()
        {
                Container apc = getContentPane();
                apc.setLayout(new FlowLayout());
                okb.addActionListener(a);
                apc.add(cnum);
                apc.add(okb);
                areasaida.setLineWrap(true);
                apc.add(areasaida);
                
        }
        
        public static void main(String args[])
        {
                JApplet zap = new z();
                JFrame frame = new JFrame("z");
                frame.getContentPane().add(zap);
                frame.setSize(400,300);
                frame.setVisible(true);
        }
}


[editar] botnum.java

/**
* Classe para geracao de texto formatado padrao TikiWiki, relativo a numeros 
* inteiros de 0 a 1024.
*/

import java.lang.*;
import java.util.*;

public class botnum
{
        int n; //@- o número
        String extenso; //@- por extenso
        String ord;
        int difdiv; //@- indica a diferença entre a soma dos divisores e o numero
        
        public botnum(int fn)
        {
                if(fn < 0) fn *= -1;
                if(fn > 999) fn = 0;
                
                n = fn;
        }
        
        public int getn()
        {
                return n;
        }
        
        String extenso()
        {
                extenso = "";
                String unidades_extenso[] = { "zero", "um", "dois", "três", "quatro", "cinco", "seis", "sete", "oito", "nove", "dez", "onze", "doze", "treze", "quatorze", "quinze", "dezesseis", "dezessete", "dezoito", "dezenove" };
                String dezenas_extenso[] = {"", "dez", "vinte", "trinta", "quarenta", "cinqüenta", "sessenta", "setenta", "oitenta", "noventa" };
                String centenas_extenso[] = { "", "cento", "duzentos", "trezentos", "quatrocentos", "quinhentos", "seiscentos", "setecentos", "oitocentos", "novecentos" };

                int u, d, c; //unidade, dezena e centena
                
                if(n <= 19)
                {
                        u = n;
                        extenso = unidades_extenso[u];
                }
                else if(n <= 99)
                {
                        u = n % 10;
                        d = (int) Math.floor(n / 10);
                        if(u == 0)
                        {
                                extenso = dezenas_extenso[d];
                        }
                        else
                        {
                                extenso = dezenas_extenso[d] + " e " + unidades_extenso[u];
                        }
                }
                else if(n <= 999)
                {
                        u = n % 10;
                        //983 - 900 = 83
                        d = (int) Math.floor(n - Math.floor(n / 100) * 100) / 10;
                        c = (int) Math.floor(n / 100);
                        if(u == 0)
                        {
                                if(d == 0)
                                {
                                        extenso = centenas_extenso[c];
                                }
                                else
                                {
                                        extenso = centenas_extenso[c] + " e " + dezenas_extenso[d];
                                }
                        }
                        else if(d == 0)
                        {
                                extenso = centenas_extenso[c] + " e " + unidades_extenso[u];
                        }
                        else
                        {
                                extenso = centenas_extenso[c] + " e " + dezenas_extenso[d] + " e " + unidades_extenso[u];
                        }
                }
                else extenso = "";

                /* Caso especial: 100 (para evitar confusao com "cento"). */
                if(n == 100) extenso = "cem"; 

                return extenso;
        }
        
        String ordinal()
        {
                ord = "";
                String[] unidades_ordinal = { "", "primeiro", "segundo", "terceiro", 
                 "quarto", "quinto", "sexto", "sétimo", "oitavo", "nono" };
                String[] dezenas_ordinal = { "", "décimo", "vigésimo", "trigésimo", "quadragésimo", "quintuagésimo", "sexagésimo", "septuagésimo", "octogésimo", "nonagésimo" };
                String[] centenas_ordinal = { "", "centésimo", "ducentésimo", "trecentésimo", "quadringentésimo", "qüingencentésimo", "sexcentésimo", "septingentésimo", "octingentésimo", "noningentésimo" };

                int u, d, c, m;
        
                // x E [0,9] ?
                if(n < 10)
                {
                        u = n;
                        ord = unidades_ordinal[u];
                }
                // x E [10,99] ?
                else if(n < 100)
                {
                        d = (int) Math.floor(n / 10);
                        u = n - (d * 10);
                        if(u == 0) ord = dezenas_ordinal[d];
                        else ord = dezenas_ordinal[d] + " " + unidades_ordinal[u];
                }
                else
                {
                        c = (int) Math.floor(n / 100);
                        d = (int) Math.floor((n - c * 100) / 10);
                        u = n - (c * 100) - (d * 10);
                        if(u == 0)
                        {
                                if(d == 0) ord = centenas_ordinal[c];
                                else ord = centenas_ordinal[c] + " " + dezenas_ordinal[d];
                        }
                        else if(d == 0)
                        {
                                ord = centenas_ordinal[c] + " " + unidades_ordinal[u];
                        }
                        else ord = centenas_ordinal[c] + " " + dezenas_ordinal[d] + " " + unidades_ordinal[u];
                }
        
                return ord;
        }


        public boolean verifica_primo()
        {
                boolean primo = true;
                int c1, c2, ndiv2;
                ndiv2 = (int) n / 2 + 1;

                if(n == 1)
                {
                        return false;
                }
                else if(n == 2 || n == 3)
                {
                        return true;
                }
                else
                {
                        // Faz um teste com todos as multiplicacoes possiveis entre 1 e n / 2 (arredondado para o inteiro seguinte).
                        for(c1 = 1; c1 <= ndiv2; c1++)
                        {
                                for(c2 = 1; c2 <= ndiv2 + 1; c2++)
                                {
                                        if((c1 * c2) == n) primo = false;
                                }
                        }
                        return primo;
                }
        }

        public int[] divisores()
        {
                int[] temp = new int[100];
                int[] r;
                int div_atual;
                int c = 0;
                for(div_atual = 1; div_atual < (n/2 + 1); div_atual++)
                {
                        if ((n % div_atual) == 0)
                        {
                                temp[c] = div_atual;
                                c++;
                        }
                }
                temp[c] = n;
                r = new int[c+1];
                for(int trans = 0; trans <= c; trans++) r[trans] = temp[trans];
                return r;
        }
        
        public int[] fatores()
        {
                int divisor = 2; // Começa com o 2.
                int[] temp = new int[100];
                int[] r;
                int quociente = n;
                int c = 0;

                do
                {
                        if((quociente % divisor) == 0)
                        {
                                quociente /= divisor;
                                temp[c] = divisor;
                                c++;
                        }
                        else
                        {
                                divisor++;
                        }
                } while(quociente != 1);
                r = new int[c];
                for(int trans = 0; trans < c; trans++) r[trans] = temp[trans];
                return r;
        }
        
        public boolean verifica_perfeito()
        {
                int[] div = divisores();
                int soma = 0;
                int c = 0;
                for(c = 0; c < div.length; c++)
                {
                        soma += div[c];
                }
                soma = soma - n; // Retira o próprio n e soma 1, não contado
                if((soma - n) == 0) return true;
                else return false;
        }
        
        public int totiente ()
        {
                int c, t = 0;
                if(n <= 1) return 0;
                else if(n == 2) return 1;
                else
                {
                        for(c = 1; c < n; c++)
                        {
                                if(mdc(c) == 1) t++;
                        }
                }
                return t;
        }

        public int mdc(int n2)
        {
                int a, b, q, r;
        
                // Se alguns dos numeros for igual a 0, returna -1 (nao existe mdc).
                if((n == 0) || (n2 == 0)) return -1;
        
                // Verifica se foi passado numero positivo.
                if(n2 < 0) n2 = -1 * n2;
        
                // a deve ser <= b
                if(n <= n2)
                {
                        a = n;
                        b = n2;
                }
                else
                {
                        a = n2;
                        b = n;
                }
        
                q = b / a;
        
                do
                {
                        r = b - a * q;
                
                        if(r != 0)
                        {
                                if(r > a)
                                {
                                        q = (r / a);
                                        b = r;
                                }
                                else
                                {
                                        q = (a / r);
                                        b = a;
                                        a = r;
                                }
                        }
                } while(r != 0);
                return a;
        }

        public int mobius()
        {
                int[] f;
                int c;
                int anterior = 0;

                // Obtem os fatores do numero.
                f = fatores();

                if(f.length == 1) return -1; //Para primos, mobius = -1.

                // Percorre os fatores, tentando encontrar algum quadrado
                // (ou seja, um fator que se repita).

                for(c = 0; c < f.length; c++)
                {
                        if(f[c] == anterior) return 0; //encontrou um quadrado
                        else
                        {
                                anterior = f[c];
                        }
                }

                // Se chegou ateh aqui, eh porque nao existe divisor quadrado.
                // Verifica entao se eh decomposto em uma quantidade par ou impar
                // de fatores primos.
                if((f.length % 2) == 0) return 1;
                else return -1;
        }
        
        public int mertens()
        {
                int c;
                int mert = 0;
                for(c = 1; c <= n; c++)
                {
                        botnum temp = new botnum(c);
                        mert += temp.mobius();
                }
                return mert;
        }
        
        public int pi()
        {
                int c, p = 0;
                if(n == 1) return 1;
                else
                {
                        for(c = 1; c <= n; c++)
                        {
                                botnum ptemp = new botnum(c);
                                if(ptemp.verifica_primo())
                                {
                                        p++;
                                }
                        }
                }
                return p;
        }
        
        public int sigma(int k)
        {
                int[] d;
                int c;
                int soma = 0;
        
                // Obtem os divisores.
                d = divisores();
        
                if(d.length == 1)
                {
                        if(k == 0) return 2;
                        else return (int) (Math.pow((double) n, (double) k) + 1);
                }
        
                for(c = 0; c < d.length; c++)
                {
                        soma += (int) Math.pow((double) d[c], (double) k);
                }
                
                return soma;
        }
        
        public String binario()
        {
                StringBuffer r = new StringBuffer("");
                char[] algarismos = { '0', '1' }; 
                int div = n;
                int vo;
                int resto;
                
                do
                {
                        vo = div;
                        div = (int) Math.floor(div / 2);
                        resto = vo - (div * 2);
                        r.append(algarismos[resto]);
                } while(div > 0);
                r.reverse();
                return r.toString();
        }
                        
        public String octal()
        {
                StringBuffer r = new StringBuffer("");
                char[] algarismos = { '0', '1', '2', '3', '4', '5', '6', '7' }; 
                int div = n;
                int vo;
                int resto;
                
                do
                {
                        vo = div;
                        div = (int) Math.floor(div / 8);
                        resto = vo - (div * 8);
                        r.append(algarismos[resto]);
                } while(div > 0);
                r.reverse();
                return r.toString();
        }

        public String hexadecimal()
        {
                StringBuffer r = new StringBuffer("");
                char[] algarismos = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; 
                int div = n;
                int vo;
                int resto;
                
                do
                {
                        vo = div;
                        div = (int) Math.floor(div / 16);
                        resto = vo - (div * 16);
                        r.append(algarismos[resto]);
                } while(div > 0);
                r.reverse();
                return r.toString();
        }

        public String romano()
        {
                String r = "";
                String[] unidades_romano = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX" };
                String[] dezenas_romano = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC" };
                String[] centenas_romano = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM" };
                
                int u, c, d;
        
                if(n < 10)
                {
                        u = n;
                        r = unidades_romano[u];
                }
                else if(n < 100)
                {
                        u = n % 10;
                        d = (int) Math.floor(n / 10);
                        r = dezenas_romano[d] + unidades_romano[u];
                }
                else
                { // 982
                        u = n % 10;
                        c = (int) Math.floor(n / 100);
                        d = (int) Math.floor((n - c * 100) / 10);
                        r = centenas_romano[c] + dezenas_romano[d] + unidades_romano[u];
                }
                
                return r;
        }
        
}
Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com