Transcript

11/03/2013 1

Unesp – Campus de Guaratinguetá

1- O COMPUTADOR

Curso: Programação de ComputadoresProf. Aníbal Tavares

Profa. Cassilda Ribeiro

11/03/2013 2

1.1 Histórico

� Necessidade humana de computação data de milhares de anos

� Tabuas de argilas contendo tabuadas por volta de 1700 ªC, próximo de Babilônia

� Babilônios usavam sistema de numeração sexadecimal (base 60) � origem das unidades de tempo atuais

� Eles resolviam muitos tipos de equações algébricas.

11/03/2013 3

1.1 Histórico: Desenvolvimento de dispositivos automáticos

11/03/2013 4

O Ábaco: Oriente Médio 2500 a.C

� Instrumento construído de contas móveis se movimentando em eixos..

� A informação está nas contas..

1101001000

5505005000Valem 5 unidades

Valem 1 unidade

5505005000

1101001000

27=

20+7

Ábaco Japonês

11/03/2013 5

5000 AC – O Ábaco

� Instrumento construído de contas móveis se movimentando em eixos..

� A informação está nas contas..

1101001000

5505005000Valem 5 unidades

Valem 1 unidade

5505005000

1101001000

27=

20+7

Ábaco Japonês

11/03/2013 6

Operações no Ábaco

http://www.youtube.com/watch?v=Hr7AB4cnyOs&feature=related

SOMA EFETUADA NO ÁBACO SOMA EFETUADA NO ÁBACO 236 + 61 = ?

5505005000

1101001000236236

5505005000

1101001000236236 ++ 6161 = = 297297

11/03/2013 7

1642 – Pascalina: a máquina de Blaise Pascal

Blaise Pascal

unidadedezena

http://woodgears.ca/gear_cutting/template.html

1 ciclo = 10 ciclos

0 9

1+

1 0

Predecessora da calculadora de mesa

11/03/2013 8

1801 - O Tear Programável

Joseph-Marie Jacquard

11/03/2013 9

Funcionamento do Tear

� Os desenhos eram cifrados em cartões de papel perfurado.

� Somente trabalhavam as agulhascoincidentes com os furos.

� As instruções estão codificadas nos cartões11/03/2013 10

1822 – A Máquina Diferencial

Calcularia funções trigonométricas e logarítmicas, usando os cartões de Jacquard. Construção difícil e cara para a época.

Charles Babbage

11/03/2013 11

A Primeira Programadora

�� 18331833 - Babbage projetou uma máquina bastante aperfeiçoada - Máquina AnalíticaMáquina Analítica..

� Podia ser programada através de cartões perfurados de Jacquard utilizando comandos como Se...então e Enquanto.

� Calculava várias funções matemáticas.� "Podemos dizer mais convenientemente que a

Máquina Analítica tece padrões algébricos, assim como o tear de Jacquard tece flores e folhas" . Ada Lovelace. Ada Lovelace

� Devido à tecnologia pouco avançada, a máquina não foi concluída. Somente um século depois suas idéias foram postas em prática.

� www.fourmilab.ch/babbage/contents.html11/03/2013 12

Os dados do censo (que ocorre a cada 10 anos) de 1880dos EUA levaram quase 8 anos para serem processados.Temia-se que os dados do censo de 1890 não estivessem processados em 1900.

1880 – A Tabuladora Hollerith

Herman Hollerith (estatístico):

Foi encarregado pela Agência Estatísticados EUA de desenvolver uma técnica para acelerar o processamento dos dadosdo censo.

11/03/2013 13

Hollerith usou a idéia de Jacquard e construiu a Perfuradora de Cartões.Perfuradora de Cartões.

1880 – A Tabuladora Hollerith

Os dados eram perfurados em cartõesque podiam ser classificados por meio de pinos que passavam pelos furos.

O processamento das Informações levou 3 anos.

� Observação: A empresa de Hermann Hollerith era a TabulatingMachine Company. Em 1911, ele juntou-se com outras 3 empresas e fundou a IBM.

11/03/2013 14

1936 – A Máquina de Turing

Alan Turing

MáquinaTeórica

� Turing imaginou uma máquina que poderia efetuar de forma automática os processos geralmente desenvolvidos por um matemático. Para cada processo, haveria uma máquina: uma para somar, outra para dividir, uma terceira para calcular integrais, e assim por diante. A máquina de Turing, nome pela qual ela ficou conhecida, jamais foi construção

TearProgramável

11/03/2013 15

Importância da Máquina de Turing

� Um tempo depois, Turing descobriu que era possível desenhar um aparelho "universal" que tivesse condições de realizar tudo o que as máquinas especializadas podiam fazer, desde que fossem programadas para tal. Assim, Turing elaborou a Teoria dos computadores programáveis

11/03/2013 16

Funcionamento da Máquina de Turing

� http://ironphoenix.org/tril/tm/

� Dispositivos: Entrada, Saída, Memória de trabalho.

� Fita: é dividida em células, cada uma contendo um símbolo.

� Símbolos: Alfabeto de entrada, Alfabeto auxiliar, Branco.

� Unidade de controle: se comunica com a Fita por uma cabeça simples que lê e/ou altera símbolos da lista.

� O movimento da máquina de Turing depende do símbolo lido e do estado do controle finito. Dependendo destes estados a máquina pode:

(1) Trocar de Estado.(2) Gravar um símbolo.(3) Mover o cabeçote de leitura.

11/03/2013 17

1937 - Lógica Booleana e Circuitos Elétricos

� Em 1847 é publicado o livro “The MathematicalAnalysis of Logic” que introduz a Álgebra Booleana. Três operadores E, OU e NÃO (AND, OR, NOT) são as únicas operações necessárias para efetuar comparações ou as

quatro operações aritméticas base.

Em 1937, Claude Shannon: Há uma correspondência de um-para-umentre circuitos elétricos e funções booleanas. Para toda e qualquer função booleana é possível desenvolver um circuito eletrônico e vice-versa.

George Boole

11/03/2013 18

1.3-Componentes Básicos do Computador

�HARDWARE: Toda parte física do computador. É o equipamento propriamente dito.

Inclui: circuitos eletrônicos, gabinete, fonte de

energia, cabos, teclado, mouse, etc.

�O SOFTWARE: Constituído pelos programas que permitem atender às necessidades do usuário

11/03/2013 19

UNIDADE DE SAÍDAUNIDADE DE CONTROLE

UNIDADE LÓGICA EARITMÉTICA

UNIDADE DEENTRADA

UNIDADES FUNCIONAIS

BÁSICAS

CPU

MEMÓRIA AUXILIAR

MEMÓRIA PRINCIPAL

MEMÓRIA

Composição do Hardware

11/03/2013 20

�A memória do computador é dividida em unidades pequenas (caixinhas) e de mesmo tamanho, chamadas PALAVRAS. Cada PALAVRA tem um único endereço

A Memória do Computador

�Os endereços são permanentes (vêm da fábrica) e não podem ser modificados pelo programador

11/03/2013 21

Palavra n-1n

......

Palavra 403

Palavra 302

Palavra 201

Palavra 100

A Memória do Computador

Memória de Tamanho “n”Memória de Tamanho “n”

Capacidade da memória

X

Espaço “endereçável”

Endereço

11/03/2013 22

�A PALAVRA (caixinha) é formada por um grupo de 2, 4, 6 e até 8 BYTES (depende do modelo de computador).

Exemplo: Palavra de 4 bytes, indica que se está usando uma caixinha cujo tamanho é de 4 bytes

PALAVRA

byte byte byte byte

00 01 02 03

PALAVRA

byte byte byte byte

04 05 06 07

00 04endereço

endereço

A Memória do Computador

11/03/2013 23

�BYTE (binary term) : Unidade básica da informação. O byte é composto por 8 BITS

�BIT (binary digit) - dígitos binários

bit bit bit bit bit bit bit bit

BYTE

A Memória do Computador

11/03/2013 24

�Os computadores armazenam as informações e fazem todo seu tratamento baseado em fenômenos sobre sistemas biestáveis

�Os símbolos básicos usados para representar os dois estágios são o 0 e o 1 (dígitos binários)

0 ou 10 ou 1 0 ou 1 0 ou 1 0 ou 1 0 ou 1 0 ou 1 0 ou 1bit bit bit bit bit bit bit bit

BYTE

COMO FAZER PARA REPRESENTAR UM NÚMERO BINÁRIO?

Representação da Informação

11/03/2013 25

Sistema de numeração bináriaSistema de numeração binária

�É um sistema de numeração posicional (o valor de um dígito é dado pela sua posição no número)

�No sistema decimal, o número 2562 tem a seguinte interpretação:2 x 1000 (103) = 2000

5 x 100 (102) = 5006 x 10 (101) = 602 x 1 (100) = 2

A MEMÓRIA DO COMPUTADOR

11/03/2013 26

�No sistema binário de numeração a base é 2.

�Assim o valor do número 110101 é:

1 x 25 + 1 x 24 + 0 x 23 + 1 x 22 + 0 x 21 +1 x 20

= 32 + 16 + 0 + 4 + 0 + 1= 53

A MEMÓRIA DO COMPUTADOR

11/03/2013 27

�Interligando todas as partes do computador, existem fios por onde “circulam”os bits (barramento).

�Computador de 16 bits => existem 16 fios para o transporte dos dados

�Computador de 32 bits => existem 32 fios para o transporte dos dados

A MEMÓRIA DO COMPUTADOR

11/03/2013 28

A MEMÓRIA DO COMPUTADOR

A memória é dividida em camadas:

• memória cache

• memória principal

• memória auxiliar

11/03/2013 29

A MEMÓRIA DO COMPUTADOR

UNIDADE DE CONTROLE

UNIDADE LÓGICA EARITMÉTICA

UNIDADE DEENTRADA

UNIDADE DE SAÍDA

UNIDADES FUNCIONAIS

BÁSICAS

CPU

MEMÓRIA AUXILIAR

MEMÓRIA PRINCIPAL

MEMÓRIA

MEMÓRIA CACHE

11/03/2013 30

Unesp-Campus de Guaratinguetá

A memória é dividida em camadas:

• memória cache

• memória principal

• memória auxiliar

A MEMÓRIA DO COMPUTADOR

MEMÓRIA CACHE

• Camada mais próxima do processador

• Funcionamento muito rápido

• Alto custo

• Pequena, devido ao custo

11/03/2013 31

Unesp-Campus de Guaratinguetá

A memória é dividida em camadas:

• memória cache

• memória principal

• memória auxiliar

A MEMÓRIA DO COMPUTADOR

MEMÓRIA PRINCIPAL

• Dados que não cabem na memória cache residem

na memória principal

• Mais lenta

• Maior que a cache

• Custo inferior a cache

11/03/2013 32

Unesp-Campus de Guaratinguetá

A MEMÓRIA DO COMPUTADOR

Tipos de memória principal:

– ROM (Read Only Memory)

– RAM (Random Access Memory)

– PROM (Programmable ROM)

– EPROM (Eraseble PROM)

– EAROM (Electrically Alterable ROM)

11/03/2013 33

Unesp-Campus de Guaratinguetá

A memória é dividida em camadas:

• memória cache

• memória principal

• memória auxiliar

A MEMÓRIA DO COMPUTADOR

MEMÓRIA AUXILIAR (discos magnéticos)

• Armazenam os dados que não cabem na memóriaprincipal.

• Podem reter grande quantidade de dados.

• Os dados não são perdidos quando o computadoré desligado.

• Funcionamento muito lento.

11/03/2013 34

Unesp-Campus de Guaratinguetá

A memória é dividida em camadas:

• memória cache

• memória principal

• memória auxiliar

A MEMÓRIA DO COMPUTADOR

MEMÓRIA AUXILIAR (discos magnéticos)

Dois tipos de disco:

1- DISCOS MAGNÉTICOS: Winchesters, Hard Disk, Disquetes

2 - DISCOS ÓTICOS : CD-ROM, erasable CD (CDRW)

Os dados e programas devem primeiro ser transferidospara a memória principal antes de serem processados

COMPACT DISC, READ ONLY MEMORY

CD ReWritable

11/03/2013 35

Unesp-Campus de Guaratinguetá

O PORTE do computador depende de:

• componentes (essência da memória e do processador)

• arquitetura,

• periféricos e • software básico.

�O tamanho da memória principal é um dos indicadores do porte do computador

�Unidade de medida: byte

A MEMÓRIA DO COMPUTADOR

11/03/2013 36

Unesp-Campus de Guaratinguetá

3.1.1 A MEMÓRIA DO COMPUTADOR

UNIDADES DE MEDIDA

• Kbyte = 1024 bytes

• kilobyte (Kbyte ou KB) ~= 103 bytes

• megabyte (Mbyte ou MB) ~= 106 bytes

• gigabyte (Gbyte ou GB) ~= 109 bytes

• terabyte (Tbyte ou TB) ~= 1012 bytes

11/03/2013 37

Unesp-Campus de Guaratinguetá

UNIDADE DE CONTROLE

UNIDADE LÓGICA EARITMÉTICA

UNIDADE DEENTRADA

UNIDADE DE SAÍDA

UNIDADES FUNCIONAIS

BÁSICAS

CPU

MEMÓRIA AUXILIAR

MEMÓRIA PRINCIPAL

MEMÓRIA

Unidades de Entrada e Saída

11/03/2013 38

Unesp-Campus de Guaratinguetá

MONITORES DE VÍDEO

UNIDADES DE ENTRADA E SAÍDA

TECLADOS

IMPRESSORAS

Tubo de Raios Catódicos Monitor de Cristal Líquido

LaserMatricial Jato de Tinta

11/03/2013 39

Unesp-Campus de Guaratinguetá

CD-ROM (Compact -Disk Read -Only Memory)

• Caracterizada pelo uso de técnicas óticas de laser.

UNIDADES DE ENTRADA E SAÍDA

SCANNER ou DIGITALIZADOR

• Dispositivo de entrada que digitaliza objetos escritos, desenhos (figuras) e fotografias sobre papel ou qualquer outro meio e armazena essas informações sob forma de sinais digitais, em arquivos.

11/03/2013 40

Unesp-Campus de Guaratinguetá

UNIDADES DE ENTRADA E SAÍDA

PLOTTER• É uma impressora capaz de imprimir desenhos em grandes dimensões com elevada qualidade e rigor, como por exemplo, plantas arquitetônicas, mapas cartográficos, projetos de engenharia e grafismo. Podem utilizar papel comum, fotográfico, película, vegetal, auto-adesivos e lonas.

11/03/2013 41

Unesp-Campus de Guaratinguetá

UNIDADES DE ENTRADA E SAÍDA

UNIDADE DE DISCO MAGNÉTICO FLEXÍVEL: Destinadas a disquetes de alta densidade, dupla face e 3 1/2 polegadas de diâmetro (Disk Drive ou Drive)

LEITORA DE CÓDIGO DE BARRAS

• Consistem basicamente em um foto-detector e um decodificador, acondicionados em um dispositivo conhecido como CANETA ÓTICA, através da qual são fornecidas ao computador as informações contidas na etiqueta

• Há diversos métodos de codificação de dados através de barras: Todos se baseiam em sucessão de listras escuras de largura variável intercaladas por espaços claros, passível de ser interpretada por processos óticos

11/03/2013 42

Unesp-Campus de Guaratinguetá

TELA SENSÍVEL AO TOQUE

• Dispositivo de entrada que permite ao usuário selecionar opções através de indicações sobre o vídeo, que se constituem um painel sensível a pressões

Exemplo: caixa eletrônico da nossa caixa, no bloco III

UNIDADES DE ENTRADA E SAÍDA

11/03/2013 43

� A CPU é quem executa as instruções• Instrução: comando que define integralmente uma operação

a ser executada• Programa: instruções ordenadas logicamente.

� A CPU tem 2 unidades:• UNIDADE DE CONTROLE: determina a execução e

interpretação dos dados que estão sendo processados

• UNIDADE LÓGICA E ARITMÉTICA: recebe os dados da memória para processá-los quando uma instrução aritmética ou lógica é executada

Unidade Central de Processamento- CPU

11/03/2013 44

VELOCIDADE DE PROCESSAMENTO: costuma ser expressa através de:

• MIPS (milhões de instruções por segundo)

Ex: Pentium de 166 MIPS

• MFLOPS ou MEGAFLOPS (milhões de operações de ponto flutuante por segundo)

Utilizada em sistemas onde há maior interesse em aplicações numéricas (sistemas científicos e sistemas de computação gráfica)

Unidade Central de Processamento

11/03/2013 45

O Software envolve um conjunto de:

1- INSTRUÇÕES que quando executadas produzem a função e o desempenho desejados

2- ESTRUTURAS DE DADOS que possibilitam que os programas manipulem adequadamente a informação

3- DOCUMENTOS que descrevem a operação e o uso dos programas

Software

11/03/2013 46

APLICAÇÕES DO SOFTWARE

�SOFTWARE BÁSICO• Coleção de programas escritos para dar apoio a

outros programas�SOFTWARE DE TEMPO REAL

• Software que monitora, analisa e controla eventos do mundo real

�SOFTWARE COMERCIAL

• Sistemas de operações comerciais e tomadas de decisões administrativas

11/03/2013 47

�SOFTWARE CIENTÍFICO E DE ENGENHARIA

• Caracterizado por algoritmos de processamento de números

�SOFTWARE EMBUTIDO

• Usado para controlar produtos e sistemas para os mercados industriais e de consumo

�SOFTWARE DE COMPUTADOR PESSOAL• Envolve processamento de textos, planilhas

eletrônicas, diversões, etc.

APLICAÇÕES DO SOFTWARE

11/03/2013 48

�SOFTWARE DE INTELIGÊNCIA ARTIFICIAL• Faz uso de algoritmos não numéricos para

resolver problemas que não sejam favoráveis à computação ou à análise direta.

APLICAÇÕES DO SOFTWARE

11/03/2013 49

�O desenvolvimento do software compreende um conjunto de etapas citadas como CICLOS DE VIDA DE SOFTWARE

�Essas etapas envolvem Métodos, Ferramentas e Procedimentos para a construção e manutenção do software.

�O ciclo de vida de software contém 3 fases genéricas: DEFINIÇÃO, DESENVOLVIMENTO e MANUTENÇÃO

3.3 CICLO DE VIDA DO SOFTWARE

11/03/2013 50

DEFINIÇÃODEFINIÇÃO

DESENVOLVIMENTODESENVOLVIMENTO

MANUTENÇÃOMANUTENÇÃO

O QUE

COMO

ALTERAÇÕES

Ciclo de vida do software

11/03/2013 51

DEFINIÇÃO (o que)DEFINIÇÃO (o que)

DESENVOLVIMENTODESENVOLVIMENTO(como)(como)

Revisões

Documentação

• Projetar a Solução (ALGORITMO)

• Codificar a Solução (Programar em Linguagem de Computador)

• Testar o Programa

Definição do Problema

Etapas da Construção de Programas

11/03/2013 52CPU

MEMÓRIA PRINCIPAL

MEMÓRIAPrograma Fonte escrito em Linguagem de Alto

ou Baixo Nível

Programa Fonte escrito em Linguagem de

Máquina

Programação e Níveis de Linguagem

11/03/2013 53

�LINGUAGEM DE MÁQUINA- Uma CPU somente pode compreender instruções que sejam expressas em termos de sua LINGUAGEM DE MÁQUINA

- Um programa escrito em linguagem de máquina consiste de uma série de números binários e é muito difícil de ser entendido pelas pessoas.

Exemplo: Cada instrução é constituída de 2 partes:código da operação operando

001 01010

Programação e Níveis de Linguagem

11/03/2013 54

� LINGUAGEM DE BAIXO NÍVEL

São linguagens de programação nas quais os programas são escritos em uma notação que está próxima da linguagem de máquina.

Exemplo:código da operação operando significado

LD A load AMPI 5 multiplica 5

Programação e Níveis de Linguagem

11/03/2013 55

� LINGUAGEM DE ALTO NÍVEL (OU DE COMPILADORES)São linguagens de programação nas quais se pode escreverprogramas em uma notação próxima à maneira natural de expressar o problema que se deseja resolver

Exemplo:RESULT = D-((A+B)/C)

Aplicações Científicas :FORTRAN, ALGOL, BASIC, APL, LISP, PASCAL, ADA, C, PROLOG, PLI

Aplicações Comerciais:COBOL, RPG, PLI

Programação e Níveis de Linguagem

11/03/2013 56

Do Algoritmo ao Programa

� O algoritmo em linguagem humana deve ser codificado em uma linguagem de programação. Depois é gerado um programa em linguagem de máquina para que o computador possa entender as instruções fornecidas. Estágios:

Editor

# include <stdio.h>main(){

printf(“Hello World”);}Programa-fonte: p1.c

Compilador

Programa-objeto(p1.o)

10100101

Bibliotecas

LigadorPrograma-executável(p1.exe)

Linguagens compiladas: C, C++, FORTRAN

11/03/2013 57

Editor

# include <stdio.h>main(){

printf(“Hello World”);}

Interpretador

Resultado daexecução

Linguagens interpretadas: MATLAB, JavaScript

� No ambiente de desenvolvimento, o programa interpretador compila o programa-fonte, linha a linha. A sintaxe de cada comando é verificada e,se estiver correta, o comando é executado. Em tais linguagens, a execuçãode programa é, em média, dez vezes mais lenta que seu correspondentecompilado.

Do Algoritmo ao Programa

11/03/2013 58

� COMPILADOR: Programa utilizado pelo computador para traduzir os comandos simbólicos de uma linguagem de alto nível, para linguagem de máquina.

Do Algoritmo ao Programa

� INTERPRETADOR: Lê e executa uma declaração do programa por vez. Nenhuma fase intermediária de compilação é necessária. A execução do programa interpretado requer que o interpretador da linguagemesteja sendo executado no computador.

� LIGADOR: Programa utilizado pelo computador para traduzir os comandos simbólicos de uma linguagem de baixo nível , para linguagem de máquina.

� EDITOR: Ambiente onde os programas de computador podem ser escritos.

11/03/2013 59

1- O COMPUTADOR

FIM FIM FIM FIM FIM FIM FIM FIM

AULA 1AULA 1AULA 1AULA 1AULA 1AULA 1AULA 1AULA 1


Top Related