Camiseta Twitter !! Garanta já a sua!

[VB] Parte VIII – Procedimentos/ Funções

Categorias: Algoritmos, Aprenda, Aulas, Desenvolvimento, VB

9 comente

Olá amantes da programação. Eu sei que dei uma longa sumida, mas aqui estou eu novamente e vamos continuar com as postagens a respeito do VB.NET .

Já estamos na oitava postagem do assunto, aqui estão os links das anteriores:

[Parte I] – Olá mundo -> características da linguagem, declaração de variáveis, Consoles Applications e o “Olá Mundo”.
[Parte II] – Variáveis -> tipos de variáveis, operadores, strings e valores lógicos.
[Parte III] – Estruturas Condicionais -> operadores lógicos, estruturas “If” e “Select Case”.
[Parte IV] – Windows Forms Applications -> ambiente de desenvolvimento gráfico, controles, propriedades, métodos, eventos e a instrução Handles.
[Parte V] – Estruturas de Repetição -> instrução Option Explicit, estruturas de repetição “Do”, “While” e “For”. Usando a função Trim().
[Parte VI] – Vetores -> declaração, funções e o laço “For Each”.
[Parte VII] – Strings e conversões de tipos -> instrução Option Strict, funções de strings e conversões entre tipos diferentes de variáveis.

Começando com procedimentos e funções. Consoles Applications e vamos em frente.

Procedimentos

Um procedimento (ou sub-rotina) é um bloco de comandos refenciado por um nome. Então, toda vez que eu quiser executar os comandos que estão dentro de um procedimento, é só chamá-lo pelo nome, como se fosse um comando da linguagem. Esse tipo de código não retorna valores.

A definição simples de um procedimento é:

Sub <nome> ([lista de parâmetros])

<bloco de comandos>

End Sub

<nome> segue os mesmos requisitos para os nomes de variáveis, e [lista de parâmetros] é opcional, algo que veremos mais adiante.

O Sub Main() criado por padrão pelas Console Applications é um exemplo de procedimento.

Quando ocorre a chamada de um procedimento, o Visual Basic entrará na execução do procedimento, e quando terminar continuará na linha seguinte, onde aconteceu a chamada. Para forçar a saída do procedimento, o comando usado é Exit Sub.

Parâmetros

Parâmetros são valores de variáveis que são informados à sub-rotina para que ela possa trabalhar com eles. Existe a passagem por valor, que é a padrão do Visual Basic (ByVal), onde a Sub vai receber uma cópia do valor original. Então, se mudamos dentro da Sub o valor do parâmetro, a variável original não se altera.

A passagem por referência (ByRef) faz com que seja passado um ponteiro para a variável original, ou seja, se o valor do parâmetro muda dentro da Sub, a variável original também muda.

Escopo de variáveis é a abrangência que uma variável tem na aplicação. As Subs podem ter variáveis declaradas dentro delas. Mas variáveis declaradas dentro das Subs só valem lá dentro, depois que a execução sai delas, as variáveis não serão mais consideradas. Veja o exemplo abaixo:

Criei duas Subs que recebem um parâmetro. Na chamada do procedimento, o valor da variável “numero” é passado para “Param1″.

Dentro de cada Sub existe uma variável “fator”, que só existe lá dentro (a variável “fator” dentro de PassValor não é a mesma dentro de PassRef, e não podem ser “enxergadas” fora dos procedimentos).

Acompanhe a ordem das saídas na tela e veja que depois que a variável “numero” é passada por referência, o valor dela muda.

Funções

As funções também são blocos de comandos, mas diferente dos procedimentos sempre vão retornar algum valor. Imagine uma função que faz a soma de dois números: as parcelas seriam os parâmetros, e o retorno seria o total.

A declaração fica:

Function <nome> ([lista de parâmetros]) As <tipo>

<bloco de comandos>

End Function

As formas de passagem de valores são as mesmas. Para o retorno da função, usamos o comando Return, seguido do valor retornado. Quando o Return é executado, a função termina. Dessa forma, poderíamos por exemplo associar uma variável ao resultado da função. Veja abaixo:

A função acima tem dois parâmetros, sendo que Param2 é opcional, indicado pela palavra-chave Optional. Caso na chamada da função esse parâmetro não seja informado, o valor atribuído será o default, indicado na declaração do parâmetro na função (no caso, 3).

No nosso caso, de acordo com o valor de Param1 a função vai retornar a soma ou o produto com Param2. O Visual Studio sempre vai alertar caso o seu código tenha deixado alguma possibilidade de não haver retorno por causa das condicionais.

O mais simples foi isso. Até a próxima.
.NET do it better

Related Posts with Thumbnails
  • Legal, vou indicar para o professora para ele passar aos alunos do 2º ano.

    [Responder]

    novembro 6, 2008 @ 12:24 pm
  • Bela iniciativa Marcelo, dei uma lida em dois post e achei legal, bem explicadinho.

    Mas, assim como o Renan disse no primeiro post do curso que ignora a existencia do VB, eu abomino as tecnologias da Micro$oft.

    [Responder]

    novembro 6, 2008 @ 4:17 pm
  • Matheus

    Console.postCommentAboutVBNet(’Legal’);

    Não é assim que fazemos as coisas em .NET ?
    uehauheuaheuahe ;)

    parabéns =D

    ?php die(‘micro$oft’); ?

    [Responder]

    novembro 6, 2008 @ 4:30 pm
  • Bruno Alves (Buiusoft)

    Fiz os exemplos propostos apenas da primeira aula de VB dessa (que estou fazendo agora) mas e muito bom vocês darem a oportunidade a outras pessoas de poder aprender!

    Vlw!!!

    [Responder]

    novembro 6, 2008 @ 6:34 pm
  • Joatan Fontoura - 17 anos - Novo Hamburgo - RS

    Parabéns pelos posts, Marcelo!

    Pelo que lembro, foi você quem postou aqui no site uma aula de VB Script?

    Se sim, acho que seria interessante mais posts com essa linguagem, que por sinal é bastante parecida com o Visual Bascic desse post.

    Valeu!

    [Responder]

    novembro 6, 2008 @ 7:45 pm
  • adorei!
    ja estou fazendo!

    [Responder]

    dezembro 2, 2008 @ 4:36 pm
  • victor jordao

    num tem como pegar esses videos pelo itunes??

    [Responder]

    janeiro 1, 2009 @ 7:04 pm
  • Muito bem cara continue assim..
    ps. quando eu falo continue assim é pra continuar mesmo… pq parou de postar ?????? tow com sede de outro post xD kkk quero um post de 2009 xD Feliz VB procês fios…. xD
    Bju na bunda do rafael xD
    flw’s xD

    [Responder]

    janeiro 14, 2009 @ 5:25 pm
  • POw e ai Marcelo e Guanabara qd vao voltar ???

    Estou adorando as aulas… eu e Todos meus amigos estagiarios aki na minha sala … no qual eu fix a propaganda do site de voces hahahahahahaa

    estamos aprendendo bastante com essas aulas de voces Voltemm!!!

    Precisamos de voces!

    [Responder]

    março 25, 2009 @ 3:13 pm

Comentar