Lógica de programação




         Prof: Eduardo Rossit Paiossin
      Prof: Leandro Maranim Dei Santi
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.

Aula10

  • 1.
    Lógica de programação Prof: Eduardo Rossit Paiossin Prof: Leandro Maranim Dei Santi
  • 2.
    Conteúdo da aula Programaçãoestruturada Modularização Procedimento Função Pag 319
  • 3.
    Programação estruturada No finaldos 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.
  • 4.
    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.
  • 5.
    Modularização É um conceitode 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.
  • 6.
    Modularização Visa principalmente aspectoscomo 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
  • 7.
    Procedimentos e funções Paracriarmos 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.
  • 8.
    Procedimentos e funções Variáveisglobais: 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.
  • 9.
    Procedimentos e funções Procedimentocom 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.
  • 10.
    Procedimentos e funções Passagemde 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).
  • 11.
    Procedimentos e funções “Oque 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
  • 12.
    Exercício 1) Crie umalgoritmo 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
  • 13.
    Bibliografia Para apreparaçã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.