É minha primeira postagem aqui no blog!
No semestre passado, comecei a matéria "Linguagem de Programação I" na faculdade de Ciência da Computação na UNIJUÍ, a qual se trata de Java.
É claro que tem que haver exercícios. E é claro que praticamente ninguém faz o trabalho totalmente sozinho. Copia um pouco de um, um pouco de outro, e faz um pouquinho também.
Então, esses exercícios que pretendo postar,aviso desde já, são meus, mas com participações de alguns colegas que não vou citar, porque não lembro com quem peguei o que ^^
Bom, como são 20 exercícios (que professor cruel...), vou postar 5 hoje, talvez 5 amanhã, e assim consecutivamente (eta palavra difícil!).
Bom, então vamos ao que interessa: vou postar primeiro a questão dada pelo professor, e em seguida o código da solução.
Sugestões de modos diferentes, de complementos, críticas e talz, por favor, nos comentário.
Let's go!
1) Escrever um programa que lê três valores, que são os lados de um triângulo, e calcule a área deste triângulo:
Área = raíz quadrada( S ( S – A ) ( S – B ) ( S – C ) )
onde S é o semi-perímetro
Solução:
Arquivo: exe1.java
import java.util.Scanner; class exe1 { static public void main (String[] args) { double x,a,b,c,s,area; Scanner myScanner= new Scanner(System.in); System.out.println ("Digite o lado 'A' do triangulo: "); a=myScanner.nextDouble(); System.out.println ("Digite o lado 'B' do triangulo: "); b=myScanner.nextDouble(); System.out.println ("Digite o lado 'C' do triangulo: "); c=myScanner.nextDouble(); s=(a+b+c)/2; area= s*(s-a)*(s-b)*(s-c); area=Math.sqrt(area); System.out.println ("A area do triangulo e "+area); } }
2) Escrever um programa que determine o número de notas necessárias para compor o salário de um funcionário. Supondo a existência das notas de R$ 100,00, R$ 50,00, R$ 20,00, R$ 5,00, R$ 2,00 e R$ 1,00 um salário de R$ 1234,00 deveria ser decomposto da seguinte maneira:
Notas------------Quantidade R$ 100,00....................12 R$ 50,00........................0 R$ 20,00........................1 R$ 10,00 .......................1 R$ 5,00..........................0 R$ 2,00..........................2 R$ 1,00..........................0 Total..................1234,00
Solução:
import java.util.Scanner; class exe2 { static public void main (String[] args) { Scanner myScanner = new Scanner(System.in); int sal,nota1,nota2,nota3,nota4,nota5,nota6,nota7,resto; System.out.println("Escreva o salario liquido do funcionario: "); sal=myScanner.nextInt(); nota1=sal/100; resto=sal%100; nota2=resto/50; resto=resto%50; nota3=resto/20; resto=resto%20; nota4=resto/10; resto=resto%10; nota5=resto/5; resto=resto%5; nota6=resto/2; nota7=resto%2; System.out.println(" Notas "+" Quantidade "); System.out.println("R$ 100,00 "+nota1); System.out.println("R$ 50,00 "+nota2); System.out.println("R$ 20,00 "+nota3); System.out.println("R$ 10,00 "+nota4); System.out.println("R$ 5,00 "+nota5); System.out.println("R$ 2,00 "+nota6); System.out.println("R$ 1,00 "+nota7); System.out.println("Total: R$ "+sal); }
3) Faça um programa em JAVA que leia o tempo de duração de um evento em uma fábrica expressa em segundos e mostre-o expresso em horas, minutos e segundos.
Solução:
import java.util.Scanner; class exe3 { static public void main (String[] args) { int seg,min,hor; Scanner myScanner=new Scanner(System.in); System.out.println("Digite os segundos: "); seg=myScanner.nextInt(); hor=seg/3600; seg=seg%3600; min=seg/60; seg=seg%60; System.out.println(hor+":"+min+":"+seg); } }
4) Escrever um programa que receba um par de valores X,Y que representam as coordenadas de um ponto no plano e determine o quadrante ao qual pertence o ponto ou se está sobre a origem ou ainda se está sobre um dos eixos cartesianos.
Solução:
import java.util.Scanner; class exe4 { static public void main (String[] args) { double coord1,coord2; double quadrante = 0d; Scanner myScanner = new Scanner(System.in); System.out.println ("Digite a cordenada de x: "); coord1=myScanner.nextDouble(); System.out.println ("Digite a cordenada de y: "); coord2=myScanner.nextDouble(); if (coord1==0 & coord2==0){ System.out.println ("Nenhum quadrante"); } else { if(coord1>0) { if(coord2>0){ quadrante=1d; } else{ quadrante=4d; } } else{ if(coord2>0){ quadrante=2d; } else{ quadrante=3d; } } } System.out.println ("As coordenadas de x,y estão no: "+quadrante+" quadrante"); } }
5) Escrever um programa que leia quatro valores e os exiba em ordem decrescente.
Solução:
import java.io.*; import java.util.Scanner; import java.util.Arrays; class exe5 { static public double[] reverse(double array[]) { double newArray[] = new double[array.length]; int j = (array.length - 1); for(int i = 0; i < array.length; ++i){ newArray[i] = array[j]; --j; } return newArray; } static public void main (String[] args) { double values[] = new double[4]; Scanner scanner = new Scanner(System.in); for(int i = 0; i < 4; ++i){ System.out.println ("Digite o valor " + (i + 1)); values[i] = scanner.nextDouble(); } Arrays.sort(values); values = reverse(values); System.out.println ("\nValores\n"); for(int i = 0; i < values.length; ++i){ System.out.println(values[i]); } } }
Bom, aí estão os primeiros exercícios. Por favor, não sejam cruéis em seu comentário... hehehe... Foi no semestre passado, ja nem lembro direito... hehehe...
Vou esperar vossa avaliação...
Fui e ....
...Voltaremos!