1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e programa – Fundamentos de Programação

2.186 visualizações

Publicada em

Fundamentos da Programação 1:
• Computador como máquina programável
• Conceitos de línguas naturais, linguagens de programação de baixo e de alto nível, e linguagens máquina
• Noções de algoritmo e de programa

Apresentação 1 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.

Publicada em: Educação
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
2.186
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1.179
Ações
Compartilhamentos
0
Downloads
97
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e programa – Fundamentos de Programação

  1. 1. Engenharia Informática
  2. 2. Computador como máquina programável Conceitos de línguas naturais, linguagens de programação de baixo e de alto nível e linguagens máquina Noções de algoritmo e de programa 2013/2014 2Fundamentos de Programação
  3. 3.  Máquina programável genérica  Constituído por  Processador  Memória rápida ▪ RAM (volátil) ▪ ROM (persistente)  Memória lenta ▪ Disco rígido 2013/2014 Fundamentos de Programação 3
  4. 4.  Suporte físico ou hardware  Suporte lógico ou software 2013/2014 Fundamentos de Programação 4 girtby.net/images/hardware.jpg do filme Matrix, whatisthematrix.warnerbros.com
  5. 5. hardware + software → Execução de programas  Limitações no hardware podem impor limitações no software  Estrutura exacta do hardware varia  Mas arquitectura do hardware assemelha-se 2013/2014 Fundamentos de Programação 5
  6. 6.  Processador  Unidade Central de Processamento (CPU)  Executa instruções  Memória  Primária: ROM e, sobretudo, RAM  Secundária: discos rígidos  Amovível: CD-ROM, DVD, canetas USB, cartões, etc.  Periféricos  Comunicações com mundo exterior, armazenamento, etc. 2013/2014 Fundamentos de Programação 6 Central Processing Unit
  7. 7.  Ficheiro ou arquivo  Unidade de armazenamento de dados num sistema de ficheiros  Normalmente em hierarquia de pastas  Com identificador único (caminho ou path) 2013/2014 Fundamentos de Programação 7
  8. 8.  Programa  Instruções (contidas num ficheiro) numa dada linguagem que resolvem um dado problema  Sistema operativo  Programa ou conjunto de programas que gerem o hardware, executam outros programas, fornecem uma interface de utilização, etc. 2013/2014 Fundamentos de Programação 8
  9. 9. 2013/2014 Fundamentos de Programação 9
  10. 10.  Linguagens naturais  Português  Inglês  …  Linguagens artificiais  Comunicação entre humanos  Esperanto  Interlingua  …  Linguagens de programação 2013/2014 Fundamentos de Programação 10 As nossas!
  11. 11.  Linguagens de programação  De baixo nível  Linguagem máquina  Assembly  De alto nível  Snap!  PHP  C++  Java  … 2013/2014 Fundamentos de Programação 11 Comunicação com computador. Desadequadas para humanos. Adequadas a humanos. A nossa!
  12. 12.  Assemblies  Linguagens muito básicas  Usadas (quase) directamente pelos processadores  Linguagens máquina  Usadas directamente pelos processadores (reais ou virtuais)  Por exemplo, o assembly LOAD @R1, 0 JMP @R1 equivale, em linguagem máquina, a 010000100010011100100110001010001001001000110001010 2013/2014 Fundamentos de Programação 12
  13. 13.  Informação armazenada  Sob a forma de bits  Bits organizados em octetos ou bytes  Instruções são também informação  Instruções representadas por sequências de octetos  Processador executa  Instruções do seu próprio repertório  Instruções de baixo nível  Instruções de alto nível  Próximas da forma humana de raciocinar  Processador não as pode executar directamente 2013/2014 Fundamentos de Programação 13
  14. 14.  Sem ambiguidades e imprecisões de línguas naturais  Menos penosas para humanos que as de baixo nível  O Java if (n == 1) System.out.println(“n é igual a 1."); pode traduzir-se para linguagem natural por «Se a variável n contiver neste momento o valor 1, escrever no monitor o texto “n é igual a 1.”.» 2013/2014 Fundamentos de Programação 14
  15. 15.  CPU não as entende  Humanos preferem-nas  Necessário traduzi-las para linguagem máquina  Tradução realizada por compiladores 2013/2014 Fundamentos de Programação 15
  16. 16.  Compreender bem problema e dados envolvidos  Averiguar melhor forma de resolver problema e representar os dados  Determinar instruções duma linguagem de programação que resolvem (de forma genérica) esse problema  Essas instruções formam um programa 2013/2014 Fundamentos de Programação 16
  17. 17.  Como uma receita, mas mais precisa: Conjunto finito de regras, traduzíveis numa sequência de operações/instruções, que permitem resolver um determinado tipo de problema. Donald E. Knuth 2013/2014 Fundamentos de Programação 17
  18. 18.  Tipos de linguagens (das línguas naturais às linguagens programação de alto nível)  Algoritmo como método de resolver um dado problema  Programa enquanto algoritmo expresso numa linguagem de programação 2013/2014 Fundamentos de Programação 18
  19. 19.  Computador como máquina programável  Conceitos de  línguas naturais  linguagens de programação de baixo e de alto nível  linguagens máquina  Noções de algoritmo e de programa 2013/2014 Fundamentos de Programação 19

×