Introdução à programação e aos algoritmos

João Araujo Ribeiro · Capítulo 4 de 103

Páginas do PDF

Introdução à programação e aos algoritmos

1.1 Sistemas de Numeração

Uma das coisas que um computador sabe fazer bem é contar números inteiros; que conta rapidamente e de maneira precisa. Mas como o computador faz essa contagem? Como representa quantidades? Precisamos antes pensar em como nós mesmos contamos, em como representamos as quantidades. Isso é valioso para entender como criar uma máquina que conta. Vou mostrar-lhe aqui alguns detalhes óbvios para depois chegar ao mundo dos computadores.

Não é novidade para ninguém que temos dez símbolos para

representar números. Os símbolos são 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. São chamados de algarismos indo-arábicos, por causa de sua origem na Índia e depois difusão a partir da região da península arábica. Mas, depois de contar até nove, como fazemos? Temos de repetir os símbolos, usando, porém, um truque de posicionamento: convencionamos que os símbolos colocados à esquerda de outro símbolo têm seu valor multiplicado por dez.

Usamos, neste caso, uma notação posicional de base dez, ou

seja, usamos a base decimal. Possivelmente, essa notação surgiu por uma questão prática. Temos dez dedos nas mãos e a palavra “dígito”, que designa cada um desses elementos, vem do latim e quer dizer “dedo”. Contar até dez é uma consequência lógica disto. A notação posicional pode parecer bem evidente, mas lembremos de que os romanos usavam uma notação de números que não facilitava em nada a aritmética. Tente multiplicar X por II em romanos!

O que para nós hoje em dia é óbvio, na antiguidade não era tão

comum, e mesmo algo tão evidente quanto um símbolo para zero só apareceu no mundo ocidental na Idade Média.

Na notação posicional de base dez, cada algarismo à esquerda

vale dez vezes mais que seu companheiro à direita. Assim, quando escrevemos o número

5532

é o mesmo que

5 × 103 + 5 × 102 + 3 × 101 + 2 × 100 ou

5 × 1000 + 5 × 100 + 3 × 10 + 2 × 1

finalmente,

5000 + 500 + 30 + 2

Note que um mesmo algarismo pode ter diferentes valores, dependendo de sua posição dentro do número. No caso, o 5 tanto pode representar 5000 quanto 500. Perceba que o dígito mais à direita é o dígito com menor valor relativo no número representado, por isso é chamado de dígito menos significativo. Da mesma forma, o dígito mais à esquerda é o dígito de maior valor relativo e é assim chamado de dígito mais significativo do número.

Mas, seria esta a única forma de numerar? Conseguimos obviamente escrever qualquer número com esses dez símbolos, contudo há outras bases de numeração possíveis.

Por exemplo, os povos mesopotâmicos usavam a base sessenta, a chamada base sexagesimal. Não é uma base de numeração muito prática. Decorar dez símbolos é relativamente fácil para uma criança, mas sessenta é bastante difícil, até mesmo para um adulto. Talvez por isso é que os antigos mesopotâmicos usavam uma combinação de dez símbolos para representar seus números

(Figura 1.1).

Por incrível que pareça, continuamos usando esta base até hoje. Observe o seu relógio. Os segundos vão de 0 a 59. O sistema de horas ainda usa a base 60. Quando você representa determinada hora do dia, como 17 horas 12 minutos e 35 segundos, escrita assim:

17h:12min:35s,

na realidade você está dizendo que se passaram

Figura 1.1 Algarismos da base sexagesimal dos mesopotâmios. Note a ausência de representação para zero. Fonte: Adaptada de Josell7 | Wikimedia Commons.

 

 

17 × 602 + 12 × 601 + 35 × 600

= 17 × 3600 + 12 × 60 + 35 × 1

= 61200 + 720 + 35

= 61955

segundo\s após a meia-noite.

A base sexagesimal tem algumas vantagens em relação à base decimal. Enquanto 10 é divisível apenas por 1, 2 e 5, o número 60 é divisível por 1, 2, 3, 4, 5, 6, 10, 12, 15, 20 e 30. O que isso significa? Que as divisões na base 60 têm mais resultados inteiros.

De fato, para registro de quantidades, qualquer base numérica a partir de 2 pode ser utilizada. A fórmula geral de qualquer base é:

 

na qual d é o dígito do número, n é o número de dígitos inteiros e b é a base que estamos usando.

Vamos analisar como se faz uma operação simples em uma base de numeração. Nosso objetivo é apenas apresentar o conceito usado, e não nos aprofundarmos na matemática das operações. Diante disto, a adição serve como exemplo.

Como é feita uma soma em uma base numérica qualquer? Vejamos como fazemos para a nossa base mais conhecida, a base 10. Sempre que acrescentamos 1, passamos para o próximo símbolo. Quando chegamos ao último símbolo, no caso o 9, usamos o truque de dizer “dá zero e vai um”, ou seja, 10. No caso da base decimal, este é o número dez. Depois continuamos indefinidamente com esta mesma lógica para alcançar 11, 12, 13 ... 19, 20, 21... até o infinito.

Uma forma de pensar a aritmética em uma base de numeração é imaginar os dígitos representados em um relógio. Esta é a base da

chamada “aritmética do relógio” (Figura 1.2). Pense em um relógio com tantas divisões quantos forem os símbolos em uma base de numeração. Com a base decimal teríamos 10 divisões. Cada vez que somamos “1”, o ponteiro do relógio avança uma posição. Quando este chega ao último símbolo e somamos “1”, o ponteiro retorna ao elemento inicial.

Podemos usar qualquer base numérica para fazer cálculos, basta seguirmos a mesma regra: contamos com os símbolos da base e quando acrescentamos ao último símbolo, fazemos o “dá zero e vai um”. Por exemplo, se eu usasse a base 3, poderia ter 3 símbolos para fazer minha aritmética: 0, 1 e 2. Assim, depois de “2” viria o “10”, que representaria o equivalente três da base decimal.