You are on page 1of 9

ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR

DEPARTAMENTO DE ENGENHARIA INFORMÁTICA

TECNOLOGIA E PROGRAMAÇÃO DE
SISTEMAS DE INFORMAÇÃO

Linguagens de Programação

2010/2011

TRABALHO PRÁTICO JAVA Nº 1

Objectivos:

Exploração do IDE NetBeans 6


Codificação de programas em java
Regras de estilo para Java

1
1. Construa um que apresente na consola a mensagem “Bem-vindo ao Java”.
public static void main(String[] args) {
System.out.print("Bem-vindo ao Java");
}

2. Construa um programa que verifique se um numero inteiro é par ou ímpar


(utilize o operador % e o operador ?).
public static void main(String[] args) {
int a=103;
String sit = a%2==0 ? "Par" : "Impar";
System.out.println("Numero :"+sit);
}

3. Construa um programa que imprima a raiz cúbica de um número.


public static void main(String[] args) {
int a=27;
double rcubica=Math.pow(a,1.0/3);
System.out.println("Raiz Cubica de 27 :"+rcubica);
}

4. Construa um programa que calcule as raízes de uma equação de segundo


grau.
public static void main(String[] args) {
double delta;
Scanner keyb = new Scanner(System.in);
System.out.print("Introduza o valor de a : ");
double a = keyb.nextDouble();
System.out.print("Introduza o valor de b : ");
double b = keyb.nextDouble();
System.out.print("Introduza o valor de c : ");
double c = keyb.nextDouble();
delta=(-4)*(Math.pow(b, 2))*a*c;
//System.out.println(delta +" "+a+" "+b +" "+c);
if (a==0&&b==0&&c==0) {
System.out.println("Não é uma Função");
}else{
if(a==0&&b==0&&c!=0){
System.out.println("A função não tem zeros x = “ + c + ” assimptota
horizontal!!");
}else{
if(a==0&&b!=0&&c==0){
System.out.println("A função coincide com o eixo dos xs e não tem
zeros x = 0");
}else{
if(a==0){
System.out.println("Função afim com 1 zero x = "+-c/b);
}else{
if(delta==0){
System.out.println("Função quadratica com um zero x="+(-
b/2a));
}else{
if(delta > 0){
System.out.println("Função quadrática com dois zeros x="+
(((-b)+Math.sqrt(delta))/2)+" x ="+(((-b)-Math.sqrt(delta))/2);
}else{
System.out.println("A Função não tem zeros delta menor
que 0");
}

INSTITUTO POLITÉCNICO DE TOMAR ESCOLA SUPERIOR DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 2


}
}
}
}
}
}

5. Construa um programa que solicite ao utilizador uma temperatura em graus


célsius e imprima a temperatura equivalente em graus Faraday e graus
Kelvin.
public static void main(String[] args) {
double faraday, kelvin;
Scanner keyb = new Scanner(System.in);
System.out.print("Introduza em graus celsius : ");
double celsius = keyb.nextDouble();
faraday=celsius*1.8+32;
kelvin=celsius+273.15;
System.out.println(celsius+"ºC = "+kelvin+"ºKelvin e ="+faraday+"ºFaraday");
}

6. Construa um programa solicite ao utilizador uma temperatura e a unidade em


que está representada ( C , F ou K ) e imprima a temperatura equivalente nas
outras duas unidades.
public static void main(String[] args) {
double faraday = 0, kelvin = 0, celsius = 0;
Scanner keyb = new Scanner(System.in);
System.out.print("unidade (C,K,F) ");
String unidade = keyb.nextLine();
System.out.print("Valor da temperatura : ");
double valor = keyb.nextDouble();
if (unidade.startsWith("C")){
celsius=valor;
kelvin=celsius+273.15;
faraday=celsius*1.8+32;
}
if (unidade.startsWith("K")){
kelvin=valor;
celsius=kelvin-273.15;
faraday=celsius*1.8+32;
}
if (unidade.startsWith("F")){
faraday=valor;
celsius=(faraday-32)/1.8;
faraday=celsius*1.8+32;
}
System.out.println(celsius+"ºC = "+kelvin+"ºKelvin e ="+faraday+"ºFaraday");
}

7. Construa um programa que solicite ao utilizador o número de mês (1..12) e


imprima o último dia do respectivo mês.
public static void main(String[] args) {
int ultDia = 0;
Scanner keyb = new Scanner(System.in);
System.out.println("Introduza o mes :");
int mes=keyb.nextInt();
switch(mes)
{
case 1:
case 3:
case 5:

INSTITUTO POLITÉCNICO DE TOMAR ESCOLA SUPERIOR DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 3


case 7:
case 8:
case 10:
case 12: ultDia=31;
break;
case 4:
case 6:
case 11:ultDia=30;
break;
case 2:
System.out.println("Introduza o ano : ");
int ano=keyb.nextInt();
if((ano%4==0&&ano%100!=0)||ano%400==0)
ultDia=28;
else
ultDia=27;
break;
default:System.out.println("Corra o programa novamente e digite um mes
correcto");
break;
}
System.out.println("Ultimo dia do mês : "+ultDia);
}

8. Construa um programa que imprima os números de fibonnacci menores que


100.

public static void main(String[] args) {


int f1=1, f2=1, soma;
System.out.print("1 1");
for (int i=1;(f2+f1)<100;i++){
soma=f2+f1;
f1=f2;
f2=soma;
System.out.print(" "+soma);
}
}

9. Construa um programa que solicite um valor inteiro e imprima todos os


valores inteiros de 0 até ao valor inserido.
Introduza o limite da impressão: 5
0 1 2 3 4 5

public static void main(String[] args) {


Scanner keyb = new Scanner(System.in);
System.out.println("Introduza o numero:");
int num=keyb.nextInt();
for(int i=0;i<=num;i++){
System.out.print(i+" ");
}
}

INSTITUTO POLITÉCNICO DE TOMAR ESCOLA SUPERIOR DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 4


10. Construa um programa que calcule a soma de todos os números entre dois
limites introduzidos pelo utilizador.
Introduza o limite inferior: 0
Introduza o limite superior: 5
A soma do intervalo [0 . . . 5 ] = 15

public static void main(String[] args) {


int soma=0;
Scanner keyb = new Scanner(System.in);
System.out.println("Introduza o numero inferior:");
int inf=keyb.nextInt();
System.out.println("Introduza o numero superior:");
int sup=keyb.nextInt();
System.out.println("A soma do intervalo :");
for(int i=inf;i<=sup;i++){
soma+=i;
System.out.print(i+",");
}
System.out.println(" = "+soma);
}

11. Construa um programa que solicite ao utilizador um intervalo e imprima a


soma todos os pares contidos no intervalo
Introduza o limite inferior: 0
Introduza o limite superior: 5
A soma dos números pares [0 . . . 5 ] = 6

public static void main(String[] args) {


int soma=0;
Scanner keyb = new Scanner(System.in);
System.out.println("Introduza o numero inferior:");
int inf=keyb.nextInt();
System.out.println("Introduza o numero superior:");
int sup=keyb.nextInt();
System.out.println("A soma do intervalo :");
for(int i=inf;i<=sup;i++){
if(i%2==0)
{
soma+=i;
System.out.print(i);
if(i!=sup-1&&i!=sup)
System.out.print("+");
}
}
System.out.println(" = "+soma);
}

12. Construa uma função que verifique se o valor inteiro passado como
argumento é primo ou não. Construa um programa de teste da função
Introduza um número: 7
O numero 7 é primo

INSTITUTO POLITÉCNICO DE TOMAR ESCOLA SUPERIOR DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 5


static boolean isprimo(int num){
for (int i=2;i<num;i++){
if(num%i==0)
return false;
}
return true;
}
public static void main(String[] args) {
Scanner keyb = new Scanner(System.in);
System.out.println("Introduza um numero : ");
int num=keyb.nextInt();
if(isprimo(num)==true)
System.out.println("Numero "+num+" é primo");
else
System.out.println("Numero "+num+" não é primo");
}

13. Construa um programa que imprima todos os números primos de 8 bites.


Numero primos:
2 3 5 7 11 13 17 19 23 29 31 37
41 43 47 53 59 61 67 71 73 79 83 89
97 101 103 107 109 113 127 131 137 139 149 151
157 163 167 173 179 181 191 193 197 199 211 223
227 229 233 239 241

static boolean isprimo(int num){


for (int i=2;i<num;i++){
if(num%i==0)
return false;
}
return true;
}
public static void main(String[] args) {
for(int i=0;i<0xff;i++)
if(isprimo(i)==true)
System.out.print(i+" ");
}

14. Construa uma função que calcule o valor do factorial de um número. Construa
um programa de teste da função
Introduza um número: 4
4 ! = 24

static int factorial(int num){


for(int i=(num-1);i>0;i--)
num*=i;
return num;
}
public static void main(String[] args) {
Scanner keyb = new Scanner(System.in);
System.out.println("Numero:");
int num=keyb.nextInt();
System.out.println("Factorial de "+num+"="+factorial(num));
}

15. Construa um programa que calcule o factorial de todos os números menores


que 21..

INSTITUTO POLITÉCNICO DE TOMAR ESCOLA SUPERIOR DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 6


2 ! = 2
3 ! = 6
4 ! = 24
5 ! = 120
6 ! = 720
7 ! = 5040
8 ! = 40320
9 ! = 362880
10 ! = 3628800
11 ! = 39916800
12 ! = 479001600
13 ! = 6227020800
14 ! = 87178291200
15 ! = 1307674368000
16 ! = 20922789888000
17 ! = 355687428096000
18 ! = 6402373705728000
19 ! = 121645100408832000
20 ! = 2432902008176640000

static long factorial(long num){


for(long i=num-1;i>0;i--)
num*=i;
return num;
}
public static void main(String[] args) {
long total;
for(int i=2 ;i<21;i++){
total=factorial(i);
System.out.println(i+"!="+total);
}
}

16. Construa um programa que solicite dois números inteiros positivos e calcule o
Máximo divisor comum.

Introduza n1 : 6
Introduza n2 : 4

MDC : 2
public static void main(String[] args) {
int maxdc = 0,aux;
Scanner keyb = new Scanner(System.in);
System.out.println("Numero inteiro :");
int num1=keyb.nextInt();
System.out.println("Segundo numero inteiro:");
int num2=keyb.nextInt();
if(num1<num2)
aux=num2;
else
aux=num1;
for(int i =aux;i>0;i--)
{
if(num1%i==0&&num2%i==0){
maxdc=i;
break;
}

INSTITUTO POLITÉCNICO DE TOMAR ESCOLA SUPERIOR DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 7


}
System.out.println("Maximo divisor comum entre "+num1+" e "+num2+" = "+maxdc);
}

17. Construa um programa que solicite dois números inteiros positivos e calcule o
Mínimo Múltiplo Comum .

Introduza n1 : 4
Introduza n2 : 5

MMC : 10
public static int mdc(int num1, int num2) {
int min = Math.min(num1, num2);
for (int i = min; i >= 1; i--) {
if (num1 % i == 0 && num2 % i == 0) {
return i;
}
}
return 1;
}

public static void main(String[] args) {


int num1;
int num2;
do
{
Scanner keyb = new Scanner(System.in);
System.out.print("Introduza n1: ");
num1 = keyb.nextInt();
System.out.print("Introduza n2: ");
num2 = keyb.nextInt();
if (num1<1 || num2 < 1){
System.out.println("Numeros Introduzidos inválidos!!!");
System.out.println("Introduza numeros inteiros positivos!");
}
}while(num1<1 || num2 < 1);
int mmc = (num1 * num2) / mdc(num1, num2);
System.out.println("Minimo Multiplo Comum = " + mmc);
}

18. Construa um programa que calcule a nota final de um aluno de Linguagens de


Programação segundo as regras enunciadas no programa da disciplina. O
programa deve solicitar ao aluno a nota do seu desempenho laboratorial
(numero entre 0.0 e 20.0) e a nota da componente teórica ( numero entre 0.0
e 20.0). A nota final é um inteiro entre zero e vinte e a informação se o aluno
está aprovado ou reprovado.
public static void main(String[] args) {
int media=1;
double laboral ,exame, total;
Scanner keyb = new Scanner(System.in);
do{
System.out.println("Nota desempenho laboral:");
laboral=keyb.nextDouble();
}while(laboral<0.00||laboral>20.00);
do{
System.out.println("Nota Exame Teorico/Prático:");
exame=keyb.nextDouble();
}while(laboral<0.00||laboral>20.00);

INSTITUTO POLITÉCNICO DE TOMAR ESCOLA SUPERIOR DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 8


total=laboral*0.40+exame*0.60;
media=(int)Math.round(total);
if(media>=10)
System.out.println("Aprovado com "+media+" valores");
else
System.out.println("Reprovado com"+media+" valores");
}

INSTITUTO POLITÉCNICO DE TOMAR ESCOLA SUPERIOR DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 9

You might also like