29
CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI @2009 - João Manuel R. S. Tavares 1 Visual Basic III – Procedimentos João Manuel R. S. Tavares CFAC – Concepção e Fabrico Assistidos por Computador Sumário 1) Criar Subrotinas em Visual Basic; 1) Criar Subrotinas em Visual Basic; 2) Criar Funções; 3) Mecanismo de passagem de parâmetros; 4) Modularização em Linguagens de @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 2 4) Modularização em Linguagens de Programação.

VB modulo III.ppt - paginas.fe.up.pttavares/ensino/CFAC/Downloads/Apontame… · Private Sub Triple(num As Single) Passagem de argumentos para parâmetrosPassagem de argumentos para

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 1

    Visual Basic

    III – Procedimentos

    João Manuel R. S. Tavares

    CFAC – Concepção e Fabrico Assistidos por Computador

    Sumário

    1) Criar Subrotinas em Visual Basic;1) Criar Subrotinas em Visual Basic;

    2) Criar Funções;

    3) Mecanismo de passagem de parâmetros;

    4) Modularização em Linguagens de

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 2

    4) Modularização em Linguagens de Programação.

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 2

    O que é a Modularização?

    Dividir o programa em subtarefasDividir o programa em subtarefas.

    Uma subrotina, ou uma função, executa um tarefa bem definida.

    Aumento da facilidade de testar, depurar

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 3

    (debug) e corrigir, um programa.

    Porque utilizar Subrotinas e Funções?

    Prover operações abstractasProver operações abstractas.

    Torna os programas mais simples de escrever, depurar e manter.

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 4

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 3

    Modularização de Programas em Visual Basic

    No Visual Basic, existem dois tipos de di tprocedimentos (além dos procedimentos de eventos):

    – Subrotinas (Sub procedures);– Funções (Functions).

    Nota: Para distinguir estes tipos procedimentos dos procedimentos associados a eventos Subrotinas e Funções são referidos como

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 5

    associados a eventos, Subrotinas e Funções são referidos comoprocedimentos gerais (general procedure).

    Como regra, uma subrotina ou função executa apenas uma tarefa, ou várias tarefas fortemente relacionadas, e deverá ser relativamente pequena.

    Modularização de Programas em Visual Basic

    Os procedimentos de eventos são sempre activados a partir de uma acção executada pelo utilizador ou então pelo sistema operativo (ex: Windows).

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 6

    Os procedimentos gerais, funções ou subrotinas, são activados pelo próprio programador via código.

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 4

    Passagem de Argumentos para subrotinas:

    Quando uma subrotina é definida é por vezes Quando uma subrotina é definida é por vezes necessário transferir variáveis utilizadas em subrotinas diferentes. Tal é designado, nas linguagens de programação, por passagem.

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 7

    Propriedades das Subrotinas:

    Podem ser chamadas;Podem ser chamadas;

    Podem receber dados, designados por argumentos (por passagem);

    Podem retornar valores ao programa/módulo

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 8

    chamador;

    Podem alterar o valor de uma variável recebida.

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 5

    Componentes de uma Subrotina:

    Nome: utilizado para identificar a subrotina;Nome: utilizado para identificar a subrotina;

    Parâmetros: uma subrotina aceita valores a partir do módulo chamador através dos seus parâmetros; também pode devolver valores através dos seus parâmetros

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 9

    através dos seus parâmetros.

    Nome das Subrotinas

    As regras para nomear as subrotinas são asAs regras para nomear as subrotinas são as mesmas para nomear as variáveis.

    Geralmente, os nomes das subrotinas começam com letras maiúsculas de forma a serem distinguidos dos nomes das variáveis

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 10

    distinguidos dos nomes das variáveis.

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 6

    Sintaxe de uma Subrotina

    Private Sub NomeDaSubrotina (lista de parâmetros)Private Sub NomeDaSubrotina (lista de parâmetros)declaração/declarações

    End Sub

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 11

    A lista de parâmetros pode ser vazia; nestes casos, devesse manter os parênteses curvos nas designações das subrotinas mas omiti-los nas chamadas.

    Criar Subrotinas no Visual Basic:

    1 Activar a janela de código;1. Activar a janela de código;

    2. Seleccionar Add Procedure no menu Tools;

    3. Escrever na caixa respectiva o nome da subrotina ;

    4. Clicar em Private para o alcance (por exemplo);

    C t l E t li b tã OK

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 12

    5. Carregar na tecla Enter ou clicar no botão OK;

    6. Escrever as declarações da subrotina na janela de código.

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 7

    Exemplo de Chamada de uma Subrotina:Private Sub cmdCompute_Click()

    Dim num As SingleDim num As Singlenum = Val(InputBox("Enter a number:"))Call Triple(num)

    End SubSubrotina Triple:

    Private Sub Triple(num As Single)

    chamada

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 13

    Private Sub Triple(num As Single)' Multiply the value of the number by 3picResult.Print "The number is"; 3 * num

    End Sub

    Passagem de Argumentos para Subrotinas

    Argumentos: variáveis ou expressõesArgumentos: variáveis ou expressões colocadas entre parênteses numa declaração Call.

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 14

    Não é apenas o valor do argumento passado para o parâmetro mas também (no final) o valor do parâmetro é devolvido para o argumento.

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 8

    Exemplo de ArgumentosCall Triple(num)

    ParâmetrosVaráveis colocadas entre parênteses depois do

    nome da Subrotina.

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 15

    Quando a subrotina é chamada, os valores dos correspondentes argumentos são transferidos para os seus parâmetros.

    Exemplo de ParâmetrosPrivate Sub Triple(num As Single)

    Passagem de argumentos para parâmetrosPassagem de argumentos para parâmetros

    Call Triple(num )Argumento

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 16

    Private Sub Triple (num As Single)

    Parâmetro

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 9

    Passagem de Argumentos para Parâmetros

    Argumentos

    Call Add (x, y )

    Private Sub Add ( num1 As Single, num2 As Single)

    Argumentos

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 17

    Parâmetros

    Passagem de Argumentos

    A subrotina recebe a localização dosA subrotina recebe a localização dos argumentos na memória, a subrotina pode utilizar e modificar o valor dos argumentos.

    Dois sentidos: de entrada e de saída da subrotina

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 18

    subrotina.

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 10

    Passagem de Argumentos

    Private Sub cmdDisplay Click()Private Sub cmdDisplay_Click()Dim amt As Singleamt = 2picResults.Print amt;Call Triple(amt)

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 19

    picResults.Print amtEnd Sub

    Subrotina Triple

    Private Sub Triple(num As Single)Private Sub Triple(num As Single)' Triple a numberpicResults.Print num;num = 3 * numpicResults.Print num;

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 20

    End Sub

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 11

    Passagem de Argumentos

    Call Triple(amt) amtCall Triple(amt)

    Private Sub Triple (num As Single)

    amt

    num

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 21

    Passagem de Dados - por Referência

    2 2 6 6

    amt amt amt amt

    num num

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 22

    Subrotina Triple

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 12

    Passagem de Argumentos por Valor e por Referência

    A passagem de argumentos para subrotina pode ser feita porA passagem de argumentos para subrotina pode ser feita por Valor ou por Referência.

    Na passagem por valor, a subrotina recebe apenas uma cópia do argumento; sendo assim, qualquer alteração no argumento d d b i á f i d d l ( ó

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 23

    dentro da subrotina não terá efeito no dado real (após o retorno da subrotina assumirá o valor anterior que tinha no módulo chamador).

    Passagem de Argumentos por Valor e por Referência

    Já na passagem por referência, a subrotina recebe o endereço que realmente contém o dado; assim sendo, qualquer alteração no argumento alterará o dado de verdade.

    O Visual Basic, por defeito, passa argumentos por referência. Para passar argumentos por valor utiliza se a palavra chave ByVal na

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 24

    passar argumentos por valor, utiliza-se a palavra chave ByVal na lista de parâmetros, ou então coloca-se o argumento entre parênteses na chamada da subrotina.

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 13

    Regras Importantes para a Passagem de Argumentos para uma Subrotina

    O número de argumentos e parâmetros deve coincidir.

    O tipo de dado de cada argumento deve ser igual ao do correspondente parâmetro.

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 25

    Variáveis Locais:

    Uma variável que é apenas utilizada no interior de um procedimento especifico (subrotina oude um procedimento especifico (subrotina ou função).

    O alcance de uma variável local é a zona do procedimento no qual essa variável foi definida.

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 26

    Quando a mesma variável aparece em dois procedimentos diferentes o Visual Basic atribui às varáveis identidades distintas de tal modo que são tratadas como variáveis diferentes e independentes.

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 14

    Variáveis Locais:

    Declaradas no interior da definição de um procedimento; Declaradas no interior da definição de um procedimento;

    Privadas à definição do procedimento;

    Variáveis em procedimentos diferentes são totalmente independentes;

    Procedimentos diferentes podem ter variáveis com nomes

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 27

    iguais; contudo, cada variável terá a sua locação de memória própria.

    Vantagens na utilização de Variáveis Locais

    Extremamente úteis na programação em equipa;Extremamente úteis na programação em equipa;

    Evitam efeitos colaterais (nos quais existe uma alteração acidental do valor da variável).

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 28

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 15

    Exemplo de Variáveis Locais

    Private Sub cmdButton Click()Private Sub cmdButton_Click()

    Dim var1 As Integer, var2 As Integer, num As Integervar1 = 2var2 = 4Call Add(num)picBox Print num

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 29

    picBox.Print numEnd Sub

    As variáveis var1, var2 e num, são locais ao procedimento; o valor da variável num é passado para a subrotina Add.

    Subrotina Add

    Private Sub Add(num As Integer)Private Sub Add(num As Integer)Dim var1 As Integer, var2 As Integernum = var1 + var2

    End Sub

    A iá i 1 2 ã l i à

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 30

    As variáveis var1 e var2 são locais à subrotina Add; no retorno, a variável num terá valor igual à soma de var1com var2.

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 16

    Variáveis a nível de Formulário

    Variáveis a nível de formulário (form levelVariáveis a nível de formulário (form-level variables) são visíveis a todos os procedimentos (são variáveis Globais) do formulário.

    Variáveis a nível de formulário aparecem no topo da janela de código do formulário

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 31

    topo da janela de código do formulário.

    Trata-se de uma solução para tornar visíveis a todos os procedimentos de um formulário variáveis sem recorrer ao mecanismo de passagem.

    Como criar Variáveis a nível do Formulário?

    1. Activar a janela de código;

    2. Clicar na seta de queda na zona direita da caixa de listagem dos objectos;

    3. Clicar em General;

    4. Clicar em Declaration na caixa de listagem dosdi t

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 32

    procedimentos;

    5. Escrever as declarações Dim para as variáveis a nível de formulário.

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 17

    Exemplo

    ' Na secção Declaration do objecto General Na secção Declaration do objecto GeneralDim num1 As Single, num2 As Single

    1 2 ã d iá i l b i í l d f lá i d

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 33

    num1 e num2 são duas variáveis globais ao nível do formulário do tipo single.

    Revisão

    O Visual Basic tem dois tipos de procedimentos gerais:gerais:

    – Subrotinas;– Funções

    Cada subrotina/função executa uma tarefa distinta

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 34

    distinta.A instrução Call provoca com que uma

    subrotina seja executada.

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 18

    Revisão

    Uma subrotina pode receber muitos valoresUma subrotina pode receber muitos valores

    Subrotina

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 35

    Uma subrotina pode devolver muitos valores

    Revisão

    Valores podem ser passados entre oValores podem ser passados entre o programa/módulo chamador e a subrotina através da passagem de argumentos.

    O número e o tipo de argumentos no programa/módulo chamador e na subrotina

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 36

    programa/módulo chamador e na subrotina devem ser compatíveis.

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 19

    Revisão

    Variáveis que são usadas (definidas) numVariáveis que são usadas (definidas) num procedimento particular são designadas por variáveis locais.

    Valores atribuídos a este tipo de variáveis não são retornados ao módulo chamador

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 37

    são retornados ao módulo chamador.

    Revisão

    Diagramas de estrutura são úteis na d i ã d di i ã ddeterminação da divisão de um programa em procedimentos gerais (subrotinas/funções).

    A programação modularizada oferece vantagens significativas:

    F ilid d d t ã

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 38

    – Facilidade de manutenção;– Extremamente útil na programação em equipa;– Podem ser evitados efeitos colaterais.

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 20

    Erros Frequentes

    Passar tipos de dados incorrectosPassar tipos de dados incorrectos.

    Não devolver o resultado da computação ao programa/módulo chamador.

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 39

    A única maneira de uma subrotina devolver um valor, ou vários valores, é por intermédio dos seus argumentos.

    Revisão

    Um procedimento geral é como uma caixa preta; sabe- Um procedimento geral é como uma caixa preta; sabe-se o que entra e o que sai; mas não é necessário saber o que acontece no seu interior (para quem o utiliza).

    Numa subrotina o(s) resultado(s) da computação no seu interior apenas pode ser devolvido através dos seus

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 40

    argumentos.

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 21

    Um outro Exemplo

    Private Sub cmdDisplay Click()Private Sub cmdDisplay_Click()' Demonstra que as variaveis numa subrotina nao mantem' os seus valores nas chamadas subsequentesCall ThreeCall Three

    End Sub

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 41

    Subrotina Three

    Private Sub Three()Private Sub Three()Dim num As Single' Mostra o valor de num e atribui-lhe o valor 3picResults.Print num;num = 3

    End Sub

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 42

    Saída:0 0

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 22

    O que é uma função?

    Uma função também é desenvolvida para realizar uma tarefa especifica.p

    Uma função é desenvolvida para devolver um único valor ao programa chamador.

    Tipos de Funções:

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 43

    Funções Standards (built-in);

    Funções definidas pelo programador.

    Funções Definidas pelo Programador

    Uma função é desenvolvida para devolver um único pvalor.

    O valor é devolvido pela utilização do nome da função.

    Os argumentos de uma função não devem ser alterados no seu interior.

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 44

    Se um subprograma necessita de devolver mais do que um valor devesse utilizar, em vez de uma função, uma subrotina.

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 23

    Sintaxe para Funções

    Private Function NomeDaFuncao(lista de parâmetros) As tipoDeDadoPrivate Function NomeDaFuncao(lista de parâmetros) As tipoDeDadodeclaracão/declarações ………..NomeDaFuncao = ……..

    End Function

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 45

    Tal como para as subrotinas a lista de parâmetros pode ser vazia.

    Exemplo de uma Função(utiliza um função para converter de graus Fahrenheit para graus Celsius)

    Private Sub cmdConvert Click()Private Sub cmdConvert_Click()picTempC.ClspicTempC.Print FtoC(Val(txtTempF.Text))

    End Sub

    Private Function FtoC(t As Single) As Single

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 46

    ( g ) g‘ Convert Fahrenheit temperature to CelsiusFtoC = (5 / 9) * (t - 32)

    End Function

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 24

    Regras para Definir e Chamar Funções

    No interior da função definida pelo programador deve existir uma atribuição do valor a retornar ao nome da função.

    Funções definidas pelo programador são chamadas da mesma forma que as funções predefinidas.

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 47

    Uma função definida pelo programador pode ser chamada no interior de uma expressão.

    Retorno de um Valor

    Uma função pode receber muitos valoresUma função pode receber muitos valores

    Função

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 48

    Apenas um valor pode ser devolvido directamente

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 25

    Exemplo de uma Função

    Private Sub cmdDetermine Click()Private Sub cmdDetermine_Click()Dim nom As String' Determine a person's first namenom = txtFullName.TextpicFirstName.ClspicFirstName.Print "The first name is "; FirstName(nom)

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 49

    p ( )End Sub

    Função FirstName

    Private Function FirstName(nom As String) As StringDim firstSpace As Integer' Extract the first name from a full namefirstSpace = InStr(nom, " ")FirstName = Left(nom, firstSpace - 1)

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 50

    ( p )End Function

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 26

    Erros Frequentes

    Passagem de tipos de dados incorrectos;

    A não especificação do tipo de dado para o valor de retorno;

    Esquecimento do tipo de dado de uma parâmetro da função;

    Não atribuição do valor de retorno ao nome da função no seu interior;

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 51

    seu interior;

    Escrita errada do nome da função;

    Evocação errada da função no interior de uma expressão.

    Exemplos

    Private Sub cmdDisplay Click ()vate Sub c d sp ay_C c ()' Compute Volume of a CylinderDim r As Single, h As Singler =1 h = 2Call DisplayVolume (r, h)r =3

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 52

    r =3h = 4Call DisplayVolume (r, h)

    End Sub

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 27

    Função AreaPrivate Function Area (r As Single) As Single

    ' Compute area of a circle of radius rArea = 3 14159 * r ^ 2Area = 3.14159 * r ^ 2

    End Function

    Subrotina DisplayVolume

    Private Sub DisplayVolume ( r As Single, h As Single)

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 53

    Private Sub DisplayVolume ( r As Single, h As Single)PicOutput.Print "Volume of cylinder having base area"; Area( r)PicOutput.Print "and height"; h; "is"; h * Area (r )

    End Sub

    Outro Exemplo

    Private Sub cmdDisplay Click()Private Sub cmdDisplay_Click()Dim a As String' Demonstrates local variablesa = “Choo “picOutput.Print = TypeOfTrain()

    End S b

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 54

    End Sub

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 28

    Função TypeOfTrain

    Private Function TypeOf Train( ) As StringPrivate Function TypeOf Train( ) As StringDim a As Stringa = a & aTypeOfTrain = a & “train”

    End Function

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 55

    Último Exemplo

    Private Sub cmdDisplay Click ( )Private Sub cmdDisplay_Click ( )Dim num As Single' Triple a numbernum = 5picOutput.Print Triple (num)picO tp t Print n m

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 56

    picOutput.Print numEnd Sub

  • CFAC: Visual Basic: III - Procedimentos FEUP/DEMec/SDI

    @2009 - João Manuel R. S. Tavares 29

    Função Triple

    Private Function Triple(x As Single) As SinglePrivate Function Triple(x As Single) As Single Dim num As Singlenum = 3Triple = num * x

    End Function

    @2009 - João Manuel R. S. Tavares CFAC: Visual Basic: III - Procedimentos 57