Download - Algoritmos e Programação - 2014.1 - Aula 18
![Page 1: Algoritmos e Programação - 2014.1 - Aula 18](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/1.jpg)
Algoritmos e Programação
Prof.º Thyago Maia2014.1
![Page 2: Algoritmos e Programação - 2014.1 - Aula 18](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/10.jpg)
Métodos
![Page 11: Algoritmos e Programação - 2014.1 - Aula 18](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/16.jpg)
// 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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/17.jpg)
// 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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/19.jpg)
// 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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/21.jpg)
// 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](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/22.jpg)
Exercícios
![Page 23: Algoritmos e Programação - 2014.1 - Aula 18](https://reader035.vdocuments.net/reader035/viewer/2022062405/5586ef42d8b42afa4b8b4633/html5/thumbnails/23.jpg)
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)