DESENVOLVIMENTO DE SOFTWARE CAMPUS SANTO ANDRÉ CELSO CANDIDO SEMESTRE 2014 1
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) 2
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). 3
Estruturas de Controle Estruturas de Controle Decisão Decisão Simples Descisão Estendida Decisão Aninhada Decisão em Sequência na mesma Linha Estruturas de Controle de Repetição For (Controlada por Contador Para) While (Enquanto) Do (Faça) 4
Decisão Simples Permite executar um bloco de código em função da avaliação de uma expressão lógica Em Algoritmo Se <condição> Então <bloco de código_verdade> Fim se Em VB If <condição> Then <bloco de código_verdade> End If Exemplo Dim n1 As Integer =20 IF n1 > 10 Then Console.WriteLine( Número maior que 10) End If 5
Decisão Estendida Em Algoritmo Se <condição> Então <bloco de código_verdade> Senão <bloco de código_falso> Fim se Em VB If <condição> Then <bloco de código_verdade> Else <bloco de código_falso> End If 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 6
Decisão Aninhada 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 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 7
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 8
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 9
Múltiplas Decisões (Escolha) 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 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 10
Múltiplas Decisões (Escolha) 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 11 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
Repetição - For Em Algoritmo Para <Valor Inicial> Até <valor Final> <Passo n> Faça <bloco instrução> Fim Para Exemplo Para ide1até 10 passo 1 Faça escreva(i) Fim Para Em VB For contador = valor inicial To valor final Bloco de código Next contador 12
Repetição - For Sub Main() Dim i As Byte For i = 1 To 10 Console.WriteLine(i) Next i Console.ReadKey() End Sub VB Exemplo 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 13
Repetição - For Sub Main() Dim i As Byte For i = 1 To 10 Step 2 Console.WriteLine(i) Next i Console.ReadKey() End Sub VB Exemplo 14
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. 15
Repetição - While Em Algoritmo Enquanto <condição> Faça <bloco instrução> Fim Enquanto Exemplo x 1 y 5 Enquanto x<yfaça x x+2 y y+1 Fim Enquanto 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 16
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 17
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. 18
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 19 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 20
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 21
Aulas de Apoio Estarão disponibilizadas nos descritos a baixo para downloads os arquivos nos formatos: PowerPoints ou Word das aulas. Alguns estarão disponíveis para impressão, outros, somente para leitura, mas não para edição. Em alguns casos em que se fizer necessário a impressão, o professor estará liberando para um melhor desenvolvimento dos trabalhos a ser solicitados. www.aulasprof.6te.net www.profcelso.orgfree.com/ Contato: celso.candido@estacio.br 22