Disciplina: Constr. de Algoritmos e Prog. de Sistemas
Professor: Jeovane Reges
Caxias – MA
2016
ACULDADE DE CIÊNCIAS
E TECNOLOGIA DO
MARANHÃO
Link Drive
bit.ly/ads-algoritmos
2
3
Algoritmos
4
Expressões
5
Uma expressão é uma combinação de
variáveis, constantes e operadores, que
quando combinados, resultam em um valor.
• Algoritmos
• Expressões
• Operadores
• São responsáveis pelas operações realizadas
sobre os dados armazenados nas variáveis.
• Há três tipos de expressões:
– Aritméticas <dados numéricos>;
– Lógicas <dados lógicos>; e
– Literais <dados caracteres>.
6
7
Expressões
(Expressões Aritméticas)
• Algoritmos
• Expressões Aritméticas
• Envolvem cálculos matemáticos, fornecendo um
resultado numérico.
8
Operadores Significado Retorna
+ Adição Inteiro/Real
- Subtração Inteiro/Real
* Multiplicação Inteiro/Real
/ Divisão Real
div Divisão inteira Inteiro
mod ou % Resto da divisão inteira Inteiro/Real
^ Potenciação Real
• Algoritmos
• Expressões Aritméticas
– Exemplo:
• Adição (+)
9
algoritmo "Adicao"
var
n1, n2, soma_nums: inteiro
inicio
n1 ← 13
n2 ← 6
soma_nums ← n1 + n2
// Saída: Adicao: 19
escreval("Adicao: ", soma_nums)
fimalgoritmo
O operador + é também utilizado
para CONCATENAÇÃO de caracteres
10
+
• Algoritmos
• Expressões Aritméticas
– Exemplo:
• Subtração (-)
11
algoritmo "Subtracao"
var
n1, n2, sub_nums: inteiro
inicio
n1 ← 13
n2 ← 6
sub_nums ← n1 - n2
// Saída: Subtracao: 7
escreval("Subtracao: ", sub_nums)
fimalgoritmo
• Algoritmos
• Expressões Aritméticas
– Exemplo:
• Multiplicação (*)
12
algoritmo "Multiplicacao"
var
n1, n2, mult_nums: inteiro
inicio
n1 ← 13
n2 ← 6
mult_nums ← n1 * n2
// Saída: Multiplicacao: 78
escreval("Multiplicacao: ", mult_nums)
fimalgoritmo
• Algoritmos
• Expressões Aritméticas
– Exemplo:
• Divisão
13
10 / 4 =
15 / 3 =
18 / 2 =
21 / 4 =
27 / 5 =
9 / 10 =
2,5
5
9
5,25
5,4
0,9
• Algoritmos
• Expressões Aritméticas
– Exemplo:
• Divisão (/)
14
algoritmo "Divisao"
var
n1, n2: inteiro
div_nums: real
inicio
n1 ← 13
n2 ← 6
div_nums ← n1 / n2
// Saída: Divisao: 2.16
escreval("Divisao: ", div_nums)
fimalgoritmo
• Algoritmos
• Expressões Aritméticas
– Exemplo:
• Div (divisão inteira)
15
7 2
(1) 3
7 / 2 = 3,5
7 div 2 = 3
5 2
5 div 2 = 2
(1) 2
• Algoritmos
• Expressões Aritméticas
– Exemplo:
• Div (divisão inteira)
16
10 div 4 =
31 div 5 =
18 div 2 =
19 div 4 =
27 div 7 =
9 div 10 =
2
6
9
4
3
0
• Algoritmos
• Expressões Aritméticas
– Exemplo:
• Div (divisão inteira)
17
algoritmo "DivisaoInt"
var
n1, n2, div_nums: inteiro
inicio
n1 ← 13
n2 ← 6
div_nums ← n1 div n2
// Saída: Divisao: 2
escreval("Divisao Inteira: ", div_nums)
fimalgoritmo
• Algoritmos
• Expressões Aritméticas
– Exemplo:
• Mod (%)
18
7 2
(1) 3
7 div 2 = 37 % 2 = 1
Lembre-se: o mod é o resto da divisão e sempre retorna um
número inteiro.
• Algoritmos
• Expressões Aritméticas
– Exemplo:
• Mod (%)
19
10 % 4 =
31 % 5 =
18 % 2 =
19 % 4 =
27 % 7 =
9 % 10 =
2
1
0
3
6
9
• Algoritmos
• Expressões Aritméticas
– Exemplo:
• Mod (%)
20
algoritmo "Mod"
var
n1, n2, mod_nums: inteiro
inicio
n1 ← 13
n2 ← 6
// mod_nums ← n1 mod n2
mod_nums ← n1 % n2
// Saída: Mod: 1
escreval("Mod: ", mod_nums)
fimalgoritmo
• Algoritmos
• Expressões Aritméticas
– Exemplo:
• Potência (^)
21
algoritmo "Potencia"
var
n1, n2: inteiro
poten_nums: real
inicio
n1 ← 2
n2 ← 3
poten_nums ← n1 ^ n2
// Saída: Potencia: 8
escreval("Potencia: ", poten_nums)
fimalgoritmo
• Algoritmos
• Expressões Aritméticas
• Ordem de precedência das operações:
22
Prioridade Operador Operação
1ª ( ) Parênteses
2ª ^ Exponenciação
3ª *, /, div e % Mult., divisão e mod
4ª + e - Adição e subtração
• Algoritmos
• Expressões Aritméticas
• Ordem de precedência das operações:
– Exemplos:
23
4
2.5
7
10
24
3 + 2 / 2 =
(3 + 2) / 2 =
3 + 2 * 2 =
(3 + 2) * 2 =
3 * 2^3 =
24
Expressões
(Expressões Lógicas)
• Algoritmos
• Expressões Lógicas
• Introdução
• Estabelecem relações de comparação entre
variáveis e constantes.
– De tal forma que o resultado retornado só pode ser
verdadeiro ou falso.
• Essas expressões podem utilizar dois tipos de
operadores:
– Operadores relacionais; e
– Operadores lógicos.
25
26
Expressões Lógicas
(Operadores Relacionais)
• Algoritmos
• Expressões Lógicas
• Operadores Relacionais
• Estabelecem comparação entre dados de
quaisquer tipos.
27
Operadores Significado
= Igual a
<> Diferente de
< Menor que
<= Menor ou igual a
> Maior que
>= Maior ou igual a
• Algoritmos
• Expressões Lógicas
• Operadores Relacionais
• Exemplo:
28
algoritmo "Relacional"
var
x: inteiro
inicio
x ← 43
escreval(x = 43)
escreval(x = 67)
escreval(x <> 51)
escreval(x >= 40)
escreval(x < 39)
fimalgoritmo
// Retorna: Verdadeiro
// Retorna: Falso
// Retorna: Verdadeiro
// Retorna: Verdadeiro
// Retorna: Falso
• Algoritmos
• Operadores Relacionais
• Exemplo:
29
algoritmo "Relacional"
var
n1, n2, n3: inteiro
r1, r2, r3, r4: logico
inicio
n1 ← 10
n2 ← 5
n3 ← 15
r1 ← (n1 + n2 < 12)
r2 ← (n1 + n2 > n3)
r3 ← (n2 – n3 <= n1)
r4 ← (n1 + n2 <> 12)
fimalgoritmo
// Falso
// Falso
// Verdadeiro
// Verdadeiro
30
Expressões Lógicas
(Operadores Lógicos)
• Algoritmos
• Expressões Lógicas
• Operadores Lógicos
• São utilizados para combinar os resultados de
expressões relacionais.
– Retornam, ao final, verdadeiro ou falso.
• Os operadores lógicos são:
– OU lógico <disjunção>;
– E lógico <conjunção>;
– NÃO lógico <negação>; e
– XOU lógico <disjunção exclusiva>.
31
• Algoritmos
• Expressões Lógicas
• Operadores Lógicos
• Dadas duas variáveis, A e B, que podem
assumir os valores verdadeiro ou falso, temos:
– A OU B:
• Retorna verdadeiro se pelo menos um dos dois
(ou A ou B), ou ambos forem verdadeiros.
– A E B:
• Retorna verdadeiro somente se ambos (tanto A
quanto B) forem verdadeiros. 32
• Algoritmos
• Expressões Lógicas
• Operadores Lógicos
– Exemplo: {1}
– F ← Falso
– V ← Verdadeiro
33
A B A OU B A E B
F F
F V
V F
V V
F
V
V
V
F
F
F
V
• Algoritmos
• Expressões Lógicas
• Operadores Lógicos
– Exemplo: {2}
– F ← Falso
– V ← Verdadeiro
34
A B C A OU B OU C A E B E C A E (B OU C)
F F V
F V F
V F V
V V F
V
V
V
V
F
F
F
F
F
F
V
V
• Algoritmos
• Expressões Lógicas
• Exemplo:
35
algoritmo "Logico"
var
n1, n2, n3: inteiro
r1, r2, r3, r4: logico
inicio
n1 ← 10
n2 ← 5
n3 ← 15
r1 ← ((n1 = n2) OU (n3 < n2))
r2 ← ((n1 + n2 = n3) E (n1 > n2))
r3 ← ((n3 – n2 <= n1) OU (n1 > n3))
r4 ← ((n1 <> n2) E ( n3 > 15))
fimalgoritmo
// Falso
// Falso
// Verdadeiro
// Verdadeiro
• Algoritmos
• Expressões Lógicas
• Ordem de precedência GERAL:
– Expressão que contenha todos os operadores:
36
Aritméticos
( )
^
*, /, div e %
+ e -
Relacionais Todos
Lógicos
E
OU
NÃO
• Algoritmos
• Expressões Lógicas
• Operadores Lógicos
– Exemplo: {3}
37
algoritmo "Logico"
var
a, b, c, d, r: logico
inicio
a ← falso
b ← verdadeiro
c ← verdadeiro
d ← falso
r ← (a E (b OU c)) OU d
escreval("Resultado: ", r)
fimalgoritmo
→ Falso
38
Expressões
(Expressões Literais)
• Algoritmos
• Expressões Literais
• Introdução
• Nas expressões literais (caracteres), utilizamos
o operador aritmético "+" (mais).
• Ele é utilizado para concatenar Strings (cadeia
de caracteres).
39
• Algoritmos
• Expressões Literais
– Exemplo:
40
algoritmo "Literais"
var
nome, sobrenome, nome_completo: literal
inicio
nome ← "Jeovane"
sobrenome ← "Reges"
nome_completo ← nome + " " + sobrenome
// Saída: Jeovane Reges
escreval(nome_completo)
fimalgoritmo
41
Funções nativas do
Portugol...
• Algoritmos
• Funções
– Funções Nativas
42
Função Funcionalidade Exemplo
Exp(base, expoente)
Retorna o valor da base elevado
ao expoente.
Exp(2, 3) = 8
RaizQ(expressão)
Retorna a raiz quadrada do valor
representado na expressão.
RaizQ(9) = 3
Quad(expressão)
Retorna o quadrado do valor
representado na expressão.
Quad(4) = 16
Pi Retorna o valor de Pi 3.14
LimparTela Limpar a tela após uma execução LimparTela
Interrompa Parar a execução de um loop -

Construcao de Algoritmos - Aula 04

  • 1.
    Disciplina: Constr. deAlgoritmos e Prog. de Sistemas Professor: Jeovane Reges Caxias – MA 2016 ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO
  • 2.
  • 3.
  • 4.
  • 5.
    5 Uma expressão éuma combinação de variáveis, constantes e operadores, que quando combinados, resultam em um valor.
  • 6.
    • Algoritmos • Expressões •Operadores • São responsáveis pelas operações realizadas sobre os dados armazenados nas variáveis. • Há três tipos de expressões: – Aritméticas <dados numéricos>; – Lógicas <dados lógicos>; e – Literais <dados caracteres>. 6
  • 7.
  • 8.
    • Algoritmos • ExpressõesAritméticas • Envolvem cálculos matemáticos, fornecendo um resultado numérico. 8 Operadores Significado Retorna + Adição Inteiro/Real - Subtração Inteiro/Real * Multiplicação Inteiro/Real / Divisão Real div Divisão inteira Inteiro mod ou % Resto da divisão inteira Inteiro/Real ^ Potenciação Real
  • 9.
    • Algoritmos • ExpressõesAritméticas – Exemplo: • Adição (+) 9 algoritmo "Adicao" var n1, n2, soma_nums: inteiro inicio n1 ← 13 n2 ← 6 soma_nums ← n1 + n2 // Saída: Adicao: 19 escreval("Adicao: ", soma_nums) fimalgoritmo
  • 10.
    O operador +é também utilizado para CONCATENAÇÃO de caracteres 10 +
  • 11.
    • Algoritmos • ExpressõesAritméticas – Exemplo: • Subtração (-) 11 algoritmo "Subtracao" var n1, n2, sub_nums: inteiro inicio n1 ← 13 n2 ← 6 sub_nums ← n1 - n2 // Saída: Subtracao: 7 escreval("Subtracao: ", sub_nums) fimalgoritmo
  • 12.
    • Algoritmos • ExpressõesAritméticas – Exemplo: • Multiplicação (*) 12 algoritmo "Multiplicacao" var n1, n2, mult_nums: inteiro inicio n1 ← 13 n2 ← 6 mult_nums ← n1 * n2 // Saída: Multiplicacao: 78 escreval("Multiplicacao: ", mult_nums) fimalgoritmo
  • 13.
    • Algoritmos • ExpressõesAritméticas – Exemplo: • Divisão 13 10 / 4 = 15 / 3 = 18 / 2 = 21 / 4 = 27 / 5 = 9 / 10 = 2,5 5 9 5,25 5,4 0,9
  • 14.
    • Algoritmos • ExpressõesAritméticas – Exemplo: • Divisão (/) 14 algoritmo "Divisao" var n1, n2: inteiro div_nums: real inicio n1 ← 13 n2 ← 6 div_nums ← n1 / n2 // Saída: Divisao: 2.16 escreval("Divisao: ", div_nums) fimalgoritmo
  • 15.
    • Algoritmos • ExpressõesAritméticas – Exemplo: • Div (divisão inteira) 15 7 2 (1) 3 7 / 2 = 3,5 7 div 2 = 3 5 2 5 div 2 = 2 (1) 2
  • 16.
    • Algoritmos • ExpressõesAritméticas – Exemplo: • Div (divisão inteira) 16 10 div 4 = 31 div 5 = 18 div 2 = 19 div 4 = 27 div 7 = 9 div 10 = 2 6 9 4 3 0
  • 17.
    • Algoritmos • ExpressõesAritméticas – Exemplo: • Div (divisão inteira) 17 algoritmo "DivisaoInt" var n1, n2, div_nums: inteiro inicio n1 ← 13 n2 ← 6 div_nums ← n1 div n2 // Saída: Divisao: 2 escreval("Divisao Inteira: ", div_nums) fimalgoritmo
  • 18.
    • Algoritmos • ExpressõesAritméticas – Exemplo: • Mod (%) 18 7 2 (1) 3 7 div 2 = 37 % 2 = 1 Lembre-se: o mod é o resto da divisão e sempre retorna um número inteiro.
  • 19.
    • Algoritmos • ExpressõesAritméticas – Exemplo: • Mod (%) 19 10 % 4 = 31 % 5 = 18 % 2 = 19 % 4 = 27 % 7 = 9 % 10 = 2 1 0 3 6 9
  • 20.
    • Algoritmos • ExpressõesAritméticas – Exemplo: • Mod (%) 20 algoritmo "Mod" var n1, n2, mod_nums: inteiro inicio n1 ← 13 n2 ← 6 // mod_nums ← n1 mod n2 mod_nums ← n1 % n2 // Saída: Mod: 1 escreval("Mod: ", mod_nums) fimalgoritmo
  • 21.
    • Algoritmos • ExpressõesAritméticas – Exemplo: • Potência (^) 21 algoritmo "Potencia" var n1, n2: inteiro poten_nums: real inicio n1 ← 2 n2 ← 3 poten_nums ← n1 ^ n2 // Saída: Potencia: 8 escreval("Potencia: ", poten_nums) fimalgoritmo
  • 22.
    • Algoritmos • ExpressõesAritméticas • Ordem de precedência das operações: 22 Prioridade Operador Operação 1ª ( ) Parênteses 2ª ^ Exponenciação 3ª *, /, div e % Mult., divisão e mod 4ª + e - Adição e subtração
  • 23.
    • Algoritmos • ExpressõesAritméticas • Ordem de precedência das operações: – Exemplos: 23 4 2.5 7 10 24 3 + 2 / 2 = (3 + 2) / 2 = 3 + 2 * 2 = (3 + 2) * 2 = 3 * 2^3 =
  • 24.
  • 25.
    • Algoritmos • ExpressõesLógicas • Introdução • Estabelecem relações de comparação entre variáveis e constantes. – De tal forma que o resultado retornado só pode ser verdadeiro ou falso. • Essas expressões podem utilizar dois tipos de operadores: – Operadores relacionais; e – Operadores lógicos. 25
  • 26.
  • 27.
    • Algoritmos • ExpressõesLógicas • Operadores Relacionais • Estabelecem comparação entre dados de quaisquer tipos. 27 Operadores Significado = Igual a <> Diferente de < Menor que <= Menor ou igual a > Maior que >= Maior ou igual a
  • 28.
    • Algoritmos • ExpressõesLógicas • Operadores Relacionais • Exemplo: 28 algoritmo "Relacional" var x: inteiro inicio x ← 43 escreval(x = 43) escreval(x = 67) escreval(x <> 51) escreval(x >= 40) escreval(x < 39) fimalgoritmo // Retorna: Verdadeiro // Retorna: Falso // Retorna: Verdadeiro // Retorna: Verdadeiro // Retorna: Falso
  • 29.
    • Algoritmos • OperadoresRelacionais • Exemplo: 29 algoritmo "Relacional" var n1, n2, n3: inteiro r1, r2, r3, r4: logico inicio n1 ← 10 n2 ← 5 n3 ← 15 r1 ← (n1 + n2 < 12) r2 ← (n1 + n2 > n3) r3 ← (n2 – n3 <= n1) r4 ← (n1 + n2 <> 12) fimalgoritmo // Falso // Falso // Verdadeiro // Verdadeiro
  • 30.
  • 31.
    • Algoritmos • ExpressõesLógicas • Operadores Lógicos • São utilizados para combinar os resultados de expressões relacionais. – Retornam, ao final, verdadeiro ou falso. • Os operadores lógicos são: – OU lógico <disjunção>; – E lógico <conjunção>; – NÃO lógico <negação>; e – XOU lógico <disjunção exclusiva>. 31
  • 32.
    • Algoritmos • ExpressõesLógicas • Operadores Lógicos • Dadas duas variáveis, A e B, que podem assumir os valores verdadeiro ou falso, temos: – A OU B: • Retorna verdadeiro se pelo menos um dos dois (ou A ou B), ou ambos forem verdadeiros. – A E B: • Retorna verdadeiro somente se ambos (tanto A quanto B) forem verdadeiros. 32
  • 33.
    • Algoritmos • ExpressõesLógicas • Operadores Lógicos – Exemplo: {1} – F ← Falso – V ← Verdadeiro 33 A B A OU B A E B F F F V V F V V F V V V F F F V
  • 34.
    • Algoritmos • ExpressõesLógicas • Operadores Lógicos – Exemplo: {2} – F ← Falso – V ← Verdadeiro 34 A B C A OU B OU C A E B E C A E (B OU C) F F V F V F V F V V V F V V V V F F F F F F V V
  • 35.
    • Algoritmos • ExpressõesLógicas • Exemplo: 35 algoritmo "Logico" var n1, n2, n3: inteiro r1, r2, r3, r4: logico inicio n1 ← 10 n2 ← 5 n3 ← 15 r1 ← ((n1 = n2) OU (n3 < n2)) r2 ← ((n1 + n2 = n3) E (n1 > n2)) r3 ← ((n3 – n2 <= n1) OU (n1 > n3)) r4 ← ((n1 <> n2) E ( n3 > 15)) fimalgoritmo // Falso // Falso // Verdadeiro // Verdadeiro
  • 36.
    • Algoritmos • ExpressõesLógicas • Ordem de precedência GERAL: – Expressão que contenha todos os operadores: 36 Aritméticos ( ) ^ *, /, div e % + e - Relacionais Todos Lógicos E OU NÃO
  • 37.
    • Algoritmos • ExpressõesLógicas • Operadores Lógicos – Exemplo: {3} 37 algoritmo "Logico" var a, b, c, d, r: logico inicio a ← falso b ← verdadeiro c ← verdadeiro d ← falso r ← (a E (b OU c)) OU d escreval("Resultado: ", r) fimalgoritmo → Falso
  • 38.
  • 39.
    • Algoritmos • ExpressõesLiterais • Introdução • Nas expressões literais (caracteres), utilizamos o operador aritmético "+" (mais). • Ele é utilizado para concatenar Strings (cadeia de caracteres). 39
  • 40.
    • Algoritmos • ExpressõesLiterais – Exemplo: 40 algoritmo "Literais" var nome, sobrenome, nome_completo: literal inicio nome ← "Jeovane" sobrenome ← "Reges" nome_completo ← nome + " " + sobrenome // Saída: Jeovane Reges escreval(nome_completo) fimalgoritmo
  • 41.
  • 42.
    • Algoritmos • Funções –Funções Nativas 42 Função Funcionalidade Exemplo Exp(base, expoente) Retorna o valor da base elevado ao expoente. Exp(2, 3) = 8 RaizQ(expressão) Retorna a raiz quadrada do valor representado na expressão. RaizQ(9) = 3 Quad(expressão) Retorna o quadrado do valor representado na expressão. Quad(4) = 16 Pi Retorna o valor de Pi 3.14 LimparTela Limpar a tela após uma execução LimparTela Interrompa Parar a execução de um loop -