Mudanças entre as edições de "Pensamento Computacional - Comandos de repetição no Java: while()"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 83: Linha 83:
 
  }  
 
  }  
  
=Exemplo 1==
+
=Exemplo 1=
  
 
Elaborar um programa java para calcular a média de N alunos de uma turma. Será fornecido para cada aluno a nota final.
 
Elaborar um programa java para calcular a média de N alunos de uma turma. Será fornecido para cada aluno a nota final.

Edição das 16h45min de 22 de setembro de 2023

Objetivos da Aula

Após esta aula o aluno deverá:*conhecer a sintaxe e a semântica do comandos de repetição while();*mapear estruturas simples de repetição especificadas em fluxogramas ou pseudo-código em estruturas em linguagem C.

Comando while()

A sintaxe do comando while() é:

while ( expressao ) 
    instrução

onde a a instrução pode ser:

    instrução simples terminada em ';'
ou
    bloco de instruções com chaves

O comando while permite implementar loops com controle no início.

A semântica do while é a seguinte: ao entrar no comando a EXPRESSÃO entre parênteses é AVALIADA. Caso resulte em uma valor VERDADEIRO o LAÇO do loop é executado uma vez. O programa testa então novamente a expressão. LEMBRAR que:

  • VERDADEIRO é o valor true de uma expressão booleana;
  • DENTRO do laço NORMALMENTE existe uma modificação de alguma parte da expressão de teste de forma que em algum momento o LOOP se encerra.
  • Ao se encerrar o programa continua na próxima instrução APÓS o comando "while()";
  • ANTES DE entrar no comando while SEMPRE tenha certeza que as variáveis estão com valores adequados de forma que a expressão SEJA AVALIADA sempre corretamente.

No exemplo que se segue existe UMA única instrução simples (terminada em ";").

public class contador {
    public static void main(String[] args) {
        int contador;
  
        contador=0;
        while (contador<5)     
           contador=contador+1;
        System.out.println("valor do contador =  " +  contador);        
    }
}

OBSERVE a seguir uma variação do exemplo anterior usando um bloco de instruções delimitado por "{" e "}"

public class contador {
    public static void main(String[] args) {
        int contador;
  
        contador=0;
        while (contador<5)  {  
            System.out.println("valor da expressão  contador < 5 é " +  (contador<5) );
            System.out.println("valor do contador =  " +  contador);
            contador=contador+1;
        }
        System.out.println("SAIU DO LOOP: valor da expressão  contador < 5 é " +  (contador<5) );        
        System.out.println("APÓS o while o valor do contador é  " +  contador);        
    }
}
Notar que a expressão contador<5 assume valor 0 (falso) e 1 (verdadeiro).

A estrutura do comando, informalmente, é:

while (expressão)
  instrução_simples;

ou

while (expressão) {
  lista_de_instruções
} 

Exemplo 1

Elaborar um programa java para calcular a média de N alunos de uma turma. Será fornecido para cada aluno a nota final.

DADOS DE ENTRADA: Valor N (número de alunos). Um valor inteiro.

                 Valor da nota final para cada alunos. Um valor real.

DADOS DE SAÍDA: média calculada da turma.

import java.util.Scanner;

public class MediaTurma {
    public static void main(String[] args) {
        Scanner teclado = new Scanner(System.in);
        float mediaFinal, notaAluno, soma_ac;
        int numN, i;

        System.out.println("Entre com a quantidade de alunos da turma");
        numN = teclado.nextInt();

        soma_ac = 0;
        i = 0;
        while( i < numN ) {
            System.out.println("Entre com a nota do aluno " + (i + 1)  );
            notaAluno = teclado.nextFloat();
            soma_ac = soma_ac + notaAluno;
            i = i + 1;
        }
        mediaFinal = soma_ac / numN;
        System.out.println("Media final é " +  mediaFinal);        
    }
}