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

Untitled

FURTHER REVELATIONS by C.Lovell. INTRODUCTION. Most of the information in this paper has not been easy to obtain, and much of it is sensitive. In most casesthe sources of information have been indicated by a code; refer to the last sheet for the bibliography andcodes. All statements have been made in good faith, but it is possible that some of the reference books arenow out of date, or that

clodoaldouro.site.med.br

Apesar do progresso dos meios de diagnóstico e de tratamento, a litíase continua sendo uma das causas mais freqüentes de consulta urológica A formação de cálculos urinários é devida à precipitação e cristalização de sais da urina quando ocorre supersaturação urinária e/ou diminuição dos inibidores da cristalização Inibidores da cristalização ➪

Copyright 2014 Pdf Medic Finder