Copyright, 2002 © Universidade de Caxias do Sul. Conceitos Básicos de Algoritmos

Preview:

Citation preview

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