lógica de programação - unimep/pronatec - aula06

42
Lógica de Programação Unimep/Pronatec 2° Semestre/2014 AULA 06 - Prof. André Bertoletti - [email protected]

Upload: apbertoletti

Post on 08-Jul-2015

136 views

Category:

Software


3 download

DESCRIPTION

Sexta aula de Lógica de Programação da turma de Técnico em Informática para Internet, do curso Pronatec/UNIMEP, realizada no segundo semestre de 2014.

TRANSCRIPT

Lógica de Programação

Unimep/Pronatec

2° Semestre/2014

AULA 06

- Prof. André Bertoletti -

[email protected]

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!