algoritmos e programação - 2014.1 - aula 18

23
Algoritmos e Programação Prof.º Thyago Maia 2014.1

Upload: thyago-maia

Post on 22-Jun-2015

294 views

Category:

Education


0 download

DESCRIPTION

Algoritmos e Programação - 2014.1 - Aula 18

TRANSCRIPT

Page 1: Algoritmos e Programação - 2014.1 - Aula 18

Algoritmos e Programação

Prof.º Thyago Maia2014.1

Page 2: Algoritmos e Programação - 2014.1 - Aula 18

Objetivos

Aula 18

• Introduzir o conceito de Métodos• Fazer com que o aluno crie seus

próprios métodos;

2

Page 3: Algoritmos e Programação - 2014.1 - Aula 18

Problematização

public class principal {

public static void main(String args[]) {

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

}

Page 4: Algoritmos e Programação - 2014.1 - Aula 18

Problematização

public class principal {

public static void main(String args[]) {

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

public static void escreva() {

System.out.println(“Thyago”);

}

}

Page 5: Algoritmos e Programação - 2014.1 - Aula 18

Problematização

public class principal {

public static void main(String args[]) {

escreva(); }

public static void escreva() {

System.out.println(“Thyago”);

}

}

Page 6: Algoritmos e Programação - 2014.1 - Aula 18

Problematização

public class principal {

public static void main(String args[]) {

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

}

Page 7: Algoritmos e Programação - 2014.1 - Aula 18

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 8: Algoritmos e Programação - 2014.1 - Aula 18

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: Algoritmos e Programação - 2014.1 - Aula 18

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 10: Algoritmos e Programação - 2014.1 - Aula 18

Métodos

Page 11: Algoritmos e Programação - 2014.1 - Aula 18

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 12: Algoritmos e Programação - 2014.1 - Aula 18

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 13: Algoritmos e Programação - 2014.1 - Aula 18

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 14: Algoritmos e Programação - 2014.1 - Aula 18

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 15: Algoritmos e Programação - 2014.1 - Aula 18

Exemplo

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

Page 16: Algoritmos e Programação - 2014.1 - Aula 18

// 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 17: Algoritmos e Programação - 2014.1 - Aula 18

// 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 18: Algoritmos e Programação - 2014.1 - Aula 18

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 19: Algoritmos e Programação - 2014.1 - Aula 18

// 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 20: Algoritmos e Programação - 2014.1 - Aula 18

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 21: Algoritmos e Programação - 2014.1 - Aula 18

// 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 22: Algoritmos e Programação - 2014.1 - Aula 18

Exercícios

Page 23: Algoritmos e Programação - 2014.1 - Aula 18

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)