Inteligência Artificial Reinaldo Bianchi FEI - Elétrica 2000
Inteligência Artificial
Reinaldo BianchiFEI - Elétrica
2000
2a. Aula
Programação Java Básica
Vimos na aula passada
Apresentação da linguagem de Programação JAVA
Primeiros programas em Java JBuilder Entrada e Saída de Dados
Nesta aula veremos:
Comandos de Decisão Comandos de Repetição Exercícios
Comandos de Decisão
Para resolver a maioria dos problemas é necessário decidir-se entre a execução de uma instrução ou outra.
Os comandos de decisão permitem especificar uma condição que se for verdadeira levará à execução de um determinado bloco de programa.
Operadores relacionais
A == B A é igual a B? A != B A é diferente de B? A < B A é menor que B? A > B A é maior que B? A <= B A é menor ou igual a B? A >= B A é maior ou igual a B? Expressões Lógicas:
– && (e), || (ou), ! (não)
If
Usado para decidir se uma instrução deve ou não ser realizada:
if (expressão_booleana) { instruções; }
If ... Else
Usada para escolher entre duas instruções possíveis:
if (expressão_booleana){ instruções;
} else { instruções; }
Exemplos: If:
if (velocidade > 120) System.out.println(“Você vai ser multado!”);
If ... else:if (velocidade > 120) System.out.println(“Você vai ser multado!”);
else System.out.println(“Bom motorista!”);
Comparação de Strings
Comparar diretamente uma String com outra pode não dar o resultado esperado (compara-se ponteiros).
A forma correta de comparar Strings é:String nome = “Pedro”;if (nome.equals(“Pedro”) == true) System.out.println(“O aluno é o Pedro!”);
Exercício if 1
Implemente uma aplicação em que o aluno digite duas notas bimestrais e informe se o aluno foi aprovado ou não
Nota: Aprovado se nota maior que 5.0
If ... Else aninhados
Podemos usar if ... else aninhados:if (expressão_booleana1){ instruções1;} else if (expressão_booleana2){ instruções2; } else instrução3;
Exemplo if aninhados
if (velocidade < 120) System.out.println(“Bom motorista!”);
else if (velocidade < 140) System.out.println(“Você vai ser multado com 3 pontos!”);
else System.out.println(“Você vai ser multado com 7 pontos!”);
Switch ... Case
O switch permite escolher entre diversos cursos de ação:
switch (variável do tipo inteiro) { case valor_inteiro: instruções break; case valor_inteiro :
instruções break; case valor_inteiro :
instruções break; default:
instruções}
Exercício switch
Implemente uma aplicação que leia um valor inteiro e imprima o seguinte resultado:Se Imprima0 vermelho1 amarelo2 verde
Caso não seja nenhuma destas opções, imprima uma mensagem de erro.
Comandos de Repetição
for:– usado quando se sabe, a priori, quantas
vezes deve ser realizada uma repetição do - while ou while:
– usados quando não se sabe quantas vezes deve ocorrer a repetição, apenas a condição de parada.
For
for (<início> ; <condição de parada> ; <passo>)
{ <comando>;...}
Ver exemplo TestaFor
do - while
do { <comando>; ...} while (<condição de parada>);
Ver exemplo TestaDoWhile
while
while (<condição>) { <comando>; ...}
Ver exemplo TestaWhile
break
Break: serve para terminar um loopingwhile (<condição>) { <comando1>; ... if () break; ...}
continue
Continue: força a próxima interação do loopingwhile (<condição>) { <comando1>; ... if () continue; ...}
While x do-while
Diferença entre while e do-while:– do- while executa pelo menos uma vez.– while pode não ser executado.
Exercícios Repetição
Imprima a tabela de multiplicação de 1 até 13.
Faça um programa que implemente a função de Babbage, que só gera números primos:– f(x) = x2 + x + 41
Faça um programa que testa se um número é primo.
Exercício Repetição
Implemente um jogo de dados em que:– O jogador inicia o jogo com 100 reais– A cada jogada, o jogador joga dois dados– Se a soma dos números dos dados for 7 ou 11, o
jogador recebe o dobro do que tem apostado no momento
– Se a soma dos números não for 7 ou 11, o jogador perde 20 reais
– Quando o saldo do jogador for menor ou igual a zero, o jogo acaba
Exercício – Em um edifício existem dois elevadores e 15
andares. Quando alguém solicita um elevador, o elevador que estiver mais próximo é que irá atender à pessoa.
– Além disso, um dos elevadores deve estar sempre esperando no térreo. Portanto, se nenhum elevador está parado no térreo, aquele que estiver no andar mais próximo deve retornar ao térreo.
Implemente um programa que apresente este comportamento
Conclusão
if, if ... else e switch:– Comandos que decidem o que fazer
for, do ... While e while:– Comandos que permitem repetição
Exercícios para entregar na próxima aula: Exercícios de Programação do livro
“Programming with Java” de John Hubbard:
Capítulo 3 (Decisão - página 58 - 60):– 3.13, 3.14, 3.16 e 3.17
Capítulo 4 (Repetição páginas 84 - 85):– 4.9, 4.11 e 4,13