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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Logica Algoritmo 04 Decisao

12,222

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
12,222
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
279
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 <ul><ul><li>Regis Pires Magalhães </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>Última atualização em 17/04/2008 </li></ul></ul>
  • 2. Comando de desvio <ul><li>Permite que o algoritmo decida autonomamente entre caminhos possíveis, qual irá executar. </li></ul><ul><li>Exemplo: </li></ul><ul><ul><li>se &quot;tiver R$10,00 sobrando&quot; entao </li></ul></ul><ul><ul><ul><li>&quot;irei ao cinema&quot; </li></ul></ul></ul><ul><ul><li>fimse </li></ul></ul>
  • 3. Bloco de comandos <ul><li>Um bloco de comandos é uma série de comandos </li></ul><ul><li>Em um bloco ou todos os comandos são executados ou nenhum é. </li></ul><ul><li>Exemplo: </li></ul><ul><ul><li>leia(n1, n2) </li></ul></ul><ul><ul><li>media <- (n1+n2)/2 </li></ul></ul><ul><ul><li>escreva(&quot;A média é &quot;, media) </li></ul></ul>
  • 4. Fluxograma do desvio <ul><li>Somente um dos blocos de comando é executado. </li></ul>condição Bloco de comandos 1 Bloco de comandos 2 falsa verdadeira
  • 5. Comando se <ul><li>se <condicao> entao </li></ul><ul><li><bloco de comandos 1> </li></ul><ul><li>senao </li></ul><ul><li><bloco de comandos 2> </li></ul><ul><li>fimse </li></ul>
  • 6. Comando se simplificado <ul><li>Caso o bloco de comandos depois do senão seja vazio, esta parte pode ser omitida. </li></ul><ul><li>A forma geral simplificada é: </li></ul><ul><li>se <condicao> entao </li></ul><ul><li><bloco de comandos> fimse </li></ul>
  • 7. Fluxograma se simplificado <ul><li>O bloco de comandos é executado somente se a condição for verdadeira. </li></ul><ul><li>Caso contrário o algoritmo prossegue normalmente </li></ul>condição Bloco de comandos 1 verdadeira falsa
  • 8. Exemplo <ul><li>algoritmo &quot;domingo&quot; </li></ul><ul><li>inicio </li></ul><ul><li>acorde </li></ul><ul><li>se estiver fazendo sol entao </li></ul><ul><li>va a praia </li></ul><ul><li>compre um picole </li></ul><ul><li>senao </li></ul><ul><li>leia jornal </li></ul><ul><li>durma </li></ul><ul><li>acorde </li></ul><ul><li>fimse </li></ul><ul><li>almoce </li></ul><ul><li>fimalgoritmo </li></ul>
  • 9. Exemplo <ul><li>Ler dois números e imprimir o maior </li></ul><ul><ul><li>algoritmo &quot;maior&quot; </li></ul></ul><ul><ul><li>var num1,num2,maior : inteiro </li></ul></ul><ul><ul><li>inicio </li></ul></ul><ul><ul><li>escreva(&quot;Primeiro número: &quot;) </li></ul></ul><ul><ul><li>leia( num1 ) </li></ul></ul><ul><ul><li>escreva(&quot;Segundo número: &quot;) </li></ul></ul><ul><ul><li>leia( num2 ) </li></ul></ul><ul><ul><li>se num1 > num2 entao </li></ul></ul><ul><ul><li>maior <- num1 </li></ul></ul><ul><ul><li>senao </li></ul></ul><ul><ul><li>maior <- num2 </li></ul></ul><ul><ul><li>fimse </li></ul></ul><ul><ul><li>escreva(&quot;O maior é &quot;, maior ) </li></ul></ul><ul><ul><li>fimalgoritmo </li></ul></ul>
  • 10. Comandos se aninhados <ul><li>As duas formas do comando se podem aparecer dentro de outros comando se . </li></ul><ul><li>se estiver fazendo sol entao </li></ul><ul><li> se eu tiver dinheiro entao </li></ul><ul><li> vou a Portugal fimse fimse </li></ul>
  • 11. <ul><li>algoritmo &quot;maior&quot; </li></ul><ul><li>var num1,num2,maior : inteiro </li></ul><ul><li>inicio </li></ul><ul><li>escreva(&quot;Primeiro número: &quot;) </li></ul><ul><li>leia(num1) </li></ul><ul><li>escreva(&quot;Segundo número: &quot;) </li></ul><ul><li>leia(num2) </li></ul><ul><li>se num1 = num2 entao </li></ul><ul><li>escreva(&quot;Os números são iguais.&quot;) </li></ul><ul><li>senao </li></ul><ul><li>se num1 > num2 entao </li></ul><ul><li>maior <- num1 </li></ul><ul><li>senao </li></ul><ul><li>maior <- num2 </li></ul><ul><li>fimse </li></ul><ul><li>escreva(&quot;O maior é &quot;, maior) </li></ul><ul><li>fimse </li></ul><ul><li>fimalgoritmo </li></ul>
  • 12. Quando usar se aninhados? <ul><li>Quando tivermos de executar blocos de comandos diferentes para a cláusula senão das duas condições. </li></ul><ul><li>se estiver fazendo sol entao </li></ul><ul><li> se eu tiver dinheiro entao </li></ul><ul><li> vou a Portugal </li></ul><ul><li> senao </li></ul><ul><li> vou a praia fimse </li></ul><ul><li>senao </li></ul><ul><li> vou dormir fimse </li></ul>
  • 13. Exemplo <ul><li>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. </li></ul>
  • 14. Gratificação <ul><li>algoritmo &quot;aumento&quot; </li></ul><ul><li>var salario, tempo, gratificacao : real </li></ul><ul><li>inicio </li></ul><ul><li>escreva(&quot;Entre com o salario: &quot;) </li></ul><ul><li>leia( salario ) </li></ul><ul><li>escreva(&quot;Entre com o tempo de servico: &quot;) </li></ul><ul><li>leia( tempo ) </li></ul><ul><li>se tempo > 1 entao </li></ul><ul><li>se tempo < 10 entao </li></ul><ul><li> gratificacao <- 0.1*salario </li></ul><ul><li>senao </li></ul><ul><li> gratificacao <- 0.25*salario </li></ul><ul><li>fimse </li></ul><ul><li>fimse </li></ul><ul><li>escreva(&quot;Gratificação: &quot;, gratificacao ) </li></ul><ul><li>fimalgoritmo </li></ul>
  • 15. Estruturas de Decisão Múltipla do Tipo Caso <ul><li>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. </li></ul><ul><li>A sintaxe da construção de Caso é: </li></ul><ul><ul><li>escolha <expressao> </li></ul></ul><ul><ul><li>caso <exp_1>,<exp_2>,...,<exp_n> </li></ul></ul><ul><ul><li><bloco_de_comandos_1> </li></ul></ul><ul><ul><li>caso <exp_1>,<exp_2>,...,<exp_n> </li></ul></ul><ul><ul><li><bloco_de_comandos_2> </li></ul></ul><ul><ul><li>... </li></ul></ul><ul><ul><li>caso <exp_1>,<exp_2>,...,<exp_n> </li></ul></ul><ul><ul><li><bloco_de_comandos_n> </li></ul></ul><ul><ul><li>outrocaso </li></ul></ul><ul><ul><li><bloco_de_comandos_s> </li></ul></ul><ul><ul><li>fimescolha </li></ul></ul>
  • 16. Fluxograma - Caso
  • 17. <ul><li>algoritmo &quot;extenso&quot; </li></ul><ul><li>var numero : inteiro </li></ul><ul><li>inicio </li></ul><ul><li>escreva(&quot;Digite um numero: &quot;) </li></ul><ul><li>leia(numero) </li></ul><ul><li>escolha numero </li></ul><ul><li>caso 1 </li></ul><ul><li>escreva(&quot;um&quot;) </li></ul><ul><li>caso 2 </li></ul><ul><li>escreva(&quot;dois&quot;) </li></ul><ul><li>caso 3 </li></ul><ul><li>escreva(&quot;três&quot;) </li></ul><ul><li>caso 4 </li></ul><ul><li>escreva(&quot;quatro&quot;) </li></ul><ul><li>caso 5 </li></ul><ul><li>escreva(&quot;cinco&quot;) </li></ul><ul><li>caso 6 </li></ul><ul><li>escreva(&quot;seis&quot;) </li></ul><ul><li>outrocaso </li></ul><ul><li>escreva(&quot;só sei contar até seis&quot;) </li></ul><ul><li>fimescolha </li></ul><ul><li>fimalgoritmo </li></ul>
  • 18. Exemplo <ul><li>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%. </li></ul><ul><ul><li>algoritmo &quot;reajuste_salarial&quot; </li></ul></ul><ul><ul><li>var </li></ul></ul><ul><ul><li>salario , salario_reaj : real </li></ul></ul><ul><ul><li>profissao : caracter </li></ul></ul><ul><ul><li>inicio </li></ul></ul><ul><ul><li>escreva(&quot;Digite o salário: &quot;) </li></ul></ul><ul><ul><li>leia( salario ) </li></ul></ul><ul><ul><li>escreva(&quot;Digite a profissão: &quot;) </li></ul></ul><ul><ul><li>leia( profissao ) </li></ul></ul><ul><ul><li>escolha profissao </li></ul></ul><ul><ul><li>caso &quot;técnico&quot; </li></ul></ul><ul><ul><li>salario_reaj <- 1.5 * salario </li></ul></ul><ul><ul><li>caso &quot;gerente&quot; </li></ul></ul><ul><ul><li>salario_reaj <- 1.3 * salario </li></ul></ul><ul><ul><li>outrocaso </li></ul></ul><ul><ul><li>salario_reaj <- 1.2 * salario </li></ul></ul><ul><ul><li>fimescolha </li></ul></ul><ul><ul><li>escreva(&quot;Salário Reajustado: &quot;, salario_reaj ) </li></ul></ul><ul><ul><li>fimalgoritmo </li></ul></ul>
  • 19. Fluxograma
  • 20. Exemplo – Se <ul><li>algoritmo &quot;idade&quot; </li></ul><ul><li>var </li></ul><ul><li>idade : inteiro </li></ul><ul><li>resultado : caracter </li></ul><ul><li>inicio </li></ul><ul><li>escreva(&quot;Digite sua idade: &quot;) </li></ul><ul><li>leia(idade) </li></ul><ul><li>se (idade >= 0) e (idade <= 3) entao </li></ul><ul><li>resultado <- &quot;Bebê&quot; </li></ul><ul><li>senao </li></ul><ul><li>se (idade >= 4) e (idade <= 10) entao </li></ul><ul><li>resultado <- &quot;Criança&quot; </li></ul><ul><li>senao </li></ul><ul><li>se (idade >= 11) e (idade <= 18) entao </li></ul><ul><li>resultado <- &quot;Adolescente&quot; </li></ul><ul><li>senao </li></ul><ul><li>resultado <- &quot;Adulto&quot; </li></ul><ul><li>fimse </li></ul><ul><li>fimse </li></ul><ul><li>fimse </li></ul><ul><li>escreva(&quot;Você é um &quot;, resultado) </li></ul><ul><li>fimalgoritmo </li></ul>
  • 21. Exemplo – Caso <ul><li>algoritmo &quot;idade&quot; </li></ul><ul><li>var </li></ul><ul><li>idade : inteiro </li></ul><ul><li>resultado : caracter </li></ul><ul><li>inicio </li></ul><ul><li>escreva(&quot;Digite sua idade: &quot;) </li></ul><ul><li>leia(idade) </li></ul><ul><li>escolha idade </li></ul><ul><li>caso 0,1,2,3 </li></ul><ul><li>resultado <- &quot;Bebê&quot; </li></ul><ul><li>caso 4,5,6,7,8,9,10 </li></ul><ul><li>resultado <- &quot;Criança&quot; </li></ul><ul><li>caso 11,12,13,14,15,16,17,18 </li></ul><ul><li>resultado <- &quot;Adolescente&quot; </li></ul><ul><li>outrocaso </li></ul><ul><li>resultado <- &quot;Adulto&quot; </li></ul><ul><li>fimescolha </li></ul><ul><li>escreva(&quot;Você é um &quot;, resultado) </li></ul><ul><li>fimalgoritmo </li></ul>

×