Buscar

Estruturas de Controle em Programação

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
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais