Construcao de Algoritmos - Aula 04
-
Upload
facema-faculdade-de-ciencias-e-tecnologia-do-maranhao -
Category
Education
-
view
85 -
download
0
Transcript of Construcao de Algoritmos - Aula 04
Disciplina: Constr. de Algoritmos e Prog. de SistemasProfessor: Jeovane Reges
Caxias – MA2016
ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO
2
Link Drive
bit.ly/ads-algoritmos
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.
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>.
7
Expressões(Expressões Aritméticas)
8
• Algoritmos• Expressões Aritméticas• Envolvem cálculos matemáticos,
fornecendo um resultado numérico. Operadore
s Significado Retorna
+ Adição Inteiro/Real
- Subtração Inteiro/Real
* Multiplicação Inteiro/Real/ Divisão Realdiv 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: inteiroinicio 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
+
• Algoritmos• Expressões Aritméticas
– Exemplo:• Subtração (-)
11
algoritmo "Subtracao"var n1, n2, sub_nums: inteiroinicio 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: inteiroinicio 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,5595,255,40,9
• Algoritmos• Expressões Aritméticas
– Exemplo:• Divisão (/)
14
algoritmo "Divisao"var n1, n2: inteiro div_nums: realinicio 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)
37 / 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
=
269430
• Algoritmos• Expressões Aritméticas
– Exemplo:• Div (divisão inteira)
17
algoritmo "DivisaoInt"var n1, n2, div_nums: inteiroinicio 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)
37 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 =
210369
• Algoritmos• Expressões Aritméticas
– Exemplo:• Mod (%)
20
algoritmo "Mod"var n1, n2, mod_nums: inteiroinicio 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: realinicio n1 ← 2 n2 ← 3 poten_nums ← n1 ^ n2 // Saída: Potencia: 8 escreval("Potencia: ", poten_nums)fimalgoritmo
22
• Algoritmos• Expressões Aritméticas• Ordem de precedência das operações:
Prioridade Operador Operação1ª ( ) Parênteses
2ª ^ Exponenciação
3ª *, /, div e % Mult., divisão e mod
4ª + e - Adição e subtração
23
• Algoritmos• Expressões Aritméticas• Ordem de precedência das operações:
– Exemplos:
42.57
10
24
3 + 2 / 2 =(3 + 2) / 2 =3 + 2 * 2 =(3 + 2) * 2 =3 * 2^3 =
24
Expressões(Expressões Lógicas)
25
• 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.
26
Expressões Lógicas(Operadores Relacionais)
27
• Algoritmos• Expressões Lógicas• Operadores Relacionais• Estabelecem comparação entre dados de
quaisquer tipos.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: inteiroinicio 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: logicoinicio 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 BF FF VV FV V
FVVV
FFFV
• 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
VVV
V
FFF
F
FFV
V
• Algoritmos• Expressões Lógicas
• Exemplo:
35
algoritmo "Logico"var n1, n2, n3: inteiro r1, r2, r3, r4: logicoinicio 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ões Lógicas• Ordem de precedência GERAL:
– Expressão que contenha todos os operadores:
Aritméticos
( )^
*, /, div e %
+ e -Relacionais Todos
LógicosE
OUNÃO
• Algoritmos• Expressões Lógicas• Operadores Lógicos
– Exemplo: {3}
37
algoritmo "Logico"var a, b, c, d, r: logicoinicio 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: literalinicio nome ← "Jeovane" sobrenome ← "Reges" nome_completo ← nome + " " + sobrenome // Saída: Jeovane Reges escreval(nome_completo)fimalgoritmo
41
Funções nativas do Portugol...
42
• Algoritmos• Funções
– Funções NativasFunçã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 -