Microsoft word - ficha 3.doc

Escola Náutica Infante Dom Henrique Departamento de Radiotecnia Programação avançada
Ficha prática nº 3
Capítulo 2
Controlo de fluxo, strings e arrays
Duração: 4 horas
Escola Náutica Infante Dom Henrique Departamento de Radiotecnia 1 – Controlo de fluxo - decisão. If Then Else encadeados . 3
2 – Controlo de fluxo - decisão. Switch.Case . 3
3 – Controlo de fluxo – Ciclo. While. 4
4 – Controlo de fluxo – Ciclo. For . 4
5 – Controlo de fluxo – Salto continue. . 5
6 – Strings. . 6
7 – Arrays. . 7



Escola Náutica Infante Dom Henrique Departamento de Radiotecnia
1 – Controlo de fluxo - decisão. If Then Else encadeados

1.1 – Elabore uma classe denominada IfElseIfFicha3 , que peça a introdução
de uma nota quantitativa através do teclado e imprima no ecrã o
correspondente valor qualitativo de acordo com a tabela seguinte:

Nota Quantitativa Nota Qualitativa
>= 18

Muito Bom
>=10 Suficiente
>= 7

Medíocre
Deverá recorrer a instruções de decisão If.Then.Else encadeados para
produzir o resultado desejado.

Para a leitura do teclado poderá utilizar a classe java.util.Scanner como fez
na ficha 1.

2 – Controlo de fluxo - decisão. Switch.Case
2.1 – Elabore uma classe denominada Switch01Ficha3 , que peça a
introdução do número de um mês através do teclado e imprima no ecrã o
nome do mês respectivo.
Recorra à intrução de decisão switch.case.
Caso o número do mês não seja válido, o programa deverá imprimir no ecrã:
“Não é um mês válido”.
Exemplo:
Introduza o número do mês:
>> 12
Dezembro
Introduza o número do mês:
>> 13
Não é um mês válido

Escola Náutica Infante Dom Henrique Departamento de Radiotecnia
3 – Controlo de fluxo – Ciclo. While

3.1 – Elabore uma classe denominada While01Ficha3 , que, recorrendo a um
ciclo while, faça a soma de 4 números consecutivos começando em 0.
Sugere-se a utilização das variáveis int soma=0, que servirá para guardar o
resultado da soma e int a que servirá de variável de controlo do ciclo.
O resultado esperado deverá ser:
a = 1 , soma = 1
a = 2, soma = 3
a = 3, soma = 6
a = 4, soma = 10
Resultado da soma: 10

4 – Controlo de fluxo – Ciclo. For

4.1 – Elabore uma classe denominada Fact01Ficha3 , que, recorrendo a um
ciclo for, faça o factorial de 15 números inteiros. ( de 1! Até 15!).
O resultado do factorial deverá ser guardado em duas variáveis distintas:
Factl do tipo int.
FactL do tipo long.
Como exemplo o factorial de 15 números pode ser calculado da seguinte
forma:
int i;
int FactI = 1;
long FactL = 1;
for (i=1 ; i<=15; i++) {

FactI = FactI * i;
FactL = FactL * i;
System.out.println( i + “!=” + FactI + “\t” + FactL );
}
4.2 – Observe a partir de que valor, FactL e FactI são diferentes. Isto deve-se
ao facto de a partir de determinado momento, o resultado FactI ser
demasiado grande para o domínio suportado por uma variável int. Este tipo
de situação deveria provocar um “overflow”. No entanto o programa mostra
que o overflow não é detectado. Não é emitido nenhum alerta e os resultados
poderão estar errados.

Escola Náutica Infante Dom Henrique Departamento de Radiotecnia 4.3 O excerto de programa seguinte mostra uma técnica para corrigir a
situação de overflow anterior. Adicione as seguintes linhas dentro do ciclo
for e verifique o resultado. O que conclui?
Float FactF=1.0f;
for (i=1 ; i<=20; i++) {

FactF *= i;

If (FactF > Integer.MAX_VALUE) {
System.out.println( i + “!=” + “Erro!!! Máximo inteiro
excedido”);
} else {

System.out.println( i + “!=” + FactF);
5 – Controlo de fluxo – Salto continue.

5.1 – Considere a classe seguinte Continue01Ficha3:
public class Continue01Ficha3 {
public static void teste(){
System.out.println("Inicio do teste");
int i;
for(i=0;i<=10;i+=1){
if (i==5){
System.out.println("continue");
continue;
} System.out.println(i);
} // Fim do bloco for
System.out.println("Fim teste()");
}
public static void main (String[] args) {
System.out.println("Inicio do programa");
teste();
System.out.println("Fim do programa");
}
}

Escola Náutica Infante Dom Henrique Departamento de Radiotecnia 5.2 Corra o programa e verifique se o comportamento da instrução continue é
o esperado
5.4 Substitua a instrução continue por break. Verifique agora o
comportamento. O que conclui ?
5.5 Substitua a instrução break por return. Verifique agora o comportamento.
O que conclui ?

6 – Strings.

6.1 Elabore uma classe String01Ficha3 , que compare strings recorrendo aos
operadores == (compara apontadores) e ao método s.equals(String s),
existente na API Java.
Os valores das strings são:
Publlic static void main() {
S1 = “Manuel”;
S2 = “Manuel”;
S3 = s2.substring(0,2) + “nuel”;
/* Pseudo código */
Se s1 == s2, imprime s1==s2 cc imprime s1 != s2;
Se s1!=s3, imprime s1 != s3 cc imprime s1 == s3;
Se s1.equals(s3) e s1.equals(s2) imprime “ Conteudos iguais”
cc imprime “Conteudos diferentes”;
Se s1.equals(“Pedro”) imprime “são iguais” cc imprime “são
diferentes”;
}

O resultado esperado será:
s1 : Manuel
s2: Manuel
s3: Manuel
s1 == s2;
s1!=s3;
Conteudos iguais
São diferentes
6.2 Comente os resultados das comparações de strings não esquecendo de
referir a forma de criar strings e apontadores no Java.

Escola Náutica Infante Dom Henrique Departamento de Radiotecnia
7 – Arrays.

7.1 Demonstração da criação e extracção de dados de um array de uma
dimensão.
A classe seguinte ArrayDemoFicha03,mostra como é possível criar um array
unidimensional com 6 elementos e extrair os seus dados através de um ciclo
for…
Corra o programa seguinte e verifique / interprete o seu funcionamento.
Tenha atenção ao estado (propriedade) “ARRAY.lenght” para obter a
dimensão do array.
public class ArrayDemoFicha3 {
public static void main (String[] args) {
final int MAX=6;
int[] numero = new int[MAX];
numero[0]=3;
numero[1]=4;
numero[2]=0;
numero[3]=-3;
numero[4]=1;
numero[5]=5;
System.out.println("Array com " + MAX + " posições");
for (int i=0 ; i < numero.length; i++){
System.out.println("numero["

"]="
numero[i]);
}
}
}

Escola Náutica Infante Dom Henrique Departamento de Radiotecnia 7.2 A partir da classe anterior, elabore uma classe Array01Ficha3, que peça a
introdução de 5 números através do teclado e os armazene num array
denominado numero[ ].
O Array numero[ ] deverá ser construído recorrendo a um ciclo for.
O programa deverá também imprimir no ecrã o valor de cada índice do array,
como indicado abaixo.

Introduza 5 numeros
1
2
3
4
5
numero [0] = 1
numero [1] = 2
numero [2] = 3
numero [3] = 4
numero [4] = 5


Os elementos do array deverão ser extraídos usando um ciclo for.
Para a leitura do teclado deverá utilizar a classe java.util.Scanner como fez na
ficha 1.


Escola Náutica Infante Dom Henrique Departamento de Radiotecnia 7.3 Demonstração da criação e extracção de dados de um array de duas
dimensões (matriz) do tipo float.
A classe seguinte ArrayDemo2Ficha03, mostra como é possível criar uma
matriz de 6 linhas por 2 colunas e extrair os seus dados através de um ciclo
for…
Corra o programa seguinte e verifique / interprete o seu funcionamento.
Tenha atenção ao estado (propriedade) “ARRAY.lenght” com duas
dimensões.
public class ArrayDemo2Ficha03 {
public static void main (String[] args) {
final int LINHA = 6;
final int COLUNA = 2;
float[][] numero = new float[LINHA][COLUNA];
numero[0][0] = 1.0f;
numero[0][1] = 2.0f;
numero[1][0] = 3.0f;
numero[1][1] = 4.0f;
numero[2][0] = 5.0f;
numero[2][1] = 6.0f;
numero[3][0] = 7.0f;
numero[3][1] = 8.0f;
numero[4][0] = 9.0f;
numero[4][1] = 10.0f;
numero[5][0] = 11.0f;
numero[5][1] = 12.0f;
System.out.println("Array-->Dimensão[" + LINHA + "][" +
COLUNA + "]");
for (int i=0; i<numero.length; i++) {
for (int j=0; j<numero[0].length; j++){
System.out.println("numero[" + i + "][" + j +
"]=" + numero[i][j] + "\t");
}
} System.out.println(" ");
}
}

Source: http://www.enautica.pt/publico/professores/ruisilva/20092010/PA/pdfalunos/Ficha%203.pdf

Press release march 10 final1a.pdf

Bristol-Myers Squibb Announces Restatement, Reports 2002 Full-Year Results and Reiterates Earnings Guidance for 2003 • Restatement: § Primarily to correct accounting for U.S. pharmaceuticals sales to two wholesalers by reallocating approximately $2 billion of net sales and $1.5 billion in pre-tax earnings from 1999 through 2001 to 2002 and 2003 § Additional restatement adjustmen

Microsoft word - opgaven

Øger glucocorticoid behandling risikoen for Af Pernille Damsted, Tina Schnoor og Lotte Brogaard Diskussion af forskningsspørgsmålene . 14 Peroral GC-behandling øger risiko for udvikling af DM2 . 14 Diagnostisk målemetode hos GC-behandlede . 16 Baggrund Glucocorticoider (GC) er et velkendt og hyppigt anvendt præparat, som har været brugt siden 1950’erne. Grundet dets antiinflammatori

Copyright © 2009-2018 Drugs Today