Estrutura Condicional em Java



Documentos relacionados
insfcanceof new public switch transient while byte continue extends for int null

Aula 3 Desvio Condicional

Programação: Estruturas de seleção

9 Comandos condicionais

Java Como Programar, 8/E

INTRODUÇÃO À LINGUAGEM C++

Testando e Comparando Valores

Algoritmos e Programação

7. Estrutura de Decisão

JavaScript (ou JScript)

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1:

Conceitos básicos da linguagem C

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

3. INTRODUÇÃO À LINGUAGEM C 3.1. CONCEITOS BÁSICOS. Lógica de Programação

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

BC0501 Linguagens de Programação

ALP Algoritmos e Programação

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

Curso Java Starter. 1

Criar a classe Aula.java com o seguinte código: Compilar e Executar

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

LINGUAGEM C. Estrutura básica de um programa

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Aula 04 Operadores e Entrada de Dados. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

compreender a importância de cada estrutura de controle disponível na Linguagem C;

Vetores. Professor Dr Francisco Isidro Massettto

3. Estruturas de seleção

Roteiro 1: Dados, variáveis, operadores e precedência

Programação WEB I Estruturas de controle e repetição

Laboratório de Programação I

Comandos de repetição while

Variáveis e Comandos de Atribuição

A Linguagem Java. Alberto Costa Neto DComp - UFS

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas

Estruturas de Repetição

Apresentar os conceitos básicos e as estruturas de linguagem relacionadas à tomada de decisão ofertadas pela linguagem C, tais como:

Exercícios práticos - Folha 3

Trabalho de laboratório Avaliação semestral Exame final MÉDIA PONDERADA CONCEITO

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.

Programação Estruturada e Orientada a Objetos REVISÃO

Faculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Convertendo Algoritmos para a Linguagem C

//Leitura de Variáveis System.out.print("Digite a temperatura atual: "); temp = leia.nextfloat();

Capítulo 2: Introdução à Linguagem C

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo

O comando switch. c Professores de ALPRO I 04/2012. Faculdade de Informática PUCRS. ALPRO I (FACIN) O comando switch 04/ / 31

Linguagem de Programação I

2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;}

2 Orientação a objetos na prática

BC0505 Processamento da Informação

Faculdade Instituto Educare - FIED Curso: Sistemas de Informação Disciplina: Linguagem de Programação I Prof.: Rhyan Ximenes rxbrito@gmail.

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java

Estrutura de Dados Básica

Exercícios de Revisão Java Básico

Bacharelado em Ciência e Tecnologia BC-0505 Processamento da Informação Lista de Exercícios EXTRA Nº 02 Algoritmos Estruturas de Seleção

Universidade Federal de Rondônia Técnicas de Desenvolvimento de Programas Lista 4

Linguagens de Programação

Algoritmos e Programação II. Sobrecarga

Programação por Objectos. Java

Introdução a Computação

JSP - ORIENTADO A OBJETOS

Desenvolvimento OO com Java Orientação a objetos básica

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Implementando uma Classe e Criando Objetos a partir dela

DESENVOLVIMENTO DE SOFTWARE

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

Faculdade de Computação

INF 1005 Programação I lista 12

Estruturas de repetição (Ciclos)

ESTRUTURA CONDICIONAL

Computação II Orientação a Objetos

Estrutura Condicional C++

Definição. de solução de um problema passo-a-passo. Representa a lógica l. passo.

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES

Informática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015. Visual Basic VBA

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível.

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação

Organização de programas em Java. Vanessa Braganholo

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

Elementos de programação em C

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

Lista de Exercícios 3 Estrutura Condicional

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto

Lista de Exercícios 3 Estruturas de Controle Profa Susana M Iglesias

Programação: Tipos, Variáveis e Expressões

Trabalho 3: Agenda de Tarefas

Programação Orientada a Objetos! Java - Fundamentos. Prof. Sérgio Almagro! sergio.ricardo.almagro@gmail.com

José Romildo Malaquias

Estruturas de Dados Aula 15: Árvores 17/05/2011

Transcrição:

Estrutura Condicional em Java Linguagem de Programação 1 O Java contém três tipos de instruções de seleção. A instrução if realiza uma ação se uma condição for verdadeira ou pula a ação se a condição for falsa. A instrução if... else realiza uma ação se uma condição for verdadeira e realiza uma ação diferente se a condição for falsa. A instrução de seleção switch realiza uma de muitas ações diferentes, dependendo do valor de uma expressão. A instrução if é uma instrução de uma única seleção porque seleciona ou ignora uma única ação (ou um único grupo de ações). A instrução if... else é chamada instrução de seleção dupla porque seleciona entre duas ações diferentes (ou grupos de ações). A instrução switch é chamada de instrução de seleção múltipla uma vez que seleciona entre muitas ações diferentes (ou grupos de ações). Instrução de uma única seleção A instrução IF é uma instrução de controle de uma única entrada e uma única saída. Exemplo 1: verificar se um número fornecido pelo usuário é impar. Se for, exibir a mensagem O número informado é ímpar. import javax.swing.joptionpane; public class impar { int numero; numero = Integer.parseInt(JOptionPane.showInputDialog ("Digite um número")); /*avalia se o número é impar * ao verificar se o resto da divsão por 2 * é igual a 1 */ if (numero % 2 == 1){ "O número "+numero+" é ímpar"); Exemplo 2: determinar o maior de dois números dados. Suponha que o primeiro deles é o maior, armazenando-o em uma variável MAIOR e depois, compare se os maior procurado é o segundo dos números dados, neste caso o conteúdo da variável MAIOR deve ser alterado. //importa para utilizar a classe Scanner import java.util.*; //o nome da nova classe public class maior_de_dois { //a função principal //declara entrada como Scanner, para ler do teclado Scanner entrada = new Scanner(System.in); //declara as três variáveis int a, b, maior; //exibe uma mensagem solicitando a digitação dos números System.out.println("Digite dois números inteiros: "); //armazena os números em a e b a = entrada.nextint();

2 Estrutura Condicional de maior b = entrada.nextint(); //atribui a para maior maior = a; //verifica se b é maior que a if (b > a){ //se for, atribui b para maior maior = b; //exibe a mensagem com os dois valores digitados e o valor System.out.printf("O maior dos números %d e %d é %d", a,b,maior); Exemplo 3: ordenar os conteúdos das variáveis X e Y. Só há necessidade de se realizar alguma ação se o conteúdo de Y for maior que o conteúdo de X. Neste caso, deve-se fazer a permuta dos conteúdos de X e de Y. //para usar a classe Graphics import java.awt.*; //para usar a classe JApplet e JOptionPane import javax.swing.*; //classe principal public class ordena extends JApplet{ //declaração de variáveis de instância int X, Y; //método para receber informações public void init(){ //variáveis que receberão dados digitados pelo usuário String num1, num2; //variável auxiliar para ordenação int AUX; //atribui o valor digitado para num1 e num2 num1 = JOptionPane.showInputDialog( "Digite o valor de X"); num2 = JOptionPane.showInputDialog( "Digite o valor de Y"); //atribui num1 e num2 para X e Y X = Integer.parseInt(num1); Y = Integer.parseInt(num2); //mostra os valores de X e Y na ordem que foram digitados "Números digitados: X "+X +" Y "+Y); //verifica se X é maior que Y if (X > Y){//se for //atribui X para a variável auxiliar AUX = X; //atribui Y para X X = Y; /*Y receberá o valor de X * que ficou armazenado * na variável auxiliar */ Y = AUX; public void paint(graphics g){ super.paint(g); //desenha um retângulo g.drawrect(10, 10, 200, 30);

//escreve os valores ordenados de X e Y g.drawstring("números ordenados: X "+X +" Y "+Y, 20, 30); Linguagem de Programação 3 A instrução if de uma única seleção realiza uma ação indicada somente quando a condição é true; caso contrário, a ação é pulada. Instrução de seleção dupla A instrução de seleção dupla if... else permite que o programação especifique uma ação a realizar quando a condição é verdadeira e uma ação diferente quando a condição é falsa. Exemplo 1: a empresa XSoftwares Ltda. concedeu um bônus de 20% do valor do salário a todos os funcionários com tempo de trabalho na empresa igual ou superior a cinco anos, e 10% aos demais. Calcular e exibir o valor do bônus. import javax.swing.joptionpane; public class bonus { //declaração das variáveis necessárias para a resolução do problema float salario, premio; int tempo; //leitura (entrada) dos valores com as conversões adequadas salario = Float.parseFloat(JOptionPane.showInputDialog( "Salário")); tempo = Integer.parseInt(JOptionPane.showInputDialog( "Tempo de empresa")); //avalia a condição: if (tempo >= 5){ //se o resultado for verdadeiro premio = salario * 0.20f; //se o resultado for falso premio = salario * 0.10f; "O valor do bônus é: "+premio); Exemplo 2: calcule a área de um triângulo, dados os comprimentos dos seus lados. Para os números serem comprimentos dos lados de um triângulo, cada um deles precisa ser menor que a soma dos outros dois. //para usar a classe JOptionPane import javax.swing.*; //para formatar números reais import java.text.decimalformat; //classe principal public class area_triangulo { //função principal //num_real recebe o formato de número decimal DecimalFormat num_real = new DecimalFormat ("0.000"); //declaração das variáveis float x, y, z, area, semiper; //atribuição dos valores para x, y e z

4 Estrutura Condicional x = Float.parseFloat(JOptionPane.showInputDialog( "Digite o primeiro lado: ")); y = Float.parseFloat(JOptionPane.showInputDialog( "Digite o segundo lado: ")); z = Float.parseFloat(JOptionPane.showInputDialog( "Digite o terceiro lado: ")); //verifica se cada lado é menor que a soma dos outros dois if ((x < y+z) && (y < x+z) && (z < x+y)){//se for //acha o semiperímetro semiper = (x + y + z)/2; //calcula a área area = (float)math.sqrt(semiper* (semiper-x)*(semiper-y)*(semiper-z)); //exibe a área no formato de num_real "A área do triângulo é: "+num_real.format(area)); //caso a verificação seja falsa //exibe a mensagem informando que não é um triângulo "Os valores não podem ser comprimentos dos lados de um triângulo"); Operador condicional O Java fornece o operador condicional?:, que pode ser utilizado no lugar de uma instrução if... else. Esse é o único operador ternário 1 do Java. Juntos, os operandos e o símbolo?: formam uma expressão condicional. O primeiro operando (à esquerda do?) é uma expressão booleana 2, o segundo operando (entre o? e :) é o valor da expressão condicional se a expressão booleana for true, e o terceiro operando (à direita do :) é o valor da expressão condicional se a expressão booleana for avaliada como false. Exemplo: imprimir Aprovado se a média do aluno for maior ou igual a 60, mas imprimir Reprovado se for menor que 60. import java.util.scanner; public class mediaaluno { Scanner entrada = new Scanner(System.in); float media; System.out.print("Digite a média do aluno: "); media = entrada.nextfloat(); System.out.println(media>=60? "Aprovado" : "Reprovado"); Instruções if... else aninhadas Um programa pode testar múltiplos casos colocando instruções if... else dentro de outras instruções if... else para criar instruções if... else aninhadas. 1 Significa que ele recebe três operandos. 2 Uma condição que avalia um valor boolean true ou false.

Linguagem de Programação 5 Exemplo 1: receba três valores fornecidos pelo usuário que representarão os lados de um triângulo. Verifique se os valores formam um triângulo e classifique esse triângulo como: a) Equilátero: três lados iguais. b) Isósceles: dois lados iguais. c) Escaleno: três lados diferentes. Lembre-se de que, para formar um triângulo, nenhum dos lados pode ser igual a zero, um lado não pode ser maior do que a soma dos outros dois. import javax.swing.*; public class triangulo { public static void main (String args[]){ //declara as variáveis A, B e C int A, B, C; //inicializa as variáveis A = Integer.parseInt(JOptionPane.showInputDialog("Lado A")); B = Integer.parseInt(JOptionPane.showInputDialog("Lado B")); C = Integer.parseInt(JOptionPane.showInputDialog("Lado C")); //verifica se os lados não são iguais a zero if (A!= 0 && B!= 0 && C!= 0){ //verifica se um lado não é maior que a soma dos outros dois if (A+B > C && A+C>B && B+C > A){ //verifica se todos os lados são diferentes if (A!= B && A!= C && B!= C){ "Escaleno"); //caso não sejam todos diferentes //verifica se todos os lados são iguais if (A == B && B == C){ "Equilátero"); //caso não sejam todos iguais "Isósceles"); //caso a soma de dois lados não seja maior que um dos lados "Não forma um triângulo"); //caso algum dos lados seja igual a zero "Não forma um triângulo");

6 Estrutura Condicional Exemplo 2: determine as raízes de uma equação do segundo grau. Sabendo que uma quação ax 2 + bx + c = 0 só tem raízes se b 2 4ac 0. Além disso, para que ela seja do segundo grau, deve-se ter a 0. //para ler do teclado import java.util.scanner; //para formatar número decimal import java.text.decimalformat; //programa public class eqgrau2 { //principal //declara entrada para ler do teclado Scanner entrada = new Scanner(System.in); //declara num_real para números decimais DecimalFormat num_real = new DecimalFormat("0.0"); //declaração de variáveis float a, b, c, x1, x2, delta; //recebe os valores da equação System.out.println("Digite os valores de a, b e c: "); //atribui os valores às variáveis a = entrada.nextfloat(); b = entrada.nextfloat(); c = entrada.nextfloat(); //verifica se o valor de a é diferende de 0 if (a!= 0){//se for diferente de 0 //calcula o valor de delta delta = (float)math.pow(b, 2)-4*a*c; //verifica se delta é maior ou igual a 0 if (delta >= 0){//se for //calcula as raízes x1 = (-b+(float)math.sqrt(delta))/2*a; x2 = (-b-(float)math.sqrt(delta))/2*a; //exibe o valor das raízes System.out.println("Raízes da equação: "+ num_real.format(x1)+" e "+ num_real.format(x2)); //se delta não for maior ou igual a 0 //exibe a mensagem System.out.println("A equação dada não tem raízes reais"); //se a for igual a 0 //exibe a mensagem System.out.println("A equação não é do segundo grau"); Operadores lógicos As instruções IF, IF... else, e outras, requerem uma condição para determinar como continuar o fluxo de um programa de controle. O Java fornece operadores lógicos para permitir que os programadores formem condições mais complexas combinando condições simples.

Linguagem de Programação 7 Operador E condicional (&&) Se em algum ponto em um programa ambas condições precisam ser verdadeiras antes de escolher certo caminho de execução, utilizamos o operador && (E condicional). Expressão 1 Expressão 2 Expressão 1 && expressão 2 false false false false true false true false false true true true Operador OU condicional ( ) Se um programa quiser assegurar que qualquer uma ou ambas as condições sejam verdadeiras antes de escolher certo caminho de execução, deve utilizar o operador (OU condicional). Expressão 1 Expressão 2 Expressão 1 expressão 2 false false false false true true true false true true true true Operador E lógico booleano (&) e OU lógico booleano( ) Esses operadores funcionam de modo idêntico aos operadores && e, com uma exceção: os operadores lógicos booleanos sempre avaliam seus dois operandos. OU exclusivo lógico booleano (^) Uma condição simples que contém o operador OU exclusivo lógico booleano é true se e somente se um de seus operandos for true e o outro for false. Se os dois operandos forem true ou somente forem false, a condição inteira é false. Expressão 1 Expressão 2 Expressão 1 ^ expressão 2 false false false false true true true false true true true false Operador de negação lógica (!) O operador! permite ao programador inverter o significado de uma condição. O operador de negação lógica é um operador unário que tem apenas uma única condição como um operando. O operador lógico de negação é colocado antes de uma condição para escolher um caminho de execução se a condição original for false. expressão!expressão false true true false Estrutura de seleção múltipla Uma estrutura de seleção múltipla escolha é uma estrutura de seleção que funciona como um conjunto de opções para escolha. É também denominada estrutura de seleção homogênea. O Java oferece a instrução de múltipla seleção switch para realizar diferentes ações baseadas nos possíveis valores de uma variável de inteiro ou expressão. Cada

8 Estrutura Condicional ação está associada com o valor de uma expressão integral constante (byte, short, int ou char) que a variável ou expressão em que a switch é baseada pode assumir. Exemplo: ler o código de um produto e exibir seu nome de acordo com a tabela a seguir: Código do produto Nome do produto 1 Caderno 2 Lápis 3 Borracha Qualquer outro Diversos //para mostrar caixas de diálogo import javax.swing.joptionpane; //programa public class exibeproduto { //principal //declaração de variáveis int codigo; String texto; //atribuição do valor do código do produto codigo = Integer.parseInt(JOptionPane.showInputDialog ("Digite o código do produto")); //verifica o valor do código switch (codigo){ //caso seja 1 case 1 : //atribui a string à variável texto texto = "O produto é caderno"; //interrompe o fluxo break; //caso seja 2 case 2: //atribui a string à variável texto texto = "O produto é lápis"; //interrompe o fluxo break; //caso seja 3 case 3: //atribui a string à variável texto texto = "O produto é borracha"; //interrompe o fluxo break; //caso o código não seja 1, 2 ou 3 default : //atribui a string à variável texto texto = "Diversos"; //exibe o conteúdo da variável texto texto); Instrução break O Java fornece a instrução break para alterar o fluxo de controle. A instrução break ocasiona sua saída imediata da instrução. A execução continua com a primeira instrução depois da instrução de controle.

Linguagem de Programação 9 Exercícios 1. Preencha as lacunas: a) A instrução é utilizada para executar uma ação quando uma condição for verdadeira e outra quando essa condição for falsa. b) O Java requer que todas as variáveis tenham um. c) A instrução seleciona entre múltiplas ações com base nos possíveis valores de uma variável ou expressão integrais. d) O operador pode ser utilizado para assegurar que duas condições são verdadeiras antes de escolher certo caminho de execução. 2. Determine se cada uma das seguintes afirmações é verdadeira ou falsa. Se falso, explique por que. a) Um algoritmo é um procedimento para resolver um problema em termos das ações a serem executadas e a ordem em que essas ações são executas. b) Um conjunto de instruções dentro de um par de parênteses é chamado bloco. c) Uma instrução de seleção especifica que uma ação deve ser repetida enquanto algumas condições permanecem verdadeiras. d) O pseudocódigo ajuda um programador a pensar sobre um programa antes de tentar escrevê-lo em uma linguagem de programação. e) O caso default é requerido na instrução de seleção switch. f) A instrução break é necessária no último caso de uma instrução de seleção switch. g) A expressão ((x>y)&&(a<b)) é verdadeira se x>y for verdadeira ou a<b for verdadeira. h) Uma expressão contendo o operador é verdadeira se um ou ambos de seus operandos forem verdadeiros. i) Para testar uma série de valores em uma instrução switch, utilize um hífen ( ) entre os valores inicial e final da série em um rótulo case. 3. Escreva instruções Java para realizar cada uma das seguintes tarefas: a) Teste se a variável contador é maior do que 10. Se for, imprima Contador é maior que 10. b) Calcule o resto após q ser dividido por divisor e atribua o resultado a q. c) Calcule o valor de 2.5 elevado à potência de 3, utilizando o método pow. 4. Escreva uma instução Java para realizar cada uma das seguintes tarefas: a) Declare as variáveis soma e x que serão do tipo inteiro. b) Atribua 1 à variável x. c) Atribua 0 à variável soma. d) Adicione a variável x à variável soma e atribua o resultado à variável soma. e) Imprima A soma é: seguido pelo valor da variável soma. Bibliografia Java: como programar H. M. Deitel, P. J. Deitel São Paulo: Pearson Prentice Hall, 2005 Estrutura de dados e algoritmos em Java Michael Goodrich, Roberto Tamassia Porto Alegre: Bookman, 2007 Lógica de programação e estrutua de dados, com aplicações em Java Sandra Puga, Gerson Rissetti

10 Estrutura Condicional São Paulo: Pearson Prentice Hall, 2009