Escolar Documentos
Profissional Documentos
Cultura Documentos
Prtica 1 Introduo
Objetivo:
Conhecer o ambiente das aulas prticas
Primeiro contato com a IDE NetBeans
Escrever, compilar e executar programas em Java
Segundo a lenda, o jogo foi inspirado numa verso real existente em um mosteiro em Hani. Neste
mosteiro, monges ocupam-se da tarefa de mover 64 discos de ouro entre 3 torres de marfim.
Quando eles conseguirem mover todos os discos para a torre de destino o universo deixar de
existir.
a) Suponha que voc conta com um agente (computador) que ir auxili-lo na execuo da tarefa de resolver o
problema com 4 discos. Utilizando apenas o comando MOVER(origem, destino) estabelea uma sequncia de
operaes para resolver o problema das Torres deHani com 4 discos.
b) Para um jogo com n discos, o menor nmero de movimentos possvel dado pela frmula:T = 2n 1
Qual o menor nmero possvel de movimentos necessrios para resolver o problema dosmonges? Se os movimentos
forem realizados razo de um por segundo, quanto tempolevar para resolver o problema com 64 discos?
a) Resposta em Java:
import javax.swing.JOptionPane;
int disco;
double movimentos;
------------------------------------------------------------------------------------------------------
Resposta em JAVA:
int a,b,c;
a=Integer.parseInt(JOptionPane.showInputDialog("Digite o valor da letra a"));
b=Integer.parseInt(JOptionPane.showInputDialog("Digite o valor da letra b"));
c=Integer.parseInt(JOptionPane.showInputDialog("Digite o valor da letra c"));
JOptionPane.showMessageDialog(null, b+b*c-4*c-a);
}
}
-----------------------------------------------------------------------------
2. Elaborar um algoritmo em Java para transformar em reais um valor em dlares. O algoritmo dever:
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 1/17
06/11/2017 Exercicios
a. Pedir para o usurio digitar a cotao do dlar
b. Pedir para o usurio digitar um valor em dlares
c. Converter e apresentar o valor digitado em reais.
Resposta em JAVA:
import javax.swing.JOptionPane;
--------------------------------------------------------------------------------
Prtica 2 Expresses
1. Objetivo
Trabalhar com entrada e sada de dados em Java
Compilar um programa em Java
Executar um programa em Java
2. Recursos Necessrios
Computador com compilador Java instalado
NetBeans
3. Procedimentos
Nesta prtica, vamos trabalhar com comandos de atribuio, expresses, entrada e sada de dados.
Resposta em JAVA:
import javax.swing.JOptionPane;
----------------------------------------------------------------------------
B) Desenvolva um programa em Java que receba dois valores inteiros para as variveis x e y,
efetue a troca dos valores, ou seja, x passa a ter o valor de y e y passa a ter o valor de x e mostre os valores trocados.
Resposta em JAVA:
import javax.swing.JOptionPane;
System.out.println(x+","+y);
}
}
-------------------------------------------------------------------------------
C) Desenvolva um programa em Java que receba uma temperatura em graus Celsius (C),
Resposta em JAVA:
import javax.swing.JOptionPane;
-----------------------------------------------------------------------------
1. Procedimentos
Nesta prtica, vamos trabalhar com comandos de deciso (if e if / else).
A) Elaborar um algoritmo (pseudocdigo e cdigo em Java) para:
Ler o sexo e a altura (h) de uma pessoa
Calcular e apresentar seu peso (massa) ideal dada por:
o Homens: (72.7 * h) 58
o Mulheres: (62.1 * h) 44.7
Resposta em JAVA:
import javax.swing.*;
char sexo;
double altura, pesoIdeal;
if (sexo=='H' || sexo=='M'){
altura = Double.parseDouble(JOptionPane.showInputDialog("Digite a altura"));
if(sexo=='M'){
----------------------------------------------------------------------
B) Desenvolva um algoritmo que receba dois valores numricos reais e mostre o maior entre
esses dois nmeros. Se os nmeros forem iguais o programa dever apresentar uma mensagem com a informao:
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 3/17
06/11/2017 Exercicios
Os nmeros so iguais.
Resposta em JAVA:
import javax.swing.JOptionPane;
double n1,n2;
n1=Integer.parseInt(JOptionPane.showInputDialog("Digite o 1nmero"));
n2=Integer.parseInt(JOptionPane.showInputDialog("Digite o 2nmero"));
if (n1==n2){
JOptionPane.showMessageDialog(null, "Nmero 1 e nmero 2 so iguais");
}else{
if(n1>n2){
JOptionPane.showMessageDialog(null, "Nmero maior :" +n1);
}else{
JOptionPane.showMessageDialog(null, "Nmero maior: " + n2);
}
}
}
}
------------------------------------------------------------------------------
C) Desenvolva um algoritmo que receba um valor numrico inteiro e mostre na tela se esse valor par ou mpar.
Resposta em JAVA:
import javax.swing.JOptionPane;
int n1;
n1=Integer.parseInt(JOptionPane.showInputDialog("Digite um nmero"));
if (n1/2==0){
------------------------------------------------------------------------------
D) Desenvolva um algoritmo que receba o ano de nascimento de uma pessoa, calcule e mostre a sua idade.
O programa dever tambm verificar se essa pessoa j tem idade para votar (16 anos ou mais)
e se tem idade para obter a Carteira Nacional de Habilitao (18 anos ou mais).
*Est Faltando(incompleto!)
import javax.swing.JOptionPane;
---------------------------------------------------------------------------
Desafio) Desenvolver um algoritmo que receba trs nmeros inteiros e mostre o maior e o menor entre eles.
Resposta em JAVA:
import javax.swing.JOptionPane;
n1 = Integer.parseInt(JOptionPane.showInputDialog("Digite 1 nmero"));
n2 = Integer.parseInt(JOptionPane.showInputDialog("Digite 2 nmero"));
n3 = Integer.parseInt(JOptionPane.showInputDialog("Digite 3 nmero"));
-------------------------------------------------------------------------------
1. Procedimentos
da operao aritmtica desejada, calcule e mostre o resultado da operao aritmtica, conforme a tabela abaixo:
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 5/17
06/11/2017 Exercicios
Simbolo Operao aritmtica
+ Adio
- Subtrao
* Multiplicao
/ Diviso
^ Potenciao
m Resto da diviso
Resposta em JAVA:
import javax.swing.JOptionPane;
public class Laboratorio4 {
n1=Integer.parseInt(JOptionPane.showInputDialog("Digite 1nmero"));
n2=Integer.parseInt(JOptionPane.showInputDialog("Digite 2nmero"));
if (teste==true){
JOptionPane.showMessageDialog(null, "Resultado: " + resultado);
}else{
JOptionPane.showMessageDialog(null, "Operao invlida");
}
}
}
----------------------------------------------------------------------------
B) Desenvolva um algoritmo que receba a idade de um atleta e mostre a sua classificao em categorias,
Idade Categoria
3 a 4 anos Mirim
5 a 7 anos Infantil A
8 a 7 anos Infantil B
11 a 13 anos Juvenil A
14 a 17 anos Juvenil B
18 a 50 anos Adulto
Mais de 50 abis Veterano
Observaes:
- Apresente todas as informaes em janelas grficas (JOptionPane.showMessageDialog).
- No item B, permitido o uso da estrutura de deciso if apenas nas faixas de 18 anos oumais.
Resposta em JAVA:
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 6/17
06/11/2017 Exercicios
import javax.swing.JOptionPane;
int idade;
String categoria,mensagem="";
idade=Integer.parseInt(JOptionPane.showInputDialog("Digite a idade"));
if (idade <3){
mensagem="No h categoria para beb";
}else{
if (idade>50){
mensagem="Categoria: Veterano";
}else{
switch(idade){
case 3: case 4: mensagem="Categoria: Mirim";
break;
case 5: case 7: mensagem="Categoria: Infantil A";
break;
case 8: case 10: mensagem="Categoria: Infantil B";
break;
case 11: case 13: mensagem="Categoria: Juvenil A";
break;
case 14: case 17: mensagem="Categoria: Juvenil B";
break;
case 18: case 50: mensagem="Categoria: Adulto";
break;
}
}
}
JOptionPane.showMessageDialog(null,mensagem);
}
}
-------------------------------------------------------------------------
Resposta em JAVA:
import javax.swing.JOptionPane;
if(i%2==0){
par +=i;
System.out.println("Par: " + par);
}else{
impar +=i;
System.out.println("Impar" + par);
}
}
resultado = par/impar;
JOptionPane.showMessageDialog(null,par + "/" + impar + "=" + resultado);
}
}
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 7/17
06/11/2017 Exercicios
------------------------------------------------------------------------------------------------
b) Desenvolva um programa que receba nmeros inteiros maiores que zero, digitados pelo
usurio at que o valor 0 (zero) seja digitado. O programa dever determinar e mostrar
quantos valores pares foram digitados. Se o usurio fornecer valores menores que zero,
o programa dever apresentar uma mensagem de erro e solicitar um novo nmero.
Resposta em JAVA:
import javax.swing.JOptionPane;
do{
do{
n1 = Integer.parseInt(JOptionPane.showInputDialog("Digite um nmero inteiro maiores que zero."));
if(n1<0){
JOptionPane.showMessageDialog(null, "Nmero Invlido!");
}
}while(n1<0);
if(n1%2==0 && n1!=0){
par++;
}
}while(n1!=0);
------------------------------------------------------------------------------------------------
b) Desenvolva um programa que receba nmeros inteiros maiores que zero, digitados pelo
usurio at que o valor 0 (zero) seja digitado. O programa dever determinar e mostrar
quantos valores pares foram digitados. Se o usurio fornecer valores menores que zero,
o programa dever apresentar uma mensagem de erro e solicitar um novo nmero.
Desafio) Escreva um aplicativo que exiba o seguinte padro de um tabuleiro de xadrez:
* * * * * * * * Cada asterisco representa uma casa preta. Cada espao
* * * * * * * * representa uma casa branca.
********
* * * * * * * *
********
* * * * * * * *
********
* * * * * * * *
Seu programa poder utilizar apenas uma vez cada uma das trs estruturas de sada, conforme
apresentado abaixo:
Resposta em JAVA:
import javax.swing.JOptionPane;
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 8/17
06/11/2017 Exercicios
System.out.println();
}
}
}
}
---------------------------------------------------------------------------
1. Procedimentos
Nesta prtica, vamos trabalhar com as estruturas de repetio do/while e for do Java.
1 Parte: do/while
O procedimento dever ser repetido enquanto o usurio quiser continuar a fornecer valores.
O usurio dever digitar S ou s para continuar ou N ou n para finalizar e o programa deve aceitar como resposta apenas essas letras.
Se outra letra for digitada, uma mensagem deve ser apresentada para o usurio e uma nova letra deve ser solicitada.
Quando o usurio digitar N ou n, o programa dever apresentar a mdia dos valores fornecidos.
Resposta em JAVA:
import javax.swing.JOptionPane;
public class Laboratotio6 {
char saida;
double n1, media, total=0, contador=0;
do{
n1=Double.parseDouble(JOptionPane.showInputDialog("Digite um nmero"));
total+=n1;
contador++;
do{
saida = JOptionPane.showInputDialog("Digite:\n-N: Para terminar.\n-S: Para continuar.").toUpperCase().charAt(0);
if (!(saida=='N' || saida=='S')){
JOptionPane.showMessageDialog(null, "Letra invlido!");
}
}while(!(saida=='N' || saida=='S'));
}while(saida!='N');
media=total/contador;
JOptionPane.showMessageDialog(null, media);
}
}
----------------------------------------------------------------------------
b) Desenvolva um programa que receba um nmero N digitado pelo usurio e apresente como resultado
Resposta em JAVA:
import javax.swing.JOptionPane;
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 9/17
06/11/2017 Exercicios
2 Parte: for
c) Desenvolva um algoritmo que calcule e mostre o quadrado dos nmeros inteiros pares
compreendidos entre 10 e 150.
Resposta em JAVA:
Resposta em JAVA:
import javax.swing.JOptionPane;
Resposta em JAVA:
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 10/17
06/11/2017 Exercicios
public static void main(String[] args) {
for (int t=0; t<9;t++){
for(int i=0; i<9-t; i++){
System.out.print("*");
}
System.out.println();
}
for (int t=9; t>=0;t--){
for(int i=0; i<9-t; i++){
System.out.print("*");
}
System.out.println();
}
}
}
---------------------------------------------------------------------------------------------
[http://1.bp.blogspot.com/-Cz51JthVYcI/T84-
n2_X85I/AAAAAAAAAfE/Ha4gWuzsw5E/s1600/algoritmo.png]
Obs: devem ser apresentados os nomes dos candidatos (digitados pelo usurio) no lugar do
texto Nome do primeiro candidato e Nome do segundo candidato.
A cada voto, uma mensagem de confirmao deve ser apresentada ao usurio: Deseja
confirmar seu voto? (S/N). Em caso de confirmao apresentar a mensagem Voto Confirmado.
O algoritmo deve repetir esta operao para vrios eleitores, at que o presidente da seo
eleitoral encerre a votao, digitando a senha 999 na tela de votao para computar os votos.
Neste momento, o algoritmo dever apresentar o nome do candidato, a quantidade de votos que
ele recebeu, a quantidade de votos nulos/brancos e o vencedor da eleio.
Obs: o algoritmo deve validar a entrada do usurio, permitindo apenas a incluso dos valores
informados nas perguntas.
Respostas em JAVA
import javax.swing.JOptionPane;
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 11/17
06/11/2017 Exercicios
//1.1.2.Confirma voto
do{
confirma = JOptionPane.showInputDialog("Deseja confirmar o voto?\n[S]Sim\n[N]No").toUpperCase().charAt(0);
if(!(confirma=='N' || confirma=='S')){
JOptionPane.showMessageDialog(null, "Confirmao invlida!");
}
}while(!(confirma=='N' || confirma=='S'));
if (confirma=='S'){
saiConfirma = true;
JOptionPane.showMessageDialog(null, "Voto confirmado.");
}else{
saiConfirma = false;
JOptionPane.showMessageDialog(null, "Repita seu voto.");
}
}while(saiConfirma==false);
//1.2.Acumula voto do 1.
switch(voto){
case 1: votoCandidato1++;
break;
case 2: votoCandidato2++;
break;
case 0: nulo++;
break;
}
//2.Informa voto
JOptionPane.showMessageDialog(null, candidato1 + ": " + votoCandidato1 + "voto(s)\n"
+candidato1 + ": " + votoCandidato2 + "voto(s)\n"
+"Votos Nulos: " + nulo + "voto(s)\n");
}
}
------------------------------------------------------------------------------
Respostas em JAVA
import javax.swing.JOptionPane;
double total=0;
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 12/17
06/11/2017 Exercicios
JOptionPane.showMessageDialog(null, total);
System.out.println(1/5);
}
--------------------------------------------------------------------------------
Prtica 8 Vetores
1. Desenvolva um algoritmo que armazene num vetor 10 valores numricos inteiros digitados pelo usurio.
Respostas em JAVA
System.out.println();
------------------------------------------------------------------------------
2. Desenvolva um algoritmo que armazene num vetor 10 valores numricos inteiros digitados pelo usurio.
Em seguida, o algoritmo deve solicitar um nmero para o usurio e apresentar todos os valores armazenados no vetor que sejam menores que est
Respostas em JAVA
import javax.swing.JOptionPane;
------------------------------------------------------------------------------
3. Desenvolva um algoritmo que armazene num vetor 20 valores numricos inteiros digitados pelo usurio.
Em seguida, o algoritmo dever analisar os dados do vetor, determinar e apresentar o maior e o menor dos valores digitados
Respostas em JAVA
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 13/17
06/11/2017 Exercicios
import javax.swing.JOptionPane;
public class NewClass1 {
----------------------------------------------------------------------------
4. Desenvolva um algoritmo que armazene num vetor 15 valores numricos reais digitados pelo usurio.
Em seguida, o algoritmo dever determinar e apresentar a mdia dos valores pares e a quantidade de valores menores que 10.5 armazenados no v
package laboratorio8;
import javax.swing.JOptionPane;
------------------------------------------------------------------------------
Prtica 9 Matrizes
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 14/17
06/11/2017 Exercicios
Respostas em JAVA
import javax.swing.JOptionPane;
//Preenche matriz
for (int i=0; i<=1; i++){
for (int n=0; n<=2; n++){ //preenche coluna
n1[i][n] = Integer.parseInt(JOptionPane.showInputDialog("Digite um nmero"));
}
}
//Dobra matriz
for (int i=0; i<=1; i++){
for (int n=0; n<=2; n++){
n2[i][n] = (n1[i][n]*2);
}
}
//Apresenda matriz.
for (int i=0; i<=1; i++){
for (int n=0; n<=2; n++){
System.out.print(n2[i][n] + ",");
}
}
}
}
---------------------------------------------------------------------
B) Desenvolva um algoritmo para o clculo da mdia dos alunos de uma turma. O programa dever:
Exemplo:
Aluno 5: Nota 1: 8; Nota 2: 10; Mdia: 9
Respostas em JAVA
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 15/17
06/11/2017 Exercicios
import javax.swing.JOptionPane;
int quantiAluno;
double totalMedia=0, mediaSala;
------------------------------------------------------------------------------
Prtica 10 Procedimentos
Escrever um algoritmo em Java para executar algumas operaes com vetor e matriz.
[http://1.bp.blogspot.com/-
xvNNaOAFGLI/T9DpHmtxNFI/AAAAAAAAAfQ/g8e4m1tVh20/s1600/Sem+t%C3%ADtulo.png]
Para cada operao selecionada pelo usurio, desenvolver um procedimento que executa atarefa.
O mtodo principal deve utilizar os demais procedimentos de acordo com a opo domenu selecionada pelo usurio.
1. O procedimento deve armazenar num vetor X valores numricos reais digitados pelo usurio,onde X o nmero de
elementos do vetor, que tambm informado pelo usurio.
Emseguida, percorrer o vetor somando as posies e no final mostrar a mdia geral dosnmeros.
2. O procedimento deve armazenar num vetor 10 valores numricos inteiros digitados pelo
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 16/17
06/11/2017 Exercicios
usurio. Em seguida, percorrer o vetor somando os nmeros pares e tambm somando os
nmeros mpares. Ao final da execuo, o procedimento deve apresentar a diferena entre a
soma dos nmeros pares e a soma dos nmeros mpares.
3. O procedimento deve criar uma matriz de dimenses 2 x 3 e preench-la com valores reais.
Em seguida, percorrer a matriz imprimindo os valores armazenados no padro de matriz, ou
seja, para cada linha apresentar suas colunas.
4. O procedimento deve criar uma matriz de dimenses 3 x 4, preench-la com nmeros inteiros
e depois percorr-la imprimindo a sua matriz transposta. Matriz transposta: linha vira coluna e
coluna vira linha.
Visualizar comentrios
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 17/17