Você está na página 1de 5

E.E.E.

Tecnolgica do Estado do Par Francisco de Azevedo-Cacau Disciplina: Linguagem de Programao Professor: Reno Nooblath

Instrues de Seleo em Java (Lembrete) O Java contm trs tipos de instrues de seleo j estudadas na apostila anterior. A instruo If realiza uma ao (seleciona) se uma condio for verdadeira ou pula a ao se a condio for falsa. A instruo if....else realiza uma ao se uma condio for verdadeira e realiza uma ao diferente se a condio for falsa. A instruo de seleo switch realiza uma de muitas diferentes, dependendo do valor de uma expresso. A instruo If uma instruo de seleo nica porque seleciona ou ignora uma nica ao (ou como veremos a seguir, um nico grupo de aes). A instruo if...else chamada instruo de seleo dupla porque seleciona entre duas diferentes (ou grupo de aes). A instruo switch chamada de instruo de seleo mltipla pois seleciona entre muitas aes diferentes (ou grupos de aes). Instrues de Repetio em Java O Java fornece trs instrues de repetio (tambm chamadas instrues de loop) que permitem que programas executem instrues repetidamente contanto que uma condio (chamada condio de continuao do loop) permanea verdadeira. As instrues while e for realizam a ao (ou grupo de aes) no seu corpo zero ou mais vezes - se a condio de continuao de loop for inicialmente falsa, a ao ou (grupo de aes) no ser executada. A instruo do...while realiza a ao (ou grupo de aes) no seu corpo uma ou mais vezes. As palavras if,else,switch,while, do e for so palavras-chave Java. A Instruo de Repetio While Uma instruo de repetio (ou um loop) permite especificar que um programa deve repetir uma ao enquanto alguma condio permanece verdadeira. A instruo do pseudocdigo Enquanto houver mais itens em minha lista de compras Compre o prximo item e risque-o da minha lista. Descreve a repetio que ocorre durante um passeio de compras. A condio enquanto houver mais itens em minha lista de compras pode ser verdadeira ou falsa. Se ela for verdadeira, ento a ao Compre o prximo item e risque-o de minha lista realizada. Essa ao ser realizada repetidamente enquanto a condio permanecer verdadeira. A(s) instruo (es) contida(s) na instruo de repetio While constitui (em) seu corpo, que pode ser uma instruo nica ou um bloco. Por fim, a condio se tornaria falsa (quando o ltimo item na lista de compras foi comprado e riscado da lista). Nesse ponto, a repetio termina e a primeira instruo depois da instruo de repetio executada. Como exemplo da instruo de repetio while do Java, considere um segmento de programa projetado para encontrar a primeira potncia de 3 maior que 100. Suponha que a varivel int produto tenha sido inicalizada como 3. Quando a instruo while seguinte terminar a execuo, produto conter o resultado: while (produto<=100) produto = 3* produto;

Apostila de Linguagem de Programao em Java Curso Tcnico em Informtica

Pgina | 1

E.E.E. Tecnolgica do Estado do Par Francisco de Azevedo-Cacau Disciplina: Linguagem de Programao Professor: Reno Nooblath

Quando essa instruo while inicia a execuo, o valor da varivel produto 3. Cada iterao da instruo while multiplica produto por 3, assim produto assume valores 9,27,81 e 243 sucessivamente. Quando a varivel produto torna-se 243, a condio da instruo while-produto<=100-torna-se falsa. Isso termina a repetio, portanto o valor final de produto 243. Nesse ponto, a execuo de programa continua com a prxima instruo depois da instruo while.

Erro comum de programao No fornecer, no corpo de uma instruo while, uma ao que conseqentemente faz com que a condio na while torne-se falsa normalmente resulta em um erro de Lgica chamado loop infinito (o loop nunca termina) Exemplo utilizando a instruo while. /** *Calcula a soma dos nmeros inteiros de 1 a 10 */ public class ExemploWhile { public static void main(String []Args) { int soma; int x; x=1;//inicializa x como 1 para contagem soma=0;//inicializa a soma como 0 para totalizao while (x<=10)//enquanto x menor ou igual a 10 { soma+=x;//adiciona x a soma ++x;//incrementa x }//fim do while System.out.printf("A soma :%d\n",+soma); }//fim de main }//fim da classe Formulando algoritmos: Repetio controlada por contador Uma classe de dez alunos se submeteu a um questionrio. As notas (inteiros no intervalo 0 a 100) desse questionrio esto disponveis. Determine a mdia da classe no questionrio. A mdia da classe igual a soma das notas divididas pelo nmero de alunos. O algoritmo para resolver esse problema em um computador deve inserir cada nota, armazenar o total de todas as notas inseridas, realizar o clculo da mdia e imprimi o resultado. Algoritmo em pseudocdigo com repetio controlada por contador Vamos usar pseudocdigo para listar as aes a executar e especificar a ordem em que elas devem ser executadas. Utilizamos repetio controlada por contador para inserir as notas uma por vez. Essa tcnica utiliza uma varivel chamada contador (ou varivel de controle) para controlar o nmero de vezes que um conjunto de Apostila de Linguagem de Programao em Java Curso Tcnico em Informtica Pgina | 2

E.E.E. Tecnolgica do Estado do Par Francisco de Azevedo-Cacau Disciplina: Linguagem de Programao Professor: Reno Nooblath

instrues ser executado. A repetio controlada por contador costuma ser chamada de repetio definida, porque o nmero de repeties conhecido antes de o loop comear a executar. Nesse exemplo, a repetio termina quando o contador excede 10. Esta seo apresenta um algoritmo de pseudocdigo totalmente desenvolvido e uma verso da classe Notaclasse que implementa o algoritmo em um mtodo Java. Apresentamos, em seguida, um aplicativo que executa o algoritmo em ao. Observe que as referncias no algoritmo a um total e um contador: Um total uma varivel utilizada para acumular a soma de vrios valores. Um contador uma varivel utilizada para contar- nesse caso, o contador de notas indica qual das 10 notas est em vias de ser inserida pelo usurio. Variveis utilizadas para armazenar totais normalmente so inicializadas como zero antes de serem utilizadas em um programa. 1.Configura o total como zero 2. Configura o contador de notas como um 3. 4. Enquanto contador de notas for menor ou igual a dez 5. Solicite para o usurio inserir a prxima nota 6. Insere a prxima nota 7. Adicione a nota ao total 8. Adicione um ao contador de notas 9. 10. Configure a mdia da classe como o total dividido por dez 11. Imprime a mdia da classe Implementando a repetio controlada por contador na classe Notaclasse A classe Notaclasse contm um construtor que atribui um valor varivel de instncia curso da classe. /**Classe Notaclasse que resolve o problema da * mdia da classe utilizando repetio controladal* por contador. */ import java.util.Scanner; public class Notaclasse { //public static void main(String[]args) //{ } private String curso;//nome do curso que esse Notaclasse representa //o construtor inicializa o curso public Notaclasse(String nome) { curso=nome;//inicializa curso }//fim do construtor //mtodo para configurar o nome do curso public void setCursoNome(String nome) { curso=nome;//armazena o nome do curso }//fim do mtodo setCursoNome //mtodo para recuperar o nome do curso public String getCursoNome() { return curso; Apostila de Linguagem de Programao em Java Curso Tcnico em Informtica Pgina | 3

E.E.E. Tecnolgica do Estado do Par Francisco de Azevedo-Cacau Disciplina: Linguagem de Programao Professor: Reno Nooblath

}//fim do mtodo getCursoNome //exibe uma mensagem de boas vindas ao usurio Notaclasse public void displayMessage() { //getCursoNome obtm o nome do curso System.out.printf("Bem vindo\n a classe que usa contador",getCursoNome()); }//fim do mtodo displayMessage //determina a mdia da classe com base em 10 notas inseridas public void determineClassAverage() { //cria Scanner para obter entrada da janela de comando Scanner input = new Scanner(System.in); int total;//soma das notas inseridas pelo usurio int notaContador;//nmero da nota a ser inserida a seguir int nota;//valor da nota inserida pelo usurio int media;//media das notas //fase de inicializao total = 0;//inicializa total notaContador=1;//inicializa o contador de loops //fase de processamento while (notaContador<=10)//faz o loop 10 vezes { System.out.print("Entre com a nota"); nota=input.nextInt();//insere a prxima nota total=total+nota;//adiciona nota a total notaContador=notaContador+1;//incrementa o contador por 1 }//fim do while //fase do trmino media=total/10;//diviso de ints produz um int //exibe o total e a mdia das notas System.out.printf("\nTotal das 10 notas %d\n", total); System.out.printf("\n A media das 10 notas %d\n", media); }//fim do mtodo determineClassAverage }//fim da classe

Apostila de Linguagem de Programao em Java Curso Tcnico em Informtica

Pgina | 4

E.E.E. Tecnolgica do Estado do Par Francisco de Azevedo-Cacau Disciplina: Linguagem de Programao Professor: Reno Nooblath

/**Cria o objeto da classe NotaClasse * e invoca seu mtodo */ public class TestaNotaClasse { public static void main(String[]args) { //cria o objeto da classe Notaclasse // e passa o nome de cursor para o construtor Notaclasse minhaNotaclasse = new Notaclasse( "Introduo a programao Java"); minhaNotaclasse.displayMessage();//exibe a mensagem bemvindo... minhaNotaclasse.determineClassAverage();//calcula a mdia das 10 notas }//fim de main }//fim da classe Exerccio para Prtica: Uma empresa de fornecimento de energia eltrica faz a leitura mensal dos medidores de consumo. Para cada consumidor, so digitados os seguintes dados: -nmero do consumidor, quantidade de kwh consumidos durante o ms, tipo(cdigo)do consumidor 1-residencial, preo em reais por kwh=0,3 2-comercial,preo em reais por kwh=0,5 3-industrial, preo em reais por kwh=0,7 Os dados devem ser lidos at que seja encontrado um consumidor com nmero 0 (zero). Calcular e imprimir: O custo total para cada consumidor O total de consumo para os trs tipos de consumidor A mdia de consumo dos tipos 1 e 2

Apostila de Linguagem de Programao em Java Curso Tcnico em Informtica

Pgina | 5

Você também pode gostar