Saltar para o conteúdo
edumaterial.netMudar idioma

Voltar a Aplicações Informáticas B

Ciclos e condição de paragem

12.º anoPercurso edumaterial

O que vais aprender

  • Usar ciclos com invariante e critério de paragem observável.

Compreender

Num array de cinco posições indexadas desde zero, os índices válidos são 0 a 4. O ciclo de verificação das etiquetas deve começar em 0, avançar uma posição de cada vez e parar antes do índice 5. A condição «índice menor que comprimento» cobre as cinco etiquetas; «menor ou igual» tentaria aceder a uma sexta posição inexistente.

A lista de cinco etiquetas tem comprimento 5, mas o último índice é 4. Se a condição de continuação for índice menor que comprimento, a execução percorre cinco posições válidas. Menor ou igual acrescentaria uma sexta tentativa fora da lista. A atualização do índice deve ocorrer em todos os caminhos; caso contrário, uma etiqueta problemática pode prender o programa num ciclo infinito. A frase «A condição índice menor ou igual a cinco executa exatamente as cinco etiquetas disponíveis.» ultrapassa aquilo que foi demonstrado. Para a corrigir, é necessário traçar os valores numa tabela e testar também listas vazias antes de fechar o algoritmo. A decisão resulta da comparação entre o dado, o conceito e a condição que ficou por testar.

Para cinco etiquetas indexadas de 0 a 4, o ciclo deve começar em 0, aumentar uma unidade por volta e parar quando o índice alcançar 5. A condição índice < 5 visita todos os elementos sem tentar aceder à posição 5. O invariante pode ser: antes de cada volta, já foram examinadas exatamente as etiquetas de índices menores que o atual. Esse enunciado explica por que a contagem está completa na paragem, inclusive se a lista for vazia.

Exemplo resolvido

No ciclo da teoria que visita as cinco etiquetas de índices 0 a 4, conta quantos índices pares aparecem antes da paragem.

  1. Escrevo o traço do ciclo válido: 0, 1, 2, 3, 4; o valor 5 só serve para testar a paragem.
  2. Seleciono os índices divisíveis por dois no traço: 0, 2 e 4.
  3. Conto três visitas pares e confirmo que não li a posição 5, que estaria fora da lista.

O ciclo visita três índices pares, 0, 2 e 4, antes de terminar.

Atenção ao erro

A condição índice menor ou igual a cinco executa exatamente as cinco etiquetas disponíveis.

Cinco etiquetas vazias são verificadas em sequência, da primeira à última, sem uma sexta etiqueta.
Ilustrar iteração finita e condição de paragem.

Verifica agora

  1. Ver a ilustração

    Que índices visita o ciclo correto e qual é o primeiro índice inválido?

    Ver solução explicada

    Resposta: Visita 0, 1, 2, 3 e 4; o primeiro índice inválido é 5.

    Traça todas as iterações e identifica a fronteira.

  2. Ver a ilustração

    Um colega toma a seguinte conclusão como demonstrada: «A condição índice menor ou igual a cinco executa exatamente as cinco etiquetas disponíveis.». Localiza o salto e corrige a frase.

    Ver solução explicada

    Resposta: A conclusão excede o recorte. O ciclo precisa de índice inicial, atualização e limite; após verificar a etiqueta quatro deve terminar. Se o índice aumenta uma unidade por volta, cinco iterações cobrem exatamente 0, 1, 2, 3 e 4.

    Refuta a inferência com uma condição concreta do caso.

  3. Ver a ilustração

    Se forem adicionadas duas etiquetas ao contador, qual é o último índice válido e qual condição substitui índice < 5?

    Ver solução explicada

    Resposta: Com sete etiquetas, os índices válidos vão de 0 a 6; o ciclo deve usar índice < 7 e parar antes de tentar a posição 7.

    Recalcula o limite a partir do comprimento, sem usar o último índice como condição inclusiva errada.

  4. Ver a ilustração

    Indica o traço dos índices visitados e do primeiro valor de paragem para a lista original de cinco etiquetas.

    Ver solução explicada

    Resposta: O traço das visitas é 0, 1, 2, 3, 4; depois do incremento final o índice vale 5, a condição índice < 5 torna-se falsa e não há sexta leitura.

    Distingue visitas efetivas do valor usado apenas para terminar.

Alinhamento curricular e fontes