O documento descreve a evolução do software, desde a programação por fios no ENIAC até as linguagens de alto nível modernas. Explica também os principais sistemas de numeração utilizados em computadores, como o binário, octal e hexadecimal.
2. Software
• Assim como o hardware, o software também passou e
passa por evolução, visando tornar-se mais acessível ao
usuário final;
• O início dos computadores (ENIAC), a programação era
feita através da ligação de fios que interligavam várias
partes lógicas do equipamento.
4. Software: Programa Armazenado
• Depois veio o conceito de programa armazenado (von
Neumann), os equipamentos passaram a permitir a
programação em linguagem de máquina;
• As instruções passaram a ser armazenadas no
computador, ou seja, foi possível resgatar “programas”
antes elaborados.
5. Lógica Binária
• Os princípios binários surgiram em duas publicações
(1847 e 1854);
• A lógica binária surgiu em 1948 e foi introduzido o
conceito do “binary digit” (bit) ou “dígito binário”.
• As informações e instruções passaram a ser
representadas (codificadas) em sequências de “0” e “1”.
6. Linguagem Binária
Linguagem de Máquina:
• É composta por uma sequência de “0” e “1”. Sua
programação é muito complexa para os seres humanos.
• É a única compreendida diretamente pela máquina (daí
seu nome !).
7. Conceito de Abstração
• Como a programação binária era extremamente
complicada e limitada, surgiu a necessidade de obter
uma forma mais rápida e eficiente de produzir software;
Conceito de Abstração:
• “Ato de separar mentalmente um ou mais elementos de
uma totalidade complexa (coisa, representação, fato),
os quais só mentalmente podem subsistir fora dessa
totalidade.” (Dicionário Aurélio Eletrônico 5.0v).
8. Conceito de Abstração
Exemplo:
• Para fazer uso de um carro é necessário conhecer todas
as “particularidades de implementação” do carro ??!!!!
NÃO!!
Isso é bom?!
ÓTIMO !!
Resposta
9. Camadas de Abstração
Um sistema de computador pode ser dividido em camadas de abstração
para facilitar o entendimento da sua arquitetura e organização.
11. Representação dos Dados
Analógico x Digital
• Informação Analógica: contínua no tempo; possui
infinitos valores entre o máximo e o mínimo;
• Informação Digital: discreta no tempo; possui valores
finitos entre o máximo e o mínimo(intervalos)
• Exemplos:
rampa x escada
ponteiro x display
14. Representação dos Dados
Conversão Analógico/Digital
Amostragem/Quantização/Codificação:
• Conversão A/D de 8 bits:
– Valor máximo: 5 Volts
– Valor mínimo: 0 Volts
• Níveis: 2⁸ = 256 níveis
• Cada nível representa: 5/256 = 0,01953125 = 19,53mV
15. Linguagem de Montagem
Linguagem Simbólica ou de Montagem:
• Tentativa de aproximar a programação de computadores da
linguagem humana. A idéia era usar um comando para
substituir cada instrução da máquina, ou seja, é usar
comandos amigáveis ao invés de endereço binários;
• Ficou conhecida como assembler no Brasil (em inglês
assemby).
20. A partir de 1957
Linguagem de Alto Nível
• Aproxima-se ainda mais da linguagem natural;
• Um programa de alto nível é composto de uma sequência
de procedimentos que o computador deve executar.
• Exemplos: Fortran, Cobol, Pascal, C, Java …
21. Linguagem de Alto Nível
A máquina entende linguagem de
alto nível ?!!
22. Produto Final
• Reposta: Não !!
• Surge o Compilador.
Definição:
• Software responsável por traduzir código escrito em
“alto nível” em código binário.
23. Linguagem de Alto Nível: Exemplo
Programa escrito
na linguagem de
alto nível “C”.
24. O que o computador entende ?!
O Computador só processa, armazena,
recupera, ou seja, entende linguagem
binária.
Por causa disso ela também exibe
apenas na forma que entende ?!
26. Como escrever código fonte ?!
1 2 3
O compilador
realizará a tradução
para que o
computador
(hardware) possa
executar.
Através de uma
Linguagem de
Programação,
implementa o
algoritmo
estruturado.
Organizar as idéias
para resolver um
determinado
problema. Usando
técnicas de
programação.
27. Processo de Compilação
• Uma vez compilado, será gerado um “executável” que
está pronto para ser usado;
• O executável contém todas as instruções codificadas em
sequências de “0” e “1”;
• O processo de compilação é único e irreversível.
O executável é um “pacote fechado”, no qual o usuário
não tem acesso aos detalhes de implementação, apenas
faz uso das funcionalidades implementadas.
30. # Representação
• O computador, sendo um equipamento eletrônico,
armazena e movimenta as informações internamente
sob forma eletrônica;
• Tudo o que faz é reconhecer dois estados físicos
distintos, produzidos pela eletricidade, pela
polaridade magnética ou pela luz refletida – em
essência, eles sabem dizer se um “interruptor” está
ligado ou desligado.
31. # Representação
• Atualmente, o computador, por ser uma máquina
eletrônica, só consegue processar duas informações:
a presença ou ausência de energia.
• Para que a máquina pudesse representar
eletricamente todos os símbolos utilizados na
linguagem humana, seriam necessários mais de 100
diferentes valores de tensão (ou de corrente).
32. # Sistema de Numeração
• É uma maneira de representar graficamente
informações quantitativas, ou seja, é um conjunto de
regras para representação dos números;
• Cada sistema de numeração é apenas um método
diferente de representar quantidades. As
quantidades em si não mudam, mudam apenas os
símbolos usados para representá-las;
• A quantidade de algarismos disponíveis em um
dado sistema de numeração é chamada de base.
33. # Sistema de Numeração
Bases Numéricas
• SistemaDecimal
• SistemaBinário
• SistemaOctal
• SistemaHexadecimal
35. # Sistema de Numeração/Decimal
Símbolos:
• 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9;
Representação:
• Combinação dos dez símbolos, associado com sua
posição.
Expressão Polinomial:
BASE DECIMAL
10
0
0
1
1
1
1 ... babababaNúmero n
n
n
n
36. # Sistema de Numeração/Decimal
Representação: Número = 2.534;
2 5 3 4
Multiplica por: 103 102 101 100
Ou seja: 1000 100 10 1
Resultado: 2 x 1000 5 x 100 3 x 10 4 x 1
Igual a: 2000 500 30 4
Somando tudo: 2000 + 500 + 30 + 4
Igual a: 2534
0
0
1
1
1
1 1010...1010 aaaaNúmero n
n
n
n
37. # Sistema de Numeração/Decimal
Exemplo:
• Represente o número decimal 10648.
1 0 6 4 8
Multiplica por: 104 103 102 101 100
Ou seja: 10000 1000 100 10 1
Resultado: 1 x 10000 0 x 1000 6 x 100 4 x 10 8 x 1
Igual a: 10000 0 600 40 8
Somando tudo: 10000 + 0 + 600 + 40 + 8
Igual a: 10648
01234
108104106100101 Número
38. # Sistema de Numeração
Podemos observar que:
• Cada dígito é sempre menor que a base (10);
• O dígito mais significativo está à esquerda, e o menos
significativo à direita;
• Toma-se a base 10 (decimal) como referência.
39. # Sistema de Numeração/Decimal
Represente os seguintes números decimais na forma
polinomial:
a. 20;
b. 6325;
c. 10001;
d. 123.456;
e. 54;
f. 12;
g. 4.568.456.123;
40. # Sistema de Numeração
• Código mais comum BINÁRIO
Por que é utilizado o sistema binário ?
• Computadores são dotados de componentes eletrônicos;
• Representar a informação através da combinação de 10
tipos de voltagens é bastante complicado;
41. # Sistema de Numeração/Binário
Símbolos:
• 0 e 1;
Representação:
• Combinação dos dois símbolos, associado com sua
posição.
Expressão Polinomial:
BASE BINÁRIA
2
0
0
1
1
1
1 ... babababaNúmero n
n
n
n
42. # Sistema de Numeração/Binário
Representação: Número na base binária: 1011;
1 0 1 1
Multiplica por: 23 22 21 20
Ou seja: 8 4 2 1
Resultado: 1 x 8 0 x 4 1 x 2 1 x 1
Igual a: 8 0 2 1
Somando tudo: 8 + 0 + 2 + 1
Igual a: 11
0
0
1
1
1
1 22...22 aaaaNúmero n
n
n
n
43. # Sistema de Numeração/Binário
Exemplo:
• Represente o número binário 11001 na base decimal.
1 1 0 0 1
Multiplica por: 24 23 22 21 20
Ou seja: 16 8 4 2 1
Resultado: 1 x 16 1 x 8 0 x 4 0 x 2 1 x 1
Igual a: 16 8 0 0 1
Somando tudo: 16 + 8 + 0 + 0 + 1
Igual a: 25
01234
2120202121 Número
44. # Sistema de Numeração/Binário
Represente os seguintes números binários na forma
polinomial e diga seu valor correspondente no sistema
de numeração decimal:
a. 11;
b. 101100;
c. 1101001;
d. 1;
e. 0;
f. 01;
45. # Sistema de Numeração/Binário
Exemplo:
• Represente o número binário _______ na base decimal.
Multiplica por:
Ou seja:
Resultado:
Igual a:
Somando tudo:
Igual a:
46. # Sistema de Numeração/Octal
Símbolos:
• 0, 1, 2, 3, 4, 5, 6 e 7;
Representação:
• Combinação dos oito símbolos, associado com sua
posição.
Expressão Polinomial:
BASE OCTAL
8
0
0
1
1
1
1 ... babababaNúmero n
n
n
n
47. # Sistema de Numeração/Octal
Representação: Número octal= 2534;
2 5 3 4
Multiplica por: 83 82 81 80
Ou seja: 512 64 8 1
Resultado: 2 x 512 5 x 64 3 x 8 4 x 1
Igual a: 1024 320 24 4
Somando tudo: 1024 + 320 + 24 + 4
Igual a: 1372
0
0
1
1
1
1 88...88 aaaaNúmero n
n
n
n
48. # Sistema de Numeração/Octal
Exemplo:
• Represente o número octal 42536 em uma base
decimal.
4 2 5 3 6
Multiplica por: 84 83 82 81 80
Ou seja: 4096 512 64 8 1
Resultado: 4 x 4096 2 x 512 5 x 64 3 x 8 6 x 1
Igual a: 16384 1024 320 24 6
Somando tudo: 16384 + 1024 + 320 + 24 + 6
Igual a: 17758
01234
8683858284 Número
49. # Sistema de Numeração/Octal
Represente os seguintes números octais na forma
polinomial e diga seu valor correspondente no sistema
de numeração decimal:
a. 11;
b. 235;
c. 00001;
d. 2037;
e. 121;
f. 10;
50. # Sistema de Numeração/Octal
Exemplo:
• Represente o número binário _______ na base decimal.
Multiplica por:
Ou seja:
Resultado:
Igual a:
Somando tudo:
Igual a:
51. # Sistema de Numeração/Hexadecimal
Símbolos:
• 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
• A(10), B(11), C(12), D(13), E (14) e F(15);
Representação:
• Combinação dos dezesseis símbolos, associado com sua
posição.
Expressão Polinomial:
BASE HEXA
16
0
0
1
1
1
1 ... babababaNúmero n
n
n
n
52. # Sistema de Numeração/Hexadecimal
Representação: Número = 7D40;
7 D 4 0
Multiplica por: 163 162 161 160
Ou seja: 4096 256 16 1
Resultado: 7 x 4096 13 x 256 4 x 16 0 x 1
Igual a: 28672 3328 64 0
Somando tudo: 28672 + 3328 + 64 + 0
Igual a: 32064
0
0
1
1
1
1 1616...1616 aaaaNúmero n
n
n
n
53. # Sistema de Numeração/Hexadecimal
Exemplo:
• Represente o número hexadecimal 1122F, na base
decimal.
1 1 2 2 F
Multiplica por: 164 163 162 161 160
Ou seja: 65536 4096 256 16 1
Resultado: 1 x 65536 1 x 4096 2 x 256 2 x 16 15 x 1
Igual a: 65536 4096 512 32 15
Somando tudo: 65536 + 4096 + 512 + 32 + 15
Igual a: 70191
01234
1615162162161161 xxxxxNúmero
54. # Sistema de Numeração/Hexadecimal
Represente os seguintes números hexadecimais na forma
polinomial e diga seu valor correspondente no sistema
de numeração decimal:
a. 11;
b. FF;
c. 1F2A;
d. 1121;
e. FACA;
f. EEE;
55. # Sistema de Numeração/Hexadeciamal
Exemplo:
• Represente o número hexadecimal _______ na base
decimal.
Multiplica por:
Ou seja:
Resultado:
Igual a:
Somando tudo:
Igual a: