quarta-feira, 3 de fevereiro de 2010

Vende-se Computador Barato



Arquitetura de programa armazenado Ver artigo principal: Programa de computador e programação de computadores
A característica definidora de computadores modernos que os distingue de todas as outras máquinas é que elas podem ser programadas. Isso quer dizer que uma lista de instruções (o programa) pode ser dada para o computador e vai guardá-las e realizá-los em algum momento no futuro.
Na maioria dos casos, as instruções de computador são simples: acrescentar um número a outro, passar alguns dados de um local para outro, enviar uma mensagem a algum dispositivo externo, etc Estas instruções são lidas da memória do computador e geralmente são realizadas (executado) na ordem em que foram dadas. Instruções Entretanto, há geralmente especializado para dizer ao computador para saltar para a frente ou para trás, para algum outro lugar no programa e para continuar executando a partir daí. Estes são chamados de "pular" as instruções (ou ramos). Além disso, instruções de salto pode ser feita a acontecer sob certas condições para que diferentes seqüências de instruções podem ser utilizadas, dependendo do resultado de algum cálculo anterior ou algum evento externo. Muitos computadores diretamente rotinas de apoio, fornecendo um tipo de salto que se "lembra" o local em que saltou de instrução e outro para voltar para a instrução seguinte à instrução de salto.
A execução do programa pode ser comparado ao ler um livro. Quando uma pessoa normalmente ler cada palavra e linha em sequência, podem, às vezes, voltar para um lugar anteriormente no texto ou pular as seções que não são de interesse. Da mesma forma, um computador pode, por vezes, voltar atrás e repetir as instruções em alguma parte do programa de uma e outra vez até que alguma condição interna é satisfeita. Isso é chamado de fluxo de controle dentro do programa e é o que permite ao computador executar tarefas repetidas sem intervenção humana.
Comparativamente, uma pessoa usando uma calculadora de bolso pode executar uma operação aritmética básica como a adição de dois números com apenas alguns cliques. Mas a somar todos os números de 1 a 1.000 levaria milhares de prensas de botão e um monte de tempo com uma quase certeza de cometer um erro. Por outro lado, um computador pode ser programado para fazer isso com apenas algumas instruções simples. Por exemplo:
MOV # 0, soma; montante definido para 0 mov # 1, num; num conjunto de 1 Loop: add num, soma; adicionar num montante de Adicionar # 1, num; adicionar 1 a num num CMP, # 1000; comparar num para 1000 loop ble; se num <= 1000, voltar a 'loop' halt; final do programa. parar de correr
Uma vez disse para executar este programa, o computador irá executar a tarefa adição repetida sem intervenção humana. Será quase nunca cometer um erro e um PC moderno pode concluir a tarefa em cerca de um milionésimo de um segundo [16].
No entanto, os computadores não podem "pensar" por si mesmos, no sentido de que eles só resolver os problemas exatamente da forma como eles são programados. Um homem inteligente diante da tarefa acima disso logo pôde perceber que na verdade, em vez de somar todos os números de um pode simplesmente usar a equação

    
1 +2 +3 +...+ n = ((n (n +1)) \ over 2)
e chegar à resposta correta (500.500) com pouco trabalho. [17] Em outras palavras, um computador programado para somar os números um por um, como no exemplo acima seria fazer exatamente isso sem levar em conta a eficiência ou soluções alternativas. Programas


Nenhum comentário:

Postar um comentário