Engenharia Informática
Computador como máquina programável
Conceitos de línguas naturais, linguagens de programação de baixo e de alto nível e li...
 Máquina programável
genérica
 Constituído por
 Processador
 Memória rápida
▪ RAM (volátil)
▪ ROM (persistente)
 Memó...
 Suporte físico ou hardware
 Suporte lógico ou software
2013/2014 Fundamentos de Programação 4
girtby.net/images/hardwar...
hardware + software
→ Execução de programas
 Limitações no hardware podem impor
limitações no software
 Estrutura exacta...
 Processador
 Unidade Central de Processamento (CPU)
 Executa instruções
 Memória
 Primária: ROM e, sobretudo, RAM
 ...
 Ficheiro ou arquivo
 Unidade de armazenamento de dados num
sistema de ficheiros
 Normalmente em hierarquia de pastas
...
 Programa
 Instruções (contidas num ficheiro) numa dada
linguagem que resolvem um dado problema
 Sistema operativo
 Pr...
2013/2014 Fundamentos de Programação 9
 Linguagens naturais
 Português
 Inglês
 …
 Linguagens artificiais
 Comunicação entre humanos
 Esperanto
 Interlin...
 Linguagens de programação
 De baixo nível
 Linguagem máquina
 Assembly
 De alto nível
 Snap!
 PHP
 C++
 Java
 …...
 Assemblies
 Linguagens muito básicas
 Usadas (quase) directamente pelos processadores
 Linguagens máquina
 Usadas di...
 Informação armazenada
 Sob a forma de bits
 Bits organizados em octetos ou bytes
 Instruções são também informação
 ...
 Sem ambiguidades e imprecisões de línguas naturais
 Menos penosas para humanos que as de baixo nível
 O Java
if (n == ...
 CPU não as entende
 Humanos preferem-nas
 Necessário traduzi-las para linguagem
máquina
 Tradução realizada por compi...
 Compreender bem problema e dados envolvidos
 Averiguar melhor forma de resolver problema e
representar os dados
 Deter...
 Como uma receita, mas mais precisa:
Conjunto finito de regras, traduzíveis numa
sequência de operações/instruções, que
p...
 Tipos de linguagens (das línguas naturais às
linguagens programação de alto nível)
 Algoritmo como método de resolver u...
 Computador como máquina programável
 Conceitos de
 línguas naturais
 linguagens de programação de baixo e de alto
nív...
Próximos SlideShares
Carregando em…5
×

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

2.001 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.001
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1.051
Ações
Compartilhamentos
0
Downloads
90
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

×