Introdução à Programação 2006/07 Computadores e Programação
Objectivos da Aula Noção de computador. Organização Interna de um Computador Noção de Sistema Operativo. Representação digital de informação Linguagens de Programação Fases de desenvolvimento de uma aplicação
O que é um computador Um computador é uma máquina programável que processa informação. O computador executa, com uma cadencia muito rápida, sequências de operações elementares, a partir de informação inserida através de dispositivos de entrada. Um computador tem uma parte física (hardware), constituída pelo monitor, teclado, rato, memória etc., e uma parte não física (software), constituídas pelos programas.
Organização Interna de um Computador Arquitectura de Von Newman (matemático alemão)
Organização Interna de um Computador (cont) Periféricos De Entrada Unidade Central de Processamento (CPU) Periféricos De Saída Memória
CPU O componente mais importante do computador é a unidade de processamento central (CPU Central Processing Unit). A função básica do CPU é obter, interpretar e executar instruções, uma de cada vez. Esta unidade executa continuamente um ciclo que consiste nos passos seguintes: Aquisição (obtenção de uma instrução) Descodificação (determinação do tipo de instrução) Execução (execução da instrução).
CPU (cont) Unidade Aritmética/Lógica Efectua cálculos (adição, subtracção e outras operações aritméticas, bem como a comparação de valores) e toma decisões Unidade Controlo Determina a próxima instrução a ser executada (controla todos os passos do processamento) Registos Pequeno número de registos com grande velocidade de acesso, para armazenamento de resultados temporários
RAM RAM - Random Access Memory Perde o conteúdo quando se desliga o computador memória volátil; Pode ser imaginada como sucessão de células; Cada célula de memória armazena um único valor; Quando se escreve um novo valor numa célula de memória, perde-se o valor que anteriormente lá estava;
O que é o Sistema Operativo O programa que gere o hardware do computador, fazendo a atribuição controlada e ordeira dos seus diferentes recursos aos programas que por eles competem O programa que rentabiliza ao máximo o hardware do computador, garantindo assim uma utilização tão eficiente quanto possível dos recursos existentes Fornece ao utilizador uma Abstracção do Computador que o liberta do conhecimento preciso dos detalhes do hardware
Funcionalidades do S. O. Organização da memória de massa em sistemas de ficheiros Estabelecimento ambiente base de interacção com o utilizador Fornecimento de mecanismos para a execução controlada de programas Definição de um modelo geral de acesso aos dispositivos de entrada e saída, independente das suas especificações próprias Detecção de situações de erro
Representação digital de informação Os computadores armazenam e processam toda a informação, utilizando o sistema de numeração Binário. A unidade básica deste sistema é o bit, que pode assumir apenas dois estados distintos, representados pelos valores 0 e 1
Representação digital de informação (cont) Num. Decimal 1 bit 2 bits 3 bits N bits representam 2 N itens distintos 0 0 00 000 1 1 01 001 2 10 010 3 11 011 Necessidade de representar diferentes tipos de dados => codificação 4 100 5 101 6 110 7 111............
Representação digital de informação (cont) Unidade Conversão Símbolo SI 1 bit N/A b 1 byte 8 bit B 1 Kilobyte 1024 byte KB 1 Megabyte 1024 Kilobyte MB 1 Gigabyte 1024 Megabyte GB Porque é que o K = 1024?
Representação digital de informação (cont) N.º Decimal N.º Binário N.º Hexadecimal N.º Octal 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 8 10 9 1001 9 11 10 1010 A 12 11 1011 B 13 12 1100 C 14 13 1101 D 15 14 1110 E 16 15 1111 F 17 16 10000 10 20 17 10001 11 21
Linguagens de Programação Linguagens Máquina Linguagens Assembly. Linguagens de Alto Nível (C, Pascal, Lisp, Prolog, C++ e Java)
Linguagem máquina e Assembly
Linguagem C
Fases do desenvolvimento de uma aplicação Problema Análise do problema Especificação do problema Análise algorítmica Teste do algoritmo Implementação da aplicação Geração do código Testes e Validação
Link interessantes História do Computador http://www.widesoft.com.br/users/virtual/indice.htm