Copyright, 2002 © Universidade de Caxias do Sul. Conceitos Básicos de Algoritmos.
Transcript of Copyright, 2002 © Universidade de Caxias do Sul. Conceitos Básicos de Algoritmos.
Copyright, 2002 © Universidade de Caxias do Sul.
Conceitos Básicos de Algoritmos
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 AlgoritmosDescriçã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 AlgoritmosDescrição Textual Informal
• Modo de preparo:– Bata a margarina, as gemas e o açúcar até ficar
cremoso
– Junte o leite, o coco e a farinha e continue batendo
– Acrescente o fermento e, por último, as claras em neve
– Unte uma forma com manteiga e leve ao forno para assar
Quão cremoso?!?
De uma vez só?!?
Quanto tempo?!?
Quanto tempo?!?
Conceitos Básicos de AlgoritmosDescriçã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 AlgoritmosDescriçã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 AlgoritmosDescrição Gráfico-Textual Informal
• Identificação das peças
Conceitos Básicos de AlgoritmosDescriçã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– ...
• 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 AlgoritmosDescrição Textual Informal
Conceitos Básicos de AlgoritmosDescrição Gráfica Informal
• Troca de pneu
Conceitos Básicos de AlgoritmosDescrição Gráfica Semiformal: Fluxograma
Pneu furado? Segue viagem
Acessórios OK?
Abre porta-malas
Pega triângulo
Fecha porta-malas
• Troca de pneu
• 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 AlgoritmosDescrição Textual Formal: Linguagem Estruturada
• Cálculo de ex
Conceitos Básicos de AlgoritmosDescrição Formal: Fórmula Matemática
...!
x
!
x
!
x
!
x
!
xe
ox
43210
4321
• 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 AlgoritmosProblemas Complexos
• Passo 1:mova disco menor para terceiro eixo
Conceitos Básicos de AlgoritmosProblemas Complexos
• Passo 2:mova disco médio para segundo eixo
Conceitos Básicos de AlgoritmosProblemas Complexos
• Passo 3:mova disco menor para segundo eixo
Conceitos Básicos de AlgoritmosProblemas Complexos
• Passo 4:mova disco maior para terceiro eixo
Conceitos Básicos de AlgoritmosProblemas Complexos
• Passo 5:mova disco menor para primeiro eixo
Conceitos Básicos de AlgoritmosProblemas Complexos
• Passo 6:mova disco médio para terceiro eixo
Conceitos Básicos de AlgoritmosProblemas Complexos
• Passo 7:mova disco menor para terceiro eixo
Conceitos Básicos de AlgoritmosProblemas 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 AlgoritmosProblemas Complexos
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
bebida
caixa debebida
Caixa1
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
caixa debebida
Caixa 1
• 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:
declare Caixa1: caixa_de_bebida
Variáveis e Tipos
caixa debebida
caixa debebida
Caixa 1
• 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
Variáveis e Tipos
caixa debebida
caixa debebida
Caixa 1
• 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 cervejaCaixa1 refrigerante
Variáveis e Tipos
caixa debebida
caixa debebida
Caixa 1
• 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 cervejaCaixa1 refrigeranteCaixa1 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
caixa debebida
Caixa 1caixa debebida
Caixa 2
• Uma variável pode receber o valor (conteúdo) de outra variável:
declare Caixa1, Caixa2: caixa_de_bebida
Variáveis e Tipos
caixa debebida
caixa debebida
Caixa 1caixa debebida
Caixa 2
• Uma variável pode receber o valor (conteúdo) de outra variável:
declare Caixa1, Caixa2: caixa_de_bebida
inicio
Caixa1 cerveja
Variáveis e Tipos
caixa debebida
Caixa 1caixa debebida
Caixa 2
• Uma variável pode receber o valor (conteúdo) de outra variável:
declare Caixa1, Caixa2: caixa_de_bebida
inicio
Caixa1 cervejaCaixa2 Caixa1
Variáveis e Tipos
caixa debebida
Caixa 1caixa debebida
Caixa 2
• Observe que o valor de Caixa1 é copiado para Caixa2, i.e., Caixa1 não é “esvaziada”
declare Caixa1, Caixa2: caixa_de_bebida
inicio
Caixa1 cervejaCaixa2 Caixa1
Variáveis e Tipos
caixa debebida
Caixa 1caixa debebida
Caixa 2
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2: caixa_de_bebida
Variáveis e Tipos
caixa debebida
Caixa 1caixa debebida
Caixa 2
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2: caixa_de_bebida
inicio
Caixa1 cerveja
Variáveis e Tipos
caixa debebida
Caixa 1caixa debebida
Caixa 2
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2: caixa_de_bebida
inicio
Caixa1 cervejaCaixa2 refrigerante
Variáveis e Tipos
caixa debebida
Caixa 1caixa debebida
Caixa 2
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2: caixa_de_bebida
inicio
Caixa1 cervejaCaixa2 refrigeranteCaixa1 Caixa2
Variáveis e Tipos
caixa debebida
Caixa 1caixa debebida
Caixa 2
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2: caixa_de_bebida
inicio
Caixa1 cervejaCaixa2 refrigeranteCaixa1 Caixa2Caixa2 Caixa1
Variáveis e Tipos
caixa de bebida
Caixa 1caixa debebida
Caixa 2caixa debebida
Aux
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2, Aux: caixa_de_bebida
Variáveis e Tipos
caixa de bebida
Caixa 1caixa debebida
Caixa 2caixa debebida
Aux
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2, Aux: caixa_de_bebida
inicio
Caixa1 cerveja
Variáveis e Tipos
caixa de bebida
Caixa 1caixa debebida
Caixa 2caixa debebida
Aux
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2, Aux: caixa_de_bebida
inicio
Caixa1 cervejaCaixa2 refrigerante
Variáveis e Tipos
caixa de bebida
Caixa 1caixa debebida
Caixa 2caixa debebida
Aux
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2, Aux: caixa_de_bebida
inicio
Caixa1 cervejaCaixa2 refrigeranteAux Caixa1
Variáveis e Tipos
caixa de bebida
Caixa 1caixa debebida
Caixa 2caixa debebida
Aux
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2, Aux: caixa_de_bebida
inicio
Caixa1 cervejaCaixa2 refrigeranteAux Caixa1Caixa1 Caixa2
Variáveis e Tipos
caixa de bebida
Caixa 1caixa debebida
Caixa 2caixa debebida
Aux
• Para inverter o valor de duas variáveis:
declare Caixa1, Caixa2, Aux: caixa_de_bebida
inicio
Caixa1 cervejaCaixa2 refrigeranteAux Caixa1Caixa1 Caixa2Caixa2 Aux
numerico
Raio
numerico
Áreanumeric
o
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
numerico
Raio
numerico
Áreanumeric
o
Raio numerico
Pi
Variáveis e TiposTipos 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
numerico
Raio
13
numerico
Raio
numerico
Áreanumeric
o
Raio
13
numerico
Pi
3.14
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 13Pi 3.14
numerico
Raio
13
numerico
Raio
13
numerico
Raio
numerico
Áreanumeric
o
Raio numerico
Pi
13
3.14
128.175
Variáveis e TiposTipos Numérico
• Tipos da linguagem: numerico– Para variáveis que conterão números
algoritmo “CalculaArea”declare Área, Raio, Pi: numerico
inicio
Raio 13Pi 3.14Área Pi*Raio*Raio
Variáveis e TiposOperadores Numéricos
Operador Símbolo Prioridadesoma + 0subtração - 0Exponenciação ^ 0multiplicação * 1Divisão / 1Divisão inteira \ 1Módulo (resto) % 1
• 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
Variáveis e TiposOperadores Numéricos
• Exemplo
4*5/2+(40-20)*-5
4*5/2+ 20 *-5
20 /2+ 20 *-5
10 + 20 *-5
10 + -100
-90
numerico
Raio
numerico
Num1numeric
o
Num2 numerico
Num3
• Exemplo
algoritmo “TestaOperadores”
declare Num1, Num2, Num3: numerico
Variáveis e TiposOperadores Numéricos
• Exemplo
algoritmo “TestaOperadores”
declare Num1, Num2, Num3: numerico
inicio
Num2 13
Variáveis e TiposOperadores Numéricos
numerico
Raio
numerico
Num1numeric
o
Num2
numerico
13
numerico
Num3
• Exemplo
algoritmo “TestaOperadores”
declare Num1, Num2, Num3: numerico
inicio
Num2 13Num1 Num2/5
Variáveis e TiposOperadores Numéricos
numerico
Raio
numerico
Num1numeric
o
Num2
numerico
13
numerico
Num3
2.6
• Exemplo
algoritmo “TestaOperadores”
declare Num1, Num2, Num3: numerico
inicio
Num2 13Num1 Num2/5Num3 Num2\5
Variáveis e TiposOperadores Numéricos
numerico
Raio
numerico
Num1numeric
o
Num2
numerico
13
numerico
Num3
2.6
2
• Exemplo
algoritmo “TestaOperadores”
declare Num1, Num2, Num3: numerico
inicio
Num2 13Num1 Num2/5Num3 Num2\5Num1 Num2%5
Variáveis e TiposOperadores Numéricos
numerico
Raio
numerico
Num1numeric
o
Num2
numerico
13
numerico
Num3
3
2
• Exemplo
algoritmo “TestaOperadores”
declare Num1, Num2, Num3: numerico
inicio
Num2 13Num1 Num2/5Num3 Num2\5Num1 Num2%5Num3 2^3
Variáveis e TiposOperadores Numéricos
numerico
Raio
numerico
Num1numeric
o
Num2
numerico
13
numerico
Num3
3
8
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+Yfimalgoritmo
Quanto vale X e Y?
Caixa1
numerico
Raio
13
numerico
Raio
numerico
Xnumeric
o
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
Caixa1
numerico
Raio
13
numerico
Raio
numerico
Xnumeric
o
Y numerico
Soma
Comandos de E/S
Caixa1
numerico
Raio
13
numerico
Raio
numerico
Xnumeric
o
Y numerico
Soma
13
• Comando de entrada de dadosalgoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X
leia Y
Soma X+Yfimalgoritmo
Comandos de E/S
• Comando de entrada de dadosalgoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X
leia Y
Soma X+Yfimalgoritmo
Caixa1
numerico
Raio
13
numerico
Raio
numerico
Xnumeric
o
Y numerico
Soma
137
Comandos de E/S
• Comando de entrada de dadosalgoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X
leia Y
Soma X+Yfimalgoritmo
Caixa1
numerico
Raio
13
numerico
Raio
numerico
Xnumeric
o
Y numerico
Soma
13
7
20
Comandos de E/S
Caixa1
numerico
Raio
13
numerico
Raio
numerico
Xnumeric
o
Y numerico
Soma
13
• Várias variáveis podem ser lidas no mesmo comando de entradaalgoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X,Y
Soma X+Yfimalgoritmo
Comandos de E/S
• Várias variáveis podem ser lidas no mesmo comando de entradaalgoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X,Y
Soma X+Yfimalgoritmo
Caixa1
numerico
Raio
13
numerico
Raio
numerico
Xnumeric
o
Y numerico
Soma
137
Comandos de E/S
• Várias variáveis podem ser lidas no mesmo comando de entradaalgoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X,Y
Soma X+Yfimalgoritmo
Caixa1
numerico
Raio
13
numerico
Raio
numerico
Xnumeric
o
Y numerico
Soma
13
7
20
Comandos de E/S
• Após o comando de entrada de dados deve haver o nome de uma ou mais variáveisalgoritmo “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áveisalgoritmo “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áveisalgoritmo “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+Yescreva “O resultado de “, X, “ + “, Y, “ é”
escreva Soma
fimalgoritmo
• Exemplo:algoritmo “soma”
declare X, Y, Soma: numerico
inicio
escreva “Entre com dois números”
leia X,Y
Soma X+Yescreva “O resultado de “, X, “ + “, Y, “ é”
escreva Soma
fimalgoritmo
Comandos de E/S
Entre com dois números
• Exemplo:algoritmo “soma”
declare X, Y, Soma: numerico
inicio
escreva “Entre com dois números”
leia X,Y
Soma X+Yescreva “O resultado de “, X, “ + “, Y, “ é”
escreva Soma
fimalgoritmo
Comandos de E/S
Entre com dois números137
Comandos de E/S• Exemplo:
algoritmo “soma”
declare X, Y, Soma: numerico
inicio
escreva “Entre com dois números”
leia X,Y
Soma X+Yescreva “O resultado de “, X, “ + “, Y, “ é”
escreva Soma
fimalgoritmo
Entre com dois números137
O resultado de 13 + 7 é
• Exemplo:algoritmo “soma”
declare X, Y, Soma: numerico
inicio
escreva “Entre com dois números”
leia X,Y
Soma X+Yescreva “O resultado de “, X, “ + “, Y, “ é”
escreva Soma
fimalgoritmo
Entre com dois números137
O resultado de 13 + 7 é
Ohhh!
Comandos de E/S
20
numerico
Raio
13
numerico
Raio
13
numerico
Raio
logico
Achou
Variáveis e TiposTipo Lógico
• Tipos da linguagem: logico– Para variáveis que conterão valores lógicos (verdadeiro ou falso)
declare Achou: logico
Variáveis e TiposTipo Lógico
• Tipos da linguagem: logico– Para variáveis que conterão valores lógicos (VERDADEIRO ou FALSO)
declare Achou: logico
inicio
Achou FALSO
numerico
Raio
numerico
Raio
numerico
Raio
logico
Achou
FALSO
Variáveis e TiposTipo Lógico
• Tipos da linguagem: logico– Para variáveis que conterão valores lógicos (VERDADEIRO ou FALSO)
declare Achou: logico
inicio
Achou FALSOAchou VERDADEIRO
numerico
Raio
numerico
Raio
numerico
Raio
logico
Achou
VERDADEIRO
Variáveis e TiposOperadores Lógicos
Operador Símbolo Prioridadeou exclusivo xou 0adição lógica ou 1multiplicação lógica e 2negação nao 3
• Operadores lógicos fornecem como resultado verdadeiro ou falso
Variáveis e TiposOperadores Lógicos
• Tabela Verdade
A B A xou B A ou B A e B nao AFALSO FALSO FALSO FALSO FALSO VERDADEIROFALSO VERDADEIRO VERDADEIRO VERDADEIRO FALSO VERDADEIROVERDADEIRO FALSO VERDADEIRO VERDADEIRO FALSO FALSOVERDADEIRO VERDADEIRO FALSO VERDADEIRO VERDADEIRO FALSO
Variáveis e TiposOperadores 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 TiposOperadores 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 TiposTipo 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”
numerico
Raio
numerico
Raio
numerico
Raio
caracter
Nome
“Luís da
Silva”
Variáveis e TiposTipo Caracter
• Tipos da linguagem: caracter– Um número é diferente de uma seqüência de caracteres numéricos
declare Chave caracter
3.14
numerico
Raio
13
numerico
Raio
13
numerico
Raio
caracter
Chave
numerico
Raio
13
numerico
Raio
13
numerico
Raio
caracter
Chave
Variáveis e TiposTipo Caracter
• Tipos da linguagem: caracter– Um número é diferente de uma seqüência de caracteres numéricos
declare Chave caracter
declare Código numerico
caracter
numerico
Código
numerico
Raio
13
numerico
Raio
13
numerico
Raio
caracter
Chave
caracter
numerico
Código logico
Aux
Variáveis e TiposTipo 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
Variáveis e TiposTipo 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”
numerico
Raio
numerico
Raio
13
numerico
Raio
caracter
Chave
caracter
“234”
numerico
Código logico
Aux
Variáveis e TiposTipo 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
numerico
Raio
numerico
Raio
13
numerico
Raio
caracter
Chave
caracter
“234”
numerico
Código logico
Aux
234
Variáveis e TiposTipo 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 234Aux Chave = Código
numerico
Raio
numerico
Raio
13
numerico
Raio
caracter
Chave
caracter
“234”
numerico
Código logico
Aux
234
FALSO
Variáveis e TiposOperadores Literais
• Operadores que servem para modificar seqüências de caracteres
Operador Símboloconcatena +remove -
Variáveis e TiposOperadores Relacionais
Operador Símbolo Prioridademaior > 0menor < 0Maior ou igual >= 0Menor ou igual <= 0igual = 0diferente <> 0
• Operadores servem para comparar operandos• Fornecem como resultado verdadeiro ou falso
Variáveis e TiposOperadores 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 TiposOperadores Relacionais
• Exemplo:
algoritmo “Xara”
declare Nome1, Nome2: caracter
declare xara: logico
inicio
escreva “Entre com 2 nomes”
leia Nome1, Nome2
xara nome1 = nome2escreva “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 resultadoalgoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X,Y
Soma X+Yescreva Soma
fimalgoritmoCaixa1
numerico
Raio
13
numerico
Raio
numerico
Xnumeric
o
Y numerico
Soma
13
7
20
Comandos de E/S
• Após executado o algoritmo, ele “mostra” para o usuário o resultadoalgoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X,Y
Soma X+Yescreva Soma
fimalgoritmoCaixa1
numerico
Raio
13
numerico
Raio
numerico
Xnumeric
o
Y numerico
Soma
13
7
20
algoritmo
Comandos de E/S
• Após executado o algoritmo, ele “mostra” para o usuário o resultadoalgoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X,Y
Soma X+Yescreva Soma
fimalgoritmoCaixa1
numerico
Raio
13
numerico
Raio
numerico
Xnumeric
o
Y numerico
Soma
13
7
20
Ô loco!
Comandos de E/S
• O comado de escrita pode ser também usado para escrever mensagens e resultados de expressõesalgoritmo “soma”
declare X, Y, Soma: numerico
inicio
leia X,Y
Soma X+Yescreva “O resultado de “, X, “ + “, Y, “ é”
escreva Soma
fimalgoritmo