metodologia e linguagem de programação - 2016.2 - aula 10

24
Metodologia e Linguagem de Programação Prof.º Thyago Maia

Upload: thyago-maia

Post on 09-Jan-2017

160 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Metodologia e Linguagem de Programação

Prof.º Thyago Maia

Page 2: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Problematização

public class principal {

public static void main(String args[]) {

System.out.println(“Thyago”); }

}

Page 3: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Problematização

public class principal {

public static void main(String args[]) {

System.out.println(“Thyago”); }

public static void escreva() {

System.out.println(“Thyago”);

}

}

Page 4: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Problematização

public class principal {

public static void main(String args[]) {

escreva(); }

public static void escreva() {

System.out.println(“Thyago”);

}

}

Page 5: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Problematização

public class principal {

public static void main(String args[]) {

System.out.println(“Thyago”); }

}

Page 6: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Problematização

public class principal {

public static void main(String args[]) {

System.out.println(“Thyago”); }

}

public class secundaria {

public static void escreva() {

System.out.println(“Thyago”); }

}

Page 7: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Problematização

public class principal {

public static void main(String args[]) {

secundaria.escreva(); }

}

public class secundaria {

public static void escreva() {

System.out.println(“Thyago”); }

}

Page 8: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Problematização

public class principal {

public static void main(String args[]) {

secundaria.escreva(); }

}

public class secundaria {

public static void escreva() {

System.out.println(“Thyago”); }

}

Page 9: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Métodos

Page 10: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Métodos

• Definem ações a serem tomadas na execução de um programa;

• São conjuntos ordenados de declarações de dados, instruções e expressões;

• Tratam-se de blocos nomeados de código, que exercem uma função específica (Ex.: soma, imprime, calcula...);

• São definidos em classes;

Page 11: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Métodos

• Vantagens do uso dos Métodos:– Reduzem o tamanho do código-fonte de

programas;– Facilitam a visualização e compreensão de

programas;– Pensa-se na solução do problema por partes;– É mais fácil corrigir e detectar erros;– Se é preciso alterar, altera-se apenas uma vez;– Um mesmo métodos poderá ser utilizado em

várias classes;

Page 12: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Métodos

• Podemos classificar os métodos da seguinte maneira:

–Métodos que não retornam valor;–Métodos que retornam valor;–Métodos sem parâmetros;–Métodos com parâmetro(s);

Page 13: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Métodos

• Sintaxe – Métodos sem retorno e parâmetros:

• A palavra reservada void indica que o método nome_metodo não retorna valores;

• O conjunto de parênteses sem conteúdo indicam que o método não possui parâmetros;

public static void nome_metodo(){

// Lista de instruções}

Page 14: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Exemplo

• Faça um programa que lê 2 notas de um determinado aluno e calcule sua média;

Page 15: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

// Classe sem método

import java.util.Scanner;

public class tarefa {

public static void main(String[] args) {

Scanner entrada = new Scanner(System.in); double nota1, nota2; System.out.println("Digite a primeira nota: "); nota1 = entrada.nextDouble(); System.out.println("Digite a segunda nota: "); nota2 = entrada.nextDouble(); System.out.println("Média: " + ((nota1+nota2)/2));

}}

Page 16: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

// Classe com métodoimport java.util.Scanner;

public class tarefa {

public static void main(String[] args) { calcula_media();

}

public static void calcula_media(){

Scanner entrada = new Scanner(System.in);double nota1, nota2;

System.out.println("Digite a primeira nota: "); nota1 = entrada.nextDouble(); System.out.println("Digite a segunda nota: "); nota2 = entrada.nextDouble(); System.out.println("Média: " + ((nota1+nota2)/2));

}}

Page 17: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Métodos

• Sintaxe – Métodos sem retorno e com parâmetros:

• A palavra reservada void indica que o método nome_metodo não retorna valores;

• As variáveis e objetos (e seus tipos) delimitados entre parênteses são os parâmetros;

public static void nome_metodo(tipo nome_parametro){

// Lista de instruções}

Page 18: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

// Exemplo anterior – Método com passagem de parâmetroimport java.util.Scanner;

public class tarefa {

public static void main(String[] args) {

Scanner entrada = new Scanner(System.in);double nota1, nota2;

System.out.println("Digite a primeira nota: "); nota1 = entrada.nextDouble(); System.out.println("Digite a segunda nota: "); nota2 = entrada.nextDouble(); calcula_media(nota1, nota2);

}

public static void calcula_media(double n1, double n2){

System.out.println("Média: " + (n1+n2)/2);}

}

Page 19: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Métodos

• Sintaxe – Métodos com retorno:

• Em tipo , indicamos o tipo de dado a ser retornado pelo método (Ex.: int, double, float, etc.);

• Utilizamos a palavra reservada return para efetivamente retornar um valor;

public static tipo nome_metodo(){

// Lista de instruçõesreturn valor;

}

Page 20: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

// Exemplo anterior - Método com retorno e parâmetrosimport java.util.Scanner;

public class tarefa {

public static void main(String[] args) {

Scanner entrada = new Scanner(System.in);double n1, n2, media;

System.out.println("Digite a primeira nota: "); n1 = entrada.nextDouble(); System.out.println("Digite a segunda nota: "); n2 = entrada.nextDouble(); media = calcula_media(n1, n2);

System.out.println(“Média: “ + media); }

public static double calcula_media(double nota1, double nota2)

{ return (nota1+nota2)/2;

}}

Page 21: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Exercícios

Page 22: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Exercício

• Faça um programa que lê os lados de um retângulo e calcula o seu perímetro em um método;

– Perímetro do retângulo = (2*largura) + (2*comprimento)

Page 23: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Exercício

• Faça um programa que receba dois números e mostre o maior número digitado;

– Utilize a classe JOptionPane para I/O (entrada e saída);

– Para checar o maior número, implemente um método com parâmetro e com retorno em uma classe secundária;

Page 24: Metodologia e Linguagem de Programação - 2016.2 - Aula 10

Exercício• Faça um programa que receba a altura e o

sexo de uma pessoa e calcule seu peso ideal, utilizando as seguintes fórmulas (onde h é a altura): – Para homens: peso_ideal = (72.7 * h) – 58– Para mulheres: peso_ideal = (62.1 * h) – 44.7– Utilize a classe JOptionPane para I/O (entrada e

saída);– Para checar o peso ideal, implemente um método

com parâmetro e com retorno para cada fórmula em uma classe secundária;