Estruturas de Controle – ENQUANTO...FAÇA – Repetição controlada por contador 1

Hoje veremos nossa primeira estrutura de repetição controlada por contador. Mas o que significa isso??? È simples!!! As estruturas de repetição são estruturas de comando que executam uma mesma ordem repetidas vezes até que alguma condição (normalmente numérica e expressa pelo contador ) seja satisfeita para que ela saia da repetição. Vamos dar um exemplo. Se você quiser somar dez números, você não precisa digitar dezenas de linhas de comando. Basta fazer um conjunto de instruções e com a estrutura de repetição, fazer que estas instruções sejam repetidas dez vezes. Para verificar as dez vezes você usa o contador:

Enquanto o contador for menor que 10 faça
           
            Digite um numero
            Armazena o numero na variável numero
            Soma = soma + numero
            Contador = contador + 1

Visualizar o resultado
Fim do programa

Toda vez que o programa executar a instrução, um numero é aumentado no contador. Quando o contador atingir 10, a soma é visualizada e o programa é encerrado.

A estrutura de controle utilizada será o Enquanto...Faça. A expressão java para esta estrutura é:

                        while (condição a ser satisfeita) {

                                   instruções a serem repetidas;

                                   }


O programa  que montei para demonstração calcula o fatorial de um número. Fatorial é uma função matemática em que um numero é o produto de todos os seus antecessores. Ex:

Fatorial de 6 é expresso desta forma : 6! = 6*5*4*3*2*1=720

Vamos montar nosso programa:

1 - Para iniciar o programa vamos abrir o NetBeans, depois vamos em arquivos / Novo projeto
2 - No assistente de Novo Projeto, clique em geral na janela categoria e escolha Aplicação Java na janela Projetos. Clique em próximo.
3 – Continuando no assistente,
            - em Nome do Projeto coloque Fatorial App,
            - em Criar Classe Principal coloque fatorialapp.FatorialApp
            - deixar o chekbox Definir como Projeto Principal selecionado
            - em Localização do Projeto coloque C:\Java\Aulas\Aula9
4 – Clique em finalizar.
.
5 – Apague tudo o que estiver escrito na janela de edição de código e digite o código abaixo. Os números das linhas não devem ser digitados pois servem apenas de orientação.

 

Linhas - Código

1    /*
2    * FatorialApp.java
3    * Created on 8 de Maio de 2008, 23:05
4    */

5    package fatorialapp;
6    import java.util.Scanner;
7    import java.lang.String;
8    /**
9    * @author Rogerio
10             */

11 public class FatorialApp {
   
12        public static void main(String[] args) {
         
13         Scanner input = new Scanner( System.in );  //cria um scanner para obter                  os numeros digitados
        
14         int a,fatorial;    // declaração das variaveis do tipo inteiro
            
15         System.out.println("Insira o número que você quer calcular o fatorial.");                     //solicita que o usuario insira um numero para o calculo do fatorial

16         a=input.nextInt();  // captura um numero e o armazena na variavel
        
17        fatorial=1;   //inicia a variavel fatorial
               
18         while (a >=1){  //inicia a estrutura de controle enquanto
            
19             fatorial = fatorial*a;   //operações aritmeticas para o calculo do fatorial
           
20             a=a-1; 
          
 21              }  // encerra a estrutura de controle enquanto
        
 22        System.out.println("O fatorial é "+fatorial);   // demonstra o resultado na                        tela
    
 23                 }
   
24 }

6 - Para compilar o arquivo escolha no menu superior Construir/Construir Projeto Principal

7 - Para executar o programa escolha no menu superior Executar/Executar Programa Principal

O resultado final deve ser o seguinte:

Vamos explicar o código acima:

Linhas 1 a 4 e 8 a 10  são apenas comentários sobre o programa

Linha 5 cria o pacote fatorialapp

Linhas 6 e 7 importam duas classes para utilizarmos suas funções
      - A classe Java.util.Scanner que já é conhecida e permite inserirmos dados no programa via teclado
      - A classe java.lang.Integer que permite que os dados inseridos sejam lidos como números inteiros já que trabalharemos só com números inteiros.

 

Linha 11- cria a classe publica FatorialApp

Linha 12 – Inicia o método main ( ver aulas anteriores  )

Linha 13 - importa a classe útil.scanner que abre um terminal no fim do prompt para inserirmos dados.

Linha 14 – Declaramos as variáveis como int já que os números serão inteiros

Linhas 15 – Apenas linhas de texto para explicar ao usuário o q fazer

Linha 16 - o comando input.nextInt() captura o número digitado e o armazena na respectiva variável. Usamos números inteiros pois só se pode calcular fatorial de números inteiros.

Linha 17 – Atribui um valor a variável fatorial para que na equação algébrica, dentro da repetição, ela tenha um valor inicial. (caso contrário não tem como o computador resolver a expressão pois ele não sabe o valor da variável fatorial)

Linha 18 – Estrutura de controle enquanto

Linha 19 – procedimento (expressão algébrica)

Linha 20 – diminui um no contador visando controlar as repetições

Linha 21 -  finalisa a estrutura de controle

Linha 22 – Demonstra o resultado na tela

Linha 23 – Finaliza a método main

Linha 24 – Finaliza a classe

Neste programa trabalhamos com uma condição regressiva, ou seja, o contador vai diminuindo até que a condição (ser maior ou igual a 1) seja satisfeita. Há a necessidade de colocar o sinal maior pois se utilizarmos apenas o sinal igual, a linguagem entenderia que a variável a é igual a 1 (atribuiria o valor de 1 para a variável a), e se colocassemos o sinal de menor o programa sairia da condição já que 4 é maior que 1 e não menor.

A idéia deste programa é trabalhar com a estrutura while de maneira simples. Analise bem a estrutura e sua forma de escrita. Observe a maneira como é testada a condição.

-Um recuo na margem quando se escreve o código dos procedimentos não é obrigatório mas torna o código mais legível e é praticado por quase todos programadores.

- Toda instrução java deve ser finalizada com ponto e virgula.

- N ão se deve colocar vírgula depois da condição nas estruturas while
 

Lembre – se que Java é Case-Sensitive, isto é, diferencia as letras maiúsculas das minúsculas.

Há varias maneiras de escrever este programa e chegar ao mesmo resultado. O objetivo principal deste programa foi demonstrar a utilização de estrutura de repetição while, e também se familiarizar com alguns comandos básicos de Java.

Ao fim desta aula você deve saber :;
- estrutura de controle Enquanto/Faça
- o uso da classe útil.Scanner

Espero que tenham gostado !

 

Referência: http://java.sun.com/docs/books/tutorial/getStarted/cupojava/netbeans.html

Java – Como programar – Deitel – Quarta edição

 
 
I
I