Escolar Documentos
Profissional Documentos
Cultura Documentos
Exercicios PDF
Exercicios PDF
Prática 1 – Introdução
Objetivo:
Conhecer o ambiente das aulas práticas
Primeiro contato com a IDE NetBeans
Escrever, compilar e executar programas em Java
Segundo a lenda, o jogo foi inspirado numa versão “real” existente em um mosteiro em Hanói. 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 execução da tarefa de resolver o
problema com 4 discos. Utilizando apenas o comando MOVER(origem, destino) estabeleça uma sequência de
operações para resolver o problema das Torres de Hanói com 4 discos.
b) Para um jogo com n discos, o menor número de movimentos possível é dado pela fórmula: T = 2n – 1
Qual é o menor número possível de movimentos necessários para resolver o problema dos monges? Se os movimentos
forem realizados à razão de um por segundo, quanto tempo levará 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 dólares. O algoritmo deverá:
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 1/17
06/11/2017 Exercicios
a. Pedir para o usuário digitar a cotação do dólar
b. Pedir para o usuário digitar um valor em dólares
c. Converter e apresentar o valor digitado em reais.
Resposta em JAVA:
import javax.swing.JOptionPane;
--------------------------------------------------------------------------------
Prática 2 – Expressões
1. Objetivo
Trabalhar com entrada e saída de dados em Java
Compilar um programa em Java
Executar um programa em Java
2. Recursos Necessários
Computador com compilador Java instalado
NetBeans
3. Procedimentos
Nesta prática, vamos trabalhar com comandos de atribuição, expressões, entrada e saída de dados.
Resposta em JAVA:
import javax.swing.JOptionPane;
----------------------------------------------------------------------------
B) Desenvolva um programa em Java que receba dois valores inteiros para as variáveis 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 prática, vamos trabalhar com comandos de decisão (if e if / else).
A) Elaborar um algoritmo (pseudocódigo e código 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 numéricos reais e mostre o maior entre
esses dois números. Se os números forem iguais o programa deverá apresentar uma mensagem com a informação:
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 3/17
06/11/2017 Exercicios
“Os números são iguais.”
Resposta em JAVA:
import javax.swing.JOptionPane;
double n1,n2;
n1=Integer.parseInt(JOptionPane.showInputDialog("Digite o 1°número"));
n2=Integer.parseInt(JOptionPane.showInputDialog("Digite o 2°número"));
if (n1==n2){
JOptionPane.showMessageDialog(null, "Número 1 e número 2 são iguais");
}else{
if(n1>n2){
JOptionPane.showMessageDialog(null, "Número maior :" +n1);
}else{
JOptionPane.showMessageDialog(null, "Número maior: " + n2);
}
}
}
}
------------------------------------------------------------------------------
C) Desenvolva um algoritmo que receba um valor numérico 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 número"));
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á também verificar se essa pessoa já tem idade para votar (16 anos ou mais)
e se tem idade para obter a Carteira Nacional de Habilitação (18 anos ou mais).
*Está Faltando(incompleto!)
import javax.swing.JOptionPane;
---------------------------------------------------------------------------
Desafio) Desenvolver um algoritmo que receba três números inteiros e mostre o maior e o menor entre eles.
Resposta em JAVA:
import javax.swing.JOptionPane;
n1 = Integer.parseInt(JOptionPane.showInputDialog("Digite 1° número"));
n2 = Integer.parseInt(JOptionPane.showInputDialog("Digite 2° número"));
n3 = Integer.parseInt(JOptionPane.showInputDialog("Digite 3° número"));
-------------------------------------------------------------------------------
1. Procedimentos
da operação aritmética desejada, calcule e mostre o resultado da operação aritmética, conforme a tabela abaixo:
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 5/17
06/11/2017 Exercicios
Simbolo Operação aritmética
+ Adição
- Subtração
* Multiplicação
/ Divisão
^ Potenciação
m Resto da divisão
Resposta em JAVA:
import javax.swing.JOptionPane;
public class Laboratorio4 {
n1=Integer.parseInt(JOptionPane.showInputDialog("Digite 1°número"));
n2=Integer.parseInt(JOptionPane.showInputDialog("Digite 2°número"));
if (teste==true){
JOptionPane.showMessageDialog(null, "Resultado: " + resultado);
}else{
JOptionPane.showMessageDialog(null, "Operação inválida");
}
}
}
----------------------------------------------------------------------------
B) Desenvolva um algoritmo que receba a idade de um atleta e mostre a sua classificação 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
Observações:
- Apresente todas as informações em janelas gráficas (JOptionPane.showMessageDialog).
- No item B, é permitido o uso da estrutura de decisão if apenas nas faixas de 18 anos ou mais.
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="Não 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 números inteiros maiores que zero, digitados pelo
usuário até que o valor 0 (zero) seja digitado. O programa deverá determinar e mostrar
quantos valores pares foram digitados. Se o usuário fornecer valores menores que zero,
o programa deverá apresentar uma mensagem de erro e solicitar um novo número.
Resposta em JAVA:
import javax.swing.JOptionPane;
do{
do{
n1 = Integer.parseInt(JOptionPane.showInputDialog("Digite um número inteiro maiores que zero."));
if(n1<0){
JOptionPane.showMessageDialog(null, "Número Inválido!");
}
}while(n1<0);
if(n1%2==0 && n1!=0){
par++;
}
}while(n1!=0);
------------------------------------------------------------------------------------------------
b) Desenvolva um programa que receba números inteiros maiores que zero, digitados pelo
usuário até que o valor 0 (zero) seja digitado. O programa deverá determinar e mostrar
quantos valores pares foram digitados. Se o usuário fornecer valores menores que zero,
o programa deverá apresentar uma mensagem de erro e solicitar um novo número.
Desafio) Escreva um aplicativo que exiba o seguinte padrão de um tabuleiro de xadrez:
* * * * * * * * Cada asterisco representa uma casa preta. Cada espaço
* * * * * * * * representa uma casa branca.
********
* * * * * * * *
********
* * * * * * * *
********
* * * * * * * *
Seu programa poderá utilizar apenas uma vez cada uma das três estruturas de saída, 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 prática, vamos trabalhar com as estruturas de repetição do/while e for do Java.
1ª Parte: do/while
O procedimento deverá ser repetido enquanto o usuário quiser continuar a fornecer valores.
O usuário 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 usuário e uma nova letra deve ser solicitada.
Quando o usuário digitar ‘N’ ou ‘n’, o programa deverá apresentar a média 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 número"));
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 inválido!");
}
}while(!(saida=='N' || saida=='S'));
}while(saida!='N');
media=total/contador;
JOptionPane.showMessageDialog(null, media);
}
}
----------------------------------------------------------------------------
b) Desenvolva um programa que receba um número N digitado pelo usuário 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 números 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 usuário) no lugar do
texto “Nome do primeiro candidato” e “Nome do segundo candidato”.
A cada voto, uma mensagem de confirmação deve ser apresentada ao usuário: “Deseja
confirmar seu voto? (S/N)”. Em caso de confirmação apresentar a mensagem “Voto Confirmado.
O algoritmo deve repetir esta operação para vários eleitores, até que o presidente da seção
eleitoral encerre a votação, digitando a senha 999 na tela de votação 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 eleição.
Obs: o algoritmo deve validar a entrada do usuário, permitindo apenas a inclusão 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]Não").toUpperCase().charAt(0);
if(!(confirma=='N' || confirma=='S')){
JOptionPane.showMessageDialog(null, "Confirmação inválida!");
}
}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);
}
--------------------------------------------------------------------------------
Prática 8 – Vetores
1. Desenvolva um algoritmo que armazene num vetor 10 valores numéricos inteiros digitados pelo usuário.
Respostas em JAVA
System.out.println();
------------------------------------------------------------------------------
2. Desenvolva um algoritmo que armazene num vetor 10 valores numéricos inteiros digitados pelo usuário.
Em seguida, o algoritmo deve solicitar um número para o usuário 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 numéricos inteiros digitados pelo usuário.
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 numéricos reais digitados pelo usuário.
Em seguida, o algoritmo deverá determinar e apresentar a média dos valores pares e a quantidade de valores menores que 10.5 armazenados no v
package laboratorio8;
import javax.swing.JOptionPane;
------------------------------------------------------------------------------
Prática 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 número"));
}
}
//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 cálculo da média dos alunos de uma turma. O programa deverá:
Exemplo:
Aluno 5: Nota 1: 8; Nota 2: 10; Média: 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;
------------------------------------------------------------------------------
Prática 10 – Procedimentos
Escrever um algoritmo em Java para executar algumas operações com vetor e matriz.
[http://1.bp.blogspot.com/-
xvNNaOAFGLI/T9DpHmtxNFI/AAAAAAAAAfQ/g8e4m1tVh20/s1600/Sem+t%C3%ADtulo.png]
Para cada operação selecionada pelo usuário, desenvolver um procedimento que executa a tarefa.
O método principal deve utilizar os demais procedimentos de acordo com a opção do menu selecionada pelo usuário.
O programa deve ser executado repetidamente até o usuário selecionar a opção SAIR.
Descrição dos procedimentos:
1. O procedimento deve armazenar num vetor X valores numéricos reais digitados pelo usuário, onde X é o número de
elementos do vetor, que também é informado pelo usuário.
Em seguida, percorrer o vetor somando as posições e no final mostrar a média geral dos números.
2. O procedimento deve armazenar num vetor 10 valores numéricos inteiros digitados pelo
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 16/17
06/11/2017 Exercicios
usuário. Em seguida, percorrer o vetor somando os números pares e também somando os
números ímpares. Ao final da execução, o procedimento deve apresentar a diferença entre a
soma dos números pares e a soma dos números ímpares.
3. O procedimento deve criar uma matriz de dimensões 2 x 3 e preenchê-la com valores reais.
Em seguida, percorrer a matriz imprimindo os valores armazenados no padrão de matriz, ou
seja, para cada linha apresentar suas colunas.
4. O procedimento deve criar uma matriz de dimensões 3 x 4, preenchê-la com números inteiros
e depois percorrê-la imprimindo a sua matriz transposta. Matriz transposta: linha vira coluna e
coluna vira linha.
Visualizar comentários
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 17/17