Software  
 
Rede de conhecimento computador >> Software >> Produtividade de Software >> Content
Qual é a diferença entre um programa e um algoritmo, como eles contribuem para a execução de tarefas na ciência da computação?
Vamos dividir a diferença entre um programa e um algoritmo, e como eles trabalham juntos para executar tarefas na ciência da computação.

algoritmo

* Definição: Um algoritmo é um procedimento bem definido e passo a passo ou conjunto de instruções para resolver um problema específico ou realizar uma tarefa específica. É um plano lógico, um plano preciso. Pense nisso como uma receita para um computador seguir.

* características de um bom algoritmo:

* inequívocas: Cada passo é claro e tem apenas uma interpretação.
* finito: O algoritmo deve terminar após um número finito de etapas. Não pode continuar para sempre.
* eficaz: Cada etapa deve ser básica e factível em um tempo finito, usando os recursos disponíveis.
* Entrada: O algoritmo aceita zero ou mais entradas.
* saída: O algoritmo produz uma ou mais saídas.
* correção: Ele deve produzir o resultado correto para todas as entradas válidas.
* Eficiência: Deve usar recursos (tempo e memória) com eficiência.

* Exemplos:

* Pesquisando uma lista classificada para um número específico (por exemplo, pesquisa binária)
* Classificação de uma lista de nomes em ordem alfabética (por exemplo, classificação de mesclagem, Quicksort)
* Encontrando o caminho mais curto entre duas cidades em um mapa (por exemplo, algoritmo de Dijkstra)
* Calcular o fatorial de um número

* Representação: Os algoritmos podem ser expressos de várias maneiras:

* idioma natural: (por exemplo, inglês) menos preciso, mas compreensível.
* pseudocode: Uma notação mais estruturada e semelhante a um código é mais fácil de traduzir em código real. É uma mistura de linguagem natural e construções semelhantes a programação.
* fluxogramas: Representações gráficas usando símbolos para mostrar o fluxo de etapas.

programa

* Definição: Um programa é uma implementação concreta de um algoritmo em uma linguagem de programação específica. É o algoritmo traduzido em uma forma que um computador pode entender e executar. É o código real que você escreve.

* Relacionamento com algoritmos: Um programa * incorpora * um algoritmo. O algoritmo é a *idéia *, e o programa é a *realização *dessa idéia. Você pode ter vários programas que implementam o mesmo algoritmo, mas escritos em diferentes idiomas ou com diferentes estilos de codificação.

* Requisitos :

* Sintaxe: Ele deve seguir as regras gramaticais (sintaxe) da linguagem de programação.
* Semântica: Deve ter um significado definido (semântica) para que o computador saiba o que fazer em cada etapa.
* executável: Deve ser de uma forma que o processador do computador possa entender e executar (geralmente exigindo compilação ou interpretação).

* Exemplos:

* Um script python que usa o algoritmo do QuickSort para classificar uma lista de números.
* Um aplicativo Java que implementa o algoritmo de Dijkstra para encontrar a rota mais curta em um mapa.
* Um programa C ++ que calcula fatoriais.
* Uma função JavaScript que valida a entrada do formulário de um usuário.

como eles contribuem para a execução

1. Definição do problema: Primeiro, você identifica o problema que deseja resolver (por exemplo, "Classifique uma lista de números").

2. Design do algoritmo: Você projeta um algoritmo para resolver o problema. Isso envolve descobrir as etapas lógicas e sua ordem (por exemplo, escolher o Quicksort como o algoritmo).

3. Implementação do programa: Você traduz o algoritmo em um programa usando uma linguagem de programação (por exemplo, escreva um programa Python que implementa o QuickSort).

4. Compilação/Interpretação: O programa é então compilado (traduzido em código da máquina) ou interpretado (executado linha por linha) pelo computador.

5. Execução : O computador executa as instruções no programa, seguindo as etapas definidas pelo algoritmo, para produzir a saída desejada.

analogia

Pense em assar um bolo:

* algoritmo : A receita do bolo (as instruções)
* Programa: Você segue a receita, usando ingredientes e ferramentas, para realmente assar o bolo.

As diferenças de chave resumidas

| Recurso | Algoritmo | Programa |
| ---------------- | -------------------------------------------- | ---------------------------------------------- |
| Natureza | Resumo, conceitual, um plano lógico | Código concreto, executável |
| representação | Linguagem natural, pseudocódigo, fluxogramas | Linguagem de programação (por exemplo, Python, Java, C ++) |
| Execução | Não diretamente executável | Executável por um computador |
| foco | Lógica e etapas para resolver um problema | Implementação da lógica no código |

Em resumo, o algoritmo é o "O que" (o que precisa ser feito), e o programa é o "como" (como fazê -lo usando um idioma e computador específicos). Você não pode ter um programa de trabalho sem um algoritmo subjacente, e um algoritmo bem projetado é essencial para criar um programa eficiente e confiável.

Anterior :

Próximo :
  Os artigos relacionados
·Como a instalação de um arquivo de resposta EXE 
·Como formatar um gráfico Polygram 
·Como encontrar Desktop Widgets 
·Ferramentas de Processo Mapeamento de Negócios 
·Como adicionar um campo personalizado no Salesforce 
·Definição de controles Active X 
·Como Incorporar um JPG ou GIF em MHTML 
·Como atualizar o JDK 16 a 18 
·Como extrair contatos de um arquivo OST 
·Como desinstalar o Business Contact Manager 
  Artigos em destaque
·Como usar um calendário em MS Excel 2010 Células 
·Como encontrar um índice não utilizado no SQL Server 
·Como fazer um menu drop Down in Office 2007 Excel 
·Como usar o Audible Manager 
·Como fazer o download arquivos PDF gratuito 
·Como definir os nomes e valores de exportação no Acro…
·Como gravar um CD + G 
·Como adicionar Drives para o meu Windows 7 Media Center…
·Como ver como as músicas muitos estão no Windows Medi…
·O que é o Windows Movie Maker Ex? 
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados