Your SlideShare is downloading. ×
  • Like
Logica Algoritmo 04 Decisao
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Logica Algoritmo 04 Decisao

  • 11,684 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
11,684
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
261
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Introdução à Lógica Desvios Condicionais
      • Regis Pires Magalhães
      • [email_address]
      • Última atualização em 17/04/2008
  • 2. Comando de desvio
    • Permite que o algoritmo decida autonomamente entre caminhos possíveis, qual irá executar.
    • Exemplo:
      • se "tiver R$10,00 sobrando" entao
        • "irei ao cinema"
      • fimse
  • 3. Bloco de comandos
    • Um bloco de comandos é uma série de comandos
    • Em um bloco ou todos os comandos são executados ou nenhum é.
    • Exemplo:
      • leia(n1, n2)
      • media <- (n1+n2)/2
      • escreva(&quot;A média é &quot;, media)
  • 4. Fluxograma do desvio
    • Somente um dos blocos de comando é executado.
    condição Bloco de comandos 1 Bloco de comandos 2 falsa verdadeira
  • 5. Comando se
    • se <condicao> entao
    • <bloco de comandos 1>
    • senao
    • <bloco de comandos 2>
    • fimse
  • 6. Comando se simplificado
    • Caso o bloco de comandos depois do senão seja vazio, esta parte pode ser omitida.
    • A forma geral simplificada é:
    • se <condicao> entao
    • <bloco de comandos> fimse
  • 7. Fluxograma se simplificado
    • O bloco de comandos é executado somente se a condição for verdadeira.
    • Caso contrário o algoritmo prossegue normalmente
    condição Bloco de comandos 1 verdadeira falsa
  • 8. Exemplo
    • algoritmo &quot;domingo&quot;
    • inicio
    • acorde
    • se estiver fazendo sol entao
    • va a praia
    • compre um picole
    • senao
    • leia jornal
    • durma
    • acorde
    • fimse
    • almoce
    • fimalgoritmo
  • 9. Exemplo
    • Ler dois números e imprimir o maior
      • algoritmo &quot;maior&quot;
      • var num1,num2,maior : inteiro
      • inicio
      • escreva(&quot;Primeiro número: &quot;)
      • leia( num1 )
      • escreva(&quot;Segundo número: &quot;)
      • leia( num2 )
      • se num1 > num2 entao
      • maior <- num1
      • senao
      • maior <- num2
      • fimse
      • escreva(&quot;O maior é &quot;, maior )
      • fimalgoritmo
  • 10. Comandos se aninhados
    • As duas formas do comando se podem aparecer dentro de outros comando se .
    • se estiver fazendo sol entao
    • se eu tiver dinheiro entao
    • vou a Portugal fimse fimse
  • 11.
    • algoritmo &quot;maior&quot;
    • var num1,num2,maior : inteiro
    • inicio
    • escreva(&quot;Primeiro número: &quot;)
    • leia(num1)
    • escreva(&quot;Segundo número: &quot;)
    • leia(num2)
    • se num1 = num2 entao
    • escreva(&quot;Os números são iguais.&quot;)
    • senao
    • se num1 > num2 entao
    • maior <- num1
    • senao
    • maior <- num2
    • fimse
    • escreva(&quot;O maior é &quot;, maior)
    • fimse
    • fimalgoritmo
  • 12. Quando usar se aninhados?
    • Quando tivermos de executar blocos de comandos diferentes para a cláusula senão das duas condições.
    • se estiver fazendo sol entao
    • se eu tiver dinheiro entao
    • vou a Portugal
    • senao
    • vou a praia fimse
    • senao
    • vou dormir fimse
  • 13. Exemplo
    • Uma empresa vai dar uma gratificação aos empregados que tenham mais de 1 ano de serviço: 10% para os que tenham menos de 10 anos e 25% para os demais. Calcule a gratificação de um dado funcionário, dado o seu salário e o tempo de serviço.
  • 14. Gratificação
    • algoritmo &quot;aumento&quot;
    • var salario, tempo, gratificacao : real
    • inicio
    • escreva(&quot;Entre com o salario: &quot;)
    • leia( salario )
    • escreva(&quot;Entre com o tempo de servico: &quot;)
    • leia( tempo )
    • se tempo > 1 entao
    • se tempo < 10 entao
    • gratificacao <- 0.1*salario
    • senao
    • gratificacao <- 0.25*salario
    • fimse
    • fimse
    • escreva(&quot;Gratificação: &quot;, gratificacao )
    • fimalgoritmo
  • 15. Estruturas de Decisão Múltipla do Tipo Caso
    • Na estrutura de decisão do tipo Caso pode haver uma ou mais condições a serem testadas e um comando diferente associado a cada uma destas.
    • A sintaxe da construção de Caso é:
      • escolha <expressao>
      • caso <exp_1>,<exp_2>,...,<exp_n>
      • <bloco_de_comandos_1>
      • caso <exp_1>,<exp_2>,...,<exp_n>
      • <bloco_de_comandos_2>
      • ...
      • caso <exp_1>,<exp_2>,...,<exp_n>
      • <bloco_de_comandos_n>
      • outrocaso
      • <bloco_de_comandos_s>
      • fimescolha
  • 16. Fluxograma - Caso
  • 17.
    • algoritmo &quot;extenso&quot;
    • var numero : inteiro
    • inicio
    • escreva(&quot;Digite um numero: &quot;)
    • leia(numero)
    • escolha numero
    • caso 1
    • escreva(&quot;um&quot;)
    • caso 2
    • escreva(&quot;dois&quot;)
    • caso 3
    • escreva(&quot;três&quot;)
    • caso 4
    • escreva(&quot;quatro&quot;)
    • caso 5
    • escreva(&quot;cinco&quot;)
    • caso 6
    • escreva(&quot;seis&quot;)
    • outrocaso
    • escreva(&quot;só sei contar até seis&quot;)
    • fimescolha
    • fimalgoritmo
  • 18. Exemplo
    • Algoritmo para reajustar o salário de acordo com a função. Se for técnico, aumentar o salário 50%, se for gerente, aumentar 30% e se for outro cargo, aumentar 20%.
      • algoritmo &quot;reajuste_salarial&quot;
      • var
      • salario , salario_reaj : real
      • profissao : caracter
      • inicio
      • escreva(&quot;Digite o salário: &quot;)
      • leia( salario )
      • escreva(&quot;Digite a profissão: &quot;)
      • leia( profissao )
      • escolha profissao
      • caso &quot;técnico&quot;
      • salario_reaj <- 1.5 * salario
      • caso &quot;gerente&quot;
      • salario_reaj <- 1.3 * salario
      • outrocaso
      • salario_reaj <- 1.2 * salario
      • fimescolha
      • escreva(&quot;Salário Reajustado: &quot;, salario_reaj )
      • fimalgoritmo
  • 19. Fluxograma
  • 20. Exemplo – Se
    • algoritmo &quot;idade&quot;
    • var
    • idade : inteiro
    • resultado : caracter
    • inicio
    • escreva(&quot;Digite sua idade: &quot;)
    • leia(idade)
    • se (idade >= 0) e (idade <= 3) entao
    • resultado <- &quot;Bebê&quot;
    • senao
    • se (idade >= 4) e (idade <= 10) entao
    • resultado <- &quot;Criança&quot;
    • senao
    • se (idade >= 11) e (idade <= 18) entao
    • resultado <- &quot;Adolescente&quot;
    • senao
    • resultado <- &quot;Adulto&quot;
    • fimse
    • fimse
    • fimse
    • escreva(&quot;Você é um &quot;, resultado)
    • fimalgoritmo
  • 21. Exemplo – Caso
    • algoritmo &quot;idade&quot;
    • var
    • idade : inteiro
    • resultado : caracter
    • inicio
    • escreva(&quot;Digite sua idade: &quot;)
    • leia(idade)
    • escolha idade
    • caso 0,1,2,3
    • resultado <- &quot;Bebê&quot;
    • caso 4,5,6,7,8,9,10
    • resultado <- &quot;Criança&quot;
    • caso 11,12,13,14,15,16,17,18
    • resultado <- &quot;Adolescente&quot;
    • outrocaso
    • resultado <- &quot;Adulto&quot;
    • fimescolha
    • escreva(&quot;Você é um &quot;, resultado)
    • fimalgoritmo