A diferença entre um algoritmo e um programa pode ser resumida da seguinte forma:
algoritmo: *
Definição: Um procedimento passo a passo e bem definido ou conjunto de instruções para resolver um problema específico ou realizar uma tarefa específica. É um plano lógico ou um plano.
*
foco: O "o que" para fazer. Ele descreve o método * ou * lógica * para resolver um problema.
*
Representação: Pode ser expresso de várias formas:
* Linguagem natural (como inglês)
* Pseudocode (código informal e legível pelo homem)
* Fluxogramas (diagramas)
* Notação matemática
*
executável? Não. Um algoritmo é conceitual. Não é algo que você possa executar diretamente em um computador.
*
Abstração: Mais abstrato. Ele se concentra nas etapas centrais da solução sem se preocupar com a sintaxe de linguagem de programação específica ou detalhes de hardware.
*
Exemplo: * algoritmo
para encontrar o maior número em uma lista: 1. Suponha que o primeiro número da lista seja o maior.
2. Itera pelo restante da lista.
3. Para cada número, compare -o com o atual "maior".
4. Se o número atual for maior, atualize "Maior".
5. Depois de itentar toda a lista, "Maior" é o resultado.
Programa: *
Definição: Uma implementação concreta de um algoritmo em uma linguagem de programação específica (por exemplo, Python, Java, C ++). É um conjunto de instruções que um computador pode entender e executar.
*
foco: O "como" fazer isso. Ele descreve as etapas * exatas * a serem tomadas, usando a sintaxe e a semântica de uma linguagem de programação.
*
Representação: Escrito em uma linguagem de programação específica.
*
executável? Sim. Um programa é compilado (ou interpretado) no código da máquina que um computador pode executar.
*
Abstração: Menos abstrato. Ele lida com os detalhes específicos da linguagem de programação, bibliotecas e hardware.
*
Exemplo: *
Programa Python para encontrar o maior número em uma lista (implementando o algoritmo acima): `` `Python
def Find_lar Maior (números):
se não números:# lidera o caso de lista vazia
retornar nenhum
Maior =números [0]
para número em números:
Se número> maior:
Maior =número
retornar o maior
my_list =[10, 5, 20, 8, 15]
maior_number =find_largest (my_list)
print (f "O maior número é:{maior_number}")
`` `
Analogia: Pense assim:
* algoritmo
: Uma receita para um bolo. Ele descreve os ingredientes e as etapas a serem tomadas (misture, assar etc.).
*
Programa: O bolo real feito seguindo a receita e usando ferramentas e ingredientes de cozinha específicos.
Diferenças -chave em uma tabela: | Recurso | Algoritmo | Programa |
| ---------
|
Definição | Procedimento passo a passo de solução de problemas | Implementação de um algoritmo no código |
|
foco | O que fazer (lógica) | Como fazer isso (implementação) |
|
representação | Linguagem natural, pseudocódigo, fluxogramas | Código da linguagem de programação |
|
executável? | Não | Sim |
|
Abstração | Alto | Baixo |
|
dependência | Idioma independente | Idioma dependente |
em resumo: Um algoritmo é a * idéia * ou o * plano * para resolver um problema. Um programa é a * realização concreta * desse plano, escrito em um idioma específico que um computador pode entender e executar. Você precisa de um algoritmo antes de escrever um programa para implementá -lo.