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

40
Estrutura de Condição, Escolha e Repetição Profª Fabíola Gonçalves C. Ribeiro Estrutura Condicional Se, Laços de repetição

Transcript of Estrutura de Condição, Escolha e...

Estrutura de Condição, Escolha e

Repetição

Profª Fabíola Gonçalves C. Ribeiro

Estrutura Condicional Se, Laços de repetição

Conteúdo

Expressões Aritméticas

Funções

Expressões Lógicas

Operadores Lógicos

Expressões Literais

Comandos de Atribuição

Comandos de Entrada e Saída

Estrutura Condicional

Estrutura Condicional Simples

Estrutura Condicional Composta

Estrutura de Repetição

Operador Ternário

Expressões Aritméticas:

São sequências de termos envolvendo

operadores e operandos.

Quando avaliadas resultam em um resultado

específico.

Podem ser aplicadas a qualquer tipo numérico.

Exemplos: a+2 * (3+b/c)

2+15

a%valor

Expressão = Operadores+Operandos

Expressões Aritméticas:

Operadores podem ser classificados quanto ao

número de operandos.

Unários (i++)

Binários (a+b)

Ternários.

Notações utilizadas para representar uma operação:

Prefixada – operador ocorre antes dos operandos.

Exemplo: +a b

Pós-fixada - operador ocorre depois dos operandos.

Exemplo: ab +

Infixada: (a+b)

Expressões Aritméticas:

Os operadores em Java podem ser divididos em

operadores aritméticos, relacionais, lógicos, binários,

condicional, de concatenação, de conversão e de

atribuição.

São operadores que podem ser aplicados a qualquer tipo

numérico, exceto os operadores ++ e --.

Por que?

Operação Operador

Multiplicação *

Divisão inteira /

Mod %

Adição e Subtração + e -

Incremento e Decremento ++ e --

Expressões Aritméticas:

Observação:

Os operadores de Incremento e Decremento podem

ocorrer na forma prefixada ou pós-fixada.

se ocorrem na forma prefixada causa a adição de uma

unidade ao conteúdo da variável e resulta no valor

atualizado.

Se ocorrer na forma pós-fixada também incrementa o valor

da variável em uma unidade, embora o resultado da

operação seja o valor original da variável.

A variável só terá seu valor modificado após o resultado

ter sido obtido.

Expressões Lógicas:

Operadores Relacionais: realiza comparações

entre dois valores de mesmo tipo primitivo.

E produzem o valor booleano resultante da

comparação.

Operador Função Exemplos

= = Igual a 3==3, X==Y

> Maior que 5>4, X>Y

< Menor que 3<6, X<Y

>= Maior ou igual a 5>=3, X>=Y

<= Menor ou igual a 3<=5, X<=Y

!= Diferente de 8!=9, X!=Y

Expressões Lógicas:

Operadores Lógicos: implementam as

operações de negação, conjunção e disjunção.

Operador Função

não Negação

e Conjunção

ou Disjunção

Operador Função

! Negação

&& Conjunção

|| Disjunção

Representação em Java

Expressões Lógicas:

Operação de Negação:

A ! A

false true

true false

Expressões Lógicas:

Operação de conjunção:

A B A && B

False False False

False True False

True False False

True True True

Expressões Lógicas:

Operação de disjunção:

A B A || B

False False False

False True True

True False True

True True True

12

Exercícios

Considere a seguinte atribuição de valores para as variáveis:

A=3, B=4, C=8. Avalie as expressões a seguir indicando o

resultado final: verdadeiro ou falso.

1) (A > 3) && (C = 8) ( )

2) (A <> 2) || (B <= 5) ( )

3) ((A = 3) || (B >= 2)) && (C = 8) ( )

4) (A = 3) && !((B <= 4) && (C = 8)) ( )

6) B > A && C <> A ( )

7) A > B || B < 5 ( )

Operador condicional, de

concatenação e de conversão.

Operador condicional

Operador condicional (?:) é um operador

ternário.

Sua sintaxe Java é da seguinte forma:

<OpCond> ::= <CondBool> ? <Expr> : <ExprCond>

Onde:

<CondBool> -- deve ser do tipo booliano.

<Expr> -- é uma expressão.

<ExprCond> -- é uma expressão ou um operador condicional.

Como avaliar essa expressão??

Obs: que o resultado da operação é o resultado da avaliação

do segundo ou terceiro operando.

Operador condicional

O que será impresso pelo programa a seguir?

1. Class OperadorCond {

2. public static void main (String [] args) {

3. int i=20,j;

4. j= i>30 ? 2+i : 2*i;

5. System.out.println(j)

6. j= i<30 ? 2+i : 2*i;

7. System.out.println(j)

8. }

9. }

Operadores de concatenação

O operador +, quando um de seus operados é

do tipo String, produz como resultado uma

cadeia de caracteres formada a partir da

concatenação dos operando.

Se os dois operandos são cadeias de caracteres, a

cadeia resultante é formada pela justaposição dos

operandos.

Operadores de conversão

O operador de conversão é um operador unário..

Mas, .. que é, mesmo, um operador unário?

Sua sintaxe é a seguinte:

<OpConversão> ::= (<Tipo>) <Expr>

O resultado desse operador é a conversão do valor da

expressão <Expr> no valor do tipo especificado por

<Tipo>.

Exemplo: Se quisermos armazenar o resultado da expressão

3.2 * 3 que é do tipo double em uma variável do tipo int.

a=(int) (3.2 *3)

Qual valor será armazenado em a???

Atribuição

Atribuindo Valores as variável

As variáveis podem ter seus valores modificados através

dos comando de atribuição ou operadores unários de

incremento ou decremento.

Sintaxe: <Variável> = <Expr>

= indica o operador de atribuição simples.

Lado esquerdo possui uma variável que irá receber o resultado

da expressão do lado direito (compatíveis).

Valores de atribuição podem ser usados em expressão.

Exemplo: int s = (s=3) *a.

O efeito das modificações causadas pelo operadores de

atribuição afeta a avaliação posterior das variáveis que tiveram

seu conteúdo modificado.

Expressões Aritméticas:

Precedência : estabelece uma hierarquia na

resolução das expressões aritméticas:

1. Parênteses “( )”

2. Exponenciação “^”

3. Multiplicação e Divisão “*”, “/”

4. Soma e Subtração “+”, “-”

Expressões Lógicas:

Precedência:

Prioridade:

1. Não

2. e/ou

Expressões:

Prioridades entre todos operadores:

1. Parênteses mais internos

2. Operadores aritméticos

3. Operadores relacionais

4. Operadores lógicos

Comandos para tratamento de dados

Comando de Atribuição

Os algoritmos utilizam dados, e seus comandos são muitas

vezes voltados para criação, obtenção, armazenamento,

transformação e fornecimento de dados.

Comando de atribuição: os comandos tratados por um

algoritmo são armazenados de modo que possam ser referidos

através de uma variável.

A única forma de modificar o conteúdo de uma variável é

através de um comando de atribuição, quando atribui-se

valor a mesma.

Comandos de Entrada

Os algoritmos precisam ser alimentados com

dados para efetuarem as operações e cálculos.

São utilizados para obtenção de valores.

Comando de Entrada de Dados

Para que o algoritmo possa receber os dados..

Em algoritmo:

Comando leia

Sintaxe: leia ( variável );

Exemplos:

Leia ( X );

Leia (A, nome, nota);

Em Java: Classe Scanner, Teclado, classe javax.swing.JOptionPane (usa-ser o

método showInputDialog() para passar o valor lido para uma

variável.)

Comando de Entrada de Dados

Scanner teclado = new Scanner(System.in); //Adicione

esta Classe

int k = teclado.nextInt();// comando para ler um int do

teclado e jogar para variavel K, esta função esta aliada a

Classe SCANNER.

Comando de Saída de Dados

Para que o algoritmo possa mostrar os dados

que calculou, como resposta ao problema que

resolveu.

Em algoritmo:

Comando escreva

Sintaxe: escreva (“ expressão”, variável);

Exemplos:

escreva ( Y ) ;

escreva (“Bom Dia”,nome);

Em Java: System.out.println(...);

Estrutura do Algoritmo

Algoritmo “Nome_do_Algoritmo”

VAR

declaração_de_variáveis

Início

corpo_do_algoritmo

Fimalgoritmo

Exercícios

Exemplo: Cálculo da Média - Aluno

Lógica:

Receber a primeira nota

Receber a segunda nota

Fazer o cálculo da média utilizando a

fórmula

Escrever a média.

Exemplo: Cálculo da Média - Aluno

Algoritmo "Calculo_Media"

Var

Nota1, Nota2, Media : real;

Inicio

Escreva(“Digite a primeira nota”);

Leia (Nota1);

Escreva(“Digite a segunda nota”);

Leia (Nota2);

Media <-(Nota1 + Nota2) / 2;

Escreva ("A Média do Aluno", Media);

Fimalgoritmo

Exercícios

1 - Ler um número inteiro e imprimir seu sucessor

e seu antecessor.

2 - Ler dois valores para as variáveis A e B,

efetuar a troca dos valores de forma que a

variável A passe a ter o valor de variável B e

que a variável B passe a ter o valor da variável

A. Apresentar os valores trocados.

Algoritmo_01

Var

inteiro: numero, suc, ant ;

Início

Escreva( “entre com um numero “);

leia (numero);

ant <- numero -1;

suc <- numero +1;

Escreva(“o sucessor ”, suc);

Escreva(” o antecessor ”, ant);

FimAlgoritmo

Algoritmo_02

Var

real: a, b,aux;

inicio

Escreva( “Digite o primeiro número - A:“);

leia (a);

Escreva( “Digite o segundo número - B:“);

leia (b);

aux <- a;

a<- b;

b<-aux;

Escreva(“Segundo número digitado“,a);

Escreva(“Primeiro número digitado“,b);

FimAlgoritmo

Exercícios

3 - Ler uma temperatura em graus centígrados e

apresentá-la convertida em graus Fahrenheit. A

fórmula de conversão é: F= 9c+160 onde F é a

temperatura em Fahrenheit e C é a temperatura

em centígrados.

Algoritmo_03

Exercícios

4 - Em épocas de pouco dinheiro, os comerciantes

estão procurando aumentar suas vendas

oferecendo desconto. Faça um algoritmo que

possa entrar com o valor de um produto e

imprima o novo valor tendo em vista que o

desconto foi de 9%.

5 - Criar um algoritmo que efetue o cálculo do

salário líquido de um professor. Os dados

fornecidos serão: valor da hora aula, número de

aulas dadas no mês e percentual de desconto do

INSS.

Algoritmo_04

Algoritmo_05

Var

real: nht, vha, pd, td, sb, sl;

Início

Escreva( “Digite o número de horas trabalhadas:“);

leia (nht);

Escreva( “Digite o valor da hora-aula:“);

leia (vha);

Escreva( “Informe o percentual de desconto do INSS: “);

leia (pd);

sb <- nht * vha;

td<- (pd / 100) * sb;

sl <- sb – td;

Escreva(“Salário líquido “,sl);

FimAlgoritmo

Exercícios

6 - Ler dois números reais e imprimir o quadrado

da diferença do primeiro valor pelo segundo e a

diferença dos quadrados.