Um computador não inerentemente "sabe" se uma instrução é um programa. Ele conhece apenas sequências de instruções (código) em um idioma que ele entende (como código da máquina ou linguagem de montagem). Se essa sequência constitui um programa * é uma questão de interpretação e contexto.
Veja como o processo funciona:
1.
entrada: O computador recebe uma sequência de caracteres (suas instruções digitadas). Isso pode estar em uma linguagem de alto nível (como Python, Java, C ++) ou uma linguagem de baixo nível (montagem).
2.
Parsing/Compilação/Interpretação: O passo crucial. Um programa (compilador, intérprete ou assembler) analisa a entrada. Não entende diretamente o significado no sentido legível pelo homem, mas verifica:
*
Sintaxe: A sequência de caracteres está em conformidade com as regras gramaticais (sintaxe) da linguagem de programação? Caso contrário, relata erros de sintaxe.
*
Semântica: Mesmo que a sintaxe esteja correta, o programa verifica se as instruções fazem sentido lógico. Isso geralmente acontece durante a compilação ou em tempo de execução. Um programa semanticamente incorreto pode não travar, mas pode produzir resultados inesperados ou incorretos. Exemplo:Dividindo por zero.
3.
Tradução: Se a entrada passar a sintaxe e as verificações semânticas (ou pelo menos a verificação inicial da sintaxe), o programa a traduzirá para o código da máquina - o idioma que a CPU do computador entende diretamente (instruções binárias).
4.
Execução: A CPU executa as instruções do código da máquina sequencialmente (a menos que haja saltos, loops ou chamadas para outras funções). O computador não decide se é um "programa"; Simplesmente executa as instruções.
5.
saída/resultado: A execução produz alguma saída (por exemplo, texto, gráficos, uma alteração no conteúdo do arquivo). O * Significado * e se essa saída constitui a execução bem -sucedida de um "programa" é julgada pelo usuário humano com base em suas expectativas e no objetivo pretendido do programa.
Em suma, um computador apenas segue as instruções. Se uma coleção de instruções é um programa depende:
*
se está sintaticamente correto dentro do contexto de uma linguagem de programação.
*
se é semanticamente significativo (Faz o que pretende fazer?).
*
se atinge uma meta específica como pretendido pelo programador. Este é o aspecto do julgamento humano.
Uma única instrução, por si só, não é um programa. Um programa é um conjunto completo de instruções que, quando executadas, realiza uma tarefa. O computador apenas executa instruções; Cabe ao programador organizá -los em um programa.