Buscar

Matemática para Computação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 164 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 164 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 164 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

M
A
RIN
A
 V
A
RG
A
S
MARINA VARGAS
M
A
TEM
Á
TICA
 PA
RA
 CO
M
PUTA
ÇÃ
O
M A T E M Á T I C A
COMPUTAÇÃO
PARA
Código Logístico
I000122
ISBN 978-65-5821-071-9
9 7 8 6 5 5 8 2 1 0 7 1 9
M
A
RIN
A
 V
A
RG
A
S
MARINA VARGAS
M
A
TEM
Á
TICA
 PA
RA
 CO
M
PUTA
ÇÃ
O
M A T E M Á T I C A
COMPUTAÇÃO
PARA
Código Logístico
I000122
ISBN 978-65-5821-071-9
9 7 8 6 5 5 8 2 1 0 7 1 9
Matemática para 
Computação 
Marina Vargas
IESDE BRASIL
2021
© 2021 – IESDE BRASIL S/A. 
É proibida a reprodução, mesmo parcial, por qualquer processo, sem autorização por escrito da autora e do 
detentor dos direitos autorais.
Projeto de capa: IESDE BRASIL S/A. Imagem da capa: whiteMocca/majcot/Lantica/Shutterstock
Todos os direitos reservados.
IESDE BRASIL S/A. 
Al. Dr. Carlos de Carvalho, 1.482. CEP: 80730-200 
Batel – Curitiba – PR 
0800 708 88 88 – www.iesde.com.br
CIP-BRASIL. CATALOGAÇÃO NA PUBLICAÇÃO 
SINDICATO NACIONAL DOS EDITORES DE LIVROS, RJ
V427m
Vargas, Marina
Matemática para computação / Marina Vargas. - 1. ed. - Curitiba [PR] 
: Iesde, 2021.
160 p. : il.
Inclui bibliografia
ISBN 978-65-5821-071-9
1. Computação - Matemática. 2. Programação (Computadores). 3.
Algoritmos. 4. Matrizes (Matemática). I. Título.
21-72772
21-72772 CDD: 518.1
CDU: 519.165:004.021
Marina Vargas Pós-doutora em Mecânica Computacional pela 
Universidade Federal do Paraná (UFPR). Doutora 
e mestre em Métodos Numéricos em Engenharia 
pela UFPR. Especialista em Educação Matemática 
e licenciada em Matemática pela Universidade 
Paranaense (Unipar). Professora no ensino superior 
nas modalidades presencial e a distância, ministra 
as disciplinas Cálculo de Funções de uma e mais 
Variáveis, Álgebra Linear, Geometria Analítica, Métodos 
Numéricos, Teoria dos Números, Pesquisa Operacional, 
Matemática Aplicada, Estatística Aplicada e Métodos 
Quantitativos. Atua também como professora 
conteudista em diversas instituições e empresas. 
Atualmente, desenvolve pesquisas nas áreas de 
programação matemática, mecânica computacional, 
educação matemática e educação em engenharias.
SUMÁRIO
Agora é possível acessar os vídeos do livro por 
meio de QR codes (códigos de barras) presentes 
no início de cada seção de capítulo.
Acesse os vídeos automaticamente, direcionando 
a câmera fotográ�ca de seu smartphone ou tablet 
para o QR code.
Em alguns dispositivos é necessário ter instalado 
um leitor de QR code, que pode ser adquirido 
gratuitamente em lojas de aplicativos.
Vídeos
em QR code!
SUMÁRIO
Agora é possível acessar os vídeos do livro por 
meio de QR codes (códigos de barras) presentes 
no início de cada seção de capítulo.
Acesse os vídeos automaticamente, direcionando 
a câmera fotográ�ca de seu smartphone ou tablet 
para o QR code.
Em alguns dispositivos é necessário ter instalado 
um leitor de QR code, que pode ser adquirido 
gratuitamente em lojas de aplicativos.
Vídeos
em QR code!
1 Por que estudar matemática? 9
1.1 O que é matemática computacional 9
1.2 Idealização de um algoritmo numérico 15
1.3 Relações de recorrência 19
1.4 Conceito de função no aspecto computacional 22
1.5 Diferenças entre problemas qualitativos e quantitativos 24
2 Noções sobre sistemas de numeração 29
2.1 Sistemas de numeração 29
2.2 Representação numérica 35
2.3 Representação em ponto flutuante 43
2.4 Erros numéricos 46
3 Matrizes 54
3.1 Vetores de uma matriz 55
3.2 Análise do algoritmo padrão para multiplicação de matrizes 58
3.3 Bases 61
3.4 Fatoração matricial – Método de Gauss 64
3.5 Decomposição LU e LDU 69
3.6 Inversa de uma matriz 75
4 Sistemas de equações lineares 81
4.1 Sistemas equivalentes e operações 82
4.2 Sistemas triangulares e escalonados 86
4.3 Eliminação gaussiana 94
4.4 Condicionamento de sistemas lineares 101
4.5 Métodos iterativos 108
5 Grafos e árvores 123
5.1 O que é um grafo: terminologia e tipos 124
5.2 Representação computacional de um grafo 132
5.3 Conceito de árvore 138
5.4 Raízes e árvores binárias 142
5.5 Introdução a procedimentos de busca 145
 Resolução das atividades 150
Nesta obra, buscamos trazer os conceitos básicos da 
matemática para o trabalho, não só com algoritmos a serem 
implementados nas mais diversas linguagens de programação, 
mas, principalmente, a lógica por trás dos cálculos computacionais.
Quando mencionamos cálculos computacionais, além de 
pensarmos a forma como a máquina opera e, portanto, trabalha 
com sistemas de numeração, erros numéricos e vetores, é 
necessário falarmos de conceitos, como sistemas em rede e grafos, 
pois estes estão diretamente relacionados às teorias mais atuais 
da computação, como inteligência artificial, redes neurais etc.
Desse modo, destinamos o primeiro capítulo a apresentar 
um pouco da história do desenvolvimento da computação, que 
está diretamente ligada ao desenvolvimento da matemática. 
Apresentamos alguns dos nomes importantes dessa história e 
mostramos suas contribuições para a matemática computacional. 
Além disso, contextualizamos conceitos como algoritmo e 
relações de recorrência e tratamos da diferença entre problemas 
qualitativos e quantitativos.
No segundo capítulo, discorremos sobre os sistemas de 
numeração aditivos e posicionais, destacando o sistema de 
numeração posicional decimal, relacionando-o com o sistema 
por trás das máquinas eletrônicas: o sistema posicional binário. 
Também trabalhamos o conceito de erro entre o resultado 
esperado e o resultado encontrado. Para esse fim, construímos 
um fluxograma que mostra, com base em um modelo real, 
as ramificações possíveis até que seja obtida a solução 
numérica/computacional desejada.
A proposta do Capítulo 3 é a explanação sobre os conceitos 
de vetores e matrizes e as operações que os representam. Essa 
escolha se dá pela facilidade em operar computacionalmente por 
meio dessas estruturas matemáticas. Assim, seu entendimento 
é essencial para a matemática computacional. Além disso, 
trabalhamos com a decomposição de matrizes, preparando 
caminho para o tema do próximo capítulo.
APRESENTAÇÃOVídeo
8 Matemática para Computação
Nesse contexto, entramos no quarto capítulo, que trata dos sistemas 
de equações e visa trazer técnicas numéricas e algoritmos que permitam a 
implementação computacional desses sistemas. Podemos exemplificar essa 
necessidade por meio de uma extensa lista de aplicações, entre elas: redes de 
computadores, resolução de modelos que representam fenômenos físicos e 
gerenciamento de sistemas. No entanto, além desse contexto, elas podem ser 
diretamente aplicadas ao próximo capítulo, que aborda os grafos.
O Capítulo 5 apresenta a concepção de grafo. Por intermédio de um 
grafo, podemos representar problemas aplicados e identificar situações em 
que a busca por um caminho mínimo não só agiliza processos, mas também 
minimiza custos. Para essa construção, retomamos o uso de matrizes e 
vetores, sendo essa uma importante forma de implementação desse conceito. 
É fácil notarmos que os três últimos capítulos têm uma conexão importante 
dentro da matemática computacional e se comunicam com a computação de 
maneira quase que natural. Esse é um dos fatores para que esses conceitos 
estejam em todos os melhores cursos de computação e tecnologia da 
informação com todas as suas ramificações.
Este é o foco desta obra. Nossa proposta é trazer o raciocínio lógico 
matemático por trás da necessidade de implementação computacional de 
problemas aplicados na área da tecnologia da informação e computação. 
Esperamos que este livro auxilie no aprendizado para a formação de um 
melhor profissional na área escolhida.
Bons estudos!
Por que estudar matemática? 9
1
Por que estudar 
matemática?
A matemática está por trás da lógica de programação de uma maneira 
que você talvez nunca tenha parado para pensar. A ciência da programa-
ção começou por intermédio de matemáticos curiosos e muito à frente de 
seus tempos, que tentavam otimizarprocessos e avançar com a possibi-
lidade dos cálculos serem realizados por máquinas. A ideia era que essas 
máquinas recebessem mais do que números, ou seja, que pudessem re-
ceber instruções. E eles conseguiram!
Neste capítulo, destinado ao estudo da ligação da matemática com a 
computação, vamos conhecer um pouco da história desses matemáticos 
e compreender por que é tão importante conhecer matemática para dis-
cutirmos sobre computação.
Com o estudo deste capítulo, você será capaz de:
• compreender a matemática por trás de conceitos 
computacionais;
• reconhecer a diferença entre matemática teórica e matemá-
tica computacional;
• identificar o uso de cálculos numéricos por trás de algoritmos;
• relacionar o conceito de função em diferentes realidades 
computacionais;
• compreender as dimensões quantitativas de um problema.
Objetivos de aprendizagem
1.1 O que é matemática computacional
Vídeo
Quando pensamos em matemática computacional, precisamos en-
tender, em primeiro lugar, como um “computador” faz cálculos. Aqui, 
estamos chamando de “computador” todos os objetos que são capazes 
de realizar cálculos discretos, como: calculadoras, computadores, celu-
10 Matemática para Computação
lares, dentre outros. Assim, todos os objetos que utilizam o princípio de 
abertura e fechamento de chaves e que permitem ou não a passagem 
de energia serão analisados perante a mesma lógica de construção 
para obtenção da chamada matemática computacional.
Quando escrevemos os cálculos, percebemos que eles serão reali-
zados usando um princípio mecânico básico de abertura e fechamento 
de chaves, e que estamos envolvendo nesse processo uma lógica bi-
nária. Essa lógica precisa ser processada e interpretada. É nesse ponto 
que entram os diferentes hardwares de processamento e, em conjun-
to, os softwares que interpretam esses dados processados.
É justamente por esse desenvolvimento que começamos a identifi-
car a existência de erros numéricos, os quais podem surgir no processo 
de cálculo. Além disso, é por meio da lógica binária que identificamos o 
teor discreto da matemática computacional.
Agora vamos conhecer alguns dos nomes que permitiram que a ma-
temática computacional acontecesse.
1.1.1 Ada Lovelace
Augusta Ada Byron King, Condessa de Lovelace, nasceu em 10 de 
dezembro de 1815 na cidade de Londres e faleceu em 27 de 
novembro de 1852, aos 36 anos, no bairro Marylebone, na 
mesma cidade em que nasceu, na Inglaterra. Ada Lovela-
ce é conhecida como a primeira programadora da 
história.
Ela viveu em uma época em que as mulheres não 
eram bem-vistas em universidades. Por esse motivo, e com 
estímulo de sua mãe (Anne Isabella “Anabella” Byron, Baro-
nesa de Wentworth), Ada estudou em casa com tutores como 
Augustus De Morgan e Mary Sommerville, que se tornou não apenas 
sua tutora, mas sua amiga (BIM, 2018).
Foi Sommerville quem apresentou Ada ao cientista Charles Babba-
ge (1791-1871), matemático, conhecido por ter criado a primeira má-
quina capaz de resolver e imprimir cálculos matemáticos.
A invenção, chamada de máquina analítica (Figura 1), é considera-
da precursora dos computadores modernos (BROMLEY, 1982).
Ada Lovelace
Ke
lso
n/W
ikim
edia
 Comm
ons
Por que estudar matemática? 11
Charles Babbage 
Connormah/Wikimedia Commons 
Figura 1
Réplica da máquina analítica
Br
un
o 
Ba
rra
l/W
ik
im
ed
ia
 C
om
m
on
s
Mas foi Lovelace quem criou o primeiro algoritmo resolvido pela 
máquina analítica, publicado como nota de rodapé de um artigo de 
Babbage. Nesse material, Ada descreveu a possibilidade de a máqui-
na realizar cálculos complexos envolvendo letras, números e sím-
bolos, além de instruções que permitiam repetição (looping). Além 
disso, constava nessas notas um algoritmo que permitia o cálculo 
para os números de Bernoulli.
Foi por causa desse artigo que Babbage percebeu a geniali-
dade da moça e aceitou trabalhar em conjunto com ela, o que 
se transformou em uma grande amizade.
Na matéria “Ada Lovelace desafiou o machismo e se tornou 
a primeira programadora da história”, que retrata a história de 
Ada Lovelace sob o olhar da escritora Angela Saini, Simões (2021) 
relata que a “matemática estava muito à frente de seu tempo quan-
do teve a genial ideia do que um algoritmo seria capaz de fazer”.
Ada e Babbage trabalharam juntos ao longo de muitos anos. Nesse 
período, ela desenvolveu diversos algoritmos que permitiriam que a má-
quina analítica computasse valores de funções matemáticas. Esses algo-
ritmos foram posteriormente analisados por um outro matemático – que 
será apresentado mais à frente.
Para conhecer um pouco 
mais da história e feitos 
de Babbage e Lovelace, 
sugerimos dois vídeos. 
O primeiro conta a vida 
de Lovelace. Já o segundo, 
traz a parceria entre 
Lovelace e Babbage na 
idealização e construção 
da máquina analítica.
• Biografias 23 – Ada Lovelace, a 
primeira programadora.
 Disponível em: https://www.
youtube.com/ 
watch?v=gcNKhlKW7uQ&ab_
channel=OMundoDaCi%C3 
%AAncia. Acesso em: 31 maio 2021.
• O primeiro Computador do 
Mundo – Charles Babbage & Ada 
Lovelace – Documentário. 
 Disponível em: https://
www.youtube.com/
watch?v=35MwtZ5MKjM. 
Acesso em: 31 maio 2021.
Vídeo
https://www.youtube.com/watch?v=gcNKhlKW7uQ&ab_channel=OMundoDaCi%C3%AAncia
https://www.youtube.com/watch?v=gcNKhlKW7uQ&ab_channel=OMundoDaCi%C3%AAncia
https://www.youtube.com/watch?v=gcNKhlKW7uQ&ab_channel=OMundoDaCi%C3%AAncia
https://www.youtube.com/watch?v=gcNKhlKW7uQ&ab_channel=OMundoDaCi%C3%AAncia
https://www.youtube.com/watch?v=gcNKhlKW7uQ&ab_channel=OMundoDaCi%C3%AAncia
https://www.youtube.com/watch?v=35MwtZ5MKjM
https://www.youtube.com/watch?v=35MwtZ5MKjM
https://www.youtube.com/watch?v=35MwtZ5MKjM
12 Matemática para Computação
Mas o que é um algoritmo?
Fazendo uma analogia simples, um algoritmo é como uma receita 
de bolo que mostra detalhadamente os métodos necessários para re-
solver uma atividade.
Na matemática, um algoritmo é fundamental para que consigamos 
resolver uma expressão. A seguir, veremos que na computação tam-
bém é essencial.
Exemρlo 1
Pense em um cálculo qualquer. Pode ser um cálculo simples, como
(2 + 2) + 2
Um algoritmo para esse cálculo pode ser montado como a seguir:
Início:
Resolva primeiro os parênteses.
Laço:
Dentro dos parênteses procure operações de multiplicação e 
divisão.
Se não houver, resolva as operações de adição e subtração.
Com o resultado da soma, elimine os parênteses e some esse nú-
mero com o restante das parcelas.
Fim.
O Exemplo 1 traz um algoritmo muito simples, escrito de maneira 
direta e, no momento, sem pensarmos como essa lista de regras seria 
realmente programada para que a máquina pudesse resolver. Porém, 
com esse exemplo, conseguimos visualizar a necessidade de regras 
claras sobre a maneira de resolução, pois sem elas o computador não 
irá operar corretamente. Essa forma de escrita que adotamos para re-
presentar um algoritmo é conhecida como pseudocódigo ou portugol.
Fica claro que sem os algoritmos e esse avanço trazido por Ada 
Lovelace é quase impossível pensarmos na ciência da computação e na 
matemática avançada da maneira que a vemos hoje.
Por que estudar matemática? 13
1.1.2 Alan Turing
Alan Mathison Turing nasceu em 23 de junho de 1912, 
na cidade de Paddington, na Inglaterra, e faleceu em 
7 de junho de 1954, aos 41 anos, em Wilmslow, 
Inglaterra. Alan Turing é conhecido como o pai da 
ciência da computação e da inteligência artificial.
Estudou na Universidade de Cambridge, onde 
obteve seu bacharelado em matemática e concluiu 
seu mestrado. Prosseguiu seus estudos, obtendo 
seu doutorado em matemática pela universidade de 
Princeton.
Dentre os vários projetos que fizeram desse matemático o “cien-
tista do século 20”, em pesquisa 1 realizada pela BBC no ano de 2019, 
ficando à frente de Albert Einstein e Marie Curie, está a chamada má-
quina de Turing, também conhecido como máquina universal.
A máquina de Turing é um modelo abstrato que permite mani-
pular símbolosem uma fita de acordo com regras preestabelecidas, 
restringindo-se apenas aos aspectos lógicos do seu funcionamento, 
como a memória, os estados e as transições. Por meio dessa máqui-
na, podemos modelar qualquer computador digital.
Turing foi um dos responsáveis para que os Aliados – incluindo 
a Inglaterra – ganhassem uma importante vantagem em relação à 
Alemanha na Segunda Guerra Mundial. Sua máquina física Bombe, 
construída com os conceitos da máquina universal e tendo como 
referência os trabalhos de Lovelace e Babbage, dentre outros, per-
mitiu que os Aliados quebrassem o código alemão Enigma em Blet-
chley Park. Dessa forma, eles passaram a ter conhecimento das 
estratégias que seriam usadas e puderam se antecipar aos ataques, 
levando à vitória.
Muitos outros nomes estão envolvidos na construção histórica 
da computação e na forma como trabalhamos com a matemática 
hoje. Dentre eles, citamos John Von Neumann (1903-1957) e Norbert 
Wiener (1894-1964).
Contudo, percebemos que Ada Lovelace e Alan Turing, dois ma-
temáticos, viram a matemática muito além do que cálculos reali-
zados à mão, com abordagem abstrata e sem aplicação no mundo 
Alan Turing
Bruno Barral/Wikimedia Commons
Acesse na íntegra a pes-
quisa Scientists of the 20th 
Century. Disponível em: 
https://www.bbc.co.uk/
programmes/p06y1tmk. 
Acesso em: 30 ago. 2021
1
Para saber um pouco 
mais sobre a vida e con-
tribuição de Turing, suge-
rimos a matéria 17 fatos 
e curiosidades sobre a vida 
do Alan Turing, publicada 
pela revista Galileu. 
Disponível em: https://revistagalileu.
globo.com/Cultura/noticia/2018/06/
17-fatos-e-curiosidades-sobre-vi-
da-do-alan-turing.html. Acesso em: 
31 maio 2021.
Leitura
O filme O jogo da imitação, 
de 2014 – indicado ao 
Oscar em duas categorias 
–, retrata vida e morte de 
Alan Turing, o processo de 
criação da máquina física 
Bombe e a guerra.
Direção: Morten Tyldum. Reino 
Unido: Warner Bros, 2014.
Filme
https://revistagalileu.globo.com/Cultura/noticia/2018/06/17-fatos-e-curiosidades-sobre-vida-do-alan-turing.html
https://revistagalileu.globo.com/Cultura/noticia/2018/06/17-fatos-e-curiosidades-sobre-vida-do-alan-turing.html
https://revistagalileu.globo.com/Cultura/noticia/2018/06/17-fatos-e-curiosidades-sobre-vida-do-alan-turing.html
https://revistagalileu.globo.com/Cultura/noticia/2018/06/17-fatos-e-curiosidades-sobre-vida-do-alan-turing.html
14 Matemática para Computação
físico. Por meio de seus raciocínios analíticos, viram a possibilidade 
de resolver problemas de maneira mais rápida e otimizada e con-
seguiram colocar em prática o que hoje chamamos de matemática 
computacional.
1.1.3 Por que estudar matemática 
computacional?
A matemática computacional permite que trabalhemos com pro-
blemas extremante complexos que não poderiam ser resolvidos por 
uma única pessoa e, muitas vezes, nem mesmo por uma grande 
equipe.
Esse conceito pode parecer absurdo, mas é a realidade de nossos 
dias. Os computadores mudaram a vida em sociedade e por meio 
deles conseguimos trabalhar com operações complexas, com modelos 
cada vez mais elaborados que representam o mundo real, e analisar 
uma infinidade de dados que não conseguiríamos avaliar em gera-
ções passadas.
Além disso, entenda, sem uma quantidade de dados razoavel-
mente grande – em torno de milhões – não teríamos os serviços 
cada vez mais personalizados, os sistemas otimizados e a precisão 
em diversos processos, que são exigências do mundo atual.
Dessa forma, podemos entender a matemática computacional 
como uma nova ciência que une os conceitos da computação e da 
matemática e nos permite resolver problemas, por exemplo, repre-
sentar o genoma humano, calcular a eficiência e ajuste de foguetes, 
dentre outros, que não seriam possíveis sem os computadores.
Contudo, para que possamos levar para o computador a mate-
mática por traz desses avanços, inicialmente precisamos compreen-
der alguns conceitos, como: o que são dados quantitativos, como 
montar uma relação de recorrência ou, ainda, como escrever um 
algoritmo que resolva problemas envolvendo vetores, matrizes, sis-
temas de equações, funções, dentre muitos outros.
É desses questionamentos que nasce a ciência matemática com-
putacional. Desse modo, precisamos entender a matemática e como 
Por que estudar matemática? 15
a máquina processa essa matemática? Com certeza! Além disso, pre-
cisamos representar os problemas cotidianos em modelos matemá-
ticos para que tenhamos essa associação.
Desse modo, vamos trazer um pouco mais da matemática que 
precisamos compreender para que seja possível criar as oportunida-
des de aplicação usando os computadores.
Ev
er
et
t C
ol
le
ct
io
n/
Sh
ut
te
rs
to
ck
Figura 2
Mecanismo de Gottfried Leibniz
1.2 Idealização de um algoritmo numérico
Vídeo
Em 1671, o filósofo e mate-
mático Gottfried Wilhelm Leibniz, 
um dos criadores – juntamente 
com Isaac Newton – do cálculo 
diferencial e integral, construiu 
um mecanismo (Figura 2) que 
permitia realizar multiplica-
ções e divisões mediante adi-
ções e subtrações sucessivas. 
Na época, a metodologia usada 
por Leibniz ocasionava muitos 
erros, sendo descartado seu 
uso. Entretanto, manteve-se a 
ideia principal, que permitia, 
por meio de operações simples, 
escrever outras operações.
A primeira calculadora capaz 
de efetuar as quatro operações 
aritméticas básicas foi construí-
da pelo francês Charles Xavier Thomas em 1820. Considerada a primei-
ra calculadora possível de ser comercializada, a máquina de Thomas 
executava as multiplicações por meio de somas, como idealizado por 
Leibniz, e as divisões podiam ser executadas com auxílio do usuário.
Contudo, nenhuma dessas máquinas era programável, ou seja, era 
possível entrar com valores numéricos, mas não era possível passar 
instruções.
16 Matemática para Computação
Vimos que um algoritmo é constituído exatamente de ins-
truções a serem realizadas e esse feito começa a ser possível 
apenas com a criação da máquina de Lovelace e Babbage 
e, posteriormente, com a máquina de Turing.
Um algoritmo é uma etapa essencial para que uma 
construção matemática possa ser executada por um 
computador. Ao construirmos um algoritmo, não preci-
samos pensar qual será a linguagem de programação utili-
zada, mas sim como queremos que o cálculo seja realizado.
Exemρlo 2
Acompanhe o algoritmo a seguir e observe o resultado obtido.
Variáveis inteiras: a, soma
Seja a=0 e Soma=0
Se Soma<6, faça:
 a=a+1
 Soma=Soma+a
Imprima Soma
Vamos interpretar esse algoritmo:
Variáveis inteiras: a, soma #Declaração de variáveis. Nesse pon-
to apresentamos a que conjunto elas pertencem.
Seja a=0 e Soma=0 #Valores iniciais das variáveis.
Se Soma<6, faça: #Note que, nesse ponto temos um laço ou looping 
que será executado enquanto a condição “Soma<6” for válida.
a=a+2 #Cada vez que entramos no laço, precisamos pegar 
o último valor de a e acrescentar 1, gerando um novo valor 
de a.
Soma=Soma+a #Cada vez que entramos no laço, 
precisamos pegar o último valor de Soma e acrescentar a, 
gerando um novo valor para Soma.
Imprima Soma #Quando não for mais possível realizar o laço, ou 
seja, quando “Soma ≥ 6”, imprime-se o último valor encontrado 
para a variável Soma.
Charles Xavier Thomas
Ba
sti
en
M/
Wi
kim
edi
a Co
mmo
ns 
Por que estudar matemática? 17
Quadro 1
Resumo do algoritmo
a Soma
Início 0 0
Laço a=0+1=1 Soma=0+1=1
Laço a=1+1=2 Soma=1+2=3
Laço a=2+1=3 Soma=3+3=6
Imprime Soma=6
Fonte: Elaborado pela autora.
De acordo com Campos Filho (2007, p. 1),
o cálculo numérico é uma metodologia para resolver problemas 
matemáticos por intermédio de um computador, sendo ampla-
mente utilizado por engenheiros e cientistas. Uma solução via 
Cálculo numérico é sempre numérica, enquanto os métodos 
analíticos usualmente fornecem um resultado em termos de 
funções matemáticas.
Para a construção de um algoritmo numérico, são necessárias as 
quatro operações aritméticas fundamentais e as operações lógicas 
que são: comparação, conjunção,disjunção e negação. A vantagem 
é que essas operações são exatamente as operações realizadas pelo 
processador de um computador.
O processo se dá inicialmente pelo fechamento e abertura de cha-
ves que permitem a passagem ou não de energia. Esse mecanismo é 
compilado em zeros e uns. Isto é, quando a energia passa, o compila-
dor entende esse resultado como 1 (sim). Quando a energia não passa, 
esse resultado é igual a 0 (não).
O processador permite que os cálculos binários sejam realizados e, 
a partir desse ponto, entra em jogo o sistema operacional que transfor-
ma tudo o que você faz nessa linguagem binária, a qual é passada para 
o software, podendo, por sua vez, fazer o que você quer.
Para auxiliar no entendimento desse processo binário, sugerimos o artigo 
Aritmética de números binários e suas relações com circuitos lógicos, dos auto-
res Rafael Pinheiro Leite e Prof. Dr. Matheus da Silva Menezes.
Acesso em: 31 maio 2021.
https://repositorio.ufersa.edu.br/bitstream/prefix/5854/1/RafaelPL_ART..pdf
Artigo
18 Matemática para Computação
Para elaborar um algoritmo numérico, precisamos de algumas eta-
pas anteriores.
Exemplo:
Queremos encontrar a divisão 
exata de a
2
�, com a > 0 usando 
apenas as quatro operações 
fundamentais.
Definição do 
problema
É a primeira etapa. 
Como o próprio 
nome sugere, é preciso 
compreender o que se deseja 
estruturar e as possibilidades 
de resposta.
Modelagem
A segunda etapa é 
por meio de uma 
formulação matemática. 
Transformamos o problema real em 
um problema matemático.
Exemplo:
Usando o exemplo anterior, escrevemos 
a {2x�|�x *� � � }
Assim, modelamos a definição do problema 
colocando as características matemáticas 
necessárias para resolvê-lo. Nesse caso, 
identificamos que a precisa ser um número 
par para que tenhamos divisão exata.
Solução numérica
Nesta terceira etapa escolhemos 
o método numérico apropriado
para resolver o modelo
matemático. É nesse ponto que 
precisamos avaliar os métodos 
existentes e escolher aquele que 
resulte em menor erro numérico.
A escrita do algoritmo entra 
nessa etapa e é idealizada 
aplicando as possibilidades 
do método escolhido.
Kh
vo
st
/S
hu
tte
rs
to
ck
ol
eg
ga
nk
o/
Sh
ut
te
rs
to
ck
TK
 1
98
0/
Sh
ut
te
rs
to
ck
da
vo
od
a/
Sh
ut
te
rs
to
ck
As duas últimas etapas não serão abordadas neste capítulo, visto 
que não é escopo desta obra trabalhar com as linguagens de progra-
mação, entretanto, para que possamos registrar os passos seguintes à 
escrita do algoritmo, temos:
Por que estudar matemática? 19
Codificação 
do algoritmo
Processamento 
do programa 
A transformação 
do algoritmo para 
a linguagem de 
programação escolhida.
Implementação do 
algoritmo na linguagem de 
programação escolhida. 
Nesse caso, o programa será 
escrito em um arquivo para 
ser executado.
ST
RI
PB
AL
L/
Sh
ut
te
rs
to
ck
ST
RI
PB
AL
L/
Sh
ut
te
rs
to
ck
Kh
vo
st
/S
hu
tte
rs
to
ck
Observe que a idealização de um algoritmo numérico passa pela 
etapa de modelagem do problema, que só é possível com o conheci-
mento matemático sobre esse conteúdo. Já na etapa de solução numé-
rica, além do entendimento dos métodos numéricos disponíveis para a 
resolução do modelo, é preciso analisar os possíveis erros obtidos com 
essa escolha. Essa etapa é otimizada quando entendemos os tipos de 
erros que podem ser gerados pelo computador.
Muitos algoritmos usam as chamadas relações de recorrência para 
realizar seus cálculos e convergir para a resposta desejada. Vamos en-
tender esse conceito na sequência.
1.3 Relações de recorrência
Vídeo A base da maior parte dos algoritmos matemáticos vem do conceito 
de relação de recorrência. Uma relação de recorrência é uma técnica 
matemática que nos auxilia na definição de sequências, conjuntos, ope-
rações ou algoritmos. Para que tenhamos uma fórmula de recorrência, 
20 Matemática para Computação
precisamos analisar as características do problema e escrever uma re-
gra que o represente.
Com o intermédio dessa regra, podemos calcular qualquer termo 
em função dos antecessores. Nesta seção, vamos trazer como objeto 
para entendermos as relações de recorrência a famosa fórmula de re-
corrência de Fibonacci.
Leonardo de Pisa, mais conhecido como Fibonacci, que significa fi-
lho do Bonacci, descreveu sua sequência pela primeira vez em seu livro 
Liber Abaci, em 1202, a fim de modelar um problema relacionado com 
o crescimento de uma população de coelhos.
Fibonacci desejava descrever a quantidade de casais em uma po-
pulação de coelhos após n meses (Figura 3), partindo dos seguintes 
pressupostos (ZAHN, 2011):
1. nasce apenas um casal no primeiro mês;
2. casais amadurecem sexualmente após o segundo mês de vida;
3. assumimos que não há problemas genéticos no cruzamento 
consanguíneo;
4. todos os meses, cada casal dá à luz um novo casal;
5. os coelhos nunca morrem.
Figura 3
Sequência de casais em 
uma população de coelhos
M
ag
ic
le
af
/S
hu
tte
rs
to
ck
Por que estudar matemática? 21
O que ele encontrou foi a fórmula de recorrência – uma função 
aritmética – da definição a seguir:
Definição 1
Seja uma sequência de Fibonacci, formada por n termos e denotada por fn. Para 
calcularmos o n-ésimo termo dessa sequência fazemos:
f
 
 
 
n �
�
�
� �
�
�
�
�
�
� �
0 0
1 1
11 2
, � �
,� �
, � ��
se n
se n
f f se nn n
Com essa função podemos montar a sequência de Fibonacci e des-
cobrir quantos coelhos foram gerados em cada mês. Vamos exemplifi-
car essa definição.
Exemρlo 3
Utilizando a fórmula de recorrência
f
 
 
f f 
n
�n n
�
�
�
� �
�
�
�
�
�
� �
0 0
1 1
11 2
,� �
,� ��
� � ,�� � �
se n
se n
se n
Temos que:
 • f5 = f5–1 + f5–2 = f4 + f3 = 5;
 • f10 = f10–1 + f10–2 = f9 + f8 = 55.
Os primeiros números da sequência de Fibonacci são: 0, 1, 1, 2, 3, 5, 
8, 13, 21, 34, 55, 89.
Percebemos com esse exemplo a usabilidade das relações de re-
corrência em processos matemáticos, principalmente nos processos 
que precisam ser transformados em algoritmos, para que possam ser 
programados.
Para saber mais sobre as 
relações de recorrência e 
a sequência de Fibonacci, 
sugerimos dois vídeos do 
canal Programa de Inicia-
ção Científica da OBMEP:
• Aula 01 - Sequências definidas 
por recorrências – Disponível 
em: https://www.youtube.com/
watch?v=S9zDoNAr3d4. Acesso 
em: 31 maio 2021.
• Indução Matemática - Aula 6 - 
Sequência de Fibonacci. Disponível 
em: https://www.youtube.com/
watch?v=QVlTuInyZKk. Acesso 
em: 31 maio 2021.
Vídeo
https://www.youtube.com/channel/UC5azyx8w7Y5qzASuxDSseOw
https://www.youtube.com/channel/UC5azyx8w7Y5qzASuxDSseOw
https://www.youtube.com/watch?v=S9zDoNAr3d4
https://www.youtube.com/watch?v=S9zDoNAr3d4
https://www.youtube.com/watch?v=QVlTuInyZKk
https://www.youtube.com/watch?v=QVlTuInyZKk
22 Matemática para Computação
1.4 Conceito de função no aspecto 
computacionalVídeo
Na matemática, uma função é uma “regra” que associa a cada ele-
mento x ∈ X um único elemento y = f(x) ∈ Y (GUIDORIZZI, 2018). Temos 
que X e Y são conjuntos que podem conter elementos previamente de-
finidos, por exemplo, números naturais, reais etc., ou outros tipos de 
elementos, como chapéus, aves, laços etc.
Assim, desde que consigamos relacionar, por meio de uma regra, 
um elemento do conjunto X com um único elemento do conjunto Y, 
podemos dizer que estamos trabalhando com uma função.
Na matemática, dizemos que essa regra é uma lei matemática. 
A notação usada para essa definição é dada por:
f: X → Y
Definição 2
No aspecto computacional, uma função pode ser escrita por meio da soma de 
um número finito de parcelas.
Observe no exemplo a seguir como podemos representar uma fun-
ção por meio de somas de infinitas parcelas. Esse é um processo mate-
mático conhecido como séries de funções. Computacionalmente não é 
possível manusear somas infinitas, mas ao sintetizarmos a série, temos 
a representação da função com um erro aceitável.
Exemρlo 4
Uma série geométrica da forma
1 + x2+ x4 + x6 + ...
Representa uma função escrita como
f x
x
� � �
�
1
1 2
Até mesmo as funções trigonométricas podem ser escritas por meio 
de uma soma infinita de parcelas, como vemos no exemplo 5.
Por que estudar matemática? 23
Exemρlo 5
senx x x x x ��� �
�
�
��
�
�
�� �
�
�
��
�
�
�� �
�
�
��
�
�
�� ��
3 5 7
3 5 7! ! !
cos
! ! !
x x x x� �
�
�
��
�
�
�� �
�
�
��
�
�
�� �
�
�
��
�
�
�� ��1 2 4 6
2 4 6
Essa forma de representarmos as funções é também chamada 
de série e comumente estudada em disciplinas de Cálculo Avançado. 
Essa é uma maneira de pensarmos em funções quando tratamos dos 
aspectos computacionais.
Uma segunda abordagem do aspecto computacional das funções é 
a possibilidade de considerá-las como ferramentas de cálculo dentro 
de algoritmos. Por exemplo, na linguagem de programação PythonTM 
(Figura 4), uma função é uma sequência de comandos que executa al-
guma tarefa. Essa sequência é geralmente nomeada, para que a função 
possa ser “chamada” sempre que necessária.
Figura 4
Função cone em PythonTM
#A is height B is radius 
def cone (a, b):
 formula = (3.14 * .33 *a)*(b * b)
 return formula
Aa
æ
/W
ik
im
ed
ia
 
 C
om
m
on
s
Consideremos o cálculo do volume de uma esfera, em que seu raio 
é conhecido. O exemplo a seguir mostra a estrutura lógica que permite 
realizar o cálculo desse volume, considerando r como uma variável que 
pode assumir qualquer valor real.
Exemρlo 6 
Crie uma função para o cálculo do volume de uma esfera de raio r.
Solução
r é real
def esfera(r)
Para conhecer um pouco 
mais das possibilidades 
de aplicação de séries 
numéricas usadas para 
representar funções, su-
gerimos o vídeo Séries de 
Potências no Computador. 
Disponível em: http://eaulas.usp.br/
portal/video.action?idItem=7701. 
Acesso em: 31 maio. 2021.
Vídeo
Quer saber mais sobre 
funções em PythonTM? 
Sugerimos o material 
Funções. 
Disponível em: https://panda.ime.
usp.br/pensepy/static/pensepy/
05-Funcoes/funcoes.html. Acesso 
em: 31 maio. 2021.
Saiba mais
http://eaulas.usp.br/portal/video.action?idItem=7701
http://eaulas.usp.br/portal/video.action?idItem=7701
https://panda.ime.usp.br/pensepy/static/pensepy/05-Funcoes/funcoes.html
https://panda.ime.usp.br/pensepy/static/pensepy/05-Funcoes/funcoes.html
https://panda.ime.usp.br/pensepy/static/pensepy/05-Funcoes/funcoes.html
24 Matemática para Computação
 formula = 4/3 *(3,14)*r^3
 return formula
Agora podemos usar essa função. Assim, se escrevermos esfera(2), 
teremos como retorno o valor formula = 33 37
75
Entretanto, nos dois sentidos, podemos perceber o princípio fun-
damental de uma função matemática, que é o de ser uma regra que 
vincula dois conjuntos de dados diferentes.
1.5 Diferenças entre problemas 
qualitativos e quantitativosVídeo
Um problema é dito qualitativo quando os dados usados para re-
solver o modelo são dados qualitativos, ou seja, são baseados em cará-
ter subjetivo, em que são usadas narrativas escritas ou faladas.
Uma pesquisa qualitativa pode reunir informações como o nome 
das pessoas que foram avaliadas em um determinado estudo, o estilo 
de vida desse grupo de pessoas, as preferências alimentares, hobbies, 
dentre outras informações que, em geral, são fornecidas por meio de 
narrativas, questionários abertos, entrevistas, observações etc., e que 
não são codificadas usando um sistema numérico.
Uma pesquisa qualitativa pode ser dividida em pesquisa nominal ou 
ordinal. Como a própria nomenclatura sugere, uma pesquisa nominal 
é aquela em que temos como resposta à pesquisa “nomes”, sendo que 
não é possível ordenar tais respostas. Por exemplo, uma pesquisa que 
possui o campo “sexo”, terá como resposta “masculino” ou “feminino”. 
Esse tipo de resposta pode ser quantificado, contudo não conseguimos 
colocar ordem de importância para tal.
Ainda no campo da pesquisa qualitativa, podemos ter dados ordi-
nais. Nesse caso, é possível categorizar as variáveis em relação a de-
terminado grau para cada categoria. Por exemplo, uma pesquisa que 
procura analisar o grau de instrução de seus participantes, pode conter 
a variável “nível de escolaridade”, como ensino fundamental e ensino 
médio. É possível construir uma classe para cada grau de escolaridade, 
e até quantificar os participantes em cada uma dessas, mas a variável 
continua tendo um teor puramente qualitativo.
Por que estudar matemática? 25
O interesse quando modelamos um problema com o auxílio de pes-
quisas quantitativas é identificar e compreender os fenômenos através 
de dados numéricos.
Por exemplo, se desejamos saber a quantidade de pessoas que to-
maram determinado remédio ou votaram em determinado candidato, 
precisaremos realizar pesquisas quantitativas.
Podemos pensar na escolha de um método ou outro da seguinte 
forma:
 • Método qualitativo: geralmente é utilizado para categorizar uma 
determinada situação, classificar problemas e gerar hipóteses etc.
 • Método quantitativo: é utilizado, como o próprio nome remete, 
a quantificar objetos. Os métodos quantitativos são muito usa-
dos na estatística. Em geral, adotam-se questionários que permi-
tem a contagem das variáveis pesquisadas.
O que caracteriza um método como quantitativo ou qualitativo são 
as variáveis que ele apresenta. Assim, chamamos de variáveis quanti-
tativas as que possuem características que podem ser quantificadas, 
isto é, medidas em determinada escala quantitativa. Por esse motivo, 
são representadas numericamente e podem ser divididas em duas ca-
tegorias: discretas ou contínuas.
As variáveis discretas são representadas por valores (números) in-
teiros. Alguns exemplos são: quantidade de filhos, de pessoas em de-
terminado local e de produtos na geladeira.
As variáveis contínuas recebem valores em uma escala contínua, 
em que podem estar presentes valores representados por frações e 
decimais (finitos ou infinitos). É comum a necessidade de instrumen-
tos de medição para avaliar uma variável quantitativa contínua, como 
balanças, réguas, relógios e outros instrumentos de medição. Alguns 
exemplos desse tipo de variável são: idade, peso, altura etc.
As variáveis qualitativas, ao contrário, não são representadas por 
valores que podem ser quantificados. Elas representam categorias, ou 
seja, algum tipo de classificação para pessoas, objetos ou situações, e 
podem estar subdivididas em duas categorias: nominais ou ordinais.
As variáveis nominais não exigem ordenação, por exemplo: sexo, 
cor dos olhos, religião, profissão etc. Já as variáveis ordinais exigem 
ordenação dos dados coletados. São exemplos: classe social (A, B, C) 
e escolaridade (1º ano, 2º ano, 3º ano).
Tanto um problema qualitativo como um problema quantitativo 
pode ser investigado para que seja “resolvido” com o auxílio de um al-
goritmo executado computacionalmente. Mas é na pesquisa quantita-
tiva que esses resultados têm ganhado destaque.
A ciência de dados (Figura 5), considerada uma ciência estatística, 
teve seu início com a ideia de podermos resolver problemas matemáti-
cos de maneira computacional.
Figura 5
Áreas da ciência de dados
CIÊNCIA DE DADOS
Megadados Classificação 
de dados
Análise de dados Estatística Solucionador Tomada de 
decisão
Conhecimento 
aberto
bu
ffa
lo
bo
y/
Sh
ut
te
rs
to
ck
.
Ela pode ser definida como um conjunto de ferramentas e métodos 
que nos permitem analisar, visualizar e tomar decisões com base em 
dados (RAMOS, 2021).
É aqui que a matemática e a computação, novamente, se encon-
tram. A quantidade de dados gerados por ferramentas como Google, 
Netflix, Twitter, Uber, entre outras que usamos no nosso dia a dia, é 
imensa. Para coletar, organizar e aplicar em modelos que deem um 
retorno para essas empresas em forma de resultado financeiro, é ne-
cessário que diversas áreas da matemática sejam envolvidas, dentre 
elas encontra-se a estatística, talvez a mais utilizada nesse sentido.
Diana_Karch/Shutterstock
Rede neural
2626 Matemática para ComputaçãoMatemática para Computação
https://oestatistico.com.br/decisoes-big-data-feeling-better-data/https://oestatistico.com.br/decisoes-big-data-feeling-better-data/
Por que estudar matemática? 27
De acordo com Ramos (2021), “o chamado ‘cientista de dados’ é 
o profissional responsável por aplicar técnicas, modelos, tecnologias 
e processos para extrair informação relevante dos dados. Tudo isso 
com muita estatística e programação aplicada”.
Dessa forma, pensar em algoritmos que possibilitam o uso des-
ses dados é fundamental para o crescimento das empresas. Esses 
algoritmos poderão, por exemplo, estar vinculados ao marketing digi-
tal, fazendo com que dados quantitativos e qualitativos gerem lucro.
Nesse ponto, entram os chamados algoritmos de inteligência artifi-
cial. Um dos quesitos necessários para esse tipo de algoritmo é que ele 
processe um grande volume de dados quantitativos ou qualitativos.
A diferença desse tipo de algoritmo para os demais é a possibi-
lidade de se aplicar um “fator de decisão”, ou seja, a existência de 
variáveis randômicas ou condicionadas, dentro de um domínio deter-
minado, que permitirão que os resultados não sejam únicos, e sim ter 
uma gama de possibilidades definidas para o contexto aplicado.
Nesse ponto, podemos ter algoritmos construídos com o uso de 
diferentes funções. É possível trabalhar em diferentes camadas e com 
funções matemáticas específicas para cada camada de dados.
Perceba que, mesmo nesse quesito, o domínio sobre o algoritmo 
está na mão do programador. É ele quem determina o que serão es-
ses “fatores de decisão” e como será seu comportamento matemático 
para que o cálculo se torne randomizado. A compreensão da mate-
mática levará à obtenção dos resultados desejados.
CONSIDERAÇÕES FINAIS
Neste capítulo, trouxemos uma pequena parte do gigantesco mundo 
da matemática aplicada à computação, à qual nos referimos como mate-
mática computacional.
As possibilidades são enormes, a depender da área almejada. É possí-
vel trabalhar desde processos de otimização de redes até a bela área da 
programação gráfica, passando pelo rico campo da inteligência artificial 
e da ciência de dados. Independentemente da área escolhida, a necessi-
dade da compreensão da matemática que envolve todos esses cálculos é 
imprescindível para sua correta implementação.
Desse modo, esperamos que você se sinta motivado a seguir nesse 
caminho que relaciona essas duas ciências: matemática e computação.
28 Matemática para Computação
ATIVIDADES
Sabendo que um algoritmo é compreendido como um processo que 
mostra detalhadamente os métodos necessários para a resolução de 
uma atividade, e que podemos pensar nessa estrutura em formato de 
pseudocódigo como estrutura inicial, descreva um pseudocódigo para o 
cálculo da expressão numérica 1 + 3(5 + 1).
Atividade 1
Descreva o modelo matemático que pode ser utilizado para representar 
a definição do problema a , para a > 0, usando apenas as quatro 
operações aritméticas.
Atividade 2
Uma pesquisa foi realizada coletando dados referentes à altura de alu-
nos de uma sala de aula. Esse tipo de dado é qualitativo ou quantitativo? 
Justifique.
Atividade 3
REFERÊNCIAS
BIM, S. A. A vida de Ada Lovelace. Porto Alegre: Sociedade Brasileira de Computação, 2018.
BROMLEY, A G. Charles Babbage’s Analytical Engine, 1838. Annals of the History of 
Computing, v. 4, n. 3, 1982. Disponível em: http://athena.union.edu/~hemmendd/Courses/
cs80/an-engine.pdf. Acesso em: 31 maio 2021.
CAMPOS FILHO, F. F. Algoritmos numéricos: uma abordagem moderna de Cálculo Numérico. 
São Paulo: LTC, 2007.
GUIDORIZZI, H. L. Um curso de cálculo. 6. ed. v. 1. Rio de Janeiro: LTC, 2018.
KHOURY, J. Application to a probleme of Fibonacci. Disponível em: http://aix1.uottawa.
ca/~jkhoury/fibonacci.htm. Acesso em: 31 maio 2021.
RAMOS, R. Ciência de dados: uma breve história. O Estatístico. Disponível em: https://
oestatistico.com.br/ciencia-de-dados-uma-breve-historia/. Acesso em: 31 maio 2021.
SIMÕES, I. Ada Lovelace desafiou o machismo e se tornou a primeira programadora 
da história. Darkside. Disponível em: https://darkside.blog.br/ada-lovelace-desafiou-o-
machismo-e-se-tornou-a-primeira-programadora-da-historia/. Acesso em: 31 maio 2021.
ZAHN, M. Sequência de Fibonacci e o Número de Ouro. Rio de Janeiro: Ciência Moderna, 2011.
http://aix1.uottawa.ca/~jkhoury/fibonacci.htm
http://aix1.uottawa.ca/~jkhoury/fibonacci.htm
Noções sobre sistemas de numeração 29
2
Noções sobre sistemas 
de numeração
Você já parou para pensar que o sistema de numeração que usamos 
na atualidade passou por diversas transformações ao longo da história 
para chegar ao que ele é hoje?
Além disso, por muito tempo ele não foi único. Diferentes civilizações 
construíram seus próprios sistemas de numeração com os conhecimen-
tos que tinham na época.
E você sabia que esse sistema numérico que usamos, o indo-arábico, 
fortemente desenvolvido, embasado e com toda a estrutura matemática 
moderna construída sobre ele, é deixado de “lado” quando pensamos em 
cálculos realizados por um computador?
Além do sistema de numeração adotado, quando o computador é usa-
do ainda precisamos admitir propagações de erro. Sim, o computador 
comete muitos erros numéricos.
Com o estudo deste capítulo, você será capaz de:
• compreender os diferentes sistemas de numeração;
• identificar erros numéricos e como interpretá-los;
• caracterizar as diferentes representações numéricas 
computacionais;
• compreender o conceito de erro numérico.
Objetivos de aprendizagem
2.1 Sistemas de numeração 
Vídeo Um dos sistemas de numeração mais antigos foi encontrado, por 
meio de pesquisas arqueológicas, na Tchecoslováquia, Europa, em 1937, 
com data entre aproximadamente 35000 a.C. e 20000 a.C. Basicamente, 
30 Matemática para Computação
os pesquisadores encontraram um osso (tíbia) de lobo jovem com mar-
cações unitárias feitas por meio de traços (cortes transversais), na forma:
I II III IIII
Ao todo eram 57 traços, sendo os primeiros 25 agrupados de 5 em 5 
(ALMEIDA, 2011).
Essa descoberta nos mostra a necessidade da contagem e possibili-
ta discutir sobre os sistemas de numeração.
O tipo de contagem observada nesse estudo é dita aditiva, em que, 
para se ter o próximo número, basta acrescentar uma marcação (|). 
Além disso, o sistema de numeração foi composto de apenas um sím-
bolo, sendo chamado de sistema de numeração de base 1.
A obra Através do espelho e o que Alice encontrou por lá, escrita em 
1871 pelo matemático Lewis Carroll (1832-1898) e traduzida para mui-
tos idiomas – inclusive o português –, traz um diálogo entre a rainha 
Branca e Alice, que demonstra a dificuldade que teríamos se o sistema 
de numeração de base 1 fosse adotado atualmente. Alice fala para a 
rainha que aulas servem para nos ensinar a fazer contas, e a rainha 
lhe pergunta: “e sabe Adição? Quanto é um mais um mais um mais um 
mais um mais um mais um mais um mais um mais um?”. Alice lhe res-
ponde: “não sei. Perdi a conta” (CARROLL, 2013, p. 186).
Na história da matemática identificamos diversas civilizações que 
adotaram sistemas ditos aditivos.
Mas como exatamente (algebricamente) podemos definir um sistema 
aditivo?
Vamos assumir que b é um número natural, tal que determinado 
sistema aditivo está escrito na base b. Assim, temos duas condições 
que precisam ser respeitadas:
1 O sistema deverá ter b símbolos para sua representação numérica, 
ou seja, teremos a1, a2, ..., ab símbolos para representar os números 
de um até b. Esses números deverão ser representados em ordem 
crescente.
Caso tenha se interessado 
pelas obras de Carroll e 
queira saber um pouco 
mais sobre esse assunto, 
sugerimos o texto Lewis 
Carroll e a matemática 
do País das Maravilhas, 
publicado pela Sociedade 
Brasileira de Matemática.
Disponível em: https://www.
sbm.org.br/noticias/lewis-carroll-
e-a-matematica-do-pais-das-
maravilhas. Acesso em: 2 jun. 2021.
Leitura
https://www.sbm.org.br/noticias/lewis-carroll-e-a-matematica-do-pais-das-maravilhas
https://www.sbm.org.br/noticias/lewis-carroll-e-a-matematica-do-pais-das-maravilhashttps://www.sbm.org.br/noticias/lewis-carroll-e-a-matematica-do-pais-das-maravilhas
https://www.sbm.org.br/noticias/lewis-carroll-e-a-matematica-do-pais-das-maravilhas
Noções sobre sistemas de numeração 31
2 Deve-se obedecer a regra do sucessor, que implica assumir que 
se um número termina em ai, com i ≠ b, então a representação de 
seu sucessor será obtida por meio da substituição de ai por ai+1. 
Caso a representação de um número termine em ab, seu sucessor 
será obtido acrescentando a1 à representação dada.
Entre alguns dos sistemas aditivos mais importantes na história, en-
contram-se o sistema hieroglífico (Figura 1), desenvolvido pelos egíp-
cios por volta de 3400 a.C., e o sistema de numeração da antiga Grécia, 
desenvolvido por volta do século IV a.C. 
Figura 1
Sistema numeral egípcio
Numerais egípcios
Sistema numérico hieroglífico egípcio
Sistema egípcio de numeração hierática
Si
dh
e/
Sh
ut
te
rs
to
ck
No entanto, foi com o sistema chamado posicional que a matemáti-
ca começou a se desenvolver com maior rapidez.
32 Matemática para Computação
Não se tem consenso de qual foi a civilização que idealizou primeiro o 
chamado sistema de numeração posicional, em que se encontram o nosso 
sistema posicional de base decimal e o sistema binário computacional, 
mas o que se sabe é que, para esse tipo de construção, foi necessário 
o desenvolvimento lógico da ideia de agrupamentos entre os números.
Nesse contexto histórico, identificou-se que os hindus praticaram o 
sistema posicional decimal e tiveram a preocupação de construir uma 
representação visual dele, que pudesse ser transferida de maneira 
escrita. Entretanto, foram os árabes que divulgaram esse sistema de 
numeração pelo ocidente, e por esse motivo o chamamos de sistema 
indo-arábico.
Figura 2
Evolução do sistema posicional decimal
Hindu – 300 a.C.
Hindu – 500 d.C.
Árabe – 900 d.C.
Árabe – (Espanha) 1000 
d.C.
Italiano – 1400 d.C.
Hoje
Fonte: Elaborada pela autora.
Um sistema de numeração posicional é aquele em que a posição 
na qual o algarismo se encontra modifica o seu valor, ou seja, no caso 
do sistema posicional de base decimal (o sistema que usamos), se o 
algarismo 1 estiver na posição (casa) da unidade, ele vale 1 unidade. Se 
o mesmo algarismo estiver na posição da dezena (casa da dezena), ele 
vale 10 unidades. Se estiver na posição da centena, vale 100 unidades, 
e assim sucessivamente.
Usando o sistema numérico posicional decimal, a Tabela 1 apre-
senta alguns exemplos com diferentes posicionamentos para o al-
garismo 1.
Noções sobre sistemas de numeração 33
Tabela 1
Posição do algarismo 1 em relação ao valor numérico obtido
Classes Milhões Milhares Unidades simples
Ordens c d u c d u c d u
1
1 0 0 0 0
1 0 0 0 0 0 0 0 0
Fonte: Elaborada pela autora.
Um sistema de numeração posicional pode ser definido de maneira 
geral (algébrica), assim como fizemos para os sistemas posicionais.
Nesse contexto, usaremos b ∈ ℕ como uma base qualquer. Assim, para 
construir um sistema posicional de base b, precisamos garantir duas con-
dições. Por isso, considere b ≠ 1. Inicialmente, precisamos determinar b 
símbolos, sendo um desses destinado a representar a casa vazia (zero) e 
os demais destinados a representar os números de 1 a (b – 1).
1 Se o número a ser representado tem como unidade um dos 
algarismos que representam 0, 1, ..., (b – 2), ele terá um sucessor 
substituindo-se esse algarismo por seu sucessor, apresentado na 
ordem crescente, que será (b – 1).
2 Se o número a ser representado tem como unidade o algarismo 
que representa (b – 1), ele já é o último algarismo dessa base. Nesse 
caso a representação do sucessor será obtida substituindo-se esse 
algarismo por zero e, em seguida, aplicando-se recorrentemente os 
itens 1 e 2 dessa regra à casa seguinte.
3 Se a casa seguinte for vazia, considera-se como se ela tivesse o 
valor zero.
Atualmente, o sistema de numeração posicional de base dez (siste-
ma indo-arábico), em que a posição do algarismo indica a potência de 
10 que o dígito representa, é usado em todo o mundo, sendo utilizado 
de maneira tão intuitiva, como uma criança pequena que usa os dedos 
para contar, que é difícil imaginar qualquer tipo de construção numéri-
ca sem essa formatação.
34 Matemática para Computação
Observe o exemplo de como decompomos um número no sistema 
posicional decimal por meio da representação geral enunciada.
Exemρlo 1
x = (1957)10 = 1 · 10
3
 + 9 · 10
2 + 5 · 101 + 7 · 100
 
Note que, com esse formato, fica evidente o uso da chamada base 
decimal. Essa formatação será adotada para a escrita das próximas ba-
ses que estudaremos nesta obra.
Queremos conceituar e identificar as características não só para o 
sistema posicional decimal, mas para outros sistemas posicionais que 
são usados na matemática e na computação, permitindo, assim, uma 
visão do cálculo numérico envolvido nesse processo.
Definição 1
Dados um número natural com b > 1 e o conjunto de símbolos {±, 0, 1, 2, ..., 
b – 1}, a sequência de símbolos
(dndn–1 ... d1d0, d-1d-2 ...)b
representa o número positivo
dn · b
n + dn–1 · b
n–1 + ... + d0 · b
0
 + d–1 · b
–1 + d–2 · b
–2 + …
Para representar números negativos, usamos o símbolo – à esquer-
da do numeral, conforme exemplificamos a seguir.
Exemρlo 2
x = (1.957,897)10
x = 1 · 103 + 9 · 102 + 5 · 101 + 7 · 100 + 8 · 10–1 + 9 · 10–2 + 7 · 10–3
x = 1.000 + 900 + 50 + 7 + 0,8 + 0,09 + 0,007
Portanto, percebemos que, além da escolha do sistema de numera-
ção (aditivo ou posicional), há muitas representações distintas em rela-
ção à quantidade de algarismos envolvida em cada um desses modelos 
(bases adotadas).
Noções sobre sistemas de numeração 35
Na próxima seção, focamos nos sistemas posicionais mais utilizados 
pela matemática moderna e pela matemática computacional.
2.2 Representação numérica 
Vídeo Entender a representação numérica do sistema escolhido não só 
possibilita sua compreensão, mas viabiliza realizar operações com o 
tipo de numeração escolhido, além de permitir verificar possíveis erros 
cometidos nos cálculos.
Como nosso foco é trabalhar com a matemática para a computa-
ção, dedicaremos esta seção à representação numérica implícita nas 
máquinas digitais eletrônicas, ou seja, nos computadores.
Assim, o primeiro sistema que vamos discutir é o chamado sistema 
de numeração posicional de base dois ou base binária.
2.2.1 Sistema binário
Quando pensamos em um sistema de numeração que permita 
realizar operações no computador (chamamos de computador as má-
quinas digitais eletrônicas), a base utilizada é a base dois. Seu uso está 
diretamente vinculado ao desenvolvimento das máquinas digitais.
Durante muitos séculos se creditou a Gottfried Wilhelm Leibniz 
(1646-1716) a idealização da base binária.
Para saber mais sobre Leibniz e a relação desse matemático com a base da 
computação, sugerimos a leitura de Leibniz e nosso mundo digital, de Gilberto 
Garbi, publicado pela Revista do Professor de Matemática (RPM).
Acesso em: 2 jun. 2021.
https://www.rpm.org.br/cdrpm/84/1.html
Artigo
Contudo, pesquisas recentes demonstram que 
em uma pequena ilha da Polinésia, séculos an-
tes da idealização de Leibniz, o povoado de 
Mangareva já utilizava a base binária para rea-
lizar cálculos que permitiam a comercialização 
de seus produtos.
Gottfried Wilhelm 
Leibniz
Nicku/Shutterstock 
36 Matemática para Computação
Ao analisar a pesquisa dos cientistas noruegueses Andrea 
Bender e Sieghard Beller, do departamento de ciência psicossocial 
da Universidade de Bergen, na Noruega, Javier Sampedro (2013) 
descreve que os pesquisadores
mostram agora como os habitantes da Mangareva não só inven-
taram o sistema para contar peixes, frutas, cocos, polvos e outros 
bens de diferente valor em suas transações comerciais, como tam-
bém que isso conduziu a uma aritmética binária que teria mere-
cido a aprovação do Leibniz por sua simplicidade e naturalidade.
Dos fatos históricos, sabemos que a base binária foi deixa-da de lado até mesmo por Leibniz, e apenas séculos após sua 
morte, em 1841, foi redescoberta pelo matemático George 
Boole (1815-1864), o qual desenvolveu a chamada álgebra 
booleana, que permitiu o desenvolvimento do computador 
digital eletrônico, imprescindível para o desenvolvimento em 
praticamente todas as áreas do conhecimento na atualidade.
O computador lida com grandezas representadas como se-
quências de bits (base 2).
Quando precisamos transcrever um método matemático para um mé-
todo numérico, ou seja, para a matemática computacional, precisamos, 
em primeiro lugar, compreender como um computador manipula as in-
formações – no nosso caso, as informações são numéricas e simbólicas.
Toda informação manipulada por um computador é representada 
como uma sequência de bits (binary digits). Ao agrupar 8 bits, temos 1 
byte; quando agrupados (Figura 3), os bytes darão origem aos kilobytes, 
megabytes, gigabytes, terabytes etc. – termos comumente usados na 
computação e no nosso dia a dia.
Figura 3
Sequência de bits
Ra
hi
m
ov
 E
m
in
/S
hu
tte
rs
to
ck
Medidas de informação eletrônica
Célula de memória 
de 8 bits
0 1 0 1
1 0 1 0
1 byte = 8 bit
1 KB = 8.192 bit
1 KB = 1.024 byte
1 MB = 1.024 KB
1 GB = 1.024 MB
1 TB = 1.024 GB
KB – kilobyte
MB – megabyte
GB – gigabyte
TB – terabyte
Sugerimos a leitura na 
íntegra do texto Um 
sistema binário inventado 
na Polinésia séculos antes 
de Leibniz, do autor Javier 
Sampedro.
Disponível em: https://brasil.
elpais.com/brasil/2013/12/16/
sociedad/1387215405_275511.
html. Acesso em: 2 jun. 2021.
Leitura
George Boole
Wd
wd
/W
ikim
edi
a C
omm
ons
https://brasil.elpais.com/brasil/2013/12/16/sociedad/1387215405_275511.html
https://brasil.elpais.com/brasil/2013/12/16/sociedad/1387215405_275511.html
https://brasil.elpais.com/brasil/2013/12/16/sociedad/1387215405_275511.html
https://brasil.elpais.com/brasil/2013/12/16/sociedad/1387215405_275511.html
Noções sobre sistemas de numeração 37
Um bit aceita duas respostas possíveis:
 • 0 – não, falso, desligado;
 • 1 – sim, verdadeiro, ligado.
Na área eletrônica, interpreta-se isso como passagem de ener-
gia (sim) ou sem passagem de energia (não). Essa leitura do código 
binário é feita milhares de vezes por segundo.
Esse tipo de representação, também chamado de representação 
binária, matematicamente pode ser traduzido como um sistema de 
numeração na base dois.
Exemρlo 3
Assim, para a codificação de um número natural entre 0 e 255, 
por exemplo, seriam suficientes 8 bits, pois 28 = 256. Desse modo, 
para representá-los, restaria apenas atribuir valores 0 ou 1.
O número natural 255 será representado em uma sequência de 
bits (sequência binária) por 11111111.
Mais adiante explicaremos os processos de conversão.
Como demonstramos, o sistema de numeração na base dois, 
também chamado de binário na área da computação, tem seus al-
garismos reconhecidos e representados por meio dos bits (binary 
digits). Já identificamos que um bit pode assumir dois valores dis-
tintos: 0 ou 1.
Embasados nos conhecimentos adquiridos até o momento so-
bre base binária, começamos a trabalhar com as mudanças de 
base.
Com essa finalidade, o exemplo a seguir apresenta uma mudan-
ça da base binária para a base decimal, tendo como ideia principal 
o tipo de conversão adotada pelo computador.
fli
gh
t o
f i
m
ag
in
at
io
n/
Sh
ut
te
rs
to
ck
Representação do código 
binário pelos botões com 
símbolos I (ligado) e O 
(desligado).
Figura 4
0 ou 1
Para conhecer mais sobre 
a relação entre bits e 
bytes e a sucessão de 
agrupamentos, sugerimos 
a leitura de Qual a diferen-
ça entre Kilobyte, Megabyte, 
Gigabyte e Terabyte?, pu-
blicado no site da Copel 
Telecom. 
Disponível em: https://www.
copeltelecom.com/site/blog/
kilobyte-megabyte-gigabyte-
terabyte/. Acesso em: 2 jun. 2021.
Leitura
https://www.copeltelecom.com/site/blog/kilobyte-megabyte-gigabyte-terabyte/
https://www.copeltelecom.com/site/blog/kilobyte-megabyte-gigabyte-terabyte/
https://www.copeltelecom.com/site/blog/kilobyte-megabyte-gigabyte-terabyte/
https://www.copeltelecom.com/site/blog/kilobyte-megabyte-gigabyte-terabyte/
38 Matemática para Computação
Exemρlo 4
Seja x = 1001,101, então
 1 · 23 + 0 · 22 + 0 · 21 + 1 · 20 + 1 · 2–1 + 0 · 2–2 + 1 · 2–3
 = 8 + 0 + 0 + 1 + 0,5 + 0 + 0,125
 = 9,625
Portanto, (1001,101)2 = (9,625)10.
Note que no exemplo utilizado respeitamos a posição de cada um 
dos elementos e fizemos a conversão, em primeiro plano, assumindo o 
valor de cada posição e, na sequência, somando esses resultados.
Esse é o processo que será adotado para as bases que veremos na 
sequência.
2.2.2 Sistema quaternário
No sistema quaternário a base b é igual a 4 e, portanto, temos o 
conjunto de algarismos {0, 1, 2, 3}.
Exemρlo 5
Seja x = (301,2)4, então
 3 · 42 + 0 · 41 + 1 · 40 + 2 · 4–1 = 48 + 0 + 1 + 0,5 = 49,5
Portanto, (301,2)4 = (49,5)10.
Mais adiante veremos como converter uma base decimal para uma 
base qualquer.
Na sequência, apresentamos a base hexadecimal, ou seja, uma base 
formada por 16 algarismos.
2.2.3 Sistema hexadecimal
O estudo do sistema hexadecimal auxilia no processo de represen-
tação de sequências maiores de bits, por exemplo, com 16 ou 32 bits.
Se b > 10, usamos as letras A, B, C, ... para denotar A = 10, B = 11, C = 12, ...
Para ficar claro esse sistema, vamos exemplificar.
Noções sobre sistemas de numeração 39
Exemρlo 6
Se temos b = 16, ou seja, o conjunto de algarismos {0, 1, 2, 3, 4, 5, 6, 
7, 8, 9, A, B, C, D, E, F}, e queremos converter o número x = (E2AC)16 para 
a base decimal, fazemos:
(E2AC)16 = 14 · 16
3 + 2 ·162 + 10 ·161 + 12 · 160
(E2AC)16 = 57.344 + 512 + 160 + 12 = 58.028
A base hexadecimal também é amplamente usada na computação.
Você já ouviu falar do tripleto hexadecimal, também chamado de 
web color (Figura 5)?
O tripleto hexadecimal recebe esse nome porque é uma combina-
ção de 3 bytes, pois cada cor formada possui três duplas escritas em 
formato hexadecimal. Cada dupla representa uma cor, sendo elas: ver-
melho, verde e azul (RGB).
A variação da combinação hexadecimal no tripleto dará origem às 
demais cores.
Figura 5
Web color
R.
 A
. N
on
en
m
ac
he
r/
W
ik
im
ed
ia
 C
om
m
on
s
40 Matemática para Computação
Exemρlo 7
A cor azul-marinho é escrita como 12 0A 8F no sistema tripleto 
hexadecimal.
Portanto, cada dupla terá 16 possibilidades para a primeira posição 
e mais 16 para a segunda, formando um byte de 256 possibilidades. 
Como temos três duplas, as possibilidades de combinação serão 256 · 
256 · 256 = 16.777.216.
Essa estrutura de cores é usada para documentos HTML, CSS, entre 
outros.
É possível observar os códigos hexadecimais de uma quantidade 
considerável de cores e a conversão para outros sistemas de cores que 
podem ser adotados computacionalmente.
A seguir, veremos o processo da transformação inversa, ou seja, co-
nhecendo um número na base 10, converteremos ele para a base b 
desejada.
2.2.4 Processo inverso
Nesta seção trabalharemos com a conversão de números na base 
decimal (x)10, os quais serão convertidos para uma base b qualquer.
Ou seja, queremos trabalhar com a seguinte representação algébrica:
(x)10 = (dndn–1 ... d0, d–1 ...)b
(x)10 = dn · b
n + dn–1 · b
n–1 + … + d0 · b
0 + d–1 · b
–1 + …
Inicialmente, para conseguirmos realizar a conversão, separamos 
a parte inteira de (x)10 da sua parte fracionária (também chamada de 
mantissa), obtendo (x)10 = x
i + xf. Assim, temos
xi = dn · b
n + dn–1 · b
n–1 + … + d0 · b
0
x
d
b
d
b
f � � ��� �1
1
2
2
Uma tabela bem extensa 
de combinações de cores 
pode ser encontrada no 
site Nas artes gráficas. 
Disponível em: http://
nasartesgraficas.blogspot.
com/2014/08/lista-de-cores.html. 
Acesso em: 2 jun. 2021.
Site
http://nasartesgraficas.blogspot.com/2014/08/lista-de-cores.html
http://nasartesgraficas.blogspot.com/2014/08/lista-de-cores.html
http://nasartesgraficas.blogspot.com/2014/08/lista-de-cores.html
Noções sobre sistemas de numeração 41
Portanto,precisamos determinar os valores para o conjunto 
{dn, dn–1, ...}, que é composto tanto de elementos da parte inteira como 
de elementos da parte fracionária.
 • Parte inteira
(xi = dn · b
n + dn–1· b
n–1 + … + d0 · b
0) ÷ (b) =
x
b
d b d b d
d
b
i
n
n
n
n� � � � ��� �� �
�1
1
2
1
0
Observe que d0 é o resto da divisão de x
i por b, pois d1 + d2 ∙ b1 + ... 
+ dn–1 · b
n–2 + dn ∙ bn–1 é inteiro e 
d
b
0 é uma fração com d0 < b. Da mesma 
forma, o resto da divisão de d1 + d2 ∙ b1 + ... + dn–1 · bn–2 + dn ∙ bn–1 por b 
é d1. Ou seja, repetindo esse processo encontramos os algarismos d0, 
d1, d2, ..., dn.
Para a análise da parte inteira, temos uma ferramenta extremamen-
te simples que pode ser usada: a divisão.
Por meio de sucessivas divisões, podemos rapidamente converter 
um número da base decimal para a base binária.
Exemρlo 8
Para a conversão de (3)10 para a base binária, fazemos:
 3 ÷ 2 = 1 → Resto 1
 1 ÷ 2 = 0 → Resto 1
O resultado será obtido, justamente, por meio dos restos. Portanto, 
(3)10 = (11)2.
Também podemos converter um número na base 10 para a base 
binária por meio das divisões sucessivas, como é feito no exemplo 
a seguir.
42 Matemática para Computação
Exemρlo 9
A conversão do número (142)10 para a base binária poderia ser re-
solvida assim:
(142)10 = (10001110)2
142 2
71 2
35 2
17 2
8 2
4 2
2 2
1 2
0
0
0
0
0
1
1
1
1
Por fim, um exemplo da conversão de bases de um número decimal.
Exemρlo 10
Vamos converter o número 3,625 para a base binária (b = 2). Pri-
meiramente, decompomos 3,625 na soma de suas partes inteira e 
fracionária.
x = 3 + 0,625
Logo, xi = 3 e xf = 0,625.
Nesse exemplo, resolveremos a parte inteira dessa conversão. Assim, 
precisamos fazer sucessivas divisões por b = 2. Então:
xi = 3 = 1 · 2 + 1 = 1 · 21 + 1 · 20
Portanto, xi = 1 · 21 + 1 · 20 = (11)2.
Para a parte fracionária do número, temos o seguinte:
 • Parte fracionária
x
d
b
d
b
b b x d
d
b
f f� � ��
�
�
�
�
�
� � � � � � � � ��� � � �11 22 1 2
Noções sobre sistemas de numeração 43
Nesse produto, note que a parte inteira é d–1 e a parte fracionária 
é 
d
b
�� ��2 ; ao multiplicarmos novamente por b, temos d–2. Para encon-
trar os algarismos restantes, repetimos esse processo.
Exemρlo 11
Continuando o Exemplo 10, agora precisamos fazer sucessivas 
multiplicações por b = 2, para obtermos a parte fracionária do nú-
mero 3,625.
xf = 0,625
2 · xf = 1,25 · 2–1 = 1 · 2–1 + 0,25 · 2–1
= 1 · 2–1 + (0,5 · 2–1) · 2–1 = 1 · 2–1 + 0,5 · 2–2
= 1 · 2–1 + (1 · 2–1) · 2–2 = 1 · 2–1 + 1 · 2–3
Portanto, xf = 1 · 2–1 + 0 · 2–2 + 1 · 2–3 = (101)2.
Logo, (3,625)10 = (11,101)2.
Outras ferramentas computacionais podem ser usadas – entre elas, 
encontram-se algumas linguagens de programação, como Sclilab e 
PythonTM.
Aqui, relembramos que o processo aplicado pelo computador é o 
de converter de binário para decimal, mas as conversões são impor-
tantes para garantir a veracidade dos nossos cálculos e a viabilidade de 
possíveis aplicações.
2.3 Representação em ponto flutuante 
Vídeo Um número, na matemática, pode ser infinito, e isso é impossível 
de ser representado no computador, visto que este trabalha com um 
número de bits limitado e predefinido (WEBER, 2004).
Pensando na estrutura numérica computacional, dizemos que há 
três formas possíveis de representação de um número no computador:
I. Inteiro natural.
II. Inteiro relativo.
III. Generalização dos dois casos anteriores, ou seja, um número real.
44 Matemática para Computação
É possível representar números inteiros, ou seja, considerar a 
parte negativa do conjunto, atribuindo um bit mais à esquerda, cha-
mado de sinal ou bit forte. Por meio desse primeiro bit saberemos se 
o número é positivo ou negativo.
Já no caso dos números reais, ou seja, considerando também núme-
ros decimais, a Institute of Electrical and Electronic Engineers (IEEE) defi-
ne uma fórmula para ser aplicada (padrão IEEE754). Essa representação 
(Quadro 1) é chamada de representação em ponto flutuante. Seja um com-
putador de 32 bits, essa estrutura fica escrita da seguinte forma:
(–1)S ∙ bE ∙ F
Quadro 1
Organização do ponto flutuante
S
 bit1�
 E F
Fonte: Elaborado pela autora.
Em que:
 • b é a base;
 • S = 0 (número positivo) ou S = 1 (número negativo);
 • E deve ser calculado por m ≤ E ≤ M, com m sendo o valor míni-
mo que a máquina pode representar e M sendo o valor máximo 
(|m| ≈ M);
 • F, chamado de mantissa, conterá os bits situados após a vírgula.
Acompanhe o exemplo a seguir para compreender melhor.
Exemρlo 12
Considere uma máquina com registro de 32 bits e base b = 2. Pelo 
padrão IEEE754 (Quadro 2), 1 bit será usado para o sinal (S), 8 bits serão 
usados para o expoente (c7, ..., c0) e 23 bits serão usados para a man-
tissa (d1, ..., d23).
Quadro 2
Padrão IEEE754
S c7 c6 ... c0 d1 d2 ... d22 d23
Fonte: Elaborado pela autora.
Se você se interessou por 
esse tema, sugerimos a 
leitura do material Padrão 
IEEE 754 para aritmética 
binária de ponto flutuante. 
Disponível em: https://www.lia.ufc.
br/~valdisio/download/ieee.pdf. 
Acesso em: 2 jun. 2021.
Leitura
https://www.lia.ufc.br/~valdisio/download/ieee.pdf
https://www.lia.ufc.br/~valdisio/download/ieee.pdf
Noções sobre sistemas de numeração 45
Assumindo que E = c – BIAS, em que BIAS é o valor do deslocamento 
do expoente (polarização), temos:
x = (–1)S ∙ 2c–BIAS F
com
c = (c7c6 ... c0)2 e F = (1,d1d2 ... d22d23)
De acordo com Gilat e Subramaniam (2008, p. 23, grifos do original), 
“computadores armazenam números e realizam cálculos em precisão 
simples ou em precisão dupla. Na precisão simples, os números são 
armazenados em uma cadeia de 32 bits (4 bytes), e, na precisão dupla, 
em uma cadeia de 64 bits (8 bytes)”.
Exemρlo 13
Queremos representar em notação ponto flutuante os números
 • x = (1)10
 • y = (–11)10
 • z = (231)10
assumindo precisão simples (32 bits) e base hexadecimal.
No primeiro caso, x = (1)10, teremos a primeira casa composta do 
sinal, logo S = 0, pois 1 é positivo. Assim:
0 0 1 0 0 0 0 0 0
Agora, no segundo caso, y = (–11)10, como o valor é negativo, a pri-
meira casa será representada por S = 1. Assim:
1 b 0 0 0 0 0 0 0
No último caso, ou seja, z = (231)10, teremos S = 0 e a representação:
0 e 7 0 0 0 0 0 0
Note que na representação em ponto flutuante dos três números 
não usamos as casas referentes a:
d1 d2 ... d22 d23
Isso porque em nenhum deles há parte fracionária.
46 Matemática para Computação
Note que aumentar o número de bits na mantissa melhora a preci-
são. Já aumentar a quantidade de bits no expoente permite que tenha-
mos um intervalo de números representáveis muito maior. Com isso, 
é possível perceber padrões muito bem definidos para a construção do 
cálculo numérico e da matemática computacional.
2.4 Erros numéricos 
Vídeo Quando falamos de erros, estamos tratando da diferença entre o 
valor real e o valor obtido.
É comum que sejam necessárias diversas simplificações do pro-
blema real para que se tenha um modelo matemático com solução 
possível.
Observe a Figura 6 a seguir, que apresenta a comparação entre um 
modelo físico (geoide) e um modelo matemático (elipsoide) da super-
fície da Terra.
Figura 6
Comparação entre modelos
Modelo físico – geoide
jd
rv
_a
rt/
Sh
ut
er
st
oc
k
Modelo matemático – elipsoide
Al
ex
an
de
rZ
am
/S
hu
te
rs
to
ck
Assim sendo, o processo de propagação de erros começa quan-
do transformamos um problema real em um modelo físico e este 
em um modelo matemático. Tal modelo matemático poderá ser 
resolvido de modo que tenhamos uma solução analítica ou uma 
solução numérica.
Noções sobre sistemas de numeração 47
Ku
bk
o/
Sh
ut
te
rs
to
ck
Problema 
real
Modelo 
físico
Modelo 
matemático
Solução 
analítica
Solução 
numérica
Implementação 
computacional
Resultado 
numérico
Note que ao desenvolvermos o modelo matemático, precisamos 
escolher entre a obtenção de uma solução analítica e uma solução 
numérica.
Neste ponto, temos um grandequestionamento. Por que usar um método 
numérico?
A resposta é mais simples do que imaginamos. Os modelos que 
possuem solução analítica precisam ser extremamente simplificados. 
Já os modelos que podem ser resolvidos numericamente podem con-
48 Matemática para Computação
ter mais variáveis e equações e, assim, um requinte maior nas equa-
ções que os contemplam.
Como o modelo usado para a obtenção numérica é mais “refinado”, o 
erro inerente ao método e à máquina pode ser muito menor se compa-
rado ao erro obtido com a solução analítica, que foi encontrada por meio 
de um modelo muito mais “grosseiro”.
Com isso, concluímos que nem sempre usamos o mesmo modelo 
matemático para as duas abordagens. Em geral, modelos matemáticos 
computacionais podem abranger um número maior de situações quan-
do comparados ao problema real.
Por meio do arredondamento e do truncamento, que especificare-
mos na sequência, conseguimos perceber a propagação de erros a que 
a resolução de um problema pode estar exposta.
Como vimos, os números não são representados computacionalmen-
te de maneira exata. Essa “perda” dependerá da capacidade da máquina.
A precisão, denotada por p, de um computador é o número de dígi-
tos significativos usados para representar um número. Os dígitos signi-
ficativos são todos os dígitos certos adicionados ao primeiro algarismo 
duvidoso.
Dessa forma, os números infinitos (ou mesmo muito grandes) aca-
bam sendo arredondados ou truncados, ocasionando erros. Esses 
mesmos números, quando em operações, ocasionarão a chamada pro-
pagação de erros.
Além desses erros, ainda temos a chamada incerteza dos dados e 
os erros de modelagem matemática. Nesse caso, em vez de pensar na 
transformação de um número para sua forma finita, levamos em con-
sideração a construção do modelo matemático e, com isso, a acurácia 
dos instrumentos de medição que estão envolvidos na construção desse 
modelo, além das ferramentas matemáticas disponíveis para solucionar 
o problema.
Vamos entender qual tipo de ajuste é necessário quando arredon-
damos ou truncamos um número e o que isso acarreta para o cálculo.
2.4.1 Erro de arredondamento
O arredondamento de um número é feito analisando o primeiro al-
garismo após o dígito duvidoso.
acurácia: “[Física] Proxi-
midade entre o resultado 
de um instrumento de 
medida e o verdadeiro 
valor do que foi medido” 
(DICIO, 2021).
Glossário
Noções sobre sistemas de numeração 49
Caso o dígito duvidoso seja maior do que 5, aumenta-se de uma unidade 
o algarismo duvidoso e desprezam-se os demais.
Caso o dígito duvidoso seja menor do que 5, mantém-se o valor do 
algarismo duvidoso e desprezam-se os demais.
Caso o dígito duvidoso seja igual a 5, há dois caminhos:
• Se o algarismo duvidoso imediatamente anterior à parte despre-
zada for um número ímpar, deve-se aumentá-lo em uma unidade.
• Se o algarismo duvidoso imediatamente anterior à parte despre-
zada for um número par, deve-se deixá-lo como está (inalterado).
di
fu
gi
 c
re
at
ive
/S
hu
tte
rs
to
ck
Para compreender essas especificações sobre arredondamento, 
acompanhe o exemplo a seguir.
Exemρlo 14
 
1
3
0 333 0 33� � �� � �, � ,
 π = 3,1415926 ... ≈ 3,141693
 1,55500... ≈ 1,56
 0,805... ≈ 0,80
Adotamos o arredondamento numérico porque computacional-
mente não é possível representar números infinitos, ou seja, esse tipo 
de ajuste é feito por causa das limitações existentes na representação 
numérica em máquinas digitais. Mas existem outros tipos de erros que 
podem se propagar quando transformamos um problema.
2.4.2 Erro de truncamento
O chamado truncamento será o corte aplicado aos dígitos não sig-
nificativos de um número infinito (ou muito grande), de acordo com a 
precisão possível da máquina.
50 Matemática para Computação
O truncamento também ocorre quando se aplica um método numé-
rico na solução de um problema e esse método leva a uma sucessão de 
termos infinitos. Computacionalmente, essa abordagem não é possível; 
nesses casos, trunca-se a série de termos em determinado ponto no 
qual o erro seja aceitável.
Em geral, é necessário definir em cada problema o que é conside-
rado um erro aceitável. Assim, o resultado encontrado, após o trunca-
mento, será analisado perante a obtenção desse erro.
Resumidamente, um erro de truncamento ocorre quando transfor-
mamos uma representação de um processo infinito em uma represen-
tação finita.
É comum, por exemplo, truncarmos séries de funções, como no 
exemplo a seguir.
Exemρlo 15
Seja a função sen x escrita por meio de uma série de potências na forma:
sen x x x x x� � � � ��
3 5 7
3 5 7! ! !
Sabemos que o valor de sen �π
6
é igual a 1
2
. Contudo, se calcular-
mos esse valor por meio de uma série de potências trigonométrica 
truncadas, teremos:
sen � �
� � �
6 6
6
3 2 1
6
5 4 3 2 1
6
7 6 5
3 5 7
� �
�
�
�
�
�
�
� �
�
�
�
�
�
�
�
� � � �
�
�
�
�
�
�
�
� � �44 3 2 1� � �
Nesse caso, sen
�
6
0 49999999187�
�
�
�
�
� � , .
Note que para esse cálculo, além do erro de truncamento, ainda te-
mos um erro de arredondamento. Portanto, começamos a perceber a 
propagação de erros intrínseca em diversos métodos computacionais.
2.4.3 Erro absoluto e erro relativo
Com os ajustes numéricos necessários para a representação com-
putacional (arredondamento, truncamento etc.), além dos ajustes nos 
Noções sobre sistemas de numeração 51
modelos e nas demais aproximações aplicadas, surge a questão refe-
rente à quantificação dos erros envolvidos nesses processos.
Para verificar se o resultado atingido foi bom, é necessário compará-
-lo ao resultado exato.
Nesse ponto, surgem algumas métricas que nos permitem quanti-
ficar os erros.
As medidas de erro mais utilizadas são o erro absoluto e o erro relativo.
Definição 2 – erro absoluto
Sejam x um número real e�x sua aproximação. O erro absoluto da aproximação
�x é definido, de acordo com Justo et al. (2021), como:
E x xA � �
Apresentamos a seguir um exemplo que nos auxilia na compreen-
são do cálculo para esse tipo de erro.
Exemρlo 16
 
A área da circunferência é dada por A = πr². Se r = 3, então a área 
exata será dada por A = 9π. Mas o que ocorre se π for arredondado?
Sejam π1 = 3,14 e π2 = 3,141593. Então, A1 = 9 · 3,14 = 28,26 e A2 = 
9 · 3,141593 = 28,274337.
Erro absoluto: E x xA � � → EA = |28,274337 – 28,26| = 0,014337.
Em muitos casos, desejamos calcular uma taxa entre o erro e a solu-
ção real. Nessa situação, precisamos do chamado erro relativo, definido 
a seguir.
Definição 3 – erro relativo
Sejam x um número real e�x sua aproximação. O erro relativo da aproximação 
�x é definido, de acordo com Justo et al. (2021), como:
E
x x
x
�xR �
�
�, 0 
O erro relativo é adimensional e, muitas vezes, é expresso em 
porcentagens.
52 Matemática para Computação
Exemρlo 17
Utilizando os mesmos dados do Exemplo 14, vamos calcular o erro 
relativo.
Sejam π1 = 3,14 e π2 = 3,141593. Então, A1 = 9 · 3,14 = 28,26 e A2 = 
9 · 3,141593 = 28,274337.
Erro relativo: E
x� �x
xR
�
�
.
E
� �
� � %R �
�
� � �
28 274337 28 26
28 274337
0 0005070675927 100 0 050
, ,
,
, , 77%
Uma forma de minimizar o alastramento de erros em um modelo 
numérico é reduzir o número de operações.
Exemρlo 18
Considere o polinômio dado por:
pn(x) = anx
n + an–1x
n–1 + … + a1x
1 + a0 = ((…(anx + an–1)x + an–2)x + …a1)x + a0
Note que a primeira representação do polinômio contém mais ope-
rações do que a segunda representação.
Sendo assim, o erro geral no segundo caso será menor, pois serão 
necessários menos ajustes numéricos e, com isso, um menor alastra-
mento de erros.
Esse tipo de manipulação precisa ser trabalhado com suas especifi-
cidades, dentro de cada método numérico e cada situação que permita 
a implementação computacional.
CONSIDERAÇÕES FINAIS
Neste capítulo percorremos trechos da história da matemática que 
permitiram o desenvolvimento da história da computação.
Identificamos alguns matemáticos que estiveram diretamente relacionados 
com a construção

Continue navegando