quarta-feira, 3 de fevereiro de 2010

Comprar Hardware



Programas A década de 1970 cartões perfurados contendo uma linha de um programa FORTRAN. A carta diz: "Z (1) = Y + W (1)" e é rotulado de "PROJ039" para fins de identificação.
Em termos práticos, um programa de computador pode ser executado a partir de apenas algumas instruções para muitos milhões de instruções, como em um programa para um processador de texto ou um navegador da web. Um computador moderno típico pode executar milhões de instruções por gigahertz (GHz ou segundo) e raramente comete um erro ao longo de muitos anos de operação. Grandes programas de computador que consiste de vários milhões de instruções pode levar as equipes de programadores anos para escrever, e devido à complexidade da tarefa quase certamente conter erros.
Erros em programas de computador são chamados de "bugs". Bugs podem ser benignos e não afetam a utilidade do programa, ou têm apenas efeitos sutis. Mas em alguns casos eles podem causar o programa para "travar" tornar-se insensível à entrada, como cliques do mouse ou as teclas digitadas, ou completamente falhar ou "crash". Caso contrário bugs benigna pode, por vezes podem ser aproveitadas para a intenção maliciosa por um usuário sem escrúpulos escrever uma "proeza" código projetado para aproveitar de um erro e perturbar a boa execução de um programa. Erros são normalmente não é culpa do computador. Desde que os computadores apenas executar as instruções que são dadas, os erros são quase sempre o resultado de erro do programador ou um descuido fez na concepção do programa [18].
Na maioria dos computadores, instruções individuais são armazenadas como código de máquina, com cada instrução a ser dada um número único (o seu código de operação ou opcode para o short). O comando para somar dois números teria um código de operação, o comando para multiplicá-las teria um opcode diferentes e assim por diante. Os computadores mais simples são capazes de realizar quaisquer de um punhado de instruções diferentes, os computadores mais complexos têm várias centenas por onde escolher, cada um com um código numérico único. Como a memória do computador é capaz de armazenar números, ele também pode armazenar os códigos de instrução. Isto leva ao fato de que importantes programas inteiros (que são apenas listas de instruções) podem ser representados como listas de números e pode-se ser manipulado dentro do computador os dados tal como se fossem numéricos. O conceito fundamental de armazenar programas na memória do computador juntamente com os dados que eles operam é o cerne da von Neumann, ou armazenadas programa, arquitetura. Em alguns casos, um computador pode armazenar a totalidade ou parte de seu programa na memória que é mantida separada dos dados que opera. Isso é chamado de arquitetura de Harvard, após o Harvard Mark I computador. Os computadores modernos von Neumann mostrar alguns traços da arquitetura de Harvard, em seus projetos, como em caches de CPU.
Embora seja possível escrever programas de computador como uma longa lista de números (linguagem de máquina) e esta técnica foi usada com muitos computadores antigos [19], que é extremamente entediante para fazê-lo em prática, especialmente para programas complicados. Em vez disso, cada instrução básica pode ser dado um nome curto que é indicativo da sua função e fácil de lembrar, como um mnemônico ADD, SUB, MULT ou saltar. Estes mnemônicos são conhecidas coletivamente como uma linguagem de montagem do computador. Convertendo programas escritos em linguagem de montagem em algo que o computador pode realmente entender (linguagem de máquina) é feito geralmente por um programa de computador chamado de assembler. Máquina de línguas e as línguas de montagem que os representam (em conjunto denominadas linguagens de programação de baixo nível) tendem a ser exclusivo para um determinado tipo de computador. Por exemplo, um computador de arquitetura ARM (como pode ser encontrado em um PDA ou um videogame de mão) não podem entender a linguagem de máquina de um processador Intel Pentium ou AMD Athlon 64 computador que pode estar em um PC [20].
Embora consideravelmente mais fácil do que em linguagem de máquina, escrever programas em linguagem assembly tempo muitas vezes é difícil e propenso a erros. Portanto, os programas mais complicados são escritos no mais alto nível abstrato linguagens de programação que são capazes de expressar as necessidades do programador mais conveniente (e, assim, ajudar a reduzir o erro de programação). Linguagens de alto nível são geralmente "compilado" em linguagem de máquina (ou às vezes em linguagem de montagem e, em seguida, em linguagem de máquina), utilizando um outro programa de computador chamado compilador. [21] Desde linguagens de alto nível são mais abstrato do que língua de conjunto, é possível usar compiladores diferentes para traduzir o programa mesma linguagem de alto nível para a linguagem de máquina de muitos tipos diferentes de computador. Isso faz parte dos meios pelos quais o software como jogos de vídeo podem ser disponibilizados para diferentes arquiteturas de computador, tais como computadores pessoais e vários consoles de videogame.
A tarefa de desenvolver grandes sistemas de software apresenta um desafio intelectual significativa. Produção de software com uma alta confiabilidade aceitável dentro de um cronograma e um orçamento previsíveis historicamente tem sido difícil, a disciplina acadêmica e profissional de engenharia de software concentra-se especificamente a este desafio. Exemplo Um semáforo vermelho mostrando
Suponha que um computador está sendo utilizado para operar um semáforo em um cruzamento entre duas ruas. O computador tem a seguinte três instruções básicas.

   
1. ON (StreetName, Color) acende a luz StreetName com uma cor especificada.
   
2. OFF (StreetName, Color) acende a luz StreetName com uma cor especificada fora.
   
3. WAIT (Segundos) espera um número Specifed de segundos.
   
4. START Inicia o programa
   
5. Informa o computador REPEAT para repetir uma determinada parte do programa em um loop.
Comentários estão marcadas com um / / na margem esquerda. Comentários em um programa de computador não afetam o funcionamento do programa. Eles não são avaliados pelo computador. Assuma a streetnames são Broadway e principal.


Nenhum comentário:

Postar um comentário