·

Ciência da Computação ·

Linguagens de Programação

Envie sua pergunta para a IA e receba a resposta na hora

Fazer Pergunta

Texto de pré-visualização

Modularização na Linguagem Java Prof Me Rober Marcone Rosi Unidade de Engenharia e Computação FAESA LogoType Modularização Programação Estruturad a x Programação Orientada a Objetos É uma técnica utilizada para desenvolver algoritmos por meio de refi namentos sucessivos O refinamento sucessivo é a redução de um problema a um conjun to de tarefas destinadas a solucionálo de maneira eficiente e otimiza do Para cada tarefa desenvolvese um algoritmoprograma módulo qu e poderá ser utilizado na solução de outros problemas pois cada mó dulo é independente O gerenciamento das tarefas é feito pelo algoritmo principal Esse m ódulo chama ou aciona os outros módulos que deverão ser escrito s por meio de funções ou procedimentos Modularização Vantagens Modularização Redução de complexidade Identificação de erros facilitada Reutilização Manutenção mais simples Expansibilidade Vantangens Com a subdivisão de programas complexos algumas vantagens são conquistadas a cada parte menor tem um código mais simples b facilita o entendimento uma vez que os subprogramas podem ser analisado s como partes independentes legibilidade c códigos menores são mais facilmente modificáveis para satisfazer novos re quisitos do usuário e para correção de erros manutenibilidade d simplificação da documentação de sistemas e desenvolvimento de software por equipes de programadores e f reutilização de software através de bibliotecas de subprogramas produtivid ade na linguagem C sob a forma dos arquivos de cabeçalhos h na lin guagem Pascal através das unidades de código unit e na linguagem Java import Partes comuns a vários programas ou que se repetem dentro de u m mesmo programa quando modularizamos em uma subrotina sã o programadas e testadas uma só vez mesmo que tenham que se r executadas com variáveis diferentes Podemse constituir bibliotecas de programas isto é a coleção de módulos que podem ser usados em diferentes programas sem alte ração e mesmo por outros programadores Economia de memória do computador uma vez que o módulo é ar mazenado uma única vez mesmo que utilizado em diferentes part es do programa Permite que em um determinado instante da exec ução do programa estejam na memória principal apenas os módul os necessários à execução deste trecho do programa Vantagens da Utilização de ModularizaçãoSubrotinas Podese citar que existe um acréscimo de tempo de exe cução dos programas constituídos de módulos devido a o tratamento adicional de ativação do módulo Desvantagem da Utilização de ModularizaçãoSubrotinas São dois tipos de subrotinas PROCEDIMENTOS e FUNÇÕES que são blocos de programa que exe cutam determinada tarefa Procedimentos podem receber valores mas não retornam outros valores como resultado Função retorna os valores resultantes das operaç ões que realizou Tipos de Modularização Também conhecidos como subrotina módulo e em Java método Exemplos Programação Estruturada 1 class CalculadoraProcedural 2 public static void main String args 3 Scanner ler new ScannerSystemin 4 double num1 num2 5 SystemoutprintlnDigite o primeiro valor 6 num1 lernextDouble 7 SystemoutprintlnDigite o segundo valor 8 num2 lernextDouble 9 multiplicarNumeros num1 num2 10 Systemexit0 11 12 static void somarNumeros double a double b 13 int res 14 res a b 15 SystemoutprintlnResultado Soma res 16 Exemplos Programação Estruturada 17 static void subtrairNumeros double a double b 18 int res 19 res a b 20 SystemoutprintlnResultado Subtração res 21 17 static void multiplicarNumeros double a double b 18 int res 19 res a b 20 SystemoutprintlnResultado Multiplicação res 21 17 static void dividirNumeros double a double b 18 int res 19 res a b 20 SystemoutprintlnResultado Divisão res 21 22 Exemplos Programação Orientada a Objetos 1 class CalculadoraOO 2 public static void main String args 3 Scanner ler new ScannerSystemin 4 Multiplica res new Multiplica 5 double num1 num2 6 SystemoutprintlnDigite o primeiro valor 7 num1 lernextDouble 8 SystemoutprintlnDigite o segundo valor 9 num2 lernextDouble 10 resmultiplicaNumeros num1 num2 11 lerclose 12 Systemexit0 13 14 Exemplos Programação Estruturada 1 public class Soma 2 public void somarNumeros double a double b 3 int res 4 res a b 5 SystemoutprintlnResultado Soma res 6 7 1 public class Subtrai 2 public void subtrairNumeros double a double b 3 int res 4 res a b 5 SystemoutprintlnResultado Subtração res 6 7 Exemplos Programação Estruturada 1 public class Multiplica 2 public void multiplicarNumeros double a double b 3 int res 4 res a b 5 SystemoutprintlnResultado Multiplicação res 6 7 1 public class Divide 2 public void dividirNumeros double a double b 3 int res 4 res a b 5 SystemoutprintlnResultado Divisão res 6 7 Procedimento Exemplo static void calcularAdicao double v1 double v2 double res res v1 v2 Systemoutprintln Soma res Função static double calcularAdicao double v1 double v2 return v1 v2 Exemplo Exemplos Precedimento 1 class TestaSoma 2 public static void main String args 3 Scanner ler new ScannerSystemin 4 double num1 num2 5 SystemoutprintlnDigite o primeiro valor 6 num1 lernextDouble 7 SystemoutprintlnDigite o segundo valor 8 num2 lernextDouble 9 calcularAdicao num1 num2 10 lerclose 11 Systemexit0 12 13 Exemplos Função 1 class TestaSoma 2 public static void main String args 3 Scanner ler new ScannerSystemin 4 double num1 num2 resultado 5 SystemoutprintlnDigite o primeiro valor 6 num1 lernextDouble 7 SystemoutprintlnDigite o segundo valor 8 num2 lernextDouble 9 Resultado calcularAdicao num1 num2 10 SystemoutprintlnResultado da soma resultado 11 lerclose 12 Systemexit0 13 14 Procedimento x Função Comparação entre Procedimento e Função Procedimento ModAdicaov1 v2 real Var res real Início res v1 v2 Mostrar res Fim Função ModAdicaov1 v2 real real Var res real Início res v1 v2 retornar res Fim Procedimento Função Perguntas Obrigado