Series lab

  • View
    504

  • Download
    2

Embed Size (px)

DESCRIPTION

 

Transcript

  • 1. Instituto Politcnico de SetbalEscola Superior de TecnologiaDepartamento de Sistemas e InformticaAulas de LaboratrioDisciplina de Introduo ProgramaoAno Lectivo 2004/2005
  • 2. Sries de Exerccios de Introduo Programao Laboratrios Srie 1: Introduo ao Ambiente de Desenvolvimento 1. Criao de Projectos Ao longo desta srie sero seguidas as instrues do guia Instalao e utilizao do Gel que indicam o modo de criar um projecto, criar classes, associar ficheiros, compilar, executar,etc. aconselhavel, para cada um dos exerccios que se seguem, criar uma directoria individual e nela criar o projecto. Assim termos por exemplo: C:My DocumentsProjectosExemplo1ficheiros do projecto Este guia destina-se prtica de utilizao do ambiente de desenvolvimento de modo a existir um primeiro contacto com: 1. O sistema de janelas do GEL 2. O sistema de Directorias e Ficheiros 3. Os projectos do GEL 4. O processo de escrita, compilao e execusso de programas 5. A linguagem JAVA No o objectivo deste guia a compreenso total do cdigo Java nos exemplos seguintes2/32 DSI
  • 3. Sries de Exerccios de Introduo Programao Laboratrios 2. Exemplos Exemplo 1 Enunciado: Escreva um programa em Java que imprima uma frase. Cdigo: public class Exemplo1 { public static void main(String[] args) { System.out.println("Este um programa simples"); } } Exemplo 2 Enunciado: Escreva um programa em Java que pea ao utilizador um nmero inteiro e o imprima. Cdigo: public class Exemplo2 { public static void main(String[] args) { System.out.println("Introduza um nmero inteiro"); int num=Le.umInt(); System.out.println("O nmero lido "+num); } } DSI 3/32
  • 4. Sries de Exerccios de Introduo Programao LaboratriosExemplo 3 Enunciado: Escreva um programa em Java que pea ao utilizador dois nmeros inteiros, os imprima e imprima a sua soma. Cdigo: public class Exemplo3 { public static void main(String[] args) { System.out.println("Introduza 2 nmeros inteiros"); int num1=Le.umInt(); System.out.println("O n "+num1); int num2=Le.umInt(); System.out.println("O n "+num2); int num3=num1+num2; System.out.println("A soma de "+num1+"+"+num2+" "+num3); } }Exemplo 4 Enunciado: Escreva um programa em Java que calcule a area e o perimetro de uma circunferncia a partir do seu raio.. Cdigo: public class Exemplo4 { public static void main(String[] args) { double area, perimetro; double PI=3.1415926; System.out.println("Este programa calcula o perimetro e a area de uma circunferncia a partir do seu raio"); System.out.println("Qual o raio da circunferncia?"); double raio = Le.umDouble(); area = PI * raio * raio; perimetro = 2 * PI * raio; System.out.println("Raio = "+raio); System.out.println("Area = "+area); System.out.println("Perimetro = "+perimetro); } }4/32 DSI
  • 5. Sries de Exerccios de Introduo Programao Laboratrios Exemplo 5 Enunciado: Escreva um programa em Java que pea ao utilizador um nmero e diga se esse nmero negativo ou positivo. Cdigo: public class Exemplo5 { public static void main(String[] args) { float a; System.out.println("Introduza um nmero"); a = Le.umFloat(); if (a real cmin -> real codigo -> caracter estado -> booleanoExerccio 2Qual o valor das expresses constantes da tabela 1? Escreva um programa para verificar assolues por si encontradas. 12*13/5%2+10-5 12/13/5%2+10-5 12%13/5%2+10-5 12+13/5%5+10-5 12-13/5%2+10-5 Tabela 1Exerccio 3O programa da figura 1 usa o tipo de dado elementar short:class ShortEg{ public static void main ( String[] args ) { short value = 32; System.out.println("A short: " + value); }} Figura 1Alnea ACrie um ficheiro denominado ShortEg.java, compile-o e corra-o. Verifique o que o programaescreve no painel de mensagens.Alnea BEdite o programa e altere o valor 32 para um outro valor inteiro relativamente baixo,digamos 356. Compile e corra o programa. Em principio tudo deve correr bem.Alnea CAltere o valor para 90000 e tente compilar o programa. O que que acontece? Porqu? Editeo programa e altere a palavra short para int. Compile e corra o programa. Qual adiferena entre esta e a alnea anterior? DSI 7/32
  • 8. Sries de Exerccios de Introduo Programao LaboratriosExerccio 4O programa da figura 2 usa o tipo de dado elementar double:class DoubleEg{ public static void main ( String[] args ) { double value = 32; System.out.println("A double: " + value); }} Figura 2Alnea ACompile e corra o programa. A sada (o que o programa escreve no painel de mensagens)deste programa difere de alguma forma da sada da alnea A do exerccio n3?Alnea BAltere o valor da varivel B para um valor que seja demasiado grande para uma varivel dotipo double. Vai precisar de usar notao cientfica para o conseguir.Exerccio 5O programa da figura 3 usa o tipo de dados elementar char:class CharEg{ public static void main ( String[] args ) { char ch = A ; System.out.println("A char: " + ch ); }} Figura 3Experimente o seguinte: 1) Troque o A por Z compile e corra o programa. 2) Troque o A por AA tente compilar o programa. 3) Troque o A por compile e corra o programa. Note que existe um espao entre as duas plicas. 4) Troque o A por tente compilar o programa. Note que no existe nada entre as duas plicas. 5) Troque o A por "A" tente compilar o programa.Exerccio 6Para o programa apresentado na figura 4:Public class IncrementaDecrementa{ public static void main (String[] args) { Boolean b = false; char c = r; byte j = 127; short k 32767; Syste.out.println(c= + c); ++c; System.outprintln(c= + c); ++c; System.outprintln(c= + c); Systemout.println(j= + j); --j System.out.println(j= + j); ++j; System.outprintln(j= + j) System.out.println(k= + k); K -=4; System.out.println(k= + k); K +=5;8/32 DSI
  • 9. Sries de Exerccios de Introduo Programao Laboratrios System.out.println(k= + k); }} Figura 4Alnea ACorrija os erros sintcticos do programa.Alnea BEscreva o resultado de cada uma das instrues da 6 21 linha de cdigo.Exerccio 7Para o programa da figura 5: (note que est escrito a duas colunas)public class ConverteExpandindo { d = temp; /**Main method*/ temp = f; public static void main(String[] args) { f = l; // Escreve no painel de mensagens System.out.println(f); { double d = 1.7E308; f = i; float f = 3.4E38f; System.out.println(f); long l = 1234567890123456789L; f = c; int i = 1234567890; System.out.println(f); char c = z; f = s; short s = 32767; System.out.println(f); byte b = 127; f = b; double temp; System.out.println(f); System.out.println(d); f = (float) temp; System.out.println(f); System.out.println(f); System.out.println(l); temp = i; System.out.println(i); i = c; System.out.println(c); System.out.println(i); System.out.println(s); i = s;