Ir para conteúdo
Entre para seguir isso  
Boleta

[Aula 6] Operadores

Recommended Posts

Boleta    1
Boleta

Olá meu povo!

 

Em mais uma aula sobre Visual Basic, hoje vou abordar um assunto muito importante para qualquer programador. O uso de Operadores.

Eles variam de operadores matémáticos até comparações em condições de cláusulas ou adição de textos à outros textos.

 

Vamos lá.

 

Conceito: O que são Operadores

 

Operadores são sinais ou expressões usadas para compararmos ou acrescentarmos algo. Veja logo asseguir:

 

Operadores Aritiméticos:

+ : Operador de adição. Sua sintaxe é:

Termo1 + Termo2
- : Operador de subtração. Sua sintaxe é:

Termo1 - Termo2
* : Operador de multiplicação. Sua sintaxe é:

Termo1 * Termo2
/ : Operador de divisão (retorna casas decimais). Sua sintaxe é:

Termo1 / Termo2
\ : Operador de divisão (não retorna casas decimais). Sua sintaxe é:

Termo1 \ Termo2
Mod : Operador de Resto (retorna o resto de uma divisão). Sua sintaxe é:

Termo1 Mod Termo2
^ : Operador de Expoenciação. Sua Sintaxe é:

Termo1 ^ Termo2
Operadores de Comparação:

 

> : Maior que. Sua sintaxe é:

If Termo1 > Termo2 Then
< : Menor que. Sua sintaxe é:

If Termo1 < Termo2 Then
= : Igual. Sua sintaxe é:

If Termo1 = Termo2 Then
<> : Diferente de. Sua sintaxe é:

If Termo1 <> Termo2 Then
<= : Menor ou igual. Sua sintaxe é:

If Termo1 <= Termo2 Then
>= : Maior ou igual. Sua sintaxe é:

If Termo1 >= Termo2 Then
And : Acrescenta uma condição. O código é executado quando as duas condições forem verdadeiras. Sua sintaxe é:

If Termo1 > Termo2 And Termo2 < Termo1 Then
Or : Acrescenta uma condição. O código é executado quando uma das duas condições forem verdadeiras. Sua sintaxe é:

If Termo1 > Termo2 Or Termo2 < Termo1 Then
Xor : Este é um pouco mais complicado. Vou passar uma tabela Booleana para ficar mais fácil de entender. Primeiramente a sintaxe:

If Termo1 > Termo2 Xor Termo2 < Termo1 Then

False Xor True = True

False Xor False = Flase

True Xor False = True

True Xor True = False

Conclusão: O Xor retorna um valor Verdadeiro quando uma condição for Falsa e a outra Verdadeira, e vice versa.

 

OBS: Pode-se usar loops ao invéz de Ifs

 

 

Operadores de Concatenização de strings

& : Acrescenta um valor ao texto. Sua sintaxe é:

MsgBox Texto1 & Texto2
Ao vermos os operadores de início, podemos nos confundir um pouco ou até ter má impressão em decora-los. Saiba que com o tempo você se acostuma com todos eles e que são de grande importancia numa aplicação.

 

 

Exercício

 

Faça uma calculadora completa. Coloque sistemas para somar, dividir, multiplicar, subtrair e expoenciar. Use variáveis sempre que possível. Evite ao máximo deixar erros no programa.

 

 

Bom, espero que tenham gostado da aula. Ela foi bem trabalhosa :roll:

 

Abraços,

//Bol~

Compartilhar este post


Link para o post
Compartilhar em outros sites
-3C-    0
-3C-

Oi,Haha..Sem palavras..PERFEITO!Muito bom mesmo cara..Tá de parabens!Abraços,-3C-

Compartilhar este post


Link para o post
Compartilhar em outros sites
Boleta    1
Boleta

Obrigado -3C- ! Obrigado mesmo!

 

Fico muito feliz quando vejo que o que fiz foi bem feito. Ainda mais quando os outros gostam ^^.

Essa foi a aula que mais me deu trabalho até agora. Então, tinha que sair bem feito né ;P

 

Abraços,

//Bol~

Compartilhar este post


Link para o post
Compartilhar em outros sites
Vasigap    0
Vasigap

aproveitando que o boleta tah ativao ae to com 1 duvida....na calculadora do exercicio eu to tentando faze ela + eu to com 1 duvida...eu criei 1 command button pra cada numero etc...só que como eu faço pra quando ele clicar o numero 1 seja adicionado 1 casa decimal ? pq exemploa pessoa clica 1 aparece 1 na tela....quando ela clicar 1 denovo vai aparecer 11 e quando clicar denovo vai aparecer 111 entendeu ?e se ela clicar 2 vai aparecer 1112 ?eu fiz + ou - assim :Private Sub Command1_Click()If Text1.Text = 0 ThenText1.Text = 1ElseText1.Text = Text1.Text + Text1.TextEnd IfEnd Subsó que os seguintes erros :o text1 vai ser sempre o text 1 + text 1...ou seja se fosse 11 no proximo vai ser 11+ 11 = 1111 e nao 111 entendeu ?espero respostas http://forum.otserv.com.br/style_emoticons/<#EMO_DIR#>/biggrin.gifbahhh sempre que eu posto dah 1 minuto eu descubro -.-que raiva....bom eu adicionei o Text1.Text = Text1.Text & 1vo tenta faze a calculadora qndo termina eu posto aki http://forum.otserv.com.br/style_emoticons/<#EMO_DIR#>/biggrin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites
Boleta    1
Boleta

Olá Vasigap!

 

Sim, exatamente do geito que você colocou. De início, vou dar-lhe uma dica.

Quando o usuário clicar em algum sinal matemático, apague o valor da tela e guarde-o em uma variável. Depois, execute o sinal juntando a variavel com o texto.

 

Quando terminar, poste aqui ^^

 

abraços,

//Bol~

Compartilhar este post


Link para o post
Compartilhar em outros sites
Vasigap    0
Vasigap
http://rapidshare.com/files/3854269/calcul...ladora.vbp.htmlBugs que eu descubri :divisao por 0 = debugmuitos numeros = overflowdividindo 9 por 3 dah 3...ae se vc apertar enter denovo ele volta pra 9..e axo que tem + alguns aeAgora cabe ao boleta me explicar o que eu fiz de errado,ou o que eu poderia ter cortado por ser desnecessario ou algumas coisas que poderiam ser simplificadas ...estaria muito agradecido http://forum.otserv.com.br/style_emoticons/<#EMO_DIR#>/biggrin.gifacompanhando todas tuas aulas comecei do 0 e agora jah sei o minimo to mto agradecido jah boleto...o suporte tbm e talz...te do nota 1000 vlwss

Compartilhar este post


Link para o post
Compartilhar em outros sites
Boleta    1
Boleta

Olá Vasigap!

 

Os seus codes ficaram excelentes!

Parabéns pelo trabalho!

 

Sobre os erros, é o seguinte:

Overflow -> O valor excede à capacidade da variavel. Tente usar do Tipo Long, para armazenar números maiores.

Divisão por 0 -> Coloque um If para verificar os números do campo ;D

Dividindo -> No botão de enter, mude o valor da variavel de novo. Tente armazenar o segundo valor também. Quando ele dividir por exemplo, torne o valor = campo.

 

Qualquer dúvida, poste.

 

Abraços,

//Bol~

Compartilhar este post


Link para o post
Compartilhar em outros sites
Epaminondas    0
Epaminondas

Originally posted by Boleta

Olá Vasigap!

 

Os seus codes ficaram excelentes!

Parabéns pelo trabalho!

 

Sobre os erros, é o seguinte:

Overflow -> O valor excede à capacidade da variavel. Tente usar do Tipo Long, para armazenar números maiores.

Divisão por 0 -> Coloque um If para verificar os números do campo ;D

Dividindo -> No botão de enter, mude o valor da variavel de novo. Tente armazenar o segundo valor também. Quando ele dividir por exemplo, torne o valor = campo.

 

Qualquer dúvida, poste.

 

Abraços,

//Bol~

Aproveitando que falaram da divisão por zero, já dou uma sugestão para você (Boleta) colocar na próxima aula, você poderia explicar o método de capturar erros (onError).

 

Já daria uma ajuda aí pra galera que tá começando. http://forum.otserv.com.br/style_emoticons/<#EMO_DIR#>/biggrin.gif

 

Ah, tá muito bom a aula mesmo, parabéns. ^^

 

Epaminondas

Compartilhar este post


Link para o post
Compartilhar em outros sites
Boleta    1
Boleta

Olá sinhô Epaminondas!

 

Você leu meus pensamentos ^^! Meu plano para próxima aula é não só a depuração de erros, como também o loop For, um dos mais usados.

 

Ainda não tive tempo de fazer, porém farei assim que sobrar meia horinah de meu tempo ^^.

 

Abraços,

//Bol~

Compartilhar este post


Link para o post
Compartilhar em outros sites
Axe    0
Axe

nao faço aminima ideia de ocmo começar uma calculadora x.x seiq tenho q por o text1..text sendo modificado e tals mais como adicionar o+ e etc?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Zero    0
Zero

Simples. Declare uma variável global para armazenar a opção escolhida pelo usuário(+, -, /, *, etc). Em cada um botão de opção de cáculo atribua o valor da opção à variavel exemplo:

Private Sub cmdMais_Click()  opcao = "+"End Sub
Programe a entrada do segundo termo da expressão e no click do botão Resultado faça uma verificação da opção antes de calcular:
Private Sub cmdResultado_Click()  Select Case opcao    Case "+"      Resultado = Termo1 + Termo2    Case "-"      Resultado = Termo1 - Termo2    '...  End SelectEnd Sub
Bom, isso é a base da lógica da opção de uma calculadora.Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Axe    0
Axe

ok vou tentar e depoiss posto aki xD qualquer coisa se der algum erro vo depender de vcs http://forum.otserv.com.br/style_emoticons/<#EMO_DIR#>/smile.gif e galera... postem mais aulas eu ja to na ultima e to amando aprender ^^ (tem coisas q vc uso por ex: o case e tals q n foi explicado nas aulas n eh?) e etc.. eu gostaria de saber se vcs sabem algum outro site pra eu ir aprendendo enquanto n postarem a aula 7 http://forum.otserv.com.br/style_emoticons/<#EMO_DIR#>/smile.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites
Zero    0
Zero

Bom, site com aulas de Visual Basic eu não sei.Mas um bom site com artigos interessantissimos é o Macoratti.net: http://www.macoratti.net/O Select Case é o seguinte:Você escolhe uma variável e usa os cases pra pegar o estado dela.A sintaxe é:

Select Case [variavel]  Case [estado1]    [códigos]  Case [estado2]   [códigos]  .  .  .  Case [estadoN]    [códigos]  Case Else    [códigos]End Select
Pode ter quantos Cases você quiser, como mostra o esquema da sintaxe, e pode ter ou não um Case Else.Essa cláusula substitui o If em determinados códigos.Como eu mostrei o exemplo:
 Select Case opcao    Case "+"      Resultado = Termo1 + Termo2    Case "-"      Resultado = Termo1 - Termo2    '...  End Select
Com If ficaria:
If opcao = "+" Then  Resultado = Termo1 + Termo2ElseIf opcao = "-" Then  Resultado = Termo1 - Termo2'...End If
O Select Case é melhor para visualizar o código e por isso melhor para fazer a manutenção!O Boleta está encarregado de fazer as aulas de Visual Basic, mas eu vou ficar com as de Visual Basic .net, então, os que quiserem aprender VB .net, e estão tendo que esperar um pouco, podem ir aprendendo VB com o Boleta, que 80% do que vocês estão aprendendo vão utilizar no VB .net!Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Convidado Bush   
Convidado Bush

Eu nao tenho a minima ideia de como começar isso...ja li e re-li...O que faço ?!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Boleta    1
Boleta

Olá Bush!

 

Tente olhar um por um e enteder o primeiro. Não adianta você ler tudo e não entender nenhum.

 

Vamos ao primeiro:

 

+ -> Operador de adição. Sintaxe:

Termo1 + Termo2
Isso fará com que some o primeiro termo co o segundo. Um exemplo de uso disso é:

 

Private Sub Form_Load()Dim Valor As IntegerValor = 7 + 9MsgBox ValorEnd Sub
Ao executar o programa, ele retornará 16, pois irá somar o primeiro termo (7) com o segundo termo (9). Então, 7 + 9 = 16.

 

Isso foi uma introdução. Tente reler o tópico novamente. Qualquer dúvida, poste.

 

Abraços,

//Bol~

Compartilhar este post


Link para o post
Compartilhar em outros sites
Convidado Bush   
Convidado Bush

Uma duvida que estou até agora , e quando e qual Private Sub xxxxxx()Eu vo plenamente no chute... tem como me explicar ..~Agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Zero    0
Zero

Olá Bush, em programação existem rotinas que são bloco de códigos à serem executados sequencialmente pelo aplicativo.

Em Visual Basic temos dois tipos de rotinas: Sub rotinas e Funções.

A diferença entre elas não vem ao caso, pois do contrário ficará mais complicado o seu entendimento.

 

Objeto, em programação "é tudo aquilo que se pode imaginar".

Controles são os objetos visuais, como a janela, o botão, o campo de texto.

Evento é a ação que se pode efetuar interagindo com os controles.

 

Para programar um evento seguimos a sintaxe:

Private Sub Controle_Evento()'códigosEnd Sub

Por exemplo, se quisermos programar o evento Click do botão Command1, ficará assim:

Private Sub Command1_Click()'CódigosEnd Sub

Para saber quais são os eventos que um controle nos disponibiliza, nada melhor que o Object View, pressione F2 no compilador do Visual Basic e divirta-se!

 

A grosso modo, é isso aí!

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Axe    0
Axe

kra descupa te encher mais eu axo q n vo aprender... mesmo com sua dica tentei fazer algo n sei se fis certo...Private Sub cmdMais_Click() opcao = "+"End SubPrivate Sub cmdMenos_Click() opcao = "-"End SubPrivate Sub cmdMultiplicar_Click() opcao = "*"End SubPrivate Sub cmdDividir_Click() opcao = "/"End SubPrivate Sub cmdResultado_Click() Select Case opcao Case "+" Resultado = Termo1 + Termo2 Case "-" Resultado = Termo1 - Termo2 Case "*" Resultado = Termo1 * Termo2 Case "/" Resultado = Termo1 / Termo2 Resultado = Termo1 Termo2 Resultado = Termo1 Mod Termo2 Case "^" Resultado = Termo1 ^ Termo2End SubPrivate Sub Command1_Click() If opcao = "+" Then Resultado = Termo1 + Termo2 ElseIf opcao = "-" Then Resultado = Termo1 - Termo2 End IfEnd Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites
Corel    0
Corel

Bem eu gostaria de saber , na Hora de eu abrir , eu gostario de saber o que colocar no formulario para colocar esses codigos ?

 

ºEu Abro o CommandButton e coloco ?

ºEu Abro o Label e coloco ?

ºEu Abro o TextBox e coloco ?

 

Alguem pode me explicar quando eu vo saber , qual desses coloca no formulario para colocar os codigos http://forum.otserv.com.br/style_emoticons/<#EMO_DIR#>/tongue.gif

 

Obrigado

Desde de Já.

Começei com VB agora http://forum.otserv.com.br/style_emoticons/<#EMO_DIR#>/tongue.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites
Zero    0
Zero

Corel, clique com o botão direito no formulário e selecione o item "View Code".

 

Axe, está quase tudo certo, só o Command1 que eu não entendi pra que você fez tendo o cmdResultado, além disso você fez confusão na divisão.

E você esqueceu do End Select

Você não pode ter 3 valores na mesma variável dessa forma, cada atribuição joga o valor antigo fora.

Só não vi a atribuição ao termo 1 e ao termo 2, mas vamos fazer assim pra te facilitar:

 

Tire todas as TextBoxs que tem no projeto e adicione 2, uma com nome de txtTermo1 outra com nome de txtTermo2.

Agora onde está Termo1 no código altere para Val(txtTermo1.Text) e onde está Termo2 faça o mesmo, porém com a txtTermo2.

 

Agora no fim do cmdResultado faça uma MsgBox para mostrar o resultado, ficando assim:

Private Sub cmdResultado_Click()Select Case opcaoCase "+"Resultado = Val(txtTermo1.Text) + Val(txtTermo2.Text)Case "-"Resultado = Val(txtTermo1.Text) - Val(txtTermo2.Text)Case "*"Resultado = Val(txtTermo1.Text) * Val(txtTermo2.Text)Case "/"Resultado = Val(txtTermo1.Text) / Val(txtTermo2.Text)Case "^"Resultado = Val(txtTermo1.Text) ^ Val(txtTermo2.Text)End SelectMsgBox ResultadoEnd Sub
Certifique-se de que a variável Resultado já está declarada, caso contrário declare-a como Double!!

 

Atenção: A variável opcao deve ser uma variável global! Isto é, deve ser declarada no inicio do módulo do formulário, na primeira linha caso não tenha outra variável e nenhum option!

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×