Jump to content

[How to] Estruturas repetitivas, iterativas ou ciclos


Chuckytah
 Share

Recommended Posts

Olá, boa noite a todos.

Bem é o seguinte, eu já aprendi os ciclos todos nas aulas de aplicações informaticas, mas por vezes surge-me a duvida de qual ciclo aplicar para um dado algoritmo, como posso saber qual é o mais indicado? quais as principais diferenças e semelhanças entre eles? Os ciclos PARA podem ser sempre transformados em ciclo ENQUANTO e  REPETIR, e estes dois ultimos podem ser sempre convertidos para ciclos PARA? Obrigada pela ajuda.

Já agora tambem como posso saber quando devo usar uma estrutura CASO?

obigada^^

*^^*<3@Chuckytuh@<3*^^*

Link to comment
Share on other sites

Bem... posso-te dar algumas respostas a algumas das tuas questões.

Suponho que quando falas de:

  • PARA - Estás-te a referir a For
  • ENQUANTO - Estás-te a referir a While
  • CASO - Estás-te a referir a Case

Para saberes quando deves utilizar os ciclos While e/ou For penso que seja relativamente simples. Utiliza-se o ciclo For quando sabes quantos ciclos precisas fazer, por exemplo, queres escrever os números de 0 a 10, utilizas o ciclo For porque sabes que tens de começar em 0 (zero) e acabar em 10.

O ciclo While utiliza-se quando não sabes ao certo quantos ciclos vais precisar, por exemplo, imagina que querias que o programa fosse escrevendo números até que ocorre-se um evento qualquer (uma tecla fosse pressionada, uma variável ganha-se um valor especifico, etc...), então utilizas um ciclo While ou seja, "Enquanto não acontecer qualquer coisa, executa o seguinte..."

Nos Case, utilizam-se quando existem muitas condições a verificar e em vez de se utilizar ciclos If utiliza-se ciclos Case. Imagina que tens um programa com uma caixa de texto onde o utilizador coloca uma pergunta e em seguida o programa dá uma resposta, para não estares sempre a fazer:

Se "Pergunta = Esta ai?" Entao "Dá esta resposta"

Se Não Se "Pergunta = Tudo bem?l" Entao "Dá aquela resposta"

....

Para não estar constantemente com isto utiliza-se os ciclos Case

Um ciclo For pode ser substituído por um ciclo While penso que em qualquer situação, mas penso que o contrário não acontece ou pelo menos eu não estou a ver nenhuma situação em que isso aconteça. Por exemplo no exemplo dos números de 0 a 10, com o ciclo For basta dares o inicio e o fim e ele "faz o resto":

For Variavel = 0 to 10

    .....

Isto pode ser substituido pelo ciclo While da seguinte forma:

While Variavel < 10

    variavel = variavel + 1

O que acontece é que enquanto a "variavel" for menor que 10 vai incrementando 1 valor na variável, isto substitui o exemplo a cima descrito com o ciclo For, mas se tivermos um um ciclo While que esteja a verificar quando uma variável toma uma valor especifico (no exemplo será o valor 1):

While variavel <> 1

  .....

Isto não pode ser substituído por um ciclo For porque no ciclo For não verificamos condições.

Espero ter ajudado e não confundido mais, Isto são apenas algumas regras, o que não quer dizer que não se possa fazer de outra forma e/ou utilizar os ciclos de outras formas.

Se estiver enganado em alguma das explicações corrijam-me  👍

Cumps

Link to comment
Share on other sites

okis ^^ mas aobrigada pela ajuda, axo k o REPETIR so difere do ENQUANTO porque a condição em vex de estar no inicio está no fim, o  k ker dixer k o programa é obrigado a executar todas as instruções pelo menos uma vez pois a condição so é avaliada no final. bem vou estudar mais um bocado,lol obrigada ^^

*^^*<3@Chuckytuh@<3*^^*

Link to comment
Share on other sites

O repetir usas quando quiseres que o programa entre pelo menos uma vez dentro do ciclo.

É um repeat.. until em Pascal ou um do.. loop while em vb.net.

Imagina que queres fazer um menu. (daqueles mais foleiros vistos em consola, com as opções (1,2,3,4,5.. 0 para sair)

O teu objectivo é que ele entre pelo menos uma vez no menu.

repeat

...

until opcao diferente de 0

Um aparte.

Em C um for é como que um "for while" e podes transformar qualquer for em while e qualquer while em for. Nas outras linguagens isto não acontece.

Atenção que o "CASO" não é uma estrutura repetitiva, não sei se quiseste dizer isso no teu post, não percebi muito bem, mas não é, tiram-se já as dúvidas.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.