Postado Outubro 23, 2016 (editado) Descobri hoje o code2flow, um site que permite gerar fluxogramas usando uma linguagem de programação simples. Fiz um fluxograma de como resolver o cubo, baixe o pdf: PDF -> http://code2flow.com/fhOaTl.pdf Codigo: Como resolver o cubo mágico; notacao: if (!Sabe a notação do cubo?) { F -> Camada da frente sentido horário F' -> Camada da frente sentido anti-horário B -> Camada de trás sentido horário B' -> Camada de trás sentido anti-horário R -> Camada da direita sentido horário R' -> Camada da direita sentido anti-horário L -> Camada da esquerda sentido horário L' -> Camada da esquerda sentido anti-horário D -> Camada de baixo sentido horário D' -> Camada de baixo sentido anti-horário U -> Camada de cima sentido horário U' -> Camada de cima sentido anti-horário; goto notacao; } else { embaralhado: if (!O cubo está embaralhado?) { Embaralhar; goto embaralhado; } else { Começar a resolver; cruz: if (!A cruz está resolvida?) { Resolva 4 meios de uma camada externa, formando uma cruz. (Esse passo envolve intuição); goto cruz; } else { Segure o cubo com a cruz apontando para baixo; cantos_resolvidos: if (!Todos os cantos da camada de baixo estão resolvidos?) { canto_camada_cima: if (!Ache um canto da camada de baixo na camada de cima) [Achei] { Ache o lugar que ele deve entrar e mova a camada de cima de modo que ele fique em cima desse lugar.; Segurando ele na direita, faça R U R' U' até resolver esse canto; goto cantos_resolvidos; } else [Não tem nenhum] { Ache um canto não resolvido na camada de baixo e segurando ele na direita faça R U R' U' uma vez; goto cantos_resolvidos; } } else { camada_meio: if (!A camada do meio está resolvida?) { if (Há um meio da camada do meio na camada de cima?) { Posicione o meio de maneira que o adesivo da camada da frente bata com o centro da respectiva camada.; Segure o meio na frente; Para onde ele precisa ir? Para a direita ou para a esquerda?; branch(Direita) [Direita] { Faça U R U' R' U' F' U F; goto camada_meio; } branch(Esquerda) [Esquerda] { Faça U' L' U L U F U' F'; goto camada_meio; } } else { Ache um meio que está posicionado em um lugar errado na camada do meio ou que está na posição correta porém virado.; Segure o meio na direita e deixe um meio da camada de cima na camada de cima na frente.; Faça U R U' R' U' F' U F; goto camada_meio; } } else { eoll: if (!Os quatro meios da camada de cima estão orientados?) { Os meios orientados formam:; l: branch(L) [Um L] { Deixe os meios orientados na esquerda e atrás; Faça -> F U R U' R' F'; goto eoll; } branch(Linha) [Uma linha] { Deixe os cantos orientados na esquerda e direita. Faça -> F R U R' U' F'; goto eoll; } branch(Ponto) [Um ponto] { Faça -> F R U R' U' F'; goto l; } } else { ocll: if (!Os quatro cantos da camada de cima estão orientados?) { Segurando a última camada embaixo faça "D" até que um canto desorientado fique na direita, então faça -> R U R' U' até orientar esse canto; goto ocll; } else { Segure a camada que falta resolver em cima; cantos: if (Olhe para os lados da última camada Existe um par de cantos da mesma cor em cada lado?) { uperm: Movimente a camada de cima até que os cantos resolvidos estejam em seus lugares.; meios_resolvidos: if (!Todos os meio estão resolvidos?) { Quantos faltam resolver?; tres_meios: branch(uperm) [Três] { Gire o cubo até o meio resolvido ficar atrás.; Para onde o meio da frente precisa ir?; branch (u_direita) [Direita] { Faça F2 U' R' L F2 R L' U' F2; goto meios_resolvidos; } branch (u_esquerda) [Esquerda] { Faça F2 U R' L F2 R L' U F2; goto meios_resolvidos; } } branch(hperm) [Quatro] { Faça F2 U' R' L F2 R L' U' F2; goto tres_meios; } } else { Você resolveu o cubo!!!; } } else { if (!Existe um par de cantos da mesma cor em um lado?) { Faça F2 R2 U' L2 U R2 U' L2 U F2; goto par_cantos; } else { par_cantos: Segure o par de cantos na direita.; Faça F2 R2 U' L2 U R2 U' L2 U F2; } goto cantos; } } } } } } } } Editado Outubro 23, 2016 por Filipe Teixeira 2 pessoas curtiram isso Compartilhar este post Link para o post Compartilhar em outros sites
Postado Outubro 24, 2016 O legal é que o site ensina intuitivamente a fazer a programação. O ruim é que se eu mostrar um fluxograma desses para alguém que me pedir pra ensinar, acho que a pessoa vai embora na hora . Mas ficou legal. Pra quem é organizado e gosta de resumos em fluxograma é uma boa pedida. 1 pessoa curtiu isso Compartilhar este post Link para o post Compartilhar em outros sites
Postado Outubro 24, 2016 14 horas atrás, Filipe Teixeira disse: PDF -> http://code2flow.com/fhOaTl.pdf hahaha show 1 pessoa curtiu isso Compartilhar este post Link para o post Compartilhar em outros sites
Postado Outubro 24, 2016 (editado) Em 24/10/2016 at 00:59, Antonio Bill disse: O ruim é que se eu mostrar um fluxograma desses para alguém que me pedir pra ensinar, acho que a pessoa vai embora na hora . hehe Eu pensei nisso também, mas aí tive a ideia de quebrar o fluxograma em etapas como cruz, cantos, meios, e ao ensinar alguém, não largar o fluxograma pra pessoa e deixar que ela se vire, mas usá-lo como um auxílio ao aprendizado. Editado Outubro 25, 2016 por Filipe Teixeira Compartilhar este post Link para o post Compartilhar em outros sites