Zusammenfassung der Ressource
Comandos
Anmerkungen:
- Comandos são instruções do programa que tem o objetivo de atualizar as
variáveis ou controlar o fluxo de controle do programa. Comandos são
característicos de linguagens imperativas. De fato, o nome imperativo
advém da visão que programas nessas linguagens usam comandos para
determinar as computações a serem realizadas pelo computador. Em outras
palavras, a linguagem é imperativa porque os programas comandam o
computador.
- Tipos de Comandos
Anmerkungen:
- Comandos de LPs imperativas podem ser classificados de acordo com a
natureza da operação que realizam. Eles podem ser divididos nas seguintes
categorias fundamentais [WATT, 1990]: atribuições, comandos seqüenciais,
comandos colaterais, comandos condicionais, comandos iterativos,
chamadas de procedimento e comandos de desvio incondicional.
- Atribuições
Anmerkungen:
- Em sua forma geral, o comando de atribuição envolve o uso de um símbolo
que designa o comando, uma expressão que produz uma referência à
variável cujo valor será atualizado e uma expressão que produz como resultado
um valor a ser armazenado nessa variável
- Sequenciais
Anmerkungen:
- O modo mais comum de fluxo de controle existente em toda LP imperativa
é a composição seqüencial de comandos. O comando antecedente na
seqüencia é executado antes do subsequente. Normalmente, o conceito de
bloco é usado na implementação dos comandos seqüenciais. Nesses casos,
um bloco permite que uma série de comandos seqüenciais sejam abstraídos
em um único comando. O
- Colaterais
Anmerkungen:
- Esse tipo de comando é pouco comum em LPs imperativas. Nesses comandos
não existe uma ordem prévia para a execução dos comandos. No
exemplo seguinte as variáveis a e b são atualizadas independentemente e
a ordem de execução é irrelevante, isto é, o(s) processador(es) pode(m)
executar os dois comandos na ordem que for mais conveniente.
- Condicionais
Anmerkungen:
- Um comando condicional (também conhecido como comando de seleção)
permite a especificação de caminhos alternativos para o fluxo de controle
do programa. Ele possui um número de subcomandos dos quais exatamente
um é escolhido para ser executado.
- Seleção de Caminho Condicionado
Anmerkungen:
- Esse comando permite que um trecho de programa seja executado se determinada
condição é satisfeita.
- Seleção de Caminho Duplo
Anmerkungen:
- Esse comando permite que exista uma condição para a escolha entre dois
trechos alternativos de programa.
- Seleção de Caminhos Múltiplos
Anmerkungen:
- Esse comando permite que exista uma escolha entre várias alternativas de
execução do programa conforme o resultado de uma expressão.
- Iterativos
Anmerkungen:
- Um comando iterativo (também conhecido como comando de repeti-
ção ) permite a especificação de ciclos no fluxo de controle do programa.
Iterações são típicas de LPs imperativas. Um comando iterativo possui
um subcomando (o seu corpo) o qual é executado repetidamente até
que a satisfação de algum tipo de condição determine o seu fim.
- Número Indefinido de Repetiçõe
Anmerkungen:
- Esse comando é usado quando o número de iterações não é determinado
previamente. Em geral, existem 2 tipos desses comandos em LPs: um
com pré-teste e outro com pós-teste.
- Número Definido de Repetições
Anmerkungen:
- Esse comando é usado quando o número de iterações é determinado previamente.
Esse tipo de iteração é caracterizado pelo uso de uma variável
de controle. O corpo da repetição é executado com a variável de controle
assumindo cada valor de uma seqüência pré-determinada de valores.
- Chamadas de Procedimentos
Anmerkungen:
- Assim como chamadas de funções são expressões, chamadas de procedimentos
são comandos. Chamadas de procedimento têm por objetivo atualizar
variáveis. Isso é feito atualizando variáveis passadas pela lista de
parâmetros ou alterando o valor de variáveis não locais.
- Desvios Incondicionais
Anmerkungen:
- Todos os comandos listados até aqui exibem um fluxo de controle do tipo
entrada e saída única. Esse padrão é adequado para a maioria dos propósitos
e incentiva a construção de programas estruturados, mais fáceis de se
ler e de se manter. Contudo, em certas situações ele pode ser muito restritivo.
Existe consenso que comandos que permitem entrada única e saída múltipla
podem ser bastante úteis. Por outro lado, comando com entradas múltiplas
são verdadeiramente nocivos a programação estruturada e devem
ser evitados, senão proibidos.
- Desvios Irrestritos
Anmerkungen:
- Esse comando transfere a execução do programa para qualquer ponto especificado
através de um rótulo. O comando de desvio irrestrito (mais
conhecido como goto) confere um grande poder e flexibilidade ao programador.
De fato, todos os demais comandos de fluxo de controle podem
ser construídos a partir do goto e de uma operação de seleção.
- Escapes
Anmerkungen:
- Escapes são usados para permitir uma finalização diferente da usual em
um comando, subprograma ou programa. Comandos de escapes são desvios
incondicionais considerados estruturados, uma vez que só permitem
a realização de desvios disciplinados no fluxo de controle do programa.
Em contraste com os comandos de desvio irrestrito, eles não podem ser
usados para criar ou entrar em repetições, nem para desviar o fluxo de
controle para um local qualquer do programa.