Aula 2 - Introdução à programação de computadores - parte 2

3.207 visualizações

Publicada em

Publicada em: Educação, Diversão e humor
0 comentários
4 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
3.207
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1.263
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula 2 - Introdução à programação de computadores - parte 2

  1. 1. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Introdução à Programação deComputadores – Parte IIProf. Dr. Edson PimentelCentro de Matemática, Computação eCognição
  2. 2. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Objetivos Aprender a redigir rotinas comuns do dia-a-diaforma de algoritmos Conhecer uma técnica para a construção dealgoritmos computacionais
  3. 3. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Relembrando ... O funcionamento de qualquer computadorestá baseado nessa arquitetura básica:
  4. 4. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2APRENDENDO APROGRAMARCOMPUTADORES:POR ONDE COMEÇAR ?
  5. 5. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2 O principal componente de um programa decomputador é a sua lógica, ou seja, o que ocomputador deve fazer para resolver um problema. Devemos então DESCREVER essa lógica numa linguagemque o computador “entenda” É mais fácil começar a programar (organizar a lógica) emuma linguagem de alto nível. Qual é a linguagem de mais alto nível para um serhumano que fala naturalmente o português?Aprendendo a Programar Computadores
  6. 6. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2 Vamos dar os primeiros passos na arte de programarcomputadores, em uma linguagem mais próxima dalinguagem natural. O caminho mais tranquilo é por meio deALGORITMOS Escrever ALGORITMOS é mais simples porquefocam na solução do problemas e não consideram“detalhes” de linguagem, etc.Aprendendo a Programar Computadores
  7. 7. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2ALGORITMOS
  8. 8. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2É uma sequência finita de instruções, ordenada deforma lógica para a resolução de uma determinadatarefa ou problema.Um algoritmo fixa um padrão decomportamento a ser seguido, umanorma de execução, com o objetivo deresolver um determinado problema.Definição de ALGORITMO
  9. 9. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2No dia-a-dia dizemos que é algo queé coerente, óbvio, correto.Lógica  Logos + IcaRazão CiênciaEstuda o raciocínio/pensamento humano.Estudo de argumentos Argumento é uma sequência de enunciados, na qual um dosenunciados é a conclusão, derivado a partir dos outros enunciados(premissas).É o oposto de“Isso não tem Lógica”O que é LÓGICA?
  10. 10. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Todos os peixes vivem na água. (premissa1)Golfinhos são peixes. (premissa 2).·. Golfinhos vivem na água. (conclusão)Tanto a forma de argumento quando a conclusão são verdadeiras,apesar de esta última ter sido deduzida a partir de uma premissafalsa (golfinhos são peixes). Um silogismo representa um argumento composto deduas premissas e uma conclusão. E estabelece umaconclusão, que pode ser válida ou não.Silogismo - Aristóteles
  11. 11. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2LÓGICA DEPROGRAMAÇÃO
  12. 12. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2 Falar em lógica de programação significa contextualizara lógica na construção de programas. Lógica de programação está relacionada ao raciocínioque precisamos desenvolver para resolver umproblema cuja solução deverá ser implementada emum computador. Encadear pensamentos para atingir determinadoobjetivo.Como pensar como umprogramador ?Lógica de Programação
  13. 13. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2 A habilidade mais importante para um cientistada computação é a solução de problemas; A solução de problemas é a habilidade deformular questões, pensar criativamente sobresoluções possíveis e expressar uma solução deforma clara e precisa; E aprender a programar é uma excelenteoportunidade de praticar as habilidades dasolução de problemas.Solução de Problemas
  14. 14. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2 Diagnosticar a doença de um paciente a partir dadescrição dos sintomas, e medicá-lo. Criar um sistema de informação que permita gerir asentradas/saídas (cargas/descargas) de navios em umporto marítimo. Desenvolver um programa para controle damovimentação de um robô.Exemplo de Problemas
  15. 15. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Um algoritmo é uma forma de representar asolução de um problema por meio de umasequência de passos. São exemplos de algoritmos: Receitas de bolos Manuais técnicos Guias de montagem Programas de computadoresAlgoritmo
  16. 16. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2EXEMPLO DECONSTRUÇÃO DEALGORITMO
  17. 17. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Fazer um bolo de chocolate.Problema
  18. 18. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Qual o resultado esperado?Saída
  19. 19. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Saída
  20. 20. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2O que é preciso para se obter oresultado desejado?Passos
  21. 21. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2O que é preciso para se obter oresultado desejado? IngredientesPassos
  22. 22. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Ingredientes:5 ovos.250 gramas de margarina cremosa.2 xícaras (chá) de açúcar.1 xícara (chá) de farinha de trigo.1 xícara (chá) de chocolate.200 gramas de côco ralado.1 copo de leite.1 colher (sopa) de fermento.Dados de Entrada
  23. 23. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Qual a sequência necessária (de usodos ingredientes) para se obter oresultado desejado?Passos
  24. 24. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Modo de Preparo Bata a margarina, as gemas e o açúcar até ficar cremoso. Junte o leite, o côco e a farinha e continue batendo. Acrescente o fermento e, por último, as claras em neve. Unte uma forma com manteiga e leve ao forno para assar.Processamento
  25. 25. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2OUTRO EXEMPLO DEALGORITMO
  26. 26. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2 ??? ??? ??? ??? ??? ??? ???AlgoritmoQuais os passos para realizar a troca de uma lâmpada ?• Para quem troca lâmpadas comfrequência (ou já viu trocar) os passospodem ser feitos automaticamente• Mas e se essa mesma pessoa tiver quedeixar uma RECEITA para uma pessoaque nunca trocou uma lâmpada efetuaressa tarefa ?
  27. 27. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2 Pegar uma escada. Posicionar a escada embaixo da lâmpada. Buscar uma lâmpada nova. Subir na escada. Retirar a lâmpada velha. Colocar a lâmpada nova.AlgoritmoQuais os passos para realizar a troca de uma lâmpada ?
  28. 28. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 21. ???2. ???3. ???AlgoritmoE se a lâmpada não estiver queimada?
  29. 29. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 21. Acionar o interruptor.2. Se a lâmpada não acender, então: Pegar uma escada. Posicionar a escada embaixo da lâmpada. Buscar uma lâmpada nova. Subir na escada. Retirar a lâmpada queimada. Colocar a lâmpada nova.AlgoritmoE se a lâmpada não estiver queimada?
  30. 30. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2 Pode haver vários algoritmos para resolverum mesmo problema. Afinal, cada pessoa pensa e age de formadiferente.O desenvolvimentode algoritmos é umexercício deCriatividadeExperiênciaDiversas soluções para um problema
  31. 31. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Diferentes algoritmos podem estar corretos,se levarem ao alcance do objetivo final.Entretanto, deve-seprocurar desenvolveralgoritmos que resolvam oproblema com menosesforço e maiorobjetividade.Diversas soluções para um problema
  32. 32. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2ESCREVENDOALGORITMOS
  33. 33. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Instrução/Comando: São frases que indicam as ações aserem executadas. São compostas de um verbo noimperativo, ou no infinitivo, mais um complemento.Exemplo:Bata (Bater) duas claras em neve.Ligue (Ligar) os faróis.Some (Somar) dois números.Imprima (Imprimir) resultado da soma.Para escrever ALGORITMOS (programas) é necessário ouso de INSTRUÇÕES / COMANDOS.ALGORITMO: instruções ou comandos
  34. 34. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Formalizar aescrita dealgoritmos.Escrita naforma depseudocódigo.Problema Pseudolinguagemse...então...senão...LinguagemdeprogramaçãoJava, C,Pascal, etcLinguagemde máquinaZeros euns...Pseudolinguagem
  35. 35. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Uma linguagem (ou pseudolinguagem) possui duascaracterísticas: Sintaxe - como escrever os comandos e seus componentes; Semântica - o significado de cada comando e conceito. A sintaxe e a semântica de uma linguagem deprogramação englobam várias ações, como, por exemplo: Declarações de Variáveis; Operadores; Comandos de entrada e de saída; Comandos de seleção, repetição etc.Pseudolinguagem
  36. 36. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2 Bloco de execução é um conjunto de ações que possuiuma função bem definida. O início de um bloco é marcado pela palavra início. O fim de um bloco é marcado pela palavra fim.início<declaração de variáveis><comandos>fimBloco de Execução
  37. 37. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2O próprio algoritmo é um bloco de execução. Asintaxe da definição do bloco de um algoritmo é:Algoritmo <NomeDoAlgoritmo>início<declaração de variáveis><comandos>fimalgoritmo.Bloco de Execução
  38. 38. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2TÉCNICA PARA ACONSTRUÇÃO DEALGORITMOS
  39. 39. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2O quepreciso?(Entrada)Como chegar aoque quero?(Processamento)O quequero?(Saída)ALGORITMO – Sequência do Programa
  40. 40. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2O quepreciso?(Entrada)Como chegar aoque quero?(Processamento)O quequero?(Saída)ALGORITMO – Passos para construçãoNa construção do algoritmos devemos identificar primeiro aSAÍDA de dados, para então pensar nos passos necessáriospara chegar nessa saída
  41. 41. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2 Identificar o problema (objetivo) medianteleitura atenta de seu enunciado(entendimento). Identificar os resultados que devem ser gerados na solução(saída de dados). Identificar no enunciado os dados aserem fornecidos para o algoritmo (entrada de dados). Determinar o que deve ser feito para transformar asentradas nas saídas desejadas (processamento).ALGORITMO – Passos para a construção
  42. 42. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Escreva um algoritmo para somar dois números quaisquer.ALGORITMO – EXEMPLO
  43. 43. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Escreva um algoritmo para somar dois números quaisquer.ALGORITMO – EXEMPLO Identificar os resultados que devem ser gerados na solução(saída de dados)
  44. 44. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Escreva um algoritmo para somar dois números quaisquerALGORITMO – EXEMPLO Identificar os resultados que devem ser gerados na solução(saída de dados)O resultado da soma
  45. 45. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Escreva um algoritmo para somar dois números quaisquerALGORITMO – EXEMPLO Identificar no enunciado os dados aserem fornecidos para o algoritmo (entrada de dados)
  46. 46. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Escreva um algoritmo para somar dois números quaisquer.ALGORITMO – EXEMPLO Identificar no enunciado os dados aserem fornecidos para o algoritmo (entrada de dados).Os dois números.
  47. 47. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Escreva um algoritmo para somar dois números quaisquer.ALGORITMO – EXEMPLO Determinar o que deve ser feito para transformar asentradas nas saídas desejadas (processamento).Somar os dois números.
  48. 48. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Escreva um algoritmo para somar dois números quaisquer.ALGORITMO – EXEMPLOOrganizando o ALGORITMO numa ordemcoerente.
  49. 49. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Escreva um algoritmo para somar dois números quaisquer.1. Leia o número X2. Leia o número Y3. Some X e Y4. Mostre o resultado da somaEntrada SaídaProcessamentoNúmero XNúmero YSomar X e Y Resultadoda somaALGORITMO – EXEMPLO
  50. 50. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2FORBELLONE, A. L. V.; EBERSPACHER, H. F., Lógica deProgramação – A Construção de Algoritmos e Estruturasde Dados, Prentice Hall, 2005• CAPÍTULO 1 – Introdução a Lógica de ProgramaçãoLeituras Sugeridas
  51. 51. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2RESUMINDO...
  52. 52. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2• As rotinas do dia-a-dia podem ser descritas na forma deAlgoritmos• Escrever algorimos é mais ou menos como escrever umMANUAL para que algúem execute uma tarefa• Um algoritmo computacional (para ser executado por umcomputador) precisa seguir alguns padrões de linguagem• A construção de algoritmos a partir de um enunciado de umproblema requer técnicas de compreensão e refinamento dasolução• Qual a SAÍDA de dados requerida ?• Qual a ENTRADA de dados necessária?• Qual o PROCESSAMENTO necessário paratransformar ENTRADA em SAÍDA ?Coisas para não esquecer:
  53. 53. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2EXERCÍCIOS DELÓGICA
  54. 54. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Um lobo, uma cabra e uma couve têm de atravessar um rioem um barco que transporta um de cada vez, incluindo obarqueiro. Como o barqueiro os levará para o outro lado deforma que a cabra não coma a couve e o lobo não coma acabra?Exercício 1
  55. 55. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Dois homens seguiam por um caminho. Um levava 8 litros devinho em um garrafão e o outro levava 8 litros de vinho emdois garrafões, um com cinco litros e um com três.Eles beberam o vinho do garrafão maior, de 8 litros, e agoraquerem dividir os 8 litros de vinho restante igualmente, paranenhum dos dois carregar mais peso que o outro. Entretanto,eles só podem usar como medida, os próprios garrafões: umde 8 litros, um de 5 e um de 3. Como fazer?Exercício 2
  56. 56. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2EXERCÍCIOS DEALGORITMOS
  57. 57. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Descreva a sequência de passos necessária para: Colocar um carro em movimento.Exercício 1
  58. 58. Bacharelado em Ciência e TecnologiaProcessamento da InformaçãoIntrodução à Programação de Computadores – Parte 2Descreva a sequência de passos necessária para: Jogar o jogo da velha.Exercício 2

×