Sim, você pode [re] escrever programas sem instruções de interrupção (ou retorna do meio dos loops, que fazem a mesma coisa). Mas pode ser necessário introduzir variáveis adicionais e / ou duplicação de código, as quais normalmente dificultam a compreensão do programa. Pascal (a linguagem de programação) era muito ruim, especialmente para programadores iniciantes por esse motivo. Seu chefe basicamente quer que você programe nas estruturas de controle de Pascal. Se Linus Torvalds estivesse no seu lugar, ele provavelmente mostraria ao seu chefe o dedo médio!
Existe um resultado de ciência da computação chamado hierarquia de estruturas de controle de Kosaraju, que remonta a 1973 e é mencionado no famoso artigo de Knuth (mais) sobre gotos de 1974. (Este artigo de Knuth já foi recomendado acima por David Thornley, a propósito) .) O que S. Rao Kosaraju provou em 1973 é que não é possível reescrever todos os programas com quebras de profundidade em vários níveis n em programas com profundidade de quebra menor que n sem a introdução de variáveis extras. Mas digamos que seja apenas um resultado puramente teórico. (Basta adicionar algumas variáveis extras ?! Certamente você pode fazer isso para agradar seu chefe ...)
O que é muito mais importante do ponto de vista da engenharia de software é um artigo mais recente de Eric S. Roberts, de 1995, intitulado Saídas em loop e programação estruturada: reabrindo o debate ( http://cs.stanford.edu/people/eroberts/papers/SIGCSE- 1995 / LoopExits.pdf ). Roberts resume vários estudos empíricos conduzidos por outros antes dele. Por exemplo, quando um grupo de estudantes do tipo CS101 foi convidado a escrever código para uma função que implementava uma pesquisa seqüencial em uma matriz, o autor do estudo disse o seguinte sobre os alunos que usaram um intervalo / retorno / ir para sair do o loop de pesquisa sequencial quando o elemento foi encontrado:
Ainda não encontrei uma pessoa que tentou um programa usando [esse estilo] que produziu uma solução incorreta.
Roberts também diz que:
Os alunos que tentaram resolver o problema sem usar um retorno explícito do loop for se saíram muito menos: apenas sete dos 42 alunos que tentaram essa estratégia conseguiram gerar soluções corretas. Esse número representa uma taxa de sucesso inferior a 20%.
Sim, você pode ser mais experiente do que os alunos do CS101, mas sem usar a instrução break (ou retornar / sair equivalentemente do meio dos loops), eventualmente você escreverá um código que, embora seja bem estruturado nominalmente, seja cabeludo o suficiente em termos de lógica extra variáveis e duplicação de código que alguém, provavelmente você mesmo, colocará erros de lógica ao tentar seguir o estilo de codificação do seu chefe.
Também vou dizer aqui que o artigo de Roberts é muito mais acessível para o programador médio, para uma leitura melhor do que a de Knuth. Também é mais curto e cobre um tópico mais restrito. Você provavelmente poderia até recomendar ao seu chefe, mesmo que ele seja o gerente e não o tipo de CS.