Baixe o app para aproveitar ainda mais
Prévia do material em texto
O Computador Programação Programação de Computadores 1 01 - Introdução Honovan Paz Rocha1 1Departamento de Computação (DECOM) Centro Federal de Educação Tecnológica de Minas Gerais (CEFET-MG) Programação de Computadores, 2013/1 O Computador Programação Outline 1 O Computador Organização de um Computador 2 Programação O que é programar? Algoritmos O Computador Programação Sumário 1 O Computador Organização de um Computador 2 Programação O que é programar? Algoritmos O Computador Programação Organização de um Computador O que vemos? Desktops O Computador Programação Organização de um Computador O que vemos? Laptops O Computador Programação Organização de um Computador O que vemos? Servidores O Computador Programação Organização de um Computador Ainda externamente ... Periféricos O Computador Programação Organização de um Computador E por dentro? Conhece o HD? O Computador Programação Organização de um Computador E por dentro? Conhece o HD? O Computador Programação Organização de um Computador E por dentro? HD Em 1956: 1 tonelada, 5MB Hoje: Alguns gramas, + de 1TB ( 1.000.000MB) O que é o HD? Memória “permanente” (não se perde quando o computador é desligado) “Baixo” custo por MB Acesso normalmente lento Normalmente é magnético (disco, cabeça, agulha), mas ... Dispositivos de memória “flash” são comuns hoje (Ex.: pen-drives) O Computador Programação Organização de um Computador E por dentro? HD Em 1956: 1 tonelada, 5MB Hoje: Alguns gramas, + de 1TB ( 1.000.000MB) O que é o HD? Memória “permanente” (não se perde quando o computador é desligado) “Baixo” custo por MB Acesso normalmente lento Normalmente é magnético (disco, cabeça, agulha), mas ... Dispositivos de memória “flash” são comuns hoje (Ex.: pen-drives) O Computador Programação Organização de um Computador E por dentro? HD Em 1956: 1 tonelada, 5MB Hoje: Alguns gramas, + de 1TB ( 1.000.000MB) O que é o HD? Memória “permanente” (não se perde quando o computador é desligado) “Baixo” custo por MB Acesso normalmente lento Normalmente é magnético (disco, cabeça, agulha), mas ... Dispositivos de memória “flash” são comuns hoje (Ex.: pen-drives) O Computador Programação Organização de um Computador E por dentro? HD Em 1956: 1 tonelada, 5MB Hoje: Alguns gramas, + de 1TB ( 1.000.000MB) O que é o HD? Memória “permanente” (não se perde quando o computador é desligado) “Baixo” custo por MB Acesso normalmente lento Normalmente é magnético (disco, cabeça, agulha), mas ... Dispositivos de memória “flash” são comuns hoje (Ex.: pen-drives) O Computador Programação Organização de um Computador E por dentro? Memória RAM O Computador Programação Organização de um Computador E por dentro? Memória RAM RAM: Random Access Memory (Memória de Acesso Randômico) É volátil (desligou o computador, perde os dados) Em um computador, normalmente fica na casa dos GB (entre 1 e 16) “Médio” custo por MB Acesso muito rápido (comparando com o HD) O Computador Programação Organização de um Computador E por dentro? Quem “manda”? O Computador Programação Organização de um Computador E por dentro? Processador CPU - Central Processing Unit (Unidade de Processamento Central) Realiza - praticamente - todo o controle, cálculos etc. Possui memória interna de poucos MB: caríssima e extremamente rápida (memória cache) O Computador Programação Organização de um Computador E por dentro? Quem “ajunta”? Placa Mãe Nela estão conectados: as memórias, o processador, HDs, outras placas etc. ... O Computador Programação Organização de um Computador E por dentro? Quem “ajunta”? Placa Mãe Nela estão conectados: as memórias, o processador, HDs, outras placas etc. ... O Computador Programação Sumário 1 O Computador Organização de um Computador 2 Programação O que é programar? Algoritmos O Computador Programação O que é programar? Como isso tudo funciona? Computador não sabe, sozinho, como fazer as coisas! Alguém precisa de dizer a ele como fazer! Ou seja, precisamos dar instruções ao computador. Mas o computador só “entende” ... 0 e 1!!!! O Computador Programação O que é programar? Como isso tudo funciona? Computador não sabe, sozinho, como fazer as coisas! Alguém precisa de dizer a ele como fazer! Ou seja, precisamos dar instruções ao computador. Mas o computador só “entende” ... 0 e 1!!!! O Computador Programação O que é programar? Como dar instruções ao computador? O Computador Programação O que é programar? Como dar instruções ao computador? O Computador Programação O que é programar? Como dar instruções ao computador? O Computador Programação O que é programar? Como dar instruções ao computador? Que tal dar instruções ao computador em binário? Na verdade, não damos instruções em binário! Existe a Linguagem de Montagem! O Computador Programação O que é programar? Como dar instruções ao computador? Que tal dar instruções ao computador em binário? Na verdade, não damos instruções em binário! Existe a Linguagem de Montagem! O Computador Programação O que é programar? Como dar instruções ao computador? Que tal dar instruções ao computador em binário? Na verdade, não damos instruções em binário! Existe a Linguagem de Montagem! O Computador Programação O que é programar? Como dar instruções ao computador? Exemplo de Código em Linguagem de Montagem MOV AX,1234H MOV BX,5678H PUSH AX PUSH BX POP AX POP BX O Computador Programação O que é programar? Como dar instruções ao computador? Fácil, não? Já é mais legível que binário! Programas específicos traduzem Linguagem de Montagem para código binário Necessitamos de conhecer opcodes, operandos, registradores ... Linguagem de montagem ainda é muito complicada para programar! E agora? O Computador Programação O que é programar? Como dar instruções ao computador? E agora? Normalmente, utilizamos linguagens de “alto nível” (mais próximas da linguagem humana) Essas linguagens são “compiladas”, de forma que é gerado, no final do processo, código binário executável Exemplos: Java, C, C++, Pascal, Fortran ... C será a linguagem que utilizaremos! O Computador Programação O que é programar? Programar é ... Voltando ao que é programar ... Programar é dar instruções ao computador O computador não entende qualquer linguagem A linguagem que o computador entende é difícil para nós entendermos Podemos usar linguagens mais fáceis para nosso entendimento ... ... mas essas linguagens devem ser traduzidas para a “linguagem de máquina” Ou seja, devem ser “compiladas” Como o computador é meio “burro”: temos que dar instruções muito bem organizadas, e sem erros! O Computador Programação O que é programar? Programar é ... Desenvolver um software a partir de uma necessidade (ou para criar uma necessidade :-) ) O Computador Programação O que é programar? O que é um programa de computador (software)? É uma sequência finita de instruções! Instruções devem seguir uma lógica Devem ser bem definidas e não ambíguas Conjunto de comandos, normalmente, é restrito (mas suficiente) O Computador Programação Algoritmos Como faço para construir um programa? Normalmente, antes de ir para o computador, o programa é desenvolvido como um algoritmo Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos necessários para realizar uma tarefa Definição: “Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, cada uma das quais pode ser executada mecanicamente numperíodo de tempo finito e com uma quantidade de esforço finita.” O Computador Programação Algoritmos Receita de bolo (!?) O Computador Programação Algoritmos Receita de bolo (!?) O que uma receita de bolo tem a ver com programação? Uma receita de bolo é um algoritmo! Contém ingredientes e quantidades, além das instruções (normalmente sequenciais) para fazer um bolo. O Computador Programação Algoritmos Receita de bolo (!?) O que uma receita de bolo tem a ver com programação? Uma receita de bolo é um algoritmo! Contém ingredientes e quantidades, além das instruções (normalmente sequenciais) para fazer um bolo. O Computador Programação Algoritmos Como criar um algoritmo? O Computador Programação Algoritmos Exercício 1 Um senhor, está numa das margens de um rio com uma raposa, uma dúzia de galinhas e um saco de milho. O senhor pretende atravessar o rio com suas cargas, num barco a remo que só comporta o senhor e uma das cargas. Evidentemente, o senhor não pode deixar em uma das margens, sozinhos, a raposa e a galinha, nem a galinha e o milho. Sabendo que os únicos “comandos” disponíveis são atravesse (ex.: “atravesse o milho”) e retorne (ex.:“retorne com as galinhas”), escreva um algoritmo para que o senhor possa atravessar toda a carga sem que nada se perca (galinhas comem milho e raposas comem galinhas!!!). O Computador Programação Algoritmos Exercício 1 - solução 1 Atravesse as galinhas 2 Retorne sozinho. 3 Atravesse a raposa. 4 Retorne com as galinhas. 5 Atravesse o milho. 6 Retorne sozinho. 7 Atravesse as galinhas. O Computador Programação Algoritmos Exercício 2 Em grupos de cinco pessoas, elaborar um algoritmo para que uma pessoa do grupo vá até o final da sala, apague e acenda a lâmpada. Escrever em uma folha. Ao final, um do grupo vai ler o algoritmo. Antes vamos definir o conjunto de comandos ... O Computador Organização de um Computador Programação O que é programar? Algoritmos
Compartilhar