Aritmética com Números Naturais
Conjunto dos números naturais:
Adição, +
Propriedades
Comutatividade
Associatividade
Fechamento
Elemento Neutro
true
x
1
# comutatividade
2
1 + 2 == 2 + 1
6
x
1
# associatividade
2
1 + (2 + 3)
true
xxxxxxxxxx
1
1
# comutatividade e associatividade
2
2 + (3 + 1) == (1 + 2) + 3
7
x
1
# 0 é o elemento neutro da adição nos naturais
2
7 + 0
Subtração
8
xxxxxxxxxx
1
1
8 - 0
4
x
1
# não é comutativa
2
7 - 3
-4
x
1
3 - 7
Multiplicação
Propriedades
Comutatividade
Associatividade
Fechamento
Elemento Neutro
true
x
1
# comutatividade
2
7 * 8 == 8 * 7
true
x
1
# associatividade
2
(7 * 8) * 9 == 8 * (7 * 9)
5
xxxxxxxxxx
1
1
# elemento neutro
2
1 * 5
Divisão
4
x
1
8 ÷ 2
8 - dividendo
2 - divisor
4 - quociente
0 - resto
Como o resto é 0, podemos dizer que 2 divide 8; ou que 8 é divisível por 2
x
10
9
1
md"
2
* 8 - dividendo
3
* 2 - divisor
4
* 4 - quociente
5
* 0 - resto
6
7
Como o resto é 0, podemos dizer que 2 divide 8; ou que 8 **é divisível** por 2
8
"
9
4
x
1
9 ÷ 2
2
# 4 é o quociente
3
# e resto é 1
1
x
1
# resto da divisão com operador % - módulo
2
9 % 2
Sucessor de um número natural
0
1
2
3
4
5
6
7
8
9
10
11
12
13
xxxxxxxxxx
1
1
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13...
sucessor (generic function with 1 method)
x
1
sucessor(n) = n + 1
28
x
1
sucessor(27)
Antecessor de um número natural
antecessor (generic function with 1 method)
x
1
antecessor(n) = if n == 0
2
throw(DomainError("Zero não tem antecessor"))
3
else
4
n - 1
5
end
21
xxxxxxxxxx
1
1
antecessor(22)
Múltiplos
Quais são os múltiplos de 2?
– São todos os números que são divisíveis por 2
– São os números da forma 2 * algumacoisa
true
x
1
8 == 2 * 4
multiplosde2 (generic function with 1 method)
x
1
function multiplosde2(k)
2
resposta = []
3
for i = 0:k
4
append!(resposta, 2*i)
5
end
6
resposta
7
end
0
2
4
6
8
10
12
14
16
18
20
xxxxxxxxxx
1
1
multiplosde2(10)
multiplos (generic function with 2 methods)
x
1
function multiplos(n, k=10)
2
resposta = []
3
for i = 0:k
4
append!(resposta, n*i)
5
end
6
resposta
7
end
0
3
6
9
12
15
18
21
24
27
30
33
36
39
42
45
xxxxxxxxxx
1
1
multiplos(3, 15)
Divisores
O divisor de um número natural
Encontrar todos os divisores de um número passa por resolver o problema da fatoração em primos
x
10
1
# EXERCÍCIO: Implementar Pedra, Papel e Tesoura com ordenação circular
2
# Pedra, Papel e Tesoura
3
begin
4
# pedra = 0
5
# papel = 1
6
# tesoura = 2
7
# pedra < papel < tesoura < pedra
8
# 0%3 < 1%3 < 2%3 < 3%3
9
10
# jogador1 = "pedra"
11
# jogador2 = "papel"
12
13
# if jogador1 == jogador2:
14
# empate
15
# elseif jogador1 == (jogador2 + 1)%3
16
# jogador2 venceu
17
# else
18
# jogador1 venceu
19
# end
20
21
# if jogador1 == "pedra" && jogador2 == "papel"
22
# print("jogador 2 venceu")
23
# elseif ...
24
# end
25
26
end