desenvolvimento software -...

22
DESENVOLVIMENTO DE SOFTWARE CAMPUS SANTO ANDRÉ – CELSO CANDIDO SEMESTRE – 20141

Upload: others

Post on 06-Oct-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

DESENVOLVIMENTO DE SOFTWARE

CAMPUS SANTO ANDRÉ – CELSO CANDIDO

SEMESTRE – 2014‐1

Page 2: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

2

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)

Page 3: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

3

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).

Page 4: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

4

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 em Sequência na mesma Linha

Page 5: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

5

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 = 20IF n1 > 10 Then

Console.WriteLine(“Número maior que10)End If

Page 6: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

6

Decisão EstendidaEm 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 IntegerConsole.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

Page 7: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

7

Decisão Aninhada

Em VB

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

Em Algoritmo

Se <condição 1> Então<bloco de código_1>

SenãoSe <condição 2> Então

<bloco de código_2>Senão

<bloco de código_Falso>Fim se

Fim se

Page 8: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

8

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 IfEnd If

Exemplo : Receber a idade de uma pessoa einformar se é Criança, Adolescente, Adulto ou Idoso.

Sub Main()Dim idade As ByteConsole.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

Page 9: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

9

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 IntegerConsole.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

Page 10: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

10

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

Page 11: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

11

Múltiplas Decisões (Escolha)

Sub Main()                                                                                                                    VB – ExemploDim N1 As ByteConsole.Write("Digite um número de 0 a 99: ")N1 = Console.ReadLineSelect Case (Numero)Case 0 To 9Console.WriteLine("O número está no intervalo de 0 a 9 inclusive.")

Case 10 To 99Console.WriteLine("O número está no intervalo de 10 a 99 inclusive.")

Case ElseConsole.WriteLine("O número não está no intervalo de 0 a 99 inclusive.")

End SelectConsole.ReadKey()

End Sub

Definindo Intervalo de ValoresValor Inicial TO Valor Final

Exemplo: Caso 0 TO 9

Definindo Lista de ValoresSepara por Vírgula (,)

Exemplo: Caso 0, 1 , 2

Page 12: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

12

Repetição - For

Em VBFor contador = valor inicial To valor final

Bloco de códigoNext contador

Em Algoritmo

Para <Valor Inicial> Até <valor Final> <Passo n> Faça<bloco instrução>

Fim Para

ExemploPara i de 1 Até 10 passo 1 Faça

escreva(i)Fim Para

Page 13: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

13

Repetição - For

Sub Main()                                                                                                                    VB – ExemploDim i  As Byte

For i = 1 To 10Console.WriteLine(i)

Next iConsole.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

Page 14: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

14

Repetição - For

Sub Main()                                                                                                                    VB – ExemploDim i  As Byte

For i = 1 To 10 Step 2Console.WriteLine(i)

Next iConsole.ReadKey()

End Sub

Page 15: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

15

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.

Page 16: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

16

Repetição - While

Em VBWhile (condição)

Bloco de instruçãoEnd While

Exemplox = 1y = 5While (x < y)

x = x + 2y = y + 1

End While

Em Algoritmo

Enquanto <condição> Faça<bloco instrução>

Fim Enquanto

Exemplox 1y 5Enquanto x < y Faça

x x + 2y y + 1

Fim Enquanto

Page 17: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

17

Repetição - While

VB – ExemploSub Main()

Dim N1 As IntegerDim x As Integer = 0Console.Write("Digite um número:  ")N1 = Console.ReadLineWhile (n1 <> 0)

x = x + 1Console.Write("Digite um número:  ")N1 = Console.ReadLine

End WhileConsole.Write(“Quantidade de números Digitados:  “ & x)Console.ReaKey()

End Sub

Page 18: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

18

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.

Page 19: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

19

Repetição - DoEm VB – Opção 1

instrução de inicialização da variável da condiçãoDo 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çãoDo

<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).

Page 20: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

20

Repetição - WhileVB – Exemplo

Sub Main()Dim contador As Byte = 1  ‘ instrução de inicializaçãoDo While (contador <= 10)

Console.WriteLine(contador)‘ instrução de alteração da variável da condiçãoContador = Contador + 1

LoopConsole.ReadKey()

End Sub

VB – ExemploSub Main()

Dim contador As Byte = 1  ‘ instrução de inicializaçãoDo

Console.WriteLine(contador)‘ instrução de alteração da variável da condiçãoContador = Contador + 1

Loop While (contador <= 10)Console.ReadKey()

End Sub

Page 21: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

21

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 

Page 22: DESENVOLVIMENTO SOFTWARE - orgfree.comprofcelso.orgfree.com/.../Aula_04_ESTRUTURAS_DE_CONTROLE.pdf · Decisão Simples • Permite executar um bloco de código em função da avaliação

22

Aulas de Apoio

Estarão disponibilizadas nos descritos a baixo para downloads osarquivos nos formatos: PowerPoints ou Word das aulas. Algunsestarã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 aimpressão, o professor estará liberando para um melhordesenvolvimento dos trabalhos a ser solicitados.

www.aulasprof.6te.netwww.profcelso.orgfree.com/ 

Contato: [email protected]