Mudanças entre as edições de "Pensamento Computacional - Comandos de repetição no Java: do while() e for()"
Linha 57: | Linha 57: | ||
No exemplo de entrada de dados, poderia ser necessário colocar uma mensagem de que foi fornecido um dado negativo ou zero. Acrescente um código para esta mensagem. | No exemplo de entrada de dados, poderia ser necessário colocar uma mensagem de que foi fornecido um dado negativo ou zero. Acrescente um código para esta mensagem. | ||
− | |||
− | |||
=Comando ''for()''= | =Comando ''for()''= |
Edição das 18h57min de 6 de outubro de 2023
Objetivos
Comando do while()
Em muitas situações é mais interessante que o controle de execução do loop seja realizado no final da estrutura de repetição, ou seja, as instruções do laço do loop serão realizadas pelo menos uma vez, independente da condição de repetição. Neste caso, aplica-se o comando do while().
Sintaxe e Semântica do 'comando do while()'
O comando 'do while' apresenta a seguinte sintaxe:
do
instrução
while ( expressao )
onde a a instrução pode ser:
instrução simples terminada em ';'
ou
bloco de instruções com chaves
Inicialmente, a instrução/bloco é executada e então a expressão é avaliada. Se verdadeira, a instrução é executada novamente e a expressão avaliada novamente.
Exemplo 1 - Validação de Entrada de dados
Suponha que um programa deve ler um número inteiro mas que seja positivo. Neste caso, o dado deve ser lido e se não positivo uma nova leitura deverá ser realizada.
import java.util.Scanner;
public class EntradaDados {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
int dadoInteiro;
do {
System.out.println("Entre com um valor inteiro e positivo");
dadoInteiro = teclado.nextInt();
} while( dadoInteiro <= 0 );
System.out.println("Valor lido é " + dadoInteiro);
}
}
Deve ser observado que duas instruções estão sob controle do comando "do while" e, portanto, é necessário usar um bloco.
Ao executar o programa, o bloco é executado independente da condicão no while.
Exercício 1
No exemplo de entrada de dados, poderia ser necessário colocar uma mensagem de que foi fornecido um dado negativo ou zero. Acrescente um código para esta mensagem.
Comando for()
O comando for() permite uma forma mais elaborada de loop, com controle no início do bloco de repetição.
#include <stdio.h>
main()
{
int i;
for ( i=0; i<10; i=i+1 )
printf("i =%d\n",i);
}
A estrutura do comando é:
for(expressão_inicial;expressão_de_controle; expressão_de_final_de _bloco) instrução_simples;
ou
for(expressão_inicial;expressão_de_controle; expressão_de_final_de _bloco) { lista_de_instruções }
Exemplo
Elaborar um programa que lê um número inteiro e imprime todos os números pares entre 1 e este número INCLUSIVE.
#include <stdio.h>
int main()
{
int i, N;
printf("Entre com o número\n");
scanf ("%d", &N);
for ( i=1; i<=N; i=i+1) {
if (i%2==0)
printf("número par ====> %d\n", i);
}
printf("FIM\n");
return 0;
}