Anda di halaman 1dari 43
Algoritmos Prof.: Carlos Alberto E-mail_1: carlos@facape.br E-mail_2: carlos36_batista@yahoo.com.br
Algoritmos
Prof.: Carlos Alberto
E-mail_1: carlos@facape.br
E-mail_2: carlos36_batista@yahoo.com.br

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.

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

Estrutura Condicional

  • Desvio 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;

Estrutura Condicional  Desvio condicional simples  Fluxograma
Estrutura Condicional
Desvio condicional simples
Fluxograma

Estrutura Condicional

  • Desvio 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>

Estrutura Condicional

  • Desvio 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.

Estrutura Condicional

  • Desvio 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.

Estrutura Condicional  Fluxograma Desvio condicional simples
Estrutura Condicional
Fluxograma
Desvio condicional simples

Estrutura Condicional

  • Portuguê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

Estrutura Condicional

  • Desvio 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;

Estrutura Condicional  Desvio condicional composto  Fluxograma
Estrutura Condicional
Desvio condicional composto
Fluxograma

Estrutura Condicional

  • Desvio condicional composto

    • Português estruturado

se (condição) entao

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

senao

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

fimse

Estrutura Condicional

  • Desvio 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.

Estrutura Condicional

  • Desvio 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.

Estrutura Condicional  Fluxograma Desvio condicional composto
Estrutura Condicional
Fluxograma
Desvio condicional composto

Estrutura Condicional

  • Português estruturado

algoritmo “soma_numeros”

var A, B, res : inteiro inicio leia (A)

leia (B)

res := A + B

se (res >= 10) entao escreva (res + 5)

senao

escreva (res - 7)

fimse

fimalgoritmo

Estrutura Condicional

  • Desvios 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.

Estrutura Condicional  Desvio condicional encadeado  Fluxograma
Estrutura Condicional
Desvio condicional encadeado
Fluxograma

Estrutura Condicional

  • Desvio 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

Estrutura Condicional

  • Desvio 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%.

Estrutura Condicional

  • Desvio condicional encadeado

Percebe-se condições:

que

o

problema

estabelece

três

  • Salário < 500, reajuste de 15%;

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

  • Salário > 1000, reajuste de 5%.

Estrutura Condicional

  • Desvio 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.

Estrutura Condicional  Fluxograma Desvio condicional encadeado
Estrutura Condicional
Fluxograma
Desvio condicional encadeado

Estrutura Condicional

  • Português estruturado

algoritmo “reajusta_salario” var salario, novo_salario : real inicio 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

Estrutura Condicional

  • Desvio condicional de múltipla escolha

Utilizado algoritmo,

quando

se

tomar uma

alternativas;

deseja,

em

algum

ponto

decisão, com um número

do

de

Uma

decisão

múltipla

pode

comandos

se...entao...senao

torna-se de difícil leitura;

ser

construída

com

encadeados, porém

  • O comando

escolha...caso

oferece uma alternativa

com uma sensível melhoria na legibilidade do algoritmo.

Estrutura Condicional

  • Desvio 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”.

Estrutura Condicional  Desvio condicional de múltipla escolha  Fluxograma
Estrutura Condicional
Desvio condicional de múltipla escolha
Fluxograma

Estrutura Condicional

  • Desvio 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 >, < lista-de-comandos-2 >

...

, < exp n >

outrocaso

< lista-de-comandos-3 >

fimescolha

Estrutura Condicional

  • Desvio condicional de múltipla escolha

    • Exemplo

Um 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

CATEGORIA

De 05 a 10

Infantil

De 11 a 15

Juvenil

De 16 a 20

Junior

De 21 a 25

Profissional

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

Estrutura Condicional  Fluxograma Desvio condicional de múltipla escolha
Estrutura Condicional
Fluxograma
Desvio condicional de
múltipla escolha

Estrutura Condicional

  • Português estruturado

algoritmo “Classificação de Atletas”

var

nome, categoria : caracter idade : inteiro inicio escreva("Nome do Atleta = ") leia (nome) escreva("Idade do Atleta = ")

leia (idade) escolha idade caso 5,6,7,8,9,10 categoria := "Infantil" caso 11,12,13,14,15 categoria := "Juvenil“ caso 16,17,18,19,20 categoria := "Junior“

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

outrocaso

categoria := "INVALIDO"

fimescolha

escreva ("Categoria = ",categoria)

fimalgoritmo

Estrutura Condicional

  • Operadores 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

booleanos;

conhecidos

como operadores

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

Estrutura Condicional

  • Operadores 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

Estrutura Condicional

  • Operadores 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.

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

Estrutura Condicional

  • Operadores 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

Estrutura Condicional

  • Operadores 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 uma pessoa.

o sexo

de

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

Estrutura Condicional

  • Operadores 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

Estrutura Condicional

  • Operadores 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.

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

Estrutura Condicional  Operadores Lógicos  Veja lógicos a tabela com um resumo dos operadores
Estrutura Condicional
Operadores Lógicos
 Veja
lógicos
a
tabela com
um
resumo
dos operadores
Estrutura Condicional  Operadores Lógicos  Veja a tabela de decisão dos operadores lógicos
Estrutura Condicional
Operadores Lógicos
Veja a tabela de decisão dos operadores lógicos