28.02.2023 Views

Logica_de_Programacao_3_Edicao_Livro

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

6 Lógíca de programação

• acionar o interruptor;

• subir na escada;

• retirar a lâmpada queimada;

• co 1 ocar a 1 âmpada nova;

• se a lâmpada não acender, então

• retirar a lâmpada queimada;

• colocar outra lâmpada nova;

• se a lâmpada não acender, então

• retirar a lâmpada queimada;

• colocar outra lâmpada nova;

• se a lâmpada não acender, então

• retirar a 1 âmpada queima da;

• colocar outra lâmpada nova;

Até quando?

Notamos que o Algoritmo 1.4 11ão está ter1nh1ado, falta especificar até quando será feito

o teste da lâmpada. As ações cessarão quando conseguir1nos colocar uma lâmpada que acenda;

caso contrátio, ficarernos testando indefinidamente (note que o inter1,.1ptor continua

acionado!). Essa solução está rnais próxilna do objetivo, pois garante que a lâmpada acenda

novamente, ou 1nelhor, que seja trocada com êxito, porém, ternos o problema de não sabei·

o nún1ero exato de testes das lâmpadas.

Observen1os que o teste da lân1pada nova é efetuado por u1n 1nesn10 co1tjunto de ações:

• se a lâmpada não acender, então

• retirar a lâmpada queimada;

• colocar uma lâmpada nova.

Portanto, e1n vez de reescrevermos várias vezes esse co1tjunto de ações, podemos alterar o

fluxo seqüencial de execução de for1na que, após executada a ação co 1 ocar outra 1 âmpada

nova, voltemos a executar o teste se a 1 âmpada não acender, fazendo co1n que essas ações

seja1n executadas o número de vezes necessário se1n termos de reescrevê-las.

Precisamos, então, expressar essa repetição da ação sen1 repetir o texto que representa a

ação, assim con10 determinar u1n li1nite para tal repetição, com o objetivo de garantir uma

condição de parada, ou seja, que seja cessada a atividade de testar a lâ1npada nova quando

ela já estiver acesa. U1na solução seria:

• enquanto a lâmpada não acender, faça

• retirar a lâmpada queimada;

• colocar uma lâmpada nova.

A condição 1 âmpada não acender permaneceu e estabelecemos um fluxo repetitivo que

será finalizado assim que a condição de parada for falsa, ou seja, assirn que a lân1pada acender.

Perceben1os que o número de repetições é indefinido, porém é finito, e que depende

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!