Você está na página 1de 17

06/11/2017 Exercicios

4th June 2012 Exercicios

Prtica 1 Introduo

Objetivo:
Conhecer o ambiente das aulas prticas
Primeiro contato com a IDE NetBeans
Escrever, compilar e executar programas em Java

Parte 1: Torres de Hani


O problema das Torres de Hani objeto de estudo de disciplinas avanadas da rea deComputao. Concebido em
1883 pelo matemtico francs Edouard Lucas, consiste de um quebracabeas matemtico composto por conjunto de
discos de diferentes dimetros que devem ser movidos entre 3 torres at que todos os discos estejam em uma torre
diferente da torre original. Osmovimentos devem obedecer 2 regras:

1. Mover apenas um disco por vez.


2. Um disco de dimetro maior no pode ser colocado sobre um disco de dimetro menor.

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;

public class Laboratorio {

public static void main(String[] args) {

int disco;
double movimentos;

disco = Integer.parseInt (JOptionPane.showInputDialog("Digite a quantidade dos discos."));

movimentos = (Math.pow(2, disco)-1);

JOptionPane.showMessageDialog(null, "Quantidade de movimentos: "+movimentos);


System.out.println("Nmero de discos: "+disco +" >>movimentos: " +movimentos);
}
}

b)Nmero de discos: 64 >>movimentos: 1.8446744073709552E19

------------------------------------------------------------------------------------------------------

1. Elaborar um algoritmo em Java para calcular e apresentar o valor da expresso aritmtica


b + b * c 4 * c a, onde a, b e c so nmeros inteiros fornecidos pelo usurio.

Resposta em JAVA:

public class Laboratorio2 {

public static void main (String [] args){

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.

Apresente todas as informaes em janelas grficas (JOptionPane.showMessageDialog) .

Resposta em JAVA:

import javax.swing.JOptionPane;

public class Laboratorio3 {

public static void main (String [] args){

double dolar, real, umDolarEmReal;

umDolarEmReal = Double.parseDouble(JOptionPane.showInputDialog("Quanto esta 1 dolar em real?"));


dolar= Double.parseDouble(JOptionPane.showInputDialog("Qual o valor do dolar que deseja converter?"));
real = umDolarEmReal*dolar;
JOptionPane.showMessageDialog(null, "$"+ dolar + " = "+"R$"+real);
}
}

--------------------------------------------------------------------------------

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.

A) Desenvolva um programa em Java que receba o salrio de um funcionrio,

calcule e mostre seu novo salrio com reajuste de 20%.

Resposta em JAVA:

import javax.swing.JOptionPane;

public class laboratorio1Lab2 {

public static void main(String[] args) {

double salario, reajusteSalario;

salario=Double.parseDouble(JOptionPane.showInputDialog("Digite o valor do salrio"));


reajusteSalario=salario*0.2+salario;
JOptionPane.showMessageDialog(null, "Salario Atual: R$"+reajusteSalario);
}
}

----------------------------------------------------------------------------

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;

public class laboratorio2 {

public static void main(String[] args) {

int x,y,guardax, guarday;


x=Integer.parseInt(JOptionPane.showInputDialog("Digite o valor do x"));
y=Integer.parseInt(JOptionPane.showInputDialog("Digite o valor do y"));
System.out.println("x,y");
System.out.println(x+","+y);
guardax=x;
guarday=y;
http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 2/17
06/11/2017 Exercicios
y=guardax;
x=guarday;

System.out.println(x+","+y);
}
}

-------------------------------------------------------------------------------

C) Desenvolva um programa em Java que receba uma temperatura em graus Celsius (C),

calcule e mostre a temperatura convertida para graus Fahrenheit (F).


Frmula de converso: F = (9 x C + 160) / 5.
Apresente todas as informaes em janelas grficas (JOptionPane.showMessageDialog) .

Resposta em JAVA:

import javax.swing.JOptionPane;

public class laboratorio3 {

public static void main (String [] args){

Double fahreneit, celsius;

celsius=Double.parseDouble(JOptionPane.showInputDialog("Digite a temperatura em Fahreneit"));


fahreneit = (9*celsius+160)/5;

JOptionPane.showMessageDialog(null, celsius + "C = " + fahreneit + "F");


}
}

-----------------------------------------------------------------------------

Prtica 3 Estruturas de deciso: if - else

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.*;

public class Laboratorio3 {

public static void main(String[] args) {

char sexo;
double altura, pesoIdeal;

sexo = JOptionPane.showInputDialog("Qual o sexo?").toUpperCase().charAt(0);

if (sexo=='H' || sexo=='M'){
altura = Double.parseDouble(JOptionPane.showInputDialog("Digite a altura"));

if(sexo=='M'){

pesoIdeal = (72.7 * altura)-58;


}else{

pesoIdeal = (62.1 * altura) -44.7;


}
JOptionPane.showMessageDialog(null, "Peso Ideal: " + pesoIdeal + "kg");
}else{
JOptionPane.showMessageDialog(null, "Sexo invlido");
}
}
}

----------------------------------------------------------------------

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;

public class Laboratorio4 {

public static void main (String [] args){

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;

public class Laboratorio5 {

public static void main (String [] args){

int n1;

n1=Integer.parseInt(JOptionPane.showInputDialog("Digite um nmero"));

if (n1/2==0){

JOptionPane.showMessageDialog(null,"Nmero " + n1+" par");


}else{

JOptionPane.showMessageDialog(null, "Nmero " + n1+" mpar");


}
}
}

------------------------------------------------------------------------------

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).

Apresentar na tela essas informaes.

*Est Faltando(incompleto!)

import javax.swing.JOptionPane;

public class Laboratorio6 {

public static void main (String [] args){

int anoNascimento, anoAtual, idade;

anoNascimento = Integer.parseInt(JOptionPane.showInputDialog("Qual o ano de nascimento?"));


http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 4/17
06/11/2017 Exercicios
anoAtual = Integer.parseInt(JOptionPane.showInputDialog("Qual o ano atual?"));
idade = anoAtual-anoNascimento;

JOptionPane.showMessageDialog(null, "Voc tem ou vai ter "+idade+"anos");


}
}

---------------------------------------------------------------------------

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;

public class Laboratorio7 {

public static void main (String [] args){

int n1, n2, n3, maior=0, menor=0, meio=0;

n1 = Integer.parseInt(JOptionPane.showInputDialog("Digite 1 nmero"));
n2 = Integer.parseInt(JOptionPane.showInputDialog("Digite 2 nmero"));
n3 = Integer.parseInt(JOptionPane.showInputDialog("Digite 3 nmero"));

if((n1==n2) && (n2==n3)){

JOptionPane.showMessageDialog(null, "Todos tem mesmos nmeros");


}else{
if(n1>n2){
if(n1>n3){
if(n2>n3){
maior=n1;
meio=n2;
menor=n3;
}else{
maior=n1;
meio=n3;
menor=n2;
}
}else{//n3>n1>n2..
maior=n3;
meio=n1;
menor=n2;
}
}else{//n2>n1
if(n1>n3){
maior=n2;
meio=n1;
menor=n3;
}else{//n2?n3>n1
if(n2>n3){
maior=n2;
meio=n3;
menor=n1;
}else{
maior=n3;
meio=n2;
menor=n1;
}
}
}
}
JOptionPane.showMessageDialog(null,"Maior: " + maior +"\nMeio: " + meio + "\nMenor: " + menor);
}
}

-------------------------------------------------------------------------------

Prtica 4 Estruturas de deciso de mltipla escolha (switch)

1. Procedimentos

Nesta prtica, vamos trabalhar com comandos de deciso mltipla (switch).

A) Desenvolva um algoritmo que receba o valor de dois nmeros inteiros, o smbolo

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 {

public static void main(String[] args) {

int n1, n2;


double resultado=0;
char operacao;
boolean teste=true;

n1=Integer.parseInt(JOptionPane.showInputDialog("Digite 1nmero"));
n2=Integer.parseInt(JOptionPane.showInputDialog("Digite 2nmero"));

operacao = JOptionPane.showInputDialog("Digite: \n+: adio.\n-:Subtrao.\n-:Multiplicao.\n/: Diviso.\n^ :Potenciao\nM: Resto


switch(operacao){
case '+':resultado = n1+n2;
break;
case '-':resultado = n1-n2;
break;
case '*':resultado = n1*n2;
break;
case '/':resultado = n1/n2;
break;
case '^':resultado = Math.pow(n1, n2);
break;
case 'M':resultado = n1%n2;
break;
default : teste=false;
break;

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,

conforme a tabela abaixo:

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;

public class NewClass {

public static void main(String[] args) {

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);
}
}

-------------------------------------------------------------------------

Prtica 5 Estruturas de Repetio While


1. Procedimentos
Nesta prtica, vamos trabalhar com a estrutura de repetio while do Java.
a) Desenvolva um programa que apresente a diferena entre a soma dos nmeros pares e
a soma dos nmeros mpares, no intervalo de 1 a 100.
Dicas:
1. Utilize uma varivel inteira para controlar a estrutura de repetio. O valor dessa
varivel varia de 1 at 100, sendo o limite superior o critrio de parada da
repetio.
2. Utilize uma varivel para armazenar a soma dos nmeros pares.
3. Utilize uma varivel para armazenar a soma dos nmeros mpares.

Resposta em JAVA:

import javax.swing.JOptionPane;

public class Laboratorio5 {

public static void main(String[] args) {

int par=0, impar=0;


double resultado;

for (int i=1; i<=100; i++){

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;

public class NewClass {

public static void main(String[] args) {

int n1, par=0;

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);

System.out.println("Teve " + par + " nmeros pares");


}
}

------------------------------------------------------------------------------------------------
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:

System.out.print( * ); // Asterisco seguido de um espao


System.out.print( ); // Apenas um espao
System.out.println( ); // Comando de quebra de linha println
Dica: Ser necessrio utilizar mais de uma estrutura de repetio para montar a figura.

Resposta em JAVA:

import javax.swing.JOptionPane;

public class NewClass2 {

public static void main(String[] args) {

int estrela=Integer.parseInt(JOptionPane.showInputDialog("Digite a quantidade de estrela desejada."));

for (int a=1; a<=estrela; a++){


if (a%2!=0){
for (int i=0;i<estrela;i++ ){
System.out.print("* ");
}
System.out.println();
}else{
for (int i=0;i<estrela;i++ ){
System.out.print(" *");
}

http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 8/17
06/11/2017 Exercicios
System.out.println();
}
}
}
}

---------------------------------------------------------------------------

Prtica 06 Estruturas de Repetio do/while e for

1. Procedimentos
Nesta prtica, vamos trabalhar com as estruturas de repetio do/while e for do Java.

1 Parte: do/while

a) Desenvolva um programa que receba nmeros reais digitados pelo usurio.

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 {

public static void main(String[] args) {

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

o valor de N!(fatorial N x (N-1) x (N-2) x (N-3) ... x 1).

Resposta em JAVA:

import javax.swing.JOptionPane;

public class NewClass {



public static void main(String[] args) {

int n1=Integer.parseInt(JOptionPane.showInputDialog("Digite um nmero"));
int resposta=1;

for(int i=0; i<n1;i++){
resposta *= n1-i;
System.out.println(resposta);
}
JOptionPane.showMessageDialog(null, resposta);
}
}
------------------------------------------------------------------------------------------------------

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:

public class NewClass1 {



public static void main(String[] args) {

for (int i=10; i<=150; i++){
if(i%2==0){
System.out.println(i + "*" + i + "=" + i*i);
}
}
}
}
-----------------------------------------------------------------------------------------------
d) Desenvolva um algoritmo que receba dois nmeros inteiros, verifique qual o maior entre eles,
calcule e mostre a mdia entre os nmeros mpares compreendidos entre esses dois nmeros.

Resposta em JAVA:

import javax.swing.JOptionPane;

public class NewClass2 {



public static void main(String[] args) {

int n1, n2;
double media;

n1=Integer.parseInt(JOptionPane.showInputDialog("Digite 1 valor."));
n2=Integer.parseInt(JOptionPane.showInputDialog("Digite 2 valor."));

if(n1==n2){
System.out.println("1 e 2 nmeros so iguais: " + n1 + "=" + n2);
}else{
if(n1>n2){
System.out.println("1 nmero o maior:" +n1);
}else{
System.out.println("2 nmero o maior:" +n2);
}
}

media=n1+n2/2;
System.out.println("Mdia"+media);
}
}
----------------------------------------------------------------------------------------
Desafio) Escreva algoritmos que utilizem apenas estruturas de repetio for para desenhar na tela
as figuras abaixo:
Primeira figura)
**********
*********
********
*******
******
*****
****
***
**
*
Segunda figura)
*
**
***
****
*****
******
*******
********
*********
**********

Resposta em JAVA:

public class NewClass3 {

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();
}
}
}
---------------------------------------------------------------------------------------------

Prtica 7 Estrutura de Repetio FOR


1. Procedimentos
a) Desenvolva um algoritmo para realizar uma pesquisa de inteno de voto para uma eleio
qualquer, considerando dois candidatos que sero informados pelo usurio na inicializao do
programa. Os votos devem ser computados atravs de cdigos, sendo o cdigo 1 para o primeiro
candidato, 2 para o segundo candidato e 0 para Branco/Nulo. O programa dever apresentar
uma tela para o usurio com as informaes de votao, conforme imagem abaixo:

[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.

Fim. Caso contrrio, apresente a mensagem Repita seu voto..

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;

public class NewClass1 {

public static void main(String[] args) {

String candidato1, candidato2;


int votoCandidato1=0, votoCandidato2=0, voto, nulo=0, senha=0;
char confirma;
boolean saiConfirma;

candidato1=JOptionPane.showInputDialog("Qual o nome do 1 candidato?");


candidato2=JOptionPane.showInputDialog("Qual o nome do 2 candidato?");

//1.Repita at colocar a senha


do{

http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 11/17
06/11/2017 Exercicios

//1.1Repete at confirmar o voto.


do{
//1.1.1.Recebe voto do usuario e verifica se esta entre 0 a 2
do{
voto= Integer.parseInt(JOptionPane.showInputDialog("Escolha uma opao de voto:"
+ "\n[1]"+candidato1+"\n[2]"+candidato2+"\n[0]Nulo"));

if (!(voto>=0 && voto<3)){


JOptionPane.showMessageDialog(null,"Voto invlido");
}
}while(!(voto>=0 && voto<3));

//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;
}

senha = Integer.parseInt(JOptionPane.showInputDialog("Para sair digite a senha.\nPara continuar digite qualquer nmero"));


}while(senha!=999);

//2.Informa voto
JOptionPane.showMessageDialog(null, candidato1 + ": " + votoCandidato1 + "voto(s)\n"
+candidato1 + ": " + votoCandidato2 + "voto(s)\n"
+"Votos Nulos: " + nulo + "voto(s)\n");

}
}

------------------------------------------------------------------------------

b) Escrever um algoritmo para calcular e apresentar o resultado da seguinte expresso:


Exp = 1 + 1/2 + 1/3 + 1/4 + 1/5 + ... + 1/100
Resolva o exerccio utilizando a estrutura de repetio for.
Dica: Ser necessrio utilizar um acumulador e um contador.

Respostas em JAVA

import javax.swing.JOptionPane;

public class NewClass2 {

public static void main(String[] args) {

double total=0;

for(int i=1; i<=100; i++){


System.out.print(total + "+" + 1 + "/" + i + "=");
total=total+1/i;
System.out.println(total);
}

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

Desenvolva programas em Java para solucionar os seguintes problemas:

1. Desenvolva um algoritmo que armazene num vetor 10 valores numricos inteiros digitados pelo usurio.

Em seguida, apresente os valores na ordem inversa da entrada.

Respostas em JAVA

public class Laboratorio8 {

public static void main(String[] args) {

int[] n1=new int[10];

for(int i=0; i<=9; i++){


n1[i]=Integer.parseInt (JOptionPane.showInputDialog("Digite um nmero"));
System.out.print(n1[i]+", ");
}

System.out.println();

for(int i=9; i >=0; i--){


System.out.print(n1[i] + ", ");
}
}
}

------------------------------------------------------------------------------

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;

public class NewClass {

public static void main(String [] args){

int [] n1= new int [10];


int n2;

for (int i=0; i<=9; i++){


n1[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite um nmero"));
}

n2=Integer.parseInt(JOptionPane.showInputDialog("Digite um nmero para encontrar nmeros menores"));

System.out.println("Nmeros menores que " + n2);

for(int i=0; i<=9; i++){


if(n1[i] < n2){
System.out.println(n1[i]);
}
}
}
}

------------------------------------------------------------------------------

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 {

public static void main(String [] args){

int [] n1 = new int [20];


int maior=0, menor=0;

for (int i=0; i<=19; i++){


n1[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite um nmero"));
}

for(int i=0; i<=19; i++){


if(n1[i]>maior){ //encontra maior
maior = n1[i];
}else{
if(n1[i]<menor){ //encontra menor
menor = n1[i];
}
}
}

System.out.println("Nmero maior: " + maior + "\nNmero menor: " + menor);


}
}

----------------------------------------------------------------------------

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;

public class NewClass2 {



public static void main(String [] args){

double [] n1 = new double[15];
double totalPar=0, mediaPar;
int quantiPar=0, quantiMenorDezCinco=0;

//preenche vetor n1
for(int i=0; i<=14; i++){
n1[i] = Double.parseDouble(JOptionPane.showInputDialog("Disgite um numero"));
}

//Verifica: media do par
for (int i=0; i<=14; i++){
if(n1[i]%2==0){
totalPar += n1[i];
quantiPar ++;
}
}
mediaPar = totalPar/quantiPar;
System.out.println("Mdia dos valores pares: " + mediaPar);

//Verifica: Quantidade do n1<10.5
for (int i=0; i<=14; i++){
if(n1[i]<10.5){
quantiMenorDezCinco++;
}
}
System.out.println("Temos " + quantiMenorDezCinco + " nmeros menores que 10.5");
}
}

------------------------------------------------------------------------------

Prtica 9 Matrizes

Desenvolva programas em Java para solucionar os seguintes problemas:

http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 14/17
06/11/2017 Exercicios

A) Desenvolva um algoritmo que:


- Armazene valores reais digitados pelo usurio numa matriz de dimenses 2 x 3.
- Crie e armazene numa segunda matriz o dobro dos valores contidos na primeira matriz.
- Apresente na tela os elementos da segunda matriz.

Respostas em JAVA

import javax.swing.JOptionPane;

public class Laboratorio9 {

public static void main(String [] args) {

int [][] n1= new int [2][3];


int [][] n2= new int [2][3];

//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);
}
}

System.out.println("Dobro dos valores digitados:");

//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:

- Perguntar ao usurio a quantidade de alunos da turma.


- Criar uma matriz com n de linhas igual quantidade de alunos e trs colunas.
- Para cada aluno:

a) Perguntar ao usurio a nota do aluno no 1 bimestre e armazenar na primeira coluna da linha

correspondente ao aluno na matriz.


b) Perguntar ao usurio a nota do aluno no 2 bimestre e armazenar na segunda coluna da linha

correspondente ao aluno na matriz.


c) Calcular a mdia aritmtica das notas do aluno e armazenar na terceira coluna da linha

correspondente ao aluno na matriz.


- Calcular e mostrar a mdia geral da turma (a soma de todas as mdias dividida pela quantidade de alunos).

- Apresentar as notas e a mdia de cada aluno, no seguinte formato:

Aluno 1: Nota 1: <nota 1>; Nota 2: <nota 2>; Mdia: <mdia>


Aluno 2: Nota 1: <nota 1>; Nota 2: <nota 2>; Mdia: <mdia>
...
Aluno N: Nota 1: <nota 1>; Nota 2: <nota 2>; Mdia: <mdia>

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;

public class Treinando {


public static void main (String [] args){

int quantiAluno;
double totalMedia=0, mediaSala;

quantiAluno = Integer.parseInt(JOptionPane.showInputDialog("Digite a quantidade dos alunos"));

double [][] alunos= new double[quantiAluno][3];

//Preenche matriz alunos


for (int i=0; i<=quantiAluno-1; i++){
for (int n=0; n<=2; n++){
if(n!=2){
alunos[i][n]= Double.parseDouble (JOptionPane.showInputDialog("Digite a mdia do " + (n+1)+" Bimenstre"));
}else{
//calcula mdia do aluno
alunos[i][2]= (alunos[i][0]+alunos[i][1])/2;
}
}
}

//Calcula e mostra: Mdia da turma


for(int i=0; i<=quantiAluno-1; i++){
totalMedia += alunos[i][2];
}
mediaSala = totalMedia/quantiAluno;
System.out.println("Mdia da sala: "+mediaSala);

//Apresenta: Nota1, Nota2 e Mdia de cada aluno


for (int i=0; i<=quantiAluno-1; i++){
System.out.print("Aluno" + (i+1) + "-> ");
for (int n=0; n<=2; n++){
if(n!=2){
System.out.print("Nota"+(n+1)+": " + alunos[i][n] + "; ");
}else{
//Mostra mdia
System.out.print("Mdia: " + alunos[i][2]);
}
}
System.out.println();
}
}
}

------------------------------------------------------------------------------

Prtica 10 Procedimentos

Escrever um algoritmo em Java para executar algumas operaes com vetor e matriz.

O programa deve apresentar o seguinte menu para o usurio:

[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.

O programa deve ser executado repetidamente at o usurio selecionar a opo SAIR.


Descrio dos procedimentos:

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.

Postado h 4th June 2012 por Resuminho

Visualizar comentrios

http://exemplosalgoritmo.blogspot.com.br/2012/06/exercicios.html 17/17

Você também pode gostar