Você está na página 1de 179

Introdução à Lógica e à Programação Visual

Introdução à Lógica
Fundamentos Matemáticos para a Computação
Introdução à Programação Visual
P. C

EXPEDIENTE
GOVERNO DO ESTADO DO CEARÁ
Camilo Sobreira de Santana
Governador
Maria Izolda Cela de Arruda Coelho
Vice-Governadora

SECRETARIA DA EDUCAÇÃO
Eliana Nunes Estrela
Secretária da Educação
Maria Jucineide da Costa Fernandes
Secretária Executiva de Ensino Médio e Profissional
Gezenira Rodrigues da Silva
Coordenadora de Educação em Tempo Integral
Ana Gardennya Linard Sírio Oliveira
Assessora Especial de Gabinete da Seduc e Coordenadora Acadêmica do Projeto
Maria Elizabete de Araújo
Assessora Especial de Gabinete
Julianna da Silva Sampaio
Coordenadora de Comunicação

PROGRAMA CIENTISTA CHEFE/UNIVERSIDADE FEDERAL DO CEARÁ


José Cândido Lustosa Bittencourt de Albuquerque
Reitor da UFC
Jorge Herbert Soares de Lira
Cientista Chefe da Educação
Joaquim Bento Cavalcante Neto
Coordenador Acadêmico - UFC

Autores:
José Maria da Silva Monteiro Filho
Mara Franklin Bonates
Eder Jacques Porfírio Farias
Joaquim Bento Cavalcante Neto
Jorge Herbert Soares de Lira
Ana Gardennya Linard Sírio Oliveira
P. D

Espaço para Ficha Catalográfica


P. E SUMÁRIO

|Sumário
1 Introdução à Lógica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Introdução à Lógica Proposicional 1
1.2 Operadores Lógicos 7
1.2.1 Negação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.2 Conjunção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.3 Disjunção Inclusiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.4 Disjunção Exclusiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.5 Condicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.6 Bicondicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3 Precedência dos Operadores Lógicos 15
1.4 Fórmulas Bem-formadas 16
1.5 Tabela-verdade 17
1.6 Tautologia, Contradição e Contingência 19
1.6.1 Tautologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.6.2 Contradição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.6.3 Contingência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.7 Implicação e Equivalência Lógica 24
1.8 Exercícios Propostos sobre Lógica Proposicional 26
1.9 Raciocínio Lógico-Dedutivo 33
1.10 Formação de Padrões e Sequências 39
1.11 Jogos Lógicos 45
1.12 Exercícios Propostos sobre Jogos Lógicos 48

2 Fundamentos Matemáticos para a Computação . . . . . . . . . . . . 53


2.1 Expressões Aritméticas 53
2.2 Aritmética Modular 55
2.3 Equações e Inequações de Primeiro Grau 58
2.3.1 Equações de Primeiro Grau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.3.2 Inequações de Primeiro Grau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.4 Equações e Inequações do Segundo Grau 63
2.4.1 Solucionando Equações do Tipo + c = 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
ax2
2.4.2 Solucionando Equações do Tipo ax + bx = 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2

2.4.3 Solucionando Equações do Tipo ax2 + bx + c = 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 65


2.5 Introdução a Funções 71
2.5.1 Definição de Função Através de Conjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.5.2 Tipos de Funções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.6 Introdução à Combinatória 84
2.6.1 Diagrama de Árvore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
2.6.2 Princípio Fundamental da Contagem (PFC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
2.6.3 Arranjo Simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
SUMÁRIO P. F

2.6.4 Arranjo com Repetição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88


2.6.5 Permutação Simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
2.6.6 Permutação com Repetição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
2.6.7 Combinação Simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2.7 Introdução à Probabilidade 95
2.7.1 Probabilidade de Dois Eventos Sucessivos ou Simultâneos . . . . . . . . . . . . . . . . . . . 98
2.8 Sistemas de Numeração 100
2.8.1 Sistema Decimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
2.8.2 Sistema Binário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
2.8.3 Sistema Hexadecimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

3 Introdução à Programação Visual . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109


3.1 Conceitos de Hardware e Software 109
3.1.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
3.1.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
3.2 Noções de Algoritmos 116
3.2.1 Formas de Representação de Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
3.2.2 Estruturas para a Construção de Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
3.2.3 Sequenciação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
3.2.4 Decisão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
3.2.5 Repetição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
3.3 Elementos e Comandos Básicos de um Algoritmo 140
3.3.1 Variáveis e Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
3.3.2 Comandos de Entrada e Saída . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
3.3.3 Expressões Aritméticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
3.3.4 Operadores Relacionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
3.3.5 Expressões Lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
3.4 Introdução à Programação Visual 162
3.4.1 Noções Básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
3.4.2 Exemplos de aplicações simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
3.4.3 Blocos de Instruções para Estruturas de Decisão . . . . . . . . . . . . . . . . . . . . . . . . . 169
3.4.4 Blocos de Instruções para Estruturas de Repetição . . . . . . . . . . . . . . . . . . . . . . . 170
3.4.5 Interatividade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
3.4.6 Tratamento de Eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
P. 1

1 |Introdução à Lógica
A finalidade deste capítulo é servir de apoio a estudantes do ensino médio que desejem estudar
os fundamentos da lógica matemática com o objetivo de aplicá-la na construção de soluções
computacionais para os mais diversos problemas. O domínio da lógica matemática ajuda a
organizar nossos pensamentos, encadeando as ideias de forma coerente, facilitando a resolução de
problemas. Além disso, a lógica nos ajuda a argumentar corretamente e chegar em conclusões
confiáveis. A lógica é um dos pilares do pensamento computacional. Na computação, a lógica
pode ser utilizada para conceber circuitos lógicos (que são os componentes mais básicos de um
computador), representar o conhecimento, criar programas (soluções computacionais), além de
validar e corrigir programas. E aí? Vamos iniciar nossa aventura pelo fantástico mundo da lógica?
É logico que sim!

1.1 – Introdução à Lógica Proposicional


Todos nós estamos bastante acostumados a utilizar as palavras “lógico” e “ilógico”. Frequentemente
falamos de comportamento “lógico” em contraste com um comportamento “ilógico”. De forma
semelhante, utilizamos também os termos procedimento “lógico” e explicação “lógica”. Em todos
esses casos, a palavra “lógico” é utilizada com o sentido de “razoável”, “coerente” ou “racional”.
Neste sentido, esta utilização prática dos termos “lógico” e “ilógico” deriva do conceito formal de
“lógica”.
A lógica é o estudo do raciocínio e do conhecimento. Assim, a lógica trata do estudo dos
métodos e princípios usados para distinguir o raciocínio correto do incorreto. Entende-se aqui
por raciocínio o processo de argumentação pelo qual se chega a uma conclusão a partir de certos
dados. Assim, podemos entender o ato de raciocinar como um processo de derivação de novos
conhecimentos a partir de conhecimentos antigos. Portanto, a lógica pode ser definida como a
análise crítica do processos de argumentação, discutindo se estes são válidos ou não. Porém,
não cabe à lógica julgar se uma determinada afirmação é verdadeira ou falsa, mas julgar os
argumentos, ou seja, o processo de argumentação. A seguir, apresentamos um exemplo de um
raciocínio (ou argumentação):
 Exemplo 1.1 Exemplo de um raciocínio ou argumentação:

• O Caramelo (o terror dos motoqueiros) é um cachorro.


• Todos os cachorros são mamíferos.
• Logo, o Caramelo é um mamífero.

 Exemplo 1.2 Vamos ver mais um exemplo de um raciocínio ou argumentação:

• Seu Mané ainda paga suas contas por boleto.


• Quem paga conta por boleto é cringe.
• Logo, Seu Mané é cringe.

 Exemplo 1.3 Vamos ver um terceiro exemplo de um raciocínio ou argumentação:

• Quem curte Free Fire é gamer raiz.


• Enzo é muito fan de Free Fire.
• Logo, Enzo é gamer raiz.
Seção 1.1 P. 2
A lógica proposicional se baseia em um mundo binário ou bivalente, onde os conhecimentos
são representados por sentenças que só podem assumir dois valores: verdadeiro ou falso. Neste
sentido, a lógica proposicional adota uma visão simplificada do mundo. A lógica proposicional é
construída a partir do conceito de “proposição”.
Definição 1.1.1 Uma proposição é uma sentença declarativa que pode ser julgada como
verdadeira (V) ou falsa (F).

A seguir, ilustramos alguns exemplos de proposições.


 Exemplo 1.4 Exemplos de proposições:

• O Caramelo (o terror dos motoqueiros) é um cachorro.


• Todos os cachorros são mamíferos.
• Pelé é melhor que Messi.
• Cuscuz é melhor que muita gente.
• Está chovendo.
• 2 é maior que 3.
• 2 > 3.
• 2 não é menor ou igual a 3.
• 2  3.
• 5 é diferente de 7.
• 5 6= 7.
• Os divisores de 3 são 1 e ele mesmo.
• 3 é primo.
• 2 divide 5.
• O resto da divisão de 10 por 3 é 1.
• 10 mod 3 = 1.
• Verdade
• Falso

Observe que podemos atribuir um valor verdadeiro ou falso a cada uma dessas proposições.
Note ainda que as duas últimas proposições são constantes. Por estes motivo, elas são chamadas
de proposições constantes.
De maneira geral, não são proposições as sentenças imperativas, interrogativas ou exclamativas.
Vejamos alguns exemplos.
 Exemplo 1.5 Exemplos de sentenças que NÃO são proposições:

• Feche a porta!
• Será que vai chover amanhã?
• Vixe!

Observe que NÃO é possível atribuir um valor verdadeiro ou falso a cada uma dessas
sentenças.
Observe ainda os seguintes exemplos:
 Exemplo 1.6 Exemplos de sentenças que NÃO são proposições:

• x > 3.
• x 6= 5.
• x é primo.
• x divide y.

Observe que não podemos decidir se as sentenças anteriores são verdadeiras ou falsas. A
verdade ou falsificação das sentenças acima depende dos valores das variáveis (x e y).
P. 3 Seção 1.1

Agora que temos bem definido o que é uma proposição podemos classificá-las em simples
(atômicas) ou compostas (moleculares).
Definição 1.1.2 Uma proposição é dita simples ou atômica quando ela não contém em
sua estrutura nenhuma outra proposição. Assim, as proposições simples constituem a unidade
mínima da lógica proposicional.
A seguir, ilustramos alguns exemplos de proposições simples ou atômicas.
 Exemplo 1.7 Exemplos de proposições simples ou atômicas:

• O Caramelo (o terror dos motoqueiros) é um cachorro.


• Todos os cachorros são mamíferos.
• Pelé é melhor que Messi.
• Cuscuz é melhor que muita gente.
• Está chovendo.

Definição 1.1.3 Uma proposição é dita composta ou molecular quando ela é formada por
mais de uma proposição. Assim, uma proposição composta possui como parte integrante de si
mesma pelo menos uma outra proposição.
A seguir, ilustramos alguns exemplos de proposições compostas ou moleculares.
 Exemplo 1.8 Exemplos de proposições compostas ou moleculares:

• O número 2 é par e primo.


• Um número natural primo é divisível apenas por 1 e por ele mesmo.
• Pelé é melhor que Messi e Maradona.
• Faz frio hoje e chove lá fora.

Como mencionamos anteriormente, a lógica não está interessada em julgar se uma determinada
proposição é verdadeira ou falsa, mas em verificar se o raciocínio (a argumentação) é correto ou
não. Neste sentido, comumente substituímos as proposições por letras do alfabeto. Vamos ver
um exemplo:
 Exemplo 1.9 Traduzindo uma proposição composta para a linguagem da lógica:

• O número 2 é par E o número 2 é primo.


• p: O número 2 é par.
• q: O número 2 é primo.
• Simbolicamente, temos: p E q.

Em geral, representa-se as proposições simples por letras minúsculas e as proposições


Obs compostas por letras maiúsculas.

Agora, vamos exercitar um pouco os conceitos discutidos até aqui.


Problema 1 Verifique se as expressões a seguir são proposições. Justifique sua resposta.

(a) Boa sorte!


(b) Márcio não é irmão do Mário.
(c) Maria é rapper.
(d) Qual a maior torcida organizada do nordeste?
(e) Cuscuz é bom tanto com ovo quanto com carne moída.
Seção 1.1 P. 4

Solução. Verifique se as expressões a seguir são proposições. Justifique sua resposta.

(a) Boa sorte! Não é uma proposição pois não podemos atribuir um valor verdadeiro (V) ou
falso (F).
(b) Márcio não é irmão do Mário. É uma proposição pois podemos atribuir um valor verdadeiro
(V) ou falso (F).
(c) Maria é rapper. É uma proposição pois podemos atribuir um valor verdadeiro (V) ou falso
(F).
(d) Qual a maior torcida organizada do nordeste? Não é uma proposição pois não podemos
atribuir um valor verdadeiro (V) ou falso (F).
(e) Cuscuz é bom tanto com ovo quanto com carne moída. É uma proposição pois podemos
atribuir um valor verdadeiro (V) ou falso (F).


A lógica matemática adota como regras fundamentais do pensamento os dois seguintes
princípios ou axiomas.
Definição 1.1.4 Princípio da não contradição: uma proposição não pode ser verdadeira e
falsa ao mesmo tempo.

Definição 1.1.5 Princípio do terceiro excluído: toda proposição ou é verdadeira ou é falsa,


isto é, verifica-se sempre um desses dois casos, mas nunca um terceiro.
De acordo com esses dois princípios, podemos afirmar que toda proposição admite um e
somente um dos valores: verdadeiro (V) ou falso (F).
Agora, vamos definir o conceito de valor lógico.
Definição 1.1.6 O valor de uma proposição é chamado valor lógico. Os valores lógicos
possíveis para uma proposição qualquer são: verdadeiro (V) e falso (F).

Notação: Seja p uma proposição qualquer, V(p) indica o valor lógico da proposição p.
Obs Assim, se a proposição p for verdadeira, V(p) = V; se a proposição p for falsa, V(p) = F.

 Exemplo 1.10 Exemplos de valores lógicos:

• p: O Sol é verde. V(p) = F.


• q: A terra é plana. V(q) = F.
• r: Um hexágono tem seis lados. V(r) = V.

Finalmente, podemos definir o conceito de tabela-verdade.


Definição 1.1.7 Tabela-verdade é uma maneira prática de dispor organizadamente os valores
lógicos envolvidos em uma proposição.
Para uma proposição simples p, teremos a tabela-verdade ilustrada na Tabela 1.1.

p
V
F

Tabela 1.1: Tabela-verdade para uma Proposição Simples p.


P. 5 Seção 1.1

Para proposições compostas, veremos que o número dos componentes simples determina o
número de linhas das tabelas-verdade. Inicialmente, vamos construir as tabelas-verdade dispondo
todas as possibilidades de valores lógicos das proposições componentes.
Para uma proposição composta P formada por duas proposições simples p e q, teremos a
tabela-verdade ilustrada na Tabela 1.2.

p q
V V
V F
F V
F F

Tabela 1.2: Tabela-verdade para uma Proposição Composta P formada por duas Proposições
Simples p e q.

Para uma proposição composta P formada por três proposições simples p, q e r, teremos a
tabela-verdade ilustrada na Tabela 1.3.

p q r
V V V
V V F
V F V
V F F
F V V
F V F
F F V
F F F

Tabela 1.3: Tabela-verdade para uma Proposição Composta P formada por três Proposições
Simples p, q e r.

Teorema 1.1 O número de linhas distintas de uma tabela-verdade é dado por 2n , onde n é
número de proposições simples componentes e 2 representa o número de valores lógicos possíveis
(V ou F).

Problema 2 Atribua o valor lógico verdadeiro (V) ou falso (F) nas sentenças que são proposições
e marque um X quando a sentença não for uma proposição:

(a) Salvador é a capital da Bahia ( )


(b) Que ódio! ( )
(c) Todos os animais são mamíferos ( )
(d) Marróia!
(e) Mercúrio não é um planeta do sistema solar( )
(f) Pitágoras foi um grande matemático ( )
(g) Qual é o seu nome? ( )
(h) As nuvens são feitas de algodão ( )
Seção 1.1 P. 6

Solução. Atribua o valor lógico verdadeiro (V) ou falso (F) nas sentenças que são proposições
e marque um X quando a sentença não for uma proposição:

(a) Salvador é a capital da Bahia ( V )


(b) Que ódio! ( X )
(c) Todos os animais são mamíferos ( F )
(d) Marróia! ( X )
(e) Mercúrio não é um planeta do sistema solar( F )
(f) Pitágoras foi um grande matemático ( V )
(g) Qual é o seu nome? ( X )
(h) As nuvens são feitas de algodão ( F )

Problema 3 — FCC/ICMS-SP. Das cinco frases a seguir, quatro delas têm uma mesma caracte-
rística lógica em comum, enquanto uma delas não tem essa característica.

I 2021 não é um ano bissexto.


II A quinta parte de 6 dezenas é igual a 12.
III Leia o próximo item.
IV Existe um número inteiro e não racional.
V Todos os escritores são poetas.

A frase que não possui essa característica é:

(a) I.
(b) II.
(c) III.
(d) IV.
(e) V.

Problema 4 — CESPE 2008. Uma proposição é uma sentença afirmativa ou negativa que pode
ser julgada como verdadeira (V) ou falsa (F), mas não como ambas.
Nesse sentido, considere o seguinte diálogo:

(1) Você sabe dividir? — perguntou Ana.


(2) Claro que sei! — respondeu Mauro.
(3) Então, qual é o resto da divisão de onze milhares, onze centenas e onze por três? —
perguntou Ana.
(4) O resto é dois. — respondeu Mauro, após fazer a conta.
(5) Está errado! Você não sabe dividir. — respondeu Ana.

A partir das informações e do diálogo acima, julgue os itens que se seguem.

(a) A frase indicada por (3) não é uma proposição.


(b) A sentença (5) é falsa.
(c) A frase (2) é uma proposição.
P. 7 Seção 1.2

1.2 – Operadores Lógicos


Na seção anterior, vimos que uma proposição composta é formada por mais de uma proposição.
Vamos relembrar alguns exemplos de proposições compostas.
 Exemplo 1.11 Exemplos de proposições compostas:

• O número 2 é par e primo.


• Um número natural primo é divisível apenas por 1 e por ele mesmo.
• Pelé é melhor que Messi e Maradona.
• Faz frio hoje e chove lá fora.
• Ou te darei um beijo, ou te darei um cheiro.

Observe que nesses exemplos de proposições compostas utilizamos palavras explícitas ou


não para interligar as frases (o que definimos como sendo proposições). Essas palavras serão
substituídas por símbolos denominados operadores ou conectivos lógicos, uma vez que na ló-
gica matemática não há espaço para ambiguidades. Vejamos como podemos reescrever essas
proposições compostas destacando os operadores lógicos que conectam as proposições simples.
 Exemplo 1.12 Exemplos de proposições compostas destacando os operadores (conectivos)
lógicos:

• O número 2 é par E o número 2 é primo.


• Um número natural primo é divisível apenas por 1 E por ele mesmo.
• Pelé é melhor que Messi E Pelé é melhor que Maradona.
• Faz frio hoje E chove lá fora.
• Te darei um beijo OU te darei um cheiro.

A lógica proposicional possui ao todo seis (6) operadores lógicos: Conjunção, Disjunção
Inclusiva, Disjunção Exclusiva, Negação, Condicional e Bicondicional. Os símbolos utilizados
para esses operadores são apresentados na Tabela 1.4. A seguir, iremos detalhar cada um desses
operadores.

Símbolo, leitura Operador Lógico


∧, e Conjunção
∨, ou Disjunção Inclusiva
∨, ou Disjunção Exclusiva
∼ ou ¬, não Negação
→, se, então Condicional
↔, se, e somente se Bicondicional

Tabela 1.4: Símbolos dos Operadores Lógicos.


Seção 1.2 P. 8

1.2.1 – Negação

O operador lógico “Negação” inverte o valor lógico de uma proposição. Na linguagem que
utilizamos no nosso dia a dia, quase sempre usamos a palavra “não” quando desejamos negar
uma dada afirmação.
Na linguagem da lógica proposicional podemos utilizar dois símbolos diferentes para representar
a “Negação”: o “til” (∼) e a “cantoneira” (¬). Desta forma, se p é uma proposição qualquer,
“não” p é representado simbolicamente por ∼ p ou ¬p (lê-se não p). Assim se uma proposição
p é verdadeira, então ¬p é falsa. Já se p é falsa, então ¬p é verdadeira. A tabela-verdade da
“Negação” é ilustrada na Tabela 1.5.

p ¬p
V F
F V

Tabela 1.5: Tabela-verdade do Operador Lógico Negação.

Vamos ver um exemplo.


 Exemplo 1.13 Considere a proposição p: Pedro é estudante. A negação de p, denotada por ¬p

pode ser entendida como:

• Pedro NÃO é estudante.


• Não é verdade que Pedro é estudante.
• É falso que Pedro é estudante.

Definição 1.2.1 Se p é uma proposição, então ¬p também é uma proposição.

Observe que: ¬(¬p) = p.


Obs

 Exemplo 1.14 Considere a seguinte proposição:

• p: Pedro é estudante.
• ¬p: Pedro NÃO é estudante.
• ¬(¬p): Não é verdade que Pedro NÃO é estudante.
• ¬(¬p): Pedro é estudante.

Podemos comprovar essa observação por meio da tabela-verdade, ilustrada na Tabela 1.6.

p ¬p ¬(¬p)
V F V
F V F

Tabela 1.6: Tabela-verdade da Proposição ¬(¬p).


P. 9 Seção 1.2

1.2.2 – Conjunção

Duas proposições p e q podem ser combinadas pelo conectivo “e” (representado pelo símbolo
∧) para formar uma proposição composta S denominada conjunção das proposições originais.
A conjunção das proposições p e q, denominada S, será representada pelos símbolos p ∧ q. A
conjunção S terá valor lógico verdadeiro se, e somente se, os seus dois componentes (p e q)
tiverem valor verdadeiro. Caso contrário, a conjunção S terá valor lógico falso. A expressão p ∧ q
é lida como “p e q”. A tabela-verdade da “Conjunção” é ilustrada na Tabela 1.7.

p q p∧q
V V V
V F F
F V F
F F F

Tabela 1.7: Tabela-verdade do Operador Lógico Conjunção.

Vamos ver um exemplo.


 Exemplo 1.15 Considere as seguintes proposições:
• p: Pedro é estudante.
• q: Pedro é atleta.
• p ∧ q: Pedro é estudante E Pedro é atleta.
Definição 1.2.2 Se p e q são preposições, então p ∧ q também é uma proposição.

Problema 5 Transforme as proposições simples em proposições compostas:

(a) p: Ana estuda matemática.


q: Caio estuda história.
p∧q
(b) p: Gosto de sorvete.
q: Gosto de refrigerante.
p ∧ (¬q)

Solução. Transforme as proposições simples em proposições compostas:


(a) Ana estuda matemática E Caio estuda história.
(b) Gosto de sorvete E NÃO Gosto de refrigerante.


Problema 6 Sejam as proposições p: Paulo é feliz e q: Paulo é atleta. Traduzir para a


linguagem simbólica as seguintes proposições:

(a) Paulo não é feliz e não é atleta.


(b) Não é verdade que Paulo é feliz e atleta.

Solução. Sejam as proposições p: Paulo é feliz e q: Paulo é atleta. Traduzir para a


linguagem simbólica as seguintes proposições:
(a) (¬p) ∧ (¬q)
(b) ¬(p ∧ q)

Seção 1.2 P. 10

1.2.3 – Disjunção Inclusiva

Duas proposições p e q podem ser combinadas pelo conectivo “ou” (representado pelo símbolo
∨) para formar uma proposição composta S denominada disjunção inclusiva das proposições
originais. A disjunção inclusiva das proposições p e q, denominada S, será representada pelos
símbolos p ∨ q. A disjunção inclusiva S terá valor lógico verdadeiro se pelo menos um de seus
dois componentes (p ou q) tiver valor verdadeiro. Caso contrário, ou seja, se tanto a proposição
p quanto q tiverem valor falso, a disjunção inclusiva S terá valor lógico falso. A expressão p ∨ q é
lida como “p ou q”. A tabela-verdade da “Disjunção Inclusiva” é ilustrada na Tabela 1.8.

p q p∨q
V V V
V F V
F V V
F F F

Tabela 1.8: Tabela-verdade do Operador Lógico Disjunção Inclusiva.

Vamos ver um exemplo.


 Exemplo 1.16 Considere as seguintes proposições:

• p: Esse ano eu vou estudar inglês.


• q: Esse ano eu vou estudar computação.
• p ∨ q: Esse ano eu vou estudar inglês OU Esse ano eu vou estudar computação.

Observe que a proposição p ∨ q não apresenta nenhum impedimento ao fato de que eu possa
estudar tanto inglês quanto computação, durante esse ano. Logo, eu posso estudar esses dois
temas: inglês e computação.
Vamos ver mais um exemplo.
 Exemplo 1.17 Considere as seguintes proposições:

• p: Amanhã eu vou à praia.


• q: Amanhã eu vou ao cinema.
• p ∨ q: Amanhã eu vou à praia OU Amanhã eu vou ao cinema.

Observe que a proposição p ∨ q não apresenta nenhum impedimento ao fato de que eu possa
ir tanto para a praia quanto para o cinema. Logo, por exemplo, eu posso pegar uma praia pela
manhã e dar um rolê no cinema a noite.
Definição 1.2.3 Se p e q são proposições, então p ∨ q também é uma proposição.

Problema 7 Sejam as proposições p: Paulo ama Ana e q: Paulo ama Carol. Traduzir para a
linguagem simbólica as seguintes proposições:

(a) Paulo não ama Ana ou Paulo não ama Carol.


(b) Não é verdade que Paulo ama Ana ou Carol.
P. 11 Seção 1.2

1.2.4 – Disjunção Exclusiva

Duas proposições p e q podem ser combinadas pelo conectivo “ou” (representado pelo símbolo
∨) para formar uma proposição composta S denominada disjunção exclusiva das proposições
originais. A disjunção exclusiva das proposições p e q, denominada S, será representada pelos
símbolos p∨q. A disjunção exclusiva S terá valor lógico verdadeiro se exatamente um de seus
dois componentes (p ou q) tiver valor verdadeiro. Em outras palavras, a disjunção exclusiva S
terá valor lógico verdadeiro se um, e somente um, de seus dois componentes (p ou q) tiver valor
verdadeiro. Caso contrário, a disjunção exclusiva S terá valor lógico falso. A expressão p∨q é lida
como “p ou exclusivo q”. A tabela-verdade da “Disjunção Exclusiva” é ilustrada na Tabela 1.9.

p q p∨q
V V F
V F V
F V V
F F F

Tabela 1.9: Tabela-verdade do Operador Lógico Disjunção Exclusiva.

Vamos ver um exemplo.


 Exemplo 1.18 Considere as seguintes proposições:

• p: Hoje às 19h eu vou à academia.


• q: Hoje às 19h eu vou ao cinema.
• p∨q: Hoje às 19h OU eu vou à academia OU eu vou ao cinema.

Observe que a proposição p∨q apresenta um impedimento temporal, uma vez que eu não
posso estar em dois lugares ao mesmo tempo. Note também que em muitos casos a Disjunção
Exclusiva é apresentada com o uso do “duplo ou” (Hoje às 19h OU eu vou à academia OU eu
vou ao cinema).

Definição 1.2.4 Se p e q são proposições, então p∨q também é uma proposição.

Problema 8 Sejam as proposições p: Paulo ama Ana e q: Paulo ama Carol. Traduzir para a
linguagem simbólica as seguintes proposições:

(a) OU Paulo ama Ana OU Paulo ama Carol.


(b) Não é verdade que OU Paulo ama Ana OU Paulo ama Carol.

Solução. Sejam as proposições p: Paulo é feliz e q: Paulo é atleta. Traduzir para a


linguagem simbólica as seguintes proposições:

(a) p∨q
(b) ¬(p∨q)


Seção 1.2 P. 12

1.2.5 – Condicional

Duas proposições p e q podem ser combinadas pelo conectivo “se, então” (representado pelo
símbolo →) para formar uma proposição composta S denominada condicional das proposições
originais. A condicional das proposições p e q, denominada S, será representada pelos símbolos
p → q (lê-se: se p, então q). A condicional p → q pode ainda ser lida das seguintes maneiras:

• q, se p;
• p é condição suficiente para q;
• q é condição necessária para p.

Vamos ver um exemplo.


 Exemplo 1.19 A proposição condicional “Se chove, então a rua fica molhada” pode ser lida das

seguintes formas:

• Chover é uma condição suficiente para a rua ficar molhada.


• A rua ficar molhada é uma condição necessária quando chove.

Na condicional p → q, a proposição p é chamada antecedente (premissa ou hipótese) e a


Obs proposição q é o consequente (ou conclusão).

O operador lógico “Condicional” também é conhecido como “Implicação”.


Obs

A proposição condicional p → q só é falsa quando p é verdadeira e q é falsa. Caso isto não


ocorra, a proposição condicional será verdadeira. A tabela-verdade da “Condicional” é ilustrada
na Tabela 1.10.

p q p→q
V V V
V F F
F V V
F F V

Tabela 1.10: Tabela-verdade do Operador Condicional.

Agora, vamos tentar compreender melhor a tabela verdade do operador lógico condicional.
Uma proposição condicional do tipo p → q nos diz exatamente que se p, o antecedente, ocorrer
(tiver valor verdadeiro) então q, o consequente, também deve ocorrer (ou seja, ter valor verdadeiro).
Por este motivo, dizemos que a ocorrência de p é suficiente para garantir a ocorrência de q, e,
também, que quando p ocorrer q deve necessariamente ocorrer.
Considerando este significado (semântica), podemos justificar a primeira linha da tabela
verdade do operador lógico condicional, ou seja, na situação em que o antecedente e o consequente
tiverem valor verdadeiro, o condicional também terá valor verdadeiro. Assim, a semântica da
proposição se antecedente então consequente está sendo respeitada.
Seguindo este raciocínio, somente a segunda linha da tabela parece violar a semântica da
proposição condicional, uma vez que, nesta linha, o antecedente ocorre (possui valor verdadeiro)
e o consequente não ocorre (possui valor falso). Por este motivo, o valor da condicional p → q é
falso.
P. 13 Seção 1.2

Adicionalmente, note que a proposição se antecedente então consequente não nos diz
nada a respeito de qual deve ser o valor do consequente (verdadeiro ou falso) quando o antecedente
é falso. Desta forma, tanto a terceira linha da tabela (antecedente falso e consequente falso)
quanto a quarta linha (antecedente falso e consequente verdadeiro) não violam a semântica
da proposição se, então. Por este motivo, o valor da condicional p → q nestes dois casos é
verdadeiro.

Note que, se o consequente é verdadeiro, pouco importa o valor lógico do antecedente, pois
Obs a condicional será sempre verdadeira.

Definição 1.2.5 Se p e q são proposições, então p → q também é uma proposição.

Problema 9 Sejam as proposições p: Carlos mora em Fortaleza e q: Carlos mora no Ceará.


Traduzir para a linguagem simbólica as seguintes proposições:

(a) Se Carlos mora em Fortaleza então Carlos mora no Ceará.


(b) Não é verdade que Se Carlos mora em Fortaleza então Carlos mora no Ceará.

Solução. Sejam as proposições p: Carlos mora em Fortaleza e q: Carlos mora no Ceará.


Traduzir para a linguagem simbólica as seguintes proposições:

(a) p → q
(b) ¬(p → q)

Problema 10 Sejam as proposições p: Marta está estudando bastante e q: Marta será aprovada
no ENEM. Traduzir para a linguagem simbólica as seguintes proposições:

(a) Se Marta está estudando bastante então Marta será aprovada no ENEM.
(b) Marta Não está estudando bastante E Marta Não será aprovada no ENEM.
(c) Não é verdade que Marta Não está estudando bastante.
(d) OU Marta Não está estudando bastante OU Marta será aprovada no ENEM.

Solução. Sejam as proposições p: Marta está estudante bastante e q: Marta será aprovada
no ENEM. Traduzir para a linguagem simbólica as seguintes proposições:

(a) p→q
(b) (¬p) ∧ (¬q)
(c) ¬(¬p)
(d) (¬p)∨q


Seção 1.2 P. 14

1.2.6 – Bicondicional

Duas proposições p e q podem ser combinadas pelo conectivo “se, e somente se” (representado
pelo símbolo ↔) para formar uma proposição composta S denominada bicondicional das
proposições originais. A bicondicional das proposições p e q, denominada S, será representada
pelos símbolos p ↔ q (lê-se: p se, e somente se q). A condicional p ↔ q pode ainda ser lida das
seguintes maneiras:

• p é condição necessária e suficiente para q;


• q é condição necessária e suficiente para p.

Vamos ver um exemplo.


 Exemplo 1.20 A proposição bicondicional “Um número inteiro é par se, e somente se é múltiplo
de 2” pode ser lida das seguinte forma:

• Se um número inteiro é par, então ele é múltiplo de 2.


• Se um número é múltiplo de 2, então ele é par.

Observe ainda que:

• Um número inteiro ser par é condição suficiente para um número inteiro ser múltiplo de 2.
• Um número inteiro ser múltiplo de 2 é condição necessária para um número inteiro ser par.

Porém, também podemos afirmar que:

• Um número inteiro ser múltiplo de 2 é condição suficiente para um número inteiro ser par.
• Um número inteiro ser par é condição necessária para um número inteiro ser múltiplo de 2.

A proposição bicondicional p ↔ q é verdadeira quando p e q têm o mesmo valor verdade (ou


seja, V (p) = V (q)), caso contrário é falsa. A tabela-verdade da “Bicondicional” é ilustrada na
Tabela 1.11.

p q p↔q
V V V
V F F
F V F
F F V

Tabela 1.11: Tabela-verdade do Operador Bicondicional.

Definição 1.2.6 Se p e q são proposições, então p ↔ q também é uma proposição.

Problema 11 Sejam as proposições p: André nasceu no Ceará e q: André é cearense. Traduzir


para a linguagem simbólica as seguintes proposições:

(a) André é cearense se, e somente se André nasceu no Ceará.


(b) Não é verdade que André é cearense se, e somente se André nasceu no Ceará.
P. 15 Seção 1.3

1.3 – Precedência dos Operadores Lógicos


Uma questão bastante importante ao analisarmos uma proposição composta consiste em identificar
em que ordem as operações simples (ou atômicas) devem ser realizadas. Uma maneira eficiente
de explicitar essa ordem consiste na utilização de parênteses para agrupar as operações lógicas.
Contudo, a utilização de uma quantidade elevada de parênteses pode dificultar a leitura e o
entendimento de uma determinada proposição composta. Assim, torna-se necessário definir a
precedência entre os operadores lógicos, ou seja, que operador deve ser executado primeiro. A
Tabela 1.12 mostra a precedência dos operadores lógicos estudados até agora. Observe que,
quanto maior o valor associado ao operador, maior a sua prioridade. A definição de precedência
é fundamental para que nós consigamos avaliar uma expressão lógica (proposição composta) de
forma correta. Neste sentido, para evitar interpretações equivocadas (incorretas), recomenda-se
que, sempre que possível, seja adotado um esquema de parentização, ou seja, que os parênteses
sejam utilizados para evidenciar a precedência das operações.

¬ ∧ ∨ → ↔
4 3 2 1 0

Tabela 1.12: Precedência dos Operadores Lógicos.

Vamos ver alguns exemplos.


 Exemplo 1.21 Observe com cuidado as proposições a seguir:

• A proposição p ∧ q ∨ r deve ser entendida como (p ∧ q) ∨ r. Ou seja, primeiro executa-se a


conjunção entre p e q, uma vez que a precedência da conjunção é maior que a precedência
da disjunção. Somente em seguida executa-se a disjunção inclusiva entre o resultado da
operação de conjunção e a proposição r.
• A proposição p → q ∨ r deve ser entendida como p → (q ∨ r). Ou seja, primeiro executa-se
a disjunção entre q e r, uma vez que a precedência da disjunção é maior que a precedência
da condicional. Somente em seguida executa-se a condicional entre a proposição p e o
resultado da operação de disjunção.
• A proposição p ↔ p → q deve ser entendida como p ↔ (p → q). Ou seja, primeiro
executa-se a condicional entre p e q, uma vez que a precedência da condicional é maior que
a precedência da bicondicional. Somente em seguida executa-se a bicondicional entre a
proposição p e o resultado da operação condicional.

Contudo, em alguns casos as regras de precedência dos operadores não são suficientes para
remover todas as ambiguidades. Por exemplo, considere a proposição composta p → q → r.
Observe que, como o operador lógico é o mesmo, não fica claro em que ordem as operações
serão realizadas. Note que a proposição composta p → q → r tanto pode ser entendida como
p → (q → r) quanto como (p → q) → r, dependendo da parentização utilizada. Neste caso, a
utilização dos parênteses foi fundamental para remover as ambiguidades.
Seção 1.4 P. 16

1.4 – Fórmulas Bem-formadas


Dizemos que uma proposição composta é uma fórmula bem-formada (do inglês Well-Formed
Formula - WFF ) se ela define uma expressão lógica válida, ou seja, se ela for uma expressão
válida segundo a gramática da lógica proposicional.
Uma fórmula bem-formada (WFF) (ou simplesmente fórmula) pode ser definida da seguinte
maneira:

1 Se p é uma proposição atômica, então p é uma fórmula;


2 Se p é uma fórmula, então ¬p também é uma fórmula;
3 Se p e q são fórmulas, então p ∧ q, p ∨ q, p∨q, p → q e p ↔ q também são fórmulas.

 Exemplo 1.22 Como exemplos de fórmulas bem-formadas podemos citar:

• p → (q ∧ r);
• ¬q ∧ ((¬r ∧ s) ↔ (p → ¬q));
• ((p → q) ∧ p) → ¬p;

 Exemplo 1.23 Como exemplos de expressões que não são fórmulas bem-formadas podemos
citar:

• p q r;
• (r Verdadeiro →);
• (Falso ∧∨ (↔ q p))

Problema 12 Dados os símbolos proposicionais p e q, mostre que a expressão ((p∧q)∨((¬p) →


(¬q))) é uma fórmula bem-formada.

Solução. Dados os símbolos proposicionais p e q, mostre que a expressão ((p ∧ q) ∨ ((¬p) →


(¬q))) é uma fórmula bem-formada.

• p e q são fórmulas, pois são proposições atômicas;


• (p ∧ q) é formula, pela terceira propriedade da definição;
• (¬p) e (¬q) são fórmulas, pela segunda propriedade da definição;
• ((¬p) ∧ (¬q)) é fórmula, pela terceira propriedade da definição;
• (p ∧ q) ∧ ((¬p) ∧ (¬q)) é fórmula, pela terceira propriedade da definição;

Problema 13 Dados as expressões a seguir, identifique quais são fórmulas bem-formadas.


Justifique sua resposta.

(a) (p ∧ q) → ((q ↔ p) ∨ (¬(¬r)));


(b) ∨q → r;
(c) (p ∨ r) → (q ↔ ((¬t) ∧ r));
(d) (p q ∨ Verdadeiro);
(e) (¬p → (q ∨ r)) ↔ ((p ∧ q) ↔ (¬¬r ∨ ¬p));
P. 17 Seção 1.5

1.5 – Tabela-verdade
Como mencionamos anteriormente, a tabela-verdade é uma maneira prática de dispor orga-
nizadamente os valores lógicos envolvidos em uma proposição. Agora, vamos discutir alguns
problemas que envolvem a elaboração de tabelas-verdade.
Problema 14 Monte a tabela verdade para a proposição P = p ∨ ¬q.

Solução. Vamos montar a tabela-verdade para a proposição P = p ∨ ¬q.

p q ¬q p ∨ ¬q
V V F V
V F V V
F V F F
F F V V

Tabela 1.13: Tabela-verdade da Proposição P = p ∨ ¬q.

Problema 15 Monte a tabela verdade para a proposição P = p ∨ ¬q.

Solução. Vamos montar a tabela-verdade para a proposição P = p ∧ ¬q.

p q ¬q p ∧ ¬q
V V F F
V F V V
F V F F
F F V F

Tabela 1.14: Tabela-verdade da Proposição P = p ∧ ¬q.

Problema 16 Monte a tabela verdade para a proposição P = (p ∨ q) ∧ r.

Solução. Vamos montar a tabela-verdade para a proposição P = (p ∨ q) ∧ r.

p q r p∨q (p ∨ q) ∧ r
V V V V V
V V F V F
V F V V V
V F F V F
F V V F F
F V F F F
F F V F F
F F F F F

Tabela 1.15: Tabela-verdade da Proposição P = (p ∨ q) ∧ r.


Seção 1.5 P. 18

Problema 17 A quantidade de linhas da tabela-verdade da proposição composta P = p → q ∨r,


em que p, q e r são proposições atômicas e independentes entre si, que apresentam o valor
lógico F é igual a:

(a) 1.
(b) 2.
(c) 3.
(d) 4.
(e) 5.

Problema 18 Considere a,b e c três proposições falsas. Qual o valor lógico da proposição
D = [(a ∨ ¬c) ↔ b] ↔ [(b ∧ ¬a) ↔ ¬b]?

(a) D não possui valor lógico.


(b) Falso.
(c) Não é possível determinar o valor lógico de D.
(d) Verdadeiro.
(e) D é verdadeiro e falso.

Problema 19 Assinale a alternativa que representa a proposição “x” correta para a tabela
verdade a seguir.

p q x
V V F
V F F
F V V
F F F

Tabela 1.16: Tabela-verdade do Problema 19.

(a) p ∧ ¬q.
(b) p ∨ q.
(c) p∧q
(d) ¬p ∧ q

O vídeo a seguir traz uma interessante discussão acerca dos conceitos de proposição e operadores
lógicos, além de vários exemplos interessantes.

v Saiba mais
P. 19 Seção 1.6

1.6 – Tautologia, Contradição e Contingência


Nesta seção vamos discutir três importantes conceitos: tautologia, contradição e contingência.

1.6.1 – Tautologia
Definição 1.6.1 Uma proposição composta S é uma tautologia se o seu valor lógico é sempre
verdadeiro (V), quaisquer que sejam os valores lógicos das proposições componentes.

Vamos ver um exemplo.


 Exemplo 1.24 Considere as seguintes proposições:
• p: Vai chover;
• ¬p NÃO Vai chover;
• S : p ∨ ¬p;
Vamos montar a tabela verdade para a proposição composta S = (p ∨ ¬p).

p ¬p p ∨ ¬p
V F V
F V V

Tabela 1.17: Tabela-verdade da Proposição p ∨ ¬p.

Observe que p ∨ ¬p é uma tautologia.


Vamos ver um segundo exemplo.
 Exemplo 1.25 Considere a proposição ¬(p ∧ ¬p). Será que essa proposição é uma tautologia.
Vamos montar a tabela verdade e descobrir.
p ¬p p ∧ ¬p ¬(p ∧ ¬p)
V F F V
F V F V

Tabela 1.18: Tabela-verdade da Proposição ¬(p ∧ ¬p).

Observe que ¬(p ∧ ¬p) é uma tautologia.

Problema 20 Mostre que a proposição P = p ∨ ¬(p ∧ q) é uma tautologia.

Solução. Vamos montar a tabela-verdade para a proposição P .

p q p∧q ¬(p ∧ q) p ∨ ¬(p ∧ q)


V V V F V
V F F V V
F V F V V
F F F V V

Tabela 1.19: Tabela-verdade da Proposição P = p ∨ ¬(p ∧ q).

Logo, podemos concluir que a proposição P = p ∨ ¬(p ∧ q) é uma tautologia.



Seção 1.6 P. 20

Problema 21 Mostre que as seguintes proposições são tautologias.

• P = p ∨ (q ∧ negq) ↔ p;
• P = (p ∧ r) → (¬q ∨ r);

Problema 22 Chico da Matilde afirmou que a proposição p → (q → p) é uma tautologia.


Dandara acha que Chico está mentindo. Laudelina foi chamada para mediar o debate entre
Chico e Dandara. Ajude Laudelina a provar se Chico está dizendo a verdade ou se está
mentindo.

Problema 23 Considerando p e q duas proposições atômicas quaisquer, assinale a alternativa


que representa, logicamente, uma tautologia.

(a) ¬p ∧ p.
(b) ¬p ∧ ¬q.
(c) (p ∧ q) → (p ∨ q).
(d) (p ∨ q) → (p ∧ q).
(e) p ∨ q.

Problema 24 Dandara afirmou que a proposição ¬p → [p → q] é uma tautologia. Chico da


Matilde acha que Dandara está mentindo. Maria Firmina foi chamada para mediar o debate
entre Dandara e Chico. Ajude Maria Firmina a provar se Dandara está dizendo a verdade ou
se está mentindo.

Problema 25 Trata-se de uma tautologia a proposição apresentada na alternativa:

(a) Chove e faz frio.


(b) Carolina de Jesus estuda ou não estuda na UFC.
(c) Se é verão então faz calor.
(d) Tia Ciata é alta e gosta de estudar.
(e) Abdias estuda ou joga futebol.

Problema 26 Assinale a alternativa que apresenta uma tautologia.

(a) p ∨ (q ∨ ¬p).
(b) (q → p) → (p → q).
(c) p → (p → q ∧ ¬q).
(d) p ∨ ¬q → (p → ¬q).
(e) p∨q →p∧q

Problema 27 Trata-se de uma tautologia a proposição apresentada na alternativa:

(a) Se Rafael é inteligente ou Fabrício é chato então Rafael é inteligente e Fabrício é chato..
(b) Se Rafael é inteligente ou Fabrício é chato então Rafael não é inteligente e Fabrício não
é chato.
(c) Se Rafael é inteligente e Fabrício é chato então Rafael é inteligente ou Fabrício é chato.
(d) Se Rafael é inteligente e Fabrício é chato então Rafael é inteligente e Fabrício não é
chato.
P. 21 Seção 1.6

1.6.2 – Contradição

Definição 1.6.2 Uma proposição composta S é uma contradição se o seu valor lógico é
sempre falso (F), quaisquer que sejam os valores lógicos das proposições componentes.

Vamos ver um exemplo.


 Exemplo 1.26 Considere as seguintes proposições:

• p: Vai chover;
• ¬p NÃO Vai chover;
• S : p ∧ ¬p;

Vamos montar a tabela verdade para a proposição composta S (p ∧ ¬p).

p ¬p p∧¬p
V F F
F V F

Tabela 1.20: Tabela-verdade da Proposição p ∧ ¬p.

Observe que p ∧ ¬p é uma contradição.

Problema 28 Mostre que a proposição P = (p ∧ q) ∧ ¬(p ∨ q) é uma contradição.

Solução. Vamos montar a tabela-verdade para a proposição P .

p q p∧q p∨q ¬(p ∨ q) (p ∧ q) ∧ ¬(p ∨ q)


V V V V F F
V F F V F F
F V F V F F
F F F F V F

Tabela 1.21: Tabela-verdade da Proposição P = (p ∧ q) ∧ ¬(p ∨ q).

Logo, podemos concluir que a proposição P = (p ∧ q) ∧ ¬(p ∨ q) é uma contradição.




Problema 29 Mostre que a proposição P = ¬p ∧ (p ∧ ¬q) é uma contradição.

Solução. Vamos montar a tabela-verdade para a proposição P .

p q ¬p ¬q p ∧ ¬q ¬p ∧ (p ∧ ¬q)
V V F F F F
V F F V V F
F V V F F F
F F V V F F

Tabela 1.22: Tabela-verdade da Proposição P = ¬p ∧ (p ∧ ¬q).

Logo, podemos concluir que a proposição P = ¬p ∧ (p ∧ ¬q) é uma contradição.



Seção 1.6 P. 22

1.6.3 – Contingência

Definição 1.6.3 Uma proposição composta S é uma contingência (ou uma indeterminação)
quando ela não é uma tautologia e também não é uma contradição.

Problema 30 Determine se a proposição P = (p ∨ q) → p é uma tautologia, contradição ou


contingência.

Solução. Vamos montar a tabela-verdade para a proposição P .

p q p∨q (p ∨ q) → p
V V V V
F F V V
F V V F
F F F V

Tabela 1.23: Tabela-verdade da Proposição P = (p ∨ q) → p.

Construindo a tabela-verdade de P , verificamos que a última coluna é composta tanto por


valores lógicos verdadeiros (V) quanto por falsos (F). Logo, P é uma contingência.


Problema 31 Determine se a proposição P = (p ∧ q) ∨ (p ∧ r) é uma tautologia, contradição


ou contingência.

Solução. Vamos montar a tabela-verdade para a proposição P .

p q r p∧q p∧r (p ∧ q) ∨ (p ∧ r)
V V V V V V
V V F V F V
V F V F V V
V F F F F F
F V V F F F
F V F F F F
F F V F F F
F F F F F F

Tabela 1.24: Tabela-verdade da Proposição P = (p ∧ q) ∨ (p ∧ r).

Construindo a tabela-verdade de P , verificamos que a última coluna é composta tanto por


valores lógicos verdadeiros (V) quanto por falsos (F). Logo, P é uma contingência.

P. 23 Seção 1.6

Problema 32 Considere a seguinte proposição: “No ENEM, Carolina de Jesus será aprovada
ou não será aprovada.”. Analisando segundo a lógica, essa afirmação é um exemplo claro de:

(a) contradição.
(b) tautologia.
(c) contingência.
(d) equivalência.
(e) implicação.

Problema 33 Trata-se de um exemplo de contradição a proposição:

(a) Dois é um número par e ímpar.


(b) Guaramiranga é uma cidade bonita se e somente se faz frio.
(c) Laudelina é alta e Gama é baixo.
(d) Se dois é um número par então Laudelina é alta.
(e) Se Gama é baixo então Laudelina é alta.

Problema 34 Define-se por contradição a operação lógica que assume como valores falsos (F)
para quaisquer valores das proposições componentes. Sendo assim, assinale a alternativa que
contém um caso de contradição.

(a) p ∧ ¬p.
(b) p ∧ ¬q.
(c) p ∨ q.
(d) p ∧ q.
(e) p ∨ q.

Problema 35 Dadas as proposições a seguir, diga se ela é uma Tautologia, Contradição ou


Contingência.

(a) (p ∧ ¬p) ∧ p;
(b) (p ∧ ¬q) ∧ p;
(c) (p ∧ ¬p) ∨ q;
(d) (q ∧ ¬p) ∨ r;
(e) p ∧ (q → r) ∨ (p ∨ q).

Problema 36 Qual das proposições a seguir é uma contradição?

(a) (p → q) ∨ ¬q.
(b) (p ∧ ¬p) → q
(c) ¬(p ∨ q) ↔ (p ∨ q).
(d) (p ↔ p) ∧ (p ∨ q).
(e) (p ↔ q) ∨ (q ∨ ¬q).
Seção 1.7 P. 24

1.7 – Implicação e Equivalência Lógica


Definição 1.7.1 Dadas duas proposições P e Q, diz-se que ocorre uma implicação lógica (ou
relação de implicação) entre P e Q quando a proposição condicional P → Q é uma tautologia
(lê-se P implica Q).

Vamos ver um exemplo.


 Exemplo 1.27 Considere as seguintes proposições:

• P : p ∧ q;
• Q : p;
• P → Q é uma implicação lógica?;

Vamos montar a tabela verdade para a proposição composta P → Q.

p q p∧q (p ∧ q) → p
V V V V
V F F V
F V F V
F F F V

Tabela 1.25: Tabela-verdade da Proposição (p ∧ q) → p.

Observe que (p ∧ q) → p é uma implicação lógica.


Definição 1.7.2 Dadas as proposições P e Q, diz-se que ocorre uma equivalência lógica
entre P e Q quando suas tabelas-verdade forem idênticas (lê-se P implica logicamente em Q
ou simplesmente P equivale a Q (P ⇐⇒ Q).

Vamos ver um exemplo.


 Exemplo 1.28 Considere as seguintes proposições:

• P : (p → q);
• Q : (¬p ∨ q);
• P equivale a Q?;

Vamos montar a tabela verdade para as proposições P e Q.

p q p→q ¬p ∨ q
V V V V
V F F F
F V V V
F F V V

Tabela 1.26: Tabela-verdade das Proposição P e Q.

Observe que P equivale a Q.


P. 25 Seção 1.7

A Tabela 1.27 ilustra algumas das equivalências mais importantes.

Equivalência Nome
¬(p ∧ q) ⇐⇒ (¬p ∨ ¬q) Lei de De Morgan
¬(p ∨ q) ⇐⇒ (¬p ∧ ¬q) Lei de De Morgan
(p ∨ q) ⇐⇒ (q ∨ p) Comutação
(p ∧ q) ⇐⇒ (q ∧ p) Comutação
(p ∨ (q ∨ r))) ⇐⇒ ((p ∨ q) ∨ r) Associação
(p ∧ (q ∧ r)) ⇐⇒ ((p ∧ q) ∧ r)) Associação
(p ∧ (q ∨ r)) ⇐⇒ ((p ∧ q) ∨ (p ∧ r)) Distributiva
(p ∨ (q ∧ r)) ⇐⇒ ((p ∨ q) ∧ (p ∨ r)) Distributiva
p ⇐⇒ ¬¬p Dupla Negação
(p → q) ⇐⇒ (¬q → ¬p) Transposição
(p → q) ⇐⇒ (¬p ∨ q) Implicação Material
((p ∧ q) → r) ⇐⇒ (p → (q → r)) Exportação
p ⇐⇒ (p ∧ p) Tautologia
p ⇐⇒ (p ∨ p) Tautologia
p ↔ q ⇐⇒ (p → q) ∧ (q → p) Substituição
p → (q → r) ⇐⇒ (p ∨ q) → r Prova Condicional

Tabela 1.27: Principais Equivalências Lógicas.

Problema 37 Verifique se os pares de fórmulas a seguir são equivalências lógicas ou implicações


lógicas.

(a) (p ∧ q) e q;
(b) ¬(p ∧ q) e (¬p ∨ ¬q);
(c) (¬p ∨ q) e (p → q)

O vídeo a seguir traz uma breve revisão e um exercício interessante sobre equivalência lógica.

v Saiba mais
Seção 1.8 P. 26

1.8 – Exercícios Propostos sobre Lógica Proposicional

Problema 38 — FCC. Considere a proposição “Sabina estuda, mas não passa no ENEM”.
Nessa proposição. o conectivo lógico é:

(a) disjunção inclusiva.


(b) conjunção.
(c) disjunção exclusiva.
(d) condicional.
(e) bicondicional.

Problema 39 — CESGRANRIO. Sejam as proposições:

• A: Anita estuda
• B: Betina briga
• C: Carla canta

A linguagem corrente “Se Carla não canta, então não é verdade que Anita estuda e Betina
não briga” pode ser representada, na forma simbólica, por:

(a) ¬C → ¬A ∧ B.
(b) C → ¬A ∧ ¬B.
(c) C → ¬(A ∨ B).
(d) ¬C → neg(A ∧ ¬B).
(e) ¬C → ¬(A ∨ B).

Texto para as duas próximas questões.


Considere as seguintes proposições simples:
• A: andar;
• B: beber;
• C: cair;
• D: dormir.
Com relação à proposição: “Se ando e bebo, então caio, mas não durmo ou não bebo”.
Problema 40 — FGV. Transformando para a linguagem simbólica a proposição composta
anterior, teremos a seguinte estrutura lógica:

(a) (A ∧ B) → (C ∧ ¬D ∨ B).
(b) (A ∨ B) → (C ∨ ¬D) ∧ ¬B).
(c) (A ∧ ¬B) → C ∧ (¬D ∨ B).
(d) (A ∧ B) → (C ∧ ¬D) ∨ B).
(e) (A ∧ ¬B) → (C ∧ ¬D ∨ B).

Problema 41 — FGV. O número de linhas da tabela-verdade da proposição composta anterior


é igual a:

(a) 2.
(b) 4.
(c) 8.
(d) 16.
(e) 32.
P. 27 Seção 1.8

Problema 42 — CESGRANRIO. O número de linhas da tabela-verdade da proposição “Se


estudo ou não compreendo, então é falso que ou trabalho ou não durmo”, é de:

(a) 2.
(b) 4.
(c) 8.
(d) 16.
(e) 32.

Problema 43 — CESP/UnB. Observe as seguintes proposições compostas:

• 2 + 7 = 11 ou 3 não é um número primo.


• Se 2 é divisor de 15, então 3 não é divisor de 21.
• Se 3 > 5, então 7 < 5.
• π é racional ou -8 é um número inteiro.
• 2,333 · · · é uma dízima periódica e 1/3 não é.

Nesse caso, é correto afirmar que:

(a) existem 2 proposições falsas e 3 verdadeiras.


(b) existem 3 proposições falsas e 2 verdadeiras.
(c) existem 4 verdadeiras e 1 falsa.
(d) todas são verdadeiras.
(e) todas são falsas.

Problema 44 — CONSULPLAN. Qual das proposições a seguir é verdadeira?

(a) O ar é necessário à vida e a água do mar é doce.


(b) O avião é um meio de transporte ou o aço é mole.
(c) 6 é impar ou 2 + 3 6= 5.
(d) O Brasil é um país e Sergipe é uma cidade.
(e) O papagaio fala e o povo voa.

Problema 45 — CESP/UnB. Considere as afirmações a seguir:

I Uma proposição pode admitir, no máximo, duas valorações lógicas (V ou F).


II A proposição “(7 < 6) ∨ (8 − 3 > 6)” é falsa.
III A proposição “Se 91 é divisível por 7 → 65 não é múltiplo de 13” é verdadeira.

É verdadeiro o que se afirma APENAS em:

(a) I.
(b) II.
(c) III.
(d) I e II.
(e) I e III.
Seção 1.8 P. 28

Problema 46 — CESP/UnB. Considere as afirmações a seguir:

I (7 + 3 = 10) ∧ (5 − 12 = 7).
II A palavra crime é dissílaba.
III Se “lâmpada” é uma palavra trissílaba, então “lâmpada” tem acentuação gráfica.
IV (8 − 4 = 4) ∧ (10 + 3 = 13).
V Se x=4, então x+3<6.

Entre essas proposições, há exatamente:

(a) uma F.
(b) duas F.
(c) três F.
(d) quatro F.
(e) todas são F.

Problema 47 — CESP/UnB. A tabela-verdade da proposição: (A → B) ∨ (B → A) apresenta


como, como Solução:

(a) apenas valorações V.


(b) apenas valorações F.
(c) duas valorações V.
(d) uma valoração V.
(e) uma valoração F.

Problema 48 — CESP/UnB. Se a, b e c forem proposições atômicas e distintas, então a solução


da tabela-verdade da proposição: (a → ¬b) ∧ (c → ¬a), será formada por:

(a) apenas valores V.


(b) apenas valores F.
(c) mais valorações F do que V.
(d) mais valorações V do que F.
(e) mesma quantidade de valorações V ou F.

Problema 49 — CESP/UnB. A negação da proposição A, simbolizada por ¬A, será F se A for V,


e será V se A for F. Então, para todas as possíveis valorações V ou F atribuídas às proposições
A e B, é correto concluir que a proposição (¬A → ¬B) → (B → A) possui exatamente:

(a) 4 valores F.
(b) 4 valores V.
(c) 1 valor V e 3 valores F.
(d) 1 valor F e 3 valores V.
(e) 2 valores V e 2 valores F.
P. 29 Seção 1.8

Problema 50 — CESGRANRIO. Dizer que não é verdade que “José é gordo e Carlos é alto” é
logicamente equivalente a dizer que é verdade que:

(a) José não é gordo ou Carlos não é alto.


(b) José não é gordo e Carlos não é alto.
(c) José é gordo ou Carlos não é alto.
(d) Se José não é gordo, então Carlos é alto.
(e) Se José não é gordo, então Carlos não é alto.

Problema 51 — TRT 1a. Região/2008/CESPE. Utilizando as letras proposicionais adequadas


na proposição composta “Nem Antônio é desembargador nem Jonas é juiz”, assinale a opção
correspondente à simbolização correta dessa proposição.

(a) ¬(A ∧ B).


(b) (¬A) ∨ (¬B).
(c) (¬A) ∧ (¬B).
(d) (¬A) → B.
(e) ¬[A ∨ (¬B)].

Problema 52 — TRT-9R-FCC. Considere a seguinte proposição “na eleição para a prefeitura, o


candidato A será eleito ou não será eleito”. Do ponto de vista lógico, a afirmação da proposição
caracteriza:

(a) Um silogismo.
(b) Uma tautologia.
(c) Uma equivalência.
(d) Uma contingência.
(e) Uma contradição.

Problema 53 — UFBA. A negação de “hoje é segunda-feira e amanhã não choverá ” é:

(a) Hoje não é segunda-feira e amanhã não choverá.


(b) Hoje não é segunda-feira ou amanhã choverá.
(c) Hoje não é segunda-feira então amanhã choverá.
(d) Hoje não é segunda-feira nem amanhã choverá.
(e) Hoje é segunda-feira ou amanhã choverá.

Problema 54 — AFC-ESAF. Dizer que não é verdade que Pedro é pobre e Alberto é alto, é
logicamente equivalente a dizer que é verdade que:

(a) Pedro não é pobre ou Alberto não é alto.


(b) Pedro não é pobre e Alberto não é alto.
(c) Pedro é pobre ou Alberto não é alto.
(d) Se Pedro não é pobre, então Alberto é alto.
(e) Se Pedro não é pobre, então Alberto não é alto.
Seção 1.8 P. 30

Problema 55 — Vunesp. Sobre as tabelas de verdade dos conectivos de disjunção (inclusiva),


conjunção e implicação (material), assinale a alternativa correta.

(a) As conjunções só são falsas quando ambos os conjuntos são falsos.


(b) Não existe implicação falsa com antecedente verdadeiro.
(c) As disjunções são falsas quando algum dos disjuntos é falso.
(d) Só há um caso em que as implicações são verdadeiras.
(e) As implicações são verdadeiras quando o antecedente é falso.

Problema 56 — FUNCAB. A negação de “Artur ou Paulo são agentes administrativos e Mauro


mora em Brasília” é:

(a) Artur e Paulo não são agentes administrativos e Mauro mora em Brasília.
(b) Artur e Paulo não são agentes administrativos ou Mauro mora em Brasília.
(c) Artur e Paulo não são agentes administrativos ou Mauro não mora em Brasília.
(d) Artur ou Paulo não são agentes administrativos e Mauro não mora em Brasília.
(e) Artur ou Paulo não são agentes administrativos ou Mauro não mora em Brasília.

Problema 57 — FUNCAB. A negação da afirmação condicional “Se estiver fazendo sol no


feriado, eu vou à praia” é:

(a) Está fazendo sol no feriado e eu não vou à praia.


(b) Se não estiver fazendo sol no feriado, eu vou à praia.
(c) Se estiver fazendo sol no feriado, eu não vou à praia.
(d) Não está fazendo sol no feriado e eu vou à praia.
(e) Não está fazendo sol no feriado e eu não vou à praia.

Problema 58 — EBSERH. Considerando a frase “João comprou um notebook e não comprou


um celular”, a negação da mesma, de acordo com o raciocínio lógico proposicional é:

(a) João não comprou um notebook e comprou um celular.


(b) João não comprou um notebook ou comprou um celular.
(c) João comprou um notebook ou comprou um celular.
(d) João não comprou um notebook e não comprou um celular.
(e) João não comprou um notebook, então não comprou um celular.

Problema 59 — IF Sertão 2016. Dizer que “Se Paulo vai correr, então ele vai cair ” é equivalente
a:

(a) Se Paulo não vai cair, então ele não vai correr.
(b) Paulo vai cair e correr.
(c) Se Paulo não vai correr, então ele não vai cair.
(d) Paulo vai correr ou cair.
(e) Se Paulo vai cair, então ele vai correr.
P. 31 Seção 1.8

Problema 60 — FCC. Do ponto de vista da lógica, a proposição “se tem OAB, então é
advogado” é equivalente a:

(a) tem OAB ou é advogado.


(b) se não tem OAB, então não é advogado.
(c) se não é advogado, então não tem OAB.
(d) é advogado e não tem OAB.
(e) se é advogado, então tem OAB.

Problema 61 — IFMS - 2016. Levando-se em consideração os conceitos da lógica matemática,


bem como das proposições compostas, qual das alternativas a seguir é uma equivalência lógica
de “se eu estudo, tiro boa nota na prova”?

(a) Se. eu não tiro boa nota na prova, então eu estudo.


(b) Eu estudo ou tiro boa nota na prova.
(c) Eu não estudo ou tiro boa nota na prova.
(d) Eu estudo ou não tiro boa nota na prova.
(e) Eu estudo e não tiro boa nota na prova.

Problema 62 — FCC - 2016. Se a gasolina acabou ou apareceu um defeito, então o motor


apagou. Uma afirmação equivalente a esta é:

(a) a gasolina acabou ou apareceu um defeito e o motor apagou.


(b) se o motor apagou, então a gasolina acabou ou apareceu um defeito.
(c) apareceu um defeito e a gasolina acabou e o motor não apagou.
(d) a gasolina acabou e não apareceu um defeito e o motor apagou.
(e) se o motor não apagou, então não apareceu um defeito e a gasolina não acabou.

Problema 63 — FCC - 2016. Edson não gosta de frango ou Marilda gosta de feijão e gosta de
arroz. Uma afirmação que corresponda à negação lógica dessa é:

(a) Marilda não gosta de arroz ou não gosta de feijão e Edson gosta de frango.
(b) Edson gosta de frango e Marilda não gosta de feijão e não gosta de arroz.
(c) Se Edson não gosta de frango, então Marilda gosta de feijão e arroz.
(d) Se Marilda não gosta de feijão e arroz, então Edson gosta de frango.
(e) Edson gosta de arroz e Marilda gosta de frango e feijão.

Problema 64 — IBFC - 2016. De acordo com a lógica proposicional, a frase que é equivalente
a: “Se Marcos estudou, então foi aprovado” é:

(a) Marcos não estudou e foi aprovado.


(b) Marcos não estudou e não foi aprovado.
(c) Marcos estudou ou não foi aprovado.
(d) Marcos estudou se, e somente se, foi aprovado.
(e) Marcos não estudou ou foi aprovado.
Seção 1.8 P. 32

Problema 65 — FCC - 2016. Se João canta ou Maria sorri, então Josefa chora e Luíza não
grita. Uma afirmação equivalente a afirmação anterior é:

(a) Se Luíza grita e Josefa não chora, então João não canta e Maria não sorri.
(b) Se João não canta ou Maria não sorri, então Josefa não chora e Luíza grita.
(c) João canta ou Maria sorri, e Josefa não chora e Luíza grita.
(d) Se João canta, então Josefa chora e se Maria sorri, então Luíza grita.
(e) Se Luíza não grita e Josefa chora, então João canta ou Maria sorri.

Problema 66 — FCC - 2016. Se a conexão com a internet cai, então não há possibilidade de
comunicação. Uma afirmação que corresponde à negação lógica da afirmação anterior é:

(a) Se a conexão com a internet não cai, então há possibilidade de comunicação.


(b) Não há possibilidade de comunicação ou a conexão com a internet cai.
(c) A conexão da internet cai e há possibilidade de comunicação.
(d) Se há possibilidade de comunicação, então a conexão com a internet não cai.
(e) Ou a conexão com a internet cai, ou não há possibilidade de comunicação.

Problema 67 — FCC - 2016. Se João chegar bravo em casa, então Claudete foge para o quarto
e Beto não entra em casa. Uma afirmação que corresponde à negação da afirmação anterior é:

(a) João não chega bravo em casa e, Claudete não foge para o quarto ou Beto entra em casa.
(b) Se João não chega bravo em casa, então Claudete não foge para o quarto e Beto entra
em casa.
(c) João chega bravo em casa e, Claudete não foge para o quarto ou Beto entra em casa.
(d) Se Claudete não foge para o quarto ou Beto entra em casa, então João não chegou bravo
em casa.
(e) Se Claudete foge para o quarto e Beto não entra em casa, então João chegou bravo em
casa.

Problema 68 — Vunesp - 2016. Uma afirmação equivalente à afirmação - Se Glória é dançarina


ou cantora, mas não ambos, então Fábio não é ator - é:

(a) Se Fábio não é ator, então Glória é dançarina ou cantora, mas não ambos.
(b) Se Fábio é ator, então Glória não é dançarina nem cantora ou Glória é dançarina e
cantora.
(c) Se Fábio é ator, então Glória não é dançarina, mas é cantora.
(d) Se Glória não é dançarina nem cantora ou é dançarina e cantora, então Fábio é ator.
(e) Se Fábio não é ator, então Glória é dançarina, mas não é cantora ou Glória não é
dançarina, mas é cantora.

Problema 69 — FCC - 2016. Considere a afirmação: Se eu paguei o aluguel ou comprei comida,


então o meu salário entrou na conta. Uma afirmação equivalente é:

(a) Se o salário não entrou na conta, então eu não paguei o aluguel e não comprei comida.
(b) Se eu paguei o aluguel e comprei comida, então o meu salário entrou na conta.
(c) O meu salário entrou na conta e eu comprei comida e paguei o aluguel.
(d) Se o salário não entrou na conta, então eu não paguei o aluguel ou não comprei comida.
(e) Se eu não paguei o aluguel e não comprei comida, então o meu salário não entrou na
conta.
P. 33 Seção 1.9

1.9 – Raciocínio Lógico-Dedutivo


Agora, vamos discutir algumas definições importantes.
Definição 1.9.1 Silogismo é a estrutura básica de um argumento ou um raciocínio dedutivo,
o qual é formado por duas proposições denominadas premissas, das quais se tira uma terceira
que é a conclusão. A conclusão pode ser uma proposição verdadeira, sem que o silogismo seja
válido. Adicionalmente, as premissas podem ser falsas (uma ou as duas) e o silogismo válido.
Quando o silogismo não é valido, dizemos que é uma falácia ou sofisma. Logo, o silogismo está
relacionado com a forma de raciocinar, ou seja, se o raciocínio está correto. Do grego, o termo
silogismo (syllogismos) significa “conclusão” ou “inferência”.

 Exemplo 1.29 Exemplo de silogismos válidos:

(a) • (premissa 1): Todo homem é mortal.


• (premissa 2): Sócrates é homem.
• (conclusão): Sócrates é mortal.
(b) • (premissa 1): Hoje está quente ou está frio.
• (premissa 2): Hoje não está quente.
• (conclusão): Hoje está frio.
(c) • (premissa 1): Todo brasileiro é sul-americano.
• (premissa 2): Todo nordestino é brasileiro.
• (conclusão): Todo nordestino é sul-americano.
(d) • (premissa 1): 2 + 3 = 5.
• (premissa 2): 5 = 4 + 1.
• (conclusão): 2 + 3 = 4 + 1.

Definição 1.9.2 Falácia é um “falso silogismo” uma vez que consiste em uma argumentação
(raciocínio) inválida na sua construção. Assim, a falácia pode ser definida como um argumento
enganoso, uma ideia equivocada ou uma crença falsa.
 Exemplo 1.30 Exemplo de falácia:

• (premissa 1): Todos os cisnes não são negros.


• (premissa 2): Alguns pássaros são cisnes.
• (conclusão): Todos os pássaros não são negros.

Para que as proposições anteriores sejam consideradas um silogismo, a conclusão deveria ser:
Alguns pássaros não são negros. Logo, temos uma falácia.
Agora, vamos a mais uma definição importante: os quantificadores.
Quantificadores são termos que indicam a quantos elementos de uma determinada classe se
aplica uma propriedade. Existem dois quantificadores principais: o quantificador universal e o
quantificador existencial.
Definição 1.9.3 O quantificador universal indica que TODOS os elementos possuem ou
não uma determinada propriedade. O quantificador universal é representado pelo símbolo ∀.

Definição 1.9.4 O quantificador existencial indica que PELO MENOS UM (ou seja,
algum ou existe um) elemento que possui ou não uma determinada propriedade. O quantificador
existencial é representado pelo símbolo ∃.
Seção 1.9 P. 34

 Exemplo 1.31 São verdadeiras as seguintes sentenças:


• Todo múltiplo de 4 é um número par;
• Pelo menos um número par é múltiplo de 3;
• Algum número par é múltiplo de 3;
• Existe um número par que é múltiplo de 3.
 Exemplo 1.32 São falsas as seguintes sentenças:
• Todo número par é múltiplo de 4;
• Pelo menos um múltiplo de 4 é ímpar;
• Algum múltiplo de 4 é ímpar;
• Existe um múltiplo de 4 que é ímpar.
Vamos ver agora algumas observações importantes.

Qual é a negação de “todos são”?


Obs
A resposta é: “nem todos são” ou “pelo menos um não é”.
Um erro muito comum é achar que a negação de “todos são” é “todos não são”.
Porém, a negação de uma sentença quantificada universalmente é uma sentença quantificada
existencialmente.

Qual é a negação de “pelo menos um é”?


Obs
A resposta é: “nenhum é” ou “Todos não são”.
Um erro muito comum é achar que a negação de “pelo menos um é” é “pelo menos um não
é”.
Porém, a negação de uma sentença quantificada existencialmente é uma sentença quantifi-
cada universalmente.

Agora, surge uma pergunta: Como testar se um determinado argumento ou um


raciocínio dedutivo é um silogismo?
John Venn, em 1876, conseguiu discutir os silogismos através de diagramas, os quais se
tornaram um teste rápido e eficaz para validar silogismos. Ele propôs um métodos que contém
quatro passos:
Passo 1: Utilize um diagrama, no formato apresentado a seguir, onde A, B e C representam
as premissas:

Figura 1.1: Diagrama de Venn

Passo 2: Pinte as regiões vazias.


Passo 3: Coloque um “X” se a região não é vazia.
Passo 4: Se ao diagramar as premissas tivermos, automaticamente, diagramado também a
conclusão, então o argumento é valido; caso contrário, o argumento não é válido.
P. 35 Seção 1.9

Figura 1.2: Possibilidades de Utilização do Diagrama de Venn

A Figura 1.2 ilustra algumas possibilidades de utilização do Diagrama de Venn.


Seção 1.9 P. 36

Problema 70 — Negreiros & Miranda. Verifique se o argumento (raciocínio dedutivo) a seguir


é um silogismo.

• (Premissa 1): Nenhum filósofo é rico.


• (Premissa 2): Alguns matemáticos são filósofos.
• (Conclusão): Alguns matemáticos não são ricos.

Solução. Vamos montar o Diagrama de Venn.

O silogismo é verdadeiro, pois existem alguns matemáticos que não são ricos.


Problema 71 — Negreiros & Miranda. Verifique se o argumento (raciocínio dedutivo) a seguir


é um silogismo.

• (Premissa 1): Alguns quadrúpedes são leões.


• (Premissa 2): Todos os leões são carnívoros.
• (Conclusão): Alguns quadrúpedes são carnívoros.

Solução. Vamos montar o Diagrama de Venn.

A primeira premissa afirma que o conjunto dos quadrúpedes tem pelo menos um elemento
em comum com o conjunto dos leões, portanto, colocamos um “X” na região de interseção entre
os dois círculos. Contudo, essa região está dividida em duas partes pelo circulo C. É necessário
descobrir em qual dessas duas partes deve ser colocado o X. Agora, como sabemos que os leões
são carnívoros, então poderíamos pensar em colocar o X na região de interseção dos três círculos.
Porém, isso seria um equívoco, pois estamos diagramando apenas a primeira premissa, e ela não
indica que os leões de quatro pés são ou não carnívoros. Por este motivo, colocamos o X na
fronteira entre os carnívoros e os não carnívoros.
P. 37 Seção 1.9

A segunda premissa afirma que o conjunto dos leões é um sob-conjunto do conjunto dos
carnívoros. Para diagramar essa relação, pintamos a região que representa os leões que não são
carnívoros. Observe que ao diagramar a segunda premissa fizemos com que o x não representasse
um não carnívoro. Agora, podemos concluir que o X (que representa pelo menos um leão de
quatro pés) deve ficar na interseção dos três círculos.
É importante ressaltar que as premissas indicam que pelo menos um leão de quatro pés seja
carnívoro. Mas é justamente isso que a conclusão afirma. Portanto, ao diagramar as premissas,
diagramamos também a conclusão. Isso indica que se as premissas são verdadeiras, então a
conclusão também é verdadeira, ou seja, o argumento é valido. 

Problema 72 — Negreiros & Miranda. Verifique se o argumento (raciocínio dedutivo) a seguir


é um silogismo.

• (Premissa 1): Todo M é P.


• (Premissa 2): Todo S é M.
• (Conclusão): Todo S é P.

Solução. Vamos montar o Diagrama de Venn.

Para diagramar a primeira premissa (“Todo M é P”) vamos pintar toda parte de M que não
esteja contida em P (ou seja, que não esteja na interseção com P).
Para diagramar a primeira premissa (“Todo S é M”) vamos pintar toda parte de S que não
esteja contida em M (ou seja, que não esteja na interseção com M).
Observe que ao diagramar as duas premissas, a conclusão já está diagramada. Note que se
fôssemos diagramar a conclusão (“Todo S é P”) teríamos que pintar a parte de S não contida em
P. Porém, esta região já está pintada. Logo, o argumento é valido.


Problema 73 — Negreiros & Miranda. Verifique a validade dos silogismos mostrados a seguir.
Para isso, utilize o diagrama de Venn.

(a) • (Premissa 1): Alguns estudantes de matemática são excelentes alunos.


• (Premissa 2): Todos os jogadores de xadrez estudam matemática.
• (Conclusão): Todos os jogadores de xadrez são excelentes alunos.
(b) • (Premissa 1): Todo retângulo é paralelogramo.
• (Premissa 2): Todo quadrado é retângulo.
• (Conclusão): Todo quadrado é paralelogramo.
(c) • (Premissa 1): Todos os contos são tristes.
• (Premissa 2): Nenhum verso é um conto.
• (Conclusão): Nenhum verso é triste.
Seção 1.9 P. 38

Problema 74 — Negreiros & Miranda. Verifique a validade dos silogismos mostrados a seguir.
Para isso, utilize o diagrama de Venn.

(a) • (Premissa 1): Algum homem é inteligente.


• (Premissa 2): Algum homem é burro.
• (Conclusão): Algum burro é inteligente.
(b) • (Premissa 1): Nenhum A é B.
• (Premissa 2): Nenhum B é C.
• (Conclusão): Nenhum A é C.

Problema 75 — Negreiros & Miranda. Represente cada uma das seguintes proposições utili-
zando o diagrama de Venn.

(a) Alguns pintores são escultores.


(b) Todos os gatos são mamíferos.
(c) Nenhum paulista é mineiro.

Problema 76 — Negreiros & Miranda. Verifique se os silogismos seguintes são válidos ou


sofismas:

(a) • (Premissa 1): Todos os franceses são europeus.


• (Premissa 2): Descartes era francês.
• (Conclusão): Descartes era europeu.
(b) • (Premissa 1): Alguns engenheiros são professores.
• (Premissa 2): Nenhum engenheiro não comete erros.
• (Conclusão): Nenhum professor não comete erros.
(c) • (Premissa 1): Nenhum agricultor é rico.
• (Premissa 2): Todos os ricos são saudáveis.
• (Conclusão): Nenhum agricultor é saudável.
(d) • (Premissa 1): Alguns bolivianos são índios.
• (Premissa 2): Alguns índios vivem no Brasil.
• (Conclusão): Alguns bolivianos vivem no Brasil.
(e) • (Premissa 1): Todo A é B.
• (Premissa 2): Todo C é B.
• (Conclusão): Todo C é A.

Problema 77 — Negreiros & Miranda. Dadas as proposições a seguir:

I Toda mulher é boa motorista.


II Nenhum homem é bom motorista.
III Todos os homens são maus motoristas.
IV Pelo menos um homem é mau motorista.
V Todos os homens são bons motoristas.

A negação da proposição V é:

(a) I.
(b) II.
(c) III.
(d) IV.
(e) Nenhuma das alternativas.
P. 39 Seção 1.10

1.10 – Formação de Padrões e Sequências

Uma sequência é uma listagem de elementos (ou termos) de um conjunto qualquer que estão
dispostos em certa ordem.
 Exemplo 1.33 São exemplos de sequências:

• O conjunto (0, 1, 2, 3, 4, 5, · · · ) é chamado de sequência ou sucessão dos números Naturais.


• O conjunto (domingo, segunda-feira, terça-feira, quarta-feira, sexta-feira e sábado) é
chamado de sequência ou sucessão dos dias da semana.
• O conjunto (0, 2, 4, 6, 8, · · · ) é chamado sucessão ou sequência dos números pares.

Assim, podemos observar que algumas sequências obedecem uma certa lógica quantitativa.
Por exemplo, a sequência dos números pares (0, 2, 4, 6, 8, · · · ) pode ser obtida tomando-se o 0
como valor inicial e, a partir dai, somando-se o valor 2 a cada elemento anterior para obter o
próximo número da série.

• 0×2 = 2
• 2×2 = 4
• 4×2 = 6
• 6×2 = 8 · · ·

A sequência dos números pares pode ainda ser obtida fazendo 2 ∗ N , onde N é a sequência
dos números naturais.

• 0×2 = 0
• 1×2 = 2
• 2×2 = 4
• 3×2 = 6
• 4×2 = 8 · · ·

Portanto, é possível encontrar o próximo número de uma sequência descobrindo-se o padrão


que a determina.
Problema 78 — Negreiros & Miranda. A seguir são apresentadas diversas sequências numéricas
que obedecem certa lógica quantitativa. Para cada sequência, tente descobrir a lei que norteia
a sua construção e assim determinar o próximo elemento:

(a) 1,3,5,7,?
(b) 2,7,12,17,22,27,?
(c) 0,1,4,9,16,25,36,?
(d) 0,4,16,36,64,?
(e) 1,1,2,3,5,8,?
(f) 1, 3, 5, 7, 9, 11, ?
(g) 0, 2, 4, 6, 8, 10, ?
(h) 3, 6, 9, 12, ?
(i) 1, 4, 9, 16, ?
(j) 37, 31, 29, 23, 19, 17, ?
Seção 1.10 P. 40

Problema 79 — Negreiros & Miranda. Observe as figuras a seguir e desenhe a próxima figura
da sequência. Em seguida, escreva a sequência numérica formada pelas figuras.

Problema 80 — Negreiros & Miranda. As figuras a seguir possuem números que representam
uma sequência lógica. Complete com o número que está faltando.

Problema 81 Observe a sequência a seguir e determine o próximo número:


16, 15, 13, 12, 10, 9, · · ·

Problema 82 Qual o valor de x na sequência 1, 2, 6, 39, x?

Problema 83 Determine x e y nas seguintes sequências:

(a) 6, 9, 18, 21, 42, 45, x, y


(b) 7, 10, 9, 12, 11, x, y
(c) 2, 3, 5, 7, 11, 13, 17, x, y
(d) 0, 1, 4, 9, 16, 25, 36, 64, x, y
(e) 2, 6, 18, 54, 162, x, y
(f) 1, 5, 9, 13, 17, 21, x, y
(g) 1, 3, 6, 10, 15, 21, x, y
(h) 3, 9, 27, 81, 243, x, y
P. 41 Seção 1.10

Problema 84 — PHILLIPS 2010. Mesmo trabalhando, Gabriel sempre gosta de criar, durante o
expediente, algum problema de lógica e matemática para desenvolver o seu raciocínio. Como
recepcionista de um Hotel, um de seus passatempos favoritos é reorganizar o quadro de chaves
na sequência mostrada na figura abaixo. Dessa vez, ele pediu ao seu colega Marcos para
decifrar a sequência. Ajude o Marcos com a tarefa, substituindo os pontos de interrogação por
números?

10 3 6 7 ?
1 ? 5 4 9

Tabela 1.28: Quadro de Chaves.

Problema 85 Os números da sequência numérica (1, 2, 3, 2, 4, 6, 3, 6, 9, 4, 8, 12, · · · ) são


obtidos por meio de determinada lógica de formação. Sendo assim, os três próximos números
dessa sequência, imediatamente posteriores ao número 12 e que seguem a mesma lógica de
formação, são:

(a) 12, 8, 4
(b) 20, 25, 30
(c) 5, 10, 15
(d) 6, 12, 19
(e) 10, 15, 20

Problema 86 Temos uma sequência de quatro números inteiros positivos, (a1 , a2 , a3 , a4


), em que cada número é obtido somando 3 unidades ao número que antecede na sequência.
Sabendo que a soma dos números da sequência é igual a 106, podemos afirmar corretamente
que o valor de a1 é igual a:

(a) 19
(b) 22
(c) 25
(d) 28

Problema 87 A partir da sequência definida por an = (8, 24, 12, 36, 18, 54, a7 , a8 ), assinale a
√ √
alternativa que apresenta o correto valor para 3 a7 ∗ a8 .

(a) 26
(b) 27
(c) 28
(d) 29

Problema 88 — Vunesp 2012. Uma criança possui várias etiquetas adesivas nas cores: amarelo
[A] e vermelho [V], e quer enfeitar todas as 96 páginas de seu caderno, colando uma etiqueta em
cada página, começando com a primeira página onde será colada uma etiqueta A e obedecendo
a seguinte ordem de cores: A A A V V A A A V V · · · e assim sucessivamente, isto é, três
páginas com uma etiqueta amarela em cada uma, seguida por duas páginas com uma etiqueta
vermelha em cada uma. Como ela só dispõe de 30 etiquetas vermelhas, então, a última etiqueta
vermelha será colada no seu caderno na página:
Seção 1.10 P. 42
(a) 74
(b) 75
(c) 76
(d) 77
(e) 78

Problema 89 — FUNRIO 2012. A sequência (5, 13, 25, 41, X, 85) obedece a uma regra lógica.
O termo X dessa série é:

(a) 45
(b) 51
(c) 57
(d) 61
(e) 69

Problema 90 — FUNRIO 2012. A sequência 1, 4, 10, 22, 46, 94, · · · , obedece a uma regra
lógica. O termo dessa série subsequente ao número 94 é:

(a) 112
(b) 130
(c) 165
(d) 190
(e) 215

Problema 91 — FCC 2012. Observe que em cada um dos dois primeiros pares de palavras a
seguir, a palavra da direita foi formada a partir da palavra da esquerda, utilizando-se um
mesmo critério.
DIANA - ANDA
CRATERA - ARCA
BROCHES - ?
Com base nesse critério, a palavra que substitui corretamente o ponto de interrogação é:

(a) RECO
(b) ROBE
(c) SECO
(d) SEBO
(e) SOBE

Problema 92 — SPPREV 2012. O próximo número da sequência –2, 6, –18, 54 · · · é:

(a) -72
(b) -80
(c) -108
(d) -162
(e) -364
P. 43 Seção 1.10

Problema 93 — TRT 6R 2012. Em uma praia chamava a atenção um catador de cocos (a água
do coco já havia sido retirada). Ele só pegava cocos inteiros e agia da seguinte maneira: o
primeiro coco ele colocava inteiro de um lado; o segundo ele dividia ao meio e colocava as
metades em outro lugar; o terceiro coco ele dividia em três partes iguais e colocava os terços
de coco em um terceiro lugar, diferente dos outros lugares; o quarto coco ele dividia em quatro
partes iguais e colocava os quartos de coco em um quarto lugar diferente dos outros lugares.
No quinto coco agia como se fosse o primeiro coco e colocava inteiro de um lado, o seguinte
dividia ao meio, o seguinte em três partes iguais, o seguinte em quatro partes iguais e seguia
na sequência: inteiro, meios, três partes iguais, quatro partes iguais, inteiro, meios, três partes
iguais, quatro partes iguais. Fez isso com exatamente 59 cocos quando alguém disse ao catador:
eu quero três quintos dos seus terços de coco e metade dos seus quartos de coco. O catador
consentiu e deu para a pessoa:

(a) 52 pedaços de coco.


(b) 55 pedaços de coco.
(c) 59 pedaços de coco.
(d) 98 pedaços de coco.
(e) 101 pedaços de coco.

Problema 94 — TRT 6R 2012. Cinco pessoas caminham enfileiradas. A primeira, chamada


de número 1, a segunda chamada de número 2, a terceira chamada de número 3, a quarta
chamada de número 4 e a quinta chamada de número 5. Após 15 minutos de caminhada,
a número 1 para, deixa todas as outras passarem por ela e continua a caminhada atrás de
todas as outras. Após 20 minutos, as duas primeiras pessoas da fila, a número 2 e a número
3, param e deixam que todos os outros, ordenadamente, passem a frente, e seguem atrás de
todos, mantendo a ordenação, com o 2 à frente do 3. E assim essa alternância segue. Após
o intervalo de 15 minutos, a pessoa a frente para e os demais passam. Em seguida, após o
intervalo de 20 minutos, as duas pessoas que estavam à frente param e deixam todas as outras
passarem e continuam a caminhada atrás delas, e na mesma ordem em que estavam entre si.
Volta a acontecer o intervalo de 15, depois o de 20, volta o de 15 e segue. Essa alternância
ocorre ordenadamente, com todas as componentes e da maneira como foi descrita durante 2
horas e 40 minutos. Após esse tempo, todos param. A pessoa que, nesse momento de parada,
ocupa a última posição na fila é a chamada de número:

(a) 1.
(b) 2.
(c) 3.
(d) 4.
(e) 5.

Problema 95 Escreva os cinco primeiros termos da sequência definida pela fórmula: nˆ2 + 1,
onde N é a sequência dos números naturais.

Problema 96 Determine o próximo número das sequências a seguir.

(a) 19, 22, 25, 28, ?


(b) 42, 38, 34, 30, ?
(c) 12, 24, 48, 96, ?
(d) 240, 120, 60, 30, ?
Seção 1.10 P. 44

Problema 97 Determine o próximo número das sequências a seguir.

(a) 6, 7, 9, 12, 16, 21, x


(b) 3, 6, 8, 16, 18, 36, x
(c) 5, 8, 7, 10, 9, 12, 11, x
(d) 2, 7, 17, 32, 52, x
(e) 4, 9, 15, 23, 34, x
(f) 5, 10, 17, 26, 37, x

Problema 98 — TCE SP 2012. Observe as sequências de letras obtidas com uma mesma ideia.
I. A; B; D; G; K; P.
II. B; C; E; H; L; Q.
III. C; D; F; I ; M; R.
IV. D; E; ?; J; ?; S.
Utilizando a mesma ideia, a sequência IV. deverá ser completada, respectivamente, com as
letras:

(a) F e K.
(b) G e O.
(c) G e N.
(d) O e Q.
(e) R e U.

Problema 99 — TCE SP 2012. A sequência D é obtida com a seguinte regra: exceto o primeiro
termo, que é escolhido aleatoriamente, todos os outros são obtidos com este cálculo: o dobro
do termo anterior menos dois. A sequência T é obtida com a seguinte regra: exceto o primeiro
termo, que é escolhido aleatoriamente, todos os outros são obtidos com este cálculo: o triplo
do termo anterior menos três. Suponha a sequência T e a sequência D ambas com o primeiro
termo igual a 3. A diferença entre o quinto termo de T e o quinto termo de D é:

(a) 90.
(b) 94.
(c) 97.
(d) 105.
(e) 112.

O site a seguir traz uma série de jogos e exercícios envolvendo padrões e sequências.

v Saiba mais
P. 45 Seção 1.11

1.11 – Jogos Lógicos


Os jogos lógicos (ou jogos de raciocínio) constituem uma forma interessante de propor
problemas envolvendo raciocínio lógico e matemático. Eles estimulam a investigação de novas
soluções, a criatividade e a autonomia do aprendiz. Propiciam a simulação de situações-problema
que exigem soluções concretas e estruturadas, o que incentiva o planejamento de ações. Desta
forma, eles podem ser importantes aliados da estruturação do pensamento computacional.
Então, vamos logo ver um exemplo.
Problema 100 — Negreiros & Miranda. Um crime foi cometido por uma pessoa de um grupo
de cinco suspeitos: André, Bernardo, Caio, Daniel e Edu. Perguntados sobre quem era o
culpado cada um deles afirmou:

• André: “Sou inocente”


• Bernardo: “Caio é o culpado”
• Caio: “Edu é o culpado”
• Daniel: “André disse a verdade”
• Edu: “Bernardo mentiu”

Sabendo-se que apenas um dos suspeitos mentiu e que todos os outros disseram a verdade,
pode-se concluir que o culpado é?

Solução. Primeiramente, temos como informação que apenas um mentiu e que os outros
quatro falaram a verdade.
Ao ler as afirmações vemos que duas são contraditórias: Caio e Edu não podem ser
culpados ao mesmo tempo, pois apenas uma pessoa cometeu o crime.
Assim, ou Bernardo está mentindo ou Caio está mentindo, e os outro falam a verdade.
Podemos então assinalar V (verdadeiro) ou F(falso) nas afirmações:

1a Opção 2a Opção
André: V André: V
Bernardo: V Bernardo: F
Caio: F Caio: V
Daniel: V Daniel: V
Edu:V Edu:V

Tabela 1.29: As Duas Opções Possíveis para o Problema.

Agora, comparando os valores lógicos de V ou F com as afirmações, temos que:


Analisando a 1a Opção: André: “Sou inocente” (V) ok!
Bernardo: “Caio é o culpado” (V) ok!
Caio: “Edu é o culpado” (F) ok!
Daniel: “André disse a verdade” (V) ok!
Edu: “Bernardo mentiu” (V) Note que isso não é, pois já concluímos que Bernardo falou a
verdade.
Analisando a 2a Opção: André: “Sou inocente” (V) ok!
Bernardo: “Caio é o culpado” (F) ok!
Caio: “Edu é o culpado” (V) ok!
Daniel: “André disse a verdade” (V) ok!
Edu: “Bernardo mentiu” (V) ok!
Como não houve nenhuma contradição, concluímos que Bernardo realmente mentiu, então
Caio não é o culpado e Edu é o culpado.
Seção 1.11 P. 46

Resposta: Edu é o culpado!



Vamos ver mais um exemplo. Agora, observe os seguintes grupos de palavras:

I Seca, peca, saco, naco, taco;


II Carro, barro, morte, sorte, porte;
III Pelo, zelo, mente, pente, dente;
IV Pote, mote, porte, toco, reco;
V Cama, fama, rama, manda, anda.

Para responder as questões, considere as colocações abaixo:

• As primeiras duas palavras de cada linha rimam;


• As três últimas palavras de cada linha rimam;
• Cada palavra de uma linha começam com uma letra diferente;
• Cada linha contém palavras com o mesmo número de letras.

Problema 101 Que linha satisfaz todas as condições dadas?

Solução. Observe que a única linha que satisfaz todas as condições é a linha II. 

Problema 102 Qual das substituições a seguir tornaria outra linha aceitável?

(a) Caco, no lugar de saco, no conjunto I.


(b) Corte, no lugar de sorte, no conjunto II.
(c) Gente, no lugar de pente, no conjunto III.
(d) Lote, no lugar de pote, no conjunto IV.
(e) Onda, no lugar de fama, no conjunto V.

Solução. Observe que a única alteração que irá fazer com que mais uma linha atenda todas
as condições é Caco, no lugar de saco, na linha I. Então, a resposta é a alternativa (a). 

Problema 103 Seguindo as mesmas condições, que palavra completa de maneira adequada a
linha a seguir?
Jeca beca ? cota nota

(a) Pino.
(b) Seta.
(c) Bota.
(d) Lota.
(e) Jota.

Solução. Observe que a única palavra que irá completar a linha de maneira a atender todas
as condições é Lota. A linha completa ficaria: jeca beca lota cota nota. Então, a resposta é a
alternativa (d). 
P. 47 Seção 1.11

Vamos ver mais um exemplo.


Problema 104 — FGV. Os computadores estão presentes na vida da maioria das pessoas.
Para não ficar desatualizado, o Sr. Aderbal deseja comprar um computador pessoal. Esse
computador, para satisfazer suas necessidades, precisa ser muito rápido. Sabe-se que, além do
processador, todos os periféricos influenciam no desempenho geral do computador. Caso o Sr.
Aderbal compre um Core i7 3,2 GHz, um dos processadores mais rápidos do mercado, pode-se
concluir que:

(a) Com certeza o computador atenderá suas necessidades.


(b) Pode ser que esse computador atenda suas necessidades.
(c) Esse computador não atenderá suas necessidades.
(d) Possuindo uma placa de vídeo, este computador com certeza atenderá suas necessidades.
(e) As alternativas (b) e (d) estão corretas.

Solução. Primeiro, vamos analisar o texto cuidadosamente:


• Os computadores estão presentes na vida da maioria das pessoas: Essa frase não
traz nenhuma informação relevante para a solução do problema.
• Para não ficar desatualizado, o Sr. Aderbal deseja comprar um computador
pessoal: Essa afirmativa também não traz nenhuma informação relevante para a solução
do problema.
• Esse computador, para satisfazer suas necessidades, precisa ser muito rápido:
Nessa frase, há uma afirmação relevante: o computador que o Sr. Aderbal deseja comprar
precisa ser muito rápido para satisfazer suas necessidades. Assim, não pode ser qualquer
computador. Porém, não sabemos o quão rápido o computador precisa ser.
• Sabe-se que, além do processador, todos os periféricos influenciam no desem-
penho geral do computador: Essa afirmação indica que o processador e os periféricos
são os componentes que influenciam no desempenho do computador. Então, diversos
componentes influenciam o desempenho geral do computador. Mesmo não sabendo que
periféricos são esses ou para que são utilizados.
• Caso o Sr. Aderbal compre um Core i7 3,2 Ghz, um dos processadores mais
rápidos do mercado · · · : Aqui temos uma afirmação importante. O Core i7 3,2 GHz é
um dos processadores mais rápidos do mercado.
Após interpretar cuidadosamente o texto, podemos retornar às alternativas da questão:

(a) Com certeza o computador atenderá suas necessidades. Isso não podemos afirmar, pois não
sabemos quais são as necessidades do Sr. Aderbal.
(b) Pode ser que esse computador atenda suas necessidades. Sim, pode ser. Essa alternativa
apresenta uma possibilidade real, que pode atender as necessidades do Sr. Aderbal.
(c) Esse computador não atenderá suas necessidades. Não sabemos as necessidade do Sr.
Aderbal, mas sabemos que existe uma possibilidade de que o computador atenda suas
necessidades. Portanto, não podemos afirmar com certeza que esse computador não atenderá
o Sr. Aderbal.
(d) Possuindo uma placa de vídeo, este computador com certeza atenderá suas necessidades. O
texto não traz nenhuma informação sobre a importância ou necessidade de uma placa de
vídeo. Logo, não podemos afirmar nada a esse respeito.
(e) As alternativas (b) e (d) estão corretas. Como observado anteriormente, nada podemos
afirmar sobre a alternativa (d).

Portanto, a resposta é a letra (b).



Seção 1.12 P. 48

1.12 – Exercícios Propostos sobre Jogos Lógicos

Problema 105 — SERATES 1998. Quatro amigos vão ao museu e um deles entra sem pagar.
Um fiscal quer saber quem foi o penetra. Ao serem interrogados pelos fiscal, eles afirmaram:

• Eu não fui, diz o Benjamim.


• Foi o Pedro, diz o Carlos.
• Foi o Carlos, diz o Mário.
• O Mário não tem razão, diz o Pedro.

Sabe-se que só um deles mentiu. Quem não pagou a entrada?

Problema 106 — MORGADO; CESAR 2008. Ana, Beatriz, Célia e Dora apostaram uma corrida.
Ana disse: Célia ganhou, Beatriz chegou em 2o lugar.
Beatriz disse: Célia chegou em 2o lugar e Dora, em 3o .
Célia disse: Dora foi a última; Ana, a 2a .
Cada uma das meninas disse uma verdade e uma mentira.
Qual a colocação de cada menina?

Problema 107 — SERATES 1998. Roberto, Toni e Hipácia são irmãos. Indagados sobre a
veracidade das afirmações dos três, obteve-se as seguintes declarações:

• “Hipácia mente”, diz Roberto.


• “Toni mente”, diz Hepácia.
• “Roberto e Hipácia mentem”, diz Toni.

Quem é então que fala a verdade?

Problema 108 — MORGADO; CESAR 2008. Quatro suspeitos de praticar um crime fazem as
seguintes declarações:

• João: Carlos é o criminoso.


• Pedro: eu não sou criminoso.
• Carlos: Paulo é o criminoso.
• Paulo: Carlos está mentindo.

Sabendo que apenas um dos suspeitos disse a verdade, determine quem é o criminoso e quem
falou a verdade.

Problema 109 — MORGADO; CESAR 2008. Na porta da minha casa, passam dois ônibus, em
A e outro B. Um deles passa pelo Ministério da Fazenda; o outro, não. Na casa ao lado da
minha, moram dois irmãos. Um só diz a verdade, outro só diz mentira. Ao indagar sobre qual
ônibus tomar para chegar ao Ministério da Fazenda, um dos irmãos me disse: “Se meu irmão
estivesse aqui, mandaria você tomar o ônibus A”. Que ônibus devo tomar?
P. 49 Seção 1.12

Problema 110 — MORGADO; CESAR 2008. A princesa Aqualtune tinha 3 turbantes: A, B


e C. Ela pintou um de vermelho, um de branco e outro de azul, não necessariamente nessa
ordem. Somente uma das afirmativas a seguir é verdadeira:

I A é vermelho.
II B não é vermelho.
III C não é azul.

Qual a cor de cada turbante?

Problema 111 — AFTN. Aline, Bianca e Camila, são três amigas que têm os carros, não
necessariamente nesta ordem, um Gol, um Uno e um Pálio. Um dos carros é prata, o outro
vermelho e o outro preto. O carro de Aline é o prata; O carro de Camila é o pálio; O carro de
Bianca não é vermelho e não é o Gol. As cores do Gol, do Uno e do Pálio são, respectivamente:

(a) prata, vermelho e preto


(b) preto, prata e vermelho
(c) preto, vermelho e prata
(d) prata, preto e vermelho
(e) vermelho, preto e prata

Problema 112 — AFTN. Um estudante deseja realizar um plano de estudos individuais durante o
semestre. Para atingir seu objetivo deve realizar os procedimentos que seguem, em determinada
ordem. Depois de examinar os procedimentos listados, assinale a alternativa de resposta que
julgar traduzir a ordem correta.

I Montagem de um plano de estudos para cada disciplina (matéria) e elaboração de um


cronograma;
II Classificação das disciplinas em função do grau de dificuldade e da importância de cada
uma;
III Levantamento das disciplinas do semestre;
IV Execução; condições, controle.

(a) I, II, III, IV.


(b) II, I, IV, III.
(c) V, II, I, III.
(d) III, II, IV, I.
(e) III,II,I,IV.

Problema 113 — www.somatematica.com.br. Duas salas estão ligadas entre si por um corre-
dor. Na primeira sala existem 3 lâmpadas (a, b, c), que estão ligadas a 3 interruptores (1, 2, 3)
localizados na segunda sala. Como saber que interruptor corresponde a cada lâmpada tendo
só uma oportunidade de passar de uma sala para a outra? Considere que não há possibilidade
de espreitar de uma sala para a outra.
Seção 1.12 P. 50

Problema 114 — www.somatematica.com.br. Tente descobrir o nome e o número do quarto


de hotel em que Fernando, Carlos e Joel estavam hospedados:

• Pessoas: Fernando, Carlos e Joel.


• Lugares: Recife, Fortaleza e Porto Seguro
• N o do quarto: 305, 419, 526.

I A pessoa de Porto Seguro deixa seu quarto no 419 para ir fazer compras.
II Uma hora depois, liga para Carlos que está hospedado em um hotel em Recife.
III Enquanto isso, Joel vê televisão no seu quarto no 526.

Problema 115 — SERATES 1997. Como colocar em linha reta três caçadores (X), três lobos
(Y), três cabras (W) e três couves (Z), sem perigo para a paz e sem perigo de destruições, não
colocando, portanto, um caçador junto a um lobo, um lobo junto a uma cabra e uma cabra
junto a uma couve e, sem manter lado a lado, os dois caçadores, dois lobos, duas cabras e duas
couves?

Para responder as duas próximas questões considere o seguinte trecho: “João é um viajante.
Para se divertir vai ao cinema, ao teatro, ao museu ou ao parque. João vai ao teatro só quando
não existe cinema na cidade. Ele sempre vai ao museu se existe um na cidade, mas ele sempre
prefere ir ao teatro do que ao parque. Quando João passou por Lazerópolis , ele foi ao teatro.
João conhecia todas as opções de lazer da cidade e saiu para se divertir somente uma vez.”
Problema 116 — SERATES 1997. Qual (is) das seguintes afirmativas é (são) verdadeira (s)?

(a) Não existe cinema em Lazerópolis;


(b) Existe um museu em Lazerópolis;
(c) Existe um parque em Lazerópolis;
(d) Não existe um museu em Lazerópolis;
(e) Não existe um parque em Lazerópolis.

Problema 117 — SERATES 1997. Quando João visitou Tediópolis ele não saiu do hotel, apesar
de conhecer todas as opções de lazer da cidade.

(a) Não existem opções de lazer em Tediópolis;


(b) Não existe teatro em Tediópolis;
(c) Não existe cinema em Tediópolis;
(d) Pode haver museu em Tediópolis;
(e) Pode haver um teatro em Tediópolis.

Problema 118 — ANPAD. Cinco CDs de músicas de estilos diferentes (clássico, popular,
sertanejo, rock e samba) estão dispostos em uma pilha. O sertanejo está abaixo do clássico e
acima do popular. O samba está acima do rock, e este está abaixo do sertanejo. O clássico e
o sertanejo estão encostados um no outro, assim como o sertanejo e o rock. Então, pode-se
afirmar que os estilos dos CDs que estão no topo e na base da pilha são, respectivamente:

(a) Clássico e popular;


(b) Clássico e rock;
(c) Samba e popular;
(d) Samba e rock;
(e) Sertanejo e popular.
P. 51 Seção 1.12

Problema 119 — SERATES 1997. Quando dois rios se unem, o que determina qual é o afluente
é o fluxo médio de cada rio. O que for menor é o afluente. Considerando que o famoso rio
Sena, símbolo nacional da França, une-se com o rio Yonne antes de cruzar Paris e seus fluxos
médios são, respectivamente, 77m3 e 95m3 , podemos inferir que:

(a) Um dos maiores símbolos nacionais da França, o rio Sena, não pode ser afluente de outro
rio.
(b) O rio que banha Paris é, na verdade, o rio Yonne e não o Sena.
(c) O critério de fluxo médio ao deve ser adotado neste caso. O Sena é o principal, devido à
sua maior extensão.
(d) O rio Sena é o rio afluente porque possui um fluxo médio inferior ao rio Yonne.
(e) O rio Yonne é o afluente porque possui um fluxo médio maior que o rio Sena.

Problema 120 — SERATES 1997. Segundo Gottfried Leibniz, no Prefácio à Ciência Geral,
“como a felicidade consiste na paz de espírito e como a duradoura paz de espírito depende da
confiança que tenhamos no futuro, e como essa confiança é baseada na ciência que devemos
conhecer da natureza de Deus e da alma”, segue-se que:

(a) Para uma duradoura paz de espírito, necessita-se ser feliz.


(b) A confiança é decorrente da felicidade.
(c) A confiança é decorrente da paz de espírito.
(d) A ciência é necessária à verdadeira felicidade.
(e) A felicidade é necessária à ciência.

Problema 121 — SERATES 1997. Para ter sucesso no próximo século um país, como o Brasil,
deve ter as seguintes características: governo estável, funcionando dentro da legalidade –
incluindo as leis comerciais – e trazendo condições previsíveis para os negócios. Uma alta taxa
de poupança interna também é desejável, pois permite que companhias e empresários tenham
acesso a financiamento a boas taxas de juros. Na China e no Sudoeste Asiático, um quarto da
renda vai para a poupança.
De acordo com o texto, a única alternativa que NÃO procede é:

(a) Governo estável, com leis comerciais que sejam seguidas ajudarão um país a ter sucesso
o próximo século.
(b) Os negócios serão facilitados, no próximo século, caso o nível de poupança interna do
Brasil aumente.
(c) Na China e no sudeste Asiático a taxa de juros gera um quarto da poupança interna.
(d) A China e o sudeste Asiático têm grandes chances de obter sucesso no próximo século
devido ao alto nível de poupança interna.
(e) Boas taxas de juros podem ser conseguidas com uma poupança interna elevada.

Problema 122 — FGV. O dono de uma livraria enfrenta um problema para administrar seu
estoque. Ele precisa optar por uma metodologia que mantenha uma grande quantidade de
livros organizada, de forma que seus funcionários possam encontrar o que o cliente deseja.
Sabe-se que 100% dos livros que vende são para os alunos de um colégio de 1o e 2o graus
localizado em frente à sua loja e que, conhecendo os hábitos de seus clientes, os pequenos
estudantes, que normalmente já viram o livro que desejam mas sempre esquecem o nome do
autor e o nome do livro, a forma mais rápida e prática de organizar seu estoque atendendo
suas necessidades é:
Seção 1.12 P. 52
(a) Disciplina / Assunto / Cor da capa.
(b) Autor / Nome do Livro.
(c) Editora / Autor / Nome do livro.
(d) Assunto / Editora / Autor / Nome do Livro.
(e) Disciplina / Assunto / Editora / Autor / Nome do Livro.

Problema 123 — FGV. Dois dicionários de sinônimos e antônimos de uma mesma língua
apresentam definições diferentes para uma mesma palavra. Os dois são de autores diferentes e
produzidos na mesma época. Podemos concluir que:

(a) Os dois dicionários estão errados.


(b) Os dois dicionários estão corretos.
(c) Os dois autores são inimigos.
(d) Os dois dicionários podem ser incompletos, mas corretos.
(e) Os dois dicionários podem ser completos e corretos.

Problema 124 — Negreiros & Miranda. Para que certa dieta seja efetiva, ou seja, proporcione
perda de peso corporal à pessoa que a ela se submete, é necessário que seja administrada
exatamente como prescrita por um nutricionista qualificado. A dieta é administrada exatamente
como prescrita por um nutricionista qualificado apenas se a pessoa que a ela se submete paga
por uma consulta particular com esse profissional. Sabe-se que, em geral, nutricionistas
qualificados cobram valores de consulta acessíveis a apenas uma pequena parcela da população
brasileira. A partir das informações acima, é possível concluir que:

(a) Se uma pessoa administra a dieta exatamente como prescrita por um nutricionista
qualificado, conseguirá perder peso corporal.
(b) Uma pessoa que não possua renda elevada não poderá perder peso corporal por meio
dessa dieta.
(c) Entre as pessoas que se submeterem a essa dieta, a proporção das que possuem alta
renda deverá ser superior à proporção das que possuem baixa renda.
(d) Se uma pessoa não perde peso corporal ao administrar essa dieta, é porque não a
administrou exatamente como prescrita por um nutricionista qualificado.
(e) Se uma pessoa não paga por uma consulta particular com um nutricionista qualificado,
não perderá peso corporal ao administrar essa dieta.

Problema 125 — www.todamateria.com.br. Quatro mulheres são suspeitas de praticar um


crime. Elas fazem as seguintes declarações:

• Janaína: Cacilda é a criminosa.


• Penélope: eu não sou criminosa.
• Cecília: Paulete é a criminosa.
• Paulete: Cacilda está mentindo.

Sabendo que apenas uma das suspeitas está mentindo, determine quem é a criminosa.

(a) Janaína.
(b) Penélope.
(c) Cecília.
(d) Paulete.
P. 53

Fundamentos Matemáticos para a


2 | Computação
Este capítulo tem por finalidade resgatar e consolidar conceitos fundamentais da matemática que
são comumente utilizados na área de computação. O surgimento e o desenvolvimento da ciência
da computação estão completamente entrelaçados com a matemática. As principais disciplinas da
ciência da computação, tais como algoritmos, estruturas de dados, bancos dedados, computação
gráfica, redes de computadores, compiladores, linguagens de programação, inteligência artificial,
dentre outras, baseiam-se fortemente na matemática. Desta forma, um profissional da área da
computação que possui sólidos conhecimentos em matemática será capaz de solucionar problemas
complexos, desenvolvendo soluções claras, bem estruturadas, inovadoras, corretas e eficientes.
Logicamente, as empresas buscam e valorizam profissionais com esse perfil. Assim, a matemática
é a melhor amiga da computação e dos profissionais de sucesso. Vamos fazer amizade? Vamos
estreitar nossos laços de amizade com a matemática? Vamos nessa! Partiu!

2.1 – Expressões Aritméticas


Aritmética é a parte da matemática que lida com as operações numéricas: soma, subtração,
divisão e multiplicação. O estudo da aritmética é importante porque, para que seja possível resolver
problemas mais complexos, é necessário compreender bem essas quatro operações matemáticas.
Além disso, essas operações são muito utilizadas em situações do cotidiano, ou seja, do dia a dia.
Por exemplo, você precisa somar os valores dos produtos em uma compra na padaria a fim de
saber o valor total a pagar, você precisa calcular quanto deve ser o seu troco e, talvez, dividir o
valor do refrigerante São Geraldo de 2 litros com os amigos.
Os operadores aritméticos definem as operações aritméticas que podem ser realizadas
sobre os números inteiros e reais.

• + (adição)
• − (subtração)
• ∗ ou × ou . (multiplicação)
• / ou : (divisão)

Na prática, é comum que uma única expressão aritmética inclua várias operações. Neste
sentido, é fundamental saber qual operação deverá ser executada primeiro. Em uma expressão
aritmética, deve-se resolver primeiro: i) parênteses ( ), colchetes [ ] e chaves { }, ii) potência ou
raiz, iii) multiplicação ou divisão e, iv) soma ou subtração.
Vamos resolver alguns exercícios bem simples.
Problema 126 Resolva a expressão: 2 + 6 x 3 - 7 – 8 / 2

Solução. Inicialmente, faça as multiplicações e/ou divisões: 2 + 6 x 3 - 7 - 8 / 2


Em seguida, execute as somas ou subtrações: 2 + 18 -7 - 4 = 20 – 11 = 9 

Problema 127 Resolva a expressão: 5 – (4+2) + 1

Solução. Primeiro, resolva os parênteses: 5 – (4+2) + 1


Siga o cálculo com as chaves: 5 – 6 + 1 = -1 + 1 = 0 
Seção 2.1 P. 54

Problema 128 Resolva a expressão: -1 + [7 – 8 + (3 – 5)]

Solução. Inicialmente, resolva os parênteses: -1 + [7 – 8 + (3 – 5)]


Em seguida, calcule os colchetes: -1 + [7 – 8 – 2]
Por fim, siga o cálculo com as chaves: -1 – 3 = -4 
Vamos lembrar agora alguma propriedades interessantes das operações aritméticas:

• a + b = b + a;
• (a + b) + c = a + (b + c);
• se a < b, então a + c < b + c;
• se a + c < b + c, então a < b;
• se a + c = b + c, então a = b;
• a < b e c < d, então a + c < b + d;
• Se a × b = 0, então a = 0 ou b = 0;
• a × b = b × a;
• a × (b × c) = (a × b) × c;
• (a + b) × c = a × c + b × c;
• c x (b - a) = c x b - c x a;
• Se a < b e c > 0, então c × a < c × b;

Problema 129 Resolva a expressão: 33 + 23 - 3 x 2

Solução. Primeiro passo: resolvemos as potências.


33 + 23 − 3x2 = 27 + 8 − 3x2
Segundo passo: resolvemos a multiplicação.
27 + 8 − 3x2 = 27 + 8 − 6
Terceiro passo: como soma e subtração são de mesma prioridade, resolvemos a soma primeiro,
pois aparece antes da subtração.
27 + 8 − 6 = 35 − 6
Quarto passo: resolvemos a última operação, que é a subtração.
35 − 6 = 29
Portanto, 33 + 23 − 3x2 = 29


O vídeo a seguir traz a resolução de alguns problemas envolvendo expressões aritméticas.

v Saiba mais
P. 55 Seção 2.2

2.2 – Aritmética Modular


Quando dividimos dois inteiros, temos uma equação na seguinte forma:
A
= Q resto R (2.1)
B
Note que:

• A é o dividendo;
• B é o divisor;
• Q é o quociente;
• R é o resto;

Muitas vezes estamos interessados somente no valor do resto da divisão de A por B. Nesses
casos, podemos utilizar o operador resto (do inglês modulo, abreviado como mod). Usando os
mesmos A, B, Q e R descritos anteriormente, podemos escrever:

A mod B = R (2.2)
Podemos ler essa expressão como A módulo B é igual a R, onde R é o módulo (ou resto) da
divisão de A por B.
Vamos ver um exemplo:
Problema 130 Calcule o valor de 13 mod 5.

Solução. 135
= 2 resto 3
Logo, 13 mod 5 = 3.

A operação módulo tem um comportamento interessante, que se assemelha a um relógio.
Vejamos no que resulta a divisão de números consecutivos por 3.
0
3
= 0 resto 0
1
3
= 0 resto 1
2
3
= 0 resto 2
3
3
= 1 resto 0
4
3
= 1 resto 1
5
3
= 1 resto 2
6
3
= 2 resto 0
O resto começa em 0 e, em seguida, vai sendo incrementado de 1 em 1, até que seja um a
menos do que o número pelo qual estamos dividindo. Depois disso, a sequência se repete.
Desta forma, podemos usar círculos para visualizar o operador módulo.
Nós escrevemos 0 no topo de um círculo e, continuando no sentido horário, escrevemos os
números inteiros 1, 2 · · · até o valor do quociente menos um.
Por exemplo, se calcularmos os valores de 0 mod 12 até 12 mod 12, chegaríamos a um relógio
convencional.
A partir dessa característica, podemos conceber um método prático e rápido para calcular o
resultado de A mod B.

(a) Construa este relógio para o tamanho B;


(b) Inicie no 0 e mova-se em volta do relógio por A passos;
(c) Onde pararmos será nossa solução.

Se o número é positivo, vamos no sentido horário, se é negativo, nós vamos no sentido


Obs anti-horário.
Seção 2.2 P. 56

Figura 2.1: Relógio Convencional

Problema 131 Calcule 8 mod 4.

Solução. Construa um relógio com os números (ponteiros) 0, 1, 2 e 3. Inicie no 0 e, no


sentido horário, passe pelos ponteiros 8 vezes, o que vai resultar em: 1, 2, 3, 0, 1, 2, 3, 0. Observe
que terminamos no ponteiro 0. Logo, 8 mod 4 = 0. 

Problema 132 Calcule 7 mod 2.

Solução. Construa um relógio com os números (ponteiros) 0 e 1. Inicie no 0 e, no sentido


horário, passe pelos ponteiros 7 vezes, o que vai resultar em: 1, 0, 1, 0, 1, 0, 1. Observe que
terminamos no ponteiro 1. Logo, 7 mod 2 = 1. 

Problema 133 Calcule -5 mod 3.

Solução. Construa um relógio com os números (ponteiros) 0, 1 e 2. Inicie no 0 e, no sentido


anti-horário, passe pelos ponteiros 5 vezes, o que vai resultar em: 2, 1, 0, 2, 1. Observe que
terminamos no ponteiro 1. Logo, -5 mod 3 = 1. 
Generalizando, se temos A mod B e somarmos A a um múltiplo de B, iremos terminar na
mesma posição. Assim:

A mod B = (A + K ×B) mod B para qualquer inteiro K. (2.3)


 Exemplo 2.1 Vamos ver um exemplo.
3 mod 10 = 3
13 mod 10 = 3
23 mod 10 = 3
33 mod 10 = 3
43 mod 10 = 3

Por fim, vale destacar que muitas linguagens de programação possuem um operador
Obs mod, que, em geral, é representado pelo símbolo %. Assim, nestas linguagens 8 mod 4 é
representado por 8%4.
P. 57 Seção 2.2

Em algumas linguagens, se você tentar calcular o módulo de um número negativo, você


Obs irá obter como resultado um número negativo. Se você calcular o resultado de um número
negativo. Por exemplo, −5%3 = −2.

Problema 134 Com relação ao resto da divisão entre dois números inteiros, assinale a alterna-
tiva verdadeira:

(a) O resto r de uma divisão sempre será menor que o quociente q dessa operação, ou seja,
sempre será verdade que r < q.
(b) O resto r da divisão entre dois números inteiros iguais sempre será maior que zero.
(c) O resto r da divisão de x por y sempre será igual a zero quando y = xn, com n
pertencendo ao conjunto dos números naturais.
(d) O resto r de uma divisão será sempre menor que 10.
(e) Quando o resto r da divisão não for igual a zero, sempre será possível continuar o cálculo
e, mesmo assim, obter resultados inteiros.

Problema 135 Em uma balada, cinco “vetins” ficaram na mesma mesa. Ao final do “rolezinho”
a conta deu um total de R$ 152,00. A conta foi dividida igualmente entre eles. “Pirambu”, um
dos “vetins”, sugeriu dar o resto dessa divisão de gorjeta para o garçom, seu Gérson. Depois de
pagarem a conta, os “vetins” solicitaram um veículo por meio de um aplicativo de transporte
particular, a fim de retornarem para as suas áreas. O valor da corrida deu R$ 79,00. Eles
decidiram dividir a conta entre eles e dar o resto dessa divisão de gorjeta para o motorista,
seu Nélson. Assinale a alternativa correta:

(a) Como o valor gasto na balada foi bem maior que o valor gasto na “corrida”, o garçom
ganhou uma gorjeta maior que o motorista.
(b) A gorjeta do seu Gérson foi de R$ 2,00, assim como a gorjeta do seu Nélson.
(c) A gorjeta de ambos, Gérson e Nélson, foi de R$ 4,00.
(d) Como as divisões foram exatas, nem seu Gérson e nem seu Nélson ganharam gorjeta.
(e) A gorjeta do se Gérson foi menor que R$ 5,00, e a gorjeta do seu Nélson foi maior que
R$ 0,00.

O vídeo a seguir traz uma breve introdução à aritmética modular.

v Saiba mais
Seção 2.3 P. 58

2.3 – Equações e Inequações de Primeiro Grau

2.3.1 – Equações de Primeiro Grau

Equações são expressões algébricas que possuem uma igualdade. Essas expressões são chamadas
de algébricas porque possuem pelo menos uma incógnita, que é um número desconhecido
representado por uma letra. As equações relacionam os termos do primeiro membro aos termos
do segundo membro por meio de uma igualdade.
 Exemplo 2.2 Vamos ver um exemplo de uma equação:
4x + 2x − 7x=16 − 5x
Termo é o nome que se dá ao produto de algum número por alguma letra. Para identificá-los,
basta procurar pelas multiplicações separadas por sinais de adição ou subtração. No exemplo
anterior, os termos são:

• 4x
• 2x
• -7x
• 16
• -5x

Nas equações, o primeiro e segundo membros são separados pela sinal de igualdade. Todos
os termos dispostos à esquerda da igualdade compõem o primeiro membro da equação. Todos
os termos dispostos à direta da igualdade determinam o segundo membro de uma equação ou
inequação. No exemplo anterior, teríamos:

• Primeiro termo: 4x + 2x − 7x
• Segundo termo: 16 − 5x

O sinal de igual é utilizado quando existe um valor para as incógnitas que faz com que
o resultado dos cálculos propostos no primeiro membro seja igual ao resultado dos cálculos
propostos no segundo membro.
O grau de uma equação pode ser encontrado da seguinte maneira:
Se a equação possui apenas uma incógnita, então, o grau dela é dado pelo maior expoente da
incógnita. Por exemplo, o grau da equação 4x3 + 3x2 + 2x = 24 é 3.
Se a equação possui mais de uma incógnita, então, o seu grau é dado pela maior soma entre
os expoentes de um mesmo termo. Por exemplo, o grau da equação 2xy + 3x2 y 2 z 2 = 0 é 6.
 Exemplo 2.3 Exemplos de equações:

• 4x = 16
• 2x − 8 = 32
• 18x2 = 2x−8
2x

 Exemplo 2.4 Vamos lembrar como solucionar uma equação de primeiro grau. Considere a
equação 2x − 8 = 3x − 10. Como encontrar o valor de x?

• 2x − 8 = 3x − 10
• 2x − 3x = −10 + 8
• −x = −2
• x=2
P. 59 Seção 2.3

Problema 136 Encontre o conjunto solução da equação 4(6x˘4) = 5(4x˘1).

Solução. • 4(6x − 4) = 5(4x + 1) − 5


• 24x − 16 = 20x + 5 − 5
• 24x − 20x = 5 − 5 + 16
• 4x = 16
• x = 16
4
• x=4


Problema 137 O dobro de um número adicionado com 5 é igual a 155. Determine esse número.

Solução. Como desconhecemos o número mencionado na questão, vamos chamá-lo de n.


Sabemos que o dobro de qualquer número é duas vezes ele mesmo. Logo, o dobro de n é 2n.
Agora, podemos montar a nossa equação, que fica: 2n + 5 = 155. Pronto, agora podemos
solucionar a equação e encontrar o valor de x.

• 2n + 5 = 155
• 2n = 155 − 5
• 2n = 150
• n = 150
2
• n = 75

Problema 138 Roberta é quatro anos mais velha que Bárbara. A soma das idades das duas é
44. Determine a idade de Roberta e Bárbara.

Solução. Como desconhecemos a idade da Roberta, vamos chamá-la de r. Como desco-


nhecemos a idade da Bárbara, vamos chamá-la de b. Sabe-se que Roberta é quatro anos mais
velha que Bárbara. Então, temos que: r = b + 4. Adicionalmente, sabe-se também que a soma
das idades das duas é de 44 anos. Logo, r + b = 44. Agora, podemos substituir o valor de r da
primeira equação na segunda equação.

• r =b+4
• r + b = 44
• (b + 4) + b = 44
• 2b = 44 − 4
• 2b = 40
• b = 40
2
• b = 20

Encontramos a idade da Bárbara. Bárbara tem 20 anos. Como Roberta é 4 anos mais velha que
Bárbara, então Roberta tem 24 anos. 

Problema 139 Um barbante com 50 m de comprimento foi dividido em duas partes. Se a


primeira parte era 15 m menor que a outra, quanto media a parte menor?
Seção 2.3 P. 60

Problema 140 João e Marcelo passaram alguns meses guardando dinheiro para comprar uma
bicicleta de R$ 380,00. Ao final de 6 meses, os dois irmãos haviam juntado o mesmo valor,
mas ainda faltavam R$ 20,00 para pagar a bicicleta. Determine quanto dinheiro cada um
conseguiu poupar.

Problema 141 Quando nasci, minha mãe tinha 12 cm a mais que o triplo de minha altura. Se
minha mãe tem 1,68 m, como àquela época, com que altura eu nasci?

Problema 142 Fernanda e Maria têm, respectivamente, 18 e 14 anos. Daqui a quantos anos a
soma das idades das duas atingirá 80 anos?

Problema 143 Em um torneio de tênis, são distribuídos prêmios em dinheiro para os três
primeiros colocados, de modo que o prêmio do segundo colocado é a metade do prêmio do
primeiro, e o terceiro colocado ganha a metade do que recebe o segundo. Se são distribuídos
R$ 350.000,00, quanto ganha cada um dos três premiados?

Problema 144 Em uma partida de basquete, todos os 86 pontos de um time foram marcados
por apenas três jogadores: Adão, Aldo e Amauri. Se Adão marcou 10 pontos a mais que
Amauri e 9 pontos a menos que Aldo, quantos pontos cada jogador marcou?

Problema 145 Em virtude da interdição de uma ponte, os motoristas que transitavam por um
trecho de estrada tiveram que percorrer um desvio com 52 km. Se esse desvio era 8 km maior
que o dobro do comprimento do trecho interditado, qual o comprimento do trecho original da
estrada?

Problema 146 Encontre três números pares consecutivos cuja soma dê 828.

Problema 147 Sabe-se que 6 unidades somadas ao dobro de um número x é igual a 82. Qual
é o valor de x?

(a) 24.
(b) 32.
(c) 38.
(d) 43.
(e) 48.

Problema 148 Solucione as seguintes equações do primeiro grau:

(a) 4.(x − 2) − 5.(2 − 3x) = 4.(2x − 6).


(b) 5y + 2 = 8y − 4.
(c) 4x − 2 = 3x + 4.
(d) 2x + 8 = x + 13.
(e) 5x − 1 = 3x + 11.
P. 61 Seção 2.3

2.3.2 – Inequações de Primeiro Grau

As inequações são relações muito semelhantes às equações, contudo, apresentam uma desi-
gualdade no lugar da igualdade. Assim, as inequações indicam que o resultado das operações
envolvendo os termos do primeiro membro são maiores ou menores que o resultado das operações
envolvendo os termos do segundo membro.
Nas inequações a desigualdade pode ser representada por um dos quatro símbolos seguintes:

• Menor: <
• Maior: >
• Menor ou igual ≤
• Maior ou igual: ≥

Esses símbolos mostram que o conjunto de operações do primeiro membro possui um resultado
“menor”, “maior”, “maior ou igual” ou “menor ou igual” ao resultado do segundo membro.
 Exemplo 2.5 Vamos ver um exemplo de uma inequação:
3x − 9x ≤ 15 − 4x
Os termos desta inequação são:

• 3x
• -9x
• 15
• -4x

Já os membros desta inequação são:

• Primeiro termo: 3x − 9x
• Segundo termo: 15 − 4x

 Exemplo 2.6 Exemplos de inequações:

• 6x + x2 ≤ 6
• 12 ≥ x + 7
• 18x2 < 12x + 4

A resolução de uma inequação do 1o grau é totalmente análoga à equação do 1o grau. Consiste


basicamente em deixar o que é letra de um lado e o que não é, do outro.
 Exemplo 2.7 Vamos solucionar a inequação 2x + 3 ≤ 9.

• 2x + 3 ≤ 9
• 2x ≤ 9 − 3
• 2x ≤ 6
• x ≤ 26
• x≤3

Assim, a solução da inequação são todos os números reais menores ou iguais a 3. E podemos
escrever seu conjunto-solução de duas maneiras:

(a) Usando notação de conjunto propriamente dita: S = {x ∈ R|x ≤ 3}


(b) Ou usando notação de intervalo: S =]∞,3]
Seção 2.3 P. 62

Problema 149 Entre as opções a seguir, qual é a que melhor representa a idade de Maria?
Sabendo-se que Ana tem duas vezes a idade que Maria terá daqui a dez anos, entretanto, a
idade de Ana não supera o quádruplo da idade de Maria.

(a) A idade de Ana é maior que a idade de Maria.


(b) A idade de Maria é menor que a idade de Ana.
(c) A idade de Ana é maior que 10 anos.
(d) A idade de Maria é maior que 10 anos.
(e) A idade de Maria é menor que 10 anos.

Problema 150 Sabendo que um quadrado possui quatro lados congruentes, que condição deve
ser cumprida para que a área de um quadrado seja maior que seu perímetro?

(a) Os lados do quadrado devem ser iguais.


(b) A medida do lado do quadrado deve ser maior que 10.
(c) A medida do lado do quadrado deve ser menor que 10.
(d) A medida do lado do quadrado deve ser maior que 4.
(e) A medida da diagonal do quadrado deve ser maior que a medida do lado.

Problema 151 Uma pequena empresa que fabrica copos personalizados para festas de aniver-
sário tem gastos fixos de R$400,00 mais o custo de R$3,00 por copo produzido. Sabendo que
cada unidade será vendida a R$11,00, quantos copos deverão ser produzidos para que o valor
arrecadado supere os gastos?

(a) 50 copos.
(b) 70 copos.
(c) 90 copos.
(d) A arrecadação nunca será superior.
(e) Os gastos nunca serão superiores.

O vídeo a seguir traz uma interessante discussão acerca das equações e inequações do primeiro
grau.

v Saiba mais
P. 63 Seção 2.4

2.4 – Equações e Inequações do Segundo Grau


Uma equação do 2o grau é caracterizada por um polinômio de grau 2, ou seja, um polinômio
do tipo ax2 + bx + c, em que a, b e c são números reais, com a =
6 0. Ao resolvermos uma equação
de grau 2, estamos interessados em encontrar valores para a incógnita x que torne o valor da
expressão igual a 0, que são chamadas de raízes, isto é, ax2 + bx + c = 0.
 Exemplo 2.8 Vamos ver alguns exemplos de equações do segundo grau:

• 4x2 + 4x − 6 = 0, onde a= 4; b =4 e c = – 6;
• x2 − 5x + 10 = 0, onde a = 1; b = -5 e c = 10;
• 0,5x2 + x − 2 = 0, onde a = 0,5; b = 1 e c = –2;

Definição 2.4.1 Uma equação do 2o grau é chamada de completa quando todos os coeficientes
são diferentes de 0, ou seja, a 6= 0, b 6= 0 e c 6= 0.

Definição 2.4.2 Uma equação do 2o grau é chamada de incompleta quando o valor dos
coeficientes b ou c são iguais a 0, isto é, b = 0 ou c = 0.
 Exemplo 2.9 Vejamos alguns exemplos de equações do segundo grau incompletas:

• 4x2 − 4 = 0, onde a = 4; b = 0 e c= – 4;
• −2x2 + 3x = 0, onde a = – 2; b = 3 e c = 0;
• x2 = 0, onde a = 1; b =0 e c =0;

Note que o valor do coeficiente a NUNCA é igual a 0, pois, caso isso ocorra, a equação
Obs deixa de ser do 2o grau.

A solução de uma equação do 2o grau ocorre quando encontramos os valores que atribuídos à
incógnita x tornam o primeiro membro da equação igual ao segundo membro. Esses valores são
chamados de raízes da equação.
 Exemplo 2.10 Considere a equação x2 − 1 = 0.
Quais as soluções desta equação?
Quais as raízes desta equação?
Observe que x0 = 1 e x00 = −1 são soluções (raízes) da equação anterior, uma vez que
substituindo esses valores na expressão, teremos uma igualdade verdadeira. Vejamos:
Fazendo x = 1, temos:

• x2 − 1 = 0
• 12 − 1 = 0
• 1−1=0
• 0=0

Fazendo x = −1, temos:

• x2 − 1 = 0
• (−1)2 − 1 = 0
• 1−1=0
• 0=0
Seção 2.4 P. 64

2.4.1 – Solucionando Equações do Tipo ax2 + c = 0

O método para encontrar a solução de equações incompletas que possuem b = 0 consiste em


isolar a incógnita x.

• ax2 + c = 0
• ax2 = −c
• x2 = −c
a
q
• x = ± −c a

 Exemplo 2.11 Encontre as raízes da equação 4x2 − 36 = 0.

• 4x2 − 36 = 0
• 4x2 = 36
• x2 = 36
4q
• x = ± 36
√4
• x=± 9
• x = ±3
• x0 = 3 e x00 = −3

2.4.2 – Solucionando Equações do Tipo ax2 + bx = 0

O método para encontrar as soluções de uma equação com c = 0, consiste em utilizar a fatoração
por evidência, conforme ilustrado a seguir.

• ax2 + bx = 0
• x(ax + b) = 0
• x = 0 ou ax + b = 0
• x0 = 0 e x00 = −b
a

 Exemplo 2.12 Encontre as raízes da equação 10x2 − 90x = 0.

• 10x2 − 90x = 0
• 10x(x − 9) = 0
• 10x = 0 =⇒ x0 = 0
• x − 9 = 0 =⇒ x00 = 9

 Exemplo 2.13 Encontre as raízes da equação x2 + 16x = 0.

• x2 + 16x = 0
• x(x + 16) = 0
• x = 0 =⇒ x0 = 0
• x + 16 = 0 =⇒ x00 = −16

 Exemplo 2.14 Encontre as raízes da equação x2 + 16x = 0.

• 5x2 + 6x = 0
• x(5x + 6) = 0
• x = 0 =⇒ x0 = 0
• 5x + 6 = 0 =⇒ x00 = −6/5
P. 65 Seção 2.4

2.4.3 – Solucionando Equações do Tipo ax2 + bx + c = 0

Para solucionarmos equações de segundo grau completas utilizamos o método de Bhaskara,


também conhecido como fórmula de Bhaskara. Esse método encontra as raízes de uma equação
do 2o grau do tipo ax2 + bx + c = 0 por meio da relação a seguir:

−b ± ∆
x= (2.4)
2a
onde ∆ = b2 − 4ac.
 Exemplo 2.15 Encontre as raízes da equação x2 − x − 12 = 0.
Observe que os coeficientes da equação são: a = 1; b = −1 e c = −12.
Primeiramente, vamos calcular o valor de ∆.

• ∆ = b2 − 4ac
• ∆ = (−1)2 − 4×1×(−12)
• ∆ = 1 + 48
• ∆ = 49

Substituindo os valores dos coeficientes e do ∆ na fórmula de Bhaskara, teremos:



• x = −(−1)±
√2×1
49

1± 49
• x= 2
• x = 1±72
• x0 = 1+72
• x0 = 82
• x0 = 4
• x00 = 1−72
• x00 = −62
• x00 = −3

O termo delta (∆) também é conhecido como discriminante. Observe que o delta está
inserido em uma raiz quadrada. Vale lembrar também que não é possível extrair raiz quadrada
de um número negativo.
Conhecendo o valor do discriminante, podemos chegar a algumas conclusões importantes a
respeito da solução de uma equação do 2o grau:

• Se o valor do discriminante for positivo (∆ > 0), então a equação possui duas soluções;
• Se o valor do discriminante for igual a zero (∆ = 0), então a equação possui duas soluções
iguais (ou seja, x0 = x00 );
• Se o valor do discriminante for negativo (∆ < 0), então a equação não admite solução real.

Problema 152 Dada a equação do segundo grau x2 − 2x + 1 = 0, podemos afirmar que:

(a) A equação não possui nenhuma solução real.


(b) A equação possui uma única solução real.
(c) A equação possui duas soluções reais.
(d) A equação possui três soluções reais.
(e) A equação possui infinitas soluções reais.
Seção 2.4 P. 66

Uma inequação do segundo grau é bastante semelhante a uma equação do segundo


grau. Diferenciando-se apenas pelo fato do sinal de igualdade ser substituído por alguma das
desigualdades: > (maior que), < (menor que), ≥ (maior ou igual a), ≤ (menor ou igual a).
 Exemplo 2.16 Vamos ver um exemplo de inequação do segundo grau:
x2 − 6x + 8 < 0
Como solucionar uma inequação do segundo grau?
Primeiramente, vamos representá-la como uma equação do segundo grau, ou seja, trocando a
desigualdade por uma igualdade. No nosso exemplo teríamos: x2 − 6x + 8 = 0
Em seguida, vamos solucionar a equação utilizando os métodos discutidos anteriormente.
Observe que os coeficientes da equação são: a = 1; b = −6 e c = 8.
Primeiramente, vamos calcular o valor de ∆.

• ∆ = b2 − 4ac
• ∆ = (−6)2 − 4×1×(8)
• ∆ = 36 − 32
• ∆ = 4 (Duas raízes distintas)

Substituindo os valores dos coeficientes e do ∆ na fórmula de Bhaskara, teremos:



• x = −(−6)±
√2×1
4

6± 4
• x= 2
• x = 6±22
• x0 = 6+22
• x0 = 28
• x0 = 4
• x00 = 6−22
• x00 = 24
• x00 = 2

Agora, vamos plotar o sinal da função y = x2 − 6x + 8 (Figura 2.2):

Figura 2.2: Sinal da Função y = x2 − 6x + 8

Analisando o sinal de y, podemos concluir que o gráfico possui concavidade para cima, pois a
= 1 > 0. Podemos ainda afirmar que, como ∆ = 4 > 0, a função tem duas raízes (2 e 4). Observe
a seguir a variação do sinal para y:
Para que valores de x teremos y < 0?
Esses valores são 2 < x < 4.
Observe que:

• y < 0 =⇒ 2 < x < 4


• y = 0 =⇒ x = 2 ou x = 4
• y > 0 =⇒ x < 2 ou x > 4
P. 67 Seção 2.4

De acordo com o sinal de desigualdade da inequação, o conjunto solução é: S = {x ∈ R|2 <


x < 4}.
 Exemplo 2.17 Encontre a solução da inequação do segundo grau:
−x2 − 3x − 2 ≤ 0
Primeiramente, vamos representá-la como uma equação do segundo grau, ou seja, trocando a
desigualdade por uma igualdade. No nosso exemplo teríamos: −x2 − 3x − 2 = 0
Em seguida, vamos solucionar a equação utilizando os métodos discutidos anteriormente.
Observe que os coeficientes da equação são: a = −1; b = −3 e c = −2.
Primeiramente, vamos calcular o valor de ∆.

• ∆ = b2 − 4ac
• ∆ = (−3)2 − 4×(−1)×(−2)
• ∆=9−8
• ∆ = 1 (Duas raízes distintas)

Substituindo os valores dos coeficientes e do ∆ na fórmula de Bhaskara, teremos:



−(−3)± 1
• x= 2√×(−1)
3± 1
• x = −2
• x0 = 3+1
−2
• x0 = −2
4
0
• x = −2
• x00 = 3−1
−2
• x00 = −2
2

• x00 = −1

Agora, vamos plotar o sinal da função y = −x2 − 3x − 2 (Figura 2.3):

Figura 2.3: Sinal da Função y = −x2 − 3x−

Analisando o sinal de y, podemos concluir que o gráfico possui concavidade para baixo, pois
a = -1 < 0. Podemos ainda afirmar que, como ∆ = 1 > 0, a função tem duas raízes (-2 e -1).
Observe a seguir a variação do sinal para y:
Para que valores de x teremos y ≤ 0?
Esses valores são x ≤ −2 ou x ≥ −1.
Observe que:

• y ≤ 0 =⇒ x ≤ −2 ou x ≥ −1
• y = 0 =⇒ x = −2 ou x = −1
• y ≥ 0 =⇒ −2 ≥ x ≤ −1

De acordo com o sinal de desigualdade da inequação, o conjunto solução é: S = {x ∈ R|x ≤


−2 ou x ≥ −1}.
Seção 2.4 P. 68

 Exemplo 2.18 Encontre a solução da inequação do segundo grau:


x2 − 6x + 9 > 0
Primeiramente, vamos representá-la como uma equação do segundo grau, ou seja, trocando a
desigualdade por uma igualdade. No nosso exemplo teríamos: x2 − 6x + 9 = 0
Em seguida, vamos solucionar a equação utilizando os métodos discutidos anteriormente.
Observe que os coeficientes da equação são: a = 1; b = −6 e c = 9.
Primeiramente, vamos calcular o valor de ∆.

• ∆ = b2 − 4ac
• ∆ = (−6)2 − 4×(1)×(9)
• ∆ = 36 − 36
• ∆ = 0 (Uma única raiz real)

Substituindo os valores dos coeficientes e do ∆ na fórmula de Bhaskara, teremos:



• x = −(−6)±
2×1
0

• x = 62
• x0 = x00 = 3

Agora, vamos plotar o sinal da função y = x2 − 6x + 9 (Figura 2.4):

Figura 2.4: Sinal da Função y = x2 − 6x + 9

Analisando o sinal de y, podemos concluir que o gráfico possui concavidade para cima, pois
a = 1 > 0. Podemos ainda afirmar que, como ∆ = 0, a função tem uma única raíz real (3).
Observe a seguir a variação do sinal para y:
Para que valores de x teremos y > 0?
Esses valores são x 6= 3.
Observe que:

• y > 0 =⇒ x 6= 3
• y = 0 =⇒ x = 3
• y < 0 =⇒ não existem valores

De acordo com o sinal de desigualdade da inequação, o conjunto solução é: S = {x ∈ R|x 6= 3}


ou S = R − 3.
P. 69 Seção 2.4

 Exemplo 2.19 Encontre a solução da inequação do segundo grau:


−3x2 − 2x − 1 ≥ 0
Primeiramente, vamos representá-la como uma equação do segundo grau, ou seja, trocando a
desigualdade por uma igualdade. No nosso exemplo teríamos: −3x2 − 2x − 1 = 0
Em seguida, vamos solucionar a equação utilizando os métodos discutidos anteriormente.
Observe que os coeficientes da equação são: a = −3; b = −2 e c = −1.
Primeiramente, vamos calcular o valor de ∆.

• ∆ = b2 − 4ac
• ∆ = (−2)2 − 4×(−3)×(−1)
• ∆ = 4 − 12
• ∆ = −8 (A inequação não possui raízes reais)

Agora, vamos plotar o sinal da função y = x2 − 6x + 9 (Figura 2.5):

Figura 2.5: Sinal da Função y = x2 − 6x + 9

Observe que a parábola não intercepta o eixo x, logo não possui raízes reais. Dessa forma,
podemos concluir que o conjunto solução é: S = φ.
Problema 153 — PUC-RIO 2009. Quantas soluções inteiras a inequação x2 +x−20 ≤ 0 admite?

(a) 2.
(b) 3.
(c) 7.
(d) 10.
(e) 13.

Problema 154 — UDESC 2008. O conjunto solução da inequação x2 − 2x − 3 ≤ 0 é:

(a) S = {x ∈ R| − 1 < x < 3}.


(b) S = {x ∈ R| − 1 < x ≤ 3}.
(c) S = {x ∈ R|x < −1 ou x > 3}.
(d) S = {x ∈ R| − 1 ≤ −1ou ≥ 3}.
(e) S = {x ∈ R| − 1 ≤ x ≤ 3}.
Seção 2.4 P. 70

Problema 155 — UFRGS 2017. Sendo a e b números reais, considere as afirmações a seguir.

I Se a < b então -a > -b.


II Se a > b então 1/a < 1/b.
III Se a < b então a2 < b2 .

Quais estão corretas?

(a) Apenas I.
(b) Apenas II.
(c) Apenas III.
(d) Apenas I e II.
(e) I,II e II.

Problema 156 — BNDES – CESGRANRIO. O conjunto-solução da inequação 9 − x2 > 0 é:

(a) −3 > x > 3.


(b) −3 < x < 3.
(c) x = 3.
(d) x < 3.
(e) x > 3.

Problema 157 — RFB ESAF. Considere as inequações dadas por:


f (x) = x2 − 2x + 1 ≤ 0
g(x) = −2x2 + 3x + 2 ≥ 0
Sabendo-se que A é o conjunto solução de f(x) e B o conjunto solução de g(x), então o
conjunto Y = A ∩ B é igual a:

(a) Y = {x ∈ R| − 1/2 < x ≤ 2}.


(b) Y = {x ∈ R| − 1/2 ≤ x ≤ 2}.
(c) Y = {x ∈ R|x = 1}.
(d) Y = {x ∈ R|x ≥ 0}.
(e) Y = {x ∈ R|x ≤ 0}.

O vídeo a seguir traz uma interessante discussão acerca das equações e inequações do segundo
grau.

v Saiba mais
P. 71 Seção 2.5

2.5 – Introdução a Funções


O conceito de função está presente em nosso cotidiano desde a antiguidade. Podemos definir
uma função, de uma forma simples, como sendo a relação entre duas grandezas variáveis. Toda
função possui uma lei de formação algébrica que relaciona dois ou mais conjuntos através de
cálculos matemáticos. Vamos ver alguns exemplos:
 Exemplo 2.20 Seja um quadrado cujo lado mede l. Dizemos que o perímetro desse quadrado,
simbolizado por p, é igual à soma dos seus lados. Logo, existe uma relação entre p e l expressa
pela seguinte fórmula matemática:

p = 4×l (2.5)

Figura 2.6: Quadrado de Lado l

Observe que a medida p do perímetro depende da medida l do lado do quadrado, o que pode
ser verificado na Tabela 2.1.

Medida do lado (l) Medida do Perímetro (p)


1 4
1,5 6
2 8
2,5 10
3 12

Tabela 2.1: Relação Entre o Lado e o Perímetro de um Quadrado.

Por meio da Tabela 2.1, podemos observar que:

• A medida l do lado do quadrado é uma grandeza variável;


• A medida p do perímetro do quadrado é uma grandeza variável;
• A todos os valores de l estão associados valores de p;
• A cada valor de l está associado um único valor de p.

Podemos então dizer que:

(a) A medida p do perímetro do quadrado é dada em função da medida l do quadrado;


(b) A relação p = 4×l é denominada de lei de associação ou fórmula matemática desta
função.
Seção 2.5 P. 72

2.5.1 – Definição de Função Através de Conjuntos

O conceito de função pode ser entendido e definido por meio da Teoria dos Conjuntos, uma vez
que as colunas da tabela anterior representam conjuntos numéricos. Vamos ver um exemplo:

 Exemplo 2.21 Dados os conjuntos L = {1, 1.5, 2, 2.5, 3} e P = {0, 2, 4, 6, 8, 10, 12, 14}, seja a
relação (função) de L em P expressa pela fórmula p = 4 ∗ l, com l ∈ L e p ∈ P .

Figura 2.7: Função p = 4×l

Dizemos que para toda função temos um conjunto denominado domínio e sua respectiva
imagem. No exemplo anterior, o domínio é o conjunto L, o contra-domínio é o conjunto P e a
imagem são todos os elementos de P que estão relacionados com os elementos de L. Vale destacar
que cada elemento l do domínio se relaciona a um e somente um elemento p do contradomínio.
Vale ressaltar que não necessariamente a imagem da função é igual ao contradomínio.

Vamos ver mais um exemplo.

 Exemplo 2.22 Dado que o litro da gasolina custa R$ 7,00, podemos estabelecer uma relação

entre a quantidade de litros utilizada para abastecer um veículo e o valor total a pagar. Essa
relação pode ser representada pela fórmula matemática y = 7×x, onde x é a quantidade de litros
e y é o valor a pagar. Observe essa relação na Tabela 2.2.

Quantidade de litros Valor a pagar (y)


(x)
1 7
2 14
3 21
4 28
5 35

Tabela 2.2: Relação Entre a Quantidade de Litros e o Valor a Pagar.


P. 73 Seção 2.5

A Figura 2.8 ilustra a função y = 7×x utilizando a notação de conjuntos. O domínio é


representado pelo conjunto A e o contra-domínio pelo conjunto B.

Figura 2.8: Função y = 7×x

Definição 2.5.1 Uma função é uma regra que relaciona cada elemento de um conjunto X a
um único elemento de outro conjunto Y . O primeiro conjunto é chamado de domínio (X), e o
segundo, contradomínio da função (Y ).

A formalização matemática para a definição de função é dada por: Seja X um conjunto com
elementos de x e Y um conjunto dos elementos de y, temos que:

f :x→y (2.6)

Podemos agora utilizar uma definição um pouco mais formal:

Definição 2.5.2 Dados os conjuntos X e Y , uma função f : X → Y (lê-se: uma função


de X em Y ) é uma regra que determina como associar a cada elemento x ∈ X um único
y = f (x) ∈ Y .

A partir dessa definição, é possível constatar que x é a variável independente e que y ou f (x)
é a variável dependente. Isso porque, em toda função, para encontrar o valor de y, devemos ter
inicialmente o valor de x.
Se os elementos do domínio e da imagem de uma função pertencem ao conjunto dos números
inteiros, por exemplo, dizemos que f : Z → Z, lemos que “f é uma função cujo domínio pertence
aos inteiros e cuja imagem pertence aos inteiros” ou, simplesmente, “f é uma função de inteiros
em inteiros”.

Algumas relações não são consideradas funções. Vamos ver alguns exemplos sobre isso. Na
Figura 2.9 temos uma relação do conjunto A com o B.

A relação exibida na Figura 2.9 não é uma função pois um único elemento do conjunto A se
relaciona com vários elementos do conjunto B, violando assim a definição de função.
A relação exibida na Figura 2.10 não é uma função pois existem elementos em A que não se
relacionam com elementos do conjunto B, violando também a definição de função.
Seção 2.5 P. 74

Figura 2.9: Exemplo de uma Relação que Não é Função

Figura 2.10: Exemplo de uma Relação que Não é Função

Problema 158 Dada a função f (x) = 2x − 2, o domínio 3, 4, 5, 6 e o contradomínio composto


pelos naturais entre 1 e 10, qual das alternativas a seguir representa o conjunto imagem dessa
função?

(a) {4, 6, 8, 10}.


(b) {0, 2, 6}.
(c) {0, 2, 6, 8, 10}.
(d) Os números pares entre 2 e 18.
(e) Os números pares entre 0 e 18.


Problema 159 Dada a função f (x) = 4x − 16, qual das alternativas a seguir apresenta um
elemento que não pertence ao domínio dessa função?

(a) 2.
(b) 4.
(c) 6.
(d) 8.
(e) 12.
P. 75 Seção 2.5

As funções podem ser representadas graficamente. Para que isso seja feito, utilizamos duas
coordenadas, que são x e y. O plano desenhado é bidimensional. A coordenada x é chamada de
abscissa e a y, de ordenada. Juntas em funções, elas formam leis de formação. Veja a imagem do
gráfico do eixo x e y na Figura 2.12:

Figura 2.11: Plano Cartesiano

 Exemplo 2.23 Considere o gráfico da função y = f (x) = 7×x

Figura 2.12: Plano Cartesiano da Função y = f (x) = 7×x


Seção 2.5 P. 76

2.5.2 – Tipos de Funções

Função Injetora ou Injetiva


Na função injetora cada elemento do domínio (x) associa-se a um único elemento da imagem f (x).
Todavia, podem existir elementos do contradomínio que não pertencem à imagem da função.
Quando isso acontece, dizemos que o contradomínio e imagem são diferentes. Veja um exemplo
na Figura 2.13.
Observe que o domínio da função é dado pelo conjunto: D(f ) = {1, 2, 3}. Já a imagem da
função é formada pelo conjunto: Im(f ) = {2, 4, 6}. E o contradomínio da função é o conjunto:
CD(f ) = {2, 4, 6, 8, 10}.

Figura 2.13: Função Injetora ou Injetiva

Função Sobrejetora ou Sobrejetiva


Na função sobrejetiva todos os elementos do domínio também pertencem à imagem da função.
Assim, o contradomínio e a imagem possuem os mesmos elementos. Todavia, pode ocorrer de
dois elementos do domínio possuírem a mesma imagem. Veja um exemplo na Figura 2.14.

Figura 2.14: Função Sobrejetora ou Sobrejetiva

Observe que o domínio da função é dado pelo conjunto: D(f ) = {1, 2, 3, 4, 5}. Já a imagem
da função é formada pelo conjunto: Im(f ) = {2, 4, 6}. E o contradomínio da função é o conjunto:
CD(f ) = {2, 4, 6}.
P. 77 Seção 2.5

Função Bijetora ou Bijetiva


A função bijetora é ao mesmo tempo injetora e sobrejetora, pois, cada elemento de x relaciona-se
a um único elemento de f (x). Nessa função, não acontece de dois elementos do domínio possuírem
a mesma imagem. Além disso, o contradomínio e a imagem possuem os mesmos elementos.

Figura 2.15: Função Bijetora ou Bijetiva

Observe que o domínio da função é dado pelo conjunto: D(f ) = {1, 2, 3}. Já a imagem da
função é formada pelo conjunto: Im(f ) = {2, 4, 6}. E o contradomínio da função é o conjunto:
CD(f ) = {2, 4, 6}.

É importante ressaltar que existem funções que não são nem injetoras e nem sobrejetoras.
Obs Elas simplesmente não apresentam classificação sob esse critério. Uma função é dita simples
se ela não é injetora nem sobrejetora.

Função Constante
Na função constante, todo valor do domínio (x) tem a mesma imagem (y). A função constante
tem a seguinte fórmula geral:

f (x) = c (2.7)
Onde c é uma constante.
A Figura 2.16 ilustra o plano cartesiano de uma função constante genérica.

Figura 2.16: Função Constante f (x) = c


Seção 2.5 P. 78

 Exemplo 2.24 Observe o gráfico da função constante f (x) = 2.

Figura 2.17: Função Constante f (x) = 2

Função Afim ou ou Polinomial do Primeiro Grau


Essa função é muito utilizada na física e na química. O gráfico dessa função é uma reta. A função
afim tem a seguinte fórmula geral:

f (x) = a×x×b (2.8)


Onde a e b são chamados de coeficientes.
A função afim será crescente quando o coeficiente a for maior que um (a > 0). A função afim
será decrescente quando o coeficiente a for menor que zero (a < 0). Veja a Figura 2.18.

Figura 2.18: Função Afim Crescente X Decrescente


P. 79 Seção 2.5

 Exemplo 2.25 Observe o gráfico da função afim f (x) = 4x + 1.

Figura 2.19: Função Afim f (x) = 4x + 1

Função Linear
A função linear é um caso particular da função afim (f (x) = ax + b), mais precisamente quando
o coeficiente b é igual a zero (b = 0). Desta forma, a função linear tem a seguinte fórmula geral:

f (x) = a×x (2.9)


−x
 Exemplo 2.26 Observe o gráfico da função linear f (x) = 3
.

−x
Figura 2.20: Função Linear f (x) = 3
Seção 2.5 P. 80

Função Quadrática ou Polinomial do segundo Grau


A função quadrática é bastante utilizada na geometria e em algumas situações físicas como o
movimento retilíneo uniformemente variado. A função quadrática tem a seguinte fórmula geral:

f (x) = a×x2 + b×x + c (2.10)


O gráfico da função quadrática será sempre uma parábola. A sua concavidade muda de acordo
com o valor do coeficiente a. Sendo assim, se a é positivo, a concavidade é para cima e, se for
negativo, é para baixo. A Figura 2.21 ilustra a aparência do gráfico da função quadrática a partir
dos valores do coeficiente a e do ∆.

Figura 2.21: Estudo da Parábola de uma Função Quadrática


P. 81 Seção 2.5

 Exemplo 2.27 Observe o gráfico da função quadrática f (x) = x2 − 6x + 5.

Figura 2.22: Função Quadrática f (x) = x2 − 6x + 5

Função Exponencial
Em uma função exponencial a variável x está no expoente em relação à base de um termo
numérico ou algébrico a. Caso o termo a seja maior que 1, o gráfico da função exponencial
é crescente. Já se o termo a for um número entre 0 e 1, o gráfico da função exponencial é
decrescente. A função exponencial tem a seguinte fórmula geral:

f (x) = ax (2.11)
 Exemplo 2.28 Observe o gráfico da função exponencial f (x) = 2x .

Figura 2.23: Função Exponencial f (x) = 2x


Seção 2.5 P. 82

Função Par
Uma função é dita par, se e somente se f (−x) = f (x). Na função par, valores simétricos de x
possuem a mesma imagem.

O gráfico de uma função par apresenta simetria em relação ao eixo y.


Obs
 Exemplo 2.29 Vamos ver um exemplo de uma função par.

Figura 2.24: Função Par

Função Impar
Uma função é dita ímpar, se e somente se f (−x) = −f (x). Na função impar, valores simétricos
de x possuem imagens simétricas.

O gráfico de uma função par apresenta simetria em relação à origem.


Obs
 Exemplo 2.30 Vamos ver um exemplo de uma função impar.

Figura 2.25: Função Impar

Existem funções que não podem ser classificadas quanto a paridade, ou seja, não são nem
Obs pares nem ímpares.
P. 83 Seção 2.5

Problema 160 — UA-AM. Após vários testes em laboratório, observou-se que a concentração de
uma substância utilizada para o tratamento da COVID-19, no sangue dos pacientes voluntários,
varia de acordo com a função f (x) = 12x − 2x2 , onde x é o tempo decorrido, em horas, após
a ingestão do medicamento. Nessas condições, qual o tempo necessário para atingir o nível
máximo de concentração dessa substância, no sangue dos voluntários?

Problema 161 — ENCCEJA 2018. Uma prestadora de serviços de internet cobra pela visita à
residência do cliente e pelo tempo necessário para realizar o serviço. O valor da visita é R$ 40
e o valor da hora para realização do serviço é R$ 20.
Uma expressão que indica o valor a ser pago (P) em função das horas (h) necessárias à
execução do serviço é:

(a) P = 40h.
(b) P = 60h.
(c) P = 20 + 40h.
(d) P = 40 + 20h.
(e) P = 800h.

Problema 162 — UFBA. Se f (g(x)) = 5x − 2 e f (x) = 5x + 4 , então g(x) é igual a:

(a) x − 2.
(b) x − 6.
(c) x − 6/5.
(d) 5x − 2.
(e) 5x + 2.

Problema 163 Em uma função do seu grau chamamos de “zeros da função” os valores de x
nos quais o gráfico corta o eixo das abscissas. Qual das alternativas a seguir indica os zeros da
função f (x) = 3x2 + 6x − 9?

(a) (-3;-2).
(b) (-3;1).
(c) (2;-1).
(d) (-2;1).
(e) (3;-1).

O vídeo a seguir traz uma interessante introdução sobre as funções matemáticas.

v Saiba mais
Seção 2.6 P. 84

2.6 – Introdução à Combinatória


A Análise Combinatória é um ramo da Matemática que estuda os problemas de contagem. Ela
surgiu da necessidade de se calcular o número de possibilidades que podem ocorrer num certo
experimento, sem precisar descrever cada uma dessas possibilidades. No início do século XVIII, o
estudo sobre jogos envolvendo dados e cartas fez com que as teorias de contagem tivessem grande
desenvolvimento.
Alguns problemas bem simples podem ser solucionados enumerando-se todas as possibilida-
des. Quando descrevemos todas as possibilidades de uma experiência ou evento, fazemos uma
contagem direta.
Estamos acostumados a utilizar a contagem direta em nossas tarefas cotidianas. Por exemplo,
de quantas maneiras distintas podemos combinar 3 blusas com 2 calças diferentes? De quanta
maneiras diferentes podemos elaborar uma tabela de jogos de um campeonato de futebol?
De quantas maneiras diferentes eu posso organizar uma rota para entregar meu currículo
em 3 empresas diferentes? Contudo, existem muitas situações onde a enumeração de todas
possibilidades torna-se bastante trabalhosa ou simplesmente impraticável. Surge, então, a
necessidade de utilizarmos algumas técnicas de contagem.

2.6.1 – Diagrama de Árvore

O diagrama de árvore ou diagrama das possibilidades é um método utilizado para enumerar


todas as possibilidades de um determinado evento com o objetivo de facilitar a resolução dos
problemas de contagem, por meio da contagem direta.
 Exemplo 2.31 De quantas maneiras distintas podemos combinar 2 calças e 3 camisas diferentes?

Figura 2.26: Diagrama de Árvore - Problema das 2 Calças e 3 Camisas

Note que a árvore é construída da esquerda para a direita e que o número de “ramos” que
saem de cada escolha inicial (ou possibilidade inicial) corresponde ao número de possibilidades
da próxima escolha.
Podemos concluir, portanto, que ao todo teremos 6 possibilidades de combinações entre as
duas calças e as três camisas.
P. 85 Seção 2.6

 Exemplo 2.32 Uma moeda tem duas faces: cara (C) e coroa (K). Lança-se a moeda três vezes

consecutivas e observa-se qual face ficou voltada para cima. Quais e quantos são os resultados
possíveis?

Figura 2.27: Diagrama de Árvore - Problema do Lançamento da Moeda

Analisando o Diagrama de Árvore da Figura 2.28 podemos notas que os resultados possíveis
são: Ω = {(C, C, C); (C, C, K); (C, K, C); (C, K, K); (K, C, C); (K, C, K); (K, K, C); (K, K, K)}.
Desta forma, podemos concluir que ao todo temos 8 possibilidades.

2.6.2 – Princípio Fundamental da Contagem (PFC)

O Princípio Fundamental da Contagem (PFC), também conhecido como Princípio Multiplica-


tivo, é um método algébrico para determinar o número total de possibilidades de um determinado
experimento. O PFC é particularmente útil em situações onde a contagem direta se mostra
trabalhosa ou inviável.
Definição 2.6.1 Se um experimento é formado por k etapas, de modo que:

• A 1a etapa possui P1 possibilidades;


• A 2a etapa possui P2 possibilidades;
• A 3a etapa possui P3 possibilidades;
• A ka etapa possui Pk possibilidades;

Então, o total de possibilidades é: P1 ×P2 ×P3 · · · ×Pk .


Seção 2.6 P. 86

Exemplo 2.33 Há quatro estradas ligando as cidades A e B, e três estradas ligando as cidades
B e C. De quantas maneiras distintas pode-se ir de A até C, passando por B?

Figura 2.28: Diagrama de Árvore - Problema das Cidades

Aplicando o Princípio Fundamental da Contagem (PFC), temos:


p1 : existem 4 possibilidades para ir da cidade A até a cidade B;
p1 : existem 3 possibilidades para ir da cidade B até a cidade C;
Logo: existem p1 ×p2 = 4×3 = 12 maneiras de ir de A até C, passando por B.

Problema 164 Um teatro tem 4 portas. De quantas maneiras diferentes uma pessoa pode
entrar e sair do teatro?

Solução. Um teatro tem 4 portas. De quantas maneiras diferentes uma pessoa pode entrar
e sair do teatro?
Aplicando o princípio fundamental da contagem (PFC), temos que:
p1 : existem 4 possibilidades para entrar no teatro.
p2 : existem 4 possibilidades para sair do teatro.
Logo: existem p1 ×p2 = 4×4 = 16 maneiras para entrar e sair do teatro. 

Problema 165 Quantos são os números de três algarismos distintos que podemos formar com
os algarismos do sistema decimal?

Solução. Quantos são os números de três algarismos distintos que podemos formar com os
algarismos do sistema decimal?
Aplicando o princípio fundamental da contagem (PFC), temos que:
Temos três posições para preencher: 1o algarismo 2o algarismo e 3o algarismo.
O sistema decimal possui dez algarismos: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9.
Para formar números de três algarismos distintos temos duas restrições. O primeiro algarismo
não pode ser 0, pois neste caso o número só teria dois algarismos. Logo, apenas 9 dígitos
(algarismos) do sistema decimal podem ser utilizados na primeira posição do número que
desejamos formar. Além disso, os três algarismos utilizamos para gerar o número precisam ser
distintos. Portanto, podemos afirmar que:
p1 : existem 9 possibilidades para o primeiro algarismo, já que o dígito 0 (zero) não pode ser
utilizado na primeira posição.
p2 : existem 9 possibilidades para a segunda posição, já que o algarismo utilizado na primeira
posição não pode mais ser utilizado. Note que o dígito zero (0) agora já poderia ser utilizado.
p3 : existem 8 possibilidades para a terceira posição, já que os algarismos utilizados na primeira
e segunda posições não podem mais ser utilizados.
Logo: existem p1 ×p2 ×p3 = 9×9×8 = 648 maneiras para entrar e sair do teatro. 
P. 87 Seção 2.6

Problema 166 Quantas placas de veículos podem ser criadas, se forem usadas duas letras de
um alfabeto de 26 letras, seguidas por 4 algarismos?

Solução. Quantas placas de veículos podem ser criadas, se forem usadas duas letras de um
alfabeto de 26 letras, seguidas por 4 algarismos?
Aplicando o princípio fundamental da contagem (PFC), temos que:
Temos duas posições para preencher com letras e quatro posições para preencher com
algarismos. Note que não existe nenhuma restrição quanto a repetição de letras ou algarismos.
Portanto, podemos afirmar que:
p1 : existem 26 possibilidades para a primeira letra.
p2 : existem 26 possibilidades para a segunda letra.
p3 : existem 10 possibilidades para o primeiro algarismo.
p4 : existem 10 possibilidades para o segundo algarismo.
p5 : existem 10 possibilidades para o terceiro algarismo.
p6 : existem 10 possibilidades para o quarto algarismo.
Logo: existem p1 ×p2 ×p3 ×p4 ×p5 ×p6 = 26 ∗ 26 ∗ 10 ∗ 10 ∗ 10 ∗ 10 = 6.760.000 placas distintas
possíveis. 
O estudo da análise combinatória exige o domínio de uma operação específica chamada
fatorial, o qual é representado pelo símbolo de exclamação (“!”). O fatorial de um número n é
dado pelo produto de n pelos seus antecessores.
 Exemplo 2.34 O fatorial de 5 (representado por 5!) é:
5×4×3×2×1 = 120
Definição 2.6.2 O fatorial de 0 (0!) é: 1.
O fatorial de um número n (n!) é: n×(n − 1)×(n − 2) · · · ×(n − (n − 1)).

Note que o fatorial de um número n também pode ser representado como: n×(n − 1)×(n −
Obs 2) · · · ×1.

Veja que pela definição 1! = 1.


Obs

Observe também que n! = n×(n − 1)!.


Obs
Seção 2.6 P. 88

2.6.3 – Arranjo Simples

Num conjunto A com n elementos, são arranjos simples todos os agrupamentos ordenados
formados por p elementos distintos escolhidos entre os n elementos distintos dados, com p menor
ou igual a n.
n!
An,p = (2.12)
(n − p)!
Lê-se arranjo de n elementos tomados p a p.
Problema 167 O conselho administrativo de uma escola organizou-se para escolher os ocupantes
dos cargos mais importantes, que são: diretor, secretário e coordenador financeiro. Esses
cargos são escolhidos a partir de votação de todos os membros do conselho administrativo
da escola. Em cada voto será indicado um trio (tripla) de membros do conselho para ocupar
cada um dos cargos. Sabendo que existem 5 candidatos (os quais concorrem aos 3 cargos), o
número de comissões administrativas que podem ser formadas é?

Solução. Observe que será realizada uma escolha de 3 entre 5 possibilidades (candidatos).
Note também que a ordem é importante. Por exemplo, o voto para Ana, Gal e Zé não é o mesmo
que o voto para Gal, Zé e Ana – uma vez que são atribuídas funções diferentes para cada um
deles (diretor, secretário e coordenador financeiro). Portanto, a ordem é importante, o que torna
essa questão um problema de arranjo. Logo, vamos calcular A5,3 :

5! 5! 5×4×3×2!
A5,3 = (5−3)!
= 2!
= 2!
= 5×4×3 = 60 possibilidades.


Problema 168 Quantos números naturais de quatro algarismos distintos podem ser formados
usando-se os algarismos 2, 3, 4, 5, 6, 7, 8 e 9?

Solução. Observe que este problema envolve um arranjo simples, uma vez que 2345 6= 5432.
Logo, vamos calcular A8,4 :

8! 8! 8×7×6×5×4!
A8,4 = (8−4)!
= 4!
= 4!
= 8×7×6×5 = 1.120 possibilidades.


2.6.4 – Arranjo com Repetição

Chama-se arranjo com repetição ou arranjo completo, todo agrupamento de p elementos de


um conjunto dado, com n elementos diferentes, onde a mudança de ordem determina grupos
diferentes, podendo, porém, ter elementos repetidos.

ARn,p = np (2.13)

Problema 169 A senha de um banco possui cinco dígitos formados exclusivamente por números,
qual é a quantidade de senhas possíveis?

Solução. Sabemos que a senha é uma sequência de cinco dígitos e que não há restrição em
relação a repetições. Logo, este é um problema que envolve arranjo com repetição. Note que
cada dígito pode da senha pode receber um entre 10 algarismos diferentes (0, 1, 2, 3, 4, 5, 6, 7, 8
ou 9). Portanto, queremos calcular o arranjo com repetição de 10 elementos tomados de cinco
em cinco. Assim, vamos calcular AR10,5 .
AR10,5 = 105 = 10.000 possibilidades de senhas diferentes.

P. 89 Seção 2.6

Problema 170 Sabendo que as placas dos veículos são formadas por três letras e quatro
números, quantas placas distintas é possível formar?

Solução. Nosso alfabeto é composto por 26 letras. Além disso, existem 10 possibilidades de
números (0, 1, 2, 3, 4, 5, 6, 7, 8 ou 9). Bom, vamos dividir o problema em dois.
Primeiramente, vamos calcular a quantidade de arranjos possíveis para as letras.
AR26,3 = 263 = 17.576.
Em seguida, vamos calcular a quantidade de arranjos possíveis para os números.
AR10,4 = 104 = 10.000.
Por fim, basta multiplicar essas duas quantidades.
AR26,3 ×AR10,4 = 17.576×10.000 = 1.757.600.000 placas distintas.


2.6.5 – Permutação Simples

Conhecemos como permutação os agrupamentos ordenados de todos os elementos de um conjunto


(n = p). Permutar é trocar de posição, formando uma nova ordem. A permutação de um conjunto
com n elementos é calculada por:

Pn = p! (2.14)

Problema 171 Quantos anagramas existem na palavra AMOR?

Solução. Podemos entender Anagrama como a troca de posição entre as letras de uma
palavra, formando novas palavras, que podem fazer sentido ou não na nossa língua. Esse problema
consiste em uma permutação simples, uma vez que estamos calculando todos os agrupamentos
possíveis ao mudar a ordem de todos os elementos do conjunto. Note que a palavra AMOR
possui 4 letras. Portanto, o total de anagramas possíveis é dado pela permutação de quatro
elementos. Assim, vamos calcular o valor de P4 :
P4 = 4! = 4×3×2×1 = 24 anagramas.


Problema 172 Determine a quantidade de anagramas da palavra castelo que começam com a
letra “c”.

Solução. Note que a palavra CASTELO possui 7 letras. Porém, queremos encontrar a
quantidade de anagramas que começam com a letra “c”. Logo, devemos fixar a letra “c” e calcular
o anagrama das demais. Ao fixarmos a letra c, sobram seis leras para calcularmos a permutação.
Assim, vamos calcular o valor de P6 :
P6 = 6! = 6×5×4×3×2×1 = 720 anagramas.


Problema 173 Os resultados do último sorteio da Mega-Sena foram os números 04, 10, 26, 37,
47 e 57. De quantas maneiras distintas pode ter ocorrido essa sequência de resultados?

Problema 174 — U.F.Pelotas-RS. Tomando como base a palavra UFPEL, resolva as questões
a seguir.

i Quantos anagramas podem ser formados de modo que as vogais estejam sempre juntas?
ii Quantos anagramas podem ser formados com as letras UF juntas?
iii Quantos anagramas podem ser formados com as letras PEL juntas e nessa ordem?
Seção 2.6 P. 90

2.6.6 – Permutação com Repetição

A permutação com repetição é aquela na qual precisamos fazer as trocas dos elementos de
um conjunto, mas este contém elementos repetidos. Assim, na permutação com repetição, as
repetições são permitidas.
Podemos calcular a quantidade de permutações com repetição através da seguinte fórmula:
n!
Pnn1 ,n2 ,n3 ··· = (2.15)
n1 !×n2 !×n3 ! · · ·
Onde, n é a quantidade de elementos e n1 ,n2 ,n3 , · · · são os elementos repetidos.
Problema 175 De quantas maneiras é possível reorganizar as letras da palavra OVO?

Solução. De quantas maneiras é possível reorganizar as letras da palavra OVO?


Observe que temos uma permutação com repetição (OVO), onde a letra “O” aparece duas
vezes. Logo, devemos calcular:
Pnn1 = nn!1 ! .
P32 = 3!
2!
= 3×2!2! = 3.


Problema 176 De quantas maneiras é possível reorganizar as letras da palavra BOLO?

Solução. De quantas maneiras é possível reorganizar as letras da palavra BOLO?


Observe que temos uma permutação com repetição (BOLO), onde a letra “O” aparece duas
vezes. Logo, devemos calcular:
Pnn1 = nn!1 ! .
P42 = 4!
2!
= 4×2! 3×2!
= 12.


Problema 177 Calcular a quantidade de permutações com repetição que podem ser formadas
com as letras da palavra MATEMÁTICA.

Solução. Calcular a quantidade de permutações com repetição que podem ser formadas
com as letras da palavra MATEMÁTICA.
Observe que temos uma permutação com repetição (MATEMATICA), onde a letra “M”
aparece duas vezes, a letra “A” aparece três vezes e a letra “T” aparece duas vezes. Logo,
devemos calcular:
Pnn1 ,n2 ,n3 = n1 !×nn!2 !×n3 !
3,2,2
P10 = 3!×10!
2!×2!
3,2,2
P10 = 10×9× 8×7×6×5×4×3!
3!∗2×1×2×1
= 10×9×8×47×6×5×4 = 10×9×8×7×6×5 = 151.200 possibilidades.


Problema 178 Ao preencher um cartão da loteria esportiva, André optou pelas seguintes
marcações: 4 coluna um, 6 coluna do meio e 3 coluna dois. De quantas maneiras distintas
André poderá marcar os cartões?

Problema 179 Em um torneio de futsal um time obteve 8 vitórias, 5 empates e 2 derrotas, nas
15 partidas disputadas. De quantas maneiras distintas esses resultados podem ter ocorrido?
P. 91 Seção 2.6

2.6.7 – Combinação Simples

A combinação é um agrupamento que está ligado a subconjuntos de um conjunto. Chama-se


combinação simples (combinação de n, tomados de p em p) a contagem de todos os subconjuntos
formados por p elementos distintos de um conjunto de n elementos distintos. Neste tipo de
agrupamento a ordem dos elementos não importa. Assim, os conjuntos A,B,C e C,A,B são os
mesmos conjuntos.
n!
Cn,p = (2.16)
((n − p)!)×p!

Problema 180 — Mundo Educação. Para a organização da colação de grau, os estudantes


decidiram montar uma comissão de formatura. Sabendo que havia 30 formandos e que somente
2 alunos seriam escolhidos, a quantidade de comissões possíveis é?

Solução. Observe que será realizada uma escolha de 2 entre 30 possibilidades. Além disso,
é possível perceber que a ordem não é importante, pois se a comissão for composta por Ana, Gal
ou Gal, Ana, por exemplo, não haverá diferença alguma. Como a ordem não importa e estamos
escolhendo subconjuntos de um conjunto de 30 possibilidades, esse problema consiste em uma
combinação de 30 elementos tomados 2 em 2. Assim, vamos calcular o valor de C30,2 :

30! 30! 30×29×28! 30×29 30×29 870


C30,2 = ((30−2)!)×2!
= 28!×2!
= 28!×2!
= 2×1
= 2
= 2
= 435


Problema 181 — Brasil Escola. Em uma sala de aula, tem-se cinco homens e sete mulheres.
Quantos grupos de três homens e quatro mulheres podem ser formados?

Solução. Inicialmente, observe que a ordem na qual escolhemos os estudantes não importa,
por exemplo o grupo formado por Dé, Sá e Zé é o mesmo grupo formado por Sá, Zé e Dé.
Portanto, trata-se de um problema de combinação.
Vamos calcular separadamente a quantidade de grupos que podem ser formados por homens
e mulheres, e, em seguida, vamos multiplicar esses resultados, pois cada grupo de homens pode
misturar-se com cada grupo de mulheres.
A quantidade de grupos formados por alunos homens é dada por:

5! 5! 5×4×3! 5×4 20
C5,3 = ((5−3)!) ×3! = 2!×3! = 2!×3! = 2×1 = 2 = 10.
A quantidade de grupos formados por alunos homens é dada por:

7×6×5×4! ×6×5
7!
C7,4 = ((7−4)!) 7!
×4! = 3!×4! = 3!4!
= 37×2×1
= 7×66×5 = 7×5 = 35.
Logo, o total de grupos que podem ser formados por três homens e quatro mulheres é:

C5,3 ×C7,4 = 10×35 = 350 grupos distintos.



Seção 2.6 P. 92

Problema 182 — UNICAMP 2017. Sabe-se que, em um grupo de 10 pessoas, o livro A foi lido
por 5 pessoas e o livro B foi lido por 4 pessoas. Podemos afirmar corretamente que, nesse
grupo:

(a) pelo menos uma pessoa leu os dois livros.


(b) nenhuma pessoa leu os dois livros.
(c) pelo menos uma pessoa não leu nenhum dos dois livros.
(d) todas as pessoas leram pelo menos um dos dois livros.

Problema 183 — ENEM 2009. Doze times se inscreveram em um torneio de futebol amador.
O jogo de abertura do torneio foi escolhido da seguinte forma: primeiro foram sorteados 4
times para compor o Grupo A. Em seguida, entre os times do Grupo A, foram sorteados 2
times para realizar o jogo de abertura do torneio, sendo que o primeiro deles jogaria em seu
próprio campo, e o segundo seria o time visitante. A quantidade total de escolhas possíveis
para o Grupo A e a quantidade total de escolhas dos times do jogo de abertura podem ser
calculadas por meio de:

(a) uma combinação e um arranjo, respectivamente.


(b) um arranjo e uma combinação, respectivamente.
(c) um arranjo e uma permutação, respectivamente.
(d) duas combinações.
(e) dois arranjos.

Problema 184 — Mundo Educação. O diretor de uma escola convidou os 280 alunos do
terceiro a participarem de uma brincadeira. Havia 5 objetos e 6 personagens em uma casa de
9 cômodos. Um dos personagens deveria esconder um dos objetos em um dos cômodos da
casa. O objetivo da brincadeira era adivinhar qual objeto foi escondido, por qual personagem
e em qual cômodo da casa.
Todos os alunos decidiram participar. A cada vez um aluno era sorteado e dava a sua
resposta. As respostas deveriam ser sempre distintas das anteriores, e um mesmo aluno não
poderia ser sorteado mais de uma vez. Se a resposta do aluno estivesse correta, ele seria
declarado vencedor e a brincadeira seria encerrada.
O diretor sabia que algum aluno acertaria a resposta porque havia:

(a) 10 alunos a mais do que possíveis respostas distintas.


(b) 20 alunos a mais do que possíveis respostas distintas.
(c) 119 alunos a mais do que possíveis respostas distintas.
(d) 260 alunos a mais do que possíveis respostas distintas.
(e) 270 alunos a mais do que possíveis respostas distintas.

Problema 185 — Brasil Escola. Em uma sala de aula existem 12 alunas, onde uma delas
chama-se Gal, e 8 alunos, onde um deles atende pelo nome de Sá. Deseja-se formar comissões
de 5 alunas e 4 alunos. Determine o número de comissões, onde simultaneamente participam
Gal e Sá.

Problema 186 — Brasil Escola. Um time de futebol é composto de 11 jogadores, sendo 1


goleiro, 4 zagueiros, 4 meio campistas e 2 atacantes. Considerando-se que o técnico dispõe
de 3 goleiros, 8 zagueiros, 10 meio campistas e 6 atacantes, determine o número de maneiras
possíveis que esse time pode ser formado.
P. 93 Seção 2.6

Problema 187 — Brasil Escola. No jogo de basquetebol, cada time entra em quadra com cinco
jogadores. Considerando-se que um time para disputar um campeonato necessita de pelo
menos 12 jogadores, e que desses, 2 são titulares absolutos, determine o número de equipes
que o técnico poderá formar com o restante dos jogadores, sendo que eles atuam em qualquer
posição.

Problema 188 — Brasil Escola. Um pesquisador científico precisa escolher três cobaias, num
grupo de oito cobaias. Determine o número de maneiras que ele pode realizar a escolha.

Problema 189 — PUC-RIO 2008. O número total de maneiras de escolher 5 dos números
1, 2, 3, · · · , 52 sem repetição é:

(a) entre 1 e 2 milhões.


(b) entre 2 e 3 milhões.
(c) entre 3 e 4 milhões.
(d) menos de 1 milhão.
(e) mais de 10 milhões.

Problema 190 — FUVEST 2017. João tem R$ 150,00 para comprar canetas em 3 lojas. Na loja
A, as canetas são vendidas em dúzias, cada dúzia custa R$ 40,00 e há apenas 2 dúzias em
estoque. Na loja B, as canetas são vendidas em pares, cada par custa R$ 7,60 e há 10 pares
em estoque. Na loja C, as canetas são vendidas avulsas, cada caneta custa R$ 3,20 e há 25
canetas em estoque. O maior número de canetas que João pode comprar nas lojas A, B e C
utilizando no máximo R$ 150,00 é igual a:

(a) 46.
(b) 45.
(c) 44.
(d) 43.
(e) 42.

Problema 191 — UDESC 2010. Doze equipes participarão de um torneio internacional de vôlei;
os participantes foram divididos em dois grupos de seis equipes cada. A fase classificatória
deste torneio prevê a realização de dois turnos. No primeiro turno, cada equipe jogará contra os
adversários do seu próprio grupo e, no segundo, as equipes enfrentarão os times do outro grupo.
Ao término da fase de classificação, os dois primeiros colocados de cada grupo avançarão para
a fase final, que será disputada em turno único, num só grupo, com cada classificado jogando
contra todos os outros times. O time que obtiver a primeira colocação na fase final será
declarado campeão do torneio. De acordo com este regulamento, o total de jogos realizados
durante o torneio é igual a:

(a) 102.
(b) 66.
(c) 77.
(d) 72.
(e) 108.
Seção 2.6 P. 94

Problema 192 — INFOESCOLA. O número mínimo de pessoas que deve haver em um grupo
para que possamos garantir que nele há pelo menos três pessoas nascidas no mesmo dia da
semana é igual a:

(a) 21.
(b) 20.
(c) 15.
(d) 14.
(e) 10.

Problema 193 — ITA – SP. (Quantos anagramas com 4 letras distintas podemos formar com as
10 primeiras letras do alfabeto e que contenham duas das letras a, b e c?

(a) 1692.
(b) 1572.
(c) 1520.
(d) 1512.
(e) 1392.

Problema 194 Determine o número de anagramas que podem ser formados com as letras do
nome PARAJURU.

Problema 195 Utilizando o nome COPACABANA, calcule o número de anagramas formados


desconsiderando aqueles em que ocorrem repetições consecutivas de letras.

Problema 196 — ENEM. A prefeitura da cidade de Parajuru está renovando os canteiros


de flores de suas praças. Entre as possíveis variedades que poderiam ser plantadas, foram
escolhidas cinco: amor-perfeito, cravina, petúnia, margarida e lírio. Em cada um dos canteiros,
todos com composições diferentes, serão utilizadas somente três variedades distintas, não
importando como elas serão dispostas. Um funcionário deve determinar os trios de variedades
de flores que irão compor cada canteiro. De acordo com o disposto, a quantidade de trios
possíveis é dada por:

(a) 5.
(b) 15.
(c) 5!/(5 − 3)!.
(d) 5!/(5 − 3)!2!.
(e) 5!/(5 − 3)!3!.

O vídeo a seguir traz uma introdução interessante sobre combinatória.

v Saiba mais
P. 95 Seção 2.7

2.7 – Introdução à Probabilidade


Probabilidade é um ramo da Matemática que estuda as as chances de ocorrência de determinados
experimentos. Assim, por meio da probabilidade podemos calcular, por exemplo, a chance de
se obter cara ou coroa no lançamento de uma moeda, a chance de acertar os números de uma
loteria, etc.
Inicialmente, precisamos definir alguns conceitos.
Definição 2.7.1 Um Experimento é qualquer processo que permite fazer observações. Um
experimento pode ser aleatório ou determinístico.

Definição 2.7.2 Experimento Aleatório é qualquer experiência cujo resultado não seja
conhecido.
Vamos discutir alguns exemplos de experimentos aleatórios. Jogar uma moeda e observar a
face superior (cara ou coroa) é um experimento aleatório, uma vez que é impossível saber qual
das faces da moeda ficará voltada para cima. Exceto, se a moeda for viciada, ou seja, modificada
para ter um resultado mais frequentemente. Jogar um dado e observar o número que ficará na
face superior também é um experimento aleatório, uma vez que é impossível saber qual das faces
do dado ficará voltado para cima. Exceto, se o dado for viciado.
Definição 2.7.3 Experimento Determinístico é qualquer experiência cujo resultado seja
previamente conhecido.

Definição 2.7.4 Ponto Amostral é qualquer resultado possível em um determinado experi-


mento aleatório.
Por exemplo, no lançamento de uma moeda os pontos amostrais são: cara ou coroa. Já no
lançamento de um dado os pontos amostrais são: 1, 2, 3, 4, 5 ou 6.
Definição 2.7.5 Espaço Amostral é o conjunto formado por todos os pontos amostrais de
um determinado experimento aleatório, ou seja, por todos os resultados possíveis. Conhecido
também como conjunto universo, o espaço amostral pode ser representado pelo símbolo grego
Ω (lê-se: ômega).

Para representar o espaço amostral utilizamos a notação de conjuntos. Por exemplo, o espaço
amostral referente ao experimento “lançamento de uma moeda” é o conjunto Ω = {cara, coroa}.
Já o espaço amostral referente ao experimento “lançamento de um dado” é o conjunto Ω =
{1, 2, 3, 4, 5, 6}.

O número de elementos de um determinado espaço amostral é representado por n(Ω).


Obs

Definição 2.7.6 Um espaço amostral é chamado de Espaço Amostral Equiprovável quando


todos os pontos amostrais dentro dele têm a mesma chance de ocorrer.
Por exemplo, no lançamento de uma moeda não viciada todos os pontos amostrais (ou seja,
cara ou coroa) possuem a mesma chance de ocorrer. Logo, esse espaço amostral é equiprovável.
No lançamento de um dado não viciado todos os pontos amostrais (1, 2, 3, 4, 5 ou 6) possuem a
mesma chance de ocorrer. Logo, esse espaço amostral é equiprovável. Um possível exemplo de
espaço amostral não equiprovável é o formado pelo seguinte experimento: escolher entre ir para a
academia ou jogar Free Fire.
Seção 2.7 P. 96
Definição 2.7.7 Um Evento é um subconjunto de um determinado espaço amostral. Um
evento pode conter desde zero (ou seja, nenhum) a todos os resultados possíveis de um
experimento aleatório. Em outras palavras, um evento pode ser um conjunto vazio ou o
próprio espaço amostral. No primeiro caso, ele é chamado de evento impossível. No
segundo, é chamado de evento certo. Um evento impossível é aquele que possui 0% de
chance de ocorrer, ou seja, que não ocorrerá. Um evento certo é aquele que possui 100% de
chance de ocorrer.
 Exemplo 2.35 Considerando o lançamento de um dado, observe os seguintes eventos:

• A: Obter um número par. A = 2, 4, 6 e n(A) = 3.


• B: Obter um número primo. B = 2, 3, 5 e n(B) = 3.
• C: Obter um número maior ou igual a 5. C = 5, 6 e n(C) = 2.
• D: Obter um número natural. D = 1, 2, 3, 4, 5, 6 e n(D) = 6.

Se em um fenômeno aleatório as possibilidades são igualmente prováveis, então a probabilidade


da ocorrência de um determinado evento E é dada por:

n(E)
PE = (2.17)
n(Ω)
Onde, n(E) é o número de resultados favoráveis e n(Ω) é o número de resultados possíveis
(ou seja, o numero de elementos do espaço amostral).
 Exemplo 2.36 No lançamento de um dado, qual a probabilidade de sair o número um?
Nesse experimento, sair o número um é o evento E. Assim, n(E) = 1. O espaço amostral
desse experimento contém seis elementos: 1, 2, 3, 4, 5 e 6. Logo, n(Ω) = 6.
Assim, podemos calcular PE da seguinte maneira:
n(E) 1
PE = n(Ω)
= 6
= 0,1666 · · ·

Portanto,
PE = 16,6%
 Exemplo 2.37 No lançamento de um dado, qual a probabilidade de sair o número par?
Nesse experimento, sair o número par é o evento E. Assim, n(E) = 3. O espaço amostral
desse experimento contém seis elementos: 1, 2, 3, 4, 5 e 6. Logo, n(Ω) = 6.
Assim, podemos calcular PE da seguinte maneira:
n(E) 3
PE = n(Ω)
= 6
= 0,5 · · ·

Portanto,
PE = 50%
 Exemplo 2.38 No lançamento de um dado, qual a probabilidade de sair o número 7?
Nesse experimento, sair o número 7 é o evento E. Assim, n(E) = 0. Logo, E é um evento
impossível.
 Exemplo 2.39 No lançamento de um dado, qual a probabilidade de sair um número maior ou
igual a 1 e menor ou igual a 6?
Nesse experimento, sair um número maior ou igual a 1 e menor ou igual a 6 é o evento E.
Assim, n(E) = 6. O espaço amostral desse experimento contém seis elementos: 1, 2, 3, 4, 5 e 6.
Logo, n(Ω) = 6. Observe que PE = 6/6 = 1. Assim, E é um evento certo.
P. 97 Seção 2.7

Problema 197 Uma urna contém bolas brancas, vermelhas e verdes. Sabendo-se que nela há
12 bolas brancas, 8 vermelhas e que as 5 restantes são verdes, se uma bola for retirada ao
acaso, qual é a probabilidade de que ela seja branca?

Solução. Nesse experimento, sair uma bola branca é o evento E. Assim, n(E) = 12. O
espaço amostral desse experimento contém 25 elementos. Logo, n(Ω) = 25.
Assim, podemos calcular PE da seguinte maneira:
n(E) 12
PE = n(Ω)
= 25
= 0,48

Portanto,
PE = 48%


Problema 198 — ENEM. Em uma central de atendimento, cem pessoas receberam senhas
numeradas de 1 até 100. Uma das senhas é sorteada ao acaso. Qual é a probabilidade de a
senha ser um número de 1 a 20.

(a) 1/100.
(b) 19/100.
(c) 20/100.
(d) 21/100.
(e) 80/100.

Solução. Nesse experimento, sair um número de 1 a 20 é o evento E. Assim, n(E) = 20. O


espaço amostral desse experimento contém 100 elementos. Logo, n(Ω) = 100.
Assim, podemos calcular PE da seguinte maneira:
n(E) 20
PE = n(Ω)
= 100

Portanto, o item correto é a alternativa (c). 

Problema 199 — Fundatec – 2019. Ao lançar uma moeda não viciada três vezes consecutivas,
a probabilidade de sair pelo menos duas caras é de:

(a) 10%.
(b) 20%.
(c) 30%.
(d) 40%.
(e) 50%.

Solução. A cada lançamento da moeda, há dois resultados possíveis: cara (c) ou coroa (k).
Como a moeda será lançada três vezes, há um total de 23 resultados possíveis. Logo, n(Ω) = 8.
Agora, vamos analisar os resultados possíveis:

Ω = {(c, c, c); (c, c, k); (c, k, c); (k, c, c); (k, k, k); (k, k, c); (k, c, k); (c, k, k)}

Seja E o evento desejado, ou seja, sair pelo menos duas caras, temos que:

E = {(c, c, c); (c, c, k); (c, k, c); (k, c, c)}

Portanto, n(E) = 4.
Seção 2.7 P. 98

Assim, podemos calcular PE da seguinte maneira:


n(E) 4
PE = n(Ω)
= 8
= 0,5 = 50%

Portanto, o item correto é a alternativa (e).



Propriedades Importantes:

1 A probabilidade pode ser representada como fração, como porcentagem ou como número
decimal.
2 Se E e E 0 são eventos complementares, então: PE + PE 0 = 1.
3 A probabilidade de um evento E é sempre um número entre 0 (probabilidade de evento
impossível) e 1 (probabilidade do evento certo), ou uma porcentagem entre 0% e 100%.

2.7.1 – Probabilidade de Dois Eventos Sucessivos ou Simultâneos

A probabilidade de dois eventos sucessivos é dada por:

P (A ∩ B) = P (A|B)×P (B) (2.18)


Para se obter a probabilidade de ocorrerem dois eventos sucessivos A e B, denotada por
P (A ∩ B), basta multiplicar a probabilidade da ocorrência de B (P (B)) pela probabilidade da
ocorrência de A dado que B já ocorreu (P (A|B)).

Observe que, quando A e B forem eventos independentes (ou seja, o fato de ter ocorrido o
Obs evento B não altera a probabilidade de ocorrência do evento A) a fórmula anterior se reduz
a:
P (A ∩ B) = P (A)×P (B) (2.19)

Vamos ver alguns exemplos.


 Exemplo 2.40 Uma moeda e um dado são lançados simultaneamente. Qual a probabilidade de
ocorrer coroa e número primo?
Inicialmente, vamos determinar o espaço amostral Ω, que é o conjunto com todos os resultados
possíveis. Por questões didáticas e de simplicidade, vamos denominar cara de “C” e coroa de “K”.
O espaço amostral é dado por:

Ω = {(C, 1); (C; 2); (C, 3); (C, 4); (C, 5); (C, 6); (K; 1), (K, 2); (K, 3); (K, 4); (K, 5); (K, 6)}

Logo, n(Ω) = 12.


Vamos agora descrever os eventos A e B.

• A: ocorrer coroa
• B: ocorrer número primo

Observe que esses dois eventos são independentes, ou seja o fato do lançamento do dado
ter resultado em um número primo não altera a probabilidade de obter cara no lançamento da
moeda (e vice-versa).
Dessa forma, podemos utilizar a seguinte fórmula:
P (A ∩ B) = P (A)×P (B)
P. 99 Seção 2.7

n(A) 1
Note que P (A) = n(Ω)
= 2
= 0,5 = 50%.

n(B) 3
Veja que P (B) = n(Ω)
= 6
= 0,5 = 50%.
Logo,

1×1 1
P (A ∩ B) = P (A)×P (B) = 2 2
= 4
= 0,25 = 25%

 Exemplo 2.41 Uma urna contém 10 etiquetas identificadas pelas letras A, B, C, D, · · · , I, J.


Duas delas são retiradas ao acaso, sucessivamente. Qual a probabilidade de saírem duas vogais,
se a extração é feita sem reposição?
Inicialmente, vamos agora descrever os eventos A e B.

• A: sair uma vogal


• B: sair uma vogal

Observe que, como não há reposição das etiquetas, esses dois eventos NÃO são independentes.
O fato de se obter uma vogal na primeira extração altera a probabilidade de obter uma vogal na
segunda extração, uma vez que não haverá a mesma quantidade de etiquetas durante a realização
do segundo evento.
Dessa forma, devemos utilizar a seguinte fórmula:

P (A ∩ B) = P (A|B)×P (B)

n(B) 3
Note que P (B) = n(Ω)
= 10
, pois, das dez letras, apenas 3 são vogais.

n(B)
Veja que P (A|B) = n(Ω)
= 29 , pois, se B ocorreu, restaram 9 letras e, dessas, apenas 2 são
vogais.
Logo,

2× 3 6 1
P (A ∩ B) = P (A|B)×P (B) = 9 10
= 90
= 15

O vídeo a seguir traz uma introdução interessante sobre probabilidade.

v Saiba mais
Seção 2.8 P. 100

2.8 – Sistemas de Numeração


Com o surgimento da necessidade de contar, o ser humano desenvolveu a ideia de número e a sua
representação em algarismos e sistemas de numeração.
Um Sistema de Numeração é um método que nos permite representar a ideia de quantidade.
Nesta seção, vamos abordar alguns importantes sistemas de numeração. Para isso, vamos definir
alguns elementos básicos presentes nesses sistemas: números, numerais e algarismos.
Definição 2.8.1 Os números são a representação da quantidade propriamente dita.

Definição 2.8.2 Os numerais são as palavras por meio das quais nos referimos às quantidades,
às ordens, aos múltiplos ou frações. Alguns exemplos de numerais são: um, dois, dez, treze,
primeiro, quinto, dobro, metade, etc. Neste material, vamos trabalhar com os numerais
cardinais, que expressam quantidades, tais como: um, dois etc.

Definição 2.8.3 Os algarismos são os símbolos que representam os números. Por exemplo: 1,
2, 13, 20 (algarismos indo-arábicos), IV, L, CD, M (algarismos romanos) etc. Neste material,
vamos trabalhar com os algarismos indo-arábicos.

Os algarismos podem também ser chamados de dígitos.


Obs

Problema 200 Para praticar os conceitos estudados, responda às perguntas a seguir:

(a) Quantos e quais algarismos compõem o número 502?


(b) O nome “quinto” refere-se a que tipo de numeral?
(c) Qual numeral cardinal corresponde ao numeral do item (b)?

Solução. Confira abaixo as respostas ao Exercício 200:

(a) O número 502 é composto por três algarismos: 5, 0 e 2.


(b) O nome “quinto” refere-se a numeral ordinal.
(c) O numeral cardinal correspondente é 5.

Problema 201 Para praticar os conceitos estudados, faça o que se pede:

(a) Escreva o numeral cardinal 12 por extenso.


(b) Quantos e quais são os algarismos que formam o número 12?
(c) Calcule o triplo de doze.
(d) O numero doze é um numeral coletivo. Como ele pode ser chamado?
(e) Represente a terça parte de 12.

Na história da humanidade, foram desenvolvidos diversos sistemas de numeração por diferentes


povos e culturas. Neste material, daremos destaque aos sistemas de maior interesse para os
estudos em Computação: os sistemas decimal, binário e hexadecimal.
Esses três sistemas se caracterizam por considerar a posição de seus algarismos e por adotar
uma base. A base é um conjunto símbolos (algarismos) que servem para representar os números.
P. 101 Seção 2.8

2.8.1 – Sistema Decimal

Quando pensamos em quantidades e números, o sistema decimal é a representação natural que


utilizamos no dia-a-dia. O sistema decimal utiliza base 10, considerando um conjunto de 10
algarismos com os quais fazemos as composições para expressar números: 0, 1, 2, 3, 4, 5, 6, 7, 8 e
9. A posição de cada algarismo define sua ordem, que pode ser unidade, dezena, centena e
assim por diante.
 Exemplo 2.42 Tomemos o número 394. Esta quantidade é composta de 3 centenas, 9 dezenas e

4 unidades. Podemos, portanto, decompor esse número da seguinte maneira:

394 = 3×100 + 9×10 + 4. (2.20)

Observe um detalhe interessante sobre o Exemplo 2.42. A ordem (unidade, dezena, centena) de
cada algarismo pode ser expressa como uma potência de base 10. Assim, podemos escrever:

394 = 3×102 + 9×101 + 4×100 . (2.21)

Podemos observar uma relação entre a ordem do algarismo e o expoente aplicado à potência de
base 10.

ordem centena dezena unidade


potência 102 101 100
Essa regra se aplica a qualquer número decimal. Desta forma, podemos, para um número N com
n algarismos (ou dígitos, aqui identificados com a letra d), estabelecer a seguinte forma geral:

N = dn−1 ×10n−1 + dn−2 ×10n−2 + · · · + d1 ×101 + d0 ×100 (2.22)

 Exemplo 2.43 Aplicando a regra geral ao número N = 847, temos:

N 8 4 7
dígitos (para n=3) d2 d1 d0
expoentes da base (para n = 3) 2 1 0
2 1
potências 10 10 100
produtos 8×102 4×101 7×100

 Exemplo 2.44 Alguns números decompostos seguindo a regra geral descrita na fórmula 2.22:

• 12 = 1×101 + 2×100
• 8 = 8×100
• 1496 = 1×103 + 4×102 + 9×101 + 6×100
• 230 = 2×102 + 3×101 + 0×100

Problema 202 Decomponha os números a seguir conforme a regra geral apresentada na equação
2.22:

(a) 32 =
(b) 807 =
(c) 350 =
(d) 6=
(e) 13825 =
Seção 2.8 P. 102

Solução. Os números dados são decompostos da seguinte forma:

(a) 32 = 3×101 + 2×100


(b) 807 = 8×102 + 0×101 + 7×100
(c) 350 = 3×102 + 5×101 + 0×100
(d) 6 = 6×100
(e) 13825 = 1×104 + 3×103 + 8×102 + 2×101 + 5×100

Problema 203 Realizando a decomposição de um número, encontramos a soma 50000 + 300 +


20 + 1. O número decomposto foi:

(a) 53210.
(b) 53021.
(c) 50321.
(d) 500321.

Problema 204 No número 153902, o valor posicional do algarismo 9 é:

(a) 9.
(b) 90.
(c) 900.
(d) 9000.
(e) 90000.

Problema 205 Nos números 1320, 203 e 2932, o valor posicional do algorismo 3 é, respectiva-
mente:

(a) centena, dezena e unidade.


(b) centena, dezena e unidade.
(c) dezena, unidade e centena.
(d) centena, unidade e dezena.
(e) dezena, centena e unidade.

Problema 206 Na campanha de vacinação da COVID-19 realizada no estado do Ceará, foram


vacinadas 380.210 idosos, somente nos primeiros três meses. O nome desse número por extenso
é:

(a) trezentos e oitenta mil e duzentos e dez.


(b) trinta e oito mil e duzentos e dez.
(c) trezentos e oitenta e dois mil e cem.
(d) trezentos milhões duzentos e dez mil.
(e) trezentos e oitenta duzentos e dez mil.
P. 103 Seção 2.8

2.8.2 – Sistema Binário

Enquanto o sistema de numeração decimal é adotado no dia-a-dia, algumas aplicações requerem


outros sistemas de numeração. O sistema de numeração binário é o sistema que representa e
descreve o funcionamento dos circuitos eletrônicos que compõem um computador.
Este sistema utiliza base 2. Assim, ele considera apenas dois algarismos para representar
quaisquer números. Os algarismos que compõem a base decimal são o 0 e o 1.
 Exemplo 2.45 São exemplos de números binários:

(a) 1001
(b) 0101
(c) 10
(d) 10101100

A lógica por trás da representação de um número na base binária é a mesma que vimos para
o sistema decimal; a única diferença é a base. Desta forma, podemos decompor os números
binários do Exemplo 2.45 da seguinte forma:

(a) 1001 = 1×23 + 0×22 + 0×21 + 1×20


(b) 0101 = 0×23 + 1×22 + 0×21 + 1×20
(c) 10 = 1×21 + 0×20
(d) 10101100 = 1×27 + 0×26 + 1×25 + 0×24 + 1×23 + 1×22 + 0×21 + 0×20

O sistema binário pode ser utilizado para representar qualquer conjunto dual, como desligado
e ligado, não e sim, falso e verdadeiro, 0 e 1, etc. Os dispositivos eletrônicos que baseiam-se em
circuitos digitais usam o sistema binário como “linguagem” e, nelas, ele é representado por 0s e
1s (dígitos binários ou simplesmente bit – do inglês de binary digit).

Os dígitos 0 e 1 do sistema binário levam o nome especial de bit. O bit é a unidade


Obs fundamental de de informação do computador!

Vale destacar ainda que sistema binário é base da Álgebra Booleana (ou Álgebra de Boole),
por meio da qual é possível realizar operações lógicas e aritméticas com apenas dois estados.
Desta forma, é possível representar números, símbolos, caracteres e fazer operações ariméticas
e lógicas por meio de circuitos eletrônicos digitais bastante simples, os quais são chamados de
portas lógicas. Esses circuitos são capazes de executar operações aritméticas e lógicas de forma
extremamente rápida.

Alguns agrupamento de bits recebem nomes específicos (que muito provavelmente você já
Obs conhece):

• 1 byte = 8 bits;
• 1 kilobyte = 1.024 bytes;
• 1 gigabyte = 1.000.000.000 bytes,
Seção 2.8 P. 104

Conversão Binário - Decimal

É possível realizarmos a conversão entre os sistemas de numeração aqui estudados. De fato, a


decomposição dos números binários do Exemplo 2.45 é, na verdade, o processo de conversão
desses números binários para a base decimal. Assim, resolvendo os somatórios, estamos realizando
a Conversão Binário-Decimal, e temos como resultados os seguintes valores na base decimal:

(a) 1001 = 1×23 + 0×22 + 0×21 + 1×20 = 9


(b) 0101 = 0×23 + 1×22 + 0×21 + 1×20 = 5
(c) 10 = 1×21 + 0×20 = 2
(d) 10101100 = 1×27 + 0×26 + 1×25 + 0×24 + 1×23 + 1×22 + 0×21 + 0×20 = 172

Podemos, então, dizer que:

(a) 10012 = 910


(b) 01012 = 510
(c) 102 = 210
(d) 101011002 = 17210

Observe a notação com os subscritos 2 e 10, para indicar a base de numeração dos valores
Obs listados.

Problema 207 Realize a conversão dos seguintes números binários para o sistema decimal:

(a) 1101012 =
(b) 10010112 =
(c) 101002 =
(d) 11100012 =
(e) 12 =
(f) 02 =

Solução. Os valores decimais para os números binários dados são:

(a) 1101012 = 5310


(b) 10010112 = 7510
(c) 101002 = 2010
(d) 11100012 = 11310
(e) 12 = 110
(f) 02 = 010

Problema 208 — IESES 2012. A seguir, apresentamos quatro números em suas representações
binárias: 0101001, 1101001, 0001101, 1010110. Assinale a alternativa que apresenta o somatório
dos 4 números acima convertidos para o formato decimal.

(a) 245.
(b) 101.
(c) 111.
(d) 267.
(e) 354.
P. 105 Seção 2.8

Conversão Decimal - Binário

Para converter um dado número decimal para a base binária, realizamos sucessivas divisões do
número dado por 2, que é a base do sistema de numeração binário. Paramos de realizar as
divisões quando o quociente da divisão for menor que a base, que é 2.

 Exemplo 2.46 Vamos converter o número 21 para binário:


Realizando a primeira divisão por 2, temos:
21 2
(1) 10
Como o quociente da divisão ainda é maior que 2, continuamos a efetuar mais divisões. O
processo só se encerra quando obtemos um quociente menor que 2. O processo completo está
ilustrado abaixo:

21 2
(1) 10 2
(0) 5 2
(1) 4 2
(0) 2 2
(0)1
O processo para quando obtemos quociente igual a 1. Neste momento, o número binário
resultante da conversão é simplesmente a leitura, de baixo para cima, deste último quociente,
seguido de todos os restos das divisões. Assim, o número 21 em decimal é 100101 em binário.
Podemos escrever: 2110 = 100102 .

Problema 209 Converta os números decimais para binário:

(a) 2510 =
(b) 1110 =
(c) 510 =
(d) 1310 =

Solução. Os valores binários para cada número decimal são:

(a) 2510 = 110012


(b) 1110 = 10112
(c) 510 = 1012
(d) 1310 = 11012

Problema 210 — UFF 2012. Os computadores utilizam o sistema binário ou de base 2 que é um
sistema de numeração em que todas as quantidades se representam com base em dois números,
ou seja, (0 e 1). Em um computador o número 2012, em base decimal, será representado, em
base binária, por:

(a) 110111.
(b) 11111011100.
(c) 111110111000.
(d) 111110111.
(e) 1111010101.
Seção 2.8 P. 106

2.8.3 – Sistema Hexadecimal

Números binários podem ser muito longos. Como exemplo, se convertermos o número 39410 para
a base binária, temos o número 1100010102 .
Em virtude disso, em algumas situações, outros sistemas são considerados para efeito de
representação e cálculo. O Sistema Hexadecimal é uma dessas opções, que vamos descrever
aqui.
A base desse sistema é 16. Os algarismos utilizados para representar números são: 0, 1, 2, 3,
4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
As letras de A a F representam, respectivamente, os números de 10 a 15. Desta forma,
o número 394, ao ser convertido para a base hexadecimal, fica 18A. Para compreender este
resultado, vamos conhecer os processos de conversão entre este sistema e o sistema decimal.

Conversão Hexadecimal - Decimal

O processo para conversão de um número na base hexadecimal para um número na base decimal
é o mesmo que vimos para a conversão binário-decimal. Seguiremos a mesma forma geral
apresentada na Equação 2.22. A única diferença será a base, que aqui é 16.
 Exemplo 2.47 Vamos converter o número ABC para a base decimal:

ABC16 = A×162 + B ×161 + C ×160 .

Na base hexadecimal, o símbolo A representa o número 10, o B representa o número 11 e C


representa o número 12. Assim, o cálculo fica:

ABC16 = 10×162 + 11×161 + 12×160


= 10×256 + 11×16 + 12×1
= 2560 + 176 + 12
= 274810

Problema 211 Converta os números na base hexadecimal para a base decimal:

(a) AAA16 =
(b) F F16 =
(c) 9B1216 =
(d) BB =

Solução. Os valores decimais correspondentes aos valores dados em hexadecimal são:

(a) AAA16 = 273010


(b) F F16 = 25510
(c) 9B1216 = 3969810
(d) BB16 = 18710


P. 107 Seção 2.8

Conversão Decimal - Hexadecimal

Neste processo de conversão, vamos seguir a mesma lógica aplicada à conversão de binário para
decimal. A única diferença é que faremos sucessivas divisões por 16.
 Exemplo 2.48 Vamos converter o número 438 para a base hexadecimal:
438 16
(6) 27 16
(11) 1
O número hexadecimal é dado pelo quociente da última divisão, seguido dos restos de todas as
divisões, tomados de baixo para cima. Com isto, temos o número 1116. Mas, como o número
11 é representado pelo algarismo B na base hexadecimal, devemos escrever 1B6. Resumindo:
43810 = 1B616 .

Problema 212 Converta os números na base decimal para a base hexadecimal:

(a) 5810 =
(b) 3310 =
(c) 36010 =
(d) 24110 =

Solução. Os números hexadecimais correspondentes aos decimais dados são:

(a) 5810 = 3A16


(b) 3310 = 2116
(c) 36010 = 16816
(d) 24110 = F 116

Problema 213 Converta os seguintes números da base 10 para a base 16:

(a) 100(10) ;
(b) 155(10) ;
(c) 137(10) ;
(d) 9(10) ;
(e) 444(10) ;
(f) 999(10) ;
(g) 399(10) ;
(h) 13(10) ;
(i) 1000(10) ;
(j) 333(10) ;
(k) 666(10) ;
(l) 0001(10) ;
(m) 0011(10) ;
P. 109

3 |Introdução à Programação Visual


Os conteúdos teóricos abordados até este ponto deste material servem de base para que possa-
mos desenvolver as habilidades necessárias para construir programas e implementar aplicações
interativas para os mais variados fins. Neste capítulo, teremos a oportunidade de desenvolver
algumas atividades práticas, propostas na Seção 3.4.
A Seção 3.2 abordará os conceitos e estruturas necessários para a escrita de algoritmos,
constituindo um importante recurso para aprendermos a escrever bons programas. A Seção 3.1
apresenta alguns conceitos básicos de hardware e software, que auxiliarão na compreensão de
alguns elementos importantes na escrita de programas, abordados na Seção 3.3.

3.1 – Conceitos de Hardware e Software


Neste curso, vamos intensificar a utilização do computador para colocar em prática o que
vamos desenvolver em termos de Pensamento Computacional. O computador será, portanto, o
instrumento essencial para as nossas atividades!
Então, é importante conhecermos bem o que é o Computador.
Definição 3.1.1 Computador é uma máquina destinada ao processamento de dados, capaz
de executar instruções que visam produzir certas transformações nesses dados para alcançar
um determinado objetivo.

Nesta seção, vamos estudar os principais componentes de um sistema computacional: o Hardware


e o Software.

Embora nosso estudo esteja voltado especificamente a computadores, vale ressaltar que
Obs outros aparelhos ou dispositivos tecnológicos, como smartphones, tablets e consoles de jogos
eletrônicos são também constituídos de hardware e software.

3.1.1 – Hardware

Hardware é a parte física do computador, que inclui monitor, teclado, gabinete e mouse. Tais
dispositivos podem ser categorizados como:

• Dispositivos de entrada e saída;


• Dispositivos de armazenamento;
• Processador.

Dispositivos de Entrada e Saída

São os componentes físicos que nos permitem interagir com o computador.


Os dispositivos de entrada permitem ao usuário dar comandos para que o computador execute
alguma tarefa ou aplicação. Dentre os dispositivos de entrada, podemos citar o teclado, o mouse,
a mesa digitalizadora e o joystick.
Os dispositivos de saída permitem ao usuário do computador obter resultados e respostas,
seja por meio de visualização, áudio ou impressão. Assim, alguns exemplos de dispositivos de
saída são o monitor, as caixas de som e a impressora.
Seção 3.1 P. 110

Existem alguns dispositivos que funcionam tanto para entrada quanto para saída. Como
Obs exemplo, podemos citar as telas touchscreen, presentes em alguns monitores e em smartpho-
nes e tablets.

Exercício 3.1 Identifique os dispositivos na Figura 3.1, informando o nome de cada um e


indicando se são de entrada ou de saída:

(a) (b) (c) (d)

Figura 3.1: Dispositivos de entrada e saída

Solução. Os dispositivos indicados nos itens (a) a (d) na Figura 3.1 são:

(a) nome: monitor; função: dispositivo de saída.


(b) nome: impressora; função: dispositivo de saída.
(c) nome: joystick; função: dispositivo de entrada.
(d) nome: mesa digitalizadora; função: dispositivo de entrada.

Dispositivos de Armazenamento

No dia-a-dia, normalmente utilizamos cadernos e blocos (ou até mesmo aplicativos) de notas para
guardarmos informações que desejamos ser capazes de recuperar rapidamente para relembrar
sempre que necessário.
O computador tem como uma de suas principais caraterísticas a capacidade de guardar um
grande volume de dados e de manipulá-los com muita rapidez. Que dados são esses? Vamos ver
alguns exemplos no Exemplo 3.1.
 Exemplo 3.1 Alguns exemplos de dados que o computador armazena e manipula:

• Arquivos de fotos;
• Arquivos de músicas;
• Documentos de texto;
• Arquivos de programas;
• Arquivos de vídeo etc.

Para armazenar esses dados, a memória é o dispositivo de armazenamento utilizado. A


capacidade de armazenamento de uma memória é dada por seu tamanho, que é expresso em
múltiplos de bits.

Convém lembrar que o bit é a unidade fundamental de informação do computador, como


Obs foi dito na Seção 2.8.2.
P. 111 Seção 3.1

Nome Tamanho em bytes


Quilobyte (KB) 1.024, ou 210
Megabyte (MB) 1.048.576, ou 220
Gigabyte (GB) 1.073.741.824, ou 230

Tabela 3.1: Múltiplos de bytes

Os múltiplos de bits começam com o byte, que é representado por oito bits. A partir do
byte, são definidos os múltiplos utilizados para representar quantidades manipuladas:
A evolução dos computadores resultou em um aumento significativo da capacidade de ar-
mazenamento e processamento. Assim, podemos encontrar dispositivos de armazenamento com
capacidade medida em Terabyte (TB), que equivale a 240 bytes, ou 1.024 Gigabytes (GB).
Além de seu tamanho, a memória se caracteriza por ser de dois tipos distintos: a Memória
Principal e a Memória Secundária.

Memória Principal

A Memória Principal é encarregada de armazenar dados que estão sendo utilizados no momento
em que um usuário está utilizando o computador. Portanto, ela funciona somente quando o
computador está ligado. Ela fica na parte interna do computador, por isso dificilmente ela é vista.
A Figura 3.2 ilustra um exemplo de chip de memória.

Figura 3.2: Chip de memória.

Por funcionar somente quando o computador está ligado, a memória principal é dita volátil.
Isso significa que, quando o computador é desligado, tudo o que estava nessa memória se perde!
Assim, quando você está trabalhando em um documento, numa planilha de dados ou outro tipo
de arquivo, é importante que você os salve para não perdê-los. Alguns aparelhos e aplicativos
possuem a função de salvar automaticamente, porém não é uma boa ideia se acostumar a utilizar
somente esses recursos. O ideal é adotar o hábito de ativamente salvar seus arquivos enquanto
trabalha. Ao salvar um arquivo, ele está sendo enviado para um dispositivo de armazenamento
secundário, a Memória Secundária.

Memória Secundária

A Memória Secundária é encarregada de manter os dados armazenados, independente de o


computador estar ligado ou não. Os arquivos armazenados nesse tipo de memória só são retirados
quando são apagados pelo usuário do computador, ou por um programa. Por esta razão, a
memória secundária é dita não-volátil. Alguns exemplos de dispositivos de armazenamento
secundário estão listados no Exemplo 3.2.
 Exemplo 3.2 Alguns dispositivos de armazenamento secundário:

• Disco rígido mecânico (HD);


Seção 3.1 P. 112
• Disco rígido de estado sólido (SSD), mais rápido e seguro que o HD;
• pendrive;
• CD e DVD;
• Cartão de memória.

Exercício 3.2 Responda às perguntas abaixo:

(a) Quando instalamos um programa no computador, em que tipo de memória ficam


armazenados os arquivos deste programa?
(b) Quando estamos utilizando um programa no computador, em que tipo de memória ficam
armazenados os arquivos deste programa?
(c) Durante a digitação de um documento ainda não salvo no computador, o que acontece
com esse arquivo quando ocorre um problema de falta de energia e o computador seja
desligado?
(d) Pendrive, CD e cartões de memória são chamados também de mídias. Assim, as mídias
são memórias voláteis ou não-voláteis?

Solução. As respostas às perguntas do Exercício 3.2 são:


(a) Quando instalamos um programa no computador, os arquivos ficam armazenados na
memória secundária (no HD).
(b) Quando estamos utilizando um programa no computador, os arquivos e dados referentes ao
funcionamento do programa em questão ficam armazenados na memória principal.
(c) O documento se perde, pois ele não tinha sido salvo. Assim, o documento estava armazenado
somente na memória principal, que perde tudo quando o computador é desligado.
(d) As mídias, como o pendrive, o CD e os cartões de memória são memórias não-voláteis.


Armandinho, de Alexandre Beck.

Processador

O trabalho do Processador (ou CPU) é executar comandos armazenados em memória (código de


programas e dados). Assim, por exemplo, cada vez que acionamos uma tecla, clicamos no mouse
ou abrimos um aplicativo, enviamos instruções para o processador executar. O processador é
composto de uma placa de cerâmica de 2 polegadas com um chip de silício. Um exemplo de
processador pode ser visto na Figura 3.3.
A unidade central de processamento é composta por: unidade lógica e aritmética, unidade de
controle, e registradores.

• A unidade lógica e aritmética (ULA) assume todas as tarefas relacionadas às operações


lógicas (and, or, not, etc.) e aritméticas (adições, subtrações, ...).
P. 113 Seção 3.1

Figura 3.3: Um processador.

• A unidade de controle (UC) assume toda a tarefa de controle das ações a serem realizadas
pelo computador, comandando todos os demais componentes da máquina. É a UC que deve
garantir a correta execução dos programas e a utilização dos dados corretos nas operações
que as manipulam.
• Os registradores compõem uma memória interna à CPU, que permite o armazenamento de
valores intermediários ou informação de comando. São memórias de altíssima velocidade,
mas com capacidade de armazenamento bem limitada.

A sigla CPU significa Central Processing Unit, ou Unidade Central de Processamento.


Obs Muitas pessoas usam a sigla UCP ou CPU para se referir ao gabinete do computador, o
que não é correto.

A evolução dos gráficos em computadores foi impulsionada pelo desenvolvimento de uma


Obs unidade de processamento adicional: a GPU (Graphics Processing Unit). Esta unidade se
dedica especificamente às atividades gráficas presentes em jogos, aplicações para a criação de
modelos tridimensionais e para edição e exibição de vídeo. Tais aplicações exigem cálculos
muito mais especializados, que poderiam sobrecarregar a CPU.

 Exemplo 3.3 A Figura 3.4 ilustra a evolução gráfica em jogos de duas famosas franquias. O
surgimento da GPU possibilitou “liberar” a CPU do processamento de cálculos mais pesados
necessários à exibição gráfica, sem comprometer a velocidade de processamento da CPU. A GPU
fica localizada na chamada placa de vídeo.

(a) Super Mario (1985 a 2017). (b) FIFA (1993 a 2020).

Figura 3.4: Evolução gráfica em franquias de jogos eletrônicos

Os componentes de hardware que acabamos de estudar –

• Dispositivos de entrada e saída;


• Dispositivos de armazenamento;
Seção 3.1 P. 114

• Unidade de processsamento

– compõem o que chamamos de Arquitetura do computador. Em particular, essa arquitetura foi


proposta pelo matemático John von Neumann (1903 - 1957), e pode ser resumida no diagrama
simplificado, apresentado na Figura 3.5.

Figura 3.5: Arquitetura de von Neumann.

3.1.2 – Software

São os programas que nos permitem realizar atividades específicas num computador. Jogos,
editores de texto, editores de fotos e navegadores web são exemplos de software.
O hardware e o software sempre trabalham em conjunto. Enquanto o software faz as operações,
o hardware é a parte física com a qual essas funções podem ser realizadas.
A variedade de softwares que encontramos à nossa disposição é imensa, e eles podem ser
classificados conforme o seu propósito. Assim, podemos dividir os softwares nos seguintes tipos:
software básico, software aplicativo e software utilitário.

Software Básico

São programas utilizados para o funcionamento do sistema. Por exemplo, quando queremos abrir
um arquivo, não precisamos nos preocupar com os mecanismos físicos que devem ser acionados
para que esse arquivo seja encontrado e exibido. Resumindo, o software básico promove a
interação entre máquina e usuário. Exemplos de softwares básicos são o sistema operacional,
compiladores etc.

O sistema operacional é o software básico mais importante do computador. Ele é instalado


Obs em uma área especial dentro do disco rígido e é carregado (para a memória principal) toda
vez que o computador é ligado. É ele que controla todos os recursos do computador. Os
sistemas operacionais mais conhecidos são: Windows, Linux e MacOS.

Conheceremos um pouco mais sobre softwares compiladores quando estivermos estudando


Obs conceitos específicos de programação.
P. 115 Seção 3.1

Software Aplicativo

São programas utilizados pelos usuários para auxiliar nas tarefas realizadas no dia a dia. Dentre os
softwares aplicativos, podemos citar os editores de texto, navegadores web, planilhas eletrônicas,
programas gráficos, editores de vídeo etc.

Software Utilitário

São programas que permitem ao usuário realizar tarefas adicionais àquelas oferecidas pelo sistema
operacional. Exemplos de softwares utilitários são os compactadores de arquivos (como o Winzip),
os antivírus, os aplicativos para desfragmentação de unidades de discos etc.
Exercício 3.3 Classifique os componentes abaixo como hardware ou software:

(a) Disco rígido (HD)


(b) Linux
(c) Microsoft Windows
(d) Mouse
(e) Microsoft Word
(f) Mesa digitalizadora
(g) Adobe Photoshop

Solução. Podemos classificar os componentes abaixo como:


(a) Disco rígido (HD): hardware.
(b) Linux: software.
(c) Microsoft Windows: software.
(d) Mouse: hardware.
(e) Microsoft Word: software.
(f) Mesa digitalizadora: hardware.
(g) Adobe Photoshop: software.


Exercício 3.4 Classifique os softwares abaixo como básico, aplicativo ou utilitário:

(a) Google Chrome


(b) Linux
(c) Microsoft Word
(d) Microsoft Media Player
(e) Microsoft Windows 10
(f) Winzip
(g) Avast anti vírus

Solução. Podemos classificar os softwares abaixo como:


(a) Google Chrome: aplicativo.
(b) Linux: básico.
(c) Microsoft Word: aplicativo.
(d) Microsoft Media Player: aplicativo.
(e) Microsoft Windows 10: básico.
(f) Winzip: utilitário.
(g) Avast anti vírus: utilitário.

Seção 3.2 P. 116

3.2 – Noções de Algoritmos

Vimos, na Definição 3.1, que o computador é uma máquina capaz de executar instruções. Nesta
seção, vamos aprender como podemos escrever e organizar essas instruções, conhecendo seus
principais comandos e estruturas. Vamos, portanto, aprender a construir algoritmos.
Definição 3.2.1 Um Algoritmo é uma sequência de instruções a serem executadas para a
resolução de um problema.

As instruções que compõem um algoritmo devem atender aos seguintes requisitos:

• As instruções devem ser listadas de modo a seguir uma ordem lógica. A Seção 3.2.3
aprofundará a discussão sobre este requisito.
• Como as instruções serão executadas para produzir uma resultado, ou uma solução para
um problema, tais instruções devem garantir que a quantidade de passos a serem
executados seja finita.
• As instruções não podem conter ambiguidades, ou seja, cada passo a ser executado
deve ser escrito de forma a não permitir mais de uma interpretação. Uma máquina não é
capaz de interpretar metáforas, nem resolver ambiguidades!

O vídeo a seguir mostra uma campanha publicitária da Associação Brasileira de Imprensa, que
destaca o problema da ambiguidade na língua portuguesa por meio de exemplos de frases e
informações que mudam seu sentido por meio do emprego da vírgula.

v Campanha 100 anos da ABI

Algoritmos para a solução de problemas do dia-a-dia

 Exemplo 3.4 Um exemplo clássico de algoritmo é uma receita de bolo. A receita descreve as
regras e operações necessárias para a conclusão de seu objetivo: a preparação de um bolo. A
Figura 3.6 mostra um exemplo de receita.
Ao observar uma receita com atenção, vemos que ela começa descrevendo os ingredientes e
suas quantidades. Em seguida, a receita apresenta as regras para o preparo do bolo, como, por
exemplo, a ordem em que os ingredientes devem ser incluídos, como misturá-los, instruções para
assar a massa, etc.
Repare que, para o bolo sair da maneira como indica a receita, é necessário que as instruções
para o seu preparo sejam executadas corretamente. Se alguma instrução tiver sido executada na
ordem trocada, ou a quantidade de alguns ingredientes for alterada, o resultado será diferente
daquele esperado.
Da mesma forma, em programação, precisaremos que o computador execute as instruções de
modo a solucionar um dado problema. Assim, é nossa responsabilidade escrever algoritmos de
modo a prover as instruções na ordem correta, sem ambiguidades e em uma quantidade finita de
etapas.
Analisando o Exemplo 3.4, percebemos que um algoritmo se mostra útil quando desejamos
ensinar uma pessoa a realizar determinada tarefa.
P. 117 Seção 3.2

Figura 3.6: Receita (ou algoritmo) para fazer um bolo de cacau.

Algoritmo para sacar dinheiro em um caixa eletrônico.


Início
1 - inserir o cartão.
2 - digitar a senha.
3 - informar valor a sacar.
4 - retirar dinheiro e cartão.
5 - sair do caixa eletrônico.
Fim

Figura 3.7: Um algoritmo para sacar dinheiro em um caixa eletrônico.

 Exemplo 3.5 Na Figura 3.7, podemos ver uma sequência de instruções para ensinar uma pessoa
a sacar dinheiro em um caixa eletrônico.
É importante notar que a solução apresentada no algoritmo apresentado na Figura 3.7 pode
ser mais detalhada, incluindo mais passos para deixar as instruções ainda mais claras.

Exercício 3.5 Que outros passos você sugeriria incluir no algoritmo do Exemplo 3.5 (Figura
3.7) para deixá-lo mais preciso e detalhado?

Solução. Não existe solução única para o Exercício 3.5. No entanto, vamos deixar aqui uma
das inúmeras possíveis soluções para aprimorar o algoritmo do Exemplo 3.5 (veja Figura 3.8). 

Exercício 3.6 Proponha algoritmos para as tarefas a seguir:

(a) Trocar uma lâmpada.


(b) Fazer uma tapioca com coco ralado.
(c) Atravessar uma rua.

Solução. É possível ver nas Figuras 3.9, 3.10 e 3.11 propostas bem rudimentares de al-
goritmos para cada problema. Você pode propor melhorias e aprimoramentos aos algoritmos
apresentados.
Seção 3.2 P. 118
Algoritmo aprimorado para sacar dinheiro em um caixa eletrônico.
Início
1 - ir até o caixa eletrônico.
2 - inserir o cartão.
3 - aguardar terminal solicitar a senha.
4 - digitar a senha.
5 - escolher operação a ser efetuada: “saque”.
6 - informar valor a sacar.
7 - retirar dinheiro e cartão.
8 - guardar dinheiro e cartão.
9 - sair do caixa eletrônico.
Fim

Figura 3.8: Um algoritmo aprimorado para sacar dinheiro em um caixa eletrônico.

Solução do Exercício 3.6(a): Algoritmo para trocar uma lâmpada.


Início
1 - desligar o interruptor de luz.
2 - pegar uma lâmpada nova.
3 - posicionar uma escada abaixo da lâmpada.
4 - subir a escada.
5 - retirar a lâmpada queimada.
6 - encaixar a lâmpada nova.
7 - descer da escada.
8 - descartar lâmpada queimada.
Fim

Figura 3.9: Um algoritmo para trocar uma lâmpada.


Como foi dito antes, os algoritmos apresentados nas Figuras 3.9, 3.10 e 3.11 são sequências
de instruções rudimentares. Observando com atenção, podemos aprimorar essas sequências
de instruções, adicionando detalhes a cada passo a ser executado, e até mesmo propondo um
conjunto diferente de passos para resolver os mesmos problemas.
É importante despertar o olhar crítico sobre os exemplos apresentados (em especial, as soluções
do Exercício 3.6), e tentar propor melhorias a cada um deles. Mas, não se preocupe: com a
prática, vamos adquirindo essa habilidade. Aqui vão algumas dicas de como proceder antes de
escrever um algoritmo:

(a) Verifique se você compreendeu bem o problema. Isso é essencial para propor os passos para
se chegar à sua solução;
(b) Procure reconhecer e listar os elementos necessários à solução do problema;
(c) Pense em uma ordem lógica para os passos que vão utilizar e manipular os elementos
envolvidos na solução.

Com isto, vamos, aos poucos, ganhando mais habilidades e experiência.

Escrever algoritmos é como andar de bicicleta. Quando mais praticamos, mais habilidosos
Obs ficamos!
P. 119 Seção 3.2

Solução do Exercício 3.6(b): Algoritmo para fazer uma tapioca com coco ralado.
Início
1 - pegar a goma da tapioca.
2 - despejar a goma em uma vasilha.
3 - pegar o coco ralado.
4 - despejar o coco ralado na mesma vasilha da goma.
5 - adicionar sal à mistura de tapioca e coco ralado.
6 - pegar um frigideira.
7 - colocar a frigideira no fogão.
8 - esperar a frigideira aquecer.
9 - colocar um pouco de tapioca na frigideira quente.
10 - esperar a goma assar.
11 - virar a tapioca.
12 - servir a tapioca em um prato.
Fim

Figura 3.10: Um algoritmo para fazer uma tapioca com coco ralado.

Solução do Exercício 3.6(c): Algoritmo para atravessar uma rua.


Início
1 - olhar para o lado direito da pista.
2 - olhar para o lado esquerdo da pista.
3 - atravessar a rua.
Fim

Figura 3.11: Um algoritmo para atravessar uma rua.

Algoritmos para a solução de jogos

Vamos praticar a escrita de algoritmos para solucionar alguns jogos. Nesta subseção, vamos
analisar alguns exemplos.
 Exemplo 3.6 Considere o seguinte jogo: você tem três missionários e três canibais juntos, à
margem de um rio. Sua missão é atravessar os missionários e os canibais para a outra margem
do rio, sob as seguintes condições:

• A barca que atravessa os missionários e os canibais só se movimenta se tiver pelo menos


uma pessoa nela.
• A quantidade máxima de pessoas que a barca suporta é de 2 pessoas.
• Em nenhuma das margens podemos ter uma quantidade de canibais maior que a quantidade
de missionários.

Um dos possíveis algoritmos para solucionar este problema está apresentado na Figura 3.12.

Você pode acessar o jogo dos missionários e canibais no site do Racha Cuca. Aproveite
Obs para experimentar outros jogos disponíveis no site!

 Exemplo 3.7 Considere o jogo a seguir: um robô precisa da sua ajuda para chegar até uma

lamparina para poder apagá-la. A Figura 3.13 mostra o cenário do jogo.


Sua missão é prover as instruções para o robô chegar até a lamparina, obedecendo às seguintes
restrições:

• O robô só pode se movimentar pelos ladrilhos azuis.


Seção 3.2 P. 120

Tela do jogo da travessia dos missionários e canibais, do site Racha Cuca. Acesso em 26/08/2021.

Algoritmo para o jogo dos missionários e canibais.


Início
1 - dois canibais atravessam o rio.
2 - um deles volta trazendo a canoa.
3 - novamente, dois canibais atravessam o rio.
4 - um dos canibais volta.
5 - dois missionários atravessam o rio.
6 - voltam um missionário e um canibal.
7 - dois missionários atravessam o rio.
8 - o canibal que estava do outro lado volta com a canoa.
9 - dois canibais atravessam o rio.
10 - um canibal volta.
11- e, finalmente, dois canibais completam a travessia.
Fim

Figura 3.12: Um algoritmo para solucionar o problema dos missionários e canibais.

• A trajetória do robô deve ser feita de modo que ele ocupe um ladrilho por vez.
• Cada novo ladrilho a ser ocupado pelo robô deve compartilhar uma aresta com o ladrilho
onde ele estava anteriormente. As Figuras 3.14(a) e 3.14(b) indicam movimentações
válidas para o robô.
• Não são permitidas movimentações entre ladrilhos que não compartilham uma aresta entre
si. A Figura 3.14(c) indica um movimento não permitido para o robô.
• Cada movimentação ocorrerá mediante uma instrução dada por você. As instruções poderão
ser:
– Mover para a frente. Esta instrução faz o robô avançar um ladrilho apenas.
– Girar para a direita X graus. Esta instrução faz o robô girar para a direita, sem
sair do ladrilho onde está. O ângulo do giro será dado pelo valor que você der a X.
– Girar para a esquerda X graus. Esta instrução faz o robô girar para a esquerda,
sem sair do ladrilho onde está. O ângulo do giro será dado pelo valor que você der a
X.

Um algoritmo para solucionar o problema pode ser visto na Figura 3.15.

Exercício 3.7 É possível observar que o Algoritmo apresentado na Figura 3.15 não é a única
sequência de instruções possível para resolver o problema. Para praticar, proponha um outro
algoritmo para resolver o jogo do Robô.

Solução. Podemos ver, na Figura 3.16, uma solução alternativa para o algoritmo apresentado
P. 121 Seção 3.2

Figura 3.13: Cenário do jogo do robô.

(a) (b) (c)

Figura 3.14: Regras para a movimentação do Robô no ladrilho.

na Figura 3.15.

É importante ressaltar que você pode encontrar uma solução diferente da apresentada na
Obs Figura 3.16!

Exercício 3.8 Considere o seguinte jogo: temos um robô capaz de realizar trajetórias específicas,
deixando um rastro por onde passa. Nossa missão é ajudá-lo a descrever trajetórias, de modo
a deixar rastros que formem desenhos.
O robô é capaz de compreender instruções do tipo:

• Andar para a frente X metros;


• Girar para a direita X graus;
• Girar para a esquerda X graus.

Proponha instruções para que o robô deixe rastros desenhando as seguintes figuras geomé-
tricas:

(a) Um quadrado com lados medindo 3 metros;


(b) Um triângulo equilátero com lados medindo 2 metros;

Solução. Os algoritmos apresentados nas Figuras 3.17 e 3.18 são exemplos de soluções para
os Exercícios 3.8(a) e 3.8(b).

 Exemplo 3.8 Considere o jogo das Torres de Hanoi. O jogo consiste em mover os três anéis
coloridos organizados por tamanho, empilhados na haste ORIGEM, para a haste DESTINO, sob
as seguintes condições:
Seção 3.2 P. 122
Algoritmo para o jogo do Robô.
Início
1 - Girar para a esquerda 45 graus.
2 - Mover para a frente.
3 - Girar para a direita 90 graus.
4 - Mover para a frente.
5 - Mover para a frente.
6 - Mover para a frente.
7 - Girar para a esquerda 90 graus.
8 - Mover para a frente.
9 - Mover para a frente.
10 - Mover para a frente.
11 - Girar para a esquerda 90 graus.
12 - Mover para a frente.
13 - Girar para a direita 90 graus.
14 - Mover para a frente.
Fim

Figura 3.15: Um algoritmo para solucionar o problema do jogo do Robô.

• Deve-se mover somente um anel por vez.


• Só é permitido mover anéis que estejam no topo de uma pilha.
• Não é permitido empilhar um anel sobre outro de menor tamanho.
• A haste TRABALHO pode ser utilizada, se necessário, para auxiliar nos movimentos dos
anéis, desde que obedeça às mesmas regras aqui listadas.
A Figura 3.19 ilustra a configuração inicial do jogo, e o seu objetivo na configuração final.
Uma solução para este jogo poderia ser a seguinte sequência de passos, descritos na Figura 3.20.

Deve-se observar que a solução apresentada é apenas uma das soluções possíveis. Ou-
Obs tras sequências de passos podem ser propostas, contanto que solucione o problema sem
desobedecer às suas regras.

Algoritmos para a solução de problemas matemáticos

Os algoritmos vistos até este ponto do nosso material descreveram passos para realizar tarefas
comuns do dia-a-dia, ou para solucionar alguns jogos. A seguir, vamos observar alguns outros
exemplos de algoritmos para a solução de problemas voltados a um contexto matemático.
 Exemplo 3.9 Considere uma aplicação que recebe, de um usuário, dois números e imprima o
resultado da soma desses dois números. O algoritmo da Figura 3.21 apresenta uma sequência de
instruções para que esta tarefa seja executada.
 Exemplo 3.10 Considere uma aplicação que recebe, de um usuário, dois números e imprime
o resultado do produto entre esses dois números. O algoritmo da Figura 3.22 apresenta uma
sequência de instruções para que esta tarefa seja executada.
 Exemplo 3.11 Considere uma aplicação que recebe dois números e imprime o resultado da
divisão do primeiro número fornecido pelo segundo número fornecido. O algoritmo da Figura
3.23 apresenta uma sequência de instruções para que esta tarefa seja executada.
 Exemplo 3.12 Considere uma aplicação que calcula a média aritmética simples de dois números

informados por um usuário. O algoritmo da Figura 3.24 apresenta uma sequência de instruções
para que esta tarefa seja executada.
P. 123 Seção 3.2

Algoritmo para o jogo do Robô.


Início
1 - Girar para a direita 45 graus.
2 - Mover para a frente.
3 - Mover para a frente.
4 - Girar para a esquerda 90 graus.
5 - Mover para a frente.
6 - Girar para a direita 90 graus.
7 - Mover para a frente.
8 - Girar para a esquerda 90 graus.
9 - Mover para a frente.
10 - Mover para a frente.
11 - Mover para a frente.
12 - Girar para a esquerda 90 graus.
13 - Mover para a frente.
14 - Girar para a direita 90 graus.
15 - Mover para a frente.
Fim

Figura 3.16: Um algoritmo diferente para solucionar o problema do jogo do Robô.

Algoritmo para o robô do Exercício 3.8(a).


Início
1 - Andar para a frente 3 metros.
2 - Girar para a direita 90 graus.
3 - Andar para a frente 3 metros.
4 - Girar para a direita 90 graus.
5 - Andar para a frente 3 metros.
6 - Girar para a direita 90 graus.
7 - Andar para a frente 3 metros.
Fim

Figura 3.17: Um algoritmo para ajudar o robô do Exercício 3.8(a) a descrever uma trajetória
quadrada.

Exercício 3.9 Com base nos exemplos vistos nas Figuras 3.21 a 3.24, proponha um algoritmo
para calcular a área de um triângulo.

Solução. O algoritmo proposto na Figura 3.25 é uma das possíveis soluções para o Exercício
3.9.


Exercício 3.10 Com base nos exemplos vistos nas Figuras 3.21 a 3.24, proponha um algoritmo
para calcular a área de um quadrado.

Solução. O algoritmo proposto na Figura 3.26 é uma das possíveis soluções para o Exercício
3.10.

Seção 3.2 P. 124
Algoritmo para o robô do Exercício 3.8(b).
Início
1 - Andar para a frente 2 metros.
2 - Girar para a direita 60 graus.
3 - Andar para a frente 2 metros.
4 - Girar para a direita 60 graus.
5 - Andar para a frente 2 metros.
Fim

Figura 3.18: Um algoritmo para ajudar o robô do Exercício 3.8(b) a descrever uma trajetória
triangular.

(a) Configuração inicial. (b) Configuração final.

Figura 3.19: O jogo das Torres de Hanoi.

3.2.1 – Formas de Representação de Algoritmos

Os algoritmos vistos anteriormente neste material têm sido representados como um texto estrutu-
rado, ao qual damos o nome de Descrição Narrativa. Porém, existe uma representação gráfica
para algoritmos, denominada Fluxograma.
Definição 3.2.2 Um Fluxograma é um diagrama utilizado para representar um algoritmo.

O fluxograma é construído utilizando-se elementos gráficos específicos para representar cada


estrutura do algoritmo, bem como facilitar a compreensão do fluxo de ações a serem executadas. A
Figura 3.27 apresenta as formas utilizadas na construção de um fluxograma, com seus respectivos
significados.
Faremos uso de fluxogramas para melhor compreender os conceitos a serem estudados na
Seção 3.2.2.
Exemplo 3.13 Tomemos o algoritmo da Figura 3.26. A representação de suas instruções por
meio de fluxograma está apresentada na Figura 3.28.

Exercício 3.11 Proponha um algoritmo para calcular a área de um círculo, dada a medida do
seu raio. Represente seu algoritmo como descrição narrativa e como fluxograma.

Solução. Um algoritmo para resolver o problema do Exercício 3.11 pode ser visto na Figura
3.29.

P. 125 Seção 3.2

Algoritmo para resolver o jogo das Torres de Hanoi.


Início
1 - Mover um anel da haste ORIGEM para a haste DESTINO.
2 - Mover um anel da haste ORIGEM para a haste TRABALHO.
3 - Mover um anel da haste DESTINO para a haste TRABALHO.
4 - Mover um anel da haste ORIGEM para a haste DESTINO.
5 - Mover um anel da haste TRABALHO para a haste ORIGEM.
6 - Mover um anel da haste TRABALHO para a haste DESTINO.
7 - Mover um anel da haste ORIGEM para a haste DESTINO.
Fim

Figura 3.20: Uma solução possível para o jogo das Torres de Hanoi.

Algoritmo para somar dois números fornecidos.


Início
1 - obter o primeiro número, fornecido pelo usuário.
2 - obter o segundo número, fornecido pelo usuário.
3 - efetuar a soma dos dois números.
4 - exibir o resultado da soma para o usuário.
Fim

Figura 3.21: Um algoritmo para somar dois números.

3.2.2 – Estruturas para a Construção de Algoritmos

Alguns problemas, para serem solucionados por meio de um algoritmo, podem necessitar de um
conjunto mais “sofisticado” de instruções. É possível que seja necessário, por exemplo, listar
dentro do algoritmo subconjuntos de instruções, que deverão ser executadas somente mediante
a ocorrência de alguma situação específica. Além disso, em algumas situações, precisaremos
sinalizar, em nossa escrita, a necessidade de se executar uma mesma instrução mais de uma
vez (sem escrever a mesma instrução repetidas vezes). Nesta seção, vamos conhecer algumas
estruturas que nos auxiliam a organizar a escrita dos nossos algoritmos. Tais estruturas são
denominadas Estruturas de Controle, e serão abordadas nas subseções 3.2.3, 3.2.4 e 3.2.5.

3.2.3 – Sequenciação

A própria Definição 3.2 nos mostra que um algoritmo é uma sequência de instruções. Diante deste
conceito, um aspecto importante que devemos destacar é que as instruções serão executadas
na sequência em que foram escritas. Por isto, é muito importante que possamos ordenar as
instruções de maneira apropriada. Para compreender melhor, vamos analisar alguns exemplos.
 Exemplo 3.14 Vamos considerar uma versão modificada do algoritmo da Figura 3.11, que
consiste em instruções para uma pessoa atravessar uma rua. A versão modificada pode ser vista
na Figura 3.30.
Neste caso, a troca na ordem das instruções 1 e 2 não surtiu nenhum efeito drástico. Observe,
porém, o que aconteceria se uma dessas duas primeiras instruções tivesse sido trocada com a
instrução 3. Esta nova versão pode ser vista na Figura 3.31.
O algoritmo da Figura 3.31 surtiria um efeito indesejado: uma pessoa que seguisse essas
instruções poderia correr perigo!
 Exemplo 3.15 Vamos, agora, considerar o algoritmo para preparar uma tapioca com coco
ralado, descrito na Figura 3.10, e vamos trocar de lugar algumas de suas instruções.
Podemos notar que o algoritmo não teria a sua execução concluída, ao se trocar a ordem de
Seção 3.2 P. 126
Algoritmo para calcular o produto entre dois números fornecidos.
Início
1 - obter o primeiro número, fornecido pelo usuário.
2 - obter o segundo número, fornecido pelo usuário.
3 - efetuar a operação de multiplicação entre os dois números.
4 - exibir o resultado da operação para o usuário.
Fim

Figura 3.22: Um algoritmo para calcular o produto entre dois números.

Algoritmo para calcular a divisão de dois números fornecidos.


Início
1 - obter o primeiro número, fornecido pelo usuário.
2 - obter o segundo número, fornecido pelo usuário.
3 - efetuar a operação de divisão dos dois números.
4 - exibir o resultado da operação para o usuário.
Fim

Figura 3.23: Um algoritmo para calcular a divisão de dois números.

certos passos. O passo 7 (esperar a goma assar), por exemplo, jamais seria concluído, pois a
frigideira sequer tinha sido aquecida. A frigideira só vai aquecer depois dos passos 8 e 9. Assim,
a sequência de passos apresentada na Figura 3.32 não constitui um algoritmo para realizar a
tarefa proposta.
 Exemplo 3.16 A Figura 3.33 mostra um algoritmo que não resultará na solução do problema a
ser resolvido. As instruções desse algoritmo não estão organizadas em uma sequência lógica, que
permita a correta execução dos seus passos.
Analisando os Exemplos 3.14 a 3.16, é possível notar que a ordem dos passos de um algo-
ritmo é de grande importância. É necessário sequenciar as instruções de maneira apropriada,
compreendendo as dependências entre cada passo a ser executado.
Definição 3.2.3 Concluindo, podemos dizer que a sequenciação é uma convenção que de-
termina que as instruções de um algoritmo serão executadas seguindo a ordem ocidental de
leitura e escrita: de cima para baixo e da esquerda para a direita.

Momento curiosidade: o vídeo a seguir aborda a diferença entre a ordem de leitura ocidental e
a ordem de leitura oriental, utilizando quadrinhos e mangás como exemplos.

v Mangá e sua forma de leitura oriental.

A representação gráfica de uma sequenciação por meio de um fluxograma é apresentada na


Figura 3.34.
Exercício 3.12 Represente o algoritmo da Figura 3.21 em fluxograma.

Solução. Podemos ver na Figura 3.35 um fluxograma para representar o algoritmo da Figura
3.21.

P. 127 Seção 3.2

Algoritmo para calcular a média aritmética simples de dois números fornecidos.


Início
1 - obter o primeiro número, fornecido pelo usuário.
2 - obter o segundo número, fornecido pelo usuário.
3 - efetuar a soma dos dois números.
4 - dividir o resultado da soma por 2.
5 - exibir o resultado da média aritmética simples para o usuário.
Fim

Figura 3.24: Um algoritmo para calcular a média aritmética simples de dois números.

Algoritmo para calcular a área de um triângulo.


Início
1 - obter, do usuário, a medida da base do triângulo.
2 - obter, do usuário, a medida da altura do triângulo.
3 - efetuar a multiplicação dos dois números obtidos nos passos 1 e 2.
4 - efetuar a divisão do resultado da multiplicação por 2.
5 - exibir o resultado obtido no passo 4 (isto é, a medida da área do triângulo) para o usuário.
Fim

Figura 3.25: Um algoritmo para calcular a área de um triângulo.

3.2.4 – Decisão

No dia-a-dia, é comum termos de decidir que ações tomar, a depender de alguma condição. Por
exemplo, se recebermos um convite para ir ao cinema, primeiro verificamos se podemos ir. Após
essa verificação, realizamos, ou não, a ação de aceitar o convite e ir ao cinema.
O Exemplo 3.17 mostra como podemos estruturar esse raciocínio.
 Exemplo 3.17 Um algoritmo para decidir se vamos ou não ao cinema pode ser visto na Figura
3.36.
 Exemplo 3.18 Considere um algoritmo que obtenha a média final de um(a) aluno(a) e informe
se ele(a) passou direto ou não. A Figura 3.37 ilustra os passos para a realização desta tarefa.
Observe, na Figura 3.37, que se a média final do(a) aluno(a) for, por exemplo, 9 (nove),
o algoritmo irá executar a instrução indicada no passo 3 e não irá executar a instrução
indicada no passo 5. Da mesma forma, aplicando o mesmo algoritmo, se a média final do(a)
aluno(a) for, desta vez, 3,5 (três e meio), o algoritmo irá executar a instrução do passo 5 e não
irá executar a instrução do passo 3.
 Exemplo 3.19 Vamos observar novamente o algoritmo da Figura 3.23, que realiza uma operação
de divisão entre dois números fornecidos. Analisando o algoritmo com cuidado, percebemos que,
a depender do segundo número fornecido pelo usuário, poderíamos acabar forçando a execução de
uma operação matemática inválida! Estamos nos referindo ao caso de o segundo número fornecido
ser igual a zero. Sabemos que não existe divisão por zero, então é importante escrevermos uma
versão melhorada daquele algoritmo. A Figura 3.38 ilustra um aprimoramento possível para o
algoritmo.

Observando os algoritmos das Figuras 3.36 a 3.38, percebemos a utilização das palavras
Obs se, então e senão. Elas são palavras especiais, escolhidas para escrever uma estrutura de
decisão em um algoritmo.
Seção 3.2 P. 128
Algoritmo para calcular a área de um quadrado.
Início
1 - obter, do usuário, a medida do lado do quadrado.
2 - efetuar a operação de potência no valor fornecido pelo usuário, elevando esse valor a 2 (ou seja, elevar a
Fim

Figura 3.26: Um algoritmo para calcular a área de um quadrado.

Figura 3.27: Formas utilizadas em um fluxograma e seus significados.

Por determinarem os desvios no fluxo de execução de instruções em um algoritmo, as


Obs estruturas de decisão recebem, também, o nome de desvios condicionais.

A representação em fluxograma de uma estrutura de decisão é feita por um losango. Dele,


saem dois caminhos: um para as ações a serem executadas, caso o teste da estrutura resulte em
VERDADEIRO e outro para realizar as ações no caso de o teste resultar em FALSO. A Figura
3.39 apresenta um algoritmo contendo uma estrutura de decisão. Observe que existem, partindo
da estrutura de decisão, dois possíveis caminhos de fluxo de execução.
Além de determinar que comandos devem ser executados, as estruturas de decisão podem ser
aplicadas para prevenir a execução de tarefas desnecessárias. Voltando ao algoritmo da Figura
3.9, para trocar uma lâmpada, podemos perceber que, se a lâmpada original estiver funcionando,
não precisaremos nos dar o trabalho de trocar a lâmpada. Assim, podemos verificar essa condição
logo no início do algoritmo, para evitar trabalhos desnecessários. A Figura 3.40 ilustra uma
modificação do algoritmo para contemplar essa possibilidade.
Note que, no algoritmo da Figura 3.40, os passos 3 a 9 só serão executados se a lâmpada
realmente estiver queimada.

Estruturas de Decisão - Observações Gerais

Observando os exemplos apresentados na Seção 3.2.4, percebemos que a estrutura de decisão é


um comando que assume uma das formas gerais apresentadas nas Figuras 3.41 e 3.42.
Para resumir o funcionamento da estrutura de decisão se...então...senão, convém ressaltar:

• O teste realizado dentro da estrutura de decisão será sempre uma expressão que terá como
resultado os valores VERDADEIRO ou FALSO. A Seção 3.3.5 discute tais expressões.
• Observe, nos exemplos apresentados na Seção 3.2.4, um recuo na escrita das instruções
abaixo das linhas que contêm as palavras se...então e senão. A esse recuo, damos o nome
de indentação e ele serve para indicar quantos e quais comandos estão subordinados à
estrutura de decisão.
• Os comandos listados e indentados logo abaixo da linha que contém o “se teste então”
serão aqueles executados no caso específico de o teste resultar em VERDADEIRO.
• Os comandos listados e indentados logo abaixo da linha que contém o comando “senão”
são aqueles que serão executados no caso específico de o teste resultar em FALSO.
• Observando a Figura 3.41, podemos perceber que em uma estrutura de decisão, a porção
“senão” não é obrigatória na estrutura. Porém, a porção “se ... então” o é.

Os Exemplos 3.20 a 3.22 ilustram as observações gerais que acabamos de ver.


P. 129 Seção 3.2

Figura 3.28: Um algoritmo para calcular a área de um quadrado, representado em fluxograma.

Algoritmo para calcular a área de um círculo.


Início
1 - obter, do usuário, a medida do raio do círculo.
2 - efetuar a operação de potência no valor fornecido pelo usuário, elevando esse valor a 2.
3 - tomar o resultado da operação efetuada no passo 2 e multiplicar por 3,14 (valor de PI).
4 - exibir o resultado obtido no passo 3 (isto é, a medida da área do círculo) para o usuário.
Fim
(a) Algoritmo representado em descrição narrativa.

(b) Algoritmo representado em fluxograma.

Figura 3.29: Um algoritmo para calcular a área de um círculo, em duas representações diferentes.

 Exemplo 3.20 Considere o problema de verificar se um dado número é par. Um algoritmo para
este problema pode ser visto na Figura 3.43.

Observe, no algoritmo da Figura 3.43, na linha 3, o teste feito pelo estrutura de decisão:
Obs

3 - se o resto da divisão for diferente de zero então

Podemos notar que o teste tem a forma de uma “pergunta” que só aceita “sim” ou “não”
como resposta. Em outras palavras, o teste será sempre uma expressão que só produzirá
como resultado os valores VERDADEIRO ou FALSO.

 Exemplo 3.21 Considere um sistema que recebe de um usuário um número. Caso o número

fornecido seja par, o sistema realizará duas tarefas:


• Calcular o triplo desse número;
• Exibir o resultado do cálculo feito.
Caso o número não seja par, o algoritmo realiza duas tarefas:
• Calcular o dobro desse número;
• Exibir o resultado do cálculo feito.
Por fim, o sistema exibe uma mensagem de agradecimento por utilizá-lo.
O algoritmo da Figura 3.44 apresenta uma sequência de passos necessários para o funciona-
mento do sistema.
Observando o algoritmo da Figura 3.44, percebemos a indentação dos comandos das linhas 4 e
5. Isso indica que os comandos nessas linhas pertencem à estrutura de decisão escrita na linha 3.
Isto serve para deixar claro que esses dois comandos somente serão executados se o teste resultar
em VERDADEIRO. Já nas linhas 7 e 8, temos outra indentação. Desta vez, para indicar que
Seção 3.2 P. 130
Algoritmo modificado para atravessar uma rua.
Início
1 - olhar para o lado esquerdo da pista.
2 - olhar para o lado direito da pista.
3 - atravessar a rua.
Fim

Figura 3.30: Um algoritmo modificado para atravessar uma rua.

Novo algoritmo modificado para atravessar uma rua.


Início
1 - atravessar a rua.
2 - olhar para o lado esquerdo da pista.
3 - olhar para o lado direito da pista.
Fim

Figura 3.31: Mais uma modificação ao algoritmo para atravessar uma rua.

os dois comandos nessas linhas são parte da porção “senão” da estrutura. Assim, os comandos
das linhas 7 e 8 somente serão executados se o teste resultar em FALSO. Ainda analisando este
algoritmo, percebemos que o comando escrito na linha 10 não está indentado e está escrito após o
comando fim-se. Isso significa que ele não faz parte da estrutura “se...então...senão”. Ele é um
comando que será executado de forma independente, em sequência ao que tiver sido executado
dentro da estrutura “se...então...senão”.
 Exemplo 3.22 Considere um sistema que exibe uma mensagem para um usuário, caso a idade

fornecida seja maior do que 18 anos. Caso o usuário não seja maior de 18 anos, nenhuma ação
será executada. A Figura 3.45 apresenta um algoritmo para este sistema.
Podemos perceber que a estrutura de decisão do algoritmo da Figura 3.45 não possui a porção
“senão”. Ela é somente necessária quando precisamos especificar ações a serem tomadas no caso
de o teste resultar em FALSO. Neste exemplo, é possível ver que o algoritmo não executará
nenhuma ação caso o teste de idade resulte em FALSO (ou seja, a idade fornecida seja menor do
que 18).

Aninhamento de Estruturas de Decisão

Como pudemos ver nesta seção, a estrutura “se...então...senão” divide o fluxo de execução do
algoritmo em dois possíveis caminhos (veja Figura 3.39). Porém, alguns problemas que vamos
desejar resolver com algoritmos poderão contemplar uma quantidade maior de possibilidades de
desvios no fluxo de execução de suas ações.
 Exemplo 3.23 Vamos analisar novamente o algoritmo da Figura 3.37, que determina se um(a)
aluno(a) PASSOU DIRETO ou NÃO PASSOU DIRETO. Os desvios no fluxo de execução podem
ser visualizados no fluxograma da Figura 3.46.
Pensando no problema em um contexto real, sabemos que o(a) aluno(a) que não passa direto
tem ainda outras duas possibilidades: ir para a recuperação, ou ser reprovado(a) direto. Assim, a
partir do ponto do algoritmo em que o(a) aluno(a) não passou direto, um novo teste poderia ser
feito para testar novamente a média do(a) aluno(a), para saber se ele(a) vai para a recuperação
ou se está reprovado(a) direto.
Podemos modelar esse problema por meio da escrita de uma estrutura de decisão dentro da
outra, sinalizando um novo teste feito a partir do teste recém efetuado. Chamamos esse processo
de aninhamento de estruturas de decisão. Desta forma, podemos propor uma versão melhorada
do algoritmo da Figura 3.37, utilizando aninhamento de estruturas de decisão para contemplar
P. 131 Seção 3.2

Algoritmo modificado para fazer uma tapioca com coco ralado.


Início
1 - pegar a goma da tapioca.
2 - despejar a goma em uma vasilha.
3 - pegar o coco ralado.
4 - despejar o coco ralado na mesma vasilha da goma.
5 - adicionar sal à mistura de tapioca e coco ralado.
6 - pegar um frigideira.
7 - esperar a goma assar.
8 - colocar a frigideira no fogão.
9 - esperar a frigideira aquecer.
10 - colocar um pouco de tapioca na frigideira quente.
11 - virar a tapioca.
12 - servir a tapioca em um prato.
Fim

Figura 3.32: Um algoritmo modificado para fazer uma tapioca com coco ralado.

Algoritmo para calcular a área de um círculo.


Início
1 - efetuar a multiplicação do raio do círculo por 3,14.
2 - obter, do usuário, a medida do raio do círculo.
3 - exibir o resultado do cálculo da área do círculo.
Fim

Figura 3.33: Um algoritmo para calcular a área de um círculo. OBS: Esse algoritmo não produzirá
o resultado necessário!

as duas outras possibilidades, uma vez que um(a) aluno(a) não tenha passado direto. Vamos
supor que, para ir para a recuperação, a média deve ser menor do que 7 e maior ou igual a 4. A
Figura 3.47 apresenta o algoritmo em questão.

Observe os diferentes recuos (aninhamentos) no algoritmo da Figura 3.47 para facilitar a


Obs visualização dos comandos que pertencem a cada estrutura.

Para melhor compreender os desvios possíveis em estruturas de decisão aninhadas, o fluxograma


se mostra bastante útil. A Figura 3.48 mostra um fluxograma para representar o mesmo algoritmo
da Figura 3.47.

Uma dica para melhor compreender o fluxograma da Figura 3.48, tome, por exemplo, o
Obs valor 5 para a média e percorra o caminho pelo fluxograma com base neste valor. Depois
teste com um valor 3 e veja que caminho será percorrido. Por fim, tome um valor 9 e
percorra uma última vez o fluxograma. Você deverá ter percorrido um caminho diferente
para cada um desses valores.

Exercício 3.13 Proponha um algoritmo para determinar se um número fornecido por um


usuário é maior que 10, menor que 10 ou igual a 10.

Solução. A Figura 3.49 apresenta um algoritmo para solucionar o problema exposto no


Exercício 3.13.

Seção 3.2 P. 132

Figura 3.34: Um fluxograma representando uma sequenciação de N comandos.

Figura 3.35: Um algoritmo para calcular a soma de dois números, representado em fluxograma.

Exercício 3.14 Observe, na Figura 3.49, que na linha 8, o algoritmo executa um comando de
exibição de mensagem afirmando que o número fornecido é igual a 10. É realmente possível
tirar essa conclusão na linha 8? Demonstre sua conclusão.

Solução. Sim, é possível concluir, na linha 8 do algoritmo da Figura 3.49 que o número
fornecido pelo usuário foi igual a 10. É possível concluir isso, porque, para chegar à linha 8, é
necessário que o teste feito na linha 5 tenha resultado em FALSO (ou seja, o número não é maior
do que 10); e para chegar à linha 5, que testa se o número é menor que 10, é necessário que
o teste feito na linha 2 tenha resultado em FALSO também (o teste se o número é maior que
10). Logo, o número fornecido nem é maior, nem é menor que 10. Assim, o número fornecido só
pode ser igual a 10. Observando o mesmo algoritmo em fluxograma (veja Figura ??), é possível
compreendê-lo melhor.
Recomenda-se testar o algoritmo com o valor de entrada igual a 10 e verificar o fluxo de
instruções a serem executadas. 

Exercício 3.15 Proponha um algoritmo para obter uma informação de hora de um usuário e
exibir uma saudação de acordo com a hora informada. As possíveis saudações variam conforme
a hora informada e podem ser:

• “Bom dia”, se hora informada for menor que 12;


• “Boa tarde, se hora informada for maior ou igual a 12 e menor que 18;
• “Boa noite, se hora informada for maior ou igual a 18.

Solução. A Figura 3.51 apresenta um algoritmo para o problema exposto no Exercício 3.15.
É deixado para o(a) aluno(a) a tarefa de esboçar um fluxograma para representar o mesmo
algoritmo.


É importante ressaltar que o algoritmo da Figura 3.51 não é a única sequência de instruções
Obs válida para resolver o problema. Você pode propor versões diferentes desse algoritmo e
ainda assim, estar correto!

Exercício 3.16 Proponha um algoritmo que receba 3 números e os exiba em ordem crescente.

Solução. Este é um exercício clássico quando se estuda aninhamento de estruturas de


decisão. Ao se tomar três valores numéricos A, B e C, temos as seguintes possibilidades de
ordenação por ordem crescente:
• A>B>C
P. 133 Seção 3.2

Algoritmo para decidir se vou ao não ao cinema.


Início
1 - obter a informação sobre a quantia total disponível na carteira.
2 - se a quantia for maior ou igual a 50 então
3 - vou ao cinema
4 - senão
5 - ficarei em casa mesmo
6 - fim-se
Fim

Figura 3.36: Um algoritmo para decidir se vou ao não ao cinema.

Algoritmo para informar se um(a) aluno(a) passou direto, dada a sua média final.
Início
1 - obter a média final do(a) aluno(a).
2 - se a média for maior ou igual a 7 então
3 - exibir mensagem de “PASSOU DIRETO”
4 - senão
5 - exibir mensagem de “NÃO PASSOU DIRETO”
6 - fim-se
Fim

Figura 3.37: Um algoritmo para informar se um(a) aluno(a) passou direto, dada a sua média
final.

• A>C>B
• C>A>B
• B>A>C
• B>C>A
• C>B>A

Para identificar cada possível caso, utilizaremos estruturas de decisão aninhadas, para conduzir
os testes entre os três valores fornecidos. A Figura 3.52 apresenta um algoritmo para resolver
este problema. Nesse algoritmo, podemos perceber a importância da indentação para melhorar a
compreensão sobre quais comandos pertencem a quais estruturas.

Nunca é demais repetir que o algoritmo da Figura 3.52 não é o único possível para resolver
Obs o problema. Dois ou mais algoritmos podem ser diferentes, mas se produzirem o mesmo
resultado, estão todos corretos.

O algoritmo da Figura 3.52 está representado em fluxograma na Figura 3.53.




3.2.5 – Repetição

Algumas ações precisam ser executadas repetidas vezes em um algoritmo. No entanto, isso não
significa que precisamos escrever as mesmas instruções repetidas vezes. Vamos conhecer, nesta
subseção, as estruturas de controle utilizadas para organizar instruções que se repetem.
Vamos analisar novamente a tarefa de trocar uma lâmpada, com algoritmo apresentado na
Figura 3.9. Desta vez, vamos considerar que existe a possibilidade de a nova lâmpada a ser
instalada estar também queimada. Assim, é necessário testar a nova lâmpada antes de instalá-la.
Além disso, se a lâmpada nova estiver queimada, será necessário obter uma outra lâmpada e
Seção 3.2 P. 134
Algoritmo melhorado para exibir o resultado da divisão entre dois números fornecidos.
Início
1 - obter o primeiro número, fornecido pelo usuário.
2 - obter o segundo número, fornecido pelo usuário.
3 - se o segundo número for diferente de zero então
4 - efetuar a operação de divisão dos dois números.
5 - exibir o resultado da operação para o usuário.
4 - senão
5 - exibir mensagem de “NÃO FOI POSSÍVEL REALIZAR A OPERAÇÃO DE DIVISÃO!”
6 - fim-se
Fim

Figura 3.38: Um algoritmo melhorado para exibir o resultado da divisão entre dois números
fornecidos.

Figura 3.39: Representação do algoritmo da Figura 3.36 em fluxograma.

testá-la também. O processo deverá se repetir até que finalmente tenhamos encontrado uma
lâmpada boa para instalar. A Figura 3.54 apresenta uma sequência de instruções para este
processo.
A sequência de instruções da Figura 3.54 não pode ser chamada de um algoritmo, visto que a
quantidade de instruções não é finita. O problema ocorre, porque não é possível determinar até
quando será feito o teste se a lâmpada está queimada.
Observe que o teste da lâmpada nova é efetuado por um mesmo conjunto de ações:

• se a lâmpada não acender, então


• retirar a lâmpada queimada
• colocar uma lâmpada nova
Utilizando uma estrutura de repetição, não precisamos escrever várias vezes esse mesmo
conjunto de ações. Podemos escrever esse conjunto de ações dentro de uma estrutura de repetição,
que fará o controle de quantas vezes as ações serão executadas. Para fazer o controle de quantas
repetições serão necessárias, uma estrutura de repetição realiza um teste, como os que utilizamos
em estruturas de decisão, para determinar se é ou não hora de encerrar as repetições de ações.
A estrutura de repetição apresenta o seguinte comportamento:
• Realiza um teste para saber se deve executar os comandos dentro dela;
• Caso positivo, executa, em sequência, os comandos escritos dentro dela;
• Desvia o fluxo de execução para a primeira instrução, refazendo o teste para saber se ainda
será necessário repetir as ações.
• Caso não seja mais necessário, o fluxo de execução segue para outras instruções, escritas
após a estrutura de repetição.
P. 135 Seção 3.2

Algoritmo para troca de lâmpada com um teste inicial.


Início
1 - acionar o interruptor.
2 - se a lâmpada não acender então
3 - pegar uma escada
4 - posicionar a escada abaixo da lâmpada
5 - buscar uma lâmpada nova
6 - acionar o interruptor
7 - subir na escada
8 - retirar a lâmpada queimada
9 - colocar a lâmpada nova
10 - fim-se
Fim

Figura 3.40: Um algoritmo para troca de lâmpada com teste inicial.

1 - se teste então
2 - comando ou uma lista de comandos
3 - fim-se

Figura 3.41: Forma geral para a estrutura de decisão se...então.

A Figura 3.55 esboça o comportamento geral de uma estrutura de repetição.


Vale ressaltar que, assim como utilizamos palavras especiais para a estrutura de decisão
(se...então...senão), nós também precisaremos utilizar palavras especiais para as estruturas de
repetição. Utilizaremos, portanto, as palavras:
• enquanto ... faça
• para ... faça

Estrutura de Repetição enquanto...faça

Para a tarefa de trocar uma lâmpada, poderíamos estruturar as instruções anteriormente escritas
da seguinte forma:

• enquanto a lâmpada não acender, faça


• retirar a lâmpada queimada
• colocar uma lâmpada nova
• fim-enquanto

O teste se a lâmpada não acender se manteve. Porém, nessa nova estrutura, ficou estabelecido
um fluxo de repetições dessas instruções que será finalizado assim que o teste resultar em FALSO,
ou seja, assim que uma lâmpada nova estiver funcionando e acender. Note que o número de
repetições é indefinido, porém a quantidade de instruções escritas é finita.

O teste realizado para controlar a quantidade de repetições a serem realizadas é chamado


Obs de condição de parada.

Vamos comparar as duas estruturas, a de decisão e a de repetição, lado a lado, na Figura 3.56.
Perceba que o teste realizado nas duas estruturas é o mesmo. A diferença é que na estrutura de
decisão, as ações são executadas apenas uma vez. A estrutura de repetição, por sua vez, repete
a execução os comandos, refazendo o teste toda vez que uma nova repetição está prestes a ser
executada. As repetições param quando o teste resultar em FALSO.
Seção 3.2 P. 136
1 - se teste então
2 - comando ou uma lista de comandos
3 - senão
4 - comando ou lista de comandos
5 - fim-se

Figura 3.42: Forma geral para a estrutura de decisão se...então...senão.

Algoritmo para verificar se um dado número é par.


Início
1 - obter, do usuário, o número a ser testado.
2 - obter o resto da divisão do número fornecido por 2.
3 - se o resto da divisão for diferente de zero então
4 - exibir mensagem confirmando que o número fornecido é PAR.
5 - senão
6 - exibir mensagem confirmando que o número fornecido é ÍMPAR.
7 - fim-se
Fim

Figura 3.43: Um algoritmo para verificar se um dado número é par.

Exercício 3.17 Represente as estruturas apresentadas na Figura 3.56 por meio de fluxogramas.
Comente a diferença entre essas estruturas.

Solução. A Figura 3.57 apresenta os fluxogramas das duas estruturas apresentadas na


Figura 3.56.
A principal diferença pode ser vista no fluxo de execução que sai do retângulo que contém as
instruções “retirar lâmpada queimada” e “ colocar lâmpada nova”. Na estrutura de decisão, o
fluxo segue direto para o Fim do algoritmo (o que impossibilita a repetição dessas ações); na
estrutura de repetição, o fluxo segue de volta para o teste feito no início da estrutura. É possível
perceber, também, que na estrutura de repetição, não é possível chegar ao fim do algoritmo
partindo do retângulo. O algoritmo só chega a seu fim quando realmente o teste de lâmpada não
acender resultar em FALSO (o que significaria que finalmente encontramos uma lâmpada boa!).


Exercício 3.18 Precisamos ensinar um robô a comer pipocas de um saquinho. Proponha um


algoritmo para resolver este problema.

Solução. Para solucionar o problema do Exercício 3.18, precisamos identificar as principais


ações a serem realizadas:

• Obter o saquinho de pipocas.


• Conduzir a mão até o saquinho.
• Retirar uma pipoca do saquinho com a mão.
• Levar a mão até a boca.
• Deixar a pipoca dentro da boca.
• Conduzir a mão até o saquinho.
• Retirar uma pipoca do saquinho com a mão.
• Levar a mão até a boca.
• Deixar a pipoca dentro da boca.
• Conduzir a mão até o saquinho.
• .... as ações se repetem!
P. 137 Seção 3.2

Algoritmo para realizar ações específicas sobre um número fornecido.


Início
1 - obter, do usuário, o número a ser testado.
2 - obter o resto da divisão do número fornecido por 2.
3 - se o resto da divisão for diferente de zero então
4 - efetuar uma operação de multiplicação do número fornecido por 3.
5 - exibir o resultado da operação de multiplicação.
6 - senão
7 - efetuar uma operação de multiplicação do número fornecido por 2.
8 - exibir o resultado da operação de multiplicação.
9 - fim-se
10 - exibir uma mensagem de agradecimento por utilizar o sistema.
Fim

Figura 3.44: Um algoritmo para realizar ações específicas, a depender de um número fornecido
por um usuário ser par ou ímpar.

Algoritmo para realizar uma ação específica se usuário for maior de idade.
Início
1 - obter, do usuário, o número referente à sua idade.
2 - se idade fornecida for maior ou igual a 18 então
3 - exibir mensagem informando que o usuário é maior de idade.
4 - fim-se
Fim

Figura 3.45: Um algoritmo que realiza uma ação somente se a idade informada pelo usuário for
maior ou igual a 18 anos.

Podemos perceber que, a partir da segunda ação, há uma repetição de ações. Além disso, não
foi possível determinar de antemão quantas vezes as ações se repetirão. Assim, será necessário
escrever um algoritmo utilizando uma estrutura de repetição do tipo enquanto...faça. A Figura
3.58 apresenta um algoritmo para o problema proposto no Exercício 3.18.


Estrutura de Repetição para...faça

Em algumas tarefas, sabemos de antemão quantas repetições de um determinado conjunto de


ações serão efetuadas. O Exemplo 3.24 descreve uma situação em que a quantidade de repetições
é previamente conhecida.
 Exemplo 3.24 Ainda sobre a tarefa de trocar a lâmpada, vamos imaginar uma situação em que
a iluminação de um ambiente seja composta de 10 lâmpadas, e que precisamos testar e trocar
todas elas. Um algoritmo para resolver esse problema pode ser visto na Figura 3.59.
No comando para...faça da Figura 3.59, existe um contador que controla a quantidade
de repetições realizadas. Como o contador varia de 1 até 10, são efetuadas 10 repetições dos
comandos escritos dentro da estrutura de repetição. Após a décima repetição, o fluxo de execução
do algoritmo sai da estrutura e executa comandos escritos após essa estrutura, se houver.

O contador na estrutura de repetição para...faça é atualizado aumentando 1 unidade a


Obs cada passada na estrutura de repetição. É possível fazer com que as atualizações desse
contador sejam diferentes. Para esses casos, é necessário especificar como será a atualização
desse contador.
Seção 3.2 P. 138

Figura 3.46: Representação do algoritmo da Figura 3.37 em fluxograma.

Algoritmo para determinar o resultado final de um(a) aluno(a).


Início
1 - obter a informação da média do(a) aluno(a).
2 - se média for maior ou igual a 7 então
3 - exibir mensagem informando que o(a) aluno(a) passou direto.
4 - senão
5 - se média for maior ou igual a 4 então
6- informar que o(a) aluno(a) vai para a recuperação.
7 - senão
8 - informar que o(a) aluno(a) foi reprovado(a).
9 - fim-se
10- fim-se
Fim

Figura 3.47: Um algoritmo para determinar o resultado final de um(a) aluno(a), dada a sua
média final.

 Exemplo 3.25 Vamos considerar uma estrutura de repetição do tipo para...faça que necessite
atualizar o contador de repetições de 3 em 3 unidades. Para indicar essa atualização especial,
utilizamos a palavra especial passo, e a estrutura é escrita como segue:

para um contador variando de 1 até 50 passo 3 faça

 Exemplo 3.26 A atualização do contador de repetições pode variar de modo a diminuir seus
valores também. Vamos considerar uma estrutura de repetição do tipo para...faça com um
contador de repetições iniciado com o valor 30 e sendo atualizado com diminuições de 4 unidades
em cada passada, parando as repetições até chegar ao maior valor possível maior do que 1. Para
atualizar o contador em ordem decrescente, utilizaremos um valor negativo para indicar o passo,
e a estrutura é escrita como segue:

para um contador variando de 30 até 1 passo -4 faça

Exercício 3.19 Quantas vezes um conjunto de comandos seriam efetuados se estivessem dentro
de uma estrutura de repetição com um contador igual ao do Exemplo 3.26?

Solução. O contador que iria controlar a quantidade de vezes que um conjunto de comandos
seriam executados assumiria, para a estrutura de repetição em questão, os seguintes valores: 30,
26, 22, 18, 14, 10, 6 e 2.
Como foram 8 possíveis valores, a estrutura de repetição iria executar um conjunto de
comandos dentro dela 8 vezes. 
P. 139 Seção 3.2

Figura 3.48: Representação do algoritmo da Figura 3.37 em fluxograma.

Algoritmo para comparar um número dado com o valor 10.


Início
1 - obter, do usuário, um número.
2 - se número for maior que 10 então
3 - exibir mensagem informando que o número é maior que 10.
4 - senão
5 - se número for menor que 10 então
6- informar que o número é menor que 10.
7 - senão
8 - informar que o número é igual a 10.
9 - fim-se
10- fim-se
Fim

Figura 3.49: Um algoritmo para determinar se um dado número é maior, menor ou igual a 10.

Na solução do Exercício 3.19, o valor 2 seria o menor valor possível para o contador que
Obs satisfaz o teste do contador chegar até 1. A partir do 2, o próximo valor para o contador
seria -2, o que estaria fora do intervalo de 30 a 1, definido para a estrutura de repetição.

Exercício 3.20 Reescreva o algoritmo que ajuda um robô a caminhar deixando no chão um
rastro na forma de um quadrado de lado 3 metros (veja Figura 3.17), utilizando uma estrutura
de repetição. Justifique a sua escolha por uma das estruturas de repetição que estudamos aqui.

Solução. As ações que se repetem são:

• Andar para a frente 3 metros.


• Girar para a direita 90 graus.

Essas ações se repetem 3 vezes, sobrando um comando na linha 7 do algoritmo original (7 -


Andar para a frente 3 metros).
Como sabemos de antemão quantas repetições vamos realizar, podemos escolher uma estrutura
de repetição do tipo para...faça, com um contador variando de 1 até 3. A nova versão do algoritmo
pode ser vista na Figura 3.60.

Seção 3.3 P. 140

Figura 3.50: Representação do algoritmo da Figura 3.49 em fluxograma.

Algoritmo para exibir uma saudação conforme o horário.


Início
1 - obter, do usuário, a informação da hora.
2 - se hora for maior que 18 então
3 - exibir mensagem de “Boa noite”.
4 - senão
5 - se hora for maior que 12 então
6- exibir mensagem de “Boa tarde”.
7 - senão
8 - exibir mensagem de “Bom dia”.
9 - fim-se
10- fim-se
Fim

Figura 3.51: Um algoritmo para exibir uma saudação, de acordo com a hora informada pelo
usuário.

3.3 – Elementos e Comandos Básicos de um Algoritmo


Os algoritmos escritos nas seções anteriores descrevem passos utilizando nossa linguagem natural.
A partir de agora, vamos conhecer alguns elementos e comandos que darão aos nossos algorit-
mos uma notação mais próxima da notação matemática, lógica e computacional. Finalmente,
deixaremos de escrever instruções do tipo:

Obter o resultado da soma de um número dado por outro número dado

e passaremos a escrever, no lugar, instruções do tipo:

soma ← num1 + num2

Nesta subseção, vamos estudar:


• Variáveis e constantes;
• Comandos para entrada e saída de dados;
• Expressões aritméticas;
• Operadores relacionais
• Expressões lógicas.
P. 141 Seção 3.3

Algoritmo para exibir três números fornecidos em ordem crescente.


Início
1 - obter, do usuário, o número A.
2 - obter, do usuário, o número B.
3 - obter, do usuário, o número C.
4 - se A > B então
5 - se B > C então.
6- exibir os números na ordem C, B , A.
7 - senão
8- se A > C então
9- exibir os números na ordem B, C, A.
10- senão
11- exibir os números na ordem B, A, C.
12- fim-se
13- fim-se
14- senão
15- se B > C então
16- se A > C então
17- exibir os números na ordem C, A, B.
18- senão
19- exibir os números na ordem A, C, B.
20- fim-se
21- senão
22- exibir os números na ordem A, B, C.
23- fim-se
24- fim-se
Fim

Figura 3.52: Um algoritmo para exibir três números fornecidos em ordem crescente.

3.3.1 – Variáveis e Constantes

Para guardar dados na memória principal do computador, um programa precisa definir:


• onde os dados serão armazenados;
• que tipo de dado será armazenado;
• que valor será armazenado.
Para isso, utilizamos, em nossos programas e algoritmos, as Variáveis e as Constantes.

Variáveis

As variáveis são o meio pelo qual acessamos dados específicos armazenados na memória. Para
oferecer essa funcionalidade, as variáveis precisam ter:
• um nome;
• um tipo;
• um valor.
O nome da variável é a palavra que usamos nas instruções de nossos algoritmos para acessar
e manipular um dado específico armazenado na memória principal. Para criar o nome de uma
variável, é necessário seguir algumas regras de nomenclatura. Poderemos usar os símbolos:

• a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z
Seção 3.3 P. 142

Figura 3.53: Representação do algoritmo da Figura 3.52 em fluxograma.

• A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z
• 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
• _ (símbolo de underscore)
Exemplos de nomes válidos para variáveis são: soma, resultado, num1, valor2, x_2, totalVen-
das, producao_mes, x123, somaTotal, ABC.

IMPORTANTE: não é permitido usar dígito numérico no início do nome da variável.


Obs Além disso, não é permitido usar espaço em branco no nome de uma variável.

Exemplos de nomes não válidos para variáveis são: 1valor, senha do usuario, 123, AB C,
producao mes.

Embora sejam válidos nomes como ABC e x123 para variáveis, é recomendado adotar nomes
Obs mais significativos para as variáveis. Alguns bons exemplos são: totalVendas, somatorio,
nomeUsuario.
P. 143 Seção 3.3

Algoritmo para troca de lâmpada com teste e repetição indefinida.


Início
1 - pressionar o interruptor.
2 - se a lâmpada não acender então
3 - pegar uma escada
4 - posicionar a escada abaixo da lâmpada
5 - buscar uma lâmpada nova
6 - pressionar o interruptor
7 - subir na escada
8 - retirar a lâmpada queimada
9 - colocar a lâmpada nova
10 - se a lâmpada não acender então
11 - retirar a lâmpada queimada
12 - colocar a lâmpada nova
13 - se a lâmpada não acender então
14 - retirar a lâmpada queimada
15 - colocar a lâmpada nova
.
.
.
Até quando?

Figura 3.54: Um algoritmo modificado para troca de lâmpada, com teste e repetição indefinida.

O tipo da variável indica a natureza dos dados que ela irá armazenar. Em nosso estudo,
vamos considerar os seguintes tipos:
• inteiro, podendo armazenar qualquer valor numérico inteiro;
• real, podendo armazenar qualquer valor numérico com casas decimais;
• texto, podendo armazenar textos, indicados entre aspas duplas;
• caracter, podendo armazenar qualquer letra ou dígito individual, indicado entre aspas
simples;
• lógico, podendo armazenar apenas o valor VERDADEIRO ou FALSO;
A variável representa uma posição na memória principal onde o dado a ser manipulado por
instruções de um algoritmo estará armazenado. É pelo nome da variável que podemos acessar o
dado e manipulá-lo.
As operações aplicadas a uma variável são:
• Declaração de variáveis;
• Inicialização da variáveis;
• Comando de atribuição de valores a variáveis.

Declaração de Variáveis

Em uma receita de bolo, listamos os ingredientes necessários para o seu preparo. Da mesma forma,
precisamos indicar, em nossos algoritmos, que dados serão manipulados. Assim, precisamos
declarar as variáveis que o algoritmo irá utilizar. A declaração de variáveis em um algoritmo
pode ser feita conforme a notação indicada:

<tipo da variável> : <nome da variável>

O Exemplo 3.27 lista alguns comandos válidos para declaração de variáveis.


Seção 3.3 P. 144

Figura 3.55: Esboço do comportamento geral de uma estrutura de repetição.

• se lâmpada não acender, então • enquanto lâmpada não acender, faça


• retirar lâmpada queimada • retirar lâmpada queimada
• colocar lâmpada nova • colocar lâmpada nova
• fim-se • fim-enquanto

(a) Estrutura de decisão. (b) Estrutura de repetição.

Figura 3.56: Comparação entre as estruturas de decisão e de repetição.

 Exemplo 3.27 Alguns comandos válidos de declaração de variáveis. Os nomes são escolhidos
por quem está criando a variável. A única restrição é obedecer às regras de nomenclatura para
variáveis.
tipo nome
inteiro : idade
real : preco
texto : nomeCompleto
caracter: opcao
lógico : venceu

Inicialização de Variáveis

Podemos, no momento da declaração de uma variável, armazenar nela um valor inicial. A notação
que utilizaremos para indicar a inicialização de variável é dada por:

<tipo da variável> : <nome da variável> ← <valor inicial para a variável>

O Exemplo 3.28 lista alguns comandos válidos para inicialização de variáveis.


 Exemplo 3.28 Alguns comandos válidos para inicialização de variáveis. Novamente, os nomes
são escolhidos por quem está criando a variável. A única restrição é obedecer às regras de
nomenclatura para variáveis.
inteiro : idade ← 14
real : preco ← 1.99
texto : nomeCompleto ← “José da Silva”
caracter: opcao ← ’S’
lógico : venceu ← VERDADEIRO
P. 145 Seção 3.3

(a) Estrutura de decisão se...então. (b) Estrutura de repetição enquanto...faça.

Figura 3.57: Estruturas de decisão e repetição para a tarefa de trocar a lâmpada, representadas
em fluxograma.

Algoritmo para ensinar um robô a comer pipocas.


Início
1 - Obter o saquinho de pipocas.
2 - enquanto saquinho não estiver vazio faça
3 - Conduzir a mão até o saquinho.
4 - Retirar uma pipoca do saquinho com a mão.
5 - Levar a mão até a boca.
6 - Deixar a pipoca dentro da boca.
7 - fim-enquanto
Fim

Figura 3.58: Um algoritmo para ensinar um robô a comer pipocas de um saquinho.

Exercício 3.21 Identifique nos itens a seguir quais comandos de inicialização de variáveis é
válido. No caso de um comando inválido, apontar o que o torna incorreto.

(a) texto: nomeCompleto ← Maria de Fátima


(b) real: valorTotal ← 23,50
(c) lógico: finalizou ← VERDADEIRO
(d) caracter: letraInicial ← ’M’
(e) inteiro: x ← “José”
(f) real: clicou ← FALSO
(g) texto: autor ← “Francisco”
(h) caracter: digito ← ’5’

Solução. A solução para o Exercício 3.21 pode ser vista abaixo:

(a) texto: nomeCompleto ← Maria de Fátima


INCORRETO!
O texto “Maria de Fátima” precisaria estar representado entre aspas duplas.
Seção 3.3 P. 146
• para um contador de lâmpadas variando de 1 até 10 faça
• se lâmpada não acender, então
• retirar lâmpada queimada
• colocar lâmpada nova
• fim-se
• fim-para
Figura 3.59: Estrutura de repetição para uma quantidade conhecida de repetições.

Nova versão para o algoritmo da Figura 3.17.


Início
1 - para um contador variando de 1 até 3 faça
2 - Andar para a frente 3 metros.
3 - Girar para a direita 90 graus.
4 - fim-para
5 - Andar para a frente 3 metros.
Fim

Figura 3.60: Uma versão atualizada do algoritmo para ajudar um robô a desenhar um quadrado
no chão, utilizando uma estrutura de repetição.

(b) real: valorTotal ← 23,50


CORRETO
(c) lógico: finalizou ← VERDADEIRO
CORRETO
(d) caracter: letraInicial ← ’M’
CORRETO
(e) inteiro: x ← “José”
INCORRETO!
Para armazenar o dado “José”, a variável precisa ser do tipo texto.
(f) real: clicou ← FALSO
INCORRETO!
Para armazenar o dado FALSO, a variável precisa ser do tipo lógico.
(g) texto: autor ← “Francisco”
CORRETO
(h) caracter: digito ← ’5’
CORRETO

Repare que no item (h) do Exercício 3.21, o comando escrito está correto. A notação ’5’
Obs indica um caracter, e não o valor numérico 5.

A Figura 3.61 traz mais alguns exemplos, destacando as diferenças de notação entre um valor
numérico, um texto e um caracter.
P. 147 Seção 3.3

notação tipo
123 inteiro
3,1415 real
9 inteiro
“123” texto
“3,1415” texto
“9” texto
’9’ caracter

Figura 3.61: Diferenças entre os tipos de valores conforme a sua notação em um algoritmo.

Comando de Atribuição de Valores a Variáveis

A qualquer tempo no fluxo de execução de instruções, podemos precisar modificar (ou atualizar)
o valor armazenado em uma variável. O comando de atribuição efetua o armazenamento de
um novo valor a uma dada variável.

Algumas observações importantes sobre o comando de atribuição de valor a uma variável:


Obs
• É necessário que o tipo da variável tenha sido previamente definido, por meio de um
comando de declaração da variável.
• O valor a ser atribuído à variável precisa ser compatível com o tipo declarado para a
variável. Assim, se temos, poe exemplo, uma variável de nome X do tipo inteiro, não
é possível atribuir a X um valor como “Maria”.
• A notação

variável ← valor

é lida como: “variável recebe valor”.

Podemos atribuir a uma variável um valor conhecido, um valor armazenado em outra variável
ou até mesmo uma expressão.
O Exemplo 3.29 lista alguns comandos válidos para atribuição de valores a variáveis.
 Exemplo 3.29 Alguns comandos válidos para atribuição de valores a variáveis podem ser vistos
na Figura 3.62.

idade ← 15
minhaIdade ← idade
preco ← 10.49
precoAtual ← preco + 1000
nomeCompleto ← “Francisco José da Silva”
opcao ← ’N’
venceu ← FALSO

Figura 3.62: Exemplos de comandos de atribuição de valores a variáveis.

É importante ressaltar que uma variável só guarda um valor por vez. Assim, quando
aplicamos um comando de atribuição a uma variável, o antigo valor armazenado nela será perdido.
O Exemplo 3.30 ilustra esse processo.
 Exemplo 3.30 Seja a variável declarada
Seção 3.3 P. 148

inteiro: matricula

Considere a seguinte sequência de comandos:

Início
1 - matricula ← 100
2 - matricula ← 95
Fim

Ao final da execução dos comandos acima, o valor armazenado na variável “matricula” é o


valor 95. O valor 100, armazenado anteriormente, é descartado da memória do computador e não
pode ser recuperado após a execução do comando da linha 2.

Exercício 3.22 Indique o valor armazenado em cada variável ao final da execução das
sequências de comandos a seguir:

(a) nome ← “Francisco”


nome ← “Antônio”
nome ← “Raquel”

(b) preco ← 50.00


preco ← 49.99

(c) fimJogo ← FALSO


fimJogo ← VERDADEIRO

Solução. Os valores armazenados ao final da execução dos comandos listados no Exercício


3.22 são:

(a) a variável “nome” tem somente o valor “Raquel” armazenado nela.


(b) a variável “preco” tem somente o valor 49.99 armazenado nela.
(c) a variável “fimJogo” tem somente o valor VERDADEIRO armazenado nela.

Exercício 3.23 Proponha um algoritmo para trocar os valores de duas variáveis, A e B.


Inicialmente, A armazena um valor inteiro igual a 5 e B armazena um valor inteiro igual a 7.
Ao final da execução do seu algoritmo, a variável A deverá armazenar o valor 7, e a variável B
deverá armazenar o valor 5.

Solução. O(a) aluno)(a) é encorajado(a) a tentar fazer este exercício antes de verificar esta
solução. Uma primeira ideia que vem à mente é escrever a seguinte sequência de instruções:

1 - inteiro: A ← 5
2 - inteiro: B ← 7
3 - A←B
4 - B←A

Porém, é possível ver que, ao executar a linha 3 do algoritmo, a variável A armazenará o


valor de B, que é 7, e ao executar a linha 4, B receberá esse valor atualizado de A. Aquele valor 5
que A armazenava antes se perdeu. Logo, essa sequência de instruções não serve para solucionar
P. 149 Seção 3.3

o problema. Neste caso, a troca de valores só é possível com o auxílio de uma terceira variável,
que servirá como passo intermediário entre as trocas de valores entre A e B.
A Figura 3.63 apresenta um algoritmo para o problema proposto no Exercício 3.23.

Algoritmo para trocar os valores de duas variáveis


Início
1 - inteiro: A ← 5
2 - inteiro: B ← 7
3 - inteiro: auxiliar
4 - auxiliar ← A
5-A←B
6 - B ← auxiliar.
Fim

Figura 3.63: Um algoritmo para trocar os valores entre duas variáveis.

Constantes

Utilizamos as variáveis para acessar, por meio de instruções de um algoritmo, dados específicos
armazenados na memória do computador. Uma característica importante das variáveis é o fato
de ela poder ter seu valor modificado por meio de comandos e instruções. As constantes, por
sua vez, têm valor fixo. Não é possível modificar o valor de uma constante por meio de um
comando nem instrução de algoritmo.
 Exemplo 3.31 São exemplos de constantes: 2, “José”, ’B’, VERDADEIRO, 4,51.
É muito importante observar com atenção a notação aplicada a cada constante. As diferentes
notações utilizadas no Exemplo 3.31 (sem aspas, com aspas simples e com aspas duplas), definem
o tipo das constantes utilizadas. Podemos identificar, portanto, a seguinte convenção:

Notação Tipo Exemplos


sem aspas numérico e lógico 10, 3,1415, FALSO
com aspas simples caracter ’a’, ’B’, ’2’
com aspas duplas texto “João”, “Ana Clara”, “2021”, “M”

Exercício 3.24 Para cada item a seguir, identifique quais deles representam variáveis e quais
são constantes. Justifique sua resposta.

(a) total
(b) “total”
(c) x
(d) ’x’
(e) “x”
(f) 8
(g) ’8’
(h) “8”
(i) 3,1415
(j) “3,1415”
(k) precoFinal
(l) “precoFinal”

Solução. É possível identificar, por meio da notação adotada, quais elementos em uma
Seção 3.3 P. 150

instrução ou comando de um algoritmo são variáveis e quais são constantes. Vamos analisar os
itens do Exercício 3.24
(a) total: da maneira como está escrito, a palavra só pode ser o nome de uma variável. Se
fosse constante, teria de ser do tipo texto, e portanto, necessitaria de aspas duplas.
(b) “total”: com aspas duplas, é uma constante do tipo texto.
(c) x: sem aspas, é nome de variável.
(d) ’x’: com aspas simples, é uma constante do tipo caracter.
(e) “x”: com aspas duplas, é uma constante do tipo texto.
(f) 8: constante do tipo inteiro. Uma variável não podem ter seu nome iniciando com um
dígito numérico.
(g) ’8’: constante do tipo caracter.
(h) “8”: constante do tipo texto.
(i) 3,1415: constante do tipo real.
(j) “3,1415”: com aspas duplas, não é um valor numérico, e sim uma constante do tipo
texto.
(k) precoFinal: sem aspas, só pode ser o nome de uma variável.
(l) “precoFinal”: com aspas duplas, só pode ser uma constante do tipo texto.


3.3.2 – Comandos de Entrada e Saída

O funcionamento de um algoritmo segue um fluxo geral que inclui: a entrada de dados, o


processamento desses dados e a saída (disponibilização) de resultados do processamento aplicado
aos dados. Nesta seção, vamos conhecer os comandos que utilizaremos para indicar operações de
entrada e saída em nossos algoritmos.

Comando de Entrada

O comando que utilizaremos para indicar a entrada de dados será o comando leia(). Note que
este comando utiliza um par de parênteses em sua notação. Para compreender a sintaxe desse
comando, é necessário compreendermos como funciona o processo de entrada de dados. Uma
sequência de ações é listada no Exemplo 3.32.
 Exemplo 3.32 O processo de entrada de dados em um algoritmo (ou programa) se dá como
segue:
• Mediante solicitação emitida pelo sistema, o usuário do programa digita um valor utilizando
o teclado;
• Após digitar o valor, o usuário digita ENTER;
• Ao digitar ENTER, o valor informado via teclado é armazenado em uma variável;
• A variável em questão recebe o valor informado via teclado por meio do comando leia().
• Os parênteses do comando são o espaço onde devemos escrever o nome da variável que
armazenará o dado de entrada.
Desta forma, a sintaxe do comando de entrada é:

leia(nome da variável que armazenará o dado de entrada)

Assim, o comando leia() traduz para a linguagem algorítmica os comandos que antes costumáva-
mos escrever como “obter, do usuário, ...”.

Utilizaremos um comando leia() para cada valor a ser obtido de um usuário e que desejamos
Obs guardar em uma variável.
P. 151 Seção 3.3

Comando de Saída

Um algoritmo, em geral, produz resultados que são de interesse para alguém. Assim, é necessário
que o algoritmo inclua comandos para fornecer a saída (exibição) dos resultados produzidos.
Uma saída de dados pode ocorrer de diversas formas: por impressora, por caixa de som ou por
exibição de textos e gráficos em monitor. Neste material, vamos considerar a opção de produzir
a exibição de textos em monitor. Para tal, o comando que utilizaremos em nossos algoritmos é
escreva().
Assim como o comando leia(), o comando escreva() também recebe informações entre
parênteses. Neste caso, a informação que devemos escrever entre os parênteses são aquelas
referentes aos resultados e textos que desejamos que o algoritmo exiba.
Há, portanto, diferentes maneiras de utilizar o comando escreva(). A Figura 3.64 lista as
diferentes possibilidades de utilização desse comando.

Exibição Informação entre parênteses Exemplo


Texto simples texto entre aspas duplas escreva(“Olá!”)
Valor de uma variável nome da variável escreva(soma)
Resultado de um cálculo expressão a ser calculada escreva(10 + 5)
Textos e valores de texto e variáveis,
variáveis separados por vírgulas escreva(“Resultado:”, soma)

Figura 3.64: Diferentes maneiras de utilizar o comando escreva().

Exercício 3.25 Reescreva o algoritmo para somar dois números fornecidos por um usuário (ver
Figura 3.21), utilizando comandos de entrada e saída.

Solução. A Figura 3.65 apresenta uma versão modificada do algoritmo da Figura 3.21,
reescrito com a inclusão dos comandos de entrada e saída.

Algoritmo para somar dois números fornecidos.


Início
1 - inteiro: num1, num2, soma
2 - leia(num1)
3 - leia(num2)
4 - soma ← resultado da soma dos dois números.
5 - escreva(soma)
Fim

Figura 3.65: Versão modificada do algoritmo para somar dois números fornecidos por um usuário.

Exercício 3.26 Reescreva o algoritmo para calcular a média aritmética simples de dois números
fornecidos por um usuário (ver Figura 3.24), utilizando comandos de entrada e saída.

Solução. A Figura 3.66 apresenta uma versão modificada do algoritmo da Figura 3.24,
reescrito com a inclusão dos comandos de entrada e saída. 
Seção 3.3 P. 152
Algoritmo para calcular a média aritmética simples de dois números fornecidos.
Início
1 - real: num1, num2, soma, media
2 - leia(num1)
3 - leia(num2)
4 - soma ← resultado da soma de num1 e num2
5 - media ← resultado da divisão da soma por 2
6 - escreva(media)
Fim

Figura 3.66: Algoritmo da Figura 3.24, reescrito com comandos de entrada e saída.

3.3.3 – Expressões Aritméticas

A maioria dos algoritmos que vamos escrever incluirá cálculos matemáticos. Assim, é importante
sabermos como escrever expressões aritméticas em nossos algoritmos. Os operadores aritméti-
cos que vamos utilizar estão listados na Figura 3.67.

operação símbolo
soma +
subtração -
multiplicação *
divisão /
exponenciação **

Figura 3.67: Operadores aritméticos

A ordem de precedência de operadores aritméticos nos algoritmos é a mesma que apren-


demos na matemática. A Figura 3.68 revisa a ordem de precedência dos operadores aritméticos
em uma expressão.

Operador Prioridade
** 1a
/e* 2a
+e- 3a

Figura 3.68: Ordens de precedência de operadores aritméticos

Podemos usar parênteses para mudar a ordem de precedência de operadores aritméticos.


Obs

Exercício 3.27 Indique o valor final armazenado nas variáveis:

(a) y ← 13 - 5 * 2
(b) preco ← (109 - 9) * 0.1
(c) cont ← 3 + 4 * 5
(d) x ← 8 * 2 ** 3
P. 153 Seção 3.3

Solução. As variáveis do Exercício 3.33 armazenam os seguinte valores:

(a) y armazena o valor 3


(b) preco armazena o valor 10
(c) cont armazena o valor 23
(d) x armazena o valor 64

Exercício 3.28 Aplicando operadores aritméticos, reescreva o algoritmo que calcula a média
aritmética simples de dois números dados (veja Figura 3.66), utilizando operadores aritméticos.

Solução. A nova versão do algoritmo indicado no Exercício 3.28 é apresentado na Figura


3.69. Repare na adição de comandos de saída, para estabelecer uma comunicação mais fácil com
o usuário.

Algoritmo para calcular a média aritmética simples de dois números fornecidos.


Início
1 - inteiro: num1, num2, media
2 - escreva (“Por gentileza, forneça um número: ”)
3 - leia(num1)
4 - escreva (“Favor fornecer o segundo número: ”)
5 - leia(num2)
6 - media ← (num1 + num2)/2
7 - escreva (“O resultado da média foi: ”, media)
Fim

Figura 3.69: Um algoritmo para calcular a média aritmética simples de dois números fornecidos,
utilizando operadores aritméticos.


Além dos operadores aritméticos, é comum utilizarmos algumas funções em comandos e instruções
de algoritmos. A Figura 3.70 lista alguns exemplos.

Função Tarefa Exemplo Resultado


abs(A) valor absoluto (sem sinal) de A abs(-4) 4
sq(A) o quadrado de A sq(5) 25
sqrt(A) raiz quadrada de A sqrt(9) 3
mod(A, B) resto da divisão inteira de A por B mod(6, 4) 2
div(A, B) quociente da divisão de A por B div(9, 6) 1

Figura 3.70: Funções auxiliares para cálculos específicos.

 Exemplo 3.33 Considere uma aplicação que necessita calcular a distância entre dois pontos no
espaço bidimensional (2D). Um algoritmo para resolver este problema é apresentado na Figura
3.71.

Observe a utilização de parênteses para indicar que valores e operações devem ser efetuadas
Obs por cada função utilizada na linha 9 do algoritmo da Figura 3.71.
Seção 3.3 P. 154
Algoritmo para calcular a distância entre dois pontos.
Início
1 - inteiro: x1, y1, x2, y2
2 - real: distancia
3 - escreva (“Por gentileza, forneça as coordenadas x e y do Ponto 1: ”)
4 - leia(x1)
5 - leia(y1)
6 - escreva (“Favor fornecer as coordenadas x e y do Ponto 2: ”)
7 - leia(x2)
8 - leia(y2)
9 - distancia ← sqrt(sq(x2 - x1)+sq(y2 - y1))
10- escreva (“A distância entre os dois pontos fornecidos é: ”, distancia)
Fim

Figura 3.71: Um algoritmo para calcular a distância entre dois pontos no espaço bidimensional
(2D).

Exercício 3.29 Proponha um algoritmo para calcular a área de um círculo.

Solução. A Figura 3.72 apresenta um algoritmo para solucionar o problema proposto no


Exercício 3.29.
Algoritmo para calcular a área de um círculo.
Início
1 - real: raio, area
2 - escreva (“Por gentileza, forneça a medida do raio do círculo: ”)
3 - leia(raio)
4 - area ← 3,12 × sq(raio)
5 - escreva (“A medida da área do círculo é: ”, raio)
Fim

Figura 3.72: Um algoritmo para calcular a medida da área de um círculo.

3.3.4 – Operadores Relacionais

Algumas operações nas instruções que compõem um algoritmo envolvem a comparação entre
dois dados valores. Em outras situações, podemos precisar comparar valores com resultados de
expressões. Para efetuar tais comparações, utilizamos os operadores relacionais, listados na
Figura 3.73.

Operação Símbolo
igual a =
diferente de <>
maior que >
menor que <
maior ou igual a ≥
menor ou igual a ≤

Figura 3.73: Operadores relacionais


P. 155 Seção 3.3

As expressões escritas com operadores relacionais resultam em valores lógicos. Em ou-


Obs tras palavras, uma expressão que contém operadores relacionais sempre vai resultar em
VERDADEIRO ou FALSO.

Exercício 3.30 Aplicando operadores relacionais, reescreva os algoritmos das Figuras indicadas:

(a) Algoritmo para exibir o resultado final para um aluno, dada a sua média final (Figura
3.37).
(b) Algoritmo para decidir se vou ou não ao cinema. (Figura 3.36).

Solução. Inserindo variáveis e aplicando comandos de atribuição, comandos de entrada e


saída, operadores aritméticos, operadores relacionais e estruturas de decisão, os algoritmos das
Figuras 3.37 e 3.36 podem ser reescritos como segue:

Algoritmo para informar se um(a) aluno(a) passou direto, dada a sua média final.
Início
1 - real: media
2 - escreva(“Informe a média final do(a) aluno(a): ”)
2 - se media ≥ 7.0 então
(a)
3 - escreva (“PASSOU DIRETO”)
4 - senão
5 - escreva (“NÃO PASSOU DIRETO”)
Fim

Algoritmo para decidir se vou ou não ao cinema.


Início
1 - real: quantia
2 - escreva(“Informe a quantia em Reais disponível em sua carteira: ”)
3 - leia(quantia)
(b)
4 - se quantia ≥ 50 então
3 - escreva(“Hashtag partiu cinema!”)
4 - senão
5 - escreva(“Fique em casa!”)
Fim

Exercício 3.31 Proponha um algoritmo para encontrar as raízes de uma equação do segundo
grau.

Solução. Uma equação do segundo grau é escrita como

ax2 + bx + c = 0. (3.1)

Nosso algoritmo precisará realizar as seguintes tarefas:

1 - Obter os valores de a, b e c.
2 - Calcular o discriminante ∆, obtido pela fórmula

∆ = b2 − 4ac. (3.2)
Seção 3.3 P. 156

3 - Aplicar a fórmula de Bhaskara:


−b ± ∆
x= . (3.3)
2a
Com base nesses passos, vamos escrever um algoritmo para resolver o problema. O algoritmo em
questão pode ser visto na Figura 3.74.

Algoritmo para calcular as raízes de uma equação do segundo grau.


Início
1 - real: a, b, c
2 - real: delta
3 - real: raiz1, raiz2
4 - escreva (“Por gentileza, forneça os coeficientes da equação: ”)
4 - leia(a)
5 - leia(b)
6 - leia(c)
7 - delta ← sq(b) - 4*a*c
8 - se delta < 0 então
9 - escreva(“Não há raízes reais para a equação.”)
11- senão
12- se delta = 0 então
13- raiz1 = -b / 2*a
14- escreva(“A equação tem apenas uma raiz e é igual a”, raiz1)
15- senão
16- raiz1 = (-b + sqrt(delta)) / 2*a
17- raiz2 = (-b - sqrt(delta)) / 2*a
18- escreva(“A equação tem duas raízes, com valores”, raiz1, “e”, raiz2)
19- fim-se
20- fim-se
Fim

Figura 3.74: Um algoritmo para calcular as raízes de uma equação do segundo grau.

Exercício 3.32 Proponha um algoritmo para simular o jogo do intervalo. O jogo consiste em
uma pessoa guardar um número entre 0 e 100, e uma outra pessoa tenta adivinhar que número
é esse, dando palpites. Para cada palpite dado, a pessoa que guarda o número deve dizer “é
maior” ou “é menor”, até que a pessoa consiga acertar o palpite.

Solução. A Figura 3.75 apresenta um algoritmo para o funcionamento do jogo, com um


número-chave igual a 33 (mas qualquer outro valor entre 0 e 100 podia ter sido escolhido).

P. 157 Seção 3.3

Algoritmo para o jogo do intervalo.


Início
1 - inteiro: numeroChave ← 33
2 - inteiro: palpite
3 - escreva(“Bem-vindo ao jogo do intervalo! Boa diversão!”)
4 - escreva(“Dê um palpite:”)
5 - leia(palpite)
6 - enquanto palpite <> numeroChave faça
7 - se palpite < numeroChave então
8- escreva(“Seu palpite é MENOR que o número-chave”)
9 - senão
10- se palpite > numeroChave então
11- escreva(“Seu palpite é MAIOR que o número-chave”)
12- fim-se
13- fim-se
14- escreva(“Tente um novo palpite:”)
15- leia(palpite)
16- fim-enquanto
17- escreva(“Parabéns! Você acertou o número-chave!”)
Fim

Figura 3.75: Algoritmo para o funcionamento do jogo do intervalo.

3.3.5 – Expressões Lógicas

As estruturas de decisão e de repetição compartilham uma característica comum: ambas baseiam


seu funcionamento no resultado de um teste, que produz como resposta o valor VERDADEIRO
ou FALSO. Os operadores relacionais, estudados na Seção 3.3.4, realizam a comparação entre
valores. Com eles, podemos construir expressões que produzem como resultado os valores
VERDADEIRO ou FALSO.
 Exemplo 3.34 A Figura 3.76 mostra algumas expressões construídas com operadores relacionais
e os resultados produzidos.

Expressão Resultado
3*2>5 VERDADEIRO
3>5 FALSO
3*2>4 VERDADEIRO
3*2≤6 VERDADEIRO
“9” = ’9’ FALSO
FALSO <> VERDADEIRO VERDADEIRO
10 * 5 <> 50 FALSO
2 - 3 ** 2 = -7 VERDADEIRO
“Maria” <> “Ana” VERDADEIRO
’C’ = “C” FALSO
’C’ <> ’c’ VERDADEIRO

Figura 3.76: Algumas expressões com operadores relacionais e os resultados produzidos.

As expressões lógicas são em geral utilizadas para definir condições complexas (por exemplo,
que combinam várias expressões relacionais).
Seção 3.3 P. 158

Exemplo 3.35 Considere um algoritmo que lê um número e testa se ele é, ao mesmo tempo,
positivo e par. A Figura 3.77 mostra as instruções do algoritmo.
Algoritmo para determinar se um dado número é positivo e par.
Início
1 - inteiro: valor
2 - escreva(“Por gentileza, digite um número : ”)
3 - leia(valor)
4 - se valor > 0 e, ao mesmo tempo, mod(valor, 2) = 0 então
5 - escreva(“O número informado é positivo e par”)
Fim

Figura 3.77: Algoritmo para testar se um dado número é positivo e par.

Observe que precisamos de um operador para combinar as duas expressões relacionais da


linha 4 do algoritmo da Figura 3.77, de modo a produzir uma expressão com um único resultado.
Os operadores que atendem a essa necessidade são os operadores lógicos.
A Figura 3.78 lista os principais operadores lógicos utilizados na construção de algoritmos.

Operador Resultado
NAO O mesmo produzido pelo conectivo lógico de Negação
E O mesmo produzido pelo conectivo lógico de Conjunção
OU O mesmo produzido pelo conectivo lógico de Disjunção Inclusiva

Figura 3.78: Operadores lógicos e os resultados produzidos por cada um deles.

O operador lógico NAO é aplicado a um operando apenas. Ele é um operador unário.


Obs Os demais operadores lógicos apresentados são binários, necessitando, portanto, de dois
operandos.

A Figura 3.79 apresenta a ordem de precedência de operadores lógicos em uma expressão.


Operador Prioridade
NAO 1a
E 2a
OU 3a

Figura 3.79: Ordens de precedência de operadores aritméticos

Podemos usar parênteses para mudar a ordem de precedência de operadores lógicos.


Obs

 Exemplo 3.36 A Figura 3.80 mostra algumas expressões construídas com operadores lógicos e
os resultados produzidos.

Exercício 3.33 Indique o valor final armazenado nas variáveis (todas as variáveis são do tipo
lógico):

(a) resultado ← 5 = 4 + 1 OU 7 = -7 E 3 = -3*(-1)


(b) venceu ← 100 > 1 E NAO 6 + 5 = 10
P. 159 Seção 3.3

Expressão Resultado
NAO 5 = 4 VERDADEIRO
3 * 2 > 5 E 10 = 9 + 1 VERDADEIRO
3 > 5 OU VERDADEIRO VERDADEIRO
5 < 3 OU 2 + 2 = 5 FALSO
mod(4, 2) = 0 E 4 > 0 VERDADEIRO
NAO div(10, 5) <> 2 VERDADEIRO
VERDADEIRO E NAO 4 = 2*2 FALSO
NAO FALSO VERDADEIRO
10 * 5 <> 50 OU 3 = 0 + 3 VERDADEIRO
3 ** 2 = -7 OU 5 = 2 * 3 FALSO
VERDADEIRO E FALSO FALSO
NAO 6 = 2 + 2 + 2 FALSO
FALSO OU VERDADEIRO VERDADEIRO

Figura 3.80: Algumas expressões com operadores lógicos e os resultados produzidos.

(c) teste ← 6 - 2 * 3 = 0 E (FALSO OU 4 <> 0)


(d) igual ← NAO(8 * 2 = 16 OU 5/1 > 2) OU FALSO

Solução. As variáveis do Exercício 3.33 armazenam os seguinte valores:


(a) resultado armazena o valor VERDADEIRO.
(b) venceu armazena o valor VERDADEIRO.
(c) teste armazena o valor VERDADEIRO.
(d) igual armazena o valor FALSO.

 Exemplo 3.37 Agora que conhecemos os operadores lógicos, vamos reescrever o algoritmo que
testa se um número é positivo e par (veja Figura 3.77). A Figura 3.81 apresenta a nova versão
do algoritmo.

Algoritmo para determinar se um dado número é positivo e par.


Início
1 - inteiro: valor
2 - escreva(“Por gentileza, digite um número : ”)
3 - leia(valor)
4 - se valor > 0 E mod(valor, 2) = 0 então
5 - escreva(“O número informado é positivo e par”)
Fim

Figura 3.81: Algoritmo para testar se um dado número é positivo e par, utilizando um operador
lógico.

 Exemplo 3.38 Considere um sistema que obtém a idade de uma pessoa e informa a sua classe
eleitoral:
• Não eleitor (abaixo de 16 anos);
• Eleitor obrigatório (entre 18 e 65 anos);
• Eleitor facultativo (entre 16 e 18 anos ou acima dos 65 anos).
A Figura 3.82 apresenta um algoritmo para o funcionamento desse sistema.
Seção 3.3 P. 160
Algoritmo para classificar eleitores conforme idade.
Início
1 - inteiro: idade
2 - escreva(“Por gentileza, informe sua idade : ”)
3 - leia(idade)
4 - se idade < 16 então
5 - escreva(“Não eleitor.”)
6 - senão
7 - se (idade ≥ 16 E idade < 18) OU (idade > 65) então
8- escreva(“Eleitor facultativo”)
9 - senão
10- escreva(“Eleitor obrigatório”)
11- fim-se
12- fim-se
Fim

Figura 3.82: Algoritmo para o funcionamento do sistema que classifica um eleitor, dada a sua
idade.

Exercício 3.34 Considere um sistema que recebe as medidas dos três lados de um triângulo e
precisa classificá-lo como EQUILÁTERO, ISÓSCELES e ESCALENO. Proponha um algoritmo
para solucionar este problema.

Solução. A Figura 3.83 apresenta um algoritmo para o problema proposto no Exercício


3.34.

P. 161 Seção 3.3

Algoritmo para classificar triângulos.


Início
1 - inteiro: a, b, c
2 - escreva(“Entre com a medida do primeiro lado: ”)
3 - leia(a)
4 - escreva(“Entre com a medida do segundo lado: ”)
5 - leia(b)
6 - escreva(“Entre com a medida do terceiro lado: ”)
7 - leia(c)
8 - se a < b + c E b < a + c E c < a + b então
9 - se(a = b E b = c) então
10- escreva(“Triângulo EQUILÁTERO”)
11- senão
12- se a = b OU b = c OU b = c então
13- escreva(“Triângulo ISÓSCELES”)
14- senão
15- escreva(“Triângulo ESCALENO”)
16- fim-se
17- fim-se
18- senão
19- escreva(“Medidas informadas NÃO formam um triângulo!”)
20- fim-se
Fim

Figura 3.83: Um algoritmo que classifica triângulos, conforme as medidas de seus lados.
Seção 3.4 P. 162

3.4 – Introdução à Programação Visual


Nesta seção, vamos colocar em prática os conceitos estudados sobre a construção de algoritmos,
utilizando uma ferramenta que nos permitirá criar nossos próprios programas.
Mas, o que é um programa?
Definição 3.4.1 Um Programa é uma sequência de instruções, escritas em uma linguagem
de programação, que descrevem, passo a passo, como uma determinada tarefa deve ser
executada por um computador.

3.4.1 – Noções Básicas

Observando a Definição 3.4.1, percebemos que um programa nada mais é do que a escrita de um
algoritmo utilizando alguma linguagem de programação. São muitas as opções de linguagens,
e cada uma varia de acordo com o propósito pretendido. As linguagens de programação se
apresentam nas mais variadas formas: algumas permitem a escrita de programas como um
código digitado usando o teclado; já outras oferecem comandos na forma de elementos gráficos
que podem ser arrastados com o mouse para formarmos uma sequência de instruções. A esses
elementos gráficos damos o nome de blocos de instruções.
A Figura 3.84(a) mostra um exemplo de um programa escrito em código digitado e a Figura
3.84(b) mostra um exemplo de um programa escrito com a utilização de blocos de instruções.
As linguagens de programação que oferecem comandos na forma de blocos de instruções
caracterizam o que chamamos de Linguagens de Programação Visual.

(a) Programa com comandos digitados. (b) Programa construído com blocos de instruções.

Figura 3.84: Programação convencional versus programação visual

Para continuarmos, é necessário conhecermos ainda um outro conceito: o de Ambiente de


Programação.

Definição 3.4.2 Um Ambiente de Programação é um programa que oferece todas as


ferramentas necessárias para a construção de um programa em uma dada linguagem de
programação. Assim, podemos encontrar, dentro de um ambiente de programação, uma área
para a escrita do programa, uma ferramenta que fará a tradução do seu programa para a
linguagem de máquina, além de botões e menus para executar o programa escrito.
Na figura 3.85, vemos um exemplo de um ambiente de programação de uma linguagem de
programação visual. Note que tudo o que é necessário para a construção dos programas está
presente em uma só janela: o conjunto de blocos de instruções, uma área para a montagem do
programa, uma área para organizar imagens, além de botões para acionar ou parar a execução
do programa.
P. 163 Seção 3.4

Figura 3.85: Ambiente de programação.

É muito comum usar a sigla IDE para se referir a ambientes de programação. Ela significa
Obs Integrated Development Environment, que é o termo em inglês para denominar um ambiente
de programação.

Vamos conhecer as principais partes do ambiente que utilizaremos para escrever nossos programas:
o Scratch1 . A Figura 3.86 indica onde encontrar, na interface do Scratch, cada uma das seções a
seguir:

(a) Categorias de instruções;


(b) Blocos de instruções;
(c) Área de trabalho;
(d) Palco;
(e) Painel dos atores;
(f) Painel do palco.

Categorias de instruções

Em programação visual, a construção de um programa consiste em escolher blocos de instruções


prontos, já oferecidos pela linguagem que escolhemos para trabalhar, e combiná-los arrastando-os
para alguma área especificada pelo ambiente de programação. No Scratch, podemos encontrar
blocos de instruções para realizar diversas tarefas, agrupadas em categorias, para facilitar a
busca por um comando específico.

As categorias de blocos podem ser encontradas na aba “Código”, situada no canto superior
Obs esquerdo da tela.

1
Acesso disponível em https://scratch.mit.edu/
Seção 3.4 P. 164

Figura 3.86: Interface do Scratch, com indicações dos painéis a serem abordados nesta seção.

Blocos de instruções

Os comandos que conhecemos no Capítulo 3 podem ser encontrados, na forma de blocos de


instruções, na interface do Scratch. Na Figura 3.86, é possível ver, em particular, os blocos de
instruções referentes a comandos de estruturas de controle, estudadas na Seção 3.2.2.
A construção de um programa nesta linguagem consistirá, portanto, da escolha dos blocos
referentes às instruções que desejamos utilizar e, com o mouse, clicar e arrastar esses blocos para
a área de trabalho, realizando as devidas combinações entre eles.

Área de trabalho

Indicada na Figura 3.86 com a letra (c), a área de trabalho é a área para onde vamos arrastar
os blocos de instruções escolhidos e combiná-los.
A Figura 3.85 apresenta um exemplo de blocos de instruções combinados na área de trabalho.
O código em questão pode ser visualizado em detalhe na Figura 3.84(b).

Observe como as cores dos blocos de instruções mudam conforme sua categoria.
Obs

Para remover um bloco da área de trabalho, basta arrastá-lo de volta para o painel de
Obs bloco de instruções.

Palco

O palco é a área onde as aplicações que desenvolvemos funcionam e são testadas. É nele que
visualizaremos e testaremos os programas, animações e jogos que podemos desenvolver utilizando
esta linguagem.
P. 165 Seção 3.4

Painel dos atores

Um ator é um elemento ou personagem que podemos inserir em um programa. Toda vez que
formos iniciar um novo programa no Scratch, teremos, por padrão, um ator já inserido no projeto
(um gato).
Podemos inserir um ou mais atores em um mesmo programa. A inserção de novos atores é uma
das funcionalidades oferecidas pelo painel de atores. Além disso, neste painel é possível ajustar
várias propriedades de um ator, como o nome, posição no espaço do palco (em coordenadas x e
y), tamanho, direção e se deve ficar visível ou não.

Painel do palco

O Scratch permite que um mesmo programa possua mais de um cenário, o que possibilita a
criação de aplicações interessantes, como jogos com diferentes fases. O painel do palco oferece
funções para inserir novos cenários, que podem ser escolhidos de um conjunto de cenários prontos
e disponíveis no Scratch, ou um arquivo de imagem salvo em seu computador, ou ainda um
desenho criado a ser criado por você, utilizando as ferramentas de desenho do Scratch. A lista
de todos os cenários inseridos em seu programa podem ser vistos na aba “Cenários”, no canto
superior esquerdo da tela.

As instruções em um programa no Scratch podem manipular tanto os atores quanto os


Obs cenários. Isso nos dá uma vasta gama de possibilidades para explorar a criatividade!

O vídeo a seguir apresenta, de maneira bem detalhada, cada elemento da tela do Scratch.

v Scratch 3, Ep. 2: a interface da aplicação.

3.4.2 – Exemplos de aplicações simples

Para explorar os elementos da interface do Scratch e conhecer melhor suas ferramentas, vamos,
nesta seção, apresentar alguns pequenos projetos práticos.
 Exemplo 3.39 Sempre que vamos estudar uma nova linguagem de programação, o primeiro
exemplo clássico é o bom e velho projeto “Olá, mundo!”. Tal projeto consiste em simplesmente
escrever as instruções necessárias na nova linguagem para que o seu programa exiba uma
mensagem que diz “Olá, mundo!” (ou “Hello, world”). Assim, como este é o primeiro contato
com o Scratch, vamos seguir a tradição e criar nosso projeto “Olá, mundo!”.
Para criar esse programa, você deve antes preparar o Scratch. Para isso, siga os passos
iniciais, ilustrados na Figura 3.87.
Agora, vamos criar o programa! Os passos necessários para fazer o gato “falar” a clássica
frase “Olá, mundo!” são:

• Certifique-se de que a instrução que você vai escrever afetará o gato. Para isso, basta dar
um duplo-clique sobre o gato. Você verá uma cópia menor e mais transparente do desenho
do gato no canto superior direito da área de trabalho.
• Clique na categoria “Aparência”. Isso possibilitará a visualização dos comandos referentes
à exibição de mensagens.
Seção 3.4 P. 166
Passos para iniciar o uso do Scratch
1 - Abrir o Scratch, no endereço scratch.mit.edu.
2 - Clicar no botão “Comece a Criar”.
3 - Vai aparecer uma janelinha com um tutorial. Você deve fechar essa janela.
4 - Prontinho. O Scratch está pronto para que você crie seu programa!

Figura 3.87: Passos iniciais para a utilização do Scratch.

• Você deverá encontrar dois comandos que permitem a exibição de mensagens. A Figura
3.88 ilustra esses blocos.
• Escolha o bloco referente à instrução “diga Olá!” e, com o mouse, arraste-o para a área de
trabalho.
• Dê um duplo-clique onde se lê “Olá!” no bloco de instrução e digite a mensagem “Olá,
mundo!”.
• Para executar o programa, basta clicar no bloco de instrução. Deverá aparecer um
balãozinho, como se o gato estivesse “falando” a frase.

Figura 3.88: Blocos de instruções referentes à exibição de mensagens.

Para encerrar a execução do seu programa, clique no sinal de “Pare”, situado acima do
Obs palco.

 Exemplo 3.40 Neste novo projeto, vamos fazer o gato se comunicar de uma maneira mais
natural para ele. Ele vai miar, ao invés de exibir um balãozinho com uma frase escrita em
linguagem natural humana. Os passos para fazer este programa são:

• Certifique-se de que a instrução que você vai escrever afetará o gato. Para isso, basta dar
um duplo-clique sobre o gato. Você verá uma cópia menor e mais transparente do desenho
do gato no canto superior direito da área de trabalho.
• Clique na categoria “Som”. Isso possibilitará a visualização dos comandos referentes à
manipulação de sons.
• Você deverá encontrar dois comandos que permitem a reprodução de um som. A Figura
3.89 ilustra esses blocos.
• Escolha o bloco referente à instrução “toque o som Miau” e, com o mouse, arraste-o para a
área de trabalho.
• Para executar o programa, basta clicar no bloco de instrução. O programa reproduzirá um
som de um miado.

 Exemplo 3.41 No projeto a seguir, temos como objetivo explorar algumas funcionalidades
referentes a cenários. Assim, nossas tarefas serão:

• Inserir dois cenários diferentes;


P. 167 Seção 3.4

Figura 3.89: Blocos de instruções referentes à reprodução de sons.

• Fazer com que o programa exiba um cenário por um segundo e em seguida exiba um
segundo cenário.
Os passos descritos a seguir ensinam como criar este programa:

• Para inserir cenários, vamos clicar no botão “Selecionar cenário”, ilustrado na Figura 3.90.
Você poderá escolher um cenário pronto e disponibilizado no Scratch, ou adicionar uma
figura salva em seu computador, ou ainda, criar um novo desenho para ser o novo cenário.
Para simplificar, vamos escolher dois dos cenários já disponíveis no Scratch.
• Dê um duplo-clique sobre o cenário que aparece no painel de palco. Isso fará com que as
instruções a serem adicionadas à área de trabalho afetem os cenários.
• Clique na categoria “Aparência” e encontre um bloco de instrução chamado “mude para o
cenário ...”. Arraste esse bloco para a área de trabalho.
• Vamos precisar de dois blocos para mudar o cenário. Então, no bloco que você acabou de
incluir na área de trabalho, dê um clique com o botão direito do mouse. Será exibido um
menu, como mostra a Figura 3.91. Escolha a opção “Duplicar”.
• Clique na categoria “Controle” e encontre um bloco de instrução chamado “espere 1 seg”.
Arraste esse bloco para a área de trabalho e o duplique.
• Organize os blocos, em sequência, de modo a fazer seu programa mudar o cenário, esperar 1
segundo, e mudar para o outro cenário. Seu programa deverá estar como o da Figura 3.92.
• Para executar o programa, basta clicar nos blocos de instruções.

Figura 3.90: Botão do painel do palco para adicionar cenários.

Exercício 3.35 Faça um programa que mostre o gato em uma pose inicial e permaneça nessa
pose por dois segundos. Passado esse tempo, o gato muda de pose, sem sair do lugar.

Solução. Para construir esse programa, precisamos conhecer uma propriedade importante
de um ator: ele pode conter mais de uma fantasia. Podemos entender a fantasia como sendo
uma pose diferente para o mesmo ator.
Seção 3.4 P. 168

Figura 3.91: Opções para um bloco de instruções, quando clicado com o botão direito do mouse.

Figura 3.92: Programa para exibir um cenário por um segundo, e exibir um outro cenário.

Para visualizar quantas e quais fantasias um ator tem, basta clicar sobre o ator no palco e
depois clicar na aba “Fantasias”, no canto superior esquerdo da janela. Para o caso do gato, ele
tem duas fantasias (ou duas poses).
O programa para realizar as ações pedidas no Exercício 3.35 pode ser visto na Figura 3.93.

Figura 3.93: Programa para exibir um cenário por um segundo, e exibir um outro cenário.


P. 169 Seção 3.4

3.4.3 – Blocos de Instruções para Estruturas de Decisão

Como vimos na seção 3.2.4, as estruturas de decisão são estruturas de controle que desviam o fluxo
de execução de instruções. Esta estrutura tem a forma geral se...então ou se...então...senão.
Podemos encontrar os blocos de instruções referentes a essas estruturas na categoria “Controle”.
A Figura 3.94 ilustra os blocos de instruções para as estruturas de decisão.

Figura 3.94: Blocos de instruções para estruturas de decisão.

Para utilizar esses blocos, basta escolher blocos referentes aos testes a serem feitos pelas
estruturas de decisão e aos comandos a serem executados dentro da estrutura e encaixá-los nos
locais apropriados.

Note que os blocos de instrução para estruturas de decisão podem ser aninhados. Basta
Obs encaixar um bloco dentro de outro.

 Exemplo 3.42 O programa da Figura 3.95 mostra um programa que lê o valor de uma média
de um(a) aluno(a) e informa se ele(a) passou direto ou não. Para fazer este programa, foi
necessário criar uma variável para armazenar o valor da média. Na categoria “Variáveis”, é
possível encontrar ferramentas para a criação de variáveis. A expressão relacional foi obtida na
categoria “Operadores” e os comandos de saída foram obtidos na categoria “Aparência”.

Figura 3.95: Programa para fazer o gato dizer se um(a) aluno(a) passou direto ou não, dependendo
do valor da média.

Observe que é possível modificar os valores da variável media, arrastando uma bolinha
Obs sobre uma barra. No caso da Figura 3.95, o valor atribuído à variável media foi 8.
Seção 3.4 P. 170

Exercício 3.36 Faça um programa que leia um número e diga se ele é positivo e par.

Solução. Um programa para resolver o problema proposto no Exercício 3.36 pode ser visto
na Figura 3.96.

Figura 3.96: Programa para fazer o gato dizer se um número fornecido é positivo e par.

3.4.4 – Blocos de Instruções para Estruturas de Repetição

As estruturas de repetição da linguagem Scratch apresentam algumas diferenças em relação às


estruturas de repetição estudadas na seção 3.2.5. A Figura 3.97 apresenta os blocos de instruções
para as estruturas de repetição.

Figura 3.97: Blocos de instruções para estruturas de repetição.

Observando a Figura 3.97, podemos notar que o Scratch disponibiliza três estruturas de
repetição:

• repita até que: realiza um teste e repete instruções dentro da instrução até que o teste
resulte em VERDADEIRO.
• repita ... vezes: estrutura com comportamento equivalente ao da estrutura para ... faça.
• sempre: repete as instruções dentro dela indefinidamente. As ações só param de executar
quando o usuário clicar no botão de “Pare” do Scratch.

 Exemplo 3.43 Vamos fazer o gato se deslocar no cenário. Ele vai da esquerda para a direita,
repetindo um deslocamento de 20 pixels para a direita 5 vezes. A Figura 3.98 ilustra o programa
para realizar esta tarefa.

Exercício 3.37 Faça um programa para que o gato fique sempre atento à escolha de um valor
para um dado número e fique dizendo se o número é par ou ímpar. Essa ação se repete
indefinidamente e só se encerra quando o usuário clicar sobre o botão “Pare”.

Solução. A Figura 3.99 ilustra um programa para resolver o problema proposto no Exercício
3.37. 
P. 171 Seção 3.4

Figura 3.98: Programa para fazer o gato se deslocar 20 pixels, repetindo essa ação 5 vezes.

Figura 3.99: Programa para fazer o gato ficar sempre atento às variações do valor de um número
e dizer se ele é par ou ímpar.

3.4.5 – Interatividade

Alguns algoritmos que estudamos na seção 3.2 deste material consistiam em comandos que
seguiam um fluxo de ações simplificado, que incluía uma entrada, um processamento e uma saída
simples. A única participação do usuário ocorria no início do algoritmo, para fornecer dados. O
sistema realizava todas as ações e só exibia resultados ao final.
No entanto, a programação permite a criação de aplicações mais interessantes, capazes de
reagir a comandos do usuário em tempo real (ou seja durante o tempo em que o programa está
sendo executado).
Definição 3.4.3 Chamamos de Interatividade a capacidade de um sistema de reagir a
estímulos externos no momento em que eles ocorrem.

Para ser interativo, um programa precisa ser capaz de responder, durante a sua execução, a
comandos vindos do usuário por meio de diferentes dispositivos de entrada. Cada comando desse
tipo é chamado de um evento.
Definição 3.4.4 Chamamos de Evento cada tipo de estímulo que pode atingir um sistema,
vindo de uma entidade externa.
No caso de sistemas computacionais, os eventos são todas as ações que um usuário pode
realizar enquanto o programa está em execução. Os eventos mais comuns que iremos tratar em
nossos programas são:

• de mouse: clique, arrasto, duplo-clique;


• de teclado: tecla pressionada, pressionamento de duas teclas ao mesmo tempo, pressiona-
mento de teclas especiais (setas de direção, barra de espaço, etc).
Seção 3.4 P. 172
Vale ressaltar que há outros eventos além dos listados acima. Aplicações mais sofisticadas podem
lidar com eventos de joystick e outros dispositivos de entrada.

Lembre-se de que os jogos digitais são exemplos de aplicações computacionais interativas.


Obs Usando o Scratch, nós também poderemos criar nossos próprios jogos!

3.4.6 – Tratamento de Eventos

As linguagens de programação oferecem ao(à) projetista funcionalidades que permitem programar


como responder a eventos. Nesta seção, vamos conhecer os blocos de instruções que nos permitirão
tratar eventos, para podermos criar aplicações interativas.
A Figura 3.100 ilustra os blocos de instrução disponíveis para o tratamento de eventos.

Figura 3.100: Blocos de instrução da categoria “Eventos”.

 Exemplo 3.44 Vamos fazer uma aplicação interativa que faça o gato miar toda vez que ele for
clicado. A Figura 3.101 ilustra o programa para implementar essa aplicação.

Atenção: para testar o programa da Figura 3.101, basta clicar diretamente no gato. Ele
Obs vai miar toda vez que for clicado.
P. 173 Seção 3.4

Figura 3.101: Programa para fazer o gato miar toda vez que for clicado.

Exercício 3.38 Faça um programa que tenha como ator uma seta, localizada no centro da tela
e apontando para qualquer direção. Seu programa deverá tratar os seguintes eventos:

• Se a tecla seta pra cima for pressionada, a seta deverá apontar para cima e subir 10
pixels no palco.
• Se a tecla seta pra baixo for pressionada, a seta deverá apontar para baixo e descer 10
pixels no palco.

Solução. Este exercício é interessante, pois trata dois eventos diferentes. Podemos ver como
construir um programa para resolver o problema proposto neste exercício na Figura 3.102.

Figura 3.102: Programa para fazer uma seta mudar de direção e se deslocar em resposta a eventos
de teclado.

Algumas observações importantes sobre a solução do Exercício 3.38:


Obs
• Não é obrigatório que todos os blocos estejam conectados. Podemos criar mais de
um conjunto de blocos conectados para o mesmo programa, especialmente quando
queremos programar tratamento de eventos (pois cada evento é diferente e requer
uma programação separada).
• Quando um programa contém mais de um conjunto de blocos de instruções, devemos
clicar na bandeirinha verde (Ir) para executá-lo.
• Repare que o ator padrão foi retirado e um outro ator foi incluído para esta aplicação.

Você também pode gostar