Lógica de Programação 
Unimep/Pronatec 
2° Semestre/2014 
AULA 06 
- Prof. André Bertoletti - 
apbertolet@unimep.br
Aula de hoje 
•Estruturas de Seleção 
•Operadores relacionais 
•Exercícios C#
Hora do Código 
Acesse, identifique-se e faça os exercícios! 
abre.ai/horadocodigo
Estruturas de seleção Quando seu algoritmo precisar tomar decisões
Mais um comando para a nossa coleção 
•Comando Se/Senão 
•Este comando deve ser utilizado sempre quando você precisar desviar o fluxo de execução do algoritmo, baseado numa condição lógica. 
•Condição Lógica = Pergunta que deverá sempre retornar VERDADEIRO ou FALSO
Operadores relacionais 
Operador 
Significado 
> 
Maior do que 
>= 
Maior ou igual do que 
< 
Menor do que 
<= 
Menor ou igual do que 
== 
Igual a 
!= 
Diferente de
Exemplos de algumas condições lógicas 
10 > 5 
“banana” == “maçã” 
8.5 < 9 
1120 != 1120 
20 >= 20 
(2+2)==4 
Verdadeiro 
Falso 
Verdadeiro 
Falso 
Verdadeiro 
Verdadeiro
Hierarquia de resolução das operações 
^ 
MOD 
(raiz, round, etc...)
Exemplo 01 de resolução seguindo a hierarquia das operações 
10 – 20 * 3 > 20 - Raiz(4) * (3 – 1) 
10 – 60 > 20 - Raiz(4) * 2 
– 50 > 20 - 2 * 2 
– 50 > 20 – 4 
– 50 > 16 
FALSO
Exemplo 02 de resolução seguindo a hierarquia das operações 
(20 * (3 + 1)) - 100 * 3 <= (20 - Raiz(4)) * 3 / 10 
(20 * 4) – 100 * 3 <= (20 – 2) * 3 / 10 
80 – 100 * 3 <= 18 * 3 / 10 
80 – 300 <= 54 / 10 
-220 <= 5.4 
VERDADEIRO
Sintaxe do comando Se()/Senão 
Inicio 
(...) 
SE (condição) 
Inicio 
<linha(s) de comando quando a condição for VERDADEIRA> 
Fim 
SENÃO 
Inicio 
<linha(s) de comando quando a condição for FALSA> 
Fim 
(...) 
Fim
Escreva um algoritmo que leia um número inteiro qualquer e informe no final se este número é positivo ou negativo.
1. Inicio 
2. Inteiro Num 
3. Ler(Num) 
4. Se (Num >= 0) 
5. Inicio 
6. Escrever(“Este número é positivo”) 
7. Fim 
8. Senão 
9. Inicio 
10. Escrever(“Este número é negativo”) 
11. Fim 
12. Fim
Bora codificar! Passe o exercício anterior para um programa em C#
Vamos debugar nosso código Inicie a execução do seu programa através da tecla F10
Vamos treinar um pouco?!
Lista de Exercícios Resolva os exercícios a seguir em algoritmo e/ou C#
Exercicio S_1 
Fazer um programa que leia duas palavras e informe se as palavras são IGUAIS ou DIFERENTES
Exercício S_1 (Resolução em algoritmo) 
1. Inicio 
2. Texto Palavra1 
3. Texto Palavra2 
4. Ler(Palavra1) 
5. Ler(Palavra2) 
6. Se (Palavra1 == Palavra2) 
7. Inicio 
8. Escreva(“Estas palavras são IGUAIS”) 
9. Fim 
10. Senão 
11. Inicio 
12. Escreva(“Estas palavras são DIFERENTES”) 
12. Fim 
14. Fim
Exercício S_1 (Resolução em C#)
Exercicio S_2 
Fazer um programa que leia dois números e escreva qual dos dois é maior e o menor entre eles.
Exercício S_2 (Resolução em algoritmo) 
1. Inicio 
2. Decimal Num1 
3. Decimal Num2 
4. Ler(Num1) 
5. Ler(Num2) 
6. Se (Num1 > Num2) 
7. Inicio 
8. Escrever(“O maior número é o:”) 
9. Escrever(“Num1) 
10. Escrever(“O menor número é o:”) 
11. Escrever(“Num2) 
12. Fim 
13. Senão 
14. Inicio 
15. Escrever(“O maior número é o:”) 
16. Escrever(“Num2) 
17. Escrever(“O menor número é o:”) 
18. Escrever(“Num1) 
19. Fim 
20. Fim
Exercício S_2 (Resolução em C#)
Exercicio S_3 
Num determinado parque de diversões, visitantes menores de idade pagam meia entrada, e os demais pagam a entrada completa. Desenvolva um programa que leia o nome e a idade do visitante, e escreva se ele irá “PAGAR MEIA” ou “PAGAR INTEIRA”
Exercício S_3 (Resolução em algoritmo) 
1. Inicio 
2. Texto NomeDoVisitante; 
3. Inteiro IdadeDoVisitante; 
4. Ler(NomeDoVisitante); 
5. Ler(IdadeDoVisitante); 
6. Se (IdadeDoVisitante >= 18) 
7. Inicio 
8. Escrever(“Este visitante pagará entrada INTEIRA”) 
9. Fim 
10. Senão 
11. Inicio 
12. Escrever(“Este visitante pagará MEIA entrada”) 
13. Fim 
14. Fim
Exercício S_3 (Resolução em C#)
Exercício S_4 
Fazer um programa que leia um número e informe se este número é PAR ou IMPAR
Exercício S_4 (Resolução em algoritmo) 
1. Inicio 
2. Inteiro Numero 
3. Inteiro RestoDaDivisaoPorDois 
4. Ler(Numero) 
5. RestoDaDivisaoPorDois  (Numero % 2) 
6. Se (RestoDaDivisaoPorDois == 0) 
7. Inicio 
8. Escrever(“Este número é PAR”) 
9. Fim 
10. Senão 
11. Inicio 
12. Escrever(“Este número é IMPAR”) 
13. Fim 
14. Fim
Exercício S_4 (Resolução em C#)
Exercício S_5 
Fazer um programa que recebe um símbolo de operação do usuário (+, -, / ou *) e dois números decimais. O programa deve retornar o resultado da operação recebida sobre estes dois números. Ou seja, se o usuário digitou “+” exibe a soma, se digitou “-” exibe a subtração e assim por diante.
Exercício S_5 (Resolução em algoritmo com o Se/Senão) 
1. Inicio 
2. Texto Operador 
3. Decimal Num1 
4. Decimal Num2 
5. Decimal Result 
6. Ler(Num1) 
7. Ler(Num2) 
8. Ler(Operador) 
9. Se (Operador == “+”) 
10 Inicio 
11. Result  Num1 + Num2 
12. Fim 
13. Senão 
14. Inicio 
15. Se (Operador == “-”) 
16. Inicio 
17. Result  Num1 - Num2 
18. Fim 
19. Senão 
20. Inicio 
21. Se (Operador == “*”) 
22. Inicio 
23. Result  Num1 * Num2 
24. Fim 
25. Senão 
26. Inicio 
27. Se (Operador == “/”) 
28. Inicio 
29. Result  Num1 / Num2 
30. Fim 
31. Senão 
32. Inicio 
33. Escrever(“Operador inválido”) 
34. Fim 
35. Fim 
36. Fim 
37. Fim 
38. Escrever(Result) 
39.Fim
Exercício S_5 (Resolução em C# - if/else)
Um outro comando que pode ser utilizado para condições lógicas 
•Comando Escolha/Caso 
•Este comando poderá ser utilizado para substituir uma sequência de comandos Se/senão aninhados. Os comandos Caso realizam a escolha entre possíveis valores para uma variável, fornecida como parâmetro no comando Escolha() 
•Em alguns cenários, o código pode ficar mais elegante utilizando o comando Escolha/Caso
Sintaxe do comando Escolha/Caso 
Inicio 
(...) 
ESCOLHA (variável) 
Inicio 
Caso Condição1: <Faça isso> 
Caso Condição2: <Faça aquilo> 
Caso Condição3: <Faça aquele outro> 
Senão: <Faça apenas isso> 
Fim 
(...) 
Fim
Exercício S_5 (Resolução em algoritmo com o Escolha/Caso) 
1. Inicio 
2. Texto Operador 
3. Decimal Num1 
4. Decimal Num2 
5. Decimal Result 
6. Ler(Num1) 
7. Ler(Num2) 
8. Ler(Operador) 
9. Escolha(Operador) 
10. Inicio 
11. Caso “+”: Result  Num1 + Num2 
12. Caso “-”: Result  Num1 - Num2 
13. Caso “*”: Result  Num1 * Num2 
14. Caso “/”: Result  Num1 / Num2 
15. Senão: Escrever(“Operador invalido”) 
13. Fim 
14. Escrever(Resultado) 
15. Fim
Exercício S_5 (Resolução em C# - switch)
Exercício S_6 
Fazer um programa para receber valores inteiros X, Y e Z do usuário e determinar se estes valores podem formar os lados de um triângulo equilátero. Sabendo-se que um triangulo desta natureza possui todos os seus lados com medidas iguais.
Exercício S_6 (Resolução em algoritmo) 
1.Inicio 
2. Decimal X 
3. Decimal Y 
4. Decimal Z 
5. Ler(X) 
6. Ler(Y) 
7. Ler(Z) 
8. Se (X == Y) 
9. Inicio 
10. Se (Y == Z) 
11. Inicio 
12. Escrever(“Estas medidas FORMAM um triangulo equilátero”) 
13. Fim 
14. Senão 
15. Inicio 
16. Escrever(“Estas medidas NÃO formam um triangulo equilátero”) 
17. Fim 
18. Fim 
19. Senão 
20. Inicio 
21. Escrever(“Estas medidas NÃO formam um triangulo equilátero”) 
22. Fim 
23.Fim
Exercício S_6 (Resolução em C#)
Por hoje é só... Agora é hora de estudar!

Lógica de Programação - Unimep/Pronatec - Aula06

  • 1.
    Lógica de Programação Unimep/Pronatec 2° Semestre/2014 AULA 06 - Prof. André Bertoletti - apbertolet@unimep.br
  • 2.
    Aula de hoje •Estruturas de Seleção •Operadores relacionais •Exercícios C#
  • 3.
    Hora do Código Acesse, identifique-se e faça os exercícios! abre.ai/horadocodigo
  • 4.
    Estruturas de seleçãoQuando seu algoritmo precisar tomar decisões
  • 5.
    Mais um comandopara a nossa coleção •Comando Se/Senão •Este comando deve ser utilizado sempre quando você precisar desviar o fluxo de execução do algoritmo, baseado numa condição lógica. •Condição Lógica = Pergunta que deverá sempre retornar VERDADEIRO ou FALSO
  • 6.
    Operadores relacionais Operador Significado > Maior do que >= Maior ou igual do que < Menor do que <= Menor ou igual do que == Igual a != Diferente de
  • 7.
    Exemplos de algumascondições lógicas 10 > 5 “banana” == “maçã” 8.5 < 9 1120 != 1120 20 >= 20 (2+2)==4 Verdadeiro Falso Verdadeiro Falso Verdadeiro Verdadeiro
  • 8.
    Hierarquia de resoluçãodas operações ^ MOD (raiz, round, etc...)
  • 9.
    Exemplo 01 deresolução seguindo a hierarquia das operações 10 – 20 * 3 > 20 - Raiz(4) * (3 – 1) 10 – 60 > 20 - Raiz(4) * 2 – 50 > 20 - 2 * 2 – 50 > 20 – 4 – 50 > 16 FALSO
  • 10.
    Exemplo 02 deresolução seguindo a hierarquia das operações (20 * (3 + 1)) - 100 * 3 <= (20 - Raiz(4)) * 3 / 10 (20 * 4) – 100 * 3 <= (20 – 2) * 3 / 10 80 – 100 * 3 <= 18 * 3 / 10 80 – 300 <= 54 / 10 -220 <= 5.4 VERDADEIRO
  • 11.
    Sintaxe do comandoSe()/Senão Inicio (...) SE (condição) Inicio <linha(s) de comando quando a condição for VERDADEIRA> Fim SENÃO Inicio <linha(s) de comando quando a condição for FALSA> Fim (...) Fim
  • 12.
    Escreva um algoritmoque leia um número inteiro qualquer e informe no final se este número é positivo ou negativo.
  • 13.
    1. Inicio 2.Inteiro Num 3. Ler(Num) 4. Se (Num >= 0) 5. Inicio 6. Escrever(“Este número é positivo”) 7. Fim 8. Senão 9. Inicio 10. Escrever(“Este número é negativo”) 11. Fim 12. Fim
  • 14.
    Bora codificar! Passeo exercício anterior para um programa em C#
  • 16.
    Vamos debugar nossocódigo Inicie a execução do seu programa através da tecla F10
  • 18.
  • 19.
    Lista de ExercíciosResolva os exercícios a seguir em algoritmo e/ou C#
  • 20.
    Exercicio S_1 Fazerum programa que leia duas palavras e informe se as palavras são IGUAIS ou DIFERENTES
  • 21.
    Exercício S_1 (Resoluçãoem algoritmo) 1. Inicio 2. Texto Palavra1 3. Texto Palavra2 4. Ler(Palavra1) 5. Ler(Palavra2) 6. Se (Palavra1 == Palavra2) 7. Inicio 8. Escreva(“Estas palavras são IGUAIS”) 9. Fim 10. Senão 11. Inicio 12. Escreva(“Estas palavras são DIFERENTES”) 12. Fim 14. Fim
  • 22.
  • 23.
    Exercicio S_2 Fazerum programa que leia dois números e escreva qual dos dois é maior e o menor entre eles.
  • 24.
    Exercício S_2 (Resoluçãoem algoritmo) 1. Inicio 2. Decimal Num1 3. Decimal Num2 4. Ler(Num1) 5. Ler(Num2) 6. Se (Num1 > Num2) 7. Inicio 8. Escrever(“O maior número é o:”) 9. Escrever(“Num1) 10. Escrever(“O menor número é o:”) 11. Escrever(“Num2) 12. Fim 13. Senão 14. Inicio 15. Escrever(“O maior número é o:”) 16. Escrever(“Num2) 17. Escrever(“O menor número é o:”) 18. Escrever(“Num1) 19. Fim 20. Fim
  • 25.
  • 26.
    Exercicio S_3 Numdeterminado parque de diversões, visitantes menores de idade pagam meia entrada, e os demais pagam a entrada completa. Desenvolva um programa que leia o nome e a idade do visitante, e escreva se ele irá “PAGAR MEIA” ou “PAGAR INTEIRA”
  • 27.
    Exercício S_3 (Resoluçãoem algoritmo) 1. Inicio 2. Texto NomeDoVisitante; 3. Inteiro IdadeDoVisitante; 4. Ler(NomeDoVisitante); 5. Ler(IdadeDoVisitante); 6. Se (IdadeDoVisitante >= 18) 7. Inicio 8. Escrever(“Este visitante pagará entrada INTEIRA”) 9. Fim 10. Senão 11. Inicio 12. Escrever(“Este visitante pagará MEIA entrada”) 13. Fim 14. Fim
  • 28.
  • 29.
    Exercício S_4 Fazerum programa que leia um número e informe se este número é PAR ou IMPAR
  • 30.
    Exercício S_4 (Resoluçãoem algoritmo) 1. Inicio 2. Inteiro Numero 3. Inteiro RestoDaDivisaoPorDois 4. Ler(Numero) 5. RestoDaDivisaoPorDois  (Numero % 2) 6. Se (RestoDaDivisaoPorDois == 0) 7. Inicio 8. Escrever(“Este número é PAR”) 9. Fim 10. Senão 11. Inicio 12. Escrever(“Este número é IMPAR”) 13. Fim 14. Fim
  • 31.
  • 32.
    Exercício S_5 Fazerum programa que recebe um símbolo de operação do usuário (+, -, / ou *) e dois números decimais. O programa deve retornar o resultado da operação recebida sobre estes dois números. Ou seja, se o usuário digitou “+” exibe a soma, se digitou “-” exibe a subtração e assim por diante.
  • 33.
    Exercício S_5 (Resoluçãoem algoritmo com o Se/Senão) 1. Inicio 2. Texto Operador 3. Decimal Num1 4. Decimal Num2 5. Decimal Result 6. Ler(Num1) 7. Ler(Num2) 8. Ler(Operador) 9. Se (Operador == “+”) 10 Inicio 11. Result  Num1 + Num2 12. Fim 13. Senão 14. Inicio 15. Se (Operador == “-”) 16. Inicio 17. Result  Num1 - Num2 18. Fim 19. Senão 20. Inicio 21. Se (Operador == “*”) 22. Inicio 23. Result  Num1 * Num2 24. Fim 25. Senão 26. Inicio 27. Se (Operador == “/”) 28. Inicio 29. Result  Num1 / Num2 30. Fim 31. Senão 32. Inicio 33. Escrever(“Operador inválido”) 34. Fim 35. Fim 36. Fim 37. Fim 38. Escrever(Result) 39.Fim
  • 34.
  • 35.
    Um outro comandoque pode ser utilizado para condições lógicas •Comando Escolha/Caso •Este comando poderá ser utilizado para substituir uma sequência de comandos Se/senão aninhados. Os comandos Caso realizam a escolha entre possíveis valores para uma variável, fornecida como parâmetro no comando Escolha() •Em alguns cenários, o código pode ficar mais elegante utilizando o comando Escolha/Caso
  • 36.
    Sintaxe do comandoEscolha/Caso Inicio (...) ESCOLHA (variável) Inicio Caso Condição1: <Faça isso> Caso Condição2: <Faça aquilo> Caso Condição3: <Faça aquele outro> Senão: <Faça apenas isso> Fim (...) Fim
  • 37.
    Exercício S_5 (Resoluçãoem algoritmo com o Escolha/Caso) 1. Inicio 2. Texto Operador 3. Decimal Num1 4. Decimal Num2 5. Decimal Result 6. Ler(Num1) 7. Ler(Num2) 8. Ler(Operador) 9. Escolha(Operador) 10. Inicio 11. Caso “+”: Result  Num1 + Num2 12. Caso “-”: Result  Num1 - Num2 13. Caso “*”: Result  Num1 * Num2 14. Caso “/”: Result  Num1 / Num2 15. Senão: Escrever(“Operador invalido”) 13. Fim 14. Escrever(Resultado) 15. Fim
  • 38.
  • 39.
    Exercício S_6 Fazerum programa para receber valores inteiros X, Y e Z do usuário e determinar se estes valores podem formar os lados de um triângulo equilátero. Sabendo-se que um triangulo desta natureza possui todos os seus lados com medidas iguais.
  • 40.
    Exercício S_6 (Resoluçãoem algoritmo) 1.Inicio 2. Decimal X 3. Decimal Y 4. Decimal Z 5. Ler(X) 6. Ler(Y) 7. Ler(Z) 8. Se (X == Y) 9. Inicio 10. Se (Y == Z) 11. Inicio 12. Escrever(“Estas medidas FORMAM um triangulo equilátero”) 13. Fim 14. Senão 15. Inicio 16. Escrever(“Estas medidas NÃO formam um triangulo equilátero”) 17. Fim 18. Fim 19. Senão 20. Inicio 21. Escrever(“Estas medidas NÃO formam um triangulo equilátero”) 22. Fim 23.Fim
  • 41.
  • 42.
    Por hoje ésó... Agora é hora de estudar!