DESENVOLVIMENTO DE SOFTWARE
OBJETIVOS DA AULA
• Estrutura de Controle de Decisão Simples
• Estrutura de Controle de Decisão Estendida
• Estrutura de Controle de Decisão Aninhada
• Estrutura de Controle de Decisão em Sequência na
mesma linha
• Estrutura de Controle de Múlitplas Decisões (escolha)
• Estrutura de Controle de Repetição controlada por
Contador (para)
• Estrutura de Controle de Repetição While (Eqnuanto)
• Estrutura de Controle de Repetição Do (faça)
Programação Estruturada
• A linguagem VB 2010 possui estruturas de controle de
fluxo que permitem o desenvolvimento de programas
estruturados, que são programas que não fazem uso da
instrução GoTo.
• Características:
• Mais fáceis de codificar
• Compreender
• Manter
(BALENA, 2006).Estruturas de Controle
Estruturas de Controle de Repetição
For (Controlada por Contador ‐ Para)
While (Enquanto)
Do (Faça)
Estruturas de Controle Decisão
Decisão Simples
Descisão Estendida
Decisão Aninhada
Decisão Simples
• Permite executar um bloco de código em função da
avaliação de uma expressão lógica
Em VB
If
<condição>
Then
<bloco de código_Verdade>
End If
Em Algoritmo
Se
<condição>
Então
<bloco de código_Verdade>
Fim se
Exemplo
Dim
n1
As Integer
= 20
IF
n1 > 10
Then
Console.WriteLine(“Número maior que
10)
Decisão Estendida
Em VB
If
<condição>
Then
<bloco de código_Verdade>
Else
<bloco de código_Falso>
End If
Em Algoritmo
Se
<condição>
Então
<bloco de código_Verdade>
Senão
<bloco de código_Falso>
Fim se
Exemplo : Receber um número e informar se é Par ou Ímpar. Sub Main() Dimn1 As Integer Console.WriteLine(“Numero”) n1 = Console.ReadLine() IF n1 mod 2 = 0 Then Console.WriteLine(“Número é Par”) Else Console.WriteLine(“Número é Ímpar”) End If Console.ReadKey() End Sub
Decisão Aninhada
Em VB
If
<condição 1>
Then
<bloco de código_1>
Else
If
<condição 2>
Then
<bloco de código_2>
Else
<bloco de código_Falso>
End If
End If
Em Algoritmo
Se
<condição 1>
Então
<bloco de código_1>
Senão
Se
<condição 2>
Então
<bloco de código_2>
Senão
<bloco de código_Falso>
Fim se
Fim se
Decisão Aninhada
Em VB – Forma Condensada
If <condição 1> Then <bloco de código_1> ElseIf <condição 2> Then
<bloco de código_2> Else
<bloco de código_Falso> End If
End If
Exemplo : Receber a idade de uma pessoa e informar se é Criança, Adolescente, Adulto ou Idoso.
Sub Main()
Dimidade As Byte
Console.WriteLine(“Idade: ”) Idade = Console.ReadLine()
IFidade < 12 Then
Console.WriteLine(“Criança”)
ElseIFidade < 18 Then
Console.WriteLine(“Adolescente”)
ElseIFidade <= 60 Then
Console.WriteLine(“Adulto”) Else Console.WriteLine(“Idoso”) End If Console.ReadKey() End Sub
Decisão em Sequência
VB
If <condição 1> Then <instrução 1> Else <instrução_2>
Exemplo : Receber um número e informar se é positivo ou negativo (Considere 0 como positivo). Sub Main()
Dim n1As Integer
Console.WriteLine(“Número: ”) n1 = Console.ReadLine()
IF n1 < 0 Then Console.WriteLine(“Negativo”) Else Console.WriteLine(“Positivo”) Console.ReadKey()
End Sub
O ramo verdadeiro (True) ou falso (Else) pode ser composto de mais de uma
instrução separadas por
dois pontos
, conforme a sintaxe a seguir:
Múltiplas Decisões (Escolha)
Em VB
Select Case <condição 1>
Case <valor ou intervalo ou lista de valores> <bloco de instrução 1>
Case <valor ou intervalo ou lista de valores> <bloco de instrução 2>
Case <valor ou intervalo ou lista de valores> <bloco de instrução 3> ... Case Else <bloco de Instrução N> End Select Em Algoritmo Escolha <condição> Caso 1: <bloco de instrução 1> Caso 2: <bloco de instrução 2> Caso 3: <bloco de instrução 3> ... Senão <bloco de instrução N> Fim Escolha
Múltiplas Decisões (Escolha)
Sub Main() VB – Exemplo DimN1 As Byte Console.Write("Digite um número de 0 a 99: ") N1 = Console.ReadLine Select Case (Numero) Case0 To9 Console.WriteLine("O número está no intervalo de 0 a 9 inclusive.") Case10 To99 Console.WriteLine("O número está no intervalo de 10 a 99 inclusive.") Case Else Console.WriteLine("O número não está no intervalo de 0 a 99 inclusive.") End Select Console.ReadKey()Definindo Intervalo de Valores
Valor Inicial TO Valor Final Exemplo: Caso 0 TO 9
Definindo Lista de Valores
Separa por Vírgula (,)
Repetição - For
Em VB
For
contador = valor inicial
To
valor final
Bloco de código
Next
contador
Em Algoritmo
Para
<Valor Inicial>
Até
<valor Final> <Passo n>
Faça
<bloco instrução>
Fim Para
Exemplo
Para
i de 1
Até
10 passo 1
Faça
escreva(i)
Repetição - For
Sub Main() VB – Exemplo
Dim
i
As Byte
For
i = 1
To
10
Console.WriteLine(i)
Next
i
Console.ReadKey()
End Sub
A variável do contador(i) é incrementada em 1 por default cada vez que o laço é
percorrido.
O incremento pode ser alterado usando‐se a palavra
Step (passo)
, conforme a
sintaxe a seguir:
For
contador
= valor inicial
To
valor final
Step
incremento
<Bloco de instrução>
Repetição - For
Sub Main() VB – Exemplo
Dim
i
As Byte
For
i = 1
To
10
Step
2
Console.WriteLine(i)
Next
i
Console.ReadKey()
Repetição - While
• Executa o bloco de código enquanto a condição for
verdadeira (True)
.
• Esta estrutura necessita:
– Uma instrução de inicialização da variável da condição
(definida antes do laço)
– Uma instrução de alteração da variável da condição (definida
dentro do laço) para que o laço (loop) não seja repetido
infinitamente.
Repetição - While
Em VB
While
(condição)
Bloco de instrução
End While
Exemplo x = 1 y = 5 While (x < y) x = x + 2 y = y + 1 End While Em AlgoritmoEnquanto <condição> Faça
<bloco instrução> Fim Enquanto Exemplo x 1 y 5 Enquanto x < y Faça x x + 2 y y + 1 Fim Enquanto
Repetição - While
VB – Exemplo
Sub Main() DimN1 As Integer Dimx As Integer = 0 Console.Write("Digite um número: ") N1 = Console.ReadLine While (n1 <> 0) x = x + 1 Console.Write("Digite um número: ") N1 = Console.ReadLine End While Console.Write(“Quantidade de números Digitados: “ & x) Console.ReaKey() End SubRepetição – Do
• A linguagem VB 2010 suporta duas opções de sintaxe
para definir a estrutura de controle de repetição Do
(faça).
• Ambas as sintaxes necessitam de uma instrução de
inicialização da variável da condição seja definida antes
do laço, e uma instrução de alteração da variável da
condição seja definida dentro do laço para que o laço
(loop) não seja repetido infinitamente.
Repetição - Do
Em VB – Opção 1
instrução de inicialização da variável da condição Do While ou Until (condição)
<bloco instrução com instrução de alteração da variável da condição> Loop
Em VB – Opção 2
instrução de inicialização da variável da condição Do
<bloco instrução com instrução de alteração da variável da condição> Loop While ou Until (condição)
A sintaxe da opção 1 define um laço (loop) que poderá não ser executado ou repetido várias vezes (0 a n vezes). Enquanto a sintaxe da opção 2 define um laço (loop) que será repetido uma (pelo menos) a várias vezes (1 a n vezes).
Repetição - While
VB – Exemplo
Sub Main()Dimcontador As Byte = 1 ‘ instrução de inicialização Do While (contador <= 10) Console.WriteLine(contador) ‘ instrução de alteração da variável da condição Contador = Contador + 1 Loop Console.ReadKey() End Sub
VB – Exemplo
Sub Main()Dimcontador As Byte = 1 ‘ instrução de inicialização Do
Console.WriteLine(contador)
‘ instrução de alteração da variável da condição Contador = Contador + 1
Loop While (contador <= 10) Console.ReadKey()