Glossário de Introdução aos Algoritmos

Algoritmo
Sequência finita de instruções bem definidas e não ambíguas, cada uma das quais podendo ser executada mecanicamente em um período de tempo finito e com uma quantidade de esforço finita (retirei essa definição do material do curso, mas não sei qual o autor original). Um algoritmo pode ser escrito em linguagem natural (descrição narrativa), em pseudo código ou até na forma de diagramas (como fluxogramas). Compare com implementação. Supõe-se que um algoritmo não tenha todos os detalhes que são necessários numa implementação e portanto a produção de um algoritmo é a primeira etapa da produção de uma implementação. Quando se está aprendendo, tentar resolver um problema produzindo diretamente uma implementação é mais difícil e leva a erros com mais frequência.
Ambiente de desenvolvimento
É um programa ou mais frequentemente um conjunto de programas que permite escrever, editar, executar e depurar código fonte. Compare com compilador. Também chamado de IDE (Integrated Development Environment - Ambiente de Desenvolvimento Integrado). Os ambientes de desenvolvimento são quase sempre programas separados do compilador, na sua configuração especifica-se qual o compilador usado e esse outro programa será executado quando o usuário mandar compilar um código fonte. Assim, é normalmente possível usar compiladores diferentes num mesmo ambiente de desenvolvimento, portanto é errado dizer algo como "compilei com o Geany" porque Geany é um ambiente de desenvolvimento e não um compilador.
Biblioteca de programação
Conjunto de módulos implementados por terceiros que estendem o conjunto de comandos de uma linguagem de programação com o objetivo de facilitar o desenvolvimento de programas naquela linguagem. É comum simplificar o termo para "biblioteca".
Compilador
Programa que transforma código fonte em um programa executável. Compare com interpretador. Compare com ambiente de desenvolvimento.
Comportamento indefinido
É comportamento de um programa cujas saídas não dependem apenas das entradas, mas também de fatores externos ao programa. É erro de programação pois um programa que soma dois números, por exemplo, não pode às vezes dizer que 2+2=4 e às vezes dizer que 2+2=3524. Acontece em situações em que a especificação da linguagem não diz qual comportamento deve ser produzido por um compilador (e portanto cada um funciona de um jeito) ou simplesmente depende de valores não determinados. O exemplo mais simples é o uso de variáveis não inicializadas.
Entrada padrão de dados
É um fluxo de dados de onde as informações podem ser lidas. Veja o material específico.
Escopo
É o pedaço do código fonte em que um identificador está associado a um determinado elemento do programa, ou seja é a parte do texto em que aquele nome pode ser usado para se referir a tal elemento. Vale lembrar que elementos distintos podem ter o mesmo nome.
Implementação
Uma implementação é uma formulação concreta de um algoritmo abstrato, baseada em representações e estruturas de dados adequadas. É codificada em uma linguagem de programação específica. Pode ser chamada de programa em especial referindo-se ao código fonte de um programa. Uma implementação pode ser considerada um algoritmo, mas um algoritmo não pode ser considerado uma implementação, porque lhe faltam detalhes que realmente permitam o uso prático numa máquina.
Parâmetros comuns
São os parâmetros que ficam dentro dos parenteses: int Funcao(int a, double& b);
Parâmetro especial
É aquele parâmetro de retorno de uma função, que não tem nome: int Funcao(int a, double& b);
Saída padrão de dados
É um fluxo de dados onde podem ser escritas informações. Veja o material específico.
Vector
É o vetor que foi declarado com o tipo vector da biblioteca padrão vector, por exemplo: vector<int> vetor;
Vetor de C
É o vetor que foi declarado conforme definido na linguagem C, por exemplo: int vetor[100];

Esta página é mantida por Bruno Schneider