numerico - LSI/USP

Propaganda
Conceitos Básicos de Algoritmos
Copyright, 2002 © Universidade de Caxias do Sul.
Conceitos Básicos de Algoritmos
• Um algoritmo é uma forma de representar a
solução de um problema através de uma
seqüência de passos
Conceitos Básicos de Algoritmos
• São exemplos de algoritmos receitas de
bolos, manuais técnicos, guias de montagem,
programas de computadores, etc.
• Um algoritmo pode ser descrito de várias
formas
Conceitos Básicos de Algoritmos
Descrição Textual Informal
• Bolo Fofo de Fubá
– Ingredientes:
•
•
•
•
•
•
•
•
5 ovos
250 gramas de margarina cremosa
2 xícaras (chá) de açúcar
1 xícara (chá) de farinha de trigo
1 xícara (chá) de fubá
200 gramas de coco ralado
1 copo de leite
1 colher (sopa) de fermento
Conceitos Básicos de Algoritmos
Descrição Textual Informal
• Modo de preparo:
Quão cremoso?!?
– Bata a margarina, as gemas e o açúcar até ficar
Quanto tempo?!?
cremoso
– Junte o leite, o coco e a farinha e continue
batendo
De uma vez só?!?
– Acrescente o fermento e, por último, as claras em
neve
Quanto tempo?!?
– Unte uma forma com manteiga e leve ao forno
para assar
Conceitos Básicos de Algoritmos
Descrição Textual Informal
• Modo de preparo:
– Bata a margarina, as gemas e o açúcar por 15
minutos
– Junte o leite, o coco e a farinha e continue
batendo por mais 15 minutos
– Acrescente 20 g de fermento e, por último, as
claras em neve
– Unte uma forma com manteiga e leve ao forno
para assar por 30 minutos
Conceitos Básicos de Algoritmos
Descrição Gráfico-Textual Informal
• Montagem de um Aeromodelo
– Material
•
•
•
•
•
Cola especial para plásticos
Estilete
Lixas finas
Durex ou fita crepe
Pregador de roupas, elásticos
Conceitos Básicos de Algoritmos
Descrição Gráfico-Textual Informal
• Identificação das peças
Conceitos Básicos de Algoritmos
Descrição Gráfico-Textual Informal
• Instruções
– Leia e entenda as instruções antes de começar a
montagem
– Lave as peças com água e detergente. Na
lavagem serão removidos desmoldantes e
sujeiras, que dificultam a colagem e a pintura.
Faça isto dentro de uma bacia, para evitar perder
peças pequenas, que porventura se soltem
– Encontre as peças que devem ser usadas na
primeira parte da montagem (Figura 1)
– Lixe as peças com cuidado eliminando as
rebarbas
– ...
Conceitos Básicos de Algoritmos
Descrição Textual Informal
• Troca de pneu
“Abra o porta-mala e verifique se todos
acessórios estão lá. Em caso negativo, feche
o porta-malas e peça carona a alguém. Em
caso positivo, retire o triângulo, posicione-o a
cerca de 30 m do carro, e, depois, retire o
estepe e o macaco. Levante o carro... “
Conceitos Básicos de Algoritmos
Descrição Gráfica Informal
• Troca de pneu
Conceitos Básicos de Algoritmos
Descrição Gráfica Semiformal: Fluxograma
• Troca de pneu
Pneu furado?
Abre porta-malas
Acessórios
OK?
Fecha
porta-malas
Segue viagem
Pega triângulo
Conceitos Básicos de Algoritmos
Descrição Textual Formal: Linguagem Estruturada
• Troca de pneu
abre(porta_malas)
se acessório_ok = VERDADEIRO
então
fecha(porta_malas)
espera_carona()
senão
pega_triangulo()
...
Conceitos Básicos de Algoritmos
Descrição Formal: Fórmula Matemática
• Cálculo de ex
x o x1 x 2 x3 x4
e 




 ...
0! 1! 2! 3! 4!
x
Conceitos Básicos de Algoritmos
Problemas Complexos
• Problema da Torre de Hanoi
– Seja a seguinte situação:
• deve-se mover todos os discos do primeiro eixo para o
terceiro mantendo-se a ordem original
• em cada movimento, pode-se mover apenas um disco
• um disco nunca poderá ser sobreposto por outro maior
Conceitos Básicos de Algoritmos
Problemas Complexos
• Passo 1:
mova disco menor para terceiro eixo
Conceitos Básicos de Algoritmos
Problemas Complexos
• Passo 2:
mova disco médio para segundo eixo
Conceitos Básicos de Algoritmos
Problemas Complexos
• Passo 3:
mova disco menor para segundo eixo
Conceitos Básicos de Algoritmos
Problemas Complexos
• Passo 4:
mova disco maior para terceiro eixo
Conceitos Básicos de Algoritmos
Problemas Complexos
• Passo 5:
mova disco menor para primeiro eixo
Conceitos Básicos de Algoritmos
Problemas Complexos
• Passo 6:
mova disco médio para terceiro eixo
Conceitos Básicos de Algoritmos
Problemas Complexos
• Passo 7:
mova disco menor para terceiro eixo
Conceitos Básicos de Algoritmos
Problemas Complexos
• Seqüência de passos completa:
Passo 1: mova disco menor para terceiro eixo
Passo 2: mova disco médio para segundo eixo
Passo 3: mova disco menor para segundo eixo
Passo 4: mova disco maior para terceiro eixo
Passo 5: mova disco menor para primeiro eixo
Passo 6: mova disco médio para terceiro eixo
Passo 7: mova disco menor para terceiro eixo
Conceitos Básicos de Algoritmos
• Não existe um algoritmo para construir
algoritmos
– a criação de um algoritmo é um exercício de
criatividade e experiência
Variáveis e Tipos
• Uma variável pode ser vista como uma caixa que pode
conter apenas um elemento de uma certa natureza, tipo e
com determinado valor.
Variáveis e Tipos
• Exemplo
– tipo: caixa_de_bebida
– nome: Caixa1
– valor: refrigerante
Caixa1
de
b caixa
bebida
e
b Caixa1
i
d
a
Variáveis e Tipos
• O tipo determina o conjunto de valores que a variável
pode assumir
– caixa_de_bebida pode conter cerveja, refrigerante,
guaraná, isotônico, vinho, etc.
Variáveis e Tipos
• Em um determinado instante uma variável pode conter apenas
um valor
• Uma variável sempre tem um valor
• A declaração de variáveis segue a forma:
declare <nome de uma ou mais variáveis>:
<tipo>
• Exemplo:
caixa de
declare Caixa1: caixa_de_bebida
bebida
Caixa 1
Variáveis e Tipos
• Para colocar um valor em uma variável é usado o comando de
atribuição ()
• Sempre à esquerda da atribuição tem que aparecer uma
variável
declare Caixa1: caixa_de_bebida
inicio
Caixa1 cerveja
caixa de
bebida
Caixa 1
Variáveis e Tipos
• Para colocar um valor em uma variável é usado o comando de
atribuição ()
• Sempre à esquerda da atribuição tem que aparecer uma
variável
declare Caixa1: caixa_de_bebida
inicio
Caixa1 cerveja
caixa de
Caixa1  refrigerante
bebida
Caixa 1
Variáveis e Tipos
• Para colocar um valor em uma variável é usado o comando de
atribuição ()
• Sempre à esquerda da atribuição tem que aparecer uma
variável
declare Caixa1: caixa_de_bebida
inicio
Caixa1 cerveja
caixa de
bebida
Caixa1  refrigerante
Caixa 1
Caixa1  guaraná
Variáveis e Tipos
• Não há sentido em um valor possível de variável receber uma
variável!!!
guaraná  Caixa1
Variáveis e Tipos
• Uma variável pode receber o valor (conteúdo) de outra
variável:
declare Caixa1, Caixa2: caixa_de_bebida
caixa de
bebida
Caixa 1
caixa de
bebida
Caixa 2
Variáveis e Tipos
• Uma variável pode receber o valor (conteúdo) de outra
variável:
declare Caixa1, Caixa2: caixa_de_bebida
inicio
Caixa1  cerveja
caixa de
bebida
caixa de
bebida
Caixa 1
caixa de
bebida
Caixa 2
Variáveis e Tipos
• Uma variável pode receber o valor (conteúdo) de outra
variável:
declare Caixa1, Caixa2: caixa_de_bebida
inicio
Caixa1  cerveja
Caixa2  Caixa1
caixa de
bebida
Caixa 1
caixa de
bebida
Caixa 2
Variáveis e Tipos
• Observe que o valor de Caixa1 é copiado
para Caixa2, i.e., Caixa1 não é
“esvaziada”
declare Caixa1, Caixa2:
caixa_de_bebida
inicio
Caixa1  cerveja
Caixa2  Caixa1
caixa de
bebida
Caixa 1
caixa de
bebida
Caixa 2
Variáveis e Tipos
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2: caixa_de_bebida
caixa de
bebida
Caixa 1
caixa de
bebida
Caixa 2
Variáveis e Tipos
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2: caixa_de_bebida
inicio
Caixa1  cerveja
caixa de
bebida
Caixa 1
caixa de
bebida
Caixa 2
Variáveis e Tipos
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2: caixa_de_bebida
inicio
Caixa1  cerveja
Caixa2  refrigerante
caixa de
bebida
Caixa 1
caixa de
bebida
Caixa 2
Variáveis e Tipos
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2: caixa_de_bebida
inicio
Caixa1  cerveja
Caixa2  refrigerante
Caixa1  Caixa2
caixa de
bebida
Caixa 1
caixa de
bebida
Caixa 2
Variáveis e Tipos
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2: caixa_de_bebida
inicio
Caixa1  cerveja
Caixa2  refrigerante
Caixa1  Caixa2
Caixa2  Caixa1
caixa de
bebida
Caixa 1
caixa de
bebida
Caixa 2
Variáveis e Tipos
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2, Aux: caixa_de_bebida
caixa de
bebida
Caixa 1
caixa de
bebida
Caixa 2 caixa de
bebida
Aux
Variáveis e Tipos
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2, Aux: caixa_de_bebida
inicio
Caixa1  cerveja
caixa de
bebida
Caixa 1
caixa de
bebida
Caixa 2 caixa de
bebida
Aux
Variáveis e Tipos
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2, Aux: caixa_de_bebida
inicio
Caixa1  cerveja
Caixa2  refrigerante
caixa de
bebida
Caixa 1
caixa de
bebida
Caixa 2 caixa de
bebida
Aux
Variáveis e Tipos
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2, Aux: caixa_de_bebida
inicio
Caixa1  cerveja
Caixa2  refrigerante
Aux  Caixa1
caixa de
bebida
Caixa 1
caixa de
bebida
Caixa 2 caixa de
bebida
Aux
Variáveis e Tipos
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2, Aux: caixa_de_bebida
inicio
Caixa1  cerveja
Caixa2  refrigerante
Aux  Caixa1
caixa de
Caixa1  Caixa2
bebida
Caixa 1
caixa de
bebida
Caixa 2 caixa de
bebida
Aux
Variáveis e Tipos
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2, Aux: caixa_de_bebida
inicio
Caixa1  cerveja
Caixa2  refrigerante
Aux  Caixa1
caixa de
Caixa1  Caixa2
bebida
caixa de
Caixa2  Aux
Caixa 1 bebida
Caixa 2 caixa de
bebida
Aux
Variáveis e Tipos
Tipos Numérico
• Tipos da linguagem: numerico
– Para variáveis que conterão números
algoritmo “CalculaArea”
declare Área, Raio, Pi: numerico
numerico
Área
Raio
numerico
Raio
numerico
Pi
Variáveis e Tipos
Tipos Numérico
• Tipos da linguagem: numerico
– Para variáveis que conterão números
algoritmo “CalculaArea”
declare Área, Raio, Pi: numerico
inicio
Raio  13
numerico
Área
Raio
13
numerico
Raio
numerico
Pi
Variáveis e Tipos
Tipos Numérico
• Tipos da linguagem: numerico
– Para variáveis que conterão números
algoritmo “CalculaArea”
declare Área, Raio, Pi: numerico
inicio
Raio  13
13
Pi  3.14
numerico
Área
Raio
13
numerico
3.14
Raio
numerico
Pi
Variáveis e Tipos
Tipos Numérico
• Tipos da linguagem: numerico
– Para variáveis que conterão números
algoritmo “CalculaArea”
declare Área, Raio, Pi: numerico
inicio
Raio  13
13
128.175
Pi  3.14
13
numerico
Área  Pi*Raio*Raio
numerico
Área
Raio
Raio
3.14
numerico
Pi
Variáveis e Tipos
Operadores Numéricos
• Operadores Numéricos (aritméticos) fornecem como resultado
um número
– A prioridade indica qual operador será executado primeiro
– No caso de empate, é executado primeiro o operador que aparece mais
à esquerda
– Parênteses pode ser usados para alterar a prioridade
Operador
soma
subtração
Exponenciação
multiplicação
Divisão
Divisão inteira
Módulo (resto)
Símbolo
+
^
*
/
\
%
Prioridade
0
0
0
1
1
1
1
Variáveis e Tipos
Operadores Numéricos
• Exemplo
4*5/2+(40-20)*-5
4*5/2+
20
*-5
20 /2+
20
*-5
10
+
20
*-5
10
+
-100
-90
Variáveis e Tipos
Operadores Numéricos
• Exemplo
algoritmo “TestaOperadores”
declare Num1, Num2, Num3: numerico
numerico
Num1
Raio
numerico
Num2
numerico
Num3
Variáveis e Tipos
Operadores Numéricos
• Exemplo
algoritmo “TestaOperadores”
declare Num1, Num2, Num3: numerico
inicio
Num2  13
numerico
Num1
Raio
13
numerico
Num2
numerico
Num3
Variáveis e Tipos
Operadores Numéricos
• Exemplo
algoritmo “TestaOperadores”
declare Num1, Num2, Num3: numerico
inicio
Num2  13
Num1  Num2/5
2.6
numerico
Num1
Raio
13
numerico
Num2
numerico
Num3
Variáveis e Tipos
Operadores Numéricos
• Exemplo
algoritmo “TestaOperadores”
declare Num1, Num2, Num3: numerico
inicio
Num2  13
Num1  Num2/5
2.6
Num3  Num2\5
13
numerico
Num1
Raio
numerico
Num2
2
numerico
Num3
Variáveis e Tipos
Operadores Numéricos
• Exemplo
algoritmo “TestaOperadores”
declare Num1, Num2, Num3: numerico
inicio
Num2  13
Num1  Num2/5
3
Num3  Num2\5
13
numerico
Num1  Num2%5
numerico
Num1
Raio
Num2
2
numerico
Num3
Variáveis e Tipos
Operadores Numéricos
• Exemplo
algoritmo “TestaOperadores”
declare Num1, Num2, Num3: numerico
inicio
Num2  13
Num1  Num2/5
3
Num3  Num2\5
13
numerico
Num1  Num2%5
numerico
Num1
Raio
Num3  2^3
Num2
8
numerico
Num3
Comandos de E/S
• Muitos algoritmos necessitam que “alguém” lhes forneça
algumas informações
• Também, muitas vezes o algoritmo precisa passar para
“alguém” alguma informação
 comandos de entrada e saída de dados
Comandos de E/S
• Exemplo
– algoritmo para calcular a soma de dois números
algoritmo “soma”
declare X, Y, Soma: numerico
inicio
Soma  X+Y
fimalgoritmo
 Quanto vale X e Y?
13
numerico
Raio
X
numerico
Caixa1
Y
numerico
Soma
Comandos de E/S
• Comando de entrada de dados
 “Alguém” (o usuário do algoritmo) fornece os valores para as
variáveis
13
numerico
Raio
X
numerico
Caixa1
Y
numerico
Soma
Comandos de E/S
• Comando de entrada de dados
algoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X
leia Y
Soma  X+Y
fimalgoritmo
13
13
numerico
Raio
X
numerico
Caixa1
Y
numerico
Soma
Comandos de E/S
• Comando de entrada de dados
algoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X
leia Y
Soma  X+Y
fimalgoritmo
7
13
13
numerico
Raio
X
numerico
Caixa1
Y
numerico
Soma
Comandos de E/S
• Comando de entrada de dados
algoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X
leia Y
Soma  X+Y
fimalgoritmo
13
13
7
numerico
Raio
X
numerico
Caixa1
Y
20
numerico
Soma
Comandos de E/S
• Várias variáveis podem ser lidas no mesmo comando de
entrada
algoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X,Y
Soma  X+Y
fimalgoritmo
13
13
numerico
Raio
X
numerico
Caixa1
Y
numerico
Soma
Comandos de E/S
• Várias variáveis podem ser lidas no mesmo comando de
entrada
algoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X,Y
Soma  X+Y
fimalgoritmo
7
13
13
numerico
Raio
X
numerico
Caixa1
Y
numerico
Soma
Comandos de E/S
• Várias variáveis podem ser lidas no mesmo comando de
entrada
algoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X,Y
Soma  X+Y
fimalgoritmo
13
13
7
numerico
Raio
X
numerico
Caixa1
Y
20
numerico
Soma
Comandos de E/S
• Após o comando de entrada de dados deve haver o
nome de uma ou mais variáveis
algoritmo “calculaSalario”
declare ValorHora, HorasTrabalhadas: numerico
inicio
leia ValorHora, HorasTrabalhadas

Comandos de E/S
• Após o comando de entrada de dados deve haver o
nome de uma ou mais variáveis
algoritmo “calculaSalario”
declare ValorHora, HorasTrabalhadas: numerico
inicio
leia ValorHora, HorasTrabalhadas
leia 123

Comandos de E/S
• Após o comando de entrada de dados deve haver o
nome de uma ou mais variáveis
algoritmo “calculaSalario”
declare ValorHora, HorasTrabalhadas: numerico
inicio
leia ValorHora, HorasTrabalhadas
leia ValorHora*HorasTrabalhadas

Comandos de E/S
• Imaginando que o algoritmo é executado por um
computador, o comando de leitura pára o algoritmo e
espera que o usuário digite um valor
• O comando de escrita escreve algo na tela
Comandos de E/S
• Exemplo:
algoritmo “soma”
declare X, Y, Soma: numerico
inicio
escreva “Entre com dois números”
leia X,Y
Soma  X+Y
escreva “O resultado de “, X, “ + “, Y, “ é”
escreva Soma
fimalgoritmo
Comandos de E/S
• Exemplo:
algoritmo “soma”Entre com dois números
declare X, Y, Soma: numerico
inicio
escreva “Entre com dois números”
leia X,Y
Soma  X+Y
escreva “O resultado de “, X, “ + “, Y, “ é”
escreva Soma
fimalgoritmo
Comandos de E/S
• Exemplo:
algoritmo “soma”Entre com dois números
13
declare X, Y, Soma:
numerico
7
inicio
escreva “Entre com dois números”
leia X,Y
Soma  X+Y
escreva “O resultado de “, X, “ + “, Y, “ é”
escreva Soma
fimalgoritmo
Comandos de E/S
• Exemplo:
algoritmo “soma”Entre com dois números
13
declare X, Y, Soma:
numerico
7
O resultado de 13 + 7 é
inicio
escreva “Entre com dois números”
leia X,Y
Soma  X+Y
escreva “O resultado de “, X, “ + “, Y, “ é”
escreva Soma
fimalgoritmo
Comandos de E/S
• Exemplo:
algoritmo “soma”Entre com dois números
13
declare X, Y, Soma:
numerico
7
O resultado de 13 + 7 é
inicio
20
escreva “Entre com
dois números”
leia X,Y
Soma  X+Y
escreva “O resultado de “, X, “ + “, Y, “ é”
escreva Soma
fimalgoritmo
Ohhh!
Variáveis e Tipos
Tipo Lógico
• Tipos da linguagem: logico
– Para variáveis que conterão valores lógicos (verdadeiro ou falso)
declare Achou: logico
13
numerico
logico
Achou
Raio
Variáveis e Tipos
Tipo Lógico
• Tipos da linguagem: logico
– Para variáveis que conterão valores lógicos (VERDADEIRO ou FALSO)
declare Achou: logico
inicio
Achou  FALSO
FALSO
numerico
logico
Achou
Raio
Variáveis e Tipos
Tipo Lógico
• Tipos da linguagem: logico
– Para variáveis que conterão valores lógicos (VERDADEIRO ou FALSO)
declare Achou: logico
inicio
Achou  FALSO
Achou  VERDADEIRO
VERDADEIRO
numerico
logico
Achou
Raio
Variáveis e Tipos
Operadores Lógicos
• Operadores lógicos fornecem como resultado verdadeiro ou
falso
Operador
ou exclusivo
adição lógica
multiplicação lógica
negação
Símbolo
xou
ou
e
nao
Prioridade
0
1
2
3
Variáveis e Tipos
Operadores Lógicos
• Tabela Verdade
A
FALSO
FALSO
VERDADEIRO
VERDADEIRO
B
FALSO
VERDADEIRO
FALSO
VERDADEIRO
A xou B
FALSO
VERDADEIRO
VERDADEIRO
FALSO
A ou B
FALSO
VERDADEIRO
VERDADEIRO
VERDADEIRO
A e B
FALSO
FALSO
FALSO
VERDADEIRO
nao A
VERDADEIRO
VERDADEIRO
FALSO
FALSO
Variáveis e Tipos
Operadores Lógicos
• Exemplo
FALSO ou VERDADEIRO e nao (VERDADEIRO e FALSO)
FALSO ou VERDADEIRO e nao
FALSO
FALSO ou VERDADEIRO e VERDADEIRO
FALSO ou
VERDADEIRO
VERDADEIRO
Variáveis e Tipos
Operadores Lógicos
• Operadores lógicos são utilizados corriqueiramente:
– Se não chover e o jogo for a noite ou se chover e
jogo for de dia então iremos assistir
declare Chover, Jogo_noite, Assistir: logico
...
Assistir  nao Chover e Jogo_noite ou
Chover e nao Jogo_noite
Variáveis e Tipos
Tipo Caracter
• Tipos da linguagem: caracter
– Para variáveis que conterão seqüências de caracteres (“palavras”)
– O valor deve estar entre aspas
declare Nome: caracter
inicio
Nome  “Luís da Silva”
“Luís
da
Silva”
numerico
caracter
Nome
Raio
Variáveis e Tipos
Tipo Caracter
• Tipos da linguagem: caracter
– Um número é diferente de uma seqüência de caracteres numéricos
declare Chave caracter
13
numerico
caracter
Chave
Raio
3.14
Variáveis e Tipos
Tipo Caracter
• Tipos da linguagem: caracter
– Um número é diferente de uma seqüência de caracteres numéricos
declare Chave caracter
declare Código numerico
13
numerico
caracter
Chave
Raio
numerico
Código
Variáveis e Tipos
Tipo Caracter
• Tipos da linguagem: caracter
– Um número é diferente de uma seqüência de caracteres numéricos
declare Chave caracter
declare Código numerico
declare Aux logico
13
numerico
caracter
Chave
Raio
numerico
Código
logico
Aux
Variáveis e Tipos
Tipo Caracter
• Tipos da linguagem: caracter
– Um número é diferente de uma seqüência de caracteres numéricos
declare Chave caracter
declare Código numerico
declare Aux logico
inicio
Chave  “234”
“234”
13
numerico
caracter
Chave
Raio
numerico
Código
logico
Aux
Variáveis e Tipos
Tipo Caracter
• Tipos da linguagem: caracter
– Um número é diferente de uma seqüência de caracteres numéricos
declare Chave caracter
declare Código numerico
declare Aux logico
inicio
Chave  “234”
Código  234
“234”
13
numerico
caracter
Chave
Raio
234
numerico
Código
logico
Aux
Variáveis e Tipos
Tipo Caracter
• Tipos da linguagem: caracter
– Um número é diferente de uma seqüência de caracteres numéricos
declare Chave caracter
declare Código numerico
declare Aux logico
inicio
Chave  “234”
Código  234
Aux  Chave = Código
“234”
13
numerico
caracter
Chave
Raio
234
numerico
FALSO
Código
logico
Aux
Variáveis e Tipos
Operadores Literais
• Operadores que servem para modificar seqüências de
caracteres
Operador
concatena
remove
Símbolo
+
-
Variáveis e Tipos
Operadores Relacionais
• Operadores servem para comparar operandos
• Fornecem como resultado verdadeiro ou falso
Operador
maior
menor
Maior ou igual
Menor ou igual
igual
diferente
Símbolo
>
<
>=
<=
=
<>
Prioridade
0
0
0
0
0
0
Variáveis e Tipos
Operadores Relacionais
• Exemplo:
algoritmo “trianguloIsoceles”
declare É_isóceles: logico
declare Lado1, Lado2, Lado3: numerico
inicio
leia Lado1, Lado2, lado3
É_isóceles  (((Lado1 = Lado2) ou
(Lado3 = Lado2)) e
(Lado1 <> Lado3)) ou
((Lado1 = Lado3) e
(Lado1 <> Lado2))
Variáveis e Tipos
Operadores Relacionais
• Exemplo:
algoritmo “Xara”
declare Nome1, Nome2: caracter
declare xara: logico
inicio
escreva “Entre com 2 nomes”
leia Nome1, Nome2
xara  nome1 = nome2
escreva “Os dois são xaras?”, xara
fimalgoritmo
Comandos de E/S
• Comando de saída de dados
 O algoritmo “mostra” para o usuário alguma mensagem,
conteúdo de variável ou resultado da execução
Caixa1
Comandos de E/S
• Após executado o algoritmo, ele “mostra” para o usuário o
resultado
algoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X,Y
Soma  X+Y
escreva Soma
fimalgoritmo
13
13
7
numerico
Raio
X
numerico
Caixa1
Y
20
numerico
Soma
Comandos de E/S
• Após executado o algoritmo, ele “mostra” para o usuário o
resultado
algoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X,Y
Soma  X+Y
escreva Soma
fimalgoritmo
algoritmo
13
13
7
numerico
Raio
X
numerico
Caixa1
Y
20
numerico
Soma
Comandos de E/S
Ô loco!
• Após executado o algoritmo, ele “mostra” para o usuário o
resultado
algoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X,Y
Soma  X+Y
escreva Soma
fimalgoritmo
13
13
7
numerico
Raio
X
numerico
Caixa1
Y
20
numerico
Soma
Comandos de E/S
• O comado de escrita pode ser também usado para
escrever mensagens e resultados de expressões
algoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X,Y
Soma  X+Y
escreva “O resultado de “, X, “ + “, Y, “ é”
escreva Soma
fimalgoritmo
Download