Lógica de programação Prof: Leandro Maranim Dei Santi Prof. Eduardo Rossit Paiossin Conteúdo da aula Programação estruturada Modularização Procedimento Função Pag 319 Programação estruturada No final dos anos 60 as empresas se depararam com um aumento crescente nos custos de fabricação de um software e isso gerou a crise do software. A fim de resolver esse problema surgiram vários tipos de programação. Como por exemplo a programação estruturada. Esse tipo de programação permite o desmembramento do programa em partes menores e mais fáceis de se programar/dar manutenção, além de ficarem bem mais simples de se entender. Programação estruturada Programação estruturada é uma forma de programação de computadores que preconiza que todos os programas possíveis podem ser reduzidos a apenas três estruturas: sequência, decisão e interação, desenvolvida por Michael A. Jackson no seu livro "Principles of Program Design" de 1975. Tendo, na prática, sido transformada na Programação modular, a Programação estruturada orienta os programadores para a criação de estruturas simples em seus programas, usando as subrotinas e as funções. Foi a forma dominante na criação de software anterior à programação orientada por objetos. Modularização É um conceito de dividir um software em partes distintas (módulos). À medida que vamos resolvendo problemas mais complexos, o tamanho dos nossos programas vai crescendo, assim, fica difícil acompanhar as funcionalidades dos trechos de Programas. Esta técnica de decomposição em unidades funcionais, proveniente da programação estruturada, é conhecida como modularização. Estes trechos devem ser logicamente coerentes, isto é, cada um deve realizar uma função definida. Modularização Visa principalmente aspectos como confiabilidade, legibilidade, manutenção e flexibilidade. Tem como principais vantagens: A independência entre os módulos permite uma manutenção mais simples e barata. Pode ser desenvolvido em paralelo ao restante do algoritmo Teste para correção de bugs podem ser feitos separadamante do programa. Um módulo pode ser utilizado em outros algorítmos Procedimentos e funções Para criarmos módulos no nosso algoritmo existem os comandos procedimento e função. As ações do procedimento e função são hierarquicamente subordinadas a um algoritmo principal geralmente chamado “Módulo Principal” Dentro de um procedimento/função podem haver vários outros procedimento/funções. Os procedimentos e as funções podem utilizar objetos (constantes e variáveis) do módulo principal, definir seus próprios, ou ainda utilizar os dois. Procedimentos e funções Variáveis globais: São variáveis que podem ser utilizadas pelos procedimentos/funções internas ao módulo onde foi declarada. Variáveis locais: São variáveis que podem ser utilizadas apenas nos módulos em que foram criadas. Não em significado fora dele. Vejamos o exemplo na página 321. Procedimentos e funções Procedimento com parâmetros (pag 332) Passagem de parâmetro por valor: Na passagem por valor, os parâmetros de uma função funcionam como variáveis suas, ou seja NADA tem a ver com as variáveis da função que a chamou. Desta forma alterações nos valores desses parâmetros não interferem nos valores das variáveis da função chamadora. Procedimentos e funções Passagem de parâmetro por referência: No entanto pode ser interessante que uma variável na função chamadora possa ser alterada (ex: função que troque o valor de duas variáveis). Ou mesmo haja a necessidade de se retornar mais de um valor da função (pois com o return só é possível retornar um único valor). Para esses casos, algumas linguagens permitem a passagem de parâmetros por referência, onde uma variável passada como parâmetro ao ser alterada dentro da função tem seu valor alterado também na função chamadora (é na verdade uma única variável usada por ambas as fuções). Procedimentos e funções “O que são Parâmetros de Entrada e Saída” Função: Assemelha-se muito ao procedimento, porém sempre há o retorno de um valor. Exemplo pagina 339 Exercício 1) Crie um algoritmo que chame uma função que calcula a média de 100 alunos e depois imprima essa média. 2) Crie um algoritmo que chame uma procedimento que calcule e imprima a média de 100 alunos e depois imprima essa média. 3) Crie um algoritmo que passe o nome e o endereço de um aluno para um procedimento. Esse procedimento vai imprimir essas informações juntamente com o nome da instituição “SENAC” para obter o nome da instituição o procedimento chamará a função IMPRIME_INSTITUIÇAO que também deve ser criada Bibliografia Para a preparação da aula foi utilizado o livro do curso entregue pelo SENAC e Modularização. MODULARIZAÇÃO Disponível em: <http://correio.fdvmg.edu.br/downloads/DET111/Parte1 _Modulariaza%E7%E3o.pdf> Acesso em: 02 MAIO. 2011, 21:00:00.