top of page

MÓDULO 2 - Estruturas de decisão

Estruturas de decisão

Os programas do VBasic podem testar condições e depois, dependendo do resultado do teste, executar diferentes operações.


As estruturas de decisão que o VB suporta são as seguintes:

If...Then
If...Then...Else
If...Then...ElseIf
Select Case

A instrução de decisão If Then Else vai decidir se o programa executa uma instrução.

If «condição» Then

     instrução A

 Else

     instrução B

 End If

 

Significado:

Se (If) a condição for Verdadeira, Então (Then)

o programa executa a instrução  A. 

Senão (Else)

o programa executa a instrução B.

 

Exemplo 1:

Se a quantidade for maior que 1, então o programa escreve na label a frase "Tem desconto".

 

 

 

 

 quantidade = TextBox1.Text

 If quantidade > 1 Then

      Label2.Text = "Tem desconto"

 End If

 

 

Exemplo 2:

Se a idade for maior ou igual a 18, Então o programa escreve na label a frase “Maior de Idade”;

Senão o programa escreve “Menor de Idade”.

 

idade = Val(TextBox1.Text)

If idade >= 18 Then

     Label3.Text = "Maior de idade"

Else

     Label3.Text = "Menor de idade“

End If

  


 

 

 

 


Instruções Encaixadas

 

As instruções de decisão podem ser “encaixadas”  dentro de outras instruções.  Exemplo:

  If nota > 20 Then

      Label1.Text = “Nota inválida”

  Else

      If nota < 10 Then

          Label1.Text = “Negativa”

      Else

          Label1.Text = “Positiva” 

      End If

  End IF

  

 

 

A instrução If... Then... ElseIf 

A instrução If ..Then …ElseIF (Se ... Então... Senão Se) permite decidir qual a instrução a executar perante várias hipóteses.

Sintaxe:

If condição 1 Then

    instrução A

ElseIf condição 2 Then

    instrução B

ElseIf condição 3 Then

    instrução C

...

Else

    instrução X

End If

Exemplo:

Escrever o dia da semana correspondente ao número indicado.

 

 dia = Val(TextBox1.Text)

 If dia = 1 Then

            Label2.Text = "Domingo"

 ElseIf dia = 2 Then

            Label2.Text = "Segunda-Feira"

 ElseIf dia = 3 Then

            Label2.Text = "Terça-Feira"

 ElseIf dia = 4 Then

            Label2.Text = "Quarta-Feira"

 ElseIf dia = 5 Then

            Label2.Text = "Quinta-Feira"

 ElseIf dia = 6 Then

            Label2.Text = "Sexta-Feira"

 ElseIf dia = 7 Then

            Label2.Text = "Sábado"

 Else

            Label2.Text = "Dia Inválido!"

 End If

A instrução Select Case 

A instrução de decisão Select Case permite escolher qual a instrução a executar.

 

 

Sintaxe:

Select Case « variável »

  Case a

  «Instrução A»

  Case b

  «Instrução B»

  Case c

  «Instrução C»

  …

  Case Else

  «Instrução D»

End Select

Exemplo:

Escrever o dia da semana correspondente ao número indicado.

    dia = Val(TextBox1.Text)

    Select Case dia

        Case 1

           Label2.Text = "Domingo"

        Case 2

           Label2.Text = "Segunda-Feira"

        Case 3

           Label2.Text = "Terça-Feira"

        Case 4

           Label2.Text = "Quarta-Feira"

        Case 5

           Label2.Text = "Quinta-Feira"

        Case 6

           Label2.Text = "Sexta-Feira"

        Case 7

           Label2.Text = "Sábado"

        Case Else

           Label2.Text = "Dia Inválido!"

    End Select

EXERCÍCIOS PRÁTICOS

PROGRAMA 01

PROGRAMA 02

PROGRAMA 03

PROGRAMA 04

PROGRAMA 05

PROGRAMA 06

PROGRAMA 07

PROGRAMA 08

PROGRAMA 09

PROGRAMA 10

Dica:

A função MOD devolve o resto da divisão inteira.

Dividindo um qualquer número por 2 poderá dar resto 1 ou 0. Caso seja ímpar ou par respectivamente.

resto = numero MOD 2

PROGRAMA 11

PROGRAMA 12

PROGRAMA 13

Objecto ScrollBar()

Uma ScrollBar (barra de deslocamento) permite:

•Arrastar o conteúdo de objectos (automático).

•Seleccionar valores (através de código).

 

Há 2 tipos de barras de deslocamento:

  HScrollBar - Barra Horizontal

  VScrollBar - Barra Vertical

Propriedade    Descrição                                                 

Maximum        Maior valor do intervalo

Minimum        Menor valor do intervalo

Value          O valor que a caixa da barra representa

LargeChange    O total a alterar de cada vez que a barra é actualizada (incremento)

Exemplo:

Código da Barra horizontal

 Dim nota As Integer

 

 Private Sub HScrollBar1_Scroll(...

       

        nota = HScrollBar1.Value

        Label2.Text = nota

 

   End Sub

Exemplo:

Código da Barra vertical

      nota = VScrollBar1.Value

      Label2.Text = nota

 

      Select Case nota

         Case 0, 1, 2, 3, 4

              Label4.Text = "Mau"

         Case 5, 6, 7, 8, 9

              Label4.Text = "Insuf"

         Case 10, 11, 12, 13, 14

              Label4.Text = "Suf"

         Case 15, 16, 17

              Label4.Text = "Bom"

         Case 18, 19, 20

              Label4.Text = "M Bom"

        End Select

EXERCÍCIOS PRÁTICOS

PROGRAMA 14

PROGRAMA 15

PROGRAMA 16

PROGRAMA 17

PROGRAMA 18

Objecto NumericUpDown()

Permite introduzir valores através do rato (com clique nas setas) ou do teclado:

Propriedade    Descrição                                                

Maximum        Maior valor do intervalo

Minimum        Menor valor do intervalo

Value          O valor que a caixa numérica contém

DecimalPlaces  Nº de casas decimais

Increment      Valor a incrementar/decrementar a cada clique nas setas

Exemplo:

    Dim nota As Double

 

    Private Sub Button1_Click(

        nota = NumericUpDown1.Value

        If nota >= 9.5 Then

            Label1.Text = "positiva"

        Else

            Label1.Text = "Negativa"

        End If

    End Sub

EXERCÍCIOS PRÁTICOS

PROGRAMA 19

PROGRAMA 20

Variáveis acumuladoras

As variáveis acumuladoras são variáveis que aumentam ou diminuem o seu valor, de uma forma constante, ou não.

 

 

BUTTON_1

conta = conta + 1

label2.text = conta

 

BUTTON_2

conta = conta - 1

label2.text = conta

EXERCÍCIOS PRÁTICOS

PROGRAMA 21

PROGRAMA 22

PROGRAMA 23

PROGRAMA 24

PROGRAMA 25

Objecto RadioButton e CheckBox

Propriedade que permite verificar se está marcado ou não marcado é:

 

Para o RadioButton:      

      RadioButton1.Checked = True

      RadioButton1.Checked = False

 

Para o CheckBox:            

      CheckBox1.Checked = True

      CheckBox1.Checked = False

EXEMPLO:

EXERCÍCIOS PRÁTICOS

PROGRAMA 26

PROGRAMA 27

PROGRAMA 28

GERAÇÃO DE NÚMEROS ALEATÓRIOS


RANDOMIZE() - este comando deverá ser sempre colocado antes do comando RND()

Este comando garante que não se repita a mesma sequência de números aleatórios.


RND() - este comando permite gerar números aleatórios entre 0 e 1 (sempre números decimais)



Dim numero As Integer

 

' Garante que não se repita a mesma série de números aleatórios

Randomize()


' INT permite que o número seja inteiro

' RND() * 10   ==> permite que gere um número aleatório, no máximo, até 10 

' (RND() * 10) +1   ==> permite  que gere um número aleatório entre 1 e 10

numero = INT ( RND() * 10 ) + 1

EXERCÍCIOS PRÁTICOS

PROGRAMA 29

PROGRAMA 30

PROGRAMA 31

PROGRAMA 32

PROGRAMA 33

REVISÕES

bottom of page