Você está na página 1de 30

Algoritmos e VBA

Parte I
Sumário

 Algoritmos  Exemplo de algoritmo


 Resolução de problema  Diagrama de blocos
 Programas  Português estruturado
 Desenvolv. de algoritmos  Implementação em VBA
 Tópicos fundamentais

Informática Aplicada à Engenharia 2


Algoritmos
Um algoritmo é um descrição de um padrão de
comportamento, expresso em termos de um conjunto
finito de ações ou um algoritmo é uma seqüência de ações
executáveis para a obtenção de uma solução para um
determinado problema.

Exemplos: Receita culinária, Itinerário, Instruções para o


uso de medicamentos.

Informática Aplicada à Engenharia 3


Resolução de problema
 Compreender o problema;
 Dividir o problema em módulos funcionais;
 Levantar necessidades de entrada e saída;
 Determinar necessidades de variáveis internas;
 Definir as transformações necessárias para
produzir as saídas especificadas.

Informática Aplicada à Engenharia 4


Programas
Programar é basicamente construir algoritmo através do
uso de uma linguagem de programação. As linguagens de
programação classificam-se em três níveis:

o Linguagem de máquina
o Conjunto de instruções em código binário.

o Linguagem de montagem ou de 2o nível


o São utilizados códigos especiais denominados mnemônicos;
o Um programa montador traduz as instruções simbólicas da
linguagem de montagem para a linguagem de máquina.

Informática Aplicada à Engenharia 5


Programas
o Linguagem de alto nível
o Comandos que se assemelham a linguagem natural
(inglês);
o Um programa compilador ou interpretador
traduz para a linguagem de máquina.

Elementos de uma linguagem


Sintaxe - diz respeito à forma. (Escrita correta);
Semântica - refere-se ao conteúdo. (Significado)

Informática Aplicada à Engenharia 6


Desenvolvimento de algoritmos

A construção da seqüência lógica para a solução de


um problema pode ser realizada através de notação
gráfica como a de fluxograma ou diagrama de
bloco e/ou de técnica narrativa denominada
pseudocódigo ou português estruturado ou ainda
conhecida como portugol.

Informática Aplicada à Engenharia 7


Desenvolvimento de algoritmos
Exemplo:
Ler dois valores A e B, efetuar a soma em X e
apresentar o resultado obtido.

Nota: Para a resolução de qualquer problema ter sempre


em mente os três conceitos fundamentais: entrada,
processamento e saída de dados.

entrada processamento saída

Informática Aplicada à Engenharia 8


Desenvolvimento de algoritmos
Diagrama de blocos Português estruturado

inicio programa Soma


A, B, X : inteiro
Leia A leia (A)
leia (B)
Leia B
XA+B
escreva (X)
fim programa
X = A+B

Escreva X

fim
Informática Aplicada à Engenharia 9
Desenvolvimento de algoritmos
Diagrama de blocos VBA

inicio Sub Soma ()


Dim A As integer, B As integer
Leia A Dim X As integer
A = InputBox("Valor de A")
Leia B
B = InputBox("Valor de B")
X=A+B
MsgBox X
X = A+B
End Sub

Escreva X

fim
Informática Aplicada à Engenharia 10
Fluxograma
Os principais símbolos gráficos utilizados em um
fluxograma são os seguintes:

Teminal
O ponto de início, término ou interrupção de um programa.
Entrada/Saída
Leitura ou gravação de dados.
Processamento
Um grupo de instruções que executa uma função de
processamento do programa.
Decisão
Indica a possibilidade de desvios para outros pontos do
programa dependendo do resultado de operações de
comparação.
Conector
Uma entrada ou saída de ou para outra parte do fluxograma

Informática Aplicada à Engenharia 11


Tópicos fundamentais
 Tipos de dados
Portugol Característica VBA
Número inteiro positivo, negativo ou
inteiro integer
nulo
Número real (fracionário) positivo,
real single
negativo ou nulo
Conjunto de caracteres alfanuméricos
caractere (letras, dígitos e símbolos especiais). string
Literal, string ou cadeia de caracteres.

lógico Valores booleanos boolean

Informática Aplicada à Engenharia 12


Tópicos fundamentais
 Variáveis
Uma variável é uma área na memória referenciada por
um identificador, onde pode ser armazenado um valor
de certo tipo e alterado a qualquer momento.
Exemplos:
Portugol VBA
soma, valor : inteiro Dim soma As Integer, valor As Integer
saldo : real Dim saldo As Single
nome, sexo : caractere Dim nome As String, sexo As String
resposta : logico Dim resposta as Boolean

Informática Aplicada à Engenharia 13


Tópicos fundamentais

Um identificador nomeia a informação.


 
Um nome de identificador deve começar por uma
letra, ser único dentro de seu escopo e é vedado o
uso de caracteres especiais.

Informática Aplicada à Engenharia 14


Tópicos fundamentais
 Constantes
Uma constante é representada por um valor fixo que não
pode ser alterado ao longo da execução do algoritmo.
Exemplos:
Portugol VBA
Const PI : real  3.14159 Const PI As Single = 3.1419
Const mes : caractere  'janeiro‘ Const mes As string = “janeiro”

Informática Aplicada à Engenharia 15


Tópicos fundamentais
 Comando de atribuição
Utilizado para fornecer um valor a uma
determinada variável.
Exemplos:

Portugol VBA
salario  508.50 salario = 508.50
resto  120 – 49 resto = 120 – 49

Informática Aplicada à Engenharia 16


Tópicos fundamentais
 Operadores aritméticos
As variáveis e constantes numéricas podem ser
utilizadas em cálculos matemáticos.
Portugol Função VBA
^ Potenciação ^
/ Divisão /
mod Divisão (resto da divisão) mod
* Multiplicação *
+ Adição +
– Subtração –

Informática Aplicada à Engenharia 17


Tópicos fundamentais
 Operadores relacionais
Indicam a comparação a ser realizada por uma
expressão lógica.
Portugol Operação VBA
= Igual a =
> Maior que >
< Menor que <
<> Diferente de <>
>= Maior ou igual a >=
<= Menor ou igual a <=

Informática Aplicada à Engenharia 18


Tópicos fundamentais

 Operadores lógicos
Utilizados em expressões lógicas compostas ou para
inverter o estado lógico de uma condição.

Potugol Operação VBA


e Conjunção and
ou Disjunção or
não Negação not

Informática Aplicada à Engenharia 19


Tópicos fundamentais

 Operadores lógicos

Exemplos:
a = 50 > 5 and 20 = 10
b = 50 > 5 or 20 = 10
c = not 12 > 30

Informática Aplicada à Engenharia 20


Tópicos fundamentais
 Comandos de entrada e saída
São comandos que permitem obter dados do ambiente
exterior para a memória do computador e fornecer
dados ao mundo exterior. Exemplos:
Portugol VBA
leia (nota) nota = InputBox(“Nota”)
escreva (resultado) MsgBox resultado

Informática Aplicada à Engenharia 21


Exemplo de um algoritmo
 Problema
Calcular a média aritmética de três notas fornecidas
pelo usuário e imprimir o resultado.

 Algoritmo
1. ler três notas para as variáveis nt1, nt2, nt3;
2. efetuar o cálculo da média, implicando o valor à
variável media;
3. apresentar a média contida na variável media.

Informática Aplicada à Engenharia 22


Diagrama de blocos
início

1
Leia nt1
media = (nt1+
nt2 + nt3) / 3
Leia nt2
Escreva
media
Leia nt3
fim
1
Informática Aplicada à Engenharia 23
Português estruturado

programa CalcMedia
nt1, nt2, nt3, media : real
escreva('Informe a primeira nota:')
leia(nt1)
escreva('Informe a segunda nota: ')
leia(nt2)
escreva('Informe a terceira nota: ')
leia(nt3)
media  (nt1 + nt2 + nt3) / 3
escreva('Média aritmética: ', media)
fim Programa

Informática Aplicada à Engenharia 24


Implementação em VBA

Um programa simples em VBA tem a seguinte


estrutura:

Sub nome_do_programa
declaração de variáveis
comandos
End sub

Informática Aplicada à Engenharia 25


Implementação em VBA

Sub CalcMedia
Dim nt1 As Single, nt2 As Single
Dim nt3 As Single, media As Single
nt1 = InputBox("Informe a primeira nota")
nt2 = InputBox("Informe a segunda nota")
nt3 = InputBox("Informe a terceira nota")
media = (nt1 + nt2 + nt3) / 3
MsgBox "Media aritmetica: " & media
End Sub

Informática Aplicada à Engenharia 26


Implementação em VBA
Segue-se um exemplo de codificação do mesmo
problema, considerando como entrada das notas as
células C1, C2 e C3 e como saídas as células A4 e
C4 de uma planilha.
Recorte da planilha:

Informática Aplicada à Engenharia 27


Implementação em VBA

Sub CalcMedia
Dim nt1 As Single, nt2 As Single
Dim nt3 As Single, media As Single
nt1 = Range("C1").Value
nt2 = Range("C2").Value
nt3 = Range("C3").Value
media = (nt1 + nt2 + nt3) / 3
Range("C4").Value = media
Range("A4").Value = " Média aritmética:"
End Sub
Informática Aplicada à Engenharia 28
ou

Sub CalcMedia
Dim nt1 As Single, nt2 As Single
Dim nt3 As Single, media As Single
nt1 = cells(1,3).Value
nt2 = cells(2,3).Value
nt3 = cells(3,3).Value
media = (nt1 + nt2 + nt3) / 3
cells(4,3).Value = media
cells(4,1).Value = " Média aritmética:"
End Sub
Informática Aplicada à Engenharia 29
ou, ainda,

Sub CalcMedia
cells(4,3) = (cells(1,3) + cells(2,3) _
+ cells(3,3) ) / 3
cells(4,1).Value = " Média aritmética:"
End Sub

Informática Aplicada à Engenharia 30

Você também pode gostar