Aula 01 algoritmo

281 visualizações

Publicada em

Introdução a algoritmos

Publicada em: Internet
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

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

Nenhuma nota no slide
  • 1
  • 34
  • Aula 01 algoritmo

    1. 1. ALGORITMOS E PROGRAMAÇÃO: CONTEXTOS E PRÁTICAS Luiz Paulo Pereira Silva bluizp@gmail.com
    2. 2. 1.1 Conceito de lógica ◦O dicionário Houaiss descreve a lógica da seguinte forma:  “1. Estudo filosófico das formas do pensamento (dedução, indução, hipótese, inferência etc.) e do raciocínio, considerados como condição para o conhecimento; 2. Forma de encadeamento e/ou de raciocínio; 3. Coerência, fundamento” Introdução à Lógica 01/09/15
    3. 3. 1.2 Conceito de programação de computadores ◦A principal característica que diferencia um computador de qualquer outro equipamento ele- trônico é sua “programabilidade”, ou seja, a capacidade de ser programável para executar um grande número de tarefas diferentes. 01/09/15
    4. 4. 01/09/15
    5. 5. No entanto, tudo que os computadores (e outros dispositivos controlados por microprocessadores ou microcontroladores) entendem são sinais elétricos, representados pelos dígitos 0 (ausência de voltagem) e 1 (presença de voltagem), também conhecidos como bits. E são esses bits, ou mais precisamente a combinação deles, que formam todas as instruções que fazem o computador agir da forma que desejamos. Sendo assim, eles são completamente ignorantes no que diz respeito ao reco- nhecimento de comandos dados em nossa própria língua. 01/09/15
    6. 6. 01/09/15
    7. 7. 01/09/15
    8. 8. AULA 02 01/09/15
    9. 9. Existem diversos tipos de linguagens de programação, que trabalham de forma diferente e possuem estrutura e comandos diferentes. No início da era da computação, os programadores se viam obrigados a programar diretamente em linguagem de máquina, composta por inúmeras combina- ções de 0s e 1s, o chamado código binário. 2.1 Linguagens de programação 01/09/15
    10. 10. Como era muito difícil decorar a função que cada uma das combinações exercia no processador, criou-se então uma linguagem mais próxima do entendi- mento humano que foi denominada de Assembly. Em inglês significa montagem 01/09/15
    11. 11. 01/09/15
    12. 12. Existem dois termos técnicos muito empregados em programação que devem ser esclarecidos antes de prosseguirmos. O primeiro é código-fonte, que designa o texto escrito numa linguagem de programação e que pode ser lido por qualquer pessoa, mesmo quem não sabe programar. Esse texto segue as regras impostas pela linguagem, como sintaxe dos coman- dos e funções. O segundo termo é programa executável, que consiste numa sequência de instruções em linguagem de máquina (códigos binários) inteligível ao computador e muito difícil (ou quase impossível) de ser entendido por um ser humano. Esse pro- grama executável é criado por dois processos distintos, conhecidos como interpretação e compilação. Fique de olho! 01/09/15
    13. 13. Na interpretação, um processo empregado principalmente pela linguagem BASIC (Beginners All Purpose Symbolic Instruction Code) nos computadores das décadas de 1970 a 1990, o código-fonte do programa é convertido em linguagem de máquina à medida que o programa é executado. 01/09/15
    14. 14. Já em programas compilados, o código-fonte é inteiramente convertido em linguagem de máquina uma única vez. O software que efetua essa conversão é chamado de compilador. 01/09/15
    15. 15. Esses arquivos objetos são uma versão intermediária entre o código-fonte e o código exe- cutável. Não é possível rodá-los diretamente, sendo necessário o processo de linkedição, como é chamada a ligação desses arquivos com as bibliotecas da linguagem. Na compilação, cada comando ou função existente no código-fonte é convertido numa chamada para o código real que se encontra gravado nessas bibliotecas. 01/09/15
    16. 16. 01/09/15
    17. 17. Um terceiro método de execução de programas é denominado pseudocompilação. Nele, o compilador gera um código intermediário, com instruções em código de máquina, mas não resolve os endereços de chamada a rotinas da biblioteca de funções da linguagem. Durante a execução, um programa denominado Run-time é carregado na memória junto com o código compilado. Esse Run-time é responsável por determinar os endereços de memória das funções e procedimentos chama- dos pelo programa durante o tempo de execução. 01/09/15
    18. 18. Existe ainda o método empregado pela linguagem Java, que é bastante semelhante à pseudo- compilação. O Run-time dessa linguagem consiste num programa denominado Máquina Virtual Java (JVM - Java Virtual Machine), que não apenas resolve as referências de endereço, mas também oferece uma camada de software que serve de ponte entre o nosso programa e o sistema operacional. 01/09/15
    19. 19. Todo programa de computador é o resultado da busca pela solução de um problema. Considere como exemplo a necessidade de registrar as vendas de uma empresa. É criado então um rascunho da ideia principal. A partir desse rascunho é desenvolvido o algoritmo do programa, que pode ser representado por um diagrama de blocos ou por uma descrição narrativa bastante detalhada de todos os processos. Com base nesse algoritmo, o programador constrói o programa utilizando uma linguagem de programação. O programa é testado para detecção de possíveis problemas e/ou erros e quando for finalizado, se torna disponível ao usuário. 2.2 Do problema ao programa 01/09/15
    20. 20. 01/09/15
    21. 21. 01/09/15
    22. 22. 3.1 Programação modular ◦Assim como ocorre quando precisamos solucionar um problema de Matemática ou Física, ao nos depararmos com situações de programação difíceis de serem resolvidas, a melhor opção é decompor o problema em porções menores, mais fáceis de trabalhar. Com isso dividimos a complexidade de forma a simplificar o problema. Técnicas de Programação 01/09/15
    23. 23. Cada parte em que o problema é dividido resulta num fragmento de código que denominamos de módulo ou subprograma. Essa divisão de um programa maior em diversos subprogramas é uma técnica denominada de programação modular. 01/09/15
    24. 24. A técnica de programação estruturada é fundamentada na construção de sistemas com a utilização de blocos como estruturas básicas, que podem ser expandidas até o nível de complexidade necessário à resolução de um determinado problema. Um bloco é formado por diversas instruções que são executadas em conjunto por estarem logicamente ligadas. 3.2 Programação estruturada 01/09/15
    25. 25. O código final obtido pela programação estruturada é muito claro e de fácil entendimento, mesmo por outras pessoas que não sejam as que desenvolveram o código. 01/09/15
    26. 26. Entre as principais vantagens da programação estruturada temos: ◦possibilidade de padronização devido ao número reduzido de estruturas; ◦as estruturas podem ser inseridas em módulos distintos; ◦programas estruturados geralmente já possuem uma autodocumentação interna; ◦aumento na produtividade dos programadores. 01/09/15
    27. 27. A técnica de programação orientada por objeto surgiu no final dos anos de 1970 e início de 1980, quando os pesquisadores do Centro de Pesquisas da Xerox, em Palo Alto, Califórnia, desenvolveram uma linguagem de programação chamada SmallTalk, que utilizava pela primeira vez o conceito de classes e objetos. 3.3 Programação orientada por objeto 01/09/15
    28. 28. A ideia básica por trás dessa técnica é a capacidade de reutilização de códigos já prontos, denominados classes, para criarmos as partes vitais do programa, denominadas de objetos. Com isso é possível economizar um bom tempo no processo de desenvolvimento de um programa. 01/09/15
    29. 29. Uma característica interessante da programação orientada por objetos é que podemos derivar um objeto de outro previamente criado. Em outras palavras, significa que podemos criar um objeto que herda alguns atributos e ações do antecessor. 01/09/15
    30. 30. Entre as principais linguagens de programação orientada por objetos temos C++, Object Pascal e Java. A ferramenta de projeto mais utilizada no desenvolvimento de aplicações que emprega essa metodologia é a UML (Unified Modeling Language - Linguagem de Modelagem Unificada). 01/09/15
    31. 31. 01/09/15
    32. 32. Enviar o arquivo que você criou com a pasta e subpastas no email: bluizp@gmail.com Finalizar o Exercício 01/09/15
    33. 33. Obrigado pela atenção... Luiz Paulo Pereira Silva bluizp@gmail.com

    ×