estrutura de condição, escolha e...
Post on 11-Nov-2018
213 Views
Preview:
TRANSCRIPT
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 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
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:
Prioridades entre todos operadores:
1. Parênteses mais internos
2. Operadores aritméticos
3. Operadores relacionais
4. Operadores lógicos
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
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.
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_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
top related