Metodos Teorica Pii

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Metodos Teorica Pii as PDF for free.

More details

  • Words: 1,462
  • Pages: 10
Programação e Algoritmos I

Métodos em JAVA Consideremos o código seguinte: Efectuar a soma de dois valores

Os cálculos são executados dentro do método main da classe. Este método existe sempre em qualquer classe de JAVA.

Programar usando métodos: Existem diversas formas de programar a soma de dois valores. Mesmo usando métodos, pode ter-se um: → Método que não recebe argumentos, nem retorma valores; → Método que recebe argumentos e não reyorna valores; → Método que recebe argumentos e retorna valores.

Analise-se a situação do cálculo da soma de dois valores para cada um dos casos anteriores.

Programação e Algoritmos I

Exemplo 1: Método que não recebe argumentos, nem devolve valores para o método main: Código JAVA com método para somar dois valores inteiros

Nome do Método

Os

valores

são

pedidos no dentro do método e o resultado impresso no ecrã.

Chamada do método dentro do método main

A vantagem da utilização dos métodos •

O método pode ser chamado várias vezes sem terem que se repetir as linhas de código;



Pode ser usado por outros métodos da mesma classe ou por outras classes diferentes.

Programação e Algoritmos I

Exemplo 2: Método que recebe argumentos e não devolve valores para o método main: Código JAVA com método para somar dois valores inteiros

Recebe

como

argumento

dois

valores do tipo inteiro.

Chama-se o método instanciado com dois valores inteiros.

Chama-se instanciado

o

método

com

dois

valores inteiros pedidos ao utilizador, guardados nas variáveis valor1 e Resultado da execução do código:

valor2.

Programação e Algoritmos I Exemplo 3: Método que recebe argumentos, nem devolve valores para o método main: Código JAVA com método para somar dois valores inteiros

Recebe

como

argumento

dois

valores do tipo inteiro.

Devolve a soma de a com b ou seja

um

valor

inteiro.

Quando um método devolve valores deixa de ser void e é necessário indicar qual o tipo de dados que é devolvido, neste caso a soma de dois inteiros é ainda um valor inteiro, logo o tipo a indicar é int.

O que muda na chamada do método no main? O método tem que receber os dois valores inteiros, como argumento. A diferença reside no facto de o método soma ter um return, assim é necessário receber o valor no método main. Como? Tem que ser criada uma variável do mesmo tipo do valor que é devolvido pelo método, para guardar o resultado da execução. No caso do método soma, é devolvido um valor do tipo int, assim no main é necessário declarar uma variavel do tipo int que guarde o valor retornado pelo método.

Programação e Algoritmos I Exemplo 4: Código Java com as quatro operações aritméticas definidas em métodos. import cs1.Keyboard; public class OperacaoesAritmeticas { static void soma (int a, int b){ System.out.println("Soma="+(a+b)); } static void subtraccao (int a, int b){ System.out.println("Subtracção="+(a-b)); } static void multiplicacao (int a, int b){ System.out.println("Multiplicação="+(a*b)); } static void divisao (int a, int b){ System.out.println("Divisão="+(a/b)); } public static void main(String[] args) { int valor1, valor2; char op; System.out.println("Insira o primeiro valor:"); valor1=Keyboard.readInt(); System.out.println("Insira o segundo valor:"); valor2=Keyboard.readInt(); do { System.out.println("Escolha a operação aritmética (+,-,*,/)"); op=Keyboard.readChar(); switch(op){ case '+': soma(valor1, valor2); break; case '-': subtraccao(valor1, valor2); subtraccao(valor2, valor1); break; case '*': multiplicacao(valor1, valor2); break; case '/': divisao(valor1, valor2); divisao(valor2, valor1); break; default: System.out.println("Operação inválida!!!"); } }while (op!='n'); } }

Programação e Algoritmos I Exercicio: Reformule o código anterior, com métodos que devolvam valores para o main.

Outros Exemplos Exemplo1: Sem usar métodos 1. Considere dois vectores inseridos pelo utilizador; 2. Efectue a soma dos dois vectores; 3. Solicite ao utlizador um número inteiro: a. Efectue a multiplicação de cada elemento do primeiro vector pelo número inserido; b. Efctue a divisão de todos os elementos do segundo vector pelo número inserido. import cs1.Keyboard; public class Vectores { public static void main(String[] args){ //Pedir ao utlizador a dimensão de cada vector int dim1, dim2, numero; System.out.println("Dimensão do 1º vector"); dim1=Keyboard.readInt(); System.out.println("Dimensão do 2º vector"); dim2=Keyboard.readInt(); //declarar os dois vectores de inteiros int [] vect1= new int [dim1]; int [] vect2= new int [dim2]; //Declarar vectores para guarda soma, o resultado da multiplicação e o resultado da divisão int []soma= new int [dim1]; int [] multiplicado= new int [dim1]; int [] dividido =new int [dim2]; //Carregar os vectores com dados pedidos ao utilizador System.out.println("1º Vector"); for (int i=0; i
Programação e Algoritmos I

//Mostrar o conteúdo dos vectores System.out.println("\n1º Vector"); for (int i=0; i
Programação e Algoritmos I Exemplo2: Usando métodos

import cs1.Keyboard; public class Vec_com_metodos { //Método que pede ao utilizador os dados para um vector de inteiros static int [] ler_vector (int dim){ int [] vector= new int [dim]; for (int i=0; i
// Método que efectua a soma de quaisquer dois vectores de inteiros static int [] soma (int [] vect1, int [] vect2, int dim){ int [] soma= new int [dim]; for (int i=0; i
Programação e Algoritmos I /* Método que efectua a divisão de qualquer vector de inteiros por um número inteiro qualquer*/ static double [] divide (int [] vect, int dim, int valor){ double [] dividido= new double [dim]; for (int i=0; i esta conversão é feita para obter resultados reais! */

public static void main(String[] args) { int dim1, dim2, valor; // Pedir as dimensões ao utlizador System.out.println("Insira a dimensão do 1º vector"); dim1=Keyboard.readInt(); System.out.println("Insira a dimensão do 2º vector"); dim2=Keyboard.readInt(); //Declarar dois vectores com as dimensões inseridas int [] v1=new int [dim1]; int [] v2=new int [dim2]; /*Declarar os vectores que vão guardar as operações com os vectores soma, resultado da multiplicação e resultado da divisão */ int [] s=new int [dim1]; int [] m=new int [dim1]; double [] d=new double [dim1]; // Chamar o método ler_vector para carregar os dados nos dois vectores v1=ler_vector(dim1); v2=ler_vector(dim2); /* Chamar o método mostra_vect_i que mostra o conteúdo de qualquer vector de inteiros */ System.out.println("\n\n 1º Vector"); mostra_vect_i(v1); System.out.println("\n\n 2º Vector"); mostra_vect_i(v2); // A soma dos dois vectores só se pode fazer se eles tiverem a mesma dimensão if (dim1== dim2){ System.out.println("\n\n Soma"); /*Chamar o método que soma os dois vectores e guardar o resultado numa variável do tipo vector de inteiros */ s=soma(v1,v2,dim1); //Mostra o resultado da soma mostra_vect_i(s); }

Programação e Algoritmos I else System.out.println("\nOs vectores não têm a mesma dimensão!!"); System.out.println("\nInsira o valor"); valor=Keyboard.readInt(); /*Chamar o método que multiplica o vector por um nº inteiro inserido pelo utilizador e guardar o resultado numa variável do tipo vector de inteiros */ System.out.println("\n\n Resultado da Multiplicação"); m=multiplica (v1, dim1, valor); /* Mostra o resultado da multiplicação do vector pelo nº inteiro */ mostra_vect_i(m); /* Só pode ser efectuada a divisão se o valor inserido pelo utilizador for diferente de zero */ if (valor!=0){ System.out.println("\n\n Resultado da Divisão"); /* Chama o método que faz a divisão de cada elemento do vector pelo nº inteiro */ d=divide(v2, dim2, valor); /*Mostra o conteúdo do vector, o método agora é o que mostra um vector de números reais */ mostra_vect_d(d); } else System.out.println("\nDivisão por zero!!"); } }

Related Documents

Metodos Teorica Pii
November 2019 7
Pii
June 2020 2
Metodos
November 2019 46
Metodos
October 2019 44
Teorica 1
November 2019 11
Claro Pii!!.docx
December 2019 6