300x250 AD TOP

Blogger news

AD (728x90)

Tecnologia do Blogger.

Colaboradores

Seguidores

Postagens populares

Tagged under:

Linguagem C - Laço de Repetição WHILE

·        


      LAÇO DE REPETIÇÃO - WHILE


Os laços de repetição permite que um conjunto de instruções seja repetido até que uma condição seja encontrada. A linguagem C suporta os mesmos tipos de laços que outras linguagens estruturadas modernas. Os laços em C são o for, o while e o do-while. Nesse post teremos como foco o Laço WHILE

Forma Geral:

while (condição){
comandos;
}

Condição pode ser qualquer expressão válida. O laço é repetido enquanto a condição for verdadeira. Quando a condição torna-se falsa, o controle do programa passa para a linha seguinte ao código do laço.
O exemplo a seguir mostra uma rotina de entrada pelo teclado que se
repete até que o caractere A seja digitado.

#include<stdio.h>
#include<conio.h>
main(){   
    char ch;
    ch = '\0';
   
    while (ch != 'A'){
           ch = getche();
    }
}

A princípio, a variável ch é inicializada com nulo. Como uma variável local, o seu valor é desconhecido quando a rotina quando o laço é executada. O laço while começa checando para ver se ch não é igual a A. Uma vez que ch foi inicializado como nulo de antemão, o teste é verdadeiro e o laço tem início.

Cada vez que uma tecla é pressionada, o teste se realiza novamente. Assim que um A é informado, a condição torna-se falsa, já que a variável ch é igual a A, e o laço encerra-se.

Assim como os laços for, os laços while verificam a condição do teste no início do laço, o que significa dizer que o código do laço pode não ser executado.
A variável ch teve de ser inicializada no exemplo anterior para prevenir de  acidentalmente conter um A. Como o teste condicional é feito no início do laço, o while é bom em situações em que se pode não querer que o laço seja  executado.
Isto elimina a necessidade de um teste condicional separado antes do laço.

Por exemplo, a função centraliza( ), no programa seguinte, usa um laço while para emitir o número correto de espaços para centralizar a linha em uma tela de oitenta colunas. Se tamanho é igual a zero, como é o correto se a linha a ser centralizada tiver 80 caracteres, o laço não é executado. Este programa usa outras duas funções chamadas gets( ) e strlen( ). A função gets( ) permite ler uma string diretamente do teclado; a função strlen( ) retorna o tamanho da string argumento. Esta última função está na biblioteca string.h.

#include <stdio.h>
#include <string.h>
#include <conio.h>

void centraliza (int tamanho) {
    tamanho = (80 - tamanho)/2;
    while (tamanho > 0){
          printf (" ");
          tamanho--;
    }
}

main(){
    char str[255];
    int tamanho;
   
    printf ("Insira uma string: ");
    gets (str);
   
    centraliza (strlen (str));
    printf (str);
   
    getche();
}

Não há, em absoluto, a necessidade de qualquer declaração no corpo do
laço while. Por exemplo.

while (ch = getche() != ‘A’);  

Simplesmente será repetido até que o caractere A seja digitado. Se você se sentir pouco confortável com a atribuição dentro da expressão condicional whilelembre-se de que o sinal de igual é somente um operador que especifica o valor do operando à sua direita.

Espero ter esclarecido algumas de suas duvidas, caso algumas tenha permanecido ou você tenha uma sugestão de nova postagem deixe um comentário.

Para dar continuidade aos posts sobre linguagem C, escolha um dos links abaixo:

“O dinheiro não pode comprar o amor, mas aumenta tuas possibilidades.”(Laurence Peter)

0 comentários:

Postar um comentário