Algoritmos e Estruturas de Dados I
Aula 2: Computador Simplificado
-
O que é ?
-
Como funciona ?
-
Primeiro programa
Funcionamento
-
Calculadora serve para... cálculos!
-
Máquina de escrever serve para imprimir resultados: saída
de dados.
-
Cartões contém dados de entrada.
-
Escaninho contém o programa e espaço para dados intermediários:
memória
Funcionamento
Operador deve ler instruções contidas
em cada posição do escaninho e segui-las. Após a execução
de Ei, execute Ei+1.
Instruções são simples
e limitadas, por exemplo:
-
Leia cartão e coloque valor em Ei;
-
Some Ei e Ej e coloque o resultado em Ek;
-
Imprima valor de Ei
Programa Exemplo
Dados: 3, -1
Instruções Executáveis
-
Leia cartão e guarde em Ei.
-
Copie Ei em Ej.
-
Some (subtraia, ...) Ei e Ej e guarde em Ek.
-
Vá para Ei.
-
Se Ei < Ej vá para Ek.
-
Imprima Ei.
Cada escaninho contém apenas uma instrução
ou valor.
Isto é um computador ?
Sim, porque:
-
Calculadora: entrada;
-
Máquina de escrever: saída;
-
Escaninho: memória;
-
Calculadora: ALU;
-
Operador: controle.
Observações
Instruções simples: mas combinações
permitem a expressão de ``qualquer'' processamento;
Memória limitada: restrição
na quantidade de dados e instruções.
Execução ``burra'': instruções
dizem tudo: erros são responsabilidade do programador;
Memória contém instruções
ou dados: conteúdo depende do contexto.
Questões:
-
Erros ?
-
Erros de hardware ?
-
Como carregar o programa na memória ?
-
O programa pode alterar suas instruções ? Para que ?
Segundo Programa
Dados: 5, 0, -1, 2, 3, 5
Segundo Programa
E se...
-
Houver menos de 4 cartões na pilha ?
-
O valor inicial de E13 não for definido ?
-
E14 = 0 ?
-
E4 for ``se E15 < E16 vá para E13'' ?