• Nenhum resultado encontrado

1. Instruções detalhadas para o primeiro programa

N/A
N/A
Protected

Academic year: 2021

Share "1. Instruções detalhadas para o primeiro programa"

Copied!
9
0
0

Texto

(1)

1 / 9 E N G E N H A R I A

I N F O R M Á T I C A Ano Lectivo 2012/2013 1º Semestre

FOLHA 1 - INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO JAVA

1. Instruções detalhadas para o primeiro programa

As instruções seguintes têm como objectivo auxiliar a escrita do seu primeiro programa em Java, e destinam-se a utilizadores de Sistemas Operativos Microsoft Windows. Para escrever o primeiro programa será necessário que as seguintes aplicações estejam instaladas:

• The JavaTM 2 Platform, Standard Edition. É possível descarregá-la do seguinte endereço:

http://www.oracle.com/technetwork/java/javase/downloads/index.html As instruções de instalação poderão ser consultadas no seguinte endereço: http://docs.oracle.com/javase/7/docs/webnotes/install/index.html

• Um editor de texto.

Poder-se-á utilizar o Bloco de Notas, o editor incluído no Windows, que poderá ser acedido a partir do menu Iniciar, no sub menu Programas > Acessórios > Bloco de Notas.

O ambiente das aulas práticas já se encontra devidamente preparado, pelo que não deverá ser necessário qualquer tipo de instalação.

No entanto, e com a finalidade de verificar o seu correto funcionamento, selecione, a partir do menu Iniciar, no sub menu Programas > Acessórios, a aplicação Linha de Comandos. Introduza o comando javac e pressione a tecla Enter. Se for exibida a lista de opções do

comando javac o ambiente de trabalho está, de facto, corretamente configurado.

Caso seja devolvida uma mensagem de erro indicando que o comando ou nome do ficheiro é inválido, significa que o Windows não conseguiu encontrar o compilador Java, pelo que deverá atualizar a variável PATH do sistema. Instruções sobre como fazê-lo poderão ser consultadas no seguinte endereço:

http://docs.oracle.com/javase/7/docs/webnotes/install/windows/jdk-installation-windows.html#path

(2)

2 / 9

2. Criação da Primeira Aplicação (Hello World)

O primeiro programa – HelloWorldApp – irá, simplesmente, imprimir na consola a saudação “Hello world!”. Para criar este programa será necessário:

I. Criar o Ficheiro de Código Fonte (Source File).

O Ficheiro de Código Fonte contém texto, escrito na linguagem de programação Java, e que todos os programadores deverão compreender. A sua extensão deverá ser .java. Pode editar-se um Ficheiro de Código Fonte com qualquer editor de texto. Sublinhe-se que este ficheiro não é executável.

II. Compilar o Ficheiro Fonte para um Ficheiro de Bytecode (Bytecode File).

O compilador traduz o texto do Ficheiro de Código Fonte para instruções que a Máquina Virtual do Java (Java VM) possa compreender e executar; traduz, portanto, o Ficheiro de Código Fonte para um Ficheiro de Bytecode. Este ficheiro terá a extensão .class. III. Correr o programa contido no Ficheiro de Bytecode.

O interpretador Java instalado no computador implementa a Java VM; este interpretador executa as instruções contidas no Ficheiro de Bytecode, traduzindo-as para instruções que o computador possa compreender.

Nota: quando se compila um programa escrito em Java, não são geradas instruções para uma plataforma específica; ao invés, é gerado bytecode, que é um conjunto instruções para a Java VM. Se a plataforma – quer seja Windows, Unix, MacOS ou um browser – tiver a Java VM instalada, compreenderá esses bytecodes e executará o programa. Eis a razão pela qual a linguagem Java é considerada “write once, run anywhere”.

(3)

3 / 9

2.1. Criar o Ficheiro de Código Fonte

Deverá abrir o Bloco de Notas e digitar o seguinte código:

/**

* The HelloWorldApp class implements an application that * displays "Hello World!" to the standard output.

*/

public class HelloWorldApp {

public static void main(String[] args) { // Display "Hello World!"

System.out.println("Hello World!"); }

}

Guarde o código num ficheiro; o seu nome deverá, necessariamente, ter o mesmo nome da Classe – HelloWorldApp – e a extensão .java. Deverá, portanto, ser denominado HelloWorldApp.java.

Refira-se, a propósito, que a linguagem Java diferencia maiúsculas/minúsculas (case-sensitive), pelo que HelloWorldApp é diferente de hellowordapp.

2.2. Compilar o Ficheiro de Código Fonte

Na Linha de Comandos, selecione a diretoria onde gravou o ficheiro HelloWorldApp.java.

Para compilar a aplicação, insira o seguinte comando:

(4)

4 / 9

2.3. Executar o programa contido no Ficheiro de Bytecode

Na mesma diretoria, insira o seguinte comando:

java HelloWorldApp

O resultado deverá ser semelhante ao seguinte:

3. Explicação do código da aplicação Hello World

Uma classe – o bloco básico de uma linguagem de Programação Orientada a Objetos como o Java – é um modelo que descreve os dados e os comportamentos associados com instâncias dessa classe. Quando se instancia uma classe, é criado um objecto que tem o mesmo comportamento de outras instâncias dessa mesma classe. Os dados associados a uma classe ou objecto são armazenados em variáveis; o comportamento associado a uma classe ou objecto é implementado com recurso a métodos.

/**

* The HelloWorldApp class implements an application that * displays "Hello World!" to the standard output.

*/

public class HelloWorldApp {

public static void main(String[] args) { // Display "Hello World!"

System.out.println("Hello World!"); }

}

A palavra-chave class inicia a definição da Classe, denominada HelloWorldApp. As

variáveis e métodos da classe estão delimitados por chavetas no início e fim do bloco de definição.

A aplicação “Hello World” não possui quaisquer variáveis, e tem um único método denominado main. Quando o interpretador Java executa uma aplicação – através da invocação

(5)

5 / 9 da classe de controlo da aplicação – começa por chamar o método main dessa classe. O método main chamará, então, os outros métodos necessários para executar a aplicação.

Esta aplicação é um dos mais simples programas que podem ser escritos na linguagem de programação Java (e que, de facto, faça qualquer coisa). É precisamente devido à sua simplicidade que não é necessário definir quaisquer outras classes que não a classe

HelloWorldApp. No entanto, esta aplicação usa, de facto, uma outra classe – a classe System

– que é parte da API (“Application Programming Interface”) fornecida com o ambiente Java. Nesta linha de código é executada a instrução que imprime para o ecrã a mensagem “Hello World!”.

4. Problemas comuns no Compilador e no Interpretador

4.1. Problemas do Compilador

4.1.1. Erros de Sintaxe

Caso se digite erroneamente uma parte de um programa, o compilador poderá emitir um erro de sintaxe. A mensagem indica, habitualmente, o número da linha onde o erro foi detectado, o código nessa linha, e a posição do erro no código. Segue-se o exemplo de um erro causado pela omissão de um ponto e vírgula (;) no fim de uma instrução:

testing.java:14: `;' expected.

System.out.println("Input has " + count + " chars.") ^ 1 error

Por vezes, o compilador não consegue identificar a intenção do programador, e imprime uma mensagem de erro algo confusa que se poderá propagar por várias linhas. Por exemplo, na seguinte secção de código foi omitido um ponto e vírgula (;) na linha a negrito:

while (System.in.read() != -1) count++

System.out.println("Input has " + count + " chars.");

Ao processar este código, o compilador emite duas mensagens de erro:

testing.java:13: Invalid type expression. count++

^

testing.java:14: Invalid declaration.

System.out.println("Input has " + count + " chars."); ^

(6)

6 / 9 O compilador emite duas mensagens de erro porque após processar count++, o estado do compilador indica que este se encontra no meio de uma expressão. Sem o ponto e vírgula, é impossível ao compilador saber se a instrução está completa.

Caso sejam emitidos quaisquer erros de sintaxe, o programa não foi compilado com sucesso, pelo que o compilador não criou um ficheiro do tipo .class. Será, pois, necessário analisar

cuidadosamente o programa, corrigir os erros detectados, e tentar de novo. 4.1.2. Erros de Semântica

Além de analisar a correção sintáctica do programa, o compilador verifica outras incorreções básicas. Por exemplo, o compilador emite uma mensagem de erro de cada vez que uma variável não for iniciada:

testing.java:13: Variable count may not have been initialized. count++

^

testing.java:14: Variable count may not have been initialized. System.out.println("Input has " + count + " chars."); ^

2 errors

O programa não foi, mais uma vez, compilado, pelo que será necessário corrigir os erros e tentar outra vez.

4.2. Problemas do Interpretador

Um erro comum é a tentativa de interpretar o ficheiro .class criado pelo compilador. Por

exemplo, se se tentar interpretar o ficheiro HelloWorldApp.class em vez da classe HelloWorldApp, o interpretador exibirá a seguinte mensagem de erro:

Can't find class HelloWorldApp.class

O argumento para o interpretador Java é, portanto, o nome da classe que se pretende utilizar, e não o nome do ficheiro.

Um outro erro relaciona-se com o facto de o interpretador Java necessitar que a classe a executar possua um método denominado main, precisamente porque precisa de saber onde

começar.

Se tentarmos executar uma classe que não tenha o método main, o interpretador mostrará a seguinte mensagem de erro:

(7)

7 / 9

In class classname: void main(String argv[]) is not defined

5. Exercícios

1. Escreva um programa na linguagem de programação Java que peça ao utilizador dois números inteiros e mostre o resultado da soma no ecrã.

2. Escreva um programa na linguagem de programação Java que peça ao utilizador a altura e largura de um triângulo e mostre o resultado da respectiva área do triângulo.

3. Escreva um programa na linguagem de programação Java que peça ao utilizador o raio de uma circunferência e mostre os valores respectivos da área e perímetro da circunferência. 4. Escreva um programa que troque o conteúdo de duas variáveis reais cujos valores são solicitados ao utilizador.

5. Altere o programa da questão anterior de modo a que os valores sejam mostrados como números inteiros.

6. Escreva um programa que leia a altura e o peso de uma pessoa e apresente o valor do seu índice de massa corporal (IMC).

Nota: IMC = peso / altura2

7. Escreva um programa, que calcule a distância de um ponto a uma circunferência. O ponto é definido pelas suas coordenadas X e Y e a circunferência é definida pelas coordenadas do centro Xc, Yc e pelo raio R. O valor do raio é fixo e igual a 3, os restantes valores devem ser pedidos ao utilizador.

Nota: A distância d entre dois pontos de coordenadas (X1,Y1) e (X2,Y2) é dada pela expressão d =

(

X1−X2

) (

2 + Y1−Y2

)

2

Para o cálculo da raiz quadrada use a função Math.sqrt(valor) que pertence à package java.lang.Math.

8. Elabore um programa que leia um caracter do teclado e mostre o respectivo valor ASCII. 9. Elabore um algoritmo que obtenha a temperatura em graus celsius e que calcule o valor correspondente em graus Kelvin.

Grau Kelvin = 273.15 + Celsius

10. Elabore um programa que leia a idade de uma pessoa expressa em anos, meses e dias e a mostre expressa apenas em horas.

(8)

8 / 9 11.

a) Escreva um método que receba como parâmetro um valor expresso em Escudos e devolva o valor equivalente em €.

b) Suponha agora que pretende converter uma quantia expressa em libras para dólares americanos. Será que poderia utilizar o método escrito na alínea anterior? Escreva agora outro método que, dado um valor expresso numa qualquer divisa e uma taxa de câmbio, converta o valor recebido para outra divisa utilizando essa taxa.

c) Escreva um programa que permita testar os dois métodos.

12. O arredondamento de um número pode ser realizado multiplicando o mesmo por uma potência de 10, somando-lhe 0.5, truncando-lhe a parte fraccionária e dividindo-o pela mesma potência de 10.

Por exemplo, para arredondar 43.89765 às centésimas devemos fazer: 1. 43.89765 * 100 = 4389.765;

2. 4389.765 + 0.5 = 4390.265; 3. parte inteira de 4390.265 = 4390; 4. 4390 / 100 = 43.90.

a) Escreva um método que permita arredondar um número ao factor 1/y em que y é múltiplo de 10.

b) Escreva um programa que permita testar o método anterior.

13. Pretende-se um programa que calcule o prejuízo provocado pelas fugas de água numa habitação. Sabendo que, por minuto, perdem-se sensivelmente:

• Canalização - 0,00000000053 m3; • Torneira - 0,000016 m3; • Autoclismo - 0,00023 m3;

a) Escreva um método que calcule a quantidade de água (m3) desperdiçada num ano, dado o respectivo valor por minuto.

b) Utilizando o método escrito na alínea anterior, elabore um programa que calcule e apresente no ecrã o total de água desperdiçada pelas 3 componentes da habitação, bem como as respectivas percentagens.

(9)

Referências

Documentos relacionados

O score de Framingham que estima o risco absoluto de um indivíduo desenvolver em dez anos DAC primária, clinicamente manifesta, utiliza variáveis clínicas e laboratoriais

Equipamentos de emergência imediatamente acessíveis, com instruções de utilização. Assegurar-se que os lava- olhos e os chuveiros de segurança estejam próximos ao local de

•   O  material  a  seguir  consiste  de  adaptações  e  extensões  dos  originais  gentilmente  cedidos  pelo 

O destaque é dado às palavras que abrem signi- ficados e assim são chaves para conceitos que fluem entre prática poética na obra de arte e sua reflexão em texto científico..

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

O enfermeiro, como integrante da equipe multidisciplinar em saúde, possui respaldo ético legal e técnico cientifico para atuar junto ao paciente portador de feridas, da avaliação

Entre as atividades, parte dos alunos é também conduzida a concertos entoados pela Orquestra Sinfônica de Santo André e OSESP (Orquestra Sinfônica do Estado de São