Divagações...

quarta-feira, 24 de fevereiro de 2010

Algoritmo - Estrutura de repetição

Estruturas de repetição são criadas para que diversas instruções sejam executadas um derteminado número de vezes. Elas servem para implementar ações de modo a automatizar os comandos até que uma condição seja satisfeita. Há duas maneiras de construirmos nossas estruturas de repetição: sabendo a condição de parada previamente ou quando desconhecemos seus limites. Exemplificarei abaixo:

estrutura de repetição controlada por contador:
para i=1 ate f passo 1 faça
instrução 1;
instrução 2;
instrução n;
fim-para

i = valor do inicio do laço, isto é, laço inicia-se nesse valor e é incrementado de um até
atingir valor contido na variavel f.
f = valor final do laço, isto é, quando atingir esse valor laço se encerra.
passo 1 = incrementando de um, analogo a instrução i++ da linguagem C.

estrutura de repetição sem limite definido previamente (controlado por condição):
enquanto i <= j faça
{ conjunto de comandos }


No caso do enquanto, outra forma de escrevermos uma instrução de repetição, é preciso determinar quando o comando vai terminar. A condição i <= j nos diz que o laço será executado até que i seja menor ou igual a j, ou seja, um valor lógico falso será retornado ocasionando o término da iteratividade.



Estas estruturas são utéis na confecção de algoritmos mais poderosos pois permitem a repetição de instruções para calcular entradas grandes ou problemas que exigem implementar construções mais elaboradas. Exemplos de aplicações:

Fatorial
algoritmo fatorial
declare i, numero, result: inteiro;
result = 1;
escreva "Entre com o numero para calculo do fatorial: ";
leia numero;
para i = 1 ate numero passo 1 faça
result = result * i;
fim-para
escreva "O fatorial e", result;
fim-algoritmo

Somatorio
algoritmo soma
declare cond, numero, soma: inteiro;
cond = 1; // 1 representa valor lógico verdadeiro
soma = 0;
enquanto cond faça
escreva "Entre com numeros para somar ou zero para abortar: ";
leia numero;
soma = soma + numero;
cond=numero; //em caso de ser zero encerra o laço
fim-enquanto
escreva "A soma dos numeros e: ", soma;
fim-algoritmo


No algoritmo Fatorial a razão da utilização do laço para consiste na repetição da instrução result = result * i; até que o número do fatorial seja alcançado. Seria muito despendioso escrever um algoritmo sem tal estrutura.
No caso do algoritmo Somatorio o enquanto processa a soma até que a condição cond se torne falsa, ou seja, o valor fornecido pelo usuario seja 0 ocasionando o fim da execução.

2 comentários:

  1. Qual programa vc me recomendaria para criar programas com o algoritmo?

    ResponderExcluir
  2. vc pode programar em C ou C++ usando codeblocks, ou escolher uma linguagem de programação do seu interesse, como pascal, java, php, e instalar uma IDE com os recursos graficos de highlight e compilação. Daí vc deve conhecer a sintaxe da linguagem, seus comandos, pra começar a programar e implementar os algoritmos.

    ResponderExcluir