ESTRUTURA CONDICIONAL

Tamanho: px
Começar a partir da página:

Download "ESTRUTURA CONDICIONAL"

Transcrição

1 COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO ESTRUTURA CONDICIONAL FOZ DO IGUAÇU 2013

2 LISTA DE QUADROS QUADRO 1 PSEUDOCÓDIGO PARA VERIFICAR SE UM NÚMERO É ÍMPAR... 7 QUADRO 2 CLASSE JAVA QUE VERIFICA SE UM NÚMERO É ÍMPAR... 7 QUADRO 3 PSEUDOCÓDIGO PARA DETERMINAR O MAIOR DE DOIS NÚMEROS USANDO VARIÁVEL... 8 QUADRO 4 CLASSE JAVA QUE DETERMINA O MAIOR DE DOIS NÚMEROS USANDO VARIÁVEL... 9 QUADRO 5 PSEUDOCÓDIGO COM ALGORITMO QUE ORDENA OS CONTEÚDOS DAS VARIÁVEIS X E Y QUADRO 6 CLASSE JAVA QUE ORDENA OS CONTEÚDOS DE DUAS VARIÁVEIS, NA ORDEM X E Y QUADRO 7 PSEUDOCÓDIGO COM O ALGORITMO PARA CALCULAR O VALOR DO BÔNUS QUADRO 8 CLASSE JAVA QUE CALCULA E EXIBE O VALOR DO BÔNUS QUADRO 9 PSEUDOCÓDIGO PARA CALCULAR A ÁREA DO TRIÂNGULO QUADRO 10 CLASSE JAVA QUE CALCULA A ÁREA DO TRIÂNGULO QUADRO 11 CLASSE JAVA USANDO OPERADOR CONDICIONAL TERNÁRIO 17 QUADRO 12 PSEUDOCÓDIGO QUE VERIFICA E CLASSIFICA UMA TRIÂNGULO VÁLIDO QUADRO 13 CLASSE JAVA QUE VERIFICA E CLASSIFICA UM TRIÂNGULO VÁLIDO QUADRO 14 PSEUDOCÓDIGO QUE ENCONTRA AS RAÍZES DE UMA EQUAÇÃO DO SEGUNDO GRAU QUADRO 15 APLICATIVO JAVA QUE CALCULA E EXIBE AS RAÍZES DE UMA EQUAÇÃO DO SEGUNDO GRAU QUADRO 16 PSEUDOCÓDIGO PARA RETORNAR DADOS DE UMA TABELA QUADRO 17 APLICATIVO JAVA QUE RETORNA DADOS DE UMA TABELA COM SELEÇÃO MÚLTIPLA... 26

3 LISTA DE TABELAS TABELA 1 OPERADORES RELACIONAIS UTILIZADO EM PSEUDOCÓDIGO TABELA 2 OPERADORES RELACIONAIS EM JAVA TABELA 3 OPERADORES LÓGICOS UTILIZADOS EM PSEUDOCÓDIGO TABELA 4 TABELA-VERDADE COM OS OPERADORES LÓGICOS E, OU E NÃO TABELA 5 OPERADORES LÓGICOS EM JAVA TABELA 6 EXEMPLOS DE OPERAÇÕES LÓGICAS TABELA 7 ORDEM DE PRECEDÊNCIA DOS OPERADORES.... 5

4 LISTA DE FIGURAS FIGURA 1 FLUXOGRAMA DE UMA ESTRUTURA CONDICIONAL SIMPLES FIGURA 2 FLUXOGRAMA PARA ESTRUTURA DE SELEÇÃO COMPOSTA FIGURA 3 FLUXOGRAMA PARA ESTRUTURA CONDICIONAL ENCADEADA FIGURA 4 FLUXOGRAMA DA ESTRUTURA CONDICIONAL DE MÚLTIPLA ESCOLHA

5 SUMÁRIO 4 ESTRUTURA CONDICIONAL EXPRESSÕES BOOLEANA Operadores Relacionais Operadores Lógicos Precedência dos Operadores ESTRUTURAS DE SELEÇÃO Estrutura Condicional Simples Estrutura Condicional Composta Operador Condicional Estruturas Condicionais Endadeadas Estruturas Condicionais de Múltipla Escolha EXERCÍCIOS TRABALHOS PRÁTICOS REFERÊNCIA BIBLIOGRÁFICA... 38

6 1 4 ESTRUTURA CONDICIONAL Normalmente, as instruções de um programa são executadas uma após a outra, na ordem em que são escritas. Esse processo é chamado de execução sequencial. Várias declarações Java permitem especificar que a próxima instrução a ser executada não seja necessariamente a próxima na sequência. Isto é chamado de transferência de controle. A ordem em que os comandos são executados em um programa em execução é chamada de fluxo de controle. Como na maioria das linguagens de programação, Java lida com o fluxo de controle com declarações de ramificação e looping. 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). 4.1 EXPRESSÕES BOOLEANA As declarações condicionais em Java permitem ao programador decidir qual instrução será executada em seguida. Cada decisão é baseada em uma expressão booleana, também chamada de condição, no qual uma expressão é avaliada como verdadeira ou falsa. O resultado da expressão determina que instrução será executada em seguida. Todos os condicionais são baseados em expressões booleanas, que utilizam operadores relacionais e lógicos para tomar decisões.

7 Operadores Relacionais A tabela 1 apresenta os operadores relacionais utilizados em pseudocódigo para estabelecer uma relação de comparação entre valores ou expressões. O resultado dessa comparação é sempre um valor lógico (booleano) verdadeiro ou falso. Operador Representação Maior > Maior ou igual >= Menor < Menor ou igual <= Igual a = Diferente de < > Tabela 1 Operadores relacionais utilizado em pseudocódigo. Java também tem vários operadores relacionais que permitem ao orograma decidir a ordenação relativa entre dois valores. A tabela 2 mostra os operadores relacionais utilizado em Java. Operador Representação Maior que > Maior ou igual a >= Menor que < Menor ou igual a <= Igual a == Não igual a!= Tabela 2 Operadores relacionais em Java. Qualquer tipo em Java podem ser comparados usando o teste de igualdade (==) e desigualdade (! =). Somente os tipos numéricos (inteiro, ponto flutuante e operandos de caracteres) podem ser comparados com os operadores de ordenação. Os operadores relacionais têm menor precedência que os operadores aritméticos. Portanto, as operações aritméticas são avaliadas em primeiro lugar,

8 seguidas pelas operações de igualdade e relacionais. Como sempre, os parênteses podem ser usados para especificar explicitamente a ordem de avaliação Operadores Lógicos A tabela 3 apresenta os operadores lógicos utilizados em pseudocódigo para concatenar ou associar expressões que estabelecem uma relação de comparação entre valores. O resultado dessas expressões é sempre um valor lógico (booleano) verdadeiro ou falso. Operador Representação e.e. ou.ou. não.não. Tabela 3 Operadores lógicos utilizados em pseudocódigo. A avaliação das expressões nas quais são utilizados os operadores lógicos está resumida na tabela-verdade apresentada na tabela 4. Operador.e..ou..não Expressão A = 5 B < > 9 A = 5.e. B < > 9 A = 5.ou. B < > 9.não. A = 5 Resultados.v..v..v..v..f. possíveis.v..f..f..v..f..f..v..f..v..v..f..f..f..f..v. Tabela 4 Tabela-verdade com os operadores lógicos E, OU e NÃO. Os operadores lógicos booleanos mostrados na tabela 5 operam apenas em operandos booleanos. Todos os operadores lógicos binários combinam dois valores booleanos para formar um valor booleano resultante. Operador Representação & E lógico OU lógico

9 4 Operador Representação ^ XOR lógico (OU exclusivo) OU && E! Unário NÃO lógico &= Atribuição E = Atribuição OU ^= Atribuição XOR Tabela 5 Operadores lógicos em Java. A tabela 6 mostra o efeito de cada operação lógica: A B A B A & B A ^ B False False False False False True False True False True Fase True True False True True True True True False Tabela 6 Exemplos de operações lógicas Precedência dos Operadores Quando, em um algoritmo ou programa, uma expressão envolve mais de um operador, a ordem da avaliação das expressões segue a precedência deles. A precedência dos operadores define a ordem para execução das operações. Para as operações aritméticas temos a seguinte ordem, que deve ser avaliada sempre da esquerda para a direita. 1. São calculados os fatoriais. 2. São calculadas as funções, potência e raiz quadrada. 3. São calculadas as multiplicações e divisões. 4. São calculadas as adições e subtrações. Exemplo:

10 5 Considerando B 5 e A 2. Substituindo as variáveis pelos valores atribuídos:. 1. As expressões tem a mesma precedência. Então, calculase, obtém-se o valor 4 e em seguida 10mod3 e obtém-se 1, reconstruindo a expressão com os valores obtidos: K * Calcula-se 5 * 4 = 20, reconstruindo a expressão, tem-se K Todas as operações resultantes têm a mesma precedência. Dessa maneira calculando da esquerda para a direta o resultado final é: K 21. A tabela 7 mostra a ordem de precedência dos operadores, da mais alta para a mais baixa. Os parênteses são usados para alterar a precedência de uma operação. Em operações lógicas o operador.e. tem prioridade sobre o operador.ou.. Operador Função realizada ( ), [ ] Parênteses e colchetes são usados para agrupar expressões, determinando precedência. ^ ou ** Operador aritmético de potenciação. *, / Operadores aritméticos de multiplicação e divisão. +, Operadores aritméticos de adição e subtração. Operador de atribuição. =, <, >, <=, >=, < > Operadores relacionais..não. Operador lógico de negação..e. Operador lógico e.ou. Operador lógico ou Tabela 7 Ordem de precedência dos operadores. 4.2 ESTRUTURAS DE SELEÇÃO As estruturas de seleção ou decisão são utilizadas quando existe a necessidade de verificar condições para a realização de uma instrução ou de uma sequência de instruções. Os testes de seleção também podem ser utilizados para verificar opções de escolha.

11 6 A verificação de que uma condição é satisfeita e, a partir daí, a decisão em relação à execução ou não de uma determinada sequência de comandos é chamada de estrutura de seleção, estrutura de decisão ou comando de seleção. Exemplo: supondo que uma pessoa esteja jogando um jogo de computador, para que o jogador passe de uma fase (etapa) para outra, é necessário verificar se ele atingiu a pontuação exigida. Assim, existe uma condição para a realização de uma sequência de instruções para liberar o acesso à próxima fase do jogo. Ao final do jogo, uma pergunta é feita: Deseja continuar jogando?. O jogador poderá escolher entre as respostas sim ou não. Uma decisão é o resultado da avaliação de uma expressão booleana. Toda condição pode ser encarada como uma pergunta que pode ter a resposta verdadeiro (.v.) ou falso (.f.). As estruturas de seleção podem ser do tipo simples, composto ou encadeado Estrutura Condicional Simples São utilizadas para verificar se dada condição é atendida. Se for, um conjunto de instruções deverá ser executado. Se não for, o fluxo de execução do algoritmo seguirá após o fim do bloco de decisão. A sintaxe básica da decisão unidirecional é: se (condição) então [inicio do bloco de decisão] conjunto de instruções fim-se [fim do bloco de decisão] O conjunto de instruções só será executado se a condição for verdadeira. A figura 1 apresenta o fluxograma de uma estrutura condicional simples. Uma condição é uma comparação que possui dois valores possíveis, verdadeiro ou falso. condição.v Conjunto de instruções Fim.F Figura 1 Fluxograma de uma estrutura condicional simples.

12 7 A instrução if é uma instrução de controle de uma única entrada e uma única saída. 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. Exemplo 1: Desenvolvimento de um algoritmo e programa Java que verifique se um número fornecido pelo usuário é ímpar. Se for, exibir a mensagem O número informado é ímpar. O quadro 1 apresenta o pseudocódigo para a solução do problema descrito no exemplo 1. Quadro 1 Pseudocódigo para verificar se um número é ímpar 1 ALGORITMO N_IMPAR 2 DECLARE 3 NUMERO : INTEIRO 4 LEIA (NUMERO) 5 SE (NUMERO MOD 2 = 1) ENTÃO 6 ESCREVA ( O número informado é impar ) 7 FIM-SE 8 FIM Nº_IMPAR O quadro 2 apresenta a classe Java que utiliza caixas de diálogo para receber o número do usuário e devolver a mensagem informando se o número é ímpar. Quadro 2 Classe Java que verifica se um número é ímpar 1 import javax.swing.joptionpane; 2 public class impar { 3 public static void main(string args[]){ 4 int numero; 5 numero = Integer.parseInt(JOptionPane.showInputDialog 6 ("Digite um número")); 7 /*avalia se o número é impar 8 * ao verificar se o resto da divsão por 2 9 * é igual a 1

13 8 10 */ 11 if (numero % 2 == 1){ 12 JOptionPane.showMessageDialog(null, 13 "O número "+numero+" é ímpar"); 14 } 15 } 16 } Exemplo 2: Desenvolvimento de um algoritimo e programa Java que determine 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 o maior procurado é o segundo dos números dados, neste caso o conteúdo da variável MAIOR deve ser alterado. O quadro 3 apresenta o pseudocódigo que representa o algoritmo para resolver o problema enunciado acima. Quadro 3 Pseudocódigo para determinar o maior de dois números usando variável 1 ALGORITMO MAIOR_DE_DOIS 2 DECLARE 3 A, B, MAIOR : INTEIRO 4 ESCREVA ( Digite dois números: ) 5 LEIA (A, B) 6 MAIOR A 7 SE (B > A) ENTÃO 8 MAIOR B 9 FIM-SE 10 ESCREVA ( O maior dos números, A, e, B, é, MAIOR) 11 FIM MAIOR_DE_DOIS O quadro 4 apresenta a classe Java que determina o maior de dois números recebidos via console.

14 9 Quadro 4 Classe Java que determina o maior de dois números usando variável 1 //importa para utilizar a classe Scanner 2 import java.util.*; 3 //o nome da nova classe 4 public class maior_de_dois { 5 //a função principal 6 public static void main(string args[]){ 7 //declara entrada como Scanner, para ler do teclado 8 Scanner entrada = new Scanner(System.in); 9 //declara as três variáveis 10 int a, b, maior; 11 //exibe uma mensagem solicitando a digitação dos números 12 System.out.println("Digite dois números inteiros: "); 13 //armazena os números em a e b 14 a = entrada.nextint(); 15 b = entrada.nextint(); 16 //atribui a para maior 17 maior = a; 18 //verifica se b é maior que a 19 if (b > a){ 20 //se for, atribui b para maior 21 maior = b; 22 } 23 //exibe a mensagem com os dois valores digitados e o valor de maior 24 System.out.printf("O maior dos números %d e %d é %d", a,b,maior); 25 } 26 } Exemplo 3: Desenvolvimento de um algoritmo e programa que ordene os conteúdos das variáveis X e Y. Só há necessidade de se realizar alguma ação se o

15 10 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. O quadro 5 apresenta o pseudocódigo para o problema descrito acima. Quadro 5 Pseudocódigo com algoritmo que ordena os conteúdos das variáveis X e Y 1 ALGORITMO ORDENA 2 DECLARE 3 X, Y, AUX : INTEIRO 4 ESCREVA ( Digite dois números: ) 5 LEIA (X, Y) 6 ESCREVA ( Números digitados: X=, X, Y=, Y) 7 SE (X > Y) ENTÃO 8 AUX = X 9 X = Y 10 Y = AUX 11 FIM-SE 12 ESCREVA ( Números ordenados: X=, X, Y=, Y); 13 FIM ORDENA O quadro 6 apresenta a classe Java que faz a permuta dos conteúdos de X e Y caso o conteúdo de Y seja maior que o de X. Quadro 6 Classe Java que ordena os conteúdos de duas variáveis, na ordem X e Y 1 //para usar a classe Graphics 2 import java.awt.*; 3 //para usar a classe JApplet e JOptionPane 4 import javax.swing.*; 5 //classe principal 6 public class ordena extends JApplet{ 7 //declaração de variáveis de instância 8 int X, Y; 9 //método para receber informações

16 11 10 public void init(){ 11 //variáveis que receberão dados digitados pelo usuário 12 String num1, num2; 13 //variável auxiliar para ordenação 14 int AUX; 15 //atribui o valor digitado para num1 e num2 16 num1 = JOptionPane.showInputDialog( 17 "Digite o valor de X"); 18 num2 = JOptionPane.showInputDialog( 19 "Digite o valor de Y"); 20 //atribui num1 e num2 para X e Y 21 X = Integer.parseInt(num1); 22 Y = Integer.parseInt(num2); 23 //mostra os valores de X e Y na ordem que foram digitados 24 JOptionPane.showMessageDialog(null, 25 "Números digitados: X "+X 26 +" Y "+Y); 27 //verifica se X é maior que Y 28 if (X > Y){//se for 29 //atribui X para a variável auxiliar 30 AUX = X; 31 //atribui Y para X 32 X = Y; 33 /*Y receberá o valor de X 34 * que ficou armazenado 35 * na variável auxiliar 36 */ 37 Y = AUX; 38 } 39 } 40 public void paint(graphics g){ 41 super.paint(g); 42 //desenha um retângulo

17 12 43 g.drawrect(10, 10, 200, 30); 44 //escreve os valores ordenados de X e Y 45 g.drawstring("números ordenados: X "+X 46 +" Y "+Y, 20, 30); 47 } 48 } Estrutura Condicional Composta A estrutura de seleção composta prevê dois conjuntos de instruções para serem realizados de acordo com a avaliação da condição: um conjunto de instruções que será realizado quando a condição resultar verdadeiro e um conjunto de instruções para resultado falso. se (condição) então conjunto de instruções A senão conjunto de instruções B fim-se A figura 2 apresenta o fluxograma para estrutura de seleção composta. Se a condição for verdadeira, será executado o conjunto de instruções A; caso contrário, se a condição for falsa, será executado o conjunto de instruções B. condição.v. Conjunto de instruções A Fim.F. Conjunto de instruções B Figura 2 Fluxograma para estrutura de seleção composta.

18 13 A instrução de seleção dupla if-else permite que o programa especifique uma ação a realizar quando a condição é verdadeira e uma ação diferente quando a condição é falsa. Exemplo 4: A empresa XSoftwares 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. O quadro 7 e o quadro 8 apresentam o pseudocódigo e uma classe Java capaz de calcular e exibir o valor do bônus. Para resolver o problema é necessário conhecer o valor do salário e o tempo de serviço do funcionário. Quadro 7 Pseudocódigo com o algoritmo para calcular o valor do bônus 1 ALGORITMO PREMIO 2 DECLARE 3 SALARIO, BONUS : REAL 4 TEMPO : INTEIRO 5 LER (SALARIO) 6 LER (TEMPO) 7 SE (TEMPO >= 5) ENTÃO 8 BONUS SALARIO * SENÃO 10 BONUS SALARIO * FIM-SE 12 ESCREVA ( O valor do bônus é, BONUS) 13 FIM PREMIO Quadro 8 Classe Java que calcula e exibe o valor do bônus 1 import javax.swing.joptionpane; 2 public class bonus { 3 public static void main(string args[]){ 4 //declaração das variáveis necessárias para a resolução do problema 5 float salario, premio; 6 int tempo;

19 14 7 //leitura (entrada) dos valores com as conversões adequadas 8 salario = Float.parseFloat(JOptionPane.showInputDialog( 9 "Salário")); 10 tempo = Integer.parseInt(JOptionPane.showInputDialog( 11 "Tempo de empresa")); 12 //avalia a condição: if (tempo >= 5){ 15 //se o resultado for verdadeiro 16 premio = salario * 0.20f; 17 } 18 else{ 19 //se o resultado for falso 20 premio = salario * 0.10f; 21 } 22 JOptionPane.showMessageDialog(null, "O valor do bônus é: "+premio); 23 } 24 } Exemplo 5: Desenvolvimento do algoritmo e programa Java que 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. O quadro 9 apresenta o pseudocódigo com o algoritmo que calcula a área do triângulo a partir do comprimento dos seus lados. Quadro 9 Pseudocódigo para calcular a área do triângulo 1 ALGORITMO AREA_TRIANGULO 2 DECLARE 3 X, Y, Z, AREA, SEMIPER : REAL 4 ESCREVA ( Digite os comprimentos dos lados do triângulo: ) 5 LEIA (X, Y, Z);

20 15 6 SE (X < Y + Z).E. (Y < X + Z).E. (Z < X + Y) ENTÃO 7 SEMIPER (X + Y + Z) / 2 8 AREA 9 ESCREVA ( A área do triângulo é:,area:0:2); 10 SENÃO 11 ESCREVA ( Os valores não podem ser comprimentos dos lados de um triângulo ); 12 FIM-SE 13 FIM AREA_TRIANGULO O quadro 10 mostra a classe Java que calcula a área do triângulo. Essa classe usa caixas de diálogos para receber os valores dos lados do triângulo. O resultado da área do triângulo é exibido no formato com 3 casas decimais. Quadro 10 Classe Java que calcula a área do triângulo 1 //para usar a classe JOptionPane 2 import javax.swing.*; 3 //para formatar números reais 4 import java.text.decimalformat; 5 //classe principal 6 public class area_triangulo { 7 //função principal 8 public static void main(string args[]){ 9 //num_real recebe o formato de número decimal 10 DecimalFormat num_real = new DecimalFormat ("0.000"); 11 //declaração das variáveis 12 float x, y, z, area, semiper; 13 //atribuição dos valores para x, y e z 14 x = Float.parseFloat(JOptionPane.showInputDialog( 15 "Digite o primeiro lado: ")); 16 y = Float.parseFloat(JOptionPane.showInputDialog( 17 "Digite o segundo lado: "));

21 16 18 z = Float.parseFloat(JOptionPane.showInputDialog( 19 "Digite o terceiro lado: ")); 20 //verifica se cada lado é menor que a soma dos outros dois 21 if ((x < y+z) && (y < x+z) && (z < x+y)){//se for 22 //acha o semiperímetro 23 semiper = (x + y + z)/2; 24 //calcula a área 25 area = (float)math.sqrt(semiper* 26 (semiper-x)*(semiper-y)*(semiper-z)); 27 //exibe a área no formato de num_real 28 JOptionPane.showMessageDialog(null, 29 "A área do triângulo é: "+num_real.format(area)); 30 } 31 else{//caso a verificação seja falsa 32 //exibe a mensagem informando que não é um triângulo 33 JOptionPane.showMessageDialog(null, 34 "Os valores não podem ser comprimentos dos lados de um triângulo"); 35 } 36 } 37 } 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, o segundo operando (entre o? e :) é o valor da expressão condicional se a expressão 1 Significa que ele recebe três operandos.

22 17 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 6: O quadro 11 apresenta uma classe Java que imprime Aprovado se a média do aluno for maior ou igual a 60, mas imprime Reprovado se for menor que 60. Quadro 11 Classe Java usando operador condicional ternário 1 import java.util.scanner; 2 public class mediaaluno { 3 public static void main(string args[]){ 4 Scanner entrada = new Scanner(System.in); 5 float media; 6 System.out.print("Digite a média do aluno: "); 7 media = entrada.nextfloat(); 8 System.out.println(media>=60? "Aprovado" : "Reprovado"); 9 } 10 } Estruturas Condicionais Endadeadas Uma estrutura de seleção encadeada é uma sequência de testes de seleção, os quais serão executados ou não de acordo com o resultado das condições e com o encadeamento dos testes. Um teste de seleção pode ter dois conjuntos de instruções, um para resultado verdadeiro e outro para falso, porém esses conjuntos de instruções podem conter outros testes de seleção, que, por sua vez, também podem conter outros, e assim por diante. se (condição_1) então se (condição_2) então conjunto de instruções A senão conjunto de instruções B

23 18 fim-se senão conjunto de instruções C fim-se Se a condição_1 resultar verdadeiro, então será realizado o teste da condição_2; se esse teste resultar verdadeiro, será realizado o conjunto de instruções A; se resultar falso, será realizado o conjunto de instruções B. Se o teste da condição_1 resultar falso, será realizado o conjunto de instruções C. A figura 3 apresenta o fluxograma que representa a descrição acima. Condição _1.V. Condição _2.V. Conjunto de instruções A Fim.F..F. Conjunto de instruções B Conjunto de instruções C Figura 3 Fluxograma para estrutura condicional encadeada. Um programa Java pode testar múltiplos casos colocando instruções if-else dentro de outras instruções if-else criando instruções if-else aninhadas. Exemplo 7: Desenvolvimento de um algoritmo e programa que recebe três valores fornecidos pelo usuário, que representam os lados de um triângulo. Verificase, então, se os valores formam um triângulo, classificando-o como: a) equilátero: três lados iguais; b) isósceles: dois lados iguais; c) escaleno: três lados diferentes Deve-se lembrar que, para formar um triângulo, nenhum dos lados pode ser igual a zero, um lado não pode ser maior que a soma dos outros dois. O quadro 12 representa o pseudocódigo para resolver o exemplo, e o quadro 13 apresenta a classe Java que verifica e classifica um triângulo válido. Quadro 12 Pseudocódigo que verifica e classifica uma triângulo válido

24 19 1 ALGORITMO TRIANGULO 2 DECLARE 3 A, B, C : INTEIRO 4 LER (A, B, C) 5 SE (A <> 0).E. (B <> 0).E. (C <> 0) ENTÃO 6 SE (A + B > C).E. (A + C > B).E. (B + C > A) ENTÃO 7 SE (A <> B).E. (A <> C).E. (B <> C) ENTÃO 8 ESCREVA ( É um triângulo escaleno ) 9 SENÃO 10 SE (A = B).OU. (B = C) ENTÃO 11 ESCREVA ( É um triângulo equilátero ) 12 SENÃO 13 ESCREVA ( É um triângulo isósceles ) 14 FIM-SE 15 FIM-SE 16 SENÃO 17 ESCREVA ( Os valores não formam um triângulo ) 18 FIM-SE 19 ESCREVA ( Os valores não formam um triângulo ) 20 FIM-SE 21 FIM TRIANGULO Quadro 13 Classe Java que verifica e classifica um triângulo válido 1 import javax.swing.*; 2 public class triangulo { 3 public static void main (String args[]){ 4 //declara as variáveis A, B e C 5 int A, B, C; 6 //inicializa as variáveis 7 A = Integer.parseInt(JOptionPane.showInputDialog("Lado A")); 8 B = Integer.parseInt(JOptionPane.showInputDialog("Lado B")); 9 C = Integer.parseInt(JOptionPane.showInputDialog("Lado C"));

25 20 10 //verifica se os lados não são iguais a zero 11 if (A!= 0 && B!= 0 && C!= 0){ 12 //verifica se um lado não é maior que a soma dos outros dois 13 if (A+B > C && A+C>B && B+C > A){ 14 //verifica se todos os lados são diferentes 15 if (A!= B && A!= C && B!= C){ 16 JOptionPane.showMessageDialog(null, "Escaleno"); 17 } 18 //caso não sejam todos diferentes 19 else{ 20 //verifica se todos os lados são iguais 21 if (A == B && B == C){ 22 JOptionPane.showMessageDialog(null, "Equilátero"); 23 } 24 //caso não sejam todos iguais 25 else{ 26 JOptionPane.showMessageDialog(null, "Isósceles"); 27 } 28 } 29 } 30 //caso a soma de dois lados não seja maior que um dos lados 31 else{ 32 JOptionPane.showMessageDialog(null, "Não forma um triângulo"); 33 } 34 } 35 //caso algum dos lados seja igual a zero 36 else{

26 21 37 JOptionPane.showMessageDialog(null, "Não forma um triângulo"); 38 } 39 } 40 } Exemplo 8: Desenvolvimento de um algoritmo e aplicativo Java que determina as raízes de uma equação do segundo grau. Sabendo que uma equação ax2 + bx + c = 0 só tem raízes reais se b2 4ac 0. Além disso, para que ela seja do segundo grau, deve-se ter a 0. No quadro 14 é apresentado o pseudocódigo que resolve o problema do exemplo acima. O quadro 15 cria o aplicativo Java que executa o algoritmo. Quadro 14 Pseudocódigo que encontra as raízes de uma equação do segundo grau 1 ALGORITMO EQ_GRAU2 2 DECLARE 3 A, B, C, X1, X2, DELTA : REAL; 4 LEIA (A, B, C) 5 SE (A <> 0) ENTÃO 6 DELTA 7 SE DELTA >= 0 ENTÃO 8 X1 9 X2 10 ESCREVA ( Raízes da equação:, X1, e, X2) 11 SENÃO 12 ESCREVA ( A equação dada não tem raízes reais ) 13 FIM-SE 14 SENÃO 15 ESCREVA ( A equação não é do segundo grau ) 16 FIM-SE 17 FIM EQ_GRAU2

27 22 Quadro 15 Aplicativo Java que calcula e exibe as raízes de uma equação do segundo grau 1 //para ler do teclado 2 import java.util.scanner; 3 //para formatar número decimal 4 import java.text.decimalformat; 5 //programa 6 public class eqgrau2 { 7 //principal 8 public static void main(string args[]){ 9 //declara entrada para ler do teclado 10 Scanner entrada = new Scanner(System.in); 11 //declara num_real para números decimais 12 DecimalFormat num_real = new DecimalFormat("0.0"); 13 //declaração de variáveis 14 float a, b, c, x1, x2, delta; 15 //recebe os valores da equação 16 System.out.println("Digite os valores de a, b e c: "); 17 //atribui os valores às variáveis 18 a = entrada.nextfloat(); 19 b = entrada.nextfloat(); 20 c = entrada.nextfloat(); 21 //verifica se o valor de a é diferende de 0 22 if (a!= 0){//se for diferente de 0 23 //calcula o valor de delta 24 delta = (float)math.pow(b, 2)-4*a*c; 25 //verifica se delta é maior ou igual a 0 26 if (delta >= 0){//se for 27 //calcula as raízes 28 x1 = (-b+(float)math.sqrt(delta))/2*a;

28 23 29 x2 = (-b-(float)math.sqrt(delta))/2*a; 30 //exibe o valor das raízes 31 System.out.println("Raízes da equação: "+ 32 num_real.format(x1)+" e "+ 33 num_real.format(x2)); 34 } 35 //se delta não for maior ou igual a 0 36 else{ 37 //exibe a mensagem 38 System.out.println("A equação dada não tem raízes reais"); 39 } 40 } 41 //se a for igual a 0 42 else{ 43 //exibe a mensagem 44 System.out.println("A equação não é do segundo grau"); 45 } 46 } 47 } Estruturas Condicionais de Múltipla Escolha Uma estrutura de seleção de múltipla escolha (ou estrutura de seleção homogênea) funciona como um conjunto de opções para escolha. Existem duas maneiras para representá-la: Utilizando a estrutura condicional encadeada da instrução if; se (variável = tal_coisa_1) então faça conjunto de instruções A senão se (variável = tal_coisa_2) então

29 24 faça conjunto de instruções B senão se (variável = tal_coisa3) então faça conjunto de instruções C senão faça conjunto de instruções D fim-se fim-se fim-se Utilizando a estrutura com seleção de múltipla escolha da instrução switch case. escolha variável caso tal_coisa_1: faça conjunto de instruções A caso tal_coisa_2 faça conjunto de instruções B caso tal_coisa_3 faça conjunto de instruções C caso contrário faça conjunto de instruções D fim-escolha A segunda opção é a mais indicada. Cada rótulo da estrutura possui o próprio bloco e é separado dele pela marca : (dois pontos). Todos os rótulos são dispostos um nível de indentação 2 acima no nível onde está a palavra chave escolha (switch). Blocos de instruções dispõem-se um nível de indentação acima daquele onde estão os rótulos. Após a avaliação da expressão (ou variável) de controle um valor inteiro é obtido, o rótulo com este valor selecionado e por fim o bloco executado. Quando a execução encerra, ocorre um desvio para fora da estrutura para que outros blocos não sejam executados. A figura 4 mostra a representação do fluxograma para a estrutura condicional de múltipla escolha. 2 Espaço entre a margem e o início do texto em um parágrafo.

30 25 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 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. Tal_coisa_ 1 Conjunto de instruções A... Tal_coisa_ 2 Conjunto de instruções A... Tal_coisa_ 3 Conjunto de instruções A... Conjunto de instruções D Figura 4 Fluxograma da estrutura condicional de múltipla escolha. Exemplo 9: Desenvolvimento de um algoritmo e aplicativo Java que leia o código de um produto e exiba seu nome de acordo com a tabela abaixo: Código do produto Nome do produto 1 Caderno 2 Lápis 3 Borracha Qualquer outro Diversos O quadro 16 apresenta o pseudocódigo que cria o algoritmo sugerido usando seleção múltipla, e o quadro 17 apresenta o aplicativo Java que executa o algoritmo. Quadro 16 Pseudocódigo para retornar dados de uma tabela 1 ALGORITMO PRODUTO 2 DECLARE 3 CODIGO : INTEIRO 4 LEIA (CODIGO) 5 ESCOLHA CODIGO

31 26 6 CASO 1 : ESCREVA ( O produto é caderno ) 7 CASO 2 : ESCREVA ( O produto é lápis ) 8 CASO 3 : ESCREVA ( O produto é borracha ) 9 CASO CONTRÁRIO : ESCREVA ( Diversos ) 10 FIM-ESCOLHA 11 FIM PRODUTO Quadro 17 Aplicativo Java que retorna dados de uma tabela com seleção múltipla 1 //para mostrar caixas de diálogo 2 import javax.swing.joptionpane; 3 //programa 4 public class exibeproduto { 5 //principal 6 public static void main(string args[]){ 7 //declaração de variáveis 8 int codigo; 9 String texto; 10 //atribuição do valor do código do produto 11 codigo = Integer.parseInt(JOptionPane.showInputDialog 12 ("Digite o código do produto")); 13 //verifica o valor do código 14 switch (codigo){ 15 //caso seja 1 16 case 1 : 17 //atribui a string à variável texto 18 texto = "O produto é caderno"; 19 //interrompe o fluxo 20 break; 21 //caso seja 2 22 case 2: 23 //atribui a string à variável texto 24 texto = "O produto é lápis"; 25 //interrompe o fluxo

32 27 26 break; 27 //caso seja 3 28 case 3: 29 //atribui a string à variável texto 30 texto = "O produto é borracha"; 31 //interrompe o fluxo 32 break; 33 //caso o código não seja 1, 2 ou 3 34 default : 35 //atribui a string à variável texto 36 texto = "Diversos"; 37 } 38 //exibe o conteúdo da variável texto 39 JOptionPane.showMessageDialog(null, texto); 40 } 41 } 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. 4.3 EXERCÍCIOS 1. Dadas as expressões a seguir, identifique o resultado verdadeiro ou falso que cada uma delas retornaria, em função dos valores dados. A 2; B 7; a) A = 3.e. B = 7 d) A <= 2.e. B = 7 b) A = 2.e. B = 5 e).não. A = 2.e. B = 7 c) A < 3.ou. B < > 7 f) A < 5.e. B > 2.ou. B < > 7 2. Complete a tabela-verdade a seguir: Operador

33 28.e..ou..não. Expressão A = 4 B < > 5 A = 4.e. B < > 5 A = 4.ou. B < > 5.não. A = 4 Resultados possíveis 3. 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. 4. 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.

34 29 5. Suponha que n1 e n2 são duas variáveis int que foram dadas valores. Adicione uma expressão booleana que retorna verdadeiro se o valor de n1 é maior ou igual ao valor de n2, caso contrário, ele deve voltar falso. 6. Suponha que n1 e n2 são duas variáveis int que foram dadas valores. Escreva uma declaração if-else que exiba "n1" se n1 é maior ou igual a n2, e escreva "n2" de outra forma. 7. Suponha var1 e var2 duas variáveis que receberam valores. Como teste se eles são iguais quando as variáveis são do tipo int? Como testar se são iguais quando as variáveis são do tipo String? 8. Suponha que proximapalavra é uma variável String que recebeu um valor de String que consiste inteiramente em letras. Escreva um código Java que exibe a mensagem "Primeira metade do alfabeto", desde que proximapalavra precede "N" em ordem alfabética. Se proximapalavra não preceder "N" em ordem alfabética, o código deve emitir "Segunda metade do alfabeto". (Note-se que "N" usa aspas para produzir um valor String, em vez de usar aspas simples para produzir um valor de char). 9. Escreva uma instrução if-else que exiba como saída a palavra "passou" desde que o valor da variável exame seja maior do que ou igual a 6,0 e também o valor da variável programaconcluido seja maior do que ou igual a 1,0. Caso contrário, a declaração if-else deve imprimir a palavra "falhou". 10. Escreva uma instrução if-else que exiba como saída a palavra "emergência" desde que o valor da variável de pressao seja maior do que 160 ou o valor da variável de temperatura seja maior do que ou igual a 40. Caso contrário, a declaração if-else deve imprimir a palavra "OK". 11. Determine o valor verdadeiro ou falso, de cada uma das expressões booleanas abaixo, assumindo que o valor da variável de contagem é 0 e o valor da variável limite é 10. a) (contagem == 0) && (limite < 20) b) contagem == 0 && limite < 20 c) (limite > 20) (contagem < 5) d)!(contagem == 12) e) (contagem == 1) && (x < y) f) (contagem < 10) (x < y) g)!( ((contagem < 10) (x < y)) && (count >= 0) )

35 30 h) ((limite/contagem) > 7) (limite < 20) i) (limite < 20) ((limite/contagem) > 7) j) ((limite/contagem) > 7) && (limite < 0) k) (limite < 0) && ((limite/contagem) > 7) 12. A seguinte sequência produz uma divisão por zero? int j = -1; if ((j > 0) && (1/(j+1) > 10)) System.out.println(i); 13. O que está errado com o seguinte fragmento de código? Reescreva-o para que ele produza uma saída correta. if (total == MAX) if (total < soma) System.out.println ("total == MAX and < soma"); else System.out.println ("total is not equal to MAX"); 14. O que está errado com o seguinte fragmento de código? Este código compilará se for parte de um programa? Explique. if (tamanho = MIN_TAMANHO) System.out.println ("O tamanho é mínimo."); 15. Qual saída é produzida pelos seguintes fragmentos de códigos? a) int num = 87, max = 25; if (num >= max*2) System.out.println ("maçã"); System.out.println ("laranja"); System.out.println ("pêra"); b) int limit = 100, num1 = 15, num2 = 40; if (limit <= limit) { if (num1 == num2) System.out.println ("lemon"); System.out.println ("lime"); } System.out.println ("grape"); 16. Considere o seguinte trecho de código:

36 31 if(i == 10.0) System.out.println("verdadeiro"); Qual das seguintes declarações da variável i irá compilar sem erros e imprimir verdadeiro quando o programa é executado? a) int i = 012; b) int i = 10.0F; c) int i = 10L; d) int i = 10,0; 17. Considere o seguinte segmento de código: Boolean b = null; System.out.println(b? true : false); Qual das seguintes opções descreve corretamente o comportamento deste segmento de código? a) Este código irá resultar num erro do compilador, uma vez que um tipo de referência (de tipo booleano) não pode ser usado como parte de expressão, para verificação de estado. b) Este código irá resultar em lançar um NullPointerException. c) Este código irá imprimir verdade no console. d) Este código irá imprimir falso no console. 18. Considere o seguinte programa: class PrintlnTest { public static void main(string[] args) { String dois = "2"; System.out.println(" = " Integer.parseInt(dois) ); // ANALISE } } Qual das seguintes opções descreve corretamente o comportamento desse programa? a) Quando compilado, este programa vai dar um erro do compilador em linha marcada com comentários ANALISE por falta de um manipulador catch para NumberFormatException. b) Quando executado, o programa imprime o seguinte: = c) Quando executado, o programa exibe o seguinte: = 10.

37 32 d) Quando executado, o programa imprime o seguinte: = 127. e) Quando executado, o programa imprime o seguinte: = 19. f) Quando executado, o programa lança um NumberFormatException na linha marcada com comentário ANALISE. 19. Considere o seguinte programa e prever o resultado: class Test { public static void main(string []args) { int a = 7, b = 10; System.out.printf("no:%2$s and %1$s", a, b); System.out.printf("\nno:2$s and 1$s", a, b); } } a) no: 10 e 7 no: 2$s e 1$s b) no: 7 e 10 no: 2$s e 1$s c) no: 10 e 7 no: 10 e 7 d) no: 7 e 10 no: 7 e 10 e) Este programa irá resultar em erro do compilador (s). 20. Assinale V para verdadeiro ou F para falso: ( ) Nas estruturas de controle, tais como as estruturas de seleção simples, compostas ou encadeadas, é necessário verificar as condições para a realização de uma instrução ou sequência de instruções. ( ) A instrução de desvio incondicional realiza a transferência do controle da execução para um lugar especificado no programa. ( ) As instruções de seleção bidirecional e as construções de seleção múltipla são tipos de instruções iterativas. ( ) Seleção bidirecional e n-direcional ou múltipla são tipos de instruções de seleção. 21. Verifique se um número fornecido pelo usuário é par ou impar. Apresente uma mensagem mostrando o número digitado e o resultado do teste.

38 Um aluno realizou três provas de uma disciplina. Considerando o critério abaixo faça um programa que mostre se ele ficou para exame. Em caso positivo, leia a nota do exame e verifique se conseguiu a aprovação ou não. Media = (prova1 + prova2 + prova3)/3 A média deve ser maior ou igual a 7,0. Se não conseguir, a nova média deve ser: Final = (Media + Exame)/2 Nesse caso, a média final deve ser maior ou igual a 5, A nota final de um estudante é calculada a partir de três notas atribuídas respectivamente a um trabalho de laboratório, a uma avaliação semestral e a um exame final. A média das três notas mencionadas anteriormente obedece aos pesos a seguir: Nota Peso Trabalho de laboratório 2 Avaliação semestral 3 Exame final 5 Faça um programa que receba as três notas, calcule e mostre a média ponderada e o conceito que segue a tabela abaixo: Média ponderada Conceito 8,0 a 10,0 A 7,0 a 8,0 B 6,0 a 7,0 C 5,0 a 6,0 D 0,0 a 5,0 E 24. Faça um programa que recebe três notas de um aluno, calcule e mostre a média aritmética e a mensagem que segue a tabela abaixo. Para alunos de exame, calcule e mostre a nota que deverá ser tirada no exame para aprovação, considerando que a média no exame é 6,0. Média aritmética Mensagem 0,0 a 3,0 Reprovado 3,0 a 7,0 Exame 7,0 a 10,0 Aprovado 25. Usando o operador condicional faça um programa que receba dois números e mostre o maior.

39 Faça um programa que receba três números e mostre-os em ordem crescente. 27. Faça um programa que mostre o menu de opções a seguir, receba a opção do usuário e os dados necessários para executar cada operação. Menu de opções: 1. Somar dois números 2. Raiz quadrada de um número Digite a opção desejada: 28. Faça um programa que receba o código corresponde ao cargo de um funcionário e seu salário atual e mostre o cargo, o valor do aumento e seu novo salário. Os cargos estão na tabela a seguir. Código Cargo Percentual 1 Escriturário 5% 2 Secretário 3,5% 3 Caixa 20% 4 Gerente 10% 5 Diretor Não tem aumento 29. Faça um programa que receba dois números e execute as operações listadas a seguir de acordo com a escolha do usuário. Escolha do usuário Operação 1 Média entre os números digitados 2 Diferença do maior pelo menor 3 Produto entre os números digitados 4 Divisão do primeiro pelo segundo Se a opção digitada for inválida, mostrar uma mensagem de erro e terminar a execução do programa. Lembre-se: na operação 4 o segundo número deve ser diferente de zero. 30. Uma agência bancária possui dois tipos de investimentos, conforme o quadro a seguir. Faça um programa que receba o tipo de investimento e o valor do investimento e que calcule e mostre o valor corrigido de acordo com o tipo de investimento. Tipo Descrição Rendimento mensal 1 Poupança 3% 2 Fundos de renda fixa 4%

40 TRABALHOS PRÁTICOS 1. Elabore um algoritmo para validação do CPF (cadastro de pessoa física). O número do CPF é composto de 11 dígitos, sendo que os dois últimos são os dígitos verificadores. A validação do CPF é feita por meio de cálculos com base nos 9 primeiros dígitos. As etapas desse cálculo são descritas a seguir. Para isso utilize o CPF exemplo ABC.DEF.GHI-XY. Calculo do X Multiplicar o dígito A por 10, o dígito B por 9, o dígito C por 8 e assim sucessivamente. Até o dígito I, que deverá ser multiplicado por 2. Calcular a soma entre todos os valores calculados no passo 1. Dividir o valor obtido no passo 2 por 11. Essa divisão deve ser por inteiro. Se o resto da divisão for menor que 2, o primeiro dígito verificador será 0. Caso contrário, subtrai-se de 11 o valor obtido. Calculo do Y Multiplicar o dígito A por 11, o dígito B por 10, o dígito C por 9, e assim sucessivamente até o dígito Y, que deverá ser multiplicado por 2. Calcular a soma entre todos os valores calculados no passo 1. Dividir o valor obtido no passo 2 por 11. Essa divisão deve ser por inteiros. Se o resto da divisão for menor que 2, o primeiro dígito verificador será 0. Caso contrário, subtrai-se de 11 o valor obtido. 2. Faça um programa que receba: O código de um produto comprado, supondo que a digitação do código do produto seja sempre válida (um número inteiro entre 1 e 10); O peso do produto em quilos; O código do país de origem, supondo que a digitação do código do país seja sempre válida (um número inteiro entre 1 e 3). Código do país de origem Imposto 1 0% 2 15%

41 % Código do produto Preço por grama 1 a a a Calcule e mostre: O peso do produto convertido em gramas; O preço total do produto comprado; O valor do imposto, sabendo-se que o imposto é cobrado sobre o preço total do produto comprado e que depende do país de origem. O valor total, preço total do produto mais imposto. 3. Faça um programa que receba o valor do salário mínimo, o número de horas trabalhadas, o número de dependentes do funcionário e a quantidade de horas extras trabalhadas. Calcule e mostre o salário a receber do funcionário de acordo com as regras a seguir: O valor da hora trabalhada é igual a 1/5 do salário mínimo; O salário do mês é igual ao número de horas trabalhadas multiplicado pelo valor da hora trabalhada; Para cada dependente acrescentar R$ 27,24; Para cada hora extra trabalhada calcular o valor da hora trabalhada acrescida de 50%; O salário bruto é igual ao salário do mês mais o valor dos dependentes mais o valor das horas extras; Calcular o valor do imposto de renda retido na fonte de acordo com a tabela a seguir: Salário bruto IRRF Isento Até R$ 1.499,15 de R$ 1.499,16 até R$ 7,5% 2.246,75 de R$ 2.246,76 até R$ 15% 2.995,70

42 37 de R$ 2.995,71 até R$ 22,5% 3.743,19 acima de R$ 3.743,19 27,5% O salário líquido é igual ao salário bruto menos IRRF; A gratificação de acordo com a tabela a seguir: Salário líquido Gratificação até R$ 650,00 R$ 100,00 acima de R$ R$ 50,00 650,00 O salário a receber do funcionário é igual ao salário líquido mais gratificação. 4. Faça um programa que apresente o menu de opções a seguir: Menu de opções: 1. Imposto 2. Novo salário 3. Classificação Digite a opção desejada: Permita ao usuário escolher a opção desejada, receba os dados necessários para executar a operação e mostre o resultado. Verifique a possibilidade de opção inválida e não se preocupe com restrições como salário negativo Opção 1: receber o salário de um funcionário, calcular e mostrar o valor do imposto usando as regras a seguir: Salários Percentual de imposto até R$ 1.106,90 8% de R$ 1.106,91 a R$ 1.844,83 9% de R$ 1.844,84 a R$ 3.689,66 11% Opção 2: receber o salário de um funcionário, calcular e mostrar o valor do novo salário, usando as regras a seguir: Salário Aumento Maiores que R$ 1.500,00 R$ 25,00 De R$ 750,00 (inclusive) até R$ (inclusive) R$ 50,00 De R$ 450,00 (inclusive) a R$ 750,00 R$ 75,00 Menores que R$ 450,00 R$ 100,00

43 38 Opção 3: receber o salário de um funcionário e mostrar sua classificação usando a tabela a seguir: Salário Classificação Até R$ 700,00 (inclusive) Mal remunerado Maiores que R$ 700,00 Bem remunerado 5. Considere a situação em que um cliente faz uma determinada compra em uma loja. Ao realizar o pagamento, são-lhe oferecidas as seguintes condições para pagamento: Pagamento à vista: 15% de desconto sobre o valor total da compra. Pagamento com cheque pré-datado para 30 dias: 10% de desconto sobre o valor total da compra. Pagamento parcelado em 3 vezes: 5% de desconto sobre o valor total da compra. Pagamento parcelado em 6 vezes: não tem desconto. Pagamento parcelado em 12 vezes: 8% de acréscimo sobre o valor total da compra. De acordo com o valor total da compra, verifique a opção de pagamento do cliente, calcule o valor final da compra e, se a escolha for por pagamento parcelado, calcule também o valor das parcelas. Apresente ao usuário uma mensagem com o valor total da compra, o valor final da compra, a diferença entre os dois, identifique como desconto se a diferença for positiva, como juros se for negativa, mostre, também, a quantidade e o valor das parcelas. 4.5 REFERÊNCIA BIBLIOGRÁFICA ASCENCIO, Ana F. G.; CAMPOS, Edilene A. V. Fundamentos da Programação de Computadores. São Paulo: Pearson Prentice Hall. DEITEL, Paul; DEITEL, Harvey. Java for Programmers, 2 nd ed. Boston: Pearson Education, 2012.

44 39 LEWIS, John; DEPASQUALE, Peter J.; CHASE, Joseph. Java Foundations: Introduction to program design & data structures, 2 nd ed. Boston: Addison- Wesley, 2011 SAVITCH, Walter. Absolute Java, 5 th Ed. Boston: Pearson, SCHIDT, Herbert. Java: The Complete Reference, 7 th Ed. New York: Mc Graw Hill, 2007.

Estrutura Condicional

Estrutura Condicional Estrutura Condicional Lógica de Programação - 1 As estruturas de seleção ou decisão são utilizadas quando existe a necessidade de verificar condições para a realização de uma instrução ou de uma sequência

Leia mais

Estrutura Condicional em Java

Estrutura Condicional em Java 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

Leia mais

Programação de Computadores Profa Jacqueline 1

Programação de Computadores Profa Jacqueline 1 Programação de Computadores Profa Jacqueline 1 REVISÃO Construção de Algoritmos Estruturas de Controle Objetivo: Abordar as técnicas para entrada e saída de dados e as estruturas para controle do fluxo

Leia mais

ESTRUTURA CONDICIONAL E SELEÇÃO

ESTRUTURA CONDICIONAL E SELEÇÃO Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ESTRUTURA CONDICIONAL E SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE OU DECISÃO) Até o momento da disciplina vimos algoritmos e programas

Leia mais

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Já vimos entrada, processamento e saída, que compõem os algoritmos puramente

Leia mais

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida Programação Orientada a Objetos II Java Segunda aula 1 Programação Orientada a Objeto II Tipos de Dados e Variáveis Operadores Operadores aritméticos Operadores relacionais Operadores lógicos Operadores

Leia mais

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Até o momento da disciplina vimos comandos de entrada, processamento e saída

Leia mais

Seleção Múltipla Laços (while, do-while, for) AULA 05

Seleção Múltipla Laços (while, do-while, for) AULA 05 Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Seleção Múltipla Laços (while, do-while, for) AULA 05 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares scbs@cin.ufpe.br Até aqui...

Leia mais

Comando de Seleção em Java

Comando de Seleção em Java Universidade Federal do ABC (UFABC) Disciplina: Processamento da Informação (BC-0505) Assunto: Comando de Seleção Comando de Seleção em Java Conteúdo 1. Introdução... 1 2. Comando de seleção... 2 3. Comandos

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If... Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: Operadores relacionais e lógicos estruturas condicionais If... Else Switch Prof. Renato Pimentel 1 Operações relacionais Operações

Leia mais

Programação Estruturada

Programação Estruturada Algoritmos e Técnicas - Estruturas de Controle de Fluxo - Programação Estruturada Programação estruturada é a técnica de construir e formular algoritmos de uma forma sistemática. Utilizada para apresentar

Leia mais

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes Aula 08 Estruturas de Condição Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Entrada de Dados; Estruturas de Controle: Estrutura de Sequência;

Leia mais

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar...

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana Estrutura Condicional: aninhada, seleção de casos e outras. Aula 06 Prof. Piva Exercício... Faça um algoritmo que leia dois números inteiros e

Leia mais

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com

Leia mais

Estrutura de Condição, Escolha e Repetição

Estrutura de Condição, Escolha e Repetição Estrutura Condicional Se, Laços de repetição Estrutura de Condição, Escolha e Repetição Profª Fabíola Gonçalves C. Ribeiro Conteúdo Expressões Aritméticas Funções Expressões Lógicas Operadores Lógicos

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO FOZ DO IGUAÇU 2013 LISTA

Leia mais

Linguagem Java - Introdução

Linguagem Java - Introdução Linguagem Java - Introdução Identificadores válidos resultado teste01 _numeroclientes $fortuna Identificadores Identificadores inválidos 101dalmatas 34 #x Palavras reservadas abstract assert*** boolean

Leia mais

Oficina de Python Prof. Me. José Carlos Perini

Oficina de Python Prof. Me. José Carlos Perini Oficina de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco Mestrado em Ciência da Computação

Leia mais

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini Apresentação do Professor Professor: José Carlos Perini E-mail: jose.perini@metrocamp.edu.br Blog: http://profperini.com Formação

Leia mais

Oficina de Python Prof. Me. José Carlos Perini

Oficina de Python Prof. Me. José Carlos Perini Oficina de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco Mestrado em Ciência da Computação

Leia mais

Estrutura de decisão

Estrutura de decisão Estrutura de decisão Os comandos de decisão ou desvio fazem parte das técnicas de programação que conduzem a estruturas de programas que não são totalmente sequenciais. Com as instruções de SALTO ou DESVIO

Leia mais

LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 4 ESTRUTURA DE DECISÃO EM C#

LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 4 ESTRUTURA DE DECISÃO EM C# LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 4 ESTRUTURA DE DECISÃO EM C# A estrutura de decisão, em qualquer linguagem de programação, é baseada em expressões lógicas, mais conhecida por lógica booleana

Leia mais

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

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java Linguagem Java Objetivos Compreender como desenvolver algoritmos básicos em JAVA Aprender como escrever programas na Linguagem JAVA baseando-se na Linguagem Portugol aprender as sintaxes equivalentes entre

Leia mais

Estruturas de seleção. Prof.: Jesus

Estruturas de seleção. Prof.: Jesus Estruturas de seleção Prof.: Jesus Estrutura de seleção Etapa em um programa onde uma condição é avaliada e, dependendo do resultado, diferentes ações podem ser realizadas Seleção simples Uma ou mais ações

Leia mais

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1 INE5603 Introdução à POO Prof. A. G. Silva 28 de agosto de 2017 Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de 2017 1 / 1 Comandos de decisão simples e compostas Objetivos: Utilização de controles

Leia mais

Operadores e Estruturas de Decisão. Vanessa Braganholo

Operadores e Estruturas de Decisão. Vanessa Braganholo Operadores e Estruturas de Decisão Vanessa Braganholo vanessa@ic.uff.br Aula de hoje Operadores Aritméticos (usados em contas) Relacionais (usados em comparações numéricas) Lógicos (usados em comparações

Leia mais

Variáveis primitivas e Controle de fluxo

Variáveis primitivas e Controle de fluxo Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Operadores Lógicos; Estruturas de Controle (Decisão) Professor: Charles Leite Fluxo de Controle A ordem com que as instruções são executadas em um programa é chamada

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Expressões aritméticas, relacionais e lógicas Estruturas condicionais

Universidade Federal de Uberlândia Faculdade de Computação. Expressões aritméticas, relacionais e lógicas Estruturas condicionais Universidade Federal de Uberlândia Faculdade de Computação Expressões aritméticas, relacionais e lógicas Estruturas condicionais Prof. Renato Pimentel 1 Expressões aritméticas 2 Prof. Renato Pimentel 1

Leia mais

Introdução à Programação. Expressões Booleanas e Comandos Condicionais

Introdução à Programação. Expressões Booleanas e Comandos Condicionais Introdução à Programação Expressões Booleanas e Comandos Condicionais Comandos Condicionais Misture os ingredientes Unte forma com manteiga Despeje a mistura na forma Algoritmo para preparação de bolo

Leia mais

Lógica e Linguagem de Programação Aula 03 - Estruturas de controle Estrutura Condicional - Exercícios Resolvidos Professor: Danilo Giacobo

Lógica e Linguagem de Programação Aula 03 - Estruturas de controle Estrutura Condicional - Exercícios Resolvidos Professor: Danilo Giacobo Lógica e Linguagem de Programação Aula 03 - Estruturas de controle Estrutura Condicional - Exercícios Resolvidos Professor: Danilo Giacobo Os problemas abaixo foram resolvidos usando a forma de pseudocódigo

Leia mais

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo Linguagem Java Introdução Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Tópicos abordados Histórico da Linguagem Caracterização da Linguagem Criação de Programa Java inicial Entrada e Saída

Leia mais

Algoritmos II prof. Daniel Oliveira

Algoritmos II prof. Daniel Oliveira Algoritmos II prof. Daniel Oliveira Revisar conceitos abordados na disciplina anterior Abordar conceitos vistos com a linguagem C# Variáveis e listas Expressões Estruturas de controle do tipo condicional

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

CAPÍTULO IV. Estruturas Condicionais CAPÍTULO IV ESTRUTURAS CONDICIONAIS ESTRUTURA CONDICIONAL SIMPLES

CAPÍTULO IV. Estruturas Condicionais CAPÍTULO IV ESTRUTURAS CONDICIONAIS ESTRUTURA CONDICIONAL SIMPLES NB217 Algoritmos e Estruturas de Dados I Profa. Rosanna Mara Rocha Silveira Fevereiro/2012 - Versão 4.1 CAPÍTULO IV ESTRUTURAS CONDICIONAIS 35 Dentro dos algoritmos temos comandos especiais utilizados

Leia mais

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza. Fundamentos de Programação Turma CI-240-EST Josiney de Souza josineys@inf.ufpr.br Agenda do Dia Aula 8 (30/09/15) Comentários sobre exercícios propostos Desvio condicional Simples Composto Exercícios Propostos

Leia mais

Programação Procedimental

Programação Procedimental Programação Procedimental Maria Adriana Vidigal de Lima Universidade Federal de Uberlândia - 2013 1 Escrita de Algoritmos 1.1 Técnicas de Programação e Algoritmos Na elaboração de programas maiores e complexos

Leia mais

Sintaxe Básica do Java. João Paulo Q. dos Santos

Sintaxe Básica do Java. João Paulo Q. dos Santos Sintaxe Básica do Java João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Plano de Aula Introdução; Método Main; Variáveis: Tipos primitivos; Referências para Objetos; Operadores; Estruturas: Condicionais

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 4 Estruturas de Condição Profa. Marina Gomes marinagomes@unipampa.edu.br 06/04/2017 Engenharia de Computação - Unipampa 1 Aula de Hoje Estrutura condicional simples Utilização

Leia mais

Professor Mauricio Lederer Algoritmos. Entrada e saída de dados

Professor Mauricio Lederer Algoritmos. Entrada e saída de dados Entrada Algoritmos Entrada e saída de dados Muitas vezes, um algoritmo, para que possa trabalhar, precisa de dados de entrada informados pelo usuário, porque nem sempre é necessário ter esse tipo de dados.

Leia mais

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: http://www.oxnar.com.br/aulas/java ATIVIDADE ELABORAR O PROGRAMA DE CÁLCULOS DE ÁREAS USANDO

Leia mais

Operadores e Estruturas de Decisão

Operadores e Estruturas de Decisão Operadores e Estruturas de Decisão Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Operadores Aritméticos (usados em contas) Relacionais (usados em comparações numéricas) Lógicos (usados

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2 Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador

Leia mais

Comandos em C (cont.)

Comandos em C (cont.) Comandos em C (cont.) Operador ternário:? O operador condicional possui uma opção um pouco estranha. É o único operador C que opera sobre três expressões. Sua sintaxe geral possui a seguinte construção:

Leia mais

Operadores e Estruturas de Decisão

Operadores e Estruturas de Decisão Operadores e Estruturas de Decisão Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Operadores Aritmé=cos (usados em contas) Relacionais (usados em comparações numéricas) Lógicos (usados em

Leia mais

SSC Introdução à Programação para Engenharias. Lista 01 Entrega em 06/04/ h10

SSC Introdução à Programação para Engenharias. Lista 01 Entrega em 06/04/ h10 Nota SSC0304 - Introdução à Programação para Engenharias Lista 01 Entrega em 06/04/2018 08h10 Nome N.º USP Obs 1: Utilize essa primeira página como capa da sua lista de exercícios Obs 2: Esta lista é em

Leia mais

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior ALGORITMOS E APLICAÇÕES FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior Formato Básico do Pseudocódigo Tipos de dados O VisuAlg prevê quatro tipos de dados: inteiro, real,

Leia mais

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:

Leia mais

Estruturas de seleção. Prof.: Jesus

Estruturas de seleção. Prof.: Jesus Estruturas de seleção Prof.: Jesus Estrutura de seleção Etapa em um programa onde uma condição é avaliada e, dependendo do resultado, diferentes ações podem ser realizadas Seleção simples Uma ou mais ações

Leia mais

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

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java Linguagem Java Objetivos????? ADAPTAR O TEXTO ABAIXO????? Aprender a sintaxe da Estrutura de Repetição ENQUANTO-FAÇA na linguagem PORTUGOL Aprender a resolver problemas que requeiram o uso de ESTRUTURAS

Leia mais

CAPÍTULO IV. Estruturas Condicionais CAPÍTULO IV ESTRUTURAS CONDICIONAIS ESTRUTURA CONDICIONAL SIMPLES

CAPÍTULO IV. Estruturas Condicionais CAPÍTULO IV ESTRUTURAS CONDICIONAIS ESTRUTURA CONDICIONAL SIMPLES NBT110- Algoritmos e Estruturas de Dados Profa. Rosanna Mara Rocha Silveira Fevereiro/2013 - Versão 1.1 CAPÍTULO IV ESTRUTURAS CONDICIONAIS 31 Dentro dos algoritmos temos comandos especiais utilizados

Leia mais

Programação I Estruturas de Decisão

Programação I Estruturas de Decisão Programação I Estruturas de Decisão Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Expressões Lógicas Em C, não existe um tipo específico para a representação de valores lógicos.

Leia mais

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos + Introdução a JAVA Variáveis, tipos, expressões, comandos e blocos +Roteiro 2 Variáveis e tipos Operadores aritméticos, lógicos, relacionais e bit-a-bit Atribuição Comandos básicos Ler, Escrever, Condicional,

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 3 Exercícios Escreva um programa para armazenar o valor 20 em uma variável X e o valor 5 em uma variável Y. A seguir, armazenar a soma do valor

Leia mais

INSTITUTO FEDERAL CATARINENSE Campus Ibirama

INSTITUTO FEDERAL CATARINENSE Campus Ibirama INSTITUTO FEDERAL CATARINENSE Campus Ibirama Estruturas de Decisão Professor Eduardo Stahnke Estruturas de Decisão As estruturas de decisão são utilizadas quando existe a necessidade de verificar condições

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Professor: Diego Oliveira Conteúdo 05: Linguagem Java Conteúdo da Aula Linguagem Java Tipos Primitivos Operadores Aritiméticos Operadores Lógicos Precedência de Operadores

Leia mais

EXPRESSÕES BOOLEANAS. Ex: boolean b = false; // declara uma variável do tipo boolean e atribui false

EXPRESSÕES BOOLEANAS. Ex: boolean b = false; // declara uma variável do tipo boolean e atribui false Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 4 EXPRESSÕES BOOLEANAS O tipo primitivo boolean É um tipo de dados primitivo em Java que possui

Leia mais

Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano

Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano Linguagem de Programação 1 Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano Objetivo: Apresentar a composição lógica em estruturas de decisão e as

Leia mais

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. 1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 3.3. Conceitos Básicos de C: Expressões, Operadores e Bibliotecas

Leia mais

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Algoritmos Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos Linhas de Código de um Algoritmo ou Programa escrita do programa linha a linha, ou seja, a sintaxe do programa, podendo-se

Leia mais

Algoritmos Estrutura Condicional

Algoritmos Estrutura Condicional Algoritmos Estrutura Condicional Aula 06 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão

Leia mais

PROGRAMAÇÃO A. Estrutura Condicional

PROGRAMAÇÃO A. Estrutura Condicional PROGRAMAÇÃO A Estrutura Condicional INTRODUÇÃO Uma expressão condicional é uma expressão cujo valor pode ser falso ou verdadeiro. Em C, falso é representado por 0 e verdadeiro é representado por 1. Uma

Leia mais

Fluxogramas e variáveis

Fluxogramas e variáveis Fluxogramas e variáveis Patrícia de Siqueira Ramos UNIFAL-MG, campus Varginha 11 de Março de 2019 Patrícia de Siqueira Ramos Fundamentos da programação 1 / 20 Fases de um algoritmo Patrícia de Siqueira

Leia mais

JavaScript (ou JScript)

JavaScript (ou JScript) 1. Introdução JavaScript (ou JScript) Uma linguagem como o JavaScript permite criar interfaces interativas na web (permite a interação do usuário). Para desenvolver web sites interativos precisamos de

Leia mais

Aula teórica 10 Tema 10. Selecção Instruções de selecção:

Aula teórica 10 Tema 10. Selecção Instruções de selecção: Aula teórica 10 Tema 10. Selecção Instruções de selecção: Selecção simples. Instrução if Selecção em alternativa. Instrução if Testes múltiplos Selecção múltipla. Instrução switch - case Objectivos da

Leia mais

Lógica de Programação. Lógica de Programação com Java

Lógica de Programação. Lógica de Programação com Java Lógica de Programação Lógica de Programação com Java Sumário Lógica de programação 1. Algoritmos 2. Comentários no código 3. Tipos de dados 4. Constantes e Variáveis 5. O que devemos saber para começar

Leia mais

Aula 4 Estruturas de Controle

Aula 4 Estruturas de Controle UNIP Universidade Paulista Ciência da Computação Aula 4 Estruturas de Controle Prof. Célio Ricardo Castelano 1 Tópicos Abordados 1) Instruções de seleção em Java: 2) Instruções de repetição em Java: 2

Leia mais

Disciplina: Algoritmos e Programação Professor: Paulo César Fernandes de Oliveira, BSc, PhD

Disciplina: Algoritmos e Programação Professor: Paulo César Fernandes de Oliveira, BSc, PhD 1. Atribua valores para as variáveis usadas e determine o resultado da execução dos algoritmos abaixo: algoritmo Intervalo de Numeros var numero : inteiro inicio escreva ( Digite um numero: ) leia (numero)

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4 Algoritmos e Estruturas de Dados I (DCC/003) 2013/1 Estruturas Básicas Aula Tópico 4 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para

Leia mais

Linguagem de programação Java

Linguagem de programação Java Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Java Professor: Saulo Henrique Cabral Silva ENTENDENDO O JAVA 2 Entendendo o Java executando... A instância da JVM irá iniciar

Leia mais

Estruturas de Decisão

Estruturas de Decisão Motivação O controle do fluxo da execução em Java utiliza os mesmos comandos existentes em outras linguagens Decisão: if-else, switch-case Repetição: for, while, do-while Desvios: return, continue, break

Leia mais

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade Disciplina: PEOO Professor: Eberton da Silva Marinho e-mail: ebertonsm@gmail.com Data:

Leia mais

Treinamento Olimpíada Brasileira de Informática

Treinamento Olimpíada Brasileira de Informática Treinamento Olimpíada Brasileira de Informática Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 03 1/2 Estrutura Condicionais Linguagem de Programação C Bruno Otávio, George,

Leia mais

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Entrada e saída: escrevendo na tela Veja uma comparação entre um programa Portugol e seu equivalente em C: Inicio Inteiro

Leia mais

Algoritmo e Programação Matemática

Algoritmo e Programação Matemática Algoritmo e Programação Matemática Fundamentos de Algoritmos Parte 1 Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Dados A funcionalidade principal de um computador

Leia mais

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Estruturas de Controle - Seleção. Prof. César Melo

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Estruturas de Controle - Seleção. Prof. César Melo Algoritmos e Estruturas de Dados I IEC012 Linguagem C - Estruturas de Controle - Seleção Prof. César Melo Estruturas de Controle: Condicional Estruturas: Simples Composta Múltipla escolha Estrutura Condicional

Leia mais

Estruturas de Repetição e String. Vanessa Braganholo

Estruturas de Repetição e String. Vanessa Braganholo Estruturas de Repetição e String Vanessa Braganholo vanessa@ic.uff.br Aula de hoje... Estruturas de repetição while...do do...while for String Manipulação de textos 2 Estruturas de Repetição Permitem que

Leia mais

Vetores Unimensionais

Vetores Unimensionais Vetores Unimensionais Objetivos Entender a importância e a necessidade do uso de Vetores Definição de Manipulação de Vetores Inserir elementos em um vetor (usando laços ou não) Imprimir elementos de um

Leia mais

Exercícios Repetição

Exercícios Repetição Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que

Leia mais

Informática Aplicada I Lista: Fluxograma

Informática Aplicada I Lista: Fluxograma UNIVERSIDADE ESTADUAL PAULISTA JÚLIO DE MESQUITA FILHO CAMPUS DE GUARATINGUETÁ Colégio Técnico Industrial de Guaratinguetá Informática Aplicada I Lista: Fluxograma 1) Escreva um fluxograma que armazene

Leia mais

Introdução à Linguagem C++

Introdução à Linguagem C++ Introdução à Linguagem C++ C++: Definição C++ C A Linguagem de Programação C++ pode ser definida como uma extensão da Linguagem C; Todo código de programação em Linguagem C pode a priori ser compilado

Leia mais

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos Introdução a JAVA Variaveis, tipos, expressões, comandos e blocos Roteiro Variáveis e tipos Operadores aritméticos, lógicos, relacionais e bit-a-bit Atribuição Comandos básicos Ler, Escrever, Condicional,

Leia mais

Algoritmos e Lógica de Programação. Prof. Marcos Antonio Estremoe. 1 - Faça um programa que imprima a frase: Bem Vindo à Engenharia Firb 2014.

Algoritmos e Lógica de Programação. Prof. Marcos Antonio Estremoe. 1 - Faça um programa que imprima a frase: Bem Vindo à Engenharia Firb 2014. Algoritmos e Lógica de Programação Prof. Marcos Antonio Estremoe 1 - Faça um programa que imprima a frase: Bem Vindo à Engenharia Firb 2014. 2 - Faça um programa que imprima a palavra Bem Vindo à Engenharia

Leia mais

Exercícios: comandos condicionais

Exercícios: comandos condicionais Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: comandos condicionais 1. Faça um programa que receba dois números

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então

CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então CURSO BÁSICO DE PROGRAMAÇÃO AULA 3 Revisão Estrutura de Decisão Se Então Revisão da aula anterior 1. Variáveis 2. Estrutura de um Algoritmo 3. Operadores 4. Portugol Studio Variável Revisão da aula anterior

Leia mais

Operadores Lógicos e Relacionais Comandos condicionais (if-else) Casting AULA 04

Operadores Lógicos e Relacionais Comandos condicionais (if-else) Casting AULA 04 Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Operadores Lógicos e Relacionais Comandos condicionais (if-else) Casting AULA 04 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então

CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então CURSO BÁSICO DE PROGRAMAÇÃO AULA 3 Revisão Estrutura de Decisão Se Então Revisão da aula anterior 1. Variáveis 2. Estrutura de um Algoritmo 3. Operadores 4. Visualg Variável Revisão da aula anterior É

Leia mais

1ª Lista de Exercícios

1ª Lista de Exercícios Universidade Federal do Rio de Janeiro Data: 26/04/05 Disciplina: Computação I 1ª Lista de Exercícios 1) Faça um programa, em pseudo-código, que peça ao usuário que informe n números reais e então calcule

Leia mais

Linguagem C. Prof.ª Márcia Jani Cícero

Linguagem C. Prof.ª Márcia Jani Cícero Linguagem C Prof.ª Márcia Jani Cícero A estrutura Básica de um Programa em C Consiste em uma ou várias funções ou programas. main( ) // primeira função a ser executada // inicia a função // termina a função

Leia mais

Programação Estruturada e Orientada a Objetos

Programação Estruturada e Orientada a Objetos INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada e Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

ESTRUTURAS DE DADOS ESTÁTICAS: MATRIZES

ESTRUTURAS DE DADOS ESTÁTICAS: MATRIZES COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO ESTRUTURAS DE DADOS ESTÁTICAS: MATRIZES FOZ DO IGUAÇU 2013 LISTA DE QUADROS QUADRO 1 ALGORITMO

Leia mais

Estruturas de Controle

Estruturas de Controle Estruturas de Controle Mário Meireles eixeira UMA DEIN ópicos Estruturas de Controle condicionais repetição Expressões Lógicas operadores relacionais operadores lógicos Estruturas de Controle 2 1 Introdução

Leia mais

Sintaxe Básica de Java Parte 2

Sintaxe Básica de Java Parte 2 Sintaxe Básica de Java Parte 2 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Instruções Condicionais A instrução

Leia mais

Parte I - Expressões lógicas e operadores

Parte I - Expressões lógicas e operadores Lista de Exercícios de Algoritmos e Laboratório de Programação - 01 Parte I - Expressões lógicas e operadores 1. Sendo A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras ou falsas. a) (A+C)

Leia mais

Lição 4 Fundamentos da programação

Lição 4 Fundamentos da programação Lição 4 Fundamentos da programação Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Identificar as partes básicas de um programa em Java Reconhecer as diferenças

Leia mais