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.
Declaração
É uma instrução que informa a existência (e geralmente também características) de algum elemento no código-fonte. Uma instrução não é parte das instruções do algoritmo, no sentido de que ela não está lá como parte da solução do problema, mas ela provavelmente vai induzir o compilador a produzir instruções de controle (como alocação de memória).
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.
Expressão
Em código fonte, uma expressão é um trecho que representa um valor por meio de processamento. Expressões podem conter valores (variáveis ou constantes), operadores e ativação de funções. Expressões são avaliadas (transformadas num valor) e o valor resultante é usado no lugar da expressão. Exemplos de expressões: 1 (constante simbólica), LIMITE+1 (LIMITE é uma constante e + é um operador), i (i é uma variável) e menor(fatorial(n+1), 720) (menor e fatorial são funções).
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.
Operador
É uma função com um nome especial, curto e no meio dos operandos. Por exemplo: + é um operador que recebe dois valores e retorna a soma deles. Se + fosse uma função normal, em vez de 2+3, teríamos que escrever algo como Soma(2, 3). O significado, porém, é o mesmo.
Operando
É um parâmetro de um operador. Geralmente, operadores têm dois operandos, chamados de operando direito e operando esquerdo. Por exemplo: na expressão 2*3+4, o operador + tem como operando esquerdo (o resultado de) 2*3 e como operando direito 4.
Parâmetros Comuns (parâmetros de entrada)
São os parâmetros que ficam dentro dos parenteses: int Funcao(int a, double& b);
Parâmetro de Retorno (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