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