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

100
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.

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

Copyright, 2002 © Universidade de Caxias do Sul.

Conceitos Básicos de Algoritmos

Page 2: 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

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

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

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

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

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

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?!?

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

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

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

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

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

Conceitos Básicos de AlgoritmosDescrição Gráfico-Textual Informal

• Identificação das peças

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

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– ...

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

• 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

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

Conceitos Básicos de AlgoritmosDescrição Gráfica Informal

• Troca de pneu

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

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

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

• 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

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

• Cálculo de ex

Conceitos Básicos de AlgoritmosDescrição Formal: Fórmula Matemática

...!

x

!

x

!

x

!

x

!

xe

ox

43210

4321

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

• 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

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

• Passo 1:mova disco menor para terceiro eixo

Conceitos Básicos de AlgoritmosProblemas Complexos

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

• Passo 2:mova disco médio para segundo eixo

Conceitos Básicos de AlgoritmosProblemas Complexos

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

• Passo 3:mova disco menor para segundo eixo

Conceitos Básicos de AlgoritmosProblemas Complexos

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

• Passo 4:mova disco maior para terceiro eixo

Conceitos Básicos de AlgoritmosProblemas Complexos

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

• Passo 5:mova disco menor para primeiro eixo

Conceitos Básicos de AlgoritmosProblemas Complexos

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

• Passo 6:mova disco médio para terceiro eixo

Conceitos Básicos de AlgoritmosProblemas Complexos

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

• Passo 7:mova disco menor para terceiro eixo

Conceitos Básicos de AlgoritmosProblemas Complexos

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

• 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

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

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

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

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.

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

Variáveis e Tipos

• Exemplo– tipo: caixa_de_bebida– nome: Caixa1– valor: refrigerante

Caixa1

bebida

caixa debebida

Caixa1

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

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.

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

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

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

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

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

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

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

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á

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

Variáveis e Tipos

• Não há sentido em um valor possível de variável receber uma variável!!!

guaraná Caixa1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

numerico

Raio

numerico

Num1numeric

o

Num2 numerico

Num3

• Exemplo

algoritmo “TestaOperadores”

declare Num1, Num2, Num3: numerico

Variáveis e TiposOperadores Numéricos

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

• 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

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

• 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

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

• 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

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

• 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

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

• 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

• 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

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

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 é

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

• 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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”

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

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

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

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

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

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

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

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

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

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

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

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

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

Variáveis e TiposOperadores Literais

• Operadores que servem para modificar seqüências de caracteres

Operador Símboloconcatena +remove -

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

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

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

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))

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

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

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

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

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

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

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

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

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

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!

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

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