Escolar Documentos
Profissional Documentos
Cultura Documentos
Processador
Dispositivo de Central
Entrada
Dispositivo de
Saida
Dispositivos de Entrada:
Seu objetivo é obter dados que serão colocados na memória para que sejam
posteriormente usados pelo processador em cálculos aritméticos ou lógicos.
Dispositivos de Saída:
Impressora
Vídeo
Alto-falante
Plotter
Alguns dispositivos são de entrada e saída ao mesmo tempo, isto é, podem ser
usados para obter ou para enviar dados do exterior para o computador.
Disquete
Disco rígido
CD ou DVD – em alguns computadores a unidade de CD ou DVD é apenas de
leitura. Linha telefônica
Rede Local
Linhas de comunicação (dispositivos elétricos ou ópticos para
transmissão de dados, voz e imagem)
Vídeos especiais onde se pode teclar com os dedos (touch screen)
Pen-Drive de memória (simula um disco)
Memória
0000
0001
0002
0003
: :
: :
: :
9996
9997
9998
9999
Nos computadores os dados são armazenados na forma binária, isto é como zeros
e uns. A memória, portanto contém uma sequencia de zeros e uns.
10101100 significa 0 + 0*2 + 1*4 + 1*8 + 0*16 + 1*32 + 0*64 + 1*128 = 172
Processador Central
Processador Central
Unidade Lógica
e Aritmética Onde são realizadas as operações
lógicas e aritméticas
Outra simplificação que faremos é que usaremos apenas números inteiros, isto
é, o nosso MSC só trabalha com números inteiros. Assim podemos armazenar 0,
12, -567, etc. em sua memória, mas não podemos armazenar 1.234, -104.23, 1.2,
etc.
1. Entrada
Antes: x 25
Depois: x 32
2. Saida
25
antes: x
depois: x 25
Uma instrução bastante comum é o movimento de um valor que está numa posição
de memória para outra. Vamos indicar essa instrução da seguinte forma:
antes: x 25 y 32
comando: x ← y
depois: x 32 y 32
i ← j atribui j a i
comando: i ← j
x ← 0 atribui 0 a x
z ← 35 atribui 35 a z
x ← -1
z ← x
y ← z
x ← y
x ← 0
z ← y
y ← x
x ← z
Se fizermos simplesmente:
x ← y
y ← x
Comando: x ← y
Comando: y ← x
Não adianta, pois ambos ficarão com o valor anterior de y. A solução é usar
uma posição de memória auxiliar, por exemplo, z:
antes: x 33 y 82 z ??
comando: z ← x
depois: x 33 y 82 z 33
comando: x ← y
depois: x 82 y 82 z 33
comando: y ← z
depois: x 82 y 33 z 33
x ← expressão aritmética
Exemplos:
x ← y + z
Antes: x 33 y 82 z 21
Comando: x ← y + z
Depois: x 103 y 82 z 21
x ← y – 1
Antes: x 33 y 82
Comando: x ← y - 1
Depois: x 81 y 82
x ← 3 * a + y
Antes: x 33 a - 27 y 2
Comando: x ← 3 * a + y
Depois: x - 79 a - 27 y 2
x ← y * y – 2 * y + 1
a ← (y – 1) * (y + 1) / (z – 1) * (z + 1)
x ← x + 1
Antes: x 25
Comando: x ← x + 1
26
Aula 02 – Modelo Simplificado de Computador
MAC 110 - ICC
Aula 2 – Modelo Simplificado de Computador
MAC 110 – ICC - Marcilio
Depois: x
x ← x - 1
Antes: x 25
Comando: x ← x - 1
Depois: x 24
x ← x + y
Antes: x 33 y 82
Comando: x ← x + y
Depois: x 115 y 82
x ← y
a) Entrada
b) Saída
c) Atribuição
Com esses 3 tipos de instruções, vamos fazer alguns programas usando o nosso
MSC.
Convenções de enunciado
1) Quando falamos no enunciado, que são dados alguns números, tais números
devem ser lidos pelo programa, isto é, deve haver um comando leia para cada
um desses dados.
2) Os resultados calculados pelo programa devem ser impressos, isto é, deve
haver um comando imprima para cada um desses resultados, embora não se diga
explicitamente para imprimir o resultado.
leia x
leia y
z ← x + y
imprima z
ou ainda
leia x, y
z ← x + y
imprima z
leia x, y
a ← x + y
imprima a
b ← x - y
imprima b
c ← x * y
imprima c
d ← x / y
imprima d
Outra forma:
leia x, y
a ← x + y
b ← x - y
c ← x * y
d ← x / y
imprima a, b, c, d
Outra forma:
leia x, y
a ← x + y
imprima a
a ← x - y
imprima a
a ← x * y
imprima a
a ← x / y
imprima a
Neste último caso, como a posição a é usada só para armazenar o cálculo, não
há problema em armazenar todos os cálculos na mesma posição desde que se
imprima o resultado após cada um dos cálculos.
leia x, y
z ← (x + y) / 2
Aula 02 – Modelo Simplificado de Computador
MAC 110 - ICC
Aula 2 – Modelo Simplificado de Computador
MAC 110 – ICC - Marcilio
imprima z