Buscar

Expressões Lógicas e Comandos de Decisão

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
Expressões Lógicas e Comandos de Decisão
*
Expressões Lógicas
São expressões que resultam em valores lógicos : verdadeiro ou falso.
Em VB, 
a constante True representa verdadeiro;
a constante False o valor falso.
*
Expressões Lógicas
Para compor as expressões lógicas utiliza-se os operadores:
 relacionais: comparam dois valores.
	>, <, >=, <=, =, <>
	
 lógicos: combinam expressões lógicas.
	and, or, not 
	(e) (ou) (não)
*
Operadores Lógicos
 not A	: inverte o valor lógico de A
 A and B	: para resultar true exige que as expressões A e B sejam verdadeiras ao mesmo tempo.
 A or B	: para resultar false exige que as expressões A e B sejam falsas ao mesmo tempo.
Expressões Lógicas
*
Operadores relacionais: 
						Exemplos:
> maior que					3>2 < menor que					5<8 >= maior ou igual 				3>=3
<= menor ou igual 				4<=6
<> Diferente					4<>5 “A” <> “a” = Igual					5=5 “c” = “c” 
Expressões Lógicas
*
Expressões Lógicas
Considerando que A e B são duas expressões lógicas quaisquer.
A	 B not A A and B A or B A xor B
F	 F	 T 	 F F	 F 
F	 T	 T 	 F T	 T
T	 F	 F 	 F T	 T
T	 T	 F 	 T T F
? Qual a tabela verdade de:
	- not (A and B)? - not (A or B)?
*
Prioridade dos Operadores - VB
	( )
	funções
	^
	*, / 
	\ 
	mod
	&	(concatenação de strings)
	+, -
	<, <=, >, >=, =, <>, like
 	not
	and
	or
	xor
+
-
*
Expressões Lógicas
Supondo:
	Dim num, val As integer
	Dim flag As Boolean
	num = 2
	val = 3
	flag = True
Qual o resultado das expressões: 
	
	a) num<val +1 and num<=val ^2 - 7 
	b) num < val and not flag
	c)(num < 1 or flag) and val <> num
*
Permite criar alternativas para o fluxo de execução de um programa
VB prevê 2 tipos de comandos de decisão:
If ... Then ... [Else ...] End If
Select Case...
Comandos de decisão
*
A forma do comando if é a seguinte:
If expr_lógica Then	
	 comandos
End If
Comando if
*
Funcionamento:
- Avalia-se a condição: resulta em True ou False;
- Se o resultado for True, executa(m)-se o(s) comando(s);
- Se o resultador for False, não faz nada. 
Comando if
*
‘Exemplo 1 – acertar numero magico. 
Private Sub 
	Dim valor as Integer 
	Const magico = 10 
	valor = CInt(txtvalor.Text) 
	If valor = magico Then 
		MsgBox “Acertou!!” 
	End If 
	If valor <> magico Then 
		MsgBox “Errou!!” 
	End If 
End Sub 
Comando if – Exemplo 1
*
‘Exemplo 2 – verificar se aprovado por media 7. 
Private Sub 
	Dim nota1, nota2, media as Double 
	nota1 = CDbl(txtn1.Text) ‘ busca valor do formulario 
	nota2 = CDbl(txtn2.Text) ‘ busca valor do formulario 
	media = (nota1 + nota2) / 2 	If media >= 7 Then 
		MsgBox “Aprovado por media!” 
	End If 
	If media < 7 Then 		MsgBox “Em exame ou reprovado!” 
	End If 
End Sub 
Comando if – Exemplo 2
*
 Outra forma de usar o if é com o else. Esse tipo de construção permite a definição de ações alternativas.
If expr_lógica Then
 comandos_1
Else 
	comandos_2
End If
Comando if-else
*
Funcionamento:
- avalia-se a condição: resulta True ou False; 
- se o resultado for True, executa(m)-se o(s) comando(s)1;
- se o resultado for False, executa(m)-se o(s) comando(s)2; 
- Obs: - executa-se um ou outro comando, nunca ambos; - o comando após ao End if sempre é executado; 
Comando if-else
*
‘Exemplo 1 – acertar numero magico. 
Private Sub 
	Dim valor as Integer 
	Const magico = 10 
	
	valor = CInt(txtvalor.Text) 
	
	If valor = magico Then 
		MsgBox “Acertou!!” 
	Else 
		MsgBox “Errou!!” 
	End If 
End Sub 
Comando if-else – Exemplo 1
*
‘Exemplo 2 – verificar se aprovado por media 7. 
Private Sub 
	Dim nota1, nota2, media as Double 
	nota1 = CDbl(txtn1.Text) ‘ busca valor do formulario 
	nota2 = CDbl(txtn2.Text) ‘ busca valor do formulario 
	media = (nota1 + nota2) / 2 	
	If media >= 7 Then 
		MsgBox “Aprovado por media!” 
	Else 
		MsgBox “Em exame ou reprovado!” 
	End If 
End Sub 
Comando if-else – Exemplo 2
*
Exercícios:
1) Faça um algoritmo que encontra o maior de 3 valores.
2) Altere o algoritmo anterior para que ele encontre o maior de 4 valores.
3) Escreva um algoritmo que a partir da idade de um nadador classifica-o em uma das seguintes categorias:
		5 a 7 anos: Infantil A
		8 a 10 anos : Infantil B
		11 a 13 anos : Juvenil A
		14 a 17 anos: Juvenil B
		maiores de 17 anos: Adulto
4) Faça um programa que leia o sexo (m/f) e a idade de uma pessoa e informe se ela é adulta ou não conforme os critérios abaixo: 
		
	Homem maior que 18 anos 
	Mulher maior que 21 anos 
*
Uma solução para o exercício 3
Private Sub 	Dim idade As Integer 	idade = CInt(txtid.Text) ‘ busca idade do formulario 
	
	If idade<0 or idade>120 Then 
		MsgBox “Idade Invalida!!!” 
	Else 
		If idade<5 Then 			MsgBox “Sem categoria!!!” 
		Else 			If idade<=10 Then 
				MsgBox “Infantil” 
			Else 
				If idade<=17 Then 
					MsgBox “Juvenil” 
				Else 					MsgBox “Adulto” 
				End If 
			End If 
		End If 
	End If 
End Sub

Teste o Premium para desbloquear

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

Outros materiais