43
Algoritmos

Algoritmos

  • Upload
    fala

  • View
    30

  • Download
    0

Embed Size (px)

DESCRIPTION

Algoritmos. Estrutura Condicional. O fluxo de instruções é escolhido em função do resultado de uma ou mais condições. Uma condição é uma expressão lógica, podendo ser simples ou composta. - PowerPoint PPT Presentation

Citation preview

Page 1: Algoritmos

Algoritmos

Page 2: Algoritmos

Estrutura CondicionalO fluxo de instruções é escolhido em

função do resultado de uma ou mais condições.

Uma condição é uma expressão lógica, podendo ser simples ou composta.

Algoritmos em que determinados passos estão subordinados a uma condição são chamados algoritmos de seleção.

Page 3: Algoritmos

Estrutura CondicionalDesvio condicional simples

Utiliza a instrução se...entao...fimse, com a finalidade de tomar uma decisão;

Se a condição for verdadeira, serão executadas todas as instruções que estejam entre a instrução se...entao e a instrução fimse;

Sendo a condição falsa, serão executadas as instruções após o comando fimse;

Page 4: Algoritmos

Estrutura CondicionalDesvio condicional simples

Fluxograma

Page 5: Algoritmos

Estrutura CondicionalDesvio condicional simples

Português estruturado

se (condição) entao

<instruções para condição verdadeira>

fimse

<instruções para condição falsa ou após ser

verdadeira>

Page 6: Algoritmos

Estrutura CondicionalDesvio condicional simples

Exemplo

Ler dois valores numéricos, efetuar a adição e apresentar o seu resultado caso o valor somado seja maior que 10.

Page 7: Algoritmos

Estrutura CondicionalDesvio condicional simples

Ler dois valores numéricos, efetuar a adição e apresentar o seu resultado caso o valor somado seja maior que 10.

1.Conhecer dois valores (variáveis A e B)2.Efetuar a soma e atribuir o resultado à variável res;3.Apresentar o valor contido na variável res, caso seja

maior que 10.

Page 8: Algoritmos

Estrutura CondicionalFluxograma

Desvio condicional simples

Page 9: Algoritmos

Estrutura CondicionalPortuguês estruturado

algoritmo “soma_numeros”

var

A, B, Res : inteiro

inicio

leia (A)

leia (B)

Res := A + B

se (Res > 10) entao

escreva (Res)

fimse

fimalgoritmo

Page 10: Algoritmos

Estrutura CondicionalDesvio condicional composto

Utiliza a instrução se...entao...senão...fimse, com a finalidade de tomar uma decisão;

Se a condição for verdadeira, serão executadas todas as instruções que estejam entre a instrução se...entao e a instrução senao;

Sendo a condição falsa, serão executadas as instruções que estejam entre o senão e a instrução fimse;

Page 11: Algoritmos

Estrutura CondicionalDesvio condicional composto

Fluxograma

Page 12: Algoritmos

Estrutura CondicionalDesvio condicional composto

Português estruturado

se (condição) entao

<instruções para condição verdadeira>

senao

<instruções para condição falsa>

fimse

Page 13: Algoritmos

Estrutura CondicionalDesvio condicional composto

Exemplo

Ler dois valores numéricos, efetuar a adição. Caso o valor seja maior ou igual a 10, este deverá ser apresentado somando-se a ele mais 5, caso o valor somado não seja maior ou igual a 10, este deverá ser apresentado subtraindo-se 7.

Page 14: Algoritmos

Estrutura CondicionalDesvio condicional composto

Ler dois valores numéricos, efetuar a adição. Caso o valor seja maior ou igual a 10, este deverá ser apresentado somando-se a ele mais 5, caso o valor somado não seja maior ou igual a 10, este deverá ser apresentado subtraindo-se 7.

1.Conhecer dois valores (variáveis A e B)2.Efetuar a soma e atribuir o resultado à variável res;3.Verificar se res é maior ou igual a 10, caso sim mostre

res + 5, senão mostre res - 7.

Page 15: Algoritmos

Estrutura CondicionalFluxograma

Desvio condicional composto

Page 16: Algoritmos

Estrutura CondicionalPortuguês estruturado

algoritmo “soma_numeros”

var A, B, res : inteiroinicio leia (A) leia (B) res := A + B se (res >= 10) entao escreva (res + 5) senao escreva (res - 7) fimsefimalgoritmo

Page 17: Algoritmos

Estrutura CondicionalDesvios condicionais encadeados (ou

aninhados)

Utilizado quando for necessário estabelecerem verificações de condições sucessivas;

Determinada ação poderá ser executada se um conjunto anterior de condições for satisfeito, e estabelecer novas condições;

Neste caso será utilizada uma condição dentro de outra condição.

Page 18: Algoritmos

Estrutura CondicionalDesvio condicional encadeado

Fluxograma

Page 19: Algoritmos

Estrutura CondicionalDesvio condicional encadeado

Português estruturado

se (condição 1) entao

<instruções para condição 1 verdadeira>

senao

se (condição 2) entao

<instruções para condição 2 verdadeira, porém condição 1 falsa>

senao

<instruções para condição1 e condição 2 falsas>

fimse

fimse

Page 20: Algoritmos

Estrutura CondicionalDesvio condicional encadeado

Exemplo

Elaborar um algoritmo que efetue o cálculo do reajuste de salário de um funcionário. Considere que o funcionário deverá receber um reajuste de 15% caso seu salário seja menor que 500, se o salário for maior ou igual a 500, mas menor ou igual a 1000, seu reajuste será de 10%, caso seja maior que 1000, o reajuste será de 5%.

Page 21: Algoritmos

Estrutura CondicionalDesvio condicional encadeado

Percebe-se que o problema estabelece três condições:

Salário < 500, reajuste de 15%;

Salário >= 500, mas <= 1000, reajuste de 10%;

Salário > 1000, reajuste de 5%.

Page 22: Algoritmos

Estrutura CondicionalDesvio condicional encadeado

Elaborar um algoritmo que efetue o cálculo do reajuste de salário de um funcionário. Considere que o funcionário deverá receber um reajuste de 15% caso seu salário seja menor que 500, se o salário for maior ou igual a 500, mas menor ou igual a 1000, seu reajuste será de 10%, caso seja maior que 1000, o reajuste será de 5%.

1. Definir uma variável para o salário reajustado (novo_salario);2. Ler um valor para a variável salario;3. Verificar se o valor de salario < 500, se sim reajustar em 15%;4. Verificar se o valor de salario <= 1000, se sim reajustar em

10%;5. Verificar se o valor de salario > 1000, se sim reajustar em 5%;6. Atribuir o valor reajustado à variável novo_salario.

Page 23: Algoritmos

Estrutura CondicionalFluxograma

Desvio condicional encadeado

Page 24: Algoritmos

Estrutura CondicionalPortuguês estruturado

algoritmo “reajusta_salario”var salario, novo_salario : realinicio leia (salario) se (salario < 500) entao novo_salario := novo_salario * 1.15 senao se (salario <= 1000) entao novo_salario := novo_salario * 1.10 senao novo_salario := novo_salario * 1.05 fimse fimse escreva (novo_salario)fimalgoritmo

Page 25: Algoritmos

Estrutura CondicionalDesvio condicional de múltipla escolha

Utilizado quando se deseja, em algum ponto do algoritmo, tomar uma decisão, com um número de alternativas;

Uma decisão múltipla pode ser construída com comandos se...entao...senao encadeados, porém torna-se de difícil leitura;

O comando escolha...caso oferece uma alternativa com uma sensível melhoria na legibilidade do algoritmo.

Page 26: Algoritmos

Estrutura CondicionalDesvio condicional de múltipla escolha

A estrutura de decisão escolha...caso é utilizada para testar uma única expressão, que produz um resultado, ou, então, o valor de uma variável, em que está armazenado um determinado conteúdo;

Pode ser considerado como uma especialização do comando “se”.

Page 27: Algoritmos

Estrutura CondicionalDesvio condicional de múltipla escolha

Fluxograma

Page 28: Algoritmos

Estrutura CondicionalDesvio condicional de múltipla escolha

Português estruturado

escolha < expressão-de-seleção >caso < exp 1 > , < exp 2 >, ... , < exp n >

< lista-de-comandos-1 >caso < exp 1 > , < exp 2 >, ... , < exp n >

< lista-de-comandos-2 >outrocaso

< lista-de-comandos-3 >fimescolha

Page 29: Algoritmos

Estrutura CondicionalDesvio condicional de múltipla escolha

ExemploUm determinado clube de futebol pretende classificar seus atletas em categorias e para isto ele contratou um programador para criar um programa que executasse esta tarefa. Para isso o clube criou uma tabela que continha a faixa etária do atleta e sua categoria. A tabela está demonstrada abaixo:

IDADE CATEGORIADe 05 a 10 InfantilDe 11 a 15 JuvenilDe 16 a 20 JuniorDe 21 a 25 Profissional

Construa um programa que solicite o nome e a idade de um atleta e imprima a sua categoria.

Page 30: Algoritmos

Estrutura CondicionalFluxograma

Desvio condicional de múltipla escolha

Page 31: Algoritmos

Estrutura CondicionalPortuguês estruturadoalgoritmo “Classificação de Atletas”var

nome, categoria : caracteridade : inteiro

inicioescreva("Nome do Atleta = ")leia (nome)escreva("Idade do Atleta = ")leia (idade)escolha idade

caso 5,6,7,8,9,10categoria := "Infantil"

caso 11,12,13,14,15categoria := "Juvenil“

caso 16,17,18,19,20categoria := "Junior“

caso 21,22,23,24,25categoria := "Profissional“

outrocasocategoria := "INVALIDO"

fimescolhaescreva ("Categoria = ",categoria)

fimalgoritmo

Page 32: Algoritmos

Estrutura CondicionalOperadores Lógicos

Utilizados quando se necessita trabalhar com o relacionamento de duas ou mais condições ao mesmo tempo, na mesma instrução se;

São também conhecidos como operadores booleanos;

Atuam sobre expressões e resultam em valores lógicos: verdadeiro ou falso.

Page 33: Algoritmos

Estrutura CondicionalOperadores Lógicos

Os operadores lógicos são três: ‘e’, “ou” e “não”.

Operador ‘e’ : utilizado quando dois ou mais relacionamentos lógicos necessitam ser verdadeiros;

se (<condição 1>) e (<condição 2>) então<instrução executada se condição 1 e condição 2

verdadeiras>fimse

Page 34: Algoritmos

Estrutura CondicionalOperadores Lógicos

O operador ‘e’ faz com que somente seja executada uma determinada operação se todas as condições mencionadas forem simultaneamente verdadeiras.

Exemplo: fazer um algoritmo para informar se um número está na faixa de 20 a 90.

Page 35: Algoritmos

Estrutura Condicional Exemplo: fazer um algoritmo para informar se um

número está na faixa de 20 a 90.

algoritmo "Testa_lógica_E"

var

numero :inteiro

inicio

leia(numero)

se (numero >= 20) e (numero <= 90) entao

escreva("O número está na faixa de 20 a

90.")

senao

escreva("O número está fora da faixa de

20 a 90.")

fimse

fimalgoritmo

Page 36: Algoritmos

Estrutura CondicionalOperadores Lógicos

Operador ‘ou’ : utilizado quando pelo menos um dos relacionamentos lógicos de uma condição necessita ser verdadeiro;

se (<condição 1>) ou (<condição 2>) então<instrução executada se cond. 1 verd. ou se cond. 2

verd.>fimse

Page 37: Algoritmos

Estrutura CondicionalOperadores Lógicos

O operador ‘ou’ faz com que seja executada uma determinada operação se pelo menos uma das condições mencionadas for verdadeira.

Exemplo: fazer um algoritmo para ler o sexo de uma pessoa.

Page 38: Algoritmos

Estrutura Condicional Exemplo: fazer um algoritmo para ler o sexo de uma

pessoa.

algoritmo "Testa_lógica_OU"

var

sexo :caracter

inicio

leia(sexo)

se (sexo = “masculino”) ou (sexo =

“feminino”) entao

escreva(“O seu sexo é válido.")

senao

escreva(“O seu sexo é inválido.")

fimse

fimalgoritmo

Page 39: Algoritmos

Estrutura CondicionalOperadores Lógicos

Operador ‘nao’ : utilizado quando se necessita estabelecer que uma determinada condição deve não ser verdadeira;

Recurso utilizado quando mesmo sendo uma condição verdadeira, ela será tratada como falsa.

se nao (<condição>) então<instrução executada se condição não for verdeira>

fimse

Page 40: Algoritmos

Estrutura CondicionalOperadores Lógicos

O operador ‘nao’ faz com que seja executada uma determinada operação se a condição não for verdadeira, portanto, considerada falsa.

O operador ‘nao’ caracteriza-se por inverter o estado lógico de uma condição.

Page 41: Algoritmos

Estrutura Condicional Exemplo

algoritmo "Testa_lógica_NAO"

var

A, B, C, X :inteiro

inicio

leia(A, B, X)

se nao (X > 5) entao

C := (A + B) * X

senao

C := (A - B) * X

fimse

escreva(C)

fimalgoritmo

Page 42: Algoritmos

Estrutura CondicionalOperadores Lógicos

Veja a tabela com um resumo dos operadores lógicos

Page 43: Algoritmos

Estrutura CondicionalOperadores Lógicos

Veja a tabela de decisão dos operadores lógicos