Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
AULA 1 - Profa. ADRIANA SICSÚ, DSc.
*
DESENVOLVIMENTO DE SOFTWARE
AULA 4
Profa: ADRIANA SICSÚ, DSc.
adriana.aparicio@globo.com
*
*
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
*
*
*
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)
End If
*
*
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()
Dim n1 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()
Dim idade As Byte
Console.WriteLine(“Idade: ”)
Idade = Console.ReadLine()
IF idade < 12 Then
Console.WriteLine(“Criança”)
ElseIF idade < 18 Then
Console.WriteLine(“Adolescente”)
ElseIF idade <= 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 n1 As 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:
If (condição 1) Then instrução 1 : instrução 2 Else instrução 3 : instrução 4
*
*
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
Dim N1 As Byte
Console.Write("Digite um número de 0 a 99: ")
N1 = Console.ReadLine
Select Case (Numero)
Case 0 To 9
Console.WriteLine("O número está no intervalo de 0 a 9 inclusive.")
Case 10 To 99
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()
End Sub
Definindo Intervalo de Valores
Valor Inicial TO Valor Final
Exemplo: Caso 0 TO 9
Definindo Lista de Valores
Separa por Vírgula (,)
Exemplo: Caso 0, 1 , 2
*
*
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)
Fim Para
*
*
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>
Next contador
*
*
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()
End Sub
*
*
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 Algoritmo
Enquanto <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()
Dim N1 As Integer
Dim x 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 Sub
*
*
Repetiçã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).
Quando o While é utilizado, o laço será repetido enquanto a condição for verdadeira (True).
Quando o Until é utilizado, o laço será repetido até que a condição seja falsa (False).
*
*
Repetição - While
*
VB – Exemplo
Sub Main()
Dim contador 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()
Dim contador 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()
End Sub
*
*
Saiba Mais ....
Estrutura de Controle de Decisão Simples, Estendida , Aninhada e em Sequência
http://msdn.microsoft.com/pt-br/library/cy37t14v.aspx
Estrutura de Controle de Múltiplas Decisões
http://msdn.microsoft.com/pt-br/library/cy37t14v.aspx
Estrutura de Controle de Repetição - For
http://msdn.microsoft.com/pt-br/library/5z06z1kb.aspx
Estrutura de Controle de Repetição - While
http://msdn.microsoft.com/pt-br/library/zh1f56zs.aspx
Estrutura de Controle de Repetição – Do
http://msdn.microsoft.com/pt-br/library/eked04a7.aspx
*
*
*
Próxima Aula
Tratamento de Exceções
*
*