310 likes | 413 Views
Linguagem II. Walmor Cardoso Godoi , M.Sc. http://www.walmorgodoi.com. Agenda. Tomada de decisões em VB Simples Composta Operadores Lógicos ( And , Or , Xor , Not ) MsgBox -> detalhes Encadeada Seqüencial Seletiva. Decisões e Condições: Introdução.
E N D
Linguagem II Walmor Cardoso Godoi, M.Sc. http://www.walmorgodoi.com
Agenda • Tomada de decisões em VB • Simples • Composta • Operadores Lógicos (And, Or, Xor, Not) • MsgBox -> detalhes • Encadeada • Seqüencial • Seletiva
Decisões e Condições: Introdução • Nas aulas passadas estudamos os conceitos de entrada, processamento e saída com a utilização de variáveis e controles de entrada e saída • Há momentos em que um determinado valor em um programa necessita ser tratado e/ou avaliado para efetuar um processamento mais adequado.
Decisões e Condições • Os computadores possuem a capacidade de tomar decisões (ação de desvio no fluxo do programa) por meio de processamento lógico.
Decisões e Condições • Condição-> pode ser entendida como uma obrigação que se impõem e se aceita. • Decisão-> ato ou efeito de decidir, ou seja, de optar, de tomar uma decisão. • O ato de tomar uma decisão está no fato de haver uma condição.
Decisões e Condições • A condição para um computador é uma expressão lógica cujo resultado é um valor falso ou verdadeiro. • Expressão lógica como condição-> uma relação lógica entre dois elementos e um operador relacional
Decisões e Condições Exemplos A = B A >= B A=5 B<>3
Desvio Condicional SimplesIf /End If If <(condição)> Then <instrução executada somente quando a condição for verdadeira> End If <instrução executada quando a condição for falsa ou após condição ser verdadeira>
Exemplo • Desenvolva um programa que efetue a leitura de dois valores numéricos inteiros, some os valores e apresente o resultado , caso o valor somado seja maior que 10. • Algoritmo • Ler um valor para a variável A • Ler um valor para a variável B • Processar a adição R=A+B • Apresentar o resultado de R, caso R seja maior que 10
Desvio Condicional CompostoIf /Else/End If If <(condição)> Then <instrução executada somente se a condição for verdadeira> Else <instrução executada somente se a condição for falsa> End If <instrução executada após condição ser falsa ou após condição ser verdadeira>
Exemplo • Desenvolva um programa que faça a leitura de dois valores inteiros, realize a soma e caso o valor seja maior ou igual a 10, deve ser apresentado esse valor adicionado 5 e caso o valor seja menor que 10, deve ser subtraído 7.
Algoritmo • Ler um valor para A • Ler um valor para B • Efetuar a soma R=A+B • Verificar se R é maior ou igual a 10; se sim, mostrar R+5;senão, mostre R-7
Operadores Lógicos • O que fazer quando houver necessidade de tomat uma única decisão a partir de várias condições? • Solução: uso de operadores lógicos • And - conjunção • Or - disjunção inclusiva • Xor - disjunção exclusiva • Not - negação
Operadores Lógicos • Ordem de execução dos operadores
Operadores Lógicos Conjunção And • Exemplo: Desenvolver um programa para apresentar a mensagem “O valor está entre 20 e 90” caso o valor fornecido para a variável NUMERO esteja entre 20 e 90. Qualque valor fornecido fora deste intervalo mostrar “O valor não está entre 20 e 90”
Operadores LógicosConjunção And Dim NUMERO As Single NUMERO = TextBox1.Text If (NUMERO >= 20) And (NUMERO <= 90) Then MsgBox("O valor está entre 20 e 90") Else MsgBox("O valor não está entre 20 e 90") End If TextBox1.Clear() TextBox1.Focus()
Operadores LógicosDisjunção Inclusiva Or Escrever um programa com a utilização do oprador lógico Or, que apresente “sexo válido” caso o da variável SEXO seja masculino ou feminino. Para qualquer outro valor para está variável apresente a mensagem “Sexo Inválido! Digite Masculino ou Feminino”
Operadores LógicosDisjunção Inclusiva Or • Dim SEXO As String • SEXO = TextBox1.Text.ToUpper • If (SEXO = "MASCULINO") Or (SEXO = "FEMININO") Then • MsgBox("Sexo válido") • Else • MsgBox("Sexo inválido!Digite masculino ou feminino") • End If • TextBox1.Clear() • TextBox1.Focus()
Operadores LógicosDisjunção Exclusiva Xor • Desenvolva um programa que efetue a entrada do nome e respectivo sexo de duas pessoas que pretendem formar um par para participar de um concurso de dança. • Somente serão aceitos pares heterôgeneos (formado por pares de pessoas de sexos diferentes)
Operadores LógicosDisjunção Exclusiva Xor Dim NOME1, SEXO1 As String Dim NOME2, SEXO2 As String NOME1 = TextBox1.Text.ToUpper NOME2 = TextBox2.Text.ToUpper SEXO1 = ListBox1.Text SEXO2 = ListBox2.Text If (SEXO1 = "MASCULINO") Xor (SEXO2 = "MASCULINO") Then MsgBox(NOME1 & "pode dançar com " & NOME2) Else MsgBox(NOME1 & "não pode dançar com " & NOME2) End If TextBox1.Clear() TextBox2.Clear() TextBox1.Focus()
MsgBox • Forma geral • MsgBox(mensagem, valor botões, título) • Mensagem: mensagem de saída que será exibida dentro da caixa de mensagem • Botões: número que especifica o tipo de botão (código de 0 a 5) , ícone (16, 32, 48 e 64) e padrões (0, 256 ou 512) • Título: a mensagem de identificação a ser exibida na barra de título da caixa de mensagem.
MsgBox Exemplo: Apresentar mensagem com ícone de advertência, botões Yes, No e Cancel, e terceiro botão em foco MsgBox(“Mensagem”, 48+3+512, “Título”) Ou MsgBox(“Mensagem”, 563, “Título”)
MsgBox • Considere o seguinte programa: Perguntar a uma pessoa se ela é honesta com um MsgBox, parabenizar se for verdade com a mensagem “Parabéns!” e se a resposta for não, apresentar “Que feio!”
MsgBox Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If (MsgBox("Você é honesto?", 32 + 4) = MsgBoxResult.Yes) Then MsgBox("Parabéns!!!", 64) Else MsgBox("Que feio!!!", 16) End If End Sub End Class