Algoritmo subprogramas

  • Published on
    07-Jul-2015

  • View
    1.496

  • Download
    0

Embed Size (px)

Transcript

<ul><li> 1. Laboratrio de Programao ISUBPROGRAMAS (Mdulos) Profa. Valria Maria DArezzo Zlio 1</li></ul> <p> 2. CONCEITO A complexidade de um programa est diretamenteligada aplicao a que se destina. Em geral problemasmais complexos exigem programas mais extensos. Nestecaso muitas vezes nos deparamos com um amontoadode comandos alm disso outras vezes precisamos repetiro mesmo trecho de comandos em vrios pontos doprograma. Uma soluo para este problema dividir este programamais longo em vrios outros pequenos programasconhecidos como: mdulos,sub-programas ou sub-rotinas. 2 3. ORGANIZAO Transformar um nico programa em vriosmdulos permite: Aumentar a funcionalidade das partes doconjunto com programas independentes; Facilitar o entendimento do cdigo e Permitir a reutilizao destas partes. Um programa completo subdividido em ummdulo principal e diversos mdulos quantosforem necessrios. O mdulo principal aquele por onde a execuosempre se inicia, podendo invocar (ativar ouchamar) outros mdulos que por sua vez poderoinvocar outros ou at a si mesmos.3 4. ORGANIZAO Diagrama de um programa utilizandomdulos:Relacionamento HierrquicoPrincipal M1M2 M3M4M5M6M7 M8 4 5. Representao Um Mdulo um trecho de programa quepossui variveis e comandos prprios e que,para ser executado deve ser ativado por umoutro mdulo ou pelo mdulo principal.5 6. Representao em AlgoritmoIncio{Variveis Globais} Mdulo Nome (Parmetros)nome: tipo; {variveis locais} Incio {Corpo do Algoritmo} Fim{Definies de outros mdulos}Fim 6 7. Representao em C# A Janela Form1.cs um mdulo vinculadoao programa principal que no apresentado automaticamente quando dacriao de um projeto, mas pode servisualizado por meio da janela SolutionExplore Program.cs.7 8. Programa Principal do Projeto Mdulo Principalpor onde inicia aexecuo do Instruesresponsveisprojeto . pela execuo do projeto.8 9. Exemplo de um Mdulo (Mtodo em C#)Mtodo um termo deProg. Orientada aObjetos para representar um mdulo.9 10. Nomenclatura Em C# Temos formas diferentes de representar osmdulos (ou funes ou mtodos):Mtodo Simples: usado para dividir umprograma em blocos menores e armazenar trechosde programas que podem ser chamados inmerasvezes durante a execuo de um programa:Mtodos que retornam informaes: semelhante ao mtodo simples utilizado para amesma finalidade, porm com um diferencial:sempre deve retornar um valor para o mtodoque fez a chamada. 10 11. Passagem de Parmetros Os mtodos podem receber e ou retornarinformaes. Neste caso os dados locais a ummtodo podem ser enviados para outro mtodo,que por sua vez poder utilizar estes dados ealter-los ou no. Este mecanismo chamado depassagem de parmetros e pode ser de dois tipos:passagem de parmetros por valor (ou cpia) epassagem de parmetros por referncia (enviao endereo da varivel).11 12. Passagem de Parmetros por Valor No instante da chamada do mtodo feitauma cpia dos dados como se fossemvariveis locais. As informaes recebidaspodem ser utilizadas pelo outro mtodo,mas as alteraes no iro modificar ainformao original do local da chamada. 12 13. Passagem de parmetros porReferncia Passagem de Parmetros por Referncia: utilizada quando precisamos efetuar modificaesnos dados recebidos e enviar os resultados paraserem utilizados posteriormente. Neste caso enviado o endereo original da varivel. Paradiferenciar da passagem de parmetros por valor feita a insero da palavra chave ref antes davarivel no cabealho do mtodo. 13 14. Varivel Locais X Varivel Globais Se uma varivel for definida dentro de um mtodo nenhum outromtodo poder acessar esta varivel, pois a varivel no conhecida em outras reas do programa, varivel local. No casoem que uma varivel deve ser acessada por qualquer parte doprograma ela deve ser declarada fora de qualquer mtodo naseo inicial da unidade do programa, variveis globais. O problema das variveis globais que qualquer cdigo doprograma poder estar modificando o seu contedo exigindo assimum controle rgido do programador especialmente em programasextensos. Alm disso, estas variveis tambm ocupam a memriadurante toda a execuo do programa. 14 15. Forma Geral de um Mtodoprivate tipo nome_do_mtodo(tipo parmetro) tipo nome_da_varivel; { variveis locais} {bloco de comandos; };15 16. Exemplo - 1Sendo dados os valores de a e bdesenvolver uma aplicao para calculare exibir o valor de w = 3 a b2/2. Utilizarvariveis locais e mtodos com passagemde parmetros. 16 17. 17 18. Cdigo em C#private void button1_Click(object sender, EventArgs e){int a, b;double w;a = int.Parse(textBox1.Text);b = int.Parse(textBox2.Text); Passagem de parmetrosw = calculo(a, b); Por valor.textBox3.Text = w.ToString();}private double calculo(int a, int b){double resultado; Tipo do Resultadoresultado = 3 * a - Math.Pow(b, 2) / 2;que vai retornar.return (resultado);} 18 19. Exemplo - 2Dado um valor em real converter omesmo em dolar sabendo-se que o valordo dolar R$1,78. Exibir o valorconvertido usando o conceito de variveislocais e mdulos.19 20. 20 21. Cdigo em C#private void button1_Click(object sender, EventArgs e){ double re, dl=0; re = double.Parse(textBox1.Text); if (radioButton1.Checked == true) Passagem de Parmetros { por valor e por referncia.Converter(re, ref dl);textBox2.Text = dl.ToString(); } Cabealho da Funo com osParmetros sendo recebidos na} mesma ordem que foram enviados.private void Converter(double re, ref double dl){dl = re/2.20;}21</p>