Algoritmos e Programação - 2013.2 - Aula 16
-
Upload
thyago-maia -
Category
Education
-
view
404 -
download
3
description
Transcript of Algoritmos e Programação - 2013.2 - Aula 16
Algoritmos e Programação
Prof.º Thyago Maia
2013.2
Objetivos
Aula 16
• Introduzir o conceito de Métodos
• Fazer com que o aluno crie seus próprios métodos;
2
Métodos
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;
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;
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);
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;
void nome_metodo()
{
// Lista de instruções
}
Exemplo
• Faça um programa que lê 2 notas de um determinado aluno e calcule sua média;
// 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));
}
}
// Classe com método
import java.util.Scanner;
public class tarefa {
public static void main(String[] args) {
calcula_media();
}
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));
}
}
Métodos
• Sintaxe – Métodos sem retorno e com parâmetros:
• A palavra reservada void indica que o métodonome_metodo não retorna valores;
• As variáveis e objetos (e seus tipos) delimitados entre parênteses são os parâmetros;
void nome_metodo(tipo nome_parametro)
{
// Lista de instruções
}
// Exemplo anterior – Método com passagem de parâmetro
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();
calcula_media(nota1, nota2);
}
static void calcula_media(double n1, double n2)
{
System.out.println("Média: " + (n1+n2)/2);
}
}
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;
tipo nome_metodo()
{
// Lista de instruções
return valor;
}
// Exemplo anterior - Método com retorno e parâmetros
import 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);
}
static double calcula_media(double nota1, double nota2)
{
return (nota1+nota2)/2;
}
}
Exercícios
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)
Exercício
• Faça um programa que lê a idade de 10 pessoas em um vetor.
– Os comandos de impressão de mensagens (Ex.: Digite sua idade) e leitura das idades deverão ser efetuadas por um método;
– A impressão de todas as idades digitadas deverá ser realizada por outro método;
Exercício
• Faça um programa que lê as idades de pessoas em um vetor de 15 posições. Você deverá implementar:
– Um método que efetuará a contagem das pessoas com idades entre 0 e 18 anos;
– Um método que efetuará a contagem das pessoas com idades entre 19 e 23 anos;
– Um método que efetuará a contagem das pessoas com idades acima de 23 anos;
• O programa deverá escrever os resultados de cada contagem;
– Tais métodos deverão ser implementados fora da classe principal (deverá ser criada uma classe adicional);
Exercício
• Faça um programa que receba um número inteiro positivo N. Tal número deverá ser submetido para um método, que deverá retornar a soma dos números inteiros existentes entre o número 1 e N (inclusive);
– Tal método deverá ser implementado fora da classe principal (deverá ser criada uma classe adicional);
Exercício
• A prefeitura de uma cidade fez uma pesquisa entre seus habitantes, coletando dados sobre o salário e o número de filhos. Faça um método que leia esses dados para um número não determinado de pessoas e retorne a média de salário da população, a média do número de filhos, o maior salário e o percentual de pessoas com salário inferior a R$ 380,00.
– A chamada desse método deverá ser realizada a partir do método main da classe principal;
– O método em questão deverá ser implementado em outra classe (que não seja a principal);
Exercício
• Crie um programa que receba três valores (obrigatoriamente maiores que zero), representando as medidas dos três lados de um triângulo. Elabore métodos (em uma classe que não seja a principal) para:
– Determinar se esses lados formam um triângulo (a medida de um lado qualquer deve ser inferior ou igual a soma das medidas dos outros lados);
– Determinar e mostrar o tipo de triângulo (equilátero, isósceles ou escaleno), caso as medidas formem um triângulo;
• Todas as mensagens deverão ser apresentadas na classe principal;