Partes do Computador
CPU –
A CPU contém um conjunto restrito de
células de memória chamados registradores que
podem ser lidos e escritos muito mais
rapidamente que em outros dispositivos de
memória.
ULA –
A unidade central do processador, que
realmente executa as operações aritméticas e
lógicas entre dois números.
Partes do Computador
PC (Contador de programa)
Unidade do
processador que armazena a posição de memória
que contém a próxima instrução que o
computador irá executar.
Memória –
Onde os dados serão armazenados
temporariamente ou não dependendo do tipo de
memória.
Registrador de Instruções
armazena a
instrução corrente que o computador está
executando.
Memória
Memória ROM
É um tipo de memória que
contém instruções imutáveis, nela estão
localizadas rotinas que inicializam o computador
quando este é ligado. É nãovolátil, ou seja, os
dados não são perdidos com a ausência de
energia.
Memória
EPROM
É um tipo de ROM especial que pode
ser programada pelo usuário. Seu conteúdo pode
ser apagado pela exposição a raios ultravioletas.
EEPROM
É também um tipo especial de ROM
muito semelhante á EPROM, tendo como
diferença apenas o fato de que seu conteúdo é
apagado aplicandose uma voltagem específica
em um dos seus pinos de entrada.
Memória
Memória RAM –
É dinâmica e frequentemente
usada em computadores modernos. Isto, é devido
a características como: Baixo consumo, Chips de
alta densidade, e baixo custo.
Memória
Memória flash
É do tipo não volátil o que
significa que não precisa de energia para manter
as informações armazenadas no chip.
Arquitetura de Von Neumann
A Arquitetura de Von Neumann (de John Von
Neumann), é uma arquitetura de computador que
se caracteriza pela possibilidade de uma máquina
digital armazenar seus programas no mesmo
espaço de memória que os dados, podendo
assim manipular tais programas.
Linguagem de máquina
Todo computador possui um conjunto de
instruções que seu processador é capaz de
executar. Essas instruções, chamadas de código
de máquina, são representadas por sequências
de bits, normalmente limitadas pelo número de
bits do registrador principal da CPU.
Linguagem de Máquina
0E3D:0000 CD 20 FF 9F 00 9A F0 FE1D F0 4F 03 F0 07 8A 03 0E3D:0010 F0 07 17 03 F0 07 DF 0701 01 01 00 02 FF FF FF 0E3D:0020 FF FF FF FF FF FF FF FFFF FF FF FF BD 0D 4C 01 0E3D:0030 D0 0C 14 00 18 00 3D 0EFF FF FF FF 00 00 00 00 0E3D:0040 05 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 0E3D:0050 CD 21 CB 00 00 00 00 0000 00 00 00 00 20 20 20 0E3D:0060 20 20 20 20 20 20 20 2000 00 00 00 00 20 20 20 0E3D:0070 20 20 20 20 20 20 20 2000 00 00 00 00 00 00 00 0E3D:0080 00 0D 76 2E 65 78 65 0D44 4F 57 53 5C 73 79 73 0E3D:0090 74 65 6D 33 32 5C 64 6F73 78 0D 0D 64 61 20 72 0E3D:00A0 65 64 65 20 28 63 61 7272 65 67 61 72 20 61 6E 0E3D:00B0 74 65 73 20 64 6F 20 646F 73 78 2E 65 78 65 29
Linguagem de maquina
Linguagem ilustrativa
Exemplo de instrução:
3 5 A F
posição de memória
registrador
operação store
Linguagem de Máquina
História
As linguagens de programação são dividas em
gerações de acordo com a proximidade da
linguagem (ou) ao computador (ou) ao Homem.
Ou, os computadores são œ programados diretamente em painéis de conexão.
Geração das Linguagens
1ª geração: Linguagem de máquina
Programas escritos em binário ™0 (zeros) e ™1 (uns)
∫
∫
Geração das Linguagens
2ª geração: Linguagens de baixo nível
Elimina a notação binária
œ
Usam c digos mneumônicos com letras e números
para
œrepresentar os comandos
Assemblers (montadores) convertem mneumônicos em binário
œGeração das Linguagens
3ª geração: Linguagens de alto nível ou orientadas a usuário
Usam comandos com nomes geralmente auto
œexplicativos (ex: READ, WRITE, IF, OPEN, CLOSE...)
± Principais linguagens:
œFORTRAN, COBOL, BASIC, PASCAL, C
Geração das Linguagens
4ª geração: Linguagens orientadas à aplicação
Geram c digo a partir de expressões de alto nível
œEx.: DBASE III Plus, SQL
œTradução: lê todos os registros que compõem um arquivo e, para
cada lido, seleciona aqueles cuja Cidade = ™Porto Alegre .
∫
Também decide como a lista deve ser formatada, o no de linhas por
página, como numerar as páginas, etc.
Geração das Linguagens
5ª geração: Linguagens de Sistemas Especialistas
são criadas bases de conhecimentos, obtidasa partir de
œespecialistas,
e, as linguagens fazem deduções, inferências e tiram
œconclusões baseadas nas bases deconhecimento
Ex: PROLOG, LISP, VISUAL AGE
œPor que Existem Tantas Linguagens?
Linguagens para diferentes propositos:
œComputação Científica, Comércio, Indústria, Ensino,
Aplicativos, Software Básico, Engenharia, Internet, etc.
Incorporação de avanços tecnol gicos
œCultura e background científico (similar a razão pela qual
œexistem tantas linguagens naturais)
Interesses comerciais
œ
Classificação das Linguagens por Nível
As
linguagens de baixo nível
Restritas a linguagem de máquina;
œForte relação entre as operações implementadas pela linguagem
œe as operações implementadas pelo hardware;
A 1ª e 2ª gerações.
œAs
linguagens de alto nível
Aproximamse das linguagens utilizadas por humanos para
œexpressar problemas e algoritmos
Cada declaração numa linguagem de alto nível equivale a várias
œdeclarações numa linguagem de baixo nível;
A partir da 3ª geração das linguagens.
œCaracterísticas das Linguagens de
Baixo Nível
Indicada para funções que precisam implementar instruções
œde máquina específicas que não são suportadas por linguagens
de alto nível;
A grande eficiência e o reduzido tamanho dos programas;
œImpossibilidade de uso de linguagens de alto nível (hardware
œsimples).
Características das Linguagens de
Alto Nível
Problemas podem ser solucionados muito mais rapidamente e
œcom muito mais facilidade;
A solução do problema não necessita ser obscurecida pelo nível
œde detalhes necessários em um programa em linguagem de baixo
nível;
O programa em linguagem de alto nível é normalmente fácil de
œseguir e entender cada passo da execução.
Processamento das
Linguagens:Interpretação
Nesta solução, as ações indicadas pelos comandos da
œlinguagem são diretamente executadas.
Mais precisamente, um interpretador é um programa que
œexecuta repetidamente a seguinte seqüência:
1. Obter o pr ximo comando do programa fonte;
2. Determinar que ações devem ser executadas;
3. Executar estas ações.
Exemplo de linguagens interpretadas: sh, awk, LISP, etc.
œProcessamento das
Linguagens:Compilação
Nesta solução, programas escritos em ... linguagem de alto nível são traduzidos para versões equivalentes em linguagem de máquina, antes de serem executados. Esta tradução é feita em vários passos.
Algoritmos
É o pensamento descrito como uma seqüência de passos
œque visam atingir um objetivo
Algoritmos no diaadia: Receita de bolo, orientação para se
œchegar em algum endereço
Qual sua importância na programação?
œRepresentar o raciocínio, independentemente de detalhes
computacionais, que podem ser acrescentados mais tarde
Focalizar primeiro na resolução algorítmica do problema,
possibilitando depois codificála em qualquer linguagem
Algoritmos Através de Linguagem
Escrita
Confecionando um Bolo Simples
œINGREDIENTES:
œ2 copos e meio de farinha, 2 copos e meio de açúcar, 1
copo de leite, 4 ovos, Fermento em p .
MODO DE PREPARO:
œ1. Bata as claras em neve;
2. À parte bata o açúcar com as gemas;
3. Misture as claras a farinha de trigo, ao fermento e ao leite;
4. Adicione por último uma pitada de sal;
5. Coloque toda a mistura em assadeira redonda;
6. Asse em forno préaquecido a 180 graus;
7. Ap s 45 minutos retire a assadeira do forno;
8. Deixe resfriar a temperatura ambiente;
9. Inverta a assadeira (cabeçaparabaixo) para tirar o bolo;
10. O bolo está pronto para servir.
Algoritmos Através de Fluxogramas
Um fluxograma é uma
œrepresentação gráfica para o
passoapasso dos algoritmos;
Dividese em:
œEntradas,
Processamento, e
Saídas.
A simbologia é
œpadronizada e independe da
linguagem para a qual o
algoritmo será transcrito.
Código Fonte
C digo fonte (
source
œcode
) é o conjunto de palavras ou símbolos escritos de forma ordenada, contendo instruções em uma das linguagens de programação existentes no mercado, de maneira l gica. C digo fonte de um programa em lin guagem de programação C que im prime na tela se o número passado a ele como argumento é primo ou não.É o programa pronto para œ ser executado ± É o Software!