Encontram-se aqui: Como começar com o Editor de programas > Utilizar ciclos para repetir um grupo de comandos

Utilizar ciclos para repetir um grupo de comandos

Para repetir o mesmo grupo de comandos sucessivamente, utilize uma das estruturas circulares. Estão disponíveis vários tipos de ciclos. Cada tipo fornece uma forma diferebte para sair do ciclo, baseado num teste condicional.

Os comandos do ciclo ou relacionados com ciclos residem nos menus Controlo e Transferências do Editor de programas.

Quando inserir uma das estruturas circulares, o modelo é inserido no local do cursor. Pode iniciar a introdução dos comandos que serão executados no ciclo.

Ciclos For...EndFor

Um ciclo For...EndFor utiliza um contador para controlar o número de vezes que o ciclo é repetido. A sintaxe do comando For é:

Nota: O valor final pode ser inferior ao valor inicial, desde que o incremento seja negativo.

For variável, início, fim [, incremento]

 

À

Á

Â

Ã

À

Variável utilizada como um contador

Á

Valor do contador utilizado pela primeira vez For é executado

Â

Sai do ciclo quando a variável excede este valor

Ã

Adicionado ao contador nas vezes subsequentes For é executado (Se este valor opcional for omitido, o incremento é de 1.)

Quando For for executado, o valor da variável é comparado ao valor final. Se a variável não exceder end, o ciclo é executado; caso contrário, o controlo salta para o comando seguinte EndFor.

Nota: O comando For incrementa automaticamente a variável do contador para que a função ou o programa possa sair do ciclo após um determinado número de repetições.

No fim do ciclo (EndFor), o comando volta novamente ao comando For, em que a variável é incrementada e comparada com end.

Por exemplo:

For i,0,5,1

  Disp i  À

EndFor

Disp i  Á

À

Mostra 0, 1, 2, 3, 4 e 5.

Á

Mostra 6. Quando a variável incrementa para 6, o ciclo não é executado.

Nota: Pode declarar a variável do contador como local se não necessitar de ser guardada após a paragem do programa ou da função.

Ciclos While...EndWhile

Um ciclo While...EndWhile repete um bloco de comandos desde que uma condição especificada seja verdadeira. A sintaxe do comando While é:

Condição While

Quando executar While, a condição é avaliada. Se a condição for verdadeira, o ciclo é executado; caso contrário, o controlo salta para o comando seguinte EndWhile.

Nota: O comando While não muda automaticamente a condição. Tem de incluir comandos que permitam à função ou ao programa sair do ciclo.

No fim do ciclo (EndWhile), o controlo volta novamente para o comando While, em que a condição é reavaliada.

Para executar o ciclo pela primeira vez, a condição tem de começar por ser verdadeira.

Quaisquer variáveis referenciadas na condição têm de ser definidas antes do comando While. (Pode construir os valores para a função ou o programa, ou pode pedir ao utilizador para introduzir os valores.)
O ciclo tem de conter os comandos que alteram os valores na condição, eventualmente fazendo com que seja falsa. Caso contrário, a condição é sempre verdadeira e a função ou o programa não podem sair do ciclo (chamado um ciclo infinito).

Por exemplo:

0&x  À

While x<5

  Disp x  Á

  x+1&x  Â

EndWhile

Disp x  Ã

À

Define x inicialmente.

Á

Mostra 0, 1, 2, 3 e 4.

Â

Incrementa x.

Ã

Mostra 5. Quando x incrementa para 5, o ciclo não é executado.

Ciclos Loop...EndLoop

Um Loop...EndLoop cria um ciclo infinito, que é repetido indefinidamente. O comando Loop não tem qualquer argumento.

En geral, introduzem-se no ciclo comandos que lhe permitem sair do ciclo. Os comandos mais utilizados são: If, Exit, Goto e Lbl (etiqueta). Por exemplo:

0&x

Loop

  Disp x

  x+1&x

  If x>5  À

    Exit

EndLoop

Disp x  Á

À

Um comando If verifica a condição.

Á

Sai do ciclo e salta para aqui quando x incrementa para 6.

Nota: O comando Exit sai do ciclo actual.

Neste exemplo, o comando If pode estar em qualquer parte do ciclo.

Quando o comando If está:

O ciclo é:

No início do ciclo

Executado apenas se a condição for verdadeira.

No fim do ciclo

Executado pelo menos uma vez e repetido apenas se a condição for verdadeira.

O comando If pode também utilizar um comando Goto para transferir o controlo do programa para um comando Lbl (etiqueta) especificado.

Repetir um ciclo imediatamente

O comando Cycle transfere imediatamente o controlo do programa para a iteração seguinte de um ciclo (antes de a iteração actual estar completa). Este comando funciona com For...EndFor, While...EndWhile e Loop...EndLoop.

Ciclos Lbl e Goto

Apesar dos comandos Lbl (etiqueta) e Goto não serem especificamente comandos circulares, podem ser utilizados para criar um ciclo infinito. Por exemplo:

Tal como Loop...EndLoop, o ciclo deve conter comandos que permitem à função ou ao programa sair do ciclo.

 

© 2006 - 2016 Texas Instruments Incorporated