Lógica de Programação 
Unimep/Pronatec 
2° Semestre/2014 
AULA 11 
- Prof. André Bertoletti - 
apbertolet@unimep.br
Aula de hoje 
•Modularização e reuso de programas 
•Passagem de parâmetros 
•Exercícios Portugol/C#
NÃO ESQUEÇA DA SUA Hora do Código 
Acesse, identifique-se e faça os exercícios! 
abre.ai/horadocodigo
Modularização Uma técnica de desenvolvimento de software que consiste na divisão da solução de um problema em “partes”
Dando “nome aos bois” módulos = métodos = funções = procedimentos = subprogramas = subrotinas = TRECHOS DO PROGRAMA PRINCI...
Mas por que modularizar um software? Vantagens da modularização
No mundo real o software precisa ser mais robusto
Dividir para conquistar
O código fica mais legível e fácil de dar manutenção
Facilita o trabalho em equipe
Permite o reaproveitamento de código (bibliotecas) 
Evite copiar e colar código! 
Ao invés disso, implemente o seu REUSO!
Na prática! Veja como seria um programa modularizado
Programa não modularizado 
Programa principal 
Inicio 
comando1; 
comando2; 
comando3; 
comando4; 
comando5; 
comando6; 
c...
Programa modularizado 
Programa principal() Inicio comando1; comando2; comando3; MétodoA(); comando5; comando6; comando7; ...
Vamos ver ao vivo! Um exemplo em Portugol e C#
Retorno dos módulos Um método pode retornar um valor ou então retornar vazio
Sintaxe para declarar um método 
Portugol Studio 
C# 
//método com retorno vazio 
funcao XYZ() 
{ 
} 
//método com retorno...
Passagem de parâmetros Um método pode receber valores de quem o chamou
Sintaxe para passagem de parâmetros 
Portugol Studio 
C# 
//recebendo valores por valor 
funcao XYZ(real P1, texto P2) 
{ ...
Vamos treinar um pouco?!
Exercício_M1 
Desenvolva um programa modular que leia dois números, faça a soma entre eles, e no final diga se o resultado...
Exercício_M1 (em Portugol Studio, sem módulos)
Exercício_M1 (em Portugol Studio, com módulos)
Exercício_M1 (em C#, sem módulos)
Exercício_M1 (em C#, com módulos)
Exercício_M2 
Escreva um método que receba um número inteiro por parâmetro e imprima o nome do mês correspondente ao númer...
Exercício_M2 (em Portugol Studio, sem módulos)
Exercício_M2 (em Portugol Studio, COM módulos)
Exercício_M2 (em C#, sem módulos)
Exercício_M2 (em C#, COM módulos)
Exercício_M3 
Cria um programa modular que apresente um menu de opções para o usuário escolher qual sub-rotina gostaria de...
Exercício_M3 (em Portugol Studio, sem módulos) 
(página 1/4)
Exercício_M3 (em Portugol Studio, sem módulos) 
(página 2/4)
Exercício_M3 (em Portugol Studio, sem módulos) 
(página 3/4)
Exercício_M3 (em Portugol Studio, sem módulos) 
(página 4/4)
Exercício_M3 (em Portugol Studio, COM módulos) 
Visão resumida de todos os módulos deste programa. Confira a visão detalha...
Exercício_M3 (em Portugol Studio, COM módulos) 
(página 1/4)
Exercício_M3 (em Portugol Studio, COM módulos) 
(página 2/4)
Exercício_M3 (em Portugol Studio, COM módulos) 
(página 3/4)
Exercício_M3 (em Portugol Studio, COM módulos) 
(página 4/4)
Exercício_M3 (em C#, sem módulos) 
(página 1/3)
Exercício_M3 (em C#, sem módulos) 
(página 2/3)
Exercício_M3 (em C#, sem módulos) 
(página 3/3)
Exercício_M3 (em C#, COM módulos) 
Visão resumida de todos os módulos deste programa. Confira a visão detalhada nos próxim...
Exercício_M3 (em C#, COM módulos) 
(página 1/4)
Exercício_M3 (em C#, COM módulos) 
(página 2/4)
Exercício_M3 (em C#, COM módulos) 
(página 3/4)
Exercício_M3 (em C#, COM módulos) 
(página 4/4)
Por hoje é só... Agora é hora de estudar! Acesse mais exercícios aqui: http://abre.ai/exercicos-modulos
Próximos SlideShares
Carregando em…5
×

Lógica de Programação - Unimep/Pronatec - Aula11

505 visualizações

Publicada em

Décima primeira aula de Lógica de Programação da turma de Técnico em Informática para Internet, do curso Pronatec/UNIMEP, realizada no segundo semestre de 2014.

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
505
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
22
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Lógica de Programação - Unimep/Pronatec - Aula11

  1. 1. Lógica de Programação Unimep/Pronatec 2° Semestre/2014 AULA 11 - Prof. André Bertoletti - apbertolet@unimep.br
  2. 2. Aula de hoje •Modularização e reuso de programas •Passagem de parâmetros •Exercícios Portugol/C#
  3. 3. NÃO ESQUEÇA DA SUA Hora do Código Acesse, identifique-se e faça os exercícios! abre.ai/horadocodigo
  4. 4. Modularização Uma técnica de desenvolvimento de software que consiste na divisão da solução de um problema em “partes”
  5. 5. Dando “nome aos bois” módulos = métodos = funções = procedimentos = subprogramas = subrotinas = TRECHOS DO PROGRAMA PRINCIPAL
  6. 6. Mas por que modularizar um software? Vantagens da modularização
  7. 7. No mundo real o software precisa ser mais robusto
  8. 8. Dividir para conquistar
  9. 9. O código fica mais legível e fácil de dar manutenção
  10. 10. Facilita o trabalho em equipe
  11. 11. Permite o reaproveitamento de código (bibliotecas) Evite copiar e colar código! Ao invés disso, implemente o seu REUSO!
  12. 12. Na prática! Veja como seria um programa modularizado
  13. 13. Programa não modularizado Programa principal Inicio comando1; comando2; comando3; comando4; comando5; comando6; comando7; comando8; comando9; comando10; comando11; comando12; comando13; comando14; comando15; comando16; comando17; comando18; Fim
  14. 14. Programa modularizado Programa principal() Inicio comando1; comando2; comando3; MétodoA(); comando5; comando6; comando7; comando8; comando9; MétodoB(); comando14; MétodoXYZ(); comando18; Fim MétodoA() Inicio comando991; comando4; comando992; Fim MétodoB() Inicio comando10; comando11; comando12; comando13; comando9991; Fim MétodoXYZ() Inicio comando15; comando16; comando17; Fim
  15. 15. Vamos ver ao vivo! Um exemplo em Portugol e C#
  16. 16. Retorno dos módulos Um método pode retornar um valor ou então retornar vazio
  17. 17. Sintaxe para declarar um método Portugol Studio C# //método com retorno vazio funcao XYZ() { } //método com retorno vazio void XYZ () { } //método com retorno inteiro funcao inteiro XYZ () { retorna 0; } //método com retorno inteiro int XYZ () { return 0; }
  18. 18. Passagem de parâmetros Um método pode receber valores de quem o chamou
  19. 19. Sintaxe para passagem de parâmetros Portugol Studio C# //recebendo valores por valor funcao XYZ(real P1, texto P2) { } //recebendo valores por valor void XYZ (decimal P1, string P2) { } //recebendo valores por referência funcao XYZ(real &P1, texto &P2) { } //recebendo valores por referência void XYZ (ref decimal P1, ref string P2) { }
  20. 20. Vamos treinar um pouco?!
  21. 21. Exercício_M1 Desenvolva um programa modular que leia dois números, faça a soma entre eles, e no final diga se o resultado desta soma resultou num número impar ou par.
  22. 22. Exercício_M1 (em Portugol Studio, sem módulos)
  23. 23. Exercício_M1 (em Portugol Studio, com módulos)
  24. 24. Exercício_M1 (em C#, sem módulos)
  25. 25. Exercício_M1 (em C#, com módulos)
  26. 26. Exercício_M2 Escreva um método que receba um número inteiro por parâmetro e imprima o nome do mês correspondente ao número. Por exemplo, se passar o valor 2 deverá retornar “fevereiro”. O método também deverá mostrar uma mensagem de erro caso o número recebido não faça sentido. Por fim, o método principal deverá ler conter um algoritmo que leia um valor do usuário e chame o método criado.
  27. 27. Exercício_M2 (em Portugol Studio, sem módulos)
  28. 28. Exercício_M2 (em Portugol Studio, COM módulos)
  29. 29. Exercício_M2 (em C#, sem módulos)
  30. 30. Exercício_M2 (em C#, COM módulos)
  31. 31. Exercício_M3 Cria um programa modular que apresente um menu de opções para o usuário escolher qual sub-rotina gostaria de executar. Ao finalizar a execução da sub-rotina escolhida, possibilitar que o usuário escolha se deseja voltar ao menu principal e execute novamente.
  32. 32. Exercício_M3 (em Portugol Studio, sem módulos) (página 1/4)
  33. 33. Exercício_M3 (em Portugol Studio, sem módulos) (página 2/4)
  34. 34. Exercício_M3 (em Portugol Studio, sem módulos) (página 3/4)
  35. 35. Exercício_M3 (em Portugol Studio, sem módulos) (página 4/4)
  36. 36. Exercício_M3 (em Portugol Studio, COM módulos) Visão resumida de todos os módulos deste programa. Confira a visão detalhada nos próximos slides.
  37. 37. Exercício_M3 (em Portugol Studio, COM módulos) (página 1/4)
  38. 38. Exercício_M3 (em Portugol Studio, COM módulos) (página 2/4)
  39. 39. Exercício_M3 (em Portugol Studio, COM módulos) (página 3/4)
  40. 40. Exercício_M3 (em Portugol Studio, COM módulos) (página 4/4)
  41. 41. Exercício_M3 (em C#, sem módulos) (página 1/3)
  42. 42. Exercício_M3 (em C#, sem módulos) (página 2/3)
  43. 43. Exercício_M3 (em C#, sem módulos) (página 3/3)
  44. 44. Exercício_M3 (em C#, COM módulos) Visão resumida de todos os módulos deste programa. Confira a visão detalhada nos próximos slides.
  45. 45. Exercício_M3 (em C#, COM módulos) (página 1/4)
  46. 46. Exercício_M3 (em C#, COM módulos) (página 2/4)
  47. 47. Exercício_M3 (em C#, COM módulos) (página 3/4)
  48. 48. Exercício_M3 (em C#, COM módulos) (página 4/4)
  49. 49. Por hoje é só... Agora é hora de estudar! Acesse mais exercícios aqui: http://abre.ai/exercicos-modulos

×