Beruflich Dokumente
Kultur Dokumente
COll\ do VIA
Aluno
ALGORITMO
Desenvolvimento Top-Down
Antes de poder escrever urn programa, de fato, sempre e necessario urn processo de racioci
nio, que leva de uma analise do problema dado, passando por urn algoritmo tern termos gerais ate
urn algoritmo detalhado, que consiste em uma sequencia de passos simples que podem ser direta
mente expressados em termos de comandos numa linguagem de programaeao.
Na programacao, as diferentes fuses deste processo de concepcao de urn programa, sao fixa
das explicitamente por escrito, e nao sO - como e uso comurn - 0 produto final: 0 programa na for
ma em que sera submetida a maquina, Obtemos no final nao sornente urn programa (na linguagem
que foi escolhida para a codificacao), mas tambem uma documentacso de todo 0 processo de solu
~ do problema.
Modularizariio
Durante a fase de projeto descrita acima, a solucao do problema total vai sendo fatorada em
solu~es de subproblemas, 0 que permite geralmente dividir 0 programa em forma natural de m6du
los com subfuncoes claramente delimitadas, que podem ser implementados separadamente por di
versos programadores de uma equipe.
do Aluno
EsbvtIU'tl de Control«
Em primeiro lugar, um algoritmo e urn texto estatico, Ele existe numa foIha de papel escrita
e geralmente lida de cima para baixo. Para produzir os resultados desejados, esse algoritmo deve ser
executado; temos entao urn processo dinamico, 0 conceito que relaciona esses dois aspectos e 0 de
fluxo de controle, que determina em cada passe da execucao qual e 0 proximo comando a ser exe
cutado. .
Entender urn algoritmo (a logica de urn algoritmo) significa compreender (visualizar) essa
classe de processos de execucao. Analogamente, afirmar que urn programa e correto quer dizer es
sencialmente que todas as suas execucoes possiveis produzem resultados corretos. Vemos entao
que, para ler ou entender urn programa, lidamos fisicamente com urn texto, mas temos em mente
processos,
A maior dificuldade que 0 programador tern que enfrentar e entao a distancia conceitual que
separa a representacao estatica de urn algoritmo does) processo(s) dinfunico(s) de sua execucao.
Tipos de infofIIla&Oes:
Urn computador e uma ferramenta utilizada para solucionar problemas que envolvam a ma
nipulaeao de informacoes, Assim sendo, estas informacoes classificam-se em duas categorias basi
cas: dados e instrucoes,
Tipos de Dados:
Os dados sao representados pelas informacoes a serem processadas por urn computador.
Estas informacoes estao caracterizadas por quatro tipos de dados, a saber: dados numericos intei
ros, dados numeriees re~ds, dados caracteres e dados 16gicos.
• Tipos Inteiros
Sao tipos inteiros, os dados numericos positivos ou negativos, excluindo-se destes qualquer
mimero fracionario. Como exemplo deste tipo de dado, tem-se os valores: 35, 0, -56, entre outros.
do Aluno
• Tipos Reais
sao tipos reais, os dados numericos positivos, negativos e mimeros fracionarios. Como e
xemplo deste tipo de dado, tem-se os valores: 35, 0, -56, 1.2, -45.897, entre outros.
• Tipos Caracteres
Sao tipos caracteres, as sequencias contendo letras, mimeros e simbolos especiais. Uma se
quencia de caracteres deve ser indicada entre aspas (""). Este tipo de dado e tambem conhecido
como: alfanumerico, string, literal ou eadeia. Como exemplo deste tipo de dado, tem-se os valores:
"PROGRAMA<;AO", "Rua Vinte e quatro de maio", "Fone: 2574-9988", "8", entre outros.
• Tipos L6gicos
Sao tipos logicos ou booleanos, os dados com valores verdadeiro e falso, sendo que este ti
po de dado podera representar apenas urn dos dois valores. Quando for necessario fazer uso deste
tipo de dado, este devera ser escrito entre pontos, da seguinte fonna: .Falso. ou .F. (para 0 valor
16gico: FALSO) e .Verdadeiro. ou .V. (para 0 valor 16gico: VERDADEIRO).
Deflniriio de Varitiveis
Podemos imaginar uma variavel como 0 nome de urn local onde se pode colocar qualquer
valor do conjunto de valores possiveis do tipo basico associado. 0 nome da variavel e urn identifi
cador tal como definido anteriormente.
Sao exemplos de declaracao de variaveis no Visual Basic for Application (VBA):
Dim X As Integer
Dim Y, Z As Single
Dim Nome As String
Dim p05SuiConta As Boolean
./ Os nomes de uma variavel, poderao ser atribuidos com urn ou mais caracteres;
./ 0 primeiro caractere do nome de uma variavel nao podera ser em hip6tese alguma, urn nu
mero, sempre devera ser woo letra;
./ 0 nome de uma variavel nao podera possuir espacos em branco;
. Apostila do Aluno
./ Nao podera ser nome de uma variavel, uma palavra reservada a uma instrucao de programa
(por exemplo: nao se pode atribuir 0 nome de uma variavel com IF, pois IF e uma instrucao
do VBA);
./ Nao poderao ser utilizados outros caracteres a nao ser letras e mimeros.
Sao nomes validos de variaveis: NOMEUSUARIO, FONEl, X, DELTA25, Z4, entre outros.
sao nomes invalidos de variaveis: NOME usuARIo, IX, FONE#, ESCREVA (considerando que
seja uma palavra reservada it instrucao de uma linguagem; no nosso caso, MSGBOX).
Neste capitulo voce obtem informacoes sobre os tipos de dados suportados e seus limites tecni
cos de aplicacao, Tarnbem e apresentado 80S operadores matematicos utilizados pelo VBA, sua
sintaxe, e resultados esperados 80 utiliza-los,
Aluno
Currency -922.337.203.685.477.5808 a
8 bytes
(4 decimais de precisao) 922.337.203.685.477,5807
+/- 79.228.162.514.264.337.593.543.950.335
sem ponto decimal;
+/- 7,9228162514264337593543950335 com
Decimal 14 bytes
28 casas decimais. Menor valor nao zero e +/
0,0000000000000000000000000001
bytes ocupados pelos dados armazenados. A memoria ocupada pelos dados pode ser calculada multiplicando-se 0 nUmero de elemen
ottsl.: Uma variavel do tipo Variant a qual foi atribuida urna referencia a urna matriz, exige 12 bytes adicionais alem daqueles ocu
Aluno
Apostila do Aluno
Fun~Oes financeiras
Utilidade Nome da fun~io
Calcular depreciacao de bens DDB, SLN, SYD
Calcular 0 valor futuro FV
Calcular a taxa de juros Rate
Calcular a taxa interna de retorno IRRMIRR
Calcular 0 numero de periodos NPer
Calcular 0 valor da prestacao Ipmt, Pmt, PPmt
Calcular 0 valor presente NPV, PV
Aluno
Aluno
Boolean
Variaveis declaradas como boleanas sao armazenadas como mimeros de 16 bits (2 bytes),
porem podem receber apenas os valores TRUE (-1) ou FALSE (0). Ao serem impressas com a ins
tru~ao Print, exibem as Constantes True ou False, e quando se empregada a instrucao Write #, exi
bern #TRUE# ou #FALSE#.
Quando qualquer valor numerico e convertido para Boolean, apenas 0 valor zero (0) se torna
False. Qualquer outro valor e convertido para TRUE. Entretanto, quando urn valor boleano e con
vertido para outro tipo de dado, False se torna 0 e True se torna -1.
Variaveis do tipo Byte sao armazenadas como mnneros simples positivos de 8 bits, variando
de 0 a 255. Sua utilidade e a de conter dados binaries.
Boolean
Variaveis declaradas como boleanas sao armazenadas como mimeros de 16 bits (2 bytes),
porem podem receber apenas os valores TRUE (-1) ou FALSE (0). Ao serem impressas com a ins
trucao Print, exibem as Constantes True ou False, e quando se empregada a instrucao Write #, exi
bern #TRUE# ou #FALSE#.
Quando qualquer valor numerico e convertido para Boolean, apenas 0 valor zero (0) se torna
False. Qualquer outro valor e convertido para TRUE. Entretanto, quando urn valor boleano e con
vertido para outro tipo de dado, False se torna 0 e True se torna -1.
Variaveis do tipo Byte sao armazenadas como numeros simples positivos de 8 bits, variando
de 0 a 255. Sua utilidade e a de conter dados binaries.
Aluno
Cum:ncy
VariAveis Currency sao armazenadas como numeros de 64 bits (8 bytes) em urn formato
imeiro. escalonado por 10.000 para fomecer urn numero com 15 digitos de magnitude aesquerda da
casa decimal, e 4 digitos decimais de precisao, permit indo representar valores numericos financei
lOS situados na faixa de -922.337.203.685.477,5808 a 922.337.203.685.477,5807.
Este tipo de dado deve ser empregado para calculos envolvendo valores monetarios e de
ponto-fixo, no qual a precisao do calculo e particularmente importante.
o caractere de declaraeao de tipo para as variaveis Currency e 0 @.
Integer
Variaveis do tipo Integer sao arrnazenadas como numeros de 16 bits (2 byte), com valor va
riando entre -32.768 a 32.767.
Voce pode empregar as variaveis Integer para representar enumeradores, que consistem em
urn conjunto finito de mimeros inteiros, cada urn deles com urn significado especifico no contexto
em que sao utilizados. Enurneradores fomecem uma forma adequada de se empregar valores nume
ricos no c6digo, evitando 0 aparecimento de mimeros magicos,
o caractere de declaracao do tipo Integer e (%).
Variaveis do tipo Long sao arrnazenadas como numeros inteiros de 32 bits (4 bytes), com
valor variando entre -2.147.483.648 ate 2.147.483.647.
o caractere de declaracao do tipo Long e 0 (&).
Single
Variaveis do tipo Single sao armazenadas como mimeros IEEE de ponto tlutuante com 32
bits (4 bytes), com valor entre -3,402823E38 ate -1,401298E-45 pa-ra valores negativos e
1,401298E-45 ate 3,402823E38 para valores positivos.
. Apostila do Aluno
Operador AND
Empregado para efetuar a conjuncao 16gica de duas (ou mais) expressoes, retornando True
(verdadejro) ou False (falso), utilizando esta sintaxe:
A tabela abaixo demonstra 0 que ocorre quando 0 valor das expressoes e TRUE, FALSE ou
NULL.
o operador AND tambem e empregado para efetuar a comparacao bit a bit de dois numeros
binaries de mesmo comprimento, criando urn terceiro mimero binario cujos bits resultantes obede
cern aseguinte tabela:
Se 0 bit da Expressao1 for E 0 mesmo bit da Expressao2 for o resultado de AND sera
0 0 0
0 1 0
1 0 0
1 ] 1
Exemplos:
Dim resultado as boolean, A as Integer, B as Integer, C as Integer, D
A=5
B=4
C=3
D=Null
Resultado = A > B And B > C , Retorna True
Resultado = B > A And B > C , Retorna False
Resultado = A > B And B > D , Retorna Null
Resultado = A And C , Retorna 1 (comparacao binaria)
OperadorOR
Empregado para efetuar a disjuncao logica de duas expressoes, utilizando esta sintaxe:
Se qualquer das expressoes for TRUE, 0 operador OR sernpre retornara TRUE. A tabela que
se segue demonstra 0 resultado determinado pelo operador Or quando duas expressoes 16gicas sao
comparadas:
o operador Or tambem e empregado para efetuar a comparacao bit a bit de dois mimeros
binaries de mesmo comprirnento, criando urn terceiro mimero binario cujos bits resultantes obede
cern it. seguinte tabela:
Exernplo:
Aluno
OperadorXOR
Empregado para efetuar a exclusao 16gica de duas expressoes, utilizando esta sintaxe:
Caso uma, e apenas urna das expressoes seja True, 0 resultado sera True. Entretanto, se
qualquer das expressoes for NULL, 0 resultado sera sernpre Null. Quando nenhurn dos resultados
for Null, 0 valor resultante do emprego do operador XOR e determinado pela tabela que se segue:
o operador XOR e tambem ernpregado para efetuar comparacao bit a bit de dois numeros
binaries de rnesmo comprimento, criando urn terceiro numero binario cujos bits resultantes obede
cern a seguinte tahela:
Se 0 bit da Expressao1 for E 0 mesmo bit da Expressaoz for o resultado de XOR sera
0 0 0
0 1 1
1 0 1
1 1 0
Do...Loop
Instrucao empregada no c6digo de urn procedimento para repetir urn bloco de instrucoes
indefmidamente ou ate que uma condicao determinada seja verdadeira, utilizando a seguinte sinta
xe:
Ou alternativarnente:
Aluno
Do
[lnstrufoes]
[Exit Do]
[lnstrufoes]
Loop [{While I Until} condifao]
Exemplo:
cont=l
Do While (cont <= 10)
Msgbox cont
Loop
Instrucao que permite terminar abruptamente urn bloco Do ...Loop ou For ...Next, ou termi
nar urn procedimento Function, Sub, ou Property, utilizando uma destas sintaxes:
Exit Do
Exit For
Exit Function
Exit Sub
For...Next
Instrucao empregada para repetir um grupo de instrucoes por urn numero definido de vezes,
utilizando esta sintaxe:
Exemplo:
Fori = 1 to 100
Planl.range("A" & i).value = i
Next I
Apostila do Aluno
If... Then...Else
Ou:
If condiciio Then
[Instrut;oes]
ElseIf Outratlondicdo Then
[Instrufoes]...
[ [Else
Instrufoes]]
End If
Exemplo:
Fun~ao conhecida como "Se imediato", e empregada para efetuar urn teste logico numa ex
pressao, e dependendo do resultado do teste, retorna urn ou outro valor obrigatorio na sintaxe da
~. A fu~ao IIF possui a seguinte sintaxe:
Exemplo:
Onde, z>100 e a condicao; 5 e 0 valor que retornara caso z seja maior que 100 e 10 caso z seja me
norou igual a 100. Neste exemplo, X valera, visto que 150> 100 e verdade.
do Aluno
Select Case
[Case ValorExpresstioNJ
[InstrufoesN]
[Case Else]
[InstruftioElse]
End Select
MSGBOX:
F~o empregada para criar um dialogo com 0 usuario, exibindo botoes e urn Icone (opcio
nal), que permitem a tomada de decisao dentro do codigo, utilizando esta sintaxe (basica):
MSGBOX (Mensagem, [Botoes],[TituloD
. Apostila do Aluno
nERctCIO DE FIXACAO 1
__A i~_~_ _ I ~ . _
do Aluno
IXKROCIO DE FIXACAO 2
T
-U
1 Matricula Funcionario Salario
1120 Carla
6754 Felipe
2000
1900
OK I
__4J 2523 Alexandre 2350
W 5398 Lfvia 1590
W 1254 Monique 2500
7
8
I
I
1047 Flavio
3020 Marcelo
1800
3000
9l 6690 Marcia 2500
OBSERVACOES:
do Aluno
EXDldCIO DE FIXACAO 3:
A I B I c I 0 I E
Ii] 5 x
TABUADA DE5
1 = 5
~J 5 x 2 = 10
4\ 5 x 3 = 15
5
f--
5 x 4 - 20
6
f--
5 x 5 = 25
7
f--
5 x 6 = 30
8 5 x 7 = 35
~ 5 x 8 = 40
10' 5 x 9 = 45
III 5 x 10 = 50