• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Apresentação 1 - Fundamentos de Programação
 

Apresentação 1 - Fundamentos de Programação

on

  • 837 views

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

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.

Statistics

Views

Total Views
837
Views on SlideShare
285
Embed Views
552

Actions

Likes
0
Downloads
35
Comments
0

3 Embeds 552

http://campusonline.europeia.pt 518
http://campusonline.isla.pt 30
http://www.linkedin.com 4

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Apresentação 1 - Fundamentos de Programação Apresentação 1 - Fundamentos de Programação Presentation Transcript

    • 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 linguagens máquina Noções de algoritmo e de programa 2013/2014 Fundamentos de Programação 2
    • 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
    •  Suporte físico ou hardware girtby.net/images/hardware.jpg  Suporte lógico ou software do filme Matrix, whatisthematrix.warnerbros.com 2013/2014 Fundamentos de Programação 4
    • 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
    •  Processador  Unidade Central de Processamento (CPU)  Executa instruções  Central Processing Unit 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
    •  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
    •  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
    • 2013/2014 Fundamentos de Programação 9
    •  Linguagens naturais  Português  Inglês  …  Linguagens artificiais  Comunicação entre humanos  Esperanto  Interlingua  … As nossas!  Linguagens de programação 2013/2014 Fundamentos de Programação 10
    •  Linguagens de programação  De baixo nível  Linguagem máquina  Assembly  De alto nível  Snap!  PHP  C++  Java  … 2013/2014 Comunicação com computador. Desadequadas para humanos. Adequadas a humanos. A nossa! Fundamentos de Programação 11
    •  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
    •  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
    •  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
    •  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
    •  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
    •  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
    •  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
    •  Apresentação 1  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