Categorias de loops 'for'


11

Lembro que uma vez lendo alguma pesquisa onde foram analisados um corpo de código C, e as conclusões foram que a grande maioria dos forcircuitos poderia ser categorizadas em cerca de cinco categorias, correspondentes aos equivalentes funcionais map, filter, fold, etc.

Não consigo mais encontrar este artigo / artigo. Alguém pode me apontar para isso?


3
Encontrei algo semelhante no estouro de pilha: stackoverflow.com/a/2647704/1009414 Talvez lá você encontre algumas informações sobre este artigo.
Thaven

1
homomorfismos, catamorfismos e anamorfismos etc. podem valer a pena um google, para loops que não estão nas listas
jk.

Respostas:


11

Essa não é uma correspondência exata para o que você estava solicitando, mas acho que fica bem próximo da raiz da sua pergunta.

A página deste site no Loops discute vários padrões de loop.

  • contando
  • contagem filtrada
  • acumular
  • acumulado filtrado
  • procurar
  • extremo
  • índice extremo
  • filtro
  • mapa
  • embaralhar
  • fundir
  • fossilizado
  • condição perdida

Eles também têm uma página sobre Recursão que abrange muitos dos mesmos padrões de maneira recursiva.


14
... Eu estava esperando loops "extremas" seria mais, bem, extremo ...;)
Izkata

0

Eu acho que ouvi isso também. Em algum lugar nos vídeos do SICP ou no livro, acho que ouvi dizer que a maioria (se não todos) dos programas / algoritmos pode ser expressa usando fluxos e filtros. O fluxo começa na aula 6A.

Quanto a todos os loops (por enquanto, do-while e assim por diante), todos são implementados com rótulo, comparação e salto condicional, de modo que são apenas açúcar sintático para facilitar a leitura e a compreensão.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.