Aula 02 programação_c_alunos
-
Upload
joice-souza -
Category
Education
-
view
58 -
download
0
Transcript of Aula 02 programação_c_alunos
Programação de Computadores
Luiz Henrique SilvaEngenheiro Eletricista e de Segurança do Trabalho
Mestrado em Engenharia Elétrica (UFBA)Doutorando em Engenharia Elétrica (UFBA)
01/05/2023 2
Programação em VBA - Estrutura Sequencial
Visual Basic
Permite a automatização de procedimentos e tarefas repetitivas no dia a dia e cotidiano profissional através da macro.
O que é uma Macro?
Um macro contem uma lista das instruções a realizar para executar uma determina da tarefa. São programas que executam tarefas específicas, automatizando-as. Quando uma macro é ativada, executa uma sequência de instruções.
Gravação de um Macro
Quando uma dada operação envolvendo uma série de ações deve ser utilizada frequentemente, faz sentido tentar automatizar a sua execução.
01/05/2023 3
Programação em VBA - Estrutura Sequencial
A instalação básica do Excel não permite o acesso imediato à barra de desenvolvedor (developer). Assim, é necessário fazer a sua instalação. Portanto, siga as instruções seguintes:
• Começar por clicar na barra Arquivo (File ou Arquivo);
• Selecionar opção (Options ou Opções);
• Depois clicar na categoria personalizar faixa de opções (Customize Ribbon Personalizar
Faixas de Opções);
• Posteriormente vá na lista das Guias principais (Main Tabs) ;
• click em desenvolvedor (Developer ou Desenvolvedor) e finalmente OK.
>> Arquivo>> Opções>> Personalizar faixas de opções>> Desenvolvedor
01/05/2023 5
Programação em VBA - Estrutura Sequencial
Menu
>> Exibição>> Macros>> Gravar a macro
Nome da Macro
Shortcut key - indicar uma tecla de atalho que permite arrancar automaticamente a macro
Localização em que será armazenado
Descrição das suas funçõesgravação da macro
01/05/2023 6
Programação em VBA - Estrutura Sequencial
Para a gravação da Macro
Lista de Macros
executar dá-se início à sequência de tarefas que foram previamente gravadas
01/05/2023 7
Programação em VBA - Estrutura Sequencial
Ativar o gravador de macros
Desativar o gravador de macros
Operações sobre macros:
• Executar (existem 4 formas diferentes de executar uma macro);
• Editar;
• Alterar;
• Eliminar;
• Atribuir uma tecla de atalho ou um botão.
01/05/2023 8
Programação em VBA - Estrutura Sequencial
Para inserir o script no Visual Basic do Excel sugere-se, por exemplo, que no menu “Developer” insira um botão de comando usando “insert form controls”;
01/05/2023 9
Programação em VBA - Estrutura Sequencial
Clicando agora sobre o botão com a tecla do lado direito do rato escolha “assign macro”
e finalmente “new “ ou “edit” abre a janela de edição VB:
01/05/2023 10
Programação em VBA - Estrutura Sequencial
Nesta janela é possível visualizar a hierarquia dos projetos de VBA ativos.
•Neste caso está visível um projeto que corresponde ao livro com que nos encontramos a trabalhar: VBAProject (Exercícios)
•Na pasta Modules está visível um Ficheiro (módulo) onde são programadas as macros.
Explorador do projeto (Project Explorer)
Explorador do projeto (Properties)
Nesta janela é possível visualizar e alterar um conjunto de propriedades que definem cada objeto que constitui o projeto, neste caso, a folha3.
01/05/2023 11
Estrutura Sequencial
Programa Nome
INICIODeclarações ou Sequência de Instruções (ler, escrever, calcular)FIM
Estrutura Sequencial ou um Módulo em VBA
Sub Macro3()‘ComandosEnd Sub
Programação em VBA - Estrutura Sequencial
Sub vem da palavra em língua inglesa Subscript (Procedimentos). Todo módulo é um conjunto de procedimentos.
01/05/2023 12
Estrutura Sequencial
Além disso, em programas na linguagem VBA não há distinção de onde você inicia a digitação das suas linhas e, assim, usamos essa característica a nosso favor, adicionando espaços em algumas linhas do programa para facilitar sua leitura
Essa adição de espaços em uma linha é chamada tabulação.
Programação em VBA - Estrutura Sequencial
01/05/2023 13
Programação em VBA - Estrutura Sequencial
Saída de Valores – Função Escrever
A instrução Escrever é utilizada quando deseja-se mostrar informações na tela do computador, ou seja, é um comando de saída de dados.
- Exibe na tela a resposta dada pelo programa ao usuário.- Representado pela função MsgBox ”Texto”.
Poderá retornar apenas uma mensagem:
MsgBox “Tem a certeza que quer sair do programa?”
Forma Geral:
MsgBox “Mensagem”, “Estilo”, “Título”
01/05/2023 14
Programação em VBA - Estrutura Sequencial
Saída de Valores – Função Escrever
MsgBox “Mensagem ou aviso”, “Estilo”, “Título”
Esta função recebe por argumento a mensagem que se pretende dar ao utilizador (e que é obrigatório definir) e mais uma série de argumentos úteis para facilitar o diálogo que são facultativas de definir. São eles:
§ Mensagem – (obrigatório) , deve-se escrever a mensagem desejada em de forma sucinta, ou seja, breve entre aspas.
§ O Estilo – (opcional) que corresponde ao tipo de botões e de ícone identificativo para mensagem (estão disponíveis botões como “Yes”, “No”, “Cancel”, “OK”, etc e ícones como exclamação, Informação, Questão, Crítico, etc);
01/05/2023 15
Programação em VBA - Estrutura Sequencial
Constante Valor DescriçãovbOKOnly 0 Exibe apenas o botão OK.
vbOKCancel 1 Exibe apenas os botões OK e Cancelar.vbAbortRetryIgnore 2 Exibe os botões Anular, Repetir e Ignorar.
vbYesNoCancel 3 Exibe os botões Sim, Não e Cancelar.vbYesNo 4 Exibe os botões Sim e Não.
vbRetryCancel 5 Exibe os botões Repetir e Cancelar.vbCritical 16 Exibe o ícone Mensagem Crítica.
vbQuestion 32 Exibe o ícone Consulta de Aviso .vbExclamation 48 Exibe o ícone Mensagem de Aviso .vbInformation 64 Exibe o ícone Mensagem de Informação.
01/05/2023 16
Programação em VBA - Estrutura Sequencial
Saída de Valores – Função Escrever
MsgBox “Mensagem ou aviso”, “Estilo”, “Título”
Esta função recebe por argumento a mensagem que se pretende dar ao utilizador (e que é obrigatório definir) e mais uma série de argumentos úteis para facilitar o diálogo que são facultativas de definir. São eles:
§ Mensagem – (obrigatório) , deve-se escrever a mensagem desejada em de forma sucinta, ou seja, breve entre aspas.
§ O Estilo – (opcional) que corresponde ao tipo de botões e de ícone identificativo para mensagem (estão disponíveis botões como “Yes”, “No”, “Cancel”, “OK”, etc e ícones como exclamação, Informação, Questão, Crítico, etc);
§ o Título, que aparece na barra superior azul da caixa;
01/05/2023 17
Programação em VBA - Estrutura Sequencial
Saída de Valores – Função Escrever
MsgBox “Tem a certeza que quer sair do programa?”, vbYesNo, “Programa de teste”
MsgBox “Tem a certeza que quer sair do programa?”, , “Programa de teste”.
A caixa só é fechada depois de o utilizador “clicar” um dos botões disponíveis. O valor retornado pela função, indica o botão que foi “clicado” pelo utilizador.
Mensagem
Estilo da Mensagem
Título
01/05/2023 18
Programação em VBA - Estrutura Sequencial
Saída de Valores – Função Escrever
Exercício 01 – Faça um programa em português estruturado e em linguagem VBA para exibir a mensagem:
• Mensagem 01: Bem vindo ao nosso programa!• Mensagem 02: Erro! (com uma mensagem sonora)• Mensagem 03: Deseja escolher a primeira opção?
Explore outras mensagens através de estilos diferentes. Para tal use o comando MsgBox
01/05/2023 19
Programação em VBA - Estrutura Sequencial
Saída de Valores – Função Escrever
Exercício 01 – Resposta
Sub Execicio01()
' Programa: Execicio01' Data 27 de Setembro' Programador: Luiz Henrique
MsgBox "Bem Vindo ao nosso programa!", "64", "Programa Mensagem"MsgBox "Erro!", "16", "Mensagem"MsgBox "Deseja escolher a primeira opção!", "4", "Programa Mensagem"MsgBox "Deseja sair do programa?", vbYesNo, "Programa Mensagem"
End Sub
01/05/2023 20
Programação em VBA - Estrutura Sequencial
Saída de Valores – Função Escrever
Cells(i, j) ou Cells(i, j).Value
i = linhaj = Coluna
Escreve na celula ativa
Ex. Cells(1,1) = “Reprovado” Cells(1,1) = 3,14 Range(“A1”) = “Aprovado” Range(“A1”) = 3,14
Range(A1) ou Range(A1).Value
Worksheets("Plan3").Cells(1,1) = “Aprovado”Worksheets("Plan3").Cells(1,1) = 7
Worksheets("Plan3").Range("A1") = 7Worksheets("Plan3"). Range("A1") = “Reprovado”
Escreve na celula da planilha requisitada
A1 = linha1 e coluna1
01/05/2023 21
Programação em VBA - Estrutura Sequencial
Saída de Valores – Função Escrever
Ex. Exibindo uma mensagem em uma célula na tabela do excel.
Sub Verifica_Lucro()
For i = 1 To 21 If Cells(i, 1) >= 7 Then Cells(i, 2) = “Aprovado" Else Cells(i, 2) = “Reprovado" End IfNext
End Sub
Ex. Exibindo uma mensagem relacionada a um dado preenchido na tabela.
Sub verifica_Valor()
If Cells(2, 2) > 10 ThenMsgBox "Valor máximo excedido!"End If
End Sub
01/05/2023 22
Exercício 02 – Faça um programa em VBA para escrever palavras e números em uma planilha do excel.
• Associada a uma célula do excel;• Várias células do excel;
• Associada a uma célula do excel de uma planilha específica;• Várias células do excel de uma planilha específica;
Programação em VBA - Estrutura Sequencial
01/05/2023 23
Exercício 02 – Resposta
Sub Exercicio01()' Programa: Execicio01' Data 27 de Setembro' Programador: Luiz Henrique' Atalho do teclado: Ctrl+b
'Associada a uma célula do excel;
Cells(1, 1) = "Luiz"Cells(1, 2) = 3.14
Range("A2") = "Luiz"Range("B2") = 3.14
Programação em VBA - Estrutura Sequencial
‘Várias células do excel;
For i = 3 To 5 Cells(i, 1).Value = "Lucro bom"Next
01/05/2023 24
Exercício 02 – Resposta
Sub Exercicio01()' Programa: Execicio01' Data 27 de Setembro' Programador: Luiz Henrique' Atalho do teclado: Ctrl+b
‘Associada a uma célula do excel de uma planilha específica;
Cells(1, 1) = "Luiz"Cells(1, 2) = 3.14
Range("A2") = "Luiz"Range("B2") = 3.14.
End Sub
Programação em VBA - Estrutura Sequencial
' Várias células do excel de uma planilha especificada;
For i = 3 To 5 Worksheets("Plan3").Cells(i, 1).Value = "Lucro bom“Next
01/05/2023 25
Variáveis
Uma variável, é um espaço da memória do computador que "reservamos" para guardar informações (dados). Como o próprio nome sugere, as variáveis, podem conter valores diferentes a cada instante de tempo, ou seja, seu conteúdo pode variar de acordo com as instruções do algoritmo.
Programação em VBA - Estrutura Sequencial
Dim (no procedimento)Dim ou Private (no módulo)
Public (no módulo)
Dim – O valor da variável é retido apenas enquanto o procedimento no qual ela foi declarada estiver em execução.Private – O valor fica disponível a todos os procedimentos dentro do módulo onde a variável foi declarada.Public – A variável pode ser acessada pelos procedimentos de vários módulos de uma pasta de trabalho.
01/05/2023 26
Variáveis
A declaração de uma variável em VBA é feita da seguinte maneira:
Dim Nome As Tipo
Programação em VBA - Estrutura Sequencial
Exemplo:
Dim Nome As StringDim Numero As IntegerDim DataDeNascimento As DateDim Contador As Integer
Nome = “Luís Fernandes”Numero = 91Data_de_Nascimento = “19-08-1977”Contador = 25
01/05/2023 27
Variáveis
Regras para escolher um identificador:
1) Um nome de identificador deve começar por uma letra:
2) Ser único dentro do mesmo nível de escopo:
3) Não pode conter um espaço entre caracteres do nome (o único caractere especial válido para batizar variáveis é _ ).
Programação em VBA - Estrutura Sequencial
• Válido: Nome, Valor1, Valor 2, Media, Preco.• Inválido: 1Valor, média ou Preço.
• Inválido: Dim Nome1 StringDim Nome1 Single
• Válido: Dim Nome_Cliente String• Inválido Dim Nome Cliente Single
01/05/2023 28
Variáveis
Palavras-reservadas (palavras-chave) – são identificadores predefinidos que possuem significados especiais para o interpretador do algoritmo.
• Exemplo: For, If, Else, Case, Next, Interger, Single, Double, Dim, Public, Private etc .
• Outras Palavras-Chave: as, byref, byval, case, close, const, date, declare, dim, each, else, empty, false, for, friend, function, get, input, if, is, len, let, lock, next, new, nothing, on, open, option, print, public, private, resume, seek, select, set, static, string, sub, then, to, true, type, variant, with, while, write.
O conteúdo de uma variável pode ser alterado, consultado ou apagado quantas vezes forem necessárias durante o algoritmo.
Programação em VBA - Estrutura Sequencial
01/05/2023 29
Variáveis
As mais utilizadas:
• Booleano – verdadeiro ou Falso.
• Single – variável do tipo real de precisão simples.
• Double – variável do tipo real de precisão dupla.
• Currency – variável do tipo real de elevada precisão. Utilizado para moedas e
operações bancarias de alta precisão.
• Date – variável que armazena datas.
• String – variável que armazena cadeia de caracteres (alfanúmerico).
Programação em VBA - Estrutura Sequencial
01/05/2023 31
Variáveis
As variáveis em VBA não têm de ser obrigatoriamente explicitadas, embora seja conveniente fazê-lo, pois torna o código de execução mais rápida e mais explícito. Para obrigar essa que a declaração seja feita, deve-se utilizar: Option Explicit.
Ex:Option Explicit
(não permite que repita variáveis e declare as variáveis erradas)
Dim S As String, Nome As StringDim Data_Dia As DateDim Botão As Object
Dim Número1 As IntegerDim Propina As Boolean
Dim Qualquer_Coisa As Variant
Programação em VBA - Estrutura Sequencial
01/05/2023 32
Declaração de constantes
É possível declarar constantes nos programas.
Const Pi As Double = valor
Por exemplo, imagine-se que se está a fazer um programa em que se recorre várias vezes ao valor de Pi e que se necessita de alguma precisão nos cálculos a efetuar. Para evitar ter de escrever o valor de Pi no programa, pode-se declarar a constante “Pi” como tendo o valor 3.1415...
Programação em VBA - Estrutura Sequencial
Const Pi As Double = 3.1415926535897932384626433832795
Perímetro = 2 * Pi * RaioÁrea = Pi * Raio * Raio
01/05/2023 33
Comentário
Uma boa documentação de um programa, conforme, significa inserir comentários apropriados no código de modo a explicar o que cada uma das funções que compõem o programa faz. A documentação de uma função é um pequeno manual que dá instruções precisas e completas sobre o uso da função.
Comentários são introduzidos em programas com o objetivo de documentá-los e de incrementar a sua legibilidade. O programador é responsável por manter seus códigos legíveis e bem documentados para que, no futuro, possa retomá-los e compreendê-los sem muito esforço e sem desperdício de tempo. Na linguagem VBA padrão, os comentários é envolvido pelo símbolo ‘. Um comentário é completamente ignorado quando encontrado pelo compilador e, portanto, não faz diferença alguma no programa executável resultante.
Programação em VBA - Estrutura Sequencial
01/05/2023 34
Comentário
Exemplos:
• MsgBox “Olá Mundo" ‘ esse é o comando para escrever um dado em VBA.
• ‘ Este programa faz a adição de dois números inteiros fixos e mostra o resultado da operação na saída.
TODO PROGRAMA DEVERÁ POSSUIR UM CABEÇALHO‘Programa xxxx‘Autor: Nome_do_Aluno‘Data: 24/08/2016
Programação em VBA - Estrutura Sequencial
01/05/2023 35
Entrada de valores em VBA – Função Ler.
A instrução Ler é utilizada quando deseja-se obter informações do teclado do computador, ou seja, é um comando de entrada de dados. Para simplificar, usa-se a instrução Ler, quando necessita-se que o usuário do algoritmo digite algum dado (para posterior processamento ou tratamento da informação processada).
Utilizado para receber dados digitados pelo usuário.
Note que:
§ Mensagem – (obrigatório) , deve-se escrever a mensagem desejada em de forma sucinta, ou seja, breve entre aspas.
§ o Título – (opcional) que aparece na barra superior azul da caixa;
Programação em VBA - Estrutura Sequencial
Variável = InputBox (“Mensagem ou Aviso”,”título”,” DefaultResponse” , “x pos” , ”y pos”)
01/05/2023 36
Note que:
§ DefaultResponse – (opcional) String expressão exibida na caixa de texto sistema autônomo a resposta padrão se for fornecida nenhuma outra entrada. Se você omitir DefaultResponse, a caixa de texto exibido está vazia
§ Xpos – (opcional) expressão numérica que especifica, em twips, a distância da borda esquerda da caixa de diálogo a partir da borda esquerda da tela. Se você omitir XPos e YPos, a caixa de diálogo é centralizada na tela.
YPos – (opcional) expressão numérica que especifica, em twips, a distância da borda superior da caixa de diálogo da parte superior da tela. Se você omitir XPos e YPos, a caixa de diálogo é centralizada na tela.
Programação em VBA - Estrutura Sequencial
Variável = InputBox (“Mensagem ou Aviso”,”título”,” DefaultResponse” , “x pos” , ”y pos”)
01/05/2023 37
Entrada de valores em VBA – Função Ler.
Programação em VBA - Estrutura Sequencial
Nome = InputBox(“Digite seu nome”, “Cadastro”, “Escreva Aqui”,”100”,”100”)
Mensagem MensagemDefaultResponseNão obrigatório Xpos, Ypos
Não obrigatório
01/05/2023 38
Entrada de valores em VBA – Função Ler.
Programação em VBA - Estrutura Sequencial
Exemplo
Sub Macro3()
Dim Nome As String
Nome = InputBox("Digite seu nome", "Cadastro", "Escreva Aqui", "100", "100")MsgBox "O nome da pessoa é:" & Nome
End Sub
01/05/2023 39
Exercício 03 - Faça um programa em fluxograma e em linguagem VBA para calcular o perímetro e a área de uma circunferência e mostre o resultado da operação para o usuário final. O exercício deve ser resolvido utilizando o comando InputBox e Msgbox.
Exercício 04 - Faça um programa em fluxograma e linguagem VBA para calcular a área e o perímetro de um retângulo sendo dados os valores do comprimento e da largura. O exercício deve ser resolvido utilizando o comando InputBox e Msgbox. Deve ser criado um atalho para compilar a macro através de um botão.
Exercício 05 - Faça um programa em fluxograma e linguagem VBA para calcular a média de duas notas e exiba o resultado dessa operação na tela do computador. O exercício deve ser resolvido utilizando o comando InputBox e Msgbox.
Programação em C - Estrutura Sequencial
01/05/2023 40
Exercício 05 –
Sub Exercicio03()Dim raio As SingleConst Pi As Double = 3.14159Dim Perimetro As SingleDim area As Single
'Resolvendo o exercício usando o InputBox
raio = InputBox("Digite o raio", "Programa", "Escreva Aqui")Perimetro = 2 * Pi * raioarea = Pi * raio * raio
MsgBox "O perímetro é " & Perimetro, "64", "Programa"MsgBox "A area é " & area, "64", "Programa"
End Sub
Programação em C - Estrutura Sequencial
01/05/2023 41
Entrada de valores em VBA – Função Ler.
Programação em VBA - Estrutura Sequencial
Para ler uma célula do excel e gravar o seu conteúdo em uma variável pode-se utilizar a função:
Preco = Range (A1)
Ou
Preco = Ceil (1,1)
Ou
Preco = ActiveSheet.Range("C1").Value
01/05/2023 42
Entrada de valores em VBA – Função Ler.
Programação em VBA - Estrutura Sequencial
Sub Macro3()
Dim preco As IntegerDim Nome As String
preco = Range("A1")Nome = Cells(1, 3)
MsgBox "O conteúdo da celula A1 é?" & Nome1MsgBox "O contéudo da celula 1,3?" & Nome1
End Sub
01/05/2023 43
Entrada de valores em VBA – Função Ler.
Programação em VBA - Estrutura Sequencial
Para ler uma célula do excel e gravar o seu conteúdo em uma variável pode-se utilizar a função:
Nome 1= Range (A1).value Nome 1 = ActiveSheet.Range("C1").Value Nome1 = Cells (A1).value
Para se referir a uma outra planilha
Dim Nome_2 As IntegerNome 1= Worksheets("Plan3").Range("A1").Value
Isso é valido para a planilha corrente ou ativa
01/05/2023 44
Exercício 06 - Faça um programa em fluxograma e em linguagem VBA para calcular o perímetro e a área de uma circunferência e mostre o resultado da operação para o usuário final. O exercício deve ser resolvido de duas formas: utilizando o comando InputBox e lendo o raio informado através de uma tabela do excel. Deve ser criado um atalho para compilar a macro. Exercício 07 - Faça um programa em fluxograma e linguagem VBA para calcular a área e o perímetro de um retângulo sendo dados os valores do comprimento e da largura. O exercício deve ser resolvido de duas formas: utilizando o comando InputBox e lendo o comprimento e a largura informado através de uma tabela do excel. Deve ser criado um atalho para compilar a macro.
Exercício 08 - Faça um programa em fluxograma e linguagem VBA para calcular a média de duas notas de uma lista de alunos e exiba o resultado dessa operação na tela do computador. Posteriormente é necessário informar se o aluno está aprovado ou reprovado. Toda vez que a pessoa colocar uma nota superior a 10 deverá aparecer uma mensagem de alerta. O exercício deve ser resolvido lendo os valores de uma tabela do excel. Deve ser criado um botão para compilar a macro.
Programação em C - Estrutura Sequencial
01/05/2023 45
Exercício 06 –
Sub Exercicio03()Dim raio As SingleConst Pi As Double = 3.14159Dim Perimetro As SingleDim area As Single
'Resolvendo o exercício lendo e escrevendo uma célula do excel
raio = Range("B12")'raio = Cells(12, 2)
Perimetro = 2 * Pi * raioarea = Pi * raio * raio
Cells(14, 2) = PerimetroRange("B13") = areaEnd Sub
Programação em C - Estrutura Sequencial
01/05/2023 46
Expressões Matemáticas , Operadores Aritméticos e Lógicos
Muitas vezes, ao desenvolvermos algoritmos, é comum utilizarmos expressões matemáticas para a resolução de cálculos.
Utilizado para atribuir a variáveis:- Valores pré-definidos- Resultados de expressões
Representados pelo símbolo = (símbolo de uma atribuição). • Significa que a variável do lado esquerdo receberá o resultado expresso no lado direito• Sempre terminada com ponto e vírgula
Programação em C - Estrutura Sequencial
01/05/2023 47
Operações matemáticas
Programação em VBA - Estrutura Sequencial
• Aritméticos: + (soma), - (subtração), / (divisão), * (multiplicação) , ^ (potência), e Mod (resto inteiro).
• Concatenação: &.
• Lógicos: E [And], Não [Not], Ou [Or].
• Operadores Relacionais: =, <, <=, >, >= e <>.
• Atribuição:
Dim resto as integer resto = 120 – 49
Dim salario as double salario = 510.00
Dim cidade as string cidade = 'Blumenau'
01/05/2023 48
Operações matemáticas
Programação em VBA - Estrutura Sequencial
• Funções Matemáticas:
Operação Exemplo Resultado
Raiz quadrada sqr(9.0) 3
Parte inteira int(7.8) 7
Valor absoluto abs(-5) 5
Seno sin(3.7) 0,53
Co-seno cos(4.1) 0,57
Tangente tan(6.8) 0,56
01/05/2023 49
Exemplos de operações matemáticas:
Programação em VBA - Estrutura Sequencial
Algumas expressões aritméticas: 1+2, a-4.0, b*c, valor_1/taxa e num%2.
Exemplo: Expressões válidasExpressão Valor6.4 + 2.1 8.57 - 2 52.0 * 2.0 4.06 / 3 210 % 3 1
Uma restrição ao operador de divisão (/) é que o denominador deve ser diferente de zero. Se alguma operação de divisão por zero for realizada ocorrerá um erro de execução do programa (runtime error), o programa será abortado e a mensagem divide error será exibida.
01/05/2023 50
Operações matemáticasPrecedência nas operações matemáticas:
1º: funções matemáticas 2º: *, / e MOD 3º: + e – 4º: = <> > >= < <= Precedência pode ser alterada com o uso de parênteses
O separador decimal é sempre o ponto (;)
Programação em VBA - Estrutura Sequencial
01/05/2023 51
Operações matemáticas
Nas linguagens de programação e, portanto, nos exercícios de algoritmos que iremos desenvolver, as expressões matemáticas sempre obedecem às regras matemáticas:
1) As expressões dentro de parênteses são sempre resolvidas antes das expressões fora dos parênteses. Quando existem vários níveis de parênteses, ou seja, um parêntese dentro de outro, a solução sempre inicia do parêntese mais interno até o mais externo (de dentro para fora).
Ex: (2+1) + 3 Ex: 3*(4*(2+3))
Programação em VBA - Estrutura Sequencial
3 + 3 = 6 3*(4*5)
3*20 = 60
01/05/2023 52
Atribuição de Valores
Nas linguagens de programação e, portanto, nos exercícios de algoritmos que iremos desenvolver, as expressões matemáticas sempre obedecem às regras matemáticas:
2) Quando duas ou mais expressões tiverem a mesma prioridade, a solução é sempre iniciada da expressão mais à esquerda até a mais à direita.
Ex. 2 + 3 + 5 = 5 + 5 = 10 Ex: (2+3) + 3+ (4+9) = 5 + 3 + 13 = 21
3) Para o desenvolvimento de algoritmos que possuam cálculos matemáticos, as expressões aritméticas devem estar horizontalizadas, ou seja, linearizadas e também não esquecendo de utilizar os operadores corretamente.
Programação em VBA - Estrutura Sequencial
M = (N1+N2) / 2
01/05/2023 53
Expressão Valor Ordem1 + 2 - 3 0 + -24 - 3 * 5 9 * -4 - 2 * 6 / 4 + 1 2 * / - +6 / 2 + 11 % 3 * 4 11 / % * +
Precedência nas operações matemáticas:
Programação em VBA - Estrutura Sequencial
A ordem de precedência dos operadores pode ser quebrada usando-se parênteses: ( ). Os parênteses são, na verdade, operadores de mais alta precedência e são executados primeiro. Parênteses internos são executados primeiro que parênteses externos.
Expressão Valor Ordem 1 + (2 - 3) 0 - + (24 - 3) * 5 105 - * (4 - 2 * 6) / 4 + 1 -1 * - / + 6 / ((2 + 11) % 3) * 4 24 + % / *
01/05/2023 54
Operadores Lógicos
Programação em VBA - Estrutura Sequencial
Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso.
Os operadores lógicos são:
• E / AND Uma expressão AND (E) é verdadeira se todas as condições forem verdadeiras;• OR/OU Uma expressão OR (OU) é verdadeira se pelo menos uma condição for verdadeira;• NOT Um expressão NOT (NÃO) inverte o valor da expressão ou condição, se verdadeira
inverte para falsa e vice-versa.
01/05/2023 55
Operadores Lógicos
Programação em C - Estrutura Sequencial
A tabela abaixo mostra todos os valores possíveis criados pelos três operadores lógicos(AND, OR e NOT).
Ex.: Suponha que temos três variáveis A = 5, B = 8 e C =1
Expressões Resultado
A = B AND B > C A < B OR B < C A > B NOT A < B AND B > C A >= B OR B = C A <= B NOT
FalsoVerdadeiroVerdadeiroVerdadeiroFalsoFalso
Em VBA:
Operador andOperador orOperador not
01/05/2023 56
Programação em C - Estrutura Sequencial
• Exercício 9Faça um programa em fluxograma e linguagem VBA para calcular uma raiz quadrada e o cubo. O exercício deve ser resolvido de duas formas: utilizando o comando InputBox e lendo os valores de uma tabela do excel. Deve ser criado um botão para compilar a macro.
• Exercício 10Faça um programa em fluxograma e linguagem VBA para calcular a solução de uma equação do segundo grau. O exercício deve ser resolvido de duas formas: utilizando o comando InputBox e lendo os valores de uma tabela do excel. Deve ser criado um botão para compilar a macro.
• Exercício 11Faça um programa em fluxograma e linguagem VBA para reajustar o salário de 50 funcionários de uma empresa. Para tal é necessário criar um critério de reajuste salarial. Deve ser criado um botão para compilar a macro.