Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

<p>Comandos de seleção</p><p>Apresentação</p><p>Por padrão, os algoritmos de programação seguem uma estrutura sequencial. Os comandos de</p><p>seleção têm uma estrutura de controle capaz de alterar o fluxo dessas aplicações, ou seja, com o</p><p>uso de condições é possível especificar a ordem e selecionar ações a partir de uma instrução</p><p>específica.</p><p>Ao determinar uma condição, valores verdadeiros ou falsos determinam a lógica por meio de</p><p>operadores relacionais. Por exemplo, se a pessoa é maior de idade, ela pode tirar carteira de</p><p>motorista, se não, terá que esperar a maioridade; ou, em outro caso, se escolhemos um</p><p>determinado produto em um cardápio, o preço dele será diferente de um outro produto. Enfim,</p><p>existem milhares de situações como essas em nosso cotidiano.</p><p>As estruturas de controle de seleção são importantes para que, de acordo com a escolha</p><p>selecionada, seja definido o desvio sequencial que possibilitará um algoritmo mais sofisticado.</p><p>Nesta Unidade de Aprendizagem, você vai ser apresentado aos tipos de estruturas de seleção em</p><p>Java, que são classificadas em simples, composta, aninhada ou de múltipla escolha. Você vai saber,</p><p>também, diferenciá-las e escolhê-las de acordo com o que é necessário para a resolução de um</p><p>problema específico.</p><p>Bons estudos.</p><p>Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:</p><p>Conceituar estrutura de seleção no contexto da programação.•</p><p>Descrever as estruturas de seleção simples, composta e aninhadas.•</p><p>Definir as estruturas de seleção de múltipla escolha.•</p><p>Desafio</p><p>Os comandos de seleção alteram o fluxo sequencial da programação e podem, com a ajuda de</p><p>condicionais, determinar o comportamento de um algoritmo. O uso de conhecimentos sobre as</p><p>estruturas de seleção auxilia na resolução de problemas práticos e na elaboração de soluções</p><p>computacionais.</p><p>a) O que é necessário que o código tenha para atender as necessidades da empresa?</p><p>b) Qual algoritmo resolveria esse problema e como ele deveria ser apresentado? Sugira a</p><p>implementação de uma classe Java para a resolução do problema.</p><p>Infográfico</p><p>No mundo real, estamos sempre tomando decisões. Cada uma de nossas decisões gera uma</p><p>consequência. Como a programação é uma abstração do mundo real, é preciso que hajam</p><p>mecanismos que simulem com precisão características que são inerentes a esse mundo.</p><p>As estruturas de condição conseguem encontrar soluções computacionais tão eficazes quanto as</p><p>da vida real, desde que sejam bem estruturadas e empregadas em uma lógica de programação bem</p><p>elaborada.</p><p>O Infográfico a seguir, ajuda a reforçar os estudos sobre a estrutura condicional Se, simulando uma</p><p>situação real e mostrando como o comando de seleção é implementado.</p><p>Aponte a câmera para o</p><p>código e acesse o link do</p><p>conteúdo ou clique no</p><p>código para acessar.</p><p>https://statics-marketplace.plataforma.grupoa.education/sagah/3b651afd-efba-4d65-973e-7b9b56a0d5b3/7b9fa43a-2480-4374-b69e-85780d3b175c.jpg</p><p>Conteúdo do Livro</p><p>Estruturas de seleção estão presentes em todas as linguagens de programação e são usadas como</p><p>desvio de fluxo, de acordo com uma situação específica. Ou seja, quando o interpretador encontra</p><p>uma condição if, por exemplo, em seguida ele interpreta um valor booliano e, caso seja verdadeiro,</p><p>ele interpreta o bloco do código else, caso seja falso, ele continua o fluxo sequencial do algoritmo.</p><p>No capítulo Comandos de seleção, base teórica desta Unidade de Aprendizagem, você vai ver os</p><p>conceitos de estruturas de seleção do Java: condicional simples, composta e aninhada. Você vai</p><p>conhecer o comando de múltipla escolha e ver exemplos práticos que irão ajudá-lo na tomada de</p><p>decisão sobre qual comando usar, de acordo com a situação-problema a ser resolvida.</p><p>PROGRAMAÇÃO</p><p>ORIENTADA A</p><p>OBJETOS</p><p>OBJETIVOS DE APRENDIZAGEM</p><p>> Conceituar estrutura de seleção no contexto da programação.</p><p>> Descrever as estruturas de seleção simples, composta e aninhada.</p><p>> Definir as estruturas de seleção de múltipla escolha.</p><p>Introdução</p><p>Os comandos de seleção têm o poder de modificar a estruturação sequen-</p><p>cial de uma programação por meio de tomadas de decisões estabelecidas</p><p>por condições. Essas condições, sustentadas pelos operadores relacionais e</p><p>operadores lógicos, determinam o fluxo e o comportamento de um algoritmo.</p><p>Todas as linguagens de programação usam estruturas condicionais; no Java</p><p>são usados os comandos if-else e switch-case para executar diferentes</p><p>blocos de programação, pré-selecionados com base em certas condições.</p><p>Neste capítulo, você vai conhecer as estruturas de seleção condicionais, ver</p><p>como diferenciar as estruturas de deleção simples das compostas, reconhecer</p><p>como uma estrutura composta pode ser organizada de forma aninhada para</p><p>aumentar o leque de opções condicionais e conhecer as estruturas de seleção</p><p>de múltipla escolha.</p><p>Comandos de</p><p>seleção</p><p>Carlos Wagner de Queiroz</p><p>Comandos de seleção</p><p>Um algoritmo nada mais é do que a reprodução de situações que acontecem</p><p>no mundo real. Todos os dias quando acordamos, nos deparamos com várias</p><p>situações em que precisamos tomar decisões. Se escovamos os dentes antes</p><p>de tomar o café ou se tomamos o café e só depois escovamos os dentes, qual</p><p>roupa escolher para sair, quais músicas ouvir no caminho ao trabalho, se vamos</p><p>pegar uma rota ou outra para chegar ao nosso destino, ou seja, o tempo todo</p><p>estamos selecionando as ações que faremos. E, ao escolhermos uma ação,</p><p>muitas vezes outra ação corriqueira é interrompida e as consequências de</p><p>nossa seleção levam a um desvio do fluxo normal.</p><p>Um algoritmo de programação segue um fluxo lógico que pode se modificar</p><p>de acordo com as tomadas de decisões, ou seja, as seleções que são feitas</p><p>no meio do percurso até que o resultado desse algoritmo seja alcançado.</p><p>Autores diversos usam nomenclaturas diversas para descrever os coman-</p><p>dos de seleção; alguns chamam de desvio condicional, outros de controle</p><p>de programa, estruturas condicionais, comandos de decisões, enfim, aqui</p><p>chamaremos de comandos de seleção.</p><p>Os comandos de seleção são, portanto, aqueles que permitem que o</p><p>algoritmo mude o seu fluxo normal de acordo com as decisões tomadas no</p><p>caminho. Para um programa de computador tomar uma decisão é necessário</p><p>que seja estabelecida uma condição.</p><p>Uma condição pode produzir respostas verdadeiras (true) ou falsas</p><p>(false), de acordo com as situações apresentadas. A relação lógica exis-</p><p>tente entre os elementos de uma condição é conseguida com a utilização dos</p><p>operadores relacionais (MANZANO; COSTA JÚNIOR, 2014).</p><p>A Figura 1 apresenta a tabela de operadores relacionais.</p><p>Figura 1. Operadores relacionais.</p><p>Fonte: Horstmann (2009, p. 191).</p><p>Comandos de seleção2</p><p>São condições válidas as seguintes estruturas relacionais: A == B, A != B,</p><p>A > B, A < B, A >= B, A <= B ou A == 5, A != 5, A > 5, A < 5, A >= 5,</p><p>A <= 5.</p><p>Note que somente os operadores (> e <) são iguais aos da notação ma-</p><p>temática. Isso acontece porque não existem no teclado teclas para ≥, ≤</p><p>ou ≠. O operador == pode ser confuso, já que existe o símbolo =, porém,</p><p>em Java ele é usado para atribuir valor à uma variável, por exemplo: a = 2</p><p>(atribui 2 à variável a). Já no exemplo if (a == 2), está sendo feito um</p><p>teste: se a é igual a 2. Resumindo, = é usado para atribuição e == para teste</p><p>de igualdade.</p><p>O comando if é utilizado para implementar uma decisão e tem duas</p><p>partes: uma condição e um corpo. Se a condição for verdadeira, o corpo do</p><p>comando será executado. Vamos pensar em um exemplo real. Suponha que</p><p>precisamos implementar um algoritmo para identificar crianças conforme sua</p><p>faixa etária. Para esse primeiro exemplo, caso a idade da pessoa seja menor</p><p>que 14 anos, ela será classificada como criança. Vejamos um fluxograma com</p><p>esse modelo, como mostra a Figura 2.</p><p>Figura 2. Fluxograma para o comando if — condição simples.</p><p>Perceba que, quando a condição foi verdadeira, ela executou um corpo;</p><p>já a condição falsa não gerou nenhum processo, finalizando o algoritmo.</p><p>Ou seja, uma decisão quando verdadeira ou</p><p>falsa ocasiona, ou não, a execução</p><p>do evento posterior.</p><p>Comandos de seleção 3</p><p>Mesmo quando só existe uma condição verdadeira e outra falsa é acon-</p><p>selhável, segundo as regras de usabilidade, que seja dado um feedback ao</p><p>cliente em cada ação que ele efetuar, ou seja, uma condição pode gerar a</p><p>execução de um novo processo ou ao menos um aviso sobre o comportamento</p><p>do algoritmo.</p><p>Usando, ainda, como exemplo o nosso problema, classificar pessoas</p><p>conforme a faixa etária, analise a Figura 2. Se a condição for falsa, em vez de</p><p>simplesmente não acontecer nada, direcionaremos a um corpo que emitirá</p><p>uma mensagem antes de o algoritmo ser finalizado. A simulação dessa nova</p><p>hipótese pode ser vista no fluxograma da Figura 3.</p><p>Figura 3. Fluxograma para o comando if-else — condição composta.</p><p>E se quiséssemos fazer as classificações de todas as pessoas, sendo</p><p>menores de 14 anos agrupados como crianças, entre 15 e 17 anos como ado-</p><p>lescentes, de 18 a 60 anos como adultos e acima de 60 anos como idosos?</p><p>Seria possível fazer usando apenas seleção condicional? Vejamos como ficaria</p><p>um fluxograma para esse problema na Figura 4.</p><p>Comandos de seleção4</p><p>Figura 4. Fluxograma para o comando if-else — condição aninhada.</p><p>Observe que na Figura 4 existem várias condições que reportarão um</p><p>valor verdadeiro e somente uma para o valor falso. Essa é uma caracterís-</p><p>tica usada pelo comando if que permite considerar várias seleções em um</p><p>mesmo algoritmo.</p><p>Vimos, portanto, que algumas condicionais podem desviar o fluxo de</p><p>um algoritmo e/ou alterar suas variáveis. Esses exemplos de estrutura de</p><p>seleção são determinados com o auxílio de operadores relacionais e os</p><p>conceitos de condicionais implementados para cada situação. Deve ficar</p><p>claro, portanto, que é possível que se estabeleçam controles de decisão a</p><p>partir de uma seleção. Nos exemplos citados, percebemos que as respostas</p><p>falsas às condições podem tanto determinar a inércia do algoritmo como</p><p>provocar uma mudança, assim como a resposta verdadeira. Quanto a esses</p><p>tipos de resposta, podemos classificar as estruturas condicionais em simples,</p><p>compostas e aninhadas, conforme reforçaremos na próxima seção.</p><p>Condições simples, compostas e aninhadas</p><p>As estruturas de controle são utilizadas para especificar a ordem em que as</p><p>instruções devem ser executadas. Os controles de seleção ou condicional</p><p>são um dos tipos de estruturas de controle.</p><p>Por padrão, a estrutura é de sequência, ou seja, a menos que seja especi-</p><p>ficado de outra forma, o computador executa automaticamente as instruções</p><p>seguindo a estrutura de sequência, isto é, uma após outra, linha após linha,</p><p>de cima para baixo.</p><p>Comandos de seleção 5</p><p>Para mostrarmos na prática como funcionam os controles de seleção,</p><p>vamos usar os fluxogramas da seção anterior para implementarmos algoritmos</p><p>que respondam à situação-problema apresentada por eles.</p><p>O comando if tem como função executar uma instrução quando</p><p>uma condição for verdadeira ou falsa. Sua sintaxe é:</p><p>if (condição)</p><p>{</p><p>instrução 1 executada quando for verdadeira;</p><p>instrução 2 executada quando for verdadeira;</p><p>instrução N executada quando for verdadeira;</p><p>}</p><p>else</p><p>instrução executada quando condição for falsa;</p><p>Estrutura de seleção simples</p><p>Um desvio condicional será simples quando temos uma condição que desvia</p><p>a execução do programa caso o resultado lógico avaliado de certa condição</p><p>seja verdadeiro. Se o resultado logico avaliado for falso, nada acontecerá,</p><p>e o programa simplesmente segue o seu fluxo de execução (MANZANO; COSTA</p><p>JÚNIOR, 2014).</p><p>O fluxograma ilustrado na Figura 2 simula o comportamento de uma</p><p>condição simples; na prática uma solução seria:</p><p>package estruturasdeselecao;</p><p>import java.util.Scanner;</p><p>public class SelecaoSimples</p><p>{</p><p>public static void main(String[] args)</p><p>Comandos de seleção6</p><p>{</p><p>Scanner scan = new Scanner(System.in);</p><p>System.out.println("Entre com o Valor a sua idade");</p><p>int idade = scan.nextInt();</p><p>if (idade <=14) {</p><p>System.out.println("Você foi classificada como</p><p>criança!");</p><p>}</p><p>}</p><p>}</p><p>A Figura 5 ilustra as saídas simulando um valor de entrada 8, ao qual</p><p>retornará a mensagem programada, caso o valor seja menor que 14; um valor</p><p>acima de 14 não retorna nenhuma mensagem.</p><p>Figura 5. Saídas com valores abaixo de 14 e acima de 14, respectivamente.</p><p>Para atribuir valores a uma variável usando o teclado, no Java,</p><p>a partir do Java 1.5 podemos usar a classe Scanner. Usaremos essa</p><p>classe para implementar as operações de entrada pelo teclado em alguns dos</p><p>exemplos mostrados neste capítulo. Para utilizar a classe Scanner em uma</p><p>aplicação Java, é preciso importar o pacote java.util, instanciar e criar um</p><p>objeto Scanner. O System.in complementa System.out. e int lê os valores</p><p>através do teclado. nextInt requer o valor. Para os exemplos mostrados aqui,</p><p>trabalharemos com o pacote Java JDK instalado e a IDE Eclipse.</p><p>Comandos de seleção 7</p><p>Estrutura de seleção composta</p><p>Em uma condição composta usa-se o if ... else; nesse tipo de estrutura,</p><p>quando a condição é verdadeira são executadas as instruções que ficam no</p><p>bloco entre o if e o else; quando é falsa, são executadas as instruções</p><p>posicionadas após o else, conforme a sintaxe apresentada no box Saiba mais.</p><p>O fluxograma ilustrado na Figura 3 simula o comportamento de uma</p><p>condição composta; na prática, uma solução seria:</p><p>package estruturasdeselecao;</p><p>import java.util.Scanner;</p><p>public class SelecaoComposta</p><p>{</p><p>public static void main(String[] args)</p><p>{</p><p>Scanner scan = new Scanner(System.in);</p><p>System.out.println("Entre com o Valor a sua idade");</p><p>int idade = scan.nextInt();</p><p>if (idade <=14) {</p><p>System.out.println("Você foi classificada como</p><p>criança!");</p><p>}</p><p>else {</p><p>System.out.println("Você não é uma criança!");</p><p>}</p><p>}</p><p>}</p><p>A Figura 6 ilustra as saídas simulando um valor de entrada 8, ao qual retor-</p><p>nará a mensagem programada caso o valor seja menor que 14; um valor acima</p><p>de 14 retorna o bloco de instruções após o else, quando a condição for falsa.</p><p>Comandos de seleção8</p><p>Figura 6. Saídas com valores abaixo de 14 e acima de 14, respectivamente.</p><p>Estrutura de seleção aninhada</p><p>Segundo Schildt (2015), um if aninhado é uma instrução if que é alvo de</p><p>outro if ou else. Os ifs aninhados são muito comuns em programação.</p><p>O importante a lembrar sobre ifs aninhados em Java é o fato de que uma</p><p>instrução else será sempre referente à instrução if mais próxima que estiver</p><p>dentro do mesmo bloco e ainda não estiver associada a um else.</p><p>O fluxograma ilustrado na Figura 4 simula o comportamento de uma</p><p>estrutura de seleção aninhada; na prática, uma solução seria:</p><p>package estruturasdeselecao;</p><p>import java.util.Scanner;</p><p>public class SelecaoAninhada</p><p>{</p><p>public static void main(String[] args)</p><p>{</p><p>Scanner scan = new Scanner(System.in);</p><p>System.out.println("Entre com o Valor a sua idade");</p><p>int idade = scan.nextInt();</p><p>if (idade <=12) {</p><p>System.out.println("Você foi classificada como</p><p>criança!");</p><p>}</p><p>else if (idade <=17){</p><p>System.out.println("Você foi classificado como</p><p>adolescente!");</p><p>}</p><p>Comandos de seleção 9</p><p>else if (idade <=60) {</p><p>System.out.println("Você foi classificado como</p><p>adulto(a)!");</p><p>}</p><p>else {</p><p>System.out.println("Você foi classificado como</p><p>idoso(a)!");</p><p>}</p><p>}</p><p>}</p><p>A Figura 7 ilustra as saídas simulando um valor de entrada 8, 15, 58 e 60 e</p><p>seus respectivos resultados em uma estrutura de seleção aninhada.</p><p>Figura 7. Saídas com valores diversos.</p><p>Apresentamos com exemplos práticos os comandos (sintaxe) das estru-</p><p>turas de seleção simples e composta (if, if-else) e a estrutura aninhada.</p><p>Simulamos algumas situações em que podem ser usados os comandos de</p><p>seleção, mas você deve ter notado que o if é um ótimo comando para situa-</p><p>ções distintas. Percebam, no entanto, que a estrutura aninhada, embora seja</p><p>uma boa solução para várias situações,</p><p>detém de muitas linhas de comando</p><p>e, em alguns casos, pode não suprir com a necessidade de múltiplas escolhas.</p><p>Na próxima seção, mostraremos uma solução de múltipla escolha que facilitará</p><p>a tomada de decisões problemáticas que envolvam esse tipo de seleção.</p><p>Comandos de seleção10</p><p>Estrutura de seleção de múltipla escolha</p><p>Na seleção múltipla, como o próprio nome já diz, entre vários blocos,</p><p>se escolhe um. Diferente da simples, em que é executado apenas um bloco</p><p>de comandos, ou da composta, em que se executa um ou outro, na múltipla,</p><p>entre várias opções, você escolhe uma para executar.</p><p>No comando switch a seleção é feita, entre diferentes blocos de instru-</p><p>ções, usando uma comparação de igualdade. Do ponto de vista operacional</p><p>de funcionalidade de um computador, o uso da instrução switch prevê</p><p>apenas condições com operador relacional do tipo “igual a”. Em situações</p><p>operacionais que envolvam outras formas de relações lógicas, deve-se fazer</p><p>uso da instrução if na forma sequencial ou encadeada.</p><p>Vejamos a sintaxe do comando switch case:</p><p>switch (expressão)</p><p>{</p><p>case constante1:</p><p>instruções;</p><p>break;</p><p>case constante2:</p><p>instruções;</p><p>break;</p><p>...</p><p>default:</p><p>instruções;</p><p>}</p><p>O valor da expressão (ou variável) é testado na ordem, em relação aos</p><p>valores das constantes especificadas nos comandos case. Essa comparação</p><p>é somente de igual, ou seja, o resultado da expressão é igual a constante1,</p><p>constante2, etc. Nos cases, teremos as constantes, e, quando uma coinci-</p><p>dência for encontrada, a sequência de comandos associada aquele case</p><p>será executada até que o comando break ou o fim do comando switch</p><p>seja alcançado. O comando default é executado se nenhuma coincidência</p><p>for detectada. Embora seja recomendado o seu uso, o default é opcional.</p><p>Vamos à prática. Para o nosso exemplo, vamos criar um algoritmo simples</p><p>para entender como o switch case funciona. A ideia aqui é que, quando o</p><p>usuário colocar um número de 1 a 12, seja impresso o nome do mês, ou seja,</p><p>se ele digitar 1, imprime janeiro, 2 imprime fevereiro e assim sucessivamente.</p><p>Comandos de seleção 11</p><p>import java.util.Scanner;</p><p>public class MultiplaEscolha {</p><p>public static void main(String[] args)</p><p>{</p><p>Scanner scan = new Scanner(System.in);</p><p>System.out.println("Entre com a mês");</p><p>int mes = scan.nextInt();</p><p>switch(mes) {</p><p>case 1:</p><p>System.out.println("Janeiro");</p><p>break;</p><p>case 2:</p><p>System.out.println("Fevereiro");</p><p>break;</p><p>case 3:</p><p>System.out.println("Março");</p><p>break;</p><p>case 4:</p><p>System.out.println("Abril");</p><p>break;</p><p>case 5:</p><p>System.out.println("Maio");</p><p>break;</p><p>case 6:</p><p>System.out.println("Junho");</p><p>break;</p><p>case 7:</p><p>System.out.println("Julho");</p><p>break;</p><p>case 8:</p><p>System.out.println("Agosto");</p><p>break;</p><p>case 9:</p><p>Comandos de seleção12</p><p>System.out.println("Setembro");</p><p>break;</p><p>case 10:</p><p>System.out.println("Outrubro");</p><p>break;</p><p>case 11:</p><p>System.out.println("Novembro");</p><p>break;</p><p>case 12:</p><p>System.out.println("Dezembro");</p><p>break;</p><p>default: System.out.println("Mês</p><p>inválido");</p><p>}</p><p>}</p><p>}</p><p>Veja, na Figura 8, as saídas com o uso do break ao final de cada expres-</p><p>são e sem o uso do break. Perceba que, se não usarmos o break, todos os</p><p>comandos após o case selecionado serão implementados.</p><p>Figura 8. Saídas com valor 6, com e sem break.</p><p>Em outro exemplo, precisamos criar um algoritmo que imprima o semestre</p><p>conforme o mês, por exemplo, se o mês for 3, imprimirá “Primeiro Semestre!”,</p><p>se o mês for 10, imprimirá “Segundo semestre”; neste caso, poderíamos usar</p><p>o switch da seguinte forma:</p><p>Comandos de seleção 13</p><p>import java.util.Scanner;</p><p>public class MultiplaEscolha {</p><p>public static void main(String[] args)</p><p>{</p><p>Scanner scan = new Scanner(System.in);</p><p>System.out.println("Entre com a mês");</p><p>int mes = scan.nextInt();</p><p>switch(mes) {</p><p>case 1:</p><p>case 2:</p><p>case 3:</p><p>case 4:</p><p>case 5:</p><p>case 6:</p><p>System.out.println("Primeiro Semestre!");</p><p>break;</p><p>case 7:</p><p>case 8:</p><p>case 9:</p><p>case 10:</p><p>case 11:</p><p>case 12:</p><p>System.out.println("Segundo Semestre!");</p><p>break;</p><p>default: System.out.println("Mês</p><p>inválido");</p><p>}</p><p>}</p><p>}</p><p>Comandos de seleção14</p><p>A situação-problema apresentada no fluxograma da Figura 4 e resol-</p><p>vida por meio do if-else aninhado não poderia ser respondida com</p><p>o comando switch usando os operadores relacionais <,>. O switch trabalha</p><p>apenas com o “igual a” e com constantes nos cases, portanto, não seria possível</p><p>uma solução em que as opções necessitassem analisar a instrução: idade>=12,</p><p>por exemplo, pois essa expressão resulta em valores entre 0 e 12, o que, na</p><p>matemática, chamamos de valores contínuos. O switch só é recomendado</p><p>para valores discretos, ou seja, 0, 1, 2, 3, 4, etc. Nesse caso, uma solução seria</p><p>apontar todas as idades possíveis, o que geraria um código muito grande, sendo</p><p>mais simples o uso do código sugerido na subseção anterior.</p><p>Neste capítulo, vimos as várias formas de trabalhar os controles de se-</p><p>leção, desde os controles condicionais (if e if-else) até o uso da seleção</p><p>de múltipla escolha Switch. Você pôde perceber que, para cada situação-</p><p>-problema, um comando é indicado. O ideal é que analise inicialmente a</p><p>possibilidade do uso do switch e só depois, caso não for possível trabalhar</p><p>com ele, passe a usar outra opção, como o if-else. Usando os comandos</p><p>de seleção da forma correta, você conseguirá dinamizar os seus algoritmos</p><p>e dar ao usuário poder de decisão.</p><p>Referências</p><p>HORSTMANN, C. Conceitos de computação com Java. 5. ed. Porto Alegre: Bookman,</p><p>2009. 720 p.</p><p>MANZANO, J. A. N. G.; COSTA JÚNIOR, R. A. Programação de computadores com Java.</p><p>São Paulo: Érica, 2014. 160 p.</p><p>SCHILDT, H. Java para iniciantes: crie, compile e execute programas Java rapidamente.</p><p>6. ed. Porto Alegre: Bookman, 2015. 704 p.</p><p>Leituras recomendadas</p><p>FURGERI, S. Java 8: ensino didático, desenvolvimento e implementação de aplicações.</p><p>São Paulo: Érica, 2015. 320 p.</p><p>RUBIRA, C. M. F.; GUERRA, P. A. C.; GOMES, L. A. F. Programação orientada a objetos</p><p>usando Java. Rio de Janeiro: Ciência Moderna, 2020. 256 p.</p><p>Comandos de seleção 15</p><p>Dica do Professor</p><p>Os comandos de seleção controlam como as operações de um programa serão executadas, fazendo</p><p>uma seleção, entre uma ou várias alternativas, que resultarão em uma ação que o computador deve</p><p>tomar. Como um algoritmo computacional tem um fluxo sequencial, esses comandos permitem o</p><p>desvio (ou não) desse fluxo, de acordo com uma seleção definida.</p><p>Nesta Dica do Professor, veja uma revisão dos conteúdos abordados, com base na análise de um</p><p>problema e na busca por uma solução com os comandos de seleção. A Dica sugere o uso do</p><p>comando switch, mas você também pode buscar outras formas de resolução.</p><p>Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.</p><p>https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/c4ea8305e68d661eb222a82b75d6b918</p><p>Exercícios</p><p>1) O comando switch pode ser usado em várias situações. Analise o código a seguir:</p><p>Ao rodar esse código e entrar com a String "Hulk" qual é o resultado obtido?</p><p>A) A saída seria: "É um personagem da Marvel".</p><p>B) A saída seria: "É um personagem da DC Comic".</p><p>C) A saída seria: "Personagem não registrado".</p><p>D) Erro de compilação, pois o método</p><p>nextString () é indefinido para o tipo Scanner.</p><p>E) Erro de compilação, pois é preciso declarar System.out.println para cada item da switch-case.</p><p>2) Considerando a linguagem de programação Java, analise as afirmativas a seguir:</p><p>I. If, if...else e switch são exemplos de estruturas de seleção.</p><p>II. O switch não trabalha com os operadores < e >.</p><p>III. No switch a variável é comparada com as alternativas dos cases em uma relação de</p><p>igualdade.</p><p>Considerando o contexto apresentado, assinale a alternativa que contém as afirmativas</p><p>corretas.</p><p>A) Apenas I.</p><p>B) Apenas II.</p><p>C) Apenas I e II.</p><p>D) Apenas II e III.</p><p>E) I, II, III.</p><p>Os operadores relacionais podem ser usados em comandos if em Java. Eles ajudam a instrumentar</p><p>as expressões condicionais. Veja no exemplo a seguir, a impressão de um algoritmo Java:</p><p>3)</p><p>Analisando o código apresentado, qual será a sua saída?</p><p>A) O resultado é 10-9.</p><p>O resultado é 10<9.</p><p>B) O resultado é 1.</p><p>O resultado é true.</p><p>C) O resultado é 1.</p><p>O resultado é false.</p><p>D) O resultado é 19.</p><p>O resultado é true.</p><p>E) Não sairá resultado, pois, não foi implementado nenhum if.</p><p>No código abaixo são usados os operadores relacionais e lógicos (os operadores lógicos são do tipo</p><p>booliano):</p><p>4)</p><p>Com base na análise do algoritmo, qual resultado será impresso?</p><p>A) Erro de compilação.</p><p>B) a é igual a b.</p><p>C) a é maior ou igual a b.</p><p>D) a é menor ou igual a b.</p><p>E) a é maior ou igual a b.</p><p>a é menor ou igual a b.</p><p>a é igual a b.</p><p>Cientes dos operadores relacionais e dos processos de seleção condicional (if...else), analise o</p><p>código a seguir:</p><p>5)</p><p>Assinale a alternativa que corresponde à saída correta desse algoritmo:</p><p>A) O valor de a é 5.</p><p>O valor de c é 5.</p><p>B) O valor de a é 10.</p><p>O valor de c é 5.</p><p>C) O valor de a é 0.</p><p>O valor de c é 10.</p><p>D) O valor de a é 10.</p><p>O valor de c é 10.</p><p>E) O valor de a é 5</p><p>O valor de c é 10</p><p>Na prática</p><p>Os comandos de seleção simulam situações reais do nosso cotidiano, o que é um artifício da</p><p>programação para abstrair de forma mais fiel o mundo real. Os comandos são usados para fazer o</p><p>desvio do fluxo sequencial de um algoritmo, que passa a ser implementado de acordo com a</p><p>seleção escolhida.</p><p>O comando switch-case é um comando de múltipla escolha onde cada " representa uma das</p><p>diversas opções possíveis.</p><p>Neste Na Prática, conheça o Pedro, estudante calouro de programação, e sua solução</p><p>computacional planejada enquanto ele estava em um café com a sua namorada.</p><p>Aponte a câmera para o</p><p>código e acesse o link do</p><p>conteúdo ou clique no</p><p>código para acessar.</p><p>https://statics-marketplace.plataforma.grupoa.education/sagah/97e17b61-94e9-4881-94e9-08c9ff939c25/4b503f91-3499-4789-bb53-e44b8e7b7192.jpg</p><p>Saiba mais</p><p>Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor:</p><p>A evolução do Java até a era da nuvem</p><p>Com muitas linguagens de programação novas se destacando, muitos desenvolvedores apostam</p><p>nas novidades e começam a questionar a modernidade de uma linguagem mais antiga. Neste artigo,</p><p>Boris Kuszka mostra os projetos e estudos que o Java faz para estar sempre inovando e se</p><p>mantendo como uma linguagem de programação forte no mercado de desenvolvimento.</p><p>Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.</p><p>Desenvolvimento de software III — programação de sistemas</p><p>web orientada a objetos em Java</p><p>Desenvolvido por professores e pesquisadores, este livro apresenta capítulos que aliam teoria e</p><p>prática no uso dos principais comandos Java em programação de sistemas web.</p><p>Conteúdo interativo disponível na plataforma de ensino!</p><p>Estruturas de dados e algoritmos em Java</p><p>Leia, neste livro, uma introdução aos dados e algoritmos, incluindo projeto, análise e</p><p>implementação. A obra apresenta muitos códigos e fragmentos de pseudocódigos de Java, além de</p><p>exercícios que estão divididos em, aproximadamente, 40% de exercícios de reforço, 40% de</p><p>exercícios de criatividade e 20% de projetos de programação.</p><p>Conteúdo interativo disponível na plataforma de ensino!</p><p>https://canaltech.com.br/computacao-na-nuvem/a-evolucao-do-java-ate-a-era-da-nuvem/</p>

Mais conteúdos dessa disciplina