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

870 visualizações

Publicada em

Oitava 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.

Publicada em: Software
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
870
No SlideShare
0
A partir de incorporações
0
Número de incorporações
14
Ações
Compartilhamentos
0
Downloads
39
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

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

  1. 1. Lógica de Programação Unimep/Pronatec 2° Semestre/2014 AULA 08 - Prof. André Bertoletti - apbertolet@unimep.br
  2. 2. Aula de hoje •Conhecendo uma nova linguagem de programação •Estruturas de repetição •Exercícios Portugol/C#
  3. 3. NÃO ESQUEÇA DA SUA Hora do Código Acesse, identifique-se e faça os exercícios! abre.ai/horadocodigo
  4. 4. E se você pudesse escrever e executar programas escritos em Português? Conheça a linguagem Portugol
  5. 5. Uma IDE da linguagem Portugol http://abre.ai/portugolide (http://www.dei.estt.ipt.pt/portugol)
  6. 6. Portugol IDE: Veja como é simples
  7. 7. Depurando e executando o seu código linha a linha na Portugol IDE
  8. 8. Vamos ver ao vivo! Portugol IDE
  9. 9. Quer aprender mais sobre a Portugol IDE ? Vídeos: http://abre.ai/videos-portugolide (https://www.youtube.com/user/programandodozero/videos) Apostila: http://abre.ai/apostila-portugolide (GoogleDrive da Turma, Pasta Lógica de Programação -> Apostilas)
  10. 10. Mais uma IDE da linguagem Portugol http://abre.ai/portugolstudio (http://univali-l2s.github.io/Portugol-Studio-Site)
  11. 11. O Portugol Studio também é simples
  12. 12. Depurando e executando o seu código linha a linha na Portugol Studio
  13. 13. Vamos ver ao vivo! Portugol Studio
  14. 14. Quer aprender mais sobre a Portugol Studio? Vídeos: http://abre.ai/videos-portugolstudio (https://www.youtube.com/user/portugolstudio/videos) Documentação: Help da própria IDE (tecla F1)
  15. 15. Compare lado a lado e perceba as diferenças Algoritmo Portugol IDE Portugol Studio C#
  16. 16. Escala de compreensão das linguagens de programação Mais próximas do ser humano Mais próximas da máquina Algoritmo Portugol Studio Portugol IDE C#
  17. 17. Estruturas de repetição (laços/loops) Quando um trecho de código precisa ser executado diversas vezes
  18. 18. Por que usar estruturas de repetição •Até agora só criamos programas que executam apenas uma vez •Muitos problemas requerem um mecanismo de repetição, no qual algum cálculo ou seqüência de instruções é repetida, muitas vezes, usando diferentes condições •Cada repetição é chamada de iteração ou passagem pelo laço •CUIDADO! Se a sua condição lógica não for bem pensada, seu programa pode não entrar no laço, ou pior, entrar em loop infinito
  19. 19. São três comandos de repetição 1.Enquanto (while) –Laço de repetição quando deseja fazer o teste lógico no começo 2.Faça enquanto (do while) –Laço de repetição quando deseja fazer o teste lógico no final 3.Para (for) –Laço utilizado quando se conhece o número de vezes que deverá repetir
  20. 20. Exercício_R1 Criar um programa que mostre o texto “Bom dia” 12 vezes na tela.
  21. 21. Exercício_R1 – Resolução em Algoritmo (sem estruturas de repetição) 1.Inicio 2. Escrever(“Bom dia”) 3. Escrever(“Bom dia”) 4. Escrever(“Bom dia”) 5. Escrever(“Bom dia”) 6. Escrever(“Bom dia”) 7. Escrever(“Bom dia”) 8. Escrever(“Bom dia”) 9. Escrever(“Bom dia”) 10. Escrever(“Bom dia”) 11. Escrever(“Bom dia”) 12. Escrever(“Bom dia”) 13. Escrever(“Bom dia”) 14.Fim
  22. 22. Resolvendo o problema com a estrutura de repetição Enquanto Com o teste lógico no começo
  23. 23. Exercício_R1 - Resolução em Algoritmo (usando o comando Enquanto) 1.Inicio 2. Inteiro Contador 3. Contador <- 1 4. Enquanto (Contador <= 12) 5. Inicio 6. Escrever (“Bom dia”) 7. Contador <- Contador + 1 8. Fim 9.Fim
  24. 24. Exercício_R1 - Resolução no Portugol IDE (usando o comando Enquanto)
  25. 25. Exercício_R1 - Resolução no Portugol Studio (usando o comando Enquanto)
  26. 26. Exercício_R1 - Resolução no C# (usando o comando Enquanto)
  27. 27. Resolvendo o problema com a estrutura de repetição Faça Enquanto Com o teste lógico no final
  28. 28. Exercício_R1 - Resolução em Algoritmo (usando o comando Faça Enquanto) 1.Inicio 2. Inteiro Contador 3. Contador <- 1 4. Faça 5. Escrever (“Bom dia”) 6. Contador <- Contador + 1 7. Enquanto (Contador <= 12) 8.Fim
  29. 29. Exercício_R1 - Resolução no Portugol IDE (usando o comando Faça Enquanto)
  30. 30. Exercício_R1 - Resolução no Portugol Studio (usando o comando Faça Enquanto)
  31. 31. Exercício_R1 - Resolução no C# (usando o comando Faça Enquanto)
  32. 32. Resolvendo o problema com a estrutura de repetição Para Com o teste lógico no final
  33. 33. Exercício_R1 - Resolução em Algoritmo (usando o comando Para) 1.Inicio 2. Inteiro Contador 3. Para (Contador de 1 ate 12 passo 1) 4. Inicio 5. Escrever (“Bom dia”) 6. Fim 7.Fim
  34. 34. Exercício_R1 - Resolução no Portugol IDE (usando o comando Para)
  35. 35. Exercício_R1 - Resolução no Portugol Studio (usando o comando Para)
  36. 36. Exercício_R1 - Resolução no C# (usando o comando Para)
  37. 37. Vale lembrar! Operação completo Operação resumida (C#) O que faz Contador = Contador + 1 Contador++ Incrementa 1 na variável Contador Contador = Contador - 1 Contador-- Decrementa 1 na variável Contador Contador = Contador + 3 Contador+=3 Incrementa 3 na variável Contador Contador = Contador - 4 Contador-=4 Decrementa 4 na variável Contador
  38. 38. Contador X Acumulador •Dizemos que uma variável é considerada contador, quando é utilizada para controlar quantas vezes um determinado trecho de programa foi executado •Uma variável é identificada como acumulador quando é utilizada para acumular um valor dentro de um laço. Por exemplo, podemos acumular um determinado valor até chegar ao nível desejado dentro de um laço e somente sair deste laço quando o nível for atingido.
  39. 39. Exercício_R2 Numa determinada pré-escola, existe uma regra que diz o seguinte: uma turma de alunos só pode ser fechada quando soma das idades destes alunos for maior que 20. Portanto, criar um programa que leia diversas idades de alunos e vá acumulando suas idades. Quando este acumulo passar de 20, deverá encerrar o programa e mostrar as seguintes informações: 1)Quantos alunos foram lidos 2)Qual é a idade acumulada destes alunos lidos
  40. 40. Exercício_R2 Resolução em Algoritmo 1.Inicio 2. Inteiro IdadeDoAluno 3. Inteiro IdadesAcumuladas <- 0 4. Inteiro ContadorDeAlunos <- 0 5. Enquanto (IdadesAcumuladas <= 20) 6. Inicio 7. Ler(IdadeDoAluno) 8. IdadesAcumuladas <- IdadesAcumuladas + IdadeDoAluno 9. ContadorDeAlunos <- ContadorDeAlunos + 1 10. Fim 11. Escrever(ContadorDeAlunos) 12. Escrever(IdadesAcumuladas) 13.Fim
  41. 41. Exercício_R2 Resolução Portugol IDE
  42. 42. Exercício_R2 Resolução no Portugol Studio
  43. 43. Exercício_R2 Resolução em C#
  44. 44. Vamos treinar um pouco?!
  45. 45. Lista de Exercícios Resolva os exercícios a seguir em Algoritmo, Portugol ou C#
  46. 46. Exercício_R3 Escreva um programa que leia um numero qualquer e exiba a tabuada deste número digitado.
  47. 47. Exercício_R3 Resolução em Algoritmo 1.Inicio 2. Inteiro Numero, Resultado, Contador 3. Ler(Numero) 4. Para (Contador de 1 ate 10 passo 1) 5. Resultado  Numero * Contador 6. Escrever(Resultado) 7. Proximo 8.Fim Quando as variáveis forem do mesmo tipo, é possível declará-las todas numa única linha
  48. 48. Exercício_R3 Resolução em Portugol IDE
  49. 49. Exercício_R3 Resolução em Portugol Studio No Portugol Studio, o comando para() aceita que a variável de contador seja declarada e inicializada dentro do próprio comando.
  50. 50. Exercício_R3 Resolução em C# No C#, o comando for() também aceita que a variável de contador seja declarada e inicializada dentro do próprio comando.
  51. 51. Exercício_R4 Escreva um programa que leia um numero positivo qualquer e exiba a contagem regressiva deste numero até chegar a zero.
  52. 52. Exercício_R4 Resolução em Algoritmo 1.Inicio 2. Inteiro Numero, Contador 3. Ler(Numero) 4. Para (Contador de Numero ate 0 passo -1) 5. Escrever(Contador) 6. Proximo 7.Fim
  53. 53. Exercício_R4 Resolução em Portugol IDE
  54. 54. Exercício_R4 Resolução em Portugol Studio Repare nas diferenças quando se faz uma contagem regressiva: 1) Na inicialização do contador 2) Na condição lógica 3) No passo do comando para()
  55. 55. Exercício_R4 Resolução em C#
  56. 56. Exercício_R5 Utilizando as estruturas de repetição, escreva um programa que leia uma sequencia de 10 números e no final exiba a média aritmética entre eles.
  57. 57. Exercício_R5 Resolução em Algoritmo 1.Inicio 2. Decimal NumerosAcumulados <- 0.0 3. Decimal Numero 4. Inteiro Contador 5. Para (Contador de 1 ate 10 passo 1) 6. Ler(Numero) 7. NumerosAcumulados <- NumerosAcumulados + Numero 8. Proximo 9. Decimal Media 10. Media <- NumerosAcumulados / 10 11. Escrever(Media) 12.Fim Variáveis do tipo Decimal devem ser inicializadas com um conteúdo numérico contendo casas decimais
  58. 58. Exercício_R5 Resolução em Portugol IDE
  59. 59. Exercício_R5 Resolução em Portugol Studio
  60. 60. Exercício_R5 Resolução em C# Em C#, você poderá utilizar a letra “m” (minúscula) no final de um número para convertê-lo no tipo decimal. Outra saída seria utilizar o tradicional comando Convert.ToDecimal()
  61. 61. Exercício_R6 Escreva um algoritmo para ler dois valores. Após a leitura deve-se calcular a soma dos valores lidos e armazená-la em uma variável. Após o cálculo da soma, escrever o resultado e escrever também a pergunta 'Novo Cálculo (S/N)?'. Faça a leitura a resposta e se ela for 'S' (sim), deverá repetir todos os comandos (instruções) novamente, mas se a resposta for 'N' (não), o algoritmo deve ser finalizado escrevendo a mensagem 'Fim dos Cálculos'.
  62. 62. Exercício_R6 Resolução em Algoritmo 1.Inicio 2. Decimal Num1, Num2, Resultado 3. Texto Resposta 4. Faça 5. Ler(Num1) 6. Ler(Num2) 7. Resultado <- Num1 + Num2 8. Escrever(Resultado) 9. Ler(Resposta) 10. Enquanto (Resposta = "S" ou Resposta = "s") 11. Escrever("Fim dos cálculos!“) 12.Fim
  63. 63. Exercício_R6 Resolução em Portugol IDE
  64. 64. Exercício_R6 Resolução em Portugol Studio
  65. 65. Exercício_R6 Resolução em C#
  66. 66. Exercício_R7 Criar uma programa que leia um número positivo (diferente de zero) e exiba o resultado deste mesmo número multiplicado por 5. OBSERVAÇÃO: Criar uma validação na leitura deste número para garantir que o usuário digite somente números positivos. Se ele digitar um valor negativo (ou zero), o programa deverá dar um aviso que o número está invalido e solicitar a leitura novamente.
  67. 67. Exercício_R7 Resolução em Algoritmo 1.Inicio 2. Decimal Num, Resultado 3. Faça 4. Ler Num 5. Se Num <= 0 6. Inicio 7. Escrever “Número invalido, tente novamente!” 8. Fim 9. Enquanto Num <= 0 10. Resultado <- Num * 5 11. Escrever Resultado 12.Fim
  68. 68. Exercício_R7 Resolução em Portugol IDE
  69. 69. Exercício_R7 Resolução em Portugol Studio
  70. 70. Exercício_R7 Resolução em C#
  71. 71. Por hoje é só... Agora é hora de estudar!

×