Programação Estruturada

Propaganda
Programação Estruturada
Prof. Marcelo Siedler
Objetivos do documento:
•
Apresentar conceitos relacionados a programação estruturada
•
Exercícios com métodos.
Programação Estruturada
Programação estruturada orienta os programadores para a criação de estruturas simples em seus
programas, usando procedimentos e funções.
O objetivo é permitir uma melhor organização e um reaproveitamento de códigos já desevolvidos,
facilitando a manutenção e o compartilhamento de soluções.
A programação estruturada dominou a forma de trabalho nas empresas até a popularização da
programação orientada a objetos, mesmo que ainda hoje seja possível encontrar diversos sistemas
sendo desenvolvidos de forma estruturada.
A seguir serão apresentados conceitos relacionados a programação estruturada que serão utilizados na
presente unidade.
Procedimentos e funções (métodos)
Em sistemas computacionais é comum termos programas que trabalham com diversas funcionalidades
diferentes dentro do mesmo programa. Por exemplo, foi desenvolvido em uma lista de exercício
anterior um programa que, dependendo da opção digitada pelo usuário, deveria permitir incluir,
pesquisar, listar e finalizar o programa, tudo dentro de um mesmo programa, tornando-o bastante
extenso e dificultado a sua organização por parte do desenvolvedor.
Com a programação estruturada surgiu a possibilidade de “dividir e organizar” melhor programas como
esse, permitindo separar melhor o código, colocando em um determinado local do programa a operação
de incluir, em outro a de pesquisar, listar entre outras que forem necessárias.
Para tanto utilizaremos os procedimentos e funções, que chamaremos apenas de métodos.
Sintaxe básica:
void nomeMetodo()
{
/*
Codificação do mesmo
*/
}
No contexto da nossa unidade a sintaxe básica terá dois comandos adicionais, comandos estes que já
estamos familiarizados quando utilizamos um tal de main para executar o nosso programa.
public static void nomeMetodo()
{
/*
Codificação do mesmo
*/
}
Vamos ao exemplo Primeiro.java:
/**
* O programa deve verificar o cargo e retornar se o usuário
* está autorizado a executar uma determinada operação
*/
import javax.swing.JOptionPane;
public class Primeiro {
public static void main(String args[])
{
String cargo, nome;
nome = JOptionPane.showInputDialog("Digite o seu nome");
cargo = JOptionPane.showInputDialog("Digite o seu cargo");
if(cargo.equalsIgnoreCase("Administrador") ||cargo.equalsIgnoreCase("Gerente"))
{
//chama o método que exibirá a mensagem de OK
msgOK();
}
else
{
//chama o método que exibirá a mensagem de Acesso Negado
msgNegado();
}
}
public static void msgOK()
{
JOptionPane.showMessageDialog(null, "Você está autorizado a executar a operação");
}
public static void msgNegado()
{
JOptionPane.showMessageDialog(null, "Você não está autorizado a executar a operação");
}
}
Exercício:
Criar um programa chamado MetodoInicio.java com as seguintes implementações:
O programa deve ler o nome de um funcionário e os anos de experiência do mesmo. Criar quatro
métodos com as seguintes funcionalidades:
•
Método Senior
o
•
Método Pleno
o
•
Exibe a mensagem: “Você é um funcionário Pleno, seu salário mensal é de R$ 8000”;
Método Junior
o
•
Exibe a mensagem: “Você é um funcionário Sênior, seu salário mensal é de R$ 12000”;
Exibe a mensagem: “Você é um funcionário Júnior, seu salário mensal é de R$ 2000”;
Método Aprendiz
o
Exibe a mensagem: “Você é um funcionário Aprendiz, seu salário mensal é de R$ 600”;
No método main implementar a leitura das informações do funcionário e chamar o método de acordo
com o tempo que o mesmo está na empresa, sendo que se o funcionário está acima de oito anos na
empresa ele é considerado Senior, entre cinco e oito é considerado Pleno, até um ano é considerado
aprendiz e com mais de um ano e menos de cinco é considerado Junior.
Passando parâmetro
Considerando nosso exemplo Primeiro.java vamos considerar que, ao invés de exibir a mensagem “Você
está autorizado a executar a operação” desejamos colocar o nome do funcionário que está ou não autorizado
a executar a operação. Precisamos fazer com que o método “acesse” a informação de nome lida no
programa principal, para isso utilizaremos parâmetros em nosso método.
Exemplos:
CRIAÇÃO:
public static void exibeCargo(String cargo)
{
JOptionPane.showMessageDialog(null,”Meu cargo é” + cargo);
}
public static void exibeCargoeNome(String cargo, String nome)
{
JOptionPane.showMessageDialog(null,”Meu cargo é” + cargo);
JOptionPane.showMessageDialog(null,”Meu nome é” + nome);
}
public static void novoSalario(Float salario)
{
JOptionPane.showMessageDialog(null,”Novo Salário” + (salario*1.2));
}
CHAMADA dos métodos:
String car, nom;
Float salario;
car = “Analista de Sistemas”;
nom = “Marcelo”;
salario = 1000f;
exibeCargo(car);
exibeCargoeNome (car,nom);
novoSalario(salario);
Vamos ao exemplo Primeiro.java adaptado:
import javax.swing.JOptionPane;
public class Primeiro_parametro {
public static void main(String args[])
{
String cargo, nome;
nome = JOptionPane.showInputDialog("Digite o seu nome");
cargo = JOptionPane.showInputDialog("Digite o seu cargo");
if(cargo.equalsIgnoreCase("Administrador") ||cargo.equalsIgnoreCase("Gerente"))
{
//chama o método que exibirá a mensagem de OK
msgOK(nome);
}
else
{
//chama o método que exibirá a mensagem de Acesso Negado
msgNegado(nome);
}
}
public static void msgOK(String nomefuncionario)
{
JOptionPane.showMessageDialog(null, nomefuncionario + ", você está autorizado a executar a operação");
}
public static void msgNegado(String nomefuncionario)
{
JOptionPane.showMessageDialog(null, nomefuncionario + ", você não está autorizado a executar a operação");
}
}
Exercício:
Adaptar o exercício anterior para que o mesmo informa o nome do funcionário na mensagem.
Download