Baixar arquivo
Transcrição
Baixar arquivo
FUNDAÇÃO UNIVERSIDADE FEDERAL DE RONDÕNIA CAMPUS DE JI-PARANÁ – RO PROCESSAMENTO DE DADOS PROF. ANTONIO F CARDOZO 1. I. II. III. IV. V. 2. I. II. III. IV. V. 3. I. II. III. IV. COMPUTADORES 3 – CONCEITO 3 PROCESSOS BÁSICOS 3 CARACTERÍSTICAS 3 SERVIÇOS: (APLICAÇÕES) 3 DEFINIÇÕES HARDWARE SOFTWARE 4 SOFTWARE 4 COMPONENTES DO SOFTWARE 4 TIPOS DE SOFTWARE SOFTWARE BÁSICO SOFTWARE APLICATIVO 5 SISTEMA OPERACIONAL 5 DIRETÓRIOS 6 ARQUIVOS EXTENSÃO 6 INFORMAÇÃO 7 DEFINIÇÃO 7 REPRESENTAÇÃO BIT BYTE ASCII PALAVRA 8 BASES DE NUMERAÇÃO REPRESENTAÇÃO Erro! Indicador não definido. UNIDADES DE MEDIDA 9 1-COMPUTADORES CONCEITO O que é um computador? O computador é basicamente uma máquina, eletrônica automática, que lê dados, efetua cálculos e fornece resultados. Ou seja, máquina que recebe dados, compara valores, armazena dados e move dados; portanto trabalha com dados e estes bem colocado tornam-se uma informação. 3-PROCESSOS BÁSICOS Entrada de dados Processamento Saída de dados : ler os dados iniciais ou constantes. : efetua os cálculos. : apresenta os resultados. 4-CARACTERÍSTICAS (é o que difere das demais máquinas de cálculos) alta velocidade na execução de suas operações. grande capacidade de armazenar informações (memória). capacidade de executar longa seqüência alternativa de operações (programa). 5-SERVIÇOS: (APLICAÇÕES) 1 - CIENTÍFICOS - cálculos balísticos 2 - COMERCIAIS - folhas de pagamento, contabilidade 3 - SIMULAÇÃO - tráfegos, grafos 4 - CONTROLE DE PROCESSOS - usinas nucleares, Petrobrás 6-DEFINIÇÕES 1.1.1 HARDWARE conjunto de circuitos eletrônicos “inalteráveis” - máquina em si SOFTWARE conjunto de instruções “alteráveis” - isto porque os programadores podem facilmente mudá-las. 7-SOFTWARE COMPONENTES DO SOFTWARE As formas de linguagem em uso são Linguagem Máquina geração) Linguagem Assembly Linguagem Alto Nível Linguagem não procedimentais (4ª Linguagem de Máquina = representação simbólica de zeros e uns (0 ou 1). Linguagem Assembly = representação simbólica de instrução da CPU. Linguagem de Alto Nível = permite programa ser independente da máquina (necessitam de interpretadores e compiladores). Tradicionais = COBOL e FORTRAN Modernas = PASCAL, C e ADA Orientada a Objetos = C ++, OBJECT, PASCAL, DELPHI, etc... Especializadas = APL, LISP, OPS5, PROLOG ( p/ aplicações específicas ) Máquina, Assembly, Alto Nível ou linguagens procedimentais 4ªgeração ou Não-Procedimental (específica o resultado desejado) = 3 primeiras gerações (específica a ação) = aplicação banco de dados O software é uma informação que existe em 2 formas básicas : - Componentes não executáveis em máquina - Componentes executáveis em máquina 8-TIPOS DE SOFTWARE 1.1.2 SOFTWARE BÁSICO É o conjunto de programas que supervisionam e auxiliam a execução dos diversos softwares aplicativos. O software básico é. em geral, formado pelos seguintes programas principais: • Sistema Operacional - é responsável pela interface (interação) entre hardware e o usuário, o hardware e outros softwares aplicativos , como está representado na figura abaixo. (exemplos: WINDOWS 95 e 98, UNIX, DOS, OS2, etc) • Compiladores e Interpretadores: que traduzem ou interpretam os programas escritos em diferentes linguagens. O software básico é fornecido pelo próprio fabricante do computador e, em geral, está escrito em linguagem de máquina. 1.1.3 SOFTWARE APLICATIVO É o programa específico escrito para executar alguma operação (ou resolver um problema) de interesse do usuário. Em geral é escrito em Linguagem de Alto Nível pelo próprio usuário. OBSERVAÇÃO: Tanto o software aplicativo como o básico trabalham em linguagem de máquina, isto é, em código binário, que é a única codificação aceita pelo hardware ou arquitetura do computador. O usuário. em geral, não manipula diretamente valores ou códigos binários, mas trabalha com valores decimais, hexadecimais e códigos Basic. Pascal, C, etc. Os programas do software básico encarregam-se de efetuar a tradução dos códigos e a conversão dos valores. Hardware Sistema Operacional Linguagens ( Basic , Cobol , Pascal , C , ... ) Ferramentas ao usuário final : (Ex.: Versa CAD , Word , Excel , ... ) Programas de Aplicação 9-SISTEMA OPERACIONAL O Sistema Operacional deve ser adaptado ás características do hardware assim como as linguagens de programação e as ferramentas do usuários final devem ser adaptados ao Sistema Operacional. Conhecer o Sistema 0peracional pode ajudar a resolver alguns problemas que a princípio nos parecem complicados. Além disso possue utilitários especiais para a formatação de discos, listagens em vídeo/impressora, criação/copia/exclusão e alterações de arquivos. Podemos dizer que o Sistema 0peracional é um conjunto de rotinas, ou seja, uma lista de instruções passadas para o microprocessador com a finalidade promover a comunicação do usuário com o hardware. 10-DIRETÓRIOS São uma “espécie” de armários e gavetas, cuja função é organizar os arquivos. O Sistema Operacional DOS permite o gerenciamento dos arquivos em forma de árvore onde cada galho é chamado Diretório/ Subdiretório. Vejamos: C: DOS5 DADOS CONTAB COMPRAS VENDAS WINDOWS Isso significa que dentro do diretório principal C: temos um diretório chamado DOS5, outro diretório chamado DADOS e finalmente outro diretório chamado WINDOWS. Porém dentro do diretório DADOS temo três outros diretórios assim intitulados: CONTAB, COMPRAS, VENDAS. 11-ARQUIVOS Arquivo Programa Conjunto de instruções para o computador juntados em um só arquivo. Arquivo Dados Conjunto de caracteres (dados) que podem ser documentos, banco de dados e etc. Devem ser utilizados nome de arquivos de fáceis associações ao assunto a que se referem. Os nomes de arquivos normalmente possuem duas partes separadas por um ponto. Sendo que a segunda parte (extensão) é o opcional. Geralmente a extensão especifica o tipo de arquivo. Exemplos: EXTENSÃO .COM - Utilizado para arquivos de comandos (Programas) .EXE - Utilizado para arquivos executáveis (Programas) .BAT - Utilizado para arquivos de lote (Batch) - que são criados em um editor de texto qualquer e possuem uma seqüência de comandos do DOS .PAS - Arquivos de Programas em Pascal .C - Arquivos de Programas em C .DBF - Arquivos de dados .DOC - Arquivos de textos .XLS - Arquivos de planilhas Esses nomes de arquivos devem possuir de 1 a 8 (máximo) caracteres (essa limitação ocorre apenas no Sistema Operacional DOS) com extensão opcional de 1 a 3 (máximo) caracteres. 12-INFORMAÇÃO DEFINIÇÃO Dados - São fatos que descrevem eventos e entidades. Os dados referem a mais de um fato. Um único fato é referido com item. Evento - Algo que acontece em um certo tempo; ocorrência significativa para um sistema de informação. Entidade - Pessoa, lugar ou coisa; objeto de interesse para um sistema de informação. Os dados são representados por diversos tipos de símbolos tais como letras do alfabeto, números, pontos e traços, sinais, figuras, etc... . Estes símbolos podem ser arrumados e rearrumados em diversas combinações representando fatos. Quando são arrumados de forma utilizável, denominam-se informação. Informação - É um conjunto de dados significativos e relevantes que descrevem eventos ou entidades. No sentido mais comum “informação” significa fatos. No mundo da computação a informação está presente sempre que um sinal é transmitido de um lugar para outro. A informação pode ser armazenada em: livros, discos, fitas, diagramas, etc... Quando nos referimos ao armazenamento, transmissão, combinação, comparação de mensagens, dizemos que há: Processamento de Informações. 13-REPRESENTAÇÃO Dois termos que aparecem com freqüência na terminologia da informática são bit e o byte. Cada sinal elétrico que o computador processa é chamado de BIT – Binary Digit e é representado por “0” ou “1”. “1” → 5 volts (ligados, i.e., passando corrente elétrica) “0” → 0 volts (desligado, i.e., não passando corrente elétrica) 1.1.4 BIT É a menor partícula de informação em um computador, mas um único bit não consegue representar todas as letras, números e caracteres especiais com os quais o computador trabalha. É necessário agrupá-los e cada grupo é chamado de Byte. 1.1.5 BYTE É usualmente um grupo (conjunto) de 8 bits e eqüivale a um caracter. Caracter É a unidade básica de armazenamento de informação na maioria dos sistemas, ou seja, é a representação gráfica de uma letra, número ou símbolo especial do alfabeto. A tabela de código representada por bytes chama-se ASCII (American Standard Code for Information Interchange). 1.1.6 ASCII É o conjunto de caracteres contém os dígitos de 0 a 9, todas as letras minúsculas e maiúsculas, sinais de pontuação, 32 caracteres de controle e 128 caracteres especiais que incluem frações, letras de alfabeto estrangeiro e gráficos de linha para desenhar quadros e formas. Microprocessadores (para fazer cálculos, comparações, etc...) byte - 8 bits 1.1.7 bytes - 16 bits bytes - 32 bits por vez PALAVRA É a quantidade de bits que a CPU processa por vez. Nos de 8 bits os termos byte, caractere e palavra se confundem, pois todos têm 8 bits. Nos microprocessadores modernos já temos palavra de 16 a 64 bits, i.e., 2 a 8 bytes. Exercício: Transferir da memória para o microprocessador a palavra ARTE. • 8 bits = 1 byte = 1 caractere por vez. necessita 4 operações, uma para cada letra. • 16 bits = 2 bytes = 2 caracteres por vez necessita 2 operações, uma para cada letra. • 32 bits = 4 bytes = 4 caracteres por vez necessita 1 operação, uma para cada letra. • 64 bits = 8 bytes = 8 caracteres por vez necessita 1 operação, uma para cada letra e poderia ainda transferir mais 4 caracteres. Portanto quanto mais bits → mais veloz Nos três microprocessadores byte = 8 bits, o que mudou foi a palavra da CPU. 14-BASES DE NUMERAÇÃO ase 10 ou decimal , 2, 3, 4, 5, 6, 7, 8, 9) ase 2 ou binária ) 15-UNIDADES DE MEDIDA Tanto para quantificar a memória principal do equipamento como para indicar a capacidade de armazenamento, são usados múltiplos de bytes, como: K - Kilo (mil - decimal) M - Mega (milhão - decimal) G - Giga (bilhão - decimal) T - Tera (trilhão - decimal) bit = 0 ou 1 byte = 8 bits = 1 Kb = 210 = 1 Mb = 220 = 1 Gb = 230 = 28 = 256 combinações (números) 1024 bytes (Kilobytes) 1024 Kbytes = 1.048.576 bytes (Megabytes) 1024 Mbytes = 1.073.741.824 bytes (Gigabytes) 16-Sistema de Numeração Conversão de Bases Um número na base dois pode ser escrito como: am 2 m + ... + a2 2 2 + a1 2 + a0 2 0 + a1 2 −1 + a2 2 −2 + ... + an 2 n ou ainda, a i = 0 ou 1 n, m é números inteiros, com n ≤ 0 e m ≥ 0 i =n Para mudar de base dois para a base 10, basta multiplicar o dígito binário pôr uma potência de dois adequada. Exemplo1 m ∑ a .2 i i onde : 10112 = 1.23 + 0.22 + 1.21 + 1.20 = 8 + 0 + 2 +1 = 1110 Exemplo2 10,12 = 1.21 + 0.20 + 1.2−1 = 2 + 0 + 0,5 = 2,510 Exemplo3 11,012 = 1.21 + 1.20 + 0.2−1 + 1.2−2 = 2 + 1 + 0,25 = 3,2510 Para converter um número da base 10 para a base dois, tem-se que aplicar um processo para parte inteira e outro para a parte fracionária. Para transformar um número inteiro na base 10 para a base2 utiliza-se o método das divisões sucessivas, que consiste em dividir o número pôr dois, a seguir divide-se pôr 2 o quociente encontrada e assim o processo é repetido até que o ultimo quociente seja igual a 1. O número binário será, então, formado pela concatenação do ultimo quociente com os restos das divisões N10 = 1rn −1 ... r3 r2 r1 lidos em sentido inverso ao que foram obtidos, ou seja: Exemplo4 18 [ 2 0 9[ 2 1 4 0 [ 2 2 0 [ 2 1 1 [ 2 1 1810 = 100102 Exemplo5 11 [ 2 1 5[ 2 1 2 0 [ 2 0 1110 = 10112 Para transformar um número fracionário na base 10 para a base 2, utiliza-se o método das multiplicações sucessivas, que consiste em: a) Multiplicar o número fracionário pôr 2; b) Deste resultado, a parte inteira será o primeiro dígito do número na base 2 e a parte fracionária é novamente multiplicado pôr 2. O processo é repetido até que a parte fracionária do ultimo produto seja igual à zero. Exemplo6 0,1875 x 2 0,3750 0,375 x 2 0,750 0,75 x 2 1,50 0,50 x 2 1,00 0,1875 10 = 0,0011 2 0,6 x2 1,2 0,2 x2 0,4 0,4 x2 0,8 0,8 x2 1,6 0,6 x2 1,2 0,610 = 0,1001 ... 2 Exemplo7 13,2510 = 1310 + 0,2510 13 [ 2 1 6[ 2 0 3 1 [ 0,25 x 2 0,50 2 1[ 2 1 0,50 x 2 1,00 0,2510 = 0,012 0 1310 = 11012 13,2510 = 1101,012 Um número é representado, inteiramente na máquina de calcular ou no computador digital através de umas seqüências de impulsos elétricos que indicam dois estados: 0 ou 1, ou seja, os números são representados na base 2 ou binária. De uma maneira geral, um número x é representado na base β pôr: ⎡ d1 d 2 d 3 dt x = ± ⎢ + 2 + 3 + ... + t β β ⎣β β onde ⎤ exp ⎥*β ⎦ d i são números inteiros contidos no intervalo 0 ≤ d i ≤ β − 1 ; i = 1,2,3,..., t exp representa o expoente de β e assume valores entre I ≤ exp ≤ S I, S Limite inferior e limite superior, respectivamente, para a variação do expoente ⎡ d1 d 2 d 3 dt ⎤ ⎢ + 2 + 3 + ... + t ⎥ é chamada de mantissa e é parte do número que representaseus β β ⎦ ⎣β β digitos significativos e t é o número de digitos significativos do sistema de representação, comumente chamado de precisão da máquina. No sistema de base 10, tem - se : 4 5 ⎞ ⎛3 0,34510 = ⎜ + 2 + 3 ⎟ *100 ⎝ 10 10 10 ⎠ 1 4 1 5 ⎞ ⎛3 31,41510 = 0,31415 * 102 = ⎜ + 2 + 3 + 4 + 5 ⎟ *10 ⎝ 10 10 10 10 10 ⎠ Os números assim representados estão normatizados, isto é a mantissa é um valor entre 0 e 1 No sistema Binário, tem - se : 1⎞ ⎛1 0 510 = 1012 = 0,101 * 23 = ⎜ + 2 + 3 ⎟ * 23 2 ⎠ ⎝2 2 ⎛1⎞ 410 = 1002 = 0,1 * 23 = ⎜ ⎟ * 23 ⎝2⎠ Exemplo8 β = 2, t = 10, I = -15, S = 15, o número 25 na base decimal é, assim representado : 2510 = 110012 = 0,11001* 2 5 = 0,11001* 2 101 1 0 0 1 0 0 0 0 0 ⎞ 101 ⎛ 1 ⎜ 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 ⎟ * 2 ou, de uma forma mais compacta 2 2 2 2 2 2 2 2 2 ⎠ ⎝2 11 0 0 1 0 0 0 0 0 1 0 1 exp ←⎯mantissa ⎯ ⎯⎯→ ←⎯ ⎯→ Numa máquina de calcular cujo sistema de representação utilizado tenha Cada digita é chamado de bit, portanto, nesta máquina são utilizados 10 bits para a mantissa, 4 bits para o expoente e mais um bit para sinal da mantissa (se o bit = 0 positivo, se bit = 1, negativo) e um bit para o sinal do expoente, resultando no total, 16 bits, que são assim representados: 0110010000000101 Sinal da mantissa Valor da mantissa Sinal do expoente valor do expoente Exemplo9 Utilizando a mesma máquina do exemplo anterior, a representação de 3,510 seria dada pôr: 3,510=0,111*210 0111000000000010 Um parâmetro que é muito utilizado para se avaliar a precisão de um determinado sistema de Numa máquina com β = 2, t = 10, a precisão da mantissa é da ordem de 1 = 10 − 3 10 2 Logo o número de digito significativo é 3 1 precisão ≤ t β representação é o número de casas decimais exatas da mantissa e esse valor é dado pelo decimal do ultimo bit da mantissa, ou seja, o bit de maior significância. Logo: 17 - Linguagem de Programação Computacional Introdução A programação de computadores é uma atividade que tem se tornado fundamental por permitir o desenvolvimento de sistemas com objetivos específicos para os clientes. O desenvolvimento destes sistemas específicos é uma tarefa complexa que inclui o perfeito entendimento do problema, a sua modelagem na forma de um conjunto de procedimentos e de interações entre seus componentes, a sua especificação completa, a sua efetiva implementação, os exaustivos testes de validação, até o suporte e treinamento dos seus clientes. Este tutorial visa apresentar uma ferramenta que pode ser utilizada na fase de implementação de tais sistemas: o VBA. O VBA, Visual Basic for Applications, é um ambiente de programação da linguagem Basic especialmente desenvolvido para operar integrado aos aplicativos do Office da Microsoft (Word, Excel, Access). Para que a linguagem de programação Basic seja efetivamente utilizada, este tutorial se propõe, ainda, a apresentar a concepção básica de desenvolvimento dos algoritmos de forma que o processo de especificação da solução de um problema seja facilitado e confiavelmente implementado através da linguagem de programação Basic. 18-Programa Um programa é um algoritmo escrito em uma linguagem computacional. 19- Linguagem de Programação São Softwares que permitem o desenvolvimento de programas. Possuem um poder de criação ilimitado, desde jogos, editores de texto, sistemas empresariais até sistemas operacionais. Existem várias linguagens de programação, cada uma com suas características próprias. Exemplos: Pascal Clipper C C++ Visual Basic 20-Técnicas Atuais de Programação Programação Seqüencial Programação Estruturada Programação Orientada a evento e Objeto 21-Algoritmos Um algoritmo é uma seqüência lógica de comandos ou procedimentos com o objetivo de se obter um resultado a partir de um conjunto de dados. O algoritmo pode ser representado por uma caixa preta que implementa ações sobre um fluxo de dados: Dados de Entrada Seqüência de Comandos e Procedimentos Dados de Saída Tratamento de Exceções Um algoritmo é composto por quatro componentes básicos, além do tratamento de exceções: 1. 2. 3. 4. Dados de entrada; Definição de variáveis temporárias; Seqüência de comandos e procedimentos; Dados de saída. Os itens 2 e 3 devem ser totalmente transparentes para quem utiliza o algoritmo, enquanto que os itens 1 e 4 definem a interface de utilização do algoritmo. O tratamento de exceções representa o procedimento e a forma com que as anomalias (tais como divisão por zero, raiz de número negativo, etc.) são tratadas e informadas para quem estiver usando o algoritmo. Um algoritmo normalmente é composto por outros algoritmos mais simples tornando-se cada vez mais elaborado e resolvendo, portanto, cada vez problemas mais complexos. Exemplo de Desenvolvimento Textual de um Algoritmo Para se desenvolver um algoritmo, deve-se procurar de forma metódica identificar os quatro componentes básicos que o compõe e as possibilidades de erros que podem ocorrer durante o seu processamento. Para exemplificar, vamos desenvolver um algoritmo, de forma textual, para o cálculo do fatorial de um número inteiro. Dados de entrada: observando a especificação do algoritmo, tem-se que o dado de entrada é um número inteiro, que vamos apelidar de num para poder ser referenciado ao longo do algoritmo. Definição de variáveis temporárias: para se desenvolver o algoritmo, precisa-se de duas variáveis auxiliares: um contador que chamaremos de cont e uma variável temporária que conterá o resultado do calculo do fatorial e que chamaremos de fat. Seqüência de comandos e procedimentos: esta parte do algoritmo depende especialmente da capacidade de apresentar formalmente a solução do problema na forma de uma seqüência finita de comandos e procedimentos. No caso do fatorial, tem-se: Inicializar a variável fat com valor 1 Repete-se o cont de 1 até num A variável fat assume seu valor antigo multiplicado por cont Incrementar cont Por fim deve-se verificar o que se deve fazer caso o valor de num seja negativo ou igual a zero (tratamento de exceções). Dados de saída: a última parte do algoritmo é implementar a forma com que o seu resultado será passado para quem o chamou. Neste caso, o resultado do algoritmo está na variável fat e será este o valor retornado. EXEMPLO1 Algoritmo Calcula_Discriminante {Recebe 3 coeficientes (inteiros) de uma equação de segundo grau. Calcula e imprime o valor do discriminante} ALGORITIMO Discriminante Declaração a, b, c, delta Input a, b, c Delta = b ^ 2 – 4 * a * c Msgbox “o volor de delta e:” & Delta FIM Algoritmo Discriminante 1Declarar variáveis A B C DELTA 2Entrada de dados 2,1 INPUT A 2,2 INPUT B 2,3 INPUT C 3SE A =0 GOTO 2 Calcular delta 45- SE DELTA < 0 GOTO 2 56- Mostrar o resultado FIN EXEMPLO2 Algoritmo Media_V3 { Recebe o nome, as notas e imprime o nome e a média, enquanto a condição não for satisfeita} nome : String n1, n2, n3, media : Real INICIO Escreva (‘Digite o nome do Aluno:’); Leia (nome) Enquanto nome <> “Final” faça Escreva (‘Digite as notas do Aluno:’) Leia (n1, n2, n3) media <-- (n1 + n2 + n3) / 3.0 Escreva (‘O Aluno’, nome, ‘teve média’, media) Escreva (‘Digite o nome do Aluno:’) Leia (nome) Fim – Enquanto FIM Fluxogramas O fluxograma é uma representação gráfica da seqüência de ações que podem ocorrer em um programa. Para exemplificar, vamos desenvolver o algoritmo para o cálculo do fatorial de um número inteiro na forma de fluxograma. Início Ler N Fatorial = 1 I=1 I <= N I=I+1 F V Fatorial = Fatorial * I Escrever Fatorial Fim O fluxograma é um modo mais técnico, formal e uniforme de apresentar um algoritmo e/ou fluxo de informações. A seguir estudaremos cada uma das principais estruturas de dados utilizadas em um fluxograma. Terminações e fluxo de Fluxogramas O início e o fim de um fluxograma identifica onde a lógica da resolução de um problema é iniciada e onde é concluída. Estes pontos de terminação são identificados pelas seguintes figuras. Início Fim 4 4 O fluxo de comandos de um fluxograma é identificado através de setas. Além disso, um fluxograma pode ser interrompido em um determinado ponto o qual é identificado por um círculo com um número identificador de fluxo de fluxograma, como representado nas figuras a seguir. Bloco de Comandos A execução de uma seqüência de comandos em um fluxograma é identificado por um bloco de comandos, representado na figura a seguir. Comando 1 Comando 2 Comando 3 ... Um bloco de comandos pode conter apenas um comando simples ou uma seqüência de comandos. Leitura e Apresentação de Dados Qualquer algoritmo deve ter uma interação com o usuário que o estiver utilizando. Esta interação é representada pela entrada de dados no algoritmo e pela apresentação ao usuário dos resultados obtidos pelo algoritmo. A entrada de dados é representada pela leitura de informações que serão disponibilizadas ao algoritmo através de variáveis. Da mesma forma, o resultado de um algoritmo é apresentado ao usuário para que ele o visualize. Estes mecanismos são representados nos fluxogramas através dos losangos a seguir. Ler X Escrever Y Controle de Fluxo Para controlar eventos complexos, se requer a capacidade de tomar decisões e escolher entre várias opções disponíveis. As decisões podem ser representadas por fluxogramas com estruturas de tomada de decisão e encaminhamento do fluxo por um entre vários blocos de comandos diferentes. A decisão tem como referência uma expressão lógica. A expressão lógica é uma operação simples ou composta cujo resultado só pode ser verdadeiro (V) ou falso (F). A decisão baseia-se na avaliação da expressão lógica para escolher entre diversos cursos da ação. As ações podem ser expressas como comandos isolados ou blocos de comandos. Condição? Condição? V F V F Comando 1 Comando 2 ... Estruturas Repetição Comando 1 Comando 2 ... Comando 1 Comando 2 ... de A repetição é a essência de muitas aplicações do computador. É uma estrutura de controle que comanda processos repetitivos em um programa. Como estruturas de decisão, uma repetição marca um bloco de comandos para manipulação especial. As estruturas de repetição baseiam-se basicamente por um índice ou um condição lógica que são controlados e testados ao longo das repetições. Este teste é tecnicamente denominado de critério de parada da estrutura de repetição. Comandos dentro de um bloco de repetição podem utilizar-se da variável índice para finalidade específicas. Há três estruturas de repetição distintas, cada com um esquema diferente para controlar o processo interativo. O papel usual das três expressões está em inicializar, testar e incrementar uma variável índice que controla a repetição. Repetição Simples Este laço especifica explicitamente o limite de iterações antecipadamente e normalmente trabalha com uma variável índice, valor este que aumenta ou diminui conforme o comportamento da repetição. A variável índice conta as iterações e a repetição pára quando um total predeterminado é atingido. Inicial. Condição? Incr. F V Comando 1 Comando 2 ... O laço avalia a condição a cada iteração. Se a condição for falsa antes da primeira iteração, a repetição não executará ação alguma. Repetição com Pré-condição Esta estrutura expressa uma condição para manter a repetição. A condição está localizada no topo da repetição e as iterações param quando a condição torna-se falsa. É possível que o comando dentro do laço não seja realizado nem ao menos uma vez. Condição? V F Comando 1 Comando 2 ... Este laço testa a condição antes de cada iteração e não executa ação alguma se sua condição for falsa. Repetição com Pós-condição Esta estrutura também contém uma expressão condicional de controle, mas nesse caso a condição é expressa na parte inferior da repetição. O comando do laço é realizado pelo menos uma vez. Comando 1 Comando 2 ... V Condição? F Este laço testa a condição após cada iteração, portanto executa pelo menos uma iteração, mesmo se a condição for falsa no início. 22-Comandos Básicos do Visual Basic COMANDOS DE SELEÇÃO If ...Then...Else If X=1 Then Rotten A Else Rotina B End If If...Then...ElseIf If X=1 Then Rotina A ElseIf X=10 Then RotinaB End If Select Case Select Case Expressão Case Condição1 <Bloco de Instruções 1> Case Condição 2 < Bloco de Instruções 2> Case Else <Bloco de Instruções 3> End Select Exemplo: Opção=InputBox(“Digite o número da opção desejada:”) Select Case Opção Case “0” End Case “1” Incluir Case “2” Alterar Case Else MsgBox “Opção Inválida!” End Select Função Iif A expressão é primeiramente avaliada. Se for verdadeira, então o resultado retornado será aquele apresentado por RetornoV, caso contrário será RetornoF. Exemplo: Maior = IIf(Numero1 > Numero2, Numero1, Numero2) Estruturas de Repetição Do Until...Loop Do Until Condição <Bloco de Instruções> Loop Exemplo: Contador=1 Do Until Contador > 10 Contador=Contador+1 Loop Repete as instruções até que o contador seja 11 Do...Loop Until O teste é realizado no final do loop, o que significa que o bloco de instruções vai ser executado pelo menos uma vez. Do <Bloco de Instruções> Loop Until Condição Do While...Loop Executa um bloco de instruções enquanto a expressão de controle for verdadeira. Do While Condição <Bloco de Instruções> Loop Do...Loop While Executa um bloco de instruções enquanto a expressão for verdadeira, mas garante que este bloco vai ser executado pelo menos uma vez. Do <Bloco de Instruções> Loop While Condição While...Wend Similar em todos os aspectos a Do While...Loop While Condição <Bloco de Instruções> Wend For...Next For VarControle = LimiteInferior To LimiteSuperior <Bloco de Instruções> Next É possível especificar a quantidade de incrementos da variável de controle através da cláusula Step. For Contador = 1 To 100 Step 10 <Instruções> Next Comando Exit: Sair de um loop, de uma função ou de um procedimento. Exit Do: Do Until...Loop, Do...Until Loop, Do While...Loop, etc Exit For: For...Next Exit Function: para sair de uma função Exit Sub: para sair de um procedimento Não é permitido utilizar o comando Exit com While...Wend. 23- Alguns Objetos e Funções do Visual Basic Caixas de Diálogos Caixas de Mensagens (Message Box) MsgBox “Por favor insira o disquete no drive A” A caixa de mensagem será automaticamente dimensionada para conter a mensagem exibida. Forçando a quebra de linha na mensagem: Texto = “Mensagens longas devem ser quebradas” Texto = Texto & Chr(13) & Chr(10) & “incluir os” Texto = Texto & “Códigos de avanço de linha” MsgBox Texto Chr(13) = Enter Chr(10) = Avanço de Linha Caixa de Texto com Título: MsgBox “Esta caixa contém um título personalizado...”,,”Mensagem” ,, - omite o argumento opcional que especifica os botões da caixa. Incluindo Ícones MsgBox “Esta mensagem contém um ícone”,64,”Demonstração” Ícones: 16 - Crítica, 32 - Pergunta, 48 - Advertência, 64 - Informação Incluindo Botões: Ok 0 Ok Cancel 1 Abort, Retry, Ignore Yes, No, Cancel 3 Yes, No 4 Retry, Cancel 2 5 MsgBox(“Teste”, 2) Retornando o Valor (Botão Pressionado) ValorRetorno = MsgBox(“Teste”,2) Ícones e Botões ao mesmo tempo Opção=64+2 Retorno=MsgBox(“Teste”, Opção) Código de Retorno dos Botões 1 - Ok 2 - Cancel 3 - Abort (Anular) 4 - Retry (Repetir) 5 - Ignore (Ignorar) 6 - Yes 7 - No Caixas para Entrada de Dados (InputBox) A sintaxe utilizada para a função da caixa de entrada é a seguinte: Variável = InputBox(mensagem[, título][, valor inicial]) Abaixo verifica-se um exemplo de caixa utilizada para que o usuário digite sua idade: Entrada=InputBox(“Entre com sua idade:”) If Len(Entrada)=0 Then ‘Verifica o tamanho da string MsgBox “Você esqueceu de digitar sua idade” Else If Val(Entrada)=0 Or Entrada=”0” Then MsgBox “Você não digitou um número” End If End If Especificando um Valor Inicial para a Caixa de Entrada: Entrada = InputBox(“Digite sua idade:”,”Entra Idade”, “20”) 24-Rotinas para Validação de Dados Exemplo: Criar um campo para entrada de um código numérico Evento: KeyPress Rotina para validação: If KeyAscii < Asc(“0”) Or KeyAscii > Asc(“9”) Then KeyAscii=0 O valor zero faz com que o evento KeyPress ignore a tecla digitada e force uma nova entrada. Convertendo o nome para maiúsculo no momento da digitação: If KeyAscii >= Asc(“0”) And KeyAscii <= Asc(“9”) Then KeyAscii=0 Else If KeyAscii >= Asc(“a”) And KeyAscii <= Asc(“z”) Then KeyAscii = KeyAscii - 32 End If End If ASCII 97 a 122 - letras minúsculas ex.: A = 65 a = 97 97-32=65 25-Visual Basic for Applications Introdução É uma linguagem de programação baseada na conhecida linguagem BASIC. Está concebida para funcionar em conjunto com diferentes aplicações, de forma a potenciar a robustez das mesmas. Enquadra-se nos ambientes de programação baseados no processamento de seqüência de eventos (event-driven programming). História Foi inicialmente integrado com o Excel 5 em 1994. A partir daí a sua expansão para outras aplicações foi gradual. Foi com a saída do Office 97 em 1997 que a Microsoft concretizou um dos seus grandes objectivos: ter um ambiente de programação completamente integrado entre os seus quatro famosos produtos: Word, Excel, Access e PowerPoint. Actualmente, o VBA é já pôr si só um produto independente, que outras companhias podem adotar e incorporar nas suas aplicações. Visual Basic for Applications: # 2 Variáveis I Tipos Byte 0 até 255 Boolean True ou False Integer -32.768 até 32.767 Long -2.147.483.648 até 2.147.483.647 Single -3,402823E38 até -1,401298E-45 (para valores negativos) 1,401298E-45 até 3,402823E38 (para valores positivos) Double -1,79769313486232E308 até -4,94065645841247E-324 (negativos) 4,94065645841247E-324 até 1,79769313486232E308 (positivos) Currency -922.337.203.685.477,5808 até 922.337.203.685.477,5807 Decimal +/-79.228.162.514.264.337.593.543.950.335 (sem casas decimais) +/-7,9228162514264337593543950335 (com casas decimais) Date 1 de Janeiro de 100 até 31 de Dezembro de 9999 String 1 até aproximadamente 2 biliões de caracteres (até 65.400 se fixo) Variant qualquer valor numérico ou de texto Object qualquer referência a um objecto Type definido pelo utilizador Visual Basic for Applications: # 3 Variáveis II Declaração de variáveis implícita e explicitamente Necessidade de declarar ou não as variáveis antes de as usar Para não permitir o uso de variáveis implícitas: Option Explicit Para declarar uma variável VAR: Dim VAR Para declarar uma variável VAR como sendo do tipo TYPE: Dim VAR As TYPE Uma variável sem declaração de tipo tem por defeito o tipo Variant Visibilidade e longevidade de uma variável Visível em todos os módulos e durante toda a execução: Public Visível apenas no próprio módulo e durante toda a execução: Private ou Dim Visível apenas no próprio procedimento e durante a sua execução: Dim Visível apenas no próprio procedimento e durante toda a execução: Static Valores constantes Symbolic constants: Const PI = 3,14 Intrinsic constants (definidos em bibliotecas do VBA): Const LEFT_BUTTON = 1 System-defined constants: True; False; Null; Empty; Nothing Visual Basic for Applications: # 4 Operadores I Aritméticos + (adição) - (subtracção e negação) * (multiplicação) / (divisão) \ (divisão inteira) ^ (exponenciação) Mod (resto da divisão) Relacionais = (igual a) > (maior que) < (menor que) <> (diferente de) >= (maior ou igual) <= (menor ou igual) Like (como) Is (referência de objectos) Lógicos And (e lógico) Or (ou lógico) Not (negação) Imp (implicação) Xor (ou exclusivo) Eqv (equivalência lógica) Texto & (concatenação) Visual Basic for Applications: # 5 Operadores II Precedências Operador Operação ^ exponenciação - negação * , / multiplicação e divisão \ divisão inteira Mod resto da divisão + , - adição e subtracção & concatenação = , > , < , <> , >= , <= , Like , Is comparação And , Or , Not , Imp , Xor , Eqv lógica Outros caracteres Rem ou ’ (comentários) : (múltiplas instruções na mesma linha) _ (uma instrução em múltiplas linhas) Visual Basic for Applications: # 6 Procedimentos Procedimentos Sub [Public | Private] [Static] Sub nome [(lista_de_argumentos)] [...] [Exit Sub] [...] End Sub Procedimentos Function [Public | Private] [Static] Function nome [(lista_de_argumentos)] [As tipo] [...] [nome = expressão] [Exit Function] [...] [nome = expressão] End Function Visual Basic for Applications: # 7 Argumentos Declarar argumentos [Optional] [ByVal | ByRef] [ParamArray] argumento[( )] [As tipo] [= valor_por_defeito] Function area (comp As Integer, alt As Integer) As Integer Passar argumentos Correctamente: a = area(5,4) area 5,4 Call area(5,4) Erradamente: a = area 5,4 area (5,4) Call area 5,4 Nomear argumentos area alt:= 4, comp:= 5 a = area (alt:= 4, comp:= 5) Opções Optional: indica que o argumento não é necessário. ByVal: indica que o argumento é passado por valor. ByRef: indica que o argumento é passado por referência (por defeito, os argumento são passados por referência). ParamArray: permite aceitar um número arbitrário de argumentos. Visual Basic for Applications: # 8 Arrays Declarar arrays Dim nome_array(n_elementos) As tipo Option Base 1 Dim nome_array(limite_inferior To limite_superior) As tipo Preencher arrays Atribuição directa por elemento Usando a função Array Utilizar arrays com mais do que uma dimensão Dim nome_array(n_elementos, n_elementos, ...) As tipo Arrays dinâmicos Declaração ReDim Declaração Preserve Limites inferior e superior de um array: LBound e UBound Visual Basic for Applications: # 9 Estruturas de Decisão Execução condicional If condição Then [...] [ElseIf n_condição Then [...]] … [Else [...]] End If IIf (condição, valor_se_verdade, valor_se_falso) Múltiplos testes Select Case expressão_a_testar [Case n_lista_de_expressões [...]] ... [Case Else [...]] Choose (índice, valor_1, …, valor_n) End Select Switch (expr_1, valor_1, …, expr_n, valor_n) Visual Basic for Applications: # 10 Código em Ciclo Ciclos condicionais Do [ {While | Until} condição] Do While condição [...] […] […] [Exit Do] [Exit Do] Wend [...] [...] Loop Loop [ {While | Until} condição] Ciclos numeráveis For contador = início To fim [Step incremento] For Each elemento In grupo [...] [...] [Exit For] [Exit For] [...] [...] Next [contador] Next [elemento] Visual Basic for Applications: # 11 4.10 Funções Básicas I Conversão de dados CBool (expressão) CByte (expressão) CCur (expressão) CDate (expressão) CDbl (expressão) CInt (expressão) CLng (expressão) CSng (expressão) CVar (expressão) CStr (expressão) Testes sobre os dados IsArray (variável) IsDate (expressão) IsEmpty (variável) IsNumeric (expressão) IsNull (variável) IsMissing (argumento) TypeName (variável) VarType (variável) Caixas de mensagem MsgBox (mensagem [, …]) InputBox (mensagem [, …]) Visual Basic for Applications: # 12 Funções Básicas II Manipulação de strings Asc (string) Chr (código) LCase (string) UCase (string) Len (string | variável) Space (número) Left (string, comprimento) Mid (string, início [, comprimento]) Trim (string) LTrim (string) Str (número) Val (string) InStr ([início,] string_geral, string_procura) StrComp (string1, string2 [, método]) Manipulação de datas e horas Date Year (data) Date$ Month (data) DateSerial (ano, mês, dia) Day (data) Time Weekday (data) Time$ Hour (hora) TimeSerial (hora, minuto, segundo) Minute (hora) Now Second (hora) Visual Basic for Applications: # 13 26-VBA e Excel I Macros Menu <Ferramentas> seguido da opção <Macro> Gravar macros Botões <Terminar gravação> e <Referência relativa> Executar e editar macros Visual Basic for Applications: # 14 Formulários Menu <Ver> seguido das opções <Barras de ferramentas> e <Formulários> Ligar células aos controlos Menu <Formatar> seguido da opção <Controlo...> e do separador <Controlo> Atribuir macros aos controlos Menu específico sobre o controlo seguido da opção <Atribuir macro...> Visual Basic for Applications: # 15 Editor do Visual Basic Janela do projecto, janela de propriedades e janela de código Localizador de objectos Visual Basic for Applications: # 16 Código VBA e Funções do Excel Código VBA como função do Excel Funções do Excel em código VBA Visual Basic for Applications: # 17 Objectos I Conceito Qualquer coisa que numa aplicação se pode ver e manipular de algum modo Formas de manipular um objecto Alterar o seu conjunto de propriedades Activar um método específico do objecto para executar uma dada tarefa Definir um procedimento que é executado sempre que um dado evento ocorre sobre o objecto Classes e instâncias Classe de objectos: conjunto de objectos com as mesmas propriedades, com os mesmos métodos e que respondem aos mesmos eventos Instância: todo o objecto particular de uma classe Hierarquia de objectos Objecto mais geral: Application Conceito de Collection Caminhos hierárquicos Application.Workbooks(“Livro1”).Worksheets(“Folha1”) Application.Forms(“Formulário1”) Visual Basic for Applications: # 18 Objectos II Propriedades As propriedades são os atributos que definem as características dos objectos Propriedades que referenciam objectos ActiveCell.Font.Italic Consultar e alterar propriedades var = ActiveCell.Font.Italic ActiveCell.Font.Italic = True Propriedades só de leitura Métodos Os métodos são acções que descrevem o que os objectos podem fazer São executados sobre os objectos e podem conter ou não argumentos Application.CloseCurrentDatabase Combo1.Add “novo item” Eventos Os eventos são algo que acontece aos objectos Ocorrem como resultado de acções do utilizador, do sistema ou do próprio código Private Sub Form_Load() Visual Basic for Applications: # 19 Objectos III Variáveis como objectos Tipo de dados Object A instrução Set A constante Nothing O operador Is Múltiplas acções sobre um objecto With objecto [...] End With Referenciar a instância corrente de uma classe A variável Me Visual Basic for Applications: # 20 Objectos Workbook Referenciação [Application.]Workbooks(1) [Application.]Workbooks(“Livro1”) [Application.]ActiveWorkbook [Application.]ThisWorkbook Workbooks Collection [Application.]Workbooks.Add [Application.]Workbooks.Open(FileName) [Application.]Workbooks.Close [Application.]Workbooks.Count Propriedades workbook.FullName workbook.Name workbook.Path workbook.Saved Métodos workbook.Activate workbook.Close(SaveChanges, FileName) workbook.Save workbook.SaveAs(FileName) workbook.Protect(Password, Structure, Windows) workbook.Unprotect(Password) Eventos Private Sub Workbook_Activate() Private Sub Workbook_Open() Private Sub Workbook_Newsheet(ByVal Sh As Object) Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Visual Basic for Applications: # 21 Objectos Worksheet Referenciação Sheets, Worksheets e Charts [ActiveWorkbook.]Worksheets(1) [ActiveWorkbook.]Worksheets(“Folha1”) [ActiveWorkbook.]Worksheets(Array(”Folha4”, ”Folha5”)) [ActiveWorkbook.]ActiveSheet Worksheets Collection [ActiveWorkbook.]Worksheets.Add(Before, After, Count) [ActiveWorkbook.]Worksheets.Count Propriedades worksheet.Name worksheet.Visible Métodos worksheet.Activate worksheet.Copy(Before, After) worksheet.Move(Before, After) worksheet.Delete worksheets.FillAcrossSheets(Range, Type) worksheet.Calculate worksheet.Protect(Password, DrawingObjects, Contents) Eventos Private Sub Worksheet_Calculate() Private Sub Worksheet_Change(ByVal Target As Excel.Range) Visual Basic for Applications: # 22 Objectos Range Referenciação [ActiveSheet.]Range(“A1”) [ActiveSheet.]Range(“A1:B5”) [ActiveSheet.]Range(“Lucro”) [ActiveSheet.]Range(“A1”, “B5”) [ActiveSheet.]Cells(1, 2) [ActiveSheet.].Range(“B2:C5”).Cells(2, 1) Propriedades & Métodos range.Row range.Column worksheet/range.Rows(Index) worksheet/range.Columns(Index) range.Value range.Formula range.Address(RowAbsolute, ColumnAbsolute) range.Select range.Offset(RowOffset, ColumnOffset) range.Count range.Copy(Destination) range.Cut(Destination) range.Clear range.ClearComments range.ClearContents range.ClearFormats range.FillDown range.FillUp range.FillLeft range.FillRight [ActiveWorkbook.]Names.Add(Name, RefersTo) name.Delete 27-Principais Funções do VB Abs(Número) - retorna o valor absoluto de um número Asc(String) - retorna o código ASCII correspondente do primeiro caractere da string indicada Atn(Número) - calcula o arco tangente de um número CBool(Expressão) - converte uma expressão para Boolean Primeiro=10 Segundo=10 Valor=0 Ex.: Teste=CBOOL(Primeiro=Segundo) ‘Teste=True Teste2=CBOOL(Valor) ‘Teste2=False CDate(Data) - converte uma expressão para o tipo de dados Date Hoje = “June 18,1996” Data = Cdate(Hoje) CCur(Expressão) - converte uma expressão para Currency. Expressão: o argumento da função poderá ser qualquer valor numérico válido ou expressão String. Chr(Código ASCII) - retorna o caractere correspondente ao código ASCII Teste=CHR(65) ‘Teste=A CInt(Expressão) - converte uma expressão para o tipo de dados inteiro. O argumento da função poderá ser qualquer valor numérico válido ou expressão String. CLng(Expressão) - converte uma expressão para o tipo de dados Longo. Cos(Número) - calcula o cosseno de um ângulo. CSng(Expressão) - converte uma expressão para o tipo de dados Single. CStr(Expressão) - converte uma expressão para o tipo de dados String. CurDir[(Drive)] - retorna a pasta(diretório) atual Teste = CURDIR Date - retorna a data atual do sistema Teste = Date ‘Teste=22/05/97 DateAdd - retorna um valor Variant contendo a data especificada acrescida do intervalo de tempo fornecido à função Intervalo: Expressão string indicando o intervalo de tempo a ser adicionado à data especificada yyyy (year - ano) q (quarter - trimestre) m (month - mês) y (day of year) d (day) w (weekday - dia da semana) ww (week - semana) h (hour - hora) n (minute) s (second - segundo) Exemplo: Acrescentar três anos à data atual: Teste = DateAdd(‘yyy’,3,#10/10/98#) Teste=DateAdd(‘yyy’,3,Date) Acrescentar cinco horas à hora atual: Teste=DateAdd(“h”,5,Date) DateDiff - retorna o intervalo de tempo decorrido entre duas datas de acordo com a unidade de tempo especificada Exemplo: dias ocorridos de 1/1/96 até hoje: Teste=DateDiff(“d”,#1/1/96#,Date) Horas ocorridas de 10/6/96 até 20/07/97 Teste=DateDiff(“h”,#10/6/96#,#20/07/97#) DateValue(Data) - retorna uma data. O argumento é uma expressão String representando uma data. Exemplo: converter uma string numa data Teste=DateValue(“6/22/96”) ‘Teste=22/06/96 Fix(Número) - retorna a parte inteira de um número. Format: formata uma expressão de acordo com as instruções definidas pelo usuário. Sintaxe: Format(Expressão[, Formato]) Expressão: qualquer expressão válida Formato: expressão definida pelo usuário, conforme os quadros a seguir: Números: Nome do Formato Descrição General Number Exibe o número como ele é, ou seja, sem separadores de milhares. Currency Exibe o número com separadores de milhares, símbolo de moeda e dois dígitos à direita do ponto decimal. Fixed Exibe pelo menos um dígito à esquerda e dois à direita do ponto decimal. Standard Exibe o número com separadores de milhares, com pelo menos um dígito à esquerda e dois à direita do ponto decimal. Percent Exibe o número multiplicado por 100 e com o símbolo de porcentagem (%) exibido à direita do número. Sempre exibe duas casas decimais. Scientific Usa a notação científica padrão. Yes/No Exibe “No” se o número é zero; caso contrário exibe “Yes”. True/False Exibe “False” se o número é zero; caso contrário exibe “True”. On/Off Exibe “Off” se o número é zero; caso contrário exibe “On”. Data e Hora: Nome do Formato Descrição General Date Para números reais exibe a data e hora, como em 22/06/96 08:33 PM. Se o número não possui nenhuma parte fracionária, exibe somente a data, como em 22/06/96. Se não houver parte inteira, exibe apenas a hora (08:33 PM). Long Date Exibe a data de acordo com o ajuste atual do sistema para datas longas. (Exemplo: Sábado, 22 de Junho de 1996). Medium Date Exibe a data de acordo com o ajuste atual do sistema para datas médias. Ex.: 22-Jun-96. Short Date Exibe a data de acordo com o ajuste atual do sistema para datas curtas. (Exemplo: 22/06/96) Long Time Exibe a hora de acordo com o ajuste atual do sistema para horas longas. Ex.: 20:33:51 Medium Time Exibe a hora de acordo com o ajuste atual do sistema para horas médias. Ex.: 08:33 PM. Short Time Exibe a hora de acordo com o ajuste atual do sistema para horas curtas. Ex.: 20:33 Exemplos: Teste=Format(12345678, “General Number”) ‘Teste=12345678 Teste=Format(12345678, “Currency”) ‘Teste= R$12.345.678.00 Teste=Format(12345678, “Fixed”) ‘Teste=12345678.00 Teste=Format(12345678, “Standard”) ‘Teste=12.345.678.00 Teste=Format(12345678, “Scientific”) ‘Teste= 1.23E+07 Teste=Format(12345678, “Yes/No”) ‘Teste=Yes Teste=Format(#22/6/96#,”Long Date”) ‘Teste=Sábado, 22 de Junho de 1996 Teste=Format(#22/6/96#,”Medium Date”) ‘Teste= 22-Jun-96 Teste=Format(#22/6/96#,”Short Date”) ‘Teste=22/06/96 Teste=Format(“20:33”, “Long Time”) ‘Teste=20:33:00 Teste=Format(“20:33”, “Medium Time”) ‘Teste=08:33 PM Teste=Format(“20:33”, “Short Time”) ‘Teste=20:33 InStr: retorna a posição da primeira ocorrência de uma String dentro de outra. Sintaxe: InStr([Início,]String1, String2[,Compare]) Onde: Início: expressão numérica que indica a posição inicial de cada busca. Se omitido, a busca começa desde a primeira posição; String1: string onde é feita a procura; String2: expressão que está sendo procurada; Compare: especifica o tipo de comparação a ser efetuado entre as strings. Exemplo: Teste=InStr(“Casa”, “as”) ‘Teste=2 Teste=InStr(“Casamento”, “t”) ‘Teste=8 Teste=InStr(“Casa”, “z”) ‘Teste=0 Int(Número) - retorna a parte inteira de um número. IsDate(Expressão) - retorna um valor Boolean indicando se uma determinada expressão pode ser convertida para uma data. IsEmpty(Expressão) - retorna um valor Boolean indicando se uma determinada variável foi ou não inicializada. IsNumeric(Expressão) - retorna um valor Boolean indicando se uma determinada expressão pode ser avaliada como numérica. Lcase(String) - retorna uma string convertida para letras minúsculas. Left(String, Comprimento) - retorna o número especificado de caracteres a partir do lado esquerdo de uma string. Exemplo: Mensagem=”Visual Basic 5.0” Teste=Left(Mensagem, 1) ‘Teste=”V” Teste=Left(Mensagem, 6) ‘Teste=”Visual” Len(String | VarName) - retorna o número de caracteres em uma string ou o número de bytes requeridos para armazenar uma variável. Sintaxe: Len(String | VarName) Onde: String: qualquer expressão string válida. VarName - qualquer nome de variável válido. Se VarName contém Null, Null é retornado. Se VarName é do tipo Variant, Len trata a variável como uma string, retornando o número de caracteres que a mesma contém. Exemplo: Dado=”Estudo de Len” Teste=Len(Dado) ‘Teste=13 Teste=Len(“Visual”) ‘Teste=6 LoadPicture([StringExpression]) - carrega uma imagem dentro de um objeto Form Object, Controle PictureBox ou Controle Image. StringExpression: nome do arquivo gráfico a ser carregado. Os formatos dos arquivos suportados pelo VB são: BitMap (BMP), Icon (ICO), Run-Length Encoded (RLE) e Metafile (WMF). Exemplo: Exibir a imagem como fundo de um formulário, atribuindo a figura à propriedade Picture: Form1.Picture=LoadPicture(“Figura.Bmp”) Ltrim(String) - retorna uma cópia de uma string eliminando os espaços em branco existentes entre o início da string e o primeiro caractere. Mid(String, Start[, Length]) - retorna o número especificado de caracteres de uma string. String: qualquer expressão string válida; Start: posição inicial a partir da qual os caracteres serão selecionados; se a posição inicial for maior que o número de caracteres da string, uma string de tamanho zero será retornada; Length: número de caracteres que serão selecionados. Se omitido todos os caracteres desde a posição inicial especificada até o fim da mesma serão selecionados. Exemplo: Dado=”Visual Basic” Teste=Mid(Dado,1,3) ‘Teste=”Vis” Teste=Mid(Dado,4)‘Teste=”ual Basic” Teste=Mid(Dado,5,5) ‘Teste=”al Ba” Now - retorna a data e hora atuais do sistema. Right(String, Comprimento) - retorna o número especificado de caracteres a partir do lado direito de uma string. Exemplo: Dado=”Visual Basic 5.0” Teste=Right(Dado,1) ‘Teste=”0” Teste=Right(Dado,6) ‘Teste=”ic 5.0” Teste=Right(Dado,10) ‘Teste=” Basic 5.0” Rnd[(Número)] - retorna um número aleatório (randômico). Esta função retorna uma valor menor que 1 e maior ou igual a zero. Rtrim(String) - retorna uma cópia de uma string eliminando os espaços existentes entre o último caractere da string e o fim da mesma. Exemplo: Dado=”Casa “ Teste=Rtrim(Dado) ‘Teste=”Casa” Space(Número) - retorna uma string com o número de espaços em branco especificados pelo usuário. Exemplo: Dado=”Visual Basic” Teste= Dado & Space(5) & “5.0” ‘Teste=”Visual Basic 5.0” Sqr(Número) - calcula a raiz quadrada de um número. Str(Número) - retorna uma string representando o valor de um número. Exemplo: Teste = Str(123) ‘Teste=”123” StrConv(String, Conversion) - retorna uma string convertida de acordo com a operação especificada pelo usuário. Conversion: soma dos valores que especificam o tipo de conversão a ser feita. Valor Descrição 1 Converte a string para caracteres maiúsculos 2 Converte a string para caracteres minúsculos 3 Converte a primeira letra de cada palavra da string para maiúscula Exemplo: Dado=”visual basic” Teste=StrConv(Dado,3) ‘Teste=”Visual Basic” String(Número, Caractere) - retorna uma string com caracteres repetidos no comprimento especificado. Exemplo: Teste=String(5, “*”) ‘Teste=”*****” Teste=String(10, “A”) ‘Teste=”AAAAAAAAAA” Time - retorna a hora atual do sistema Trim(String) - retorna uma cópia de uma string eliminando os espaços existentes entre o início da string e o primeiro caractere e o último caractere da string e o fim da mesma. Ucase(String) - retorna uma string convertida para letras maiúsculas. Val(String) - retorna os números contidos em uma string. Exemplo: Teste=Val(“2457”) ‘Teste=2457 Teste=Val(“ 2 45 7”) ‘Teste=2457 Teste=Val(“24 e 57”) ‘Teste=24 28-Microsoft Excel Para usar o Microsoft Excel para Windows, você precisa ter: Qualquer Equipamento compatível com os sistemas IBM®. Uma unidade de disco Flexível de 3 ½ ou 5 ¼ polegadas. Um disco rígido. Uma placa gráfica compatível, com Microsoft Windows, como EGA ou VGA. Pelo menos 4 megabytes de memória Ram. Microsoft Windows 95 ou posterior no modo padrão ou avançado. Elementos da tela do Excel. Área de Trabalho - Local da planilha onde digitados os dados. Barra de colunas - Corresponde a uma barra localizada na parte superior da área de trabalho. Uma planilha pode conter até 256 colunas de (A até IV). Barra de Edição/Fórmulas - Esta barra é usada para digitar ou editar valores ou fórmulas em células ou gráficos. Serve também para exibir a fórmula ou valor da célula ativa. Use o comando Exibir Barra de Fórmulas para exibir ou ocultar a barra de fórmulas. Barra de ferramentas Formatação - Esta contém botões que irão ajudá-lo a formatar objetos, células e o conteúdo das células. Você também pode formatar objetos gráficos, como textos e linhas de grade. Verifique a função de alguns botões disponíveis em sua barra de ferramentas: Barra de Rolagem - Corresponde às barras sombreadas localizadas no lado direito e na parte inferior de uma janela. Com as barras de rolagem, você pode mover-se rapidamente através de uma planilha longa utilizando o botão de rolagem ou rolar uma linha ou coluna em uma determinada direção, clicando sobre a seta, na extremidade relacionada da barra. Barra de Status - Corresponde à barra localizada na parte inferior da tela, e exibe informações sobre um comando selecionado ou uma operação em andamento. Célula Ativa - Célula é referências de intersecção entre linha(s) e coluna(s). Exemplo: a intersecção entre linha 1 e a coluna A formará a célula A1. A célula ativa corresponde à célula selecionada e é realçada por uma borda preta. É esta célula que receberá os dados digitados na barra de Edição/Fórmulas. Guias de Planilhas - Representa os nomes das planilhas da pasta de trabalho ativa. Ao clicar sobre as guias, você passa de uma planilha a outra. A guia da planilha ativa sempre ficará em negrito. Pasta de Trabalho Uma pasta de trabalho padrão apresenta, inicialmente, 16 planilhas denominadas Plan1 a Plan16. Uma pasta de trabalho pode conter de uma a 255 planilhas. Saindo do Excel – Para sair do Excel execute o comando Arquivo – Sair ou tecle ALT+F4. Dica: Se a pastas de trabalho não foram salvas após terem sido alteradas, o Excel exibirá a caixa de diálogo: Cópia de Dados - Existem quatro formas de copiar dados: Utilizando os comandos Editar – Copiar e Editar – Colar Selecione os dados para a cópia e execute o comando Editar – Copiar. Selecione o local de destino e execute o comando Editar – Colar. Utilizando os botões “Copiar” e “Colar” Selecione os dados para a cópia e clique o botão “Copiar”. Selecione o local de destino e clique o botão “Colar”. Ao executar o comando Copiar o Excel faz uma cópia dos dados na área de transferência do Windows. Assim, estes dados, podem ser copiados para outras planilhas de outra pasta de trabalho, ou, até mesmo, para outros aplicativos. Utilizando a borda da célula para copiar Selecione a(s) célula(s) para a cópia e clique sobre a borda da(s) célula(s) quando aparecer uma seta branca. Pressione a tecla CTRL (aparecerá o sinal de mais) e arraste o mouse até o destino. Utilizando o “botão de cópia automática” Selecione a(s) células para a cópia e clique o botão de cópia automática "quando aparecer uma cruz preta arraste o mouse sobre as células adjacentes". Entrada de Dados - Os dados de entrada podem ser valores, textos, datas, horas, fórmulas e funções. Antes de digitar os dados clique com o mouse sobre a célula que irá recebê-los, digite-os e em seguida tecle Enter. Os formatos mais utilizados para Valores são: 1. Formato com Separador de Milhar: 999.999,99 2. Formato de Porcentagem: 99% 3. Formato de Moeda: R$ 999.999,99 (o símbolo da moeda tem que ser igual ao do Painel de Controle). Se o valor digitado for maior que a largura da célula, este será mostrado de forma científica ou por “##########”, mas o conteúdo da célula será o que foi digitado. Digitando Textos O máximo de caracter para uma célula é 254. Se o texto digitado for maior que a largura da célula, este será mostrado nas células adjacentes, se estas não possuírem nenhum conteúdo.] Digitando Datas Existem três formas para Datas: Formato de Dia/Mês/Ano: 31/01/01 Formato de Dia/Mês: 31 – Jan (Neste caso será considerado o ano corrente). Formato de Mês/Ano: 01/2001 (Neste caso será considerado o 1º dia/mês. Digitando Horas Existem dois formatos para Horas: Formato de Hora(s):Minuto(s):Segundo(s):23:59:59. Formato de Hora)s):Minuto(s):23:59 (Neste caso os segundos = “00”). Digitando Fórmulas O valor resultante de uma fórmula é exibido no formato numérico da célula que contém a fórmula.Antes de digitar qualquer operação matemática, é imprescindível colocar no começo o sinal de igual (=). Parênteses “( )”. Exponenciação “^”. Multiplicação “*”, Divisão “/” e Porcentagem “%”. Adição “+” e Subtração “-“. Existem três formas de digitar Fórmulas: Usando apenas Números: =(15-5)*(45+5). Usando apenas Referências: =(A1-A2)*(B1+B2). Usando Números e Referências: =(A1-5)*(45+B2). Digitando Funções No Excel, as funções de planilha serão ferramentas de cálculo que podem ser usadas em planilha para executar automaticamente decisões, ações e operações de retorno de valores.Assim como na Fórmula, é imprescindível colocar o sinal de igual(=) no começo. Exemplo: Para somarmos “A1+A2+A3+A4+A5”, usamos a seguinte Função: =SOMA(A1:A5). Criação de Fórmulas e Funções Criando Fórmulas Fórmula é uma seqüência de valores, referências, nomes, funções ou operadores contida em uma célula que produz um novo valor a partir dos valores existentes. Uma fórmula sempre começa por um sinal de igual (=). O uso de uma fórmula pode ajudá-lo a analisar dados em uma planilha. Uma fórmula pode incluir qualquer um dos seguintes elementos: operadores, referências de células, valores, funções de planilha e nomes. Para incluir uma fórmula em uma célula da planilha, digite uma combinações desses elementos na barra de fórmulas. a) Criação de Fórmulas e Funções Caso você queira somar: Somar o conteúdo da célula A1 e o da A2, e dividir o resultado por 100. Fórmula: =(A1+A2)/100. Somar o conteúdo de A1, A2 e A3 e multiplicar o resultado por 60%. Fórmula: =(A1+A2+A3)*60%. Somar um dia ao conteúdo da célula A1 (formato Data). Fórmula: =A1+1 (o formato da célula que irá receber esta fórmula será Data). Não é possível misturar textos e números em uma fórmula. As Datas e Horas são convertidas, internamente, pelo Excel para números. Por isso podemos fazer cálculos misturando números com estes formatos. b) Criando Funções No Excel, as funções de planilha são ferramentas de cálculo que podem ser usadas em planilhas para executar automaticamente decisões, ações e operações de retorno de valores. Assim como nas fórmulas, é imprescindível colocar o sinal de igual (=) no começo. Para definir de um bloco (seleção) dentro de uma fórmula usa – se o sinal de dois pontos ( : ). Exemplo: Para somarmos “A1+A2+A3+A4+A5”, usamos a seguinte Função: =SOMA(A1:A5). VEREMOS NESTE CAPÍTULO ALGUMAS FUNÇÕES MAIS UTILIZADAS Função ABS (núm) Retorna o valor absoluto de um número. O valor absoluto de um número é o próprio número sem o respectivo sinal. Núm é o número real do qual você deseja obter valor absoluto. Exemplos: =ABS(2) igual a 2 =ABS(-2) igual a 2 =ABS(100-40) igual a 60 Função ARRED (núm; núm_dígitos) Arredonda um número até uma quantidade especificada de dígitos. Núm é o número que você deseja arredondar. Núm_dígitos – especifica o número de dígitos pára o qual você deseja arredondar núm. Exemplos: =ARRED(2,15;1) é igual a 2,2 =ARRED(2,149;1) é igual a 2,1 =ARRED(-1,475;2) é igual a –1,48 =ARRED(21,5;-1) é igual a 20 Função Raiz(núm) Retorna uma raiz quadrada positiva. Núm é o número do qual você deseja obter a raiz quadrada. Se núm for negativo, RAIZ retornará o valor de erro #NUM! Exemplos: =RAIZ(16) é igual a 4 =RAIZ(-16) é igual a #NUM! =RAIZ(ABS(-16)) é igual a 4 Função SOMA(núm1;núm2;...) Retorna a soma de todos os números na lista de argumentos. Núm1, núm2,...são argumentos de 1 a 30 que se deseja somar. Os números, valores lógicos e representações em forma de texto de números digitados diretamente na lista de argumentos são contados. Consulte o primeiro e o segundo exemplos seguintes. Se um argumetno for uma referência, apenas os números nesta referência serão contados. Células em branco, valores lógicos, texto ou valores de erro na referência são ignorados. Consulte o terceiro exemplo a seguir. Exemplos: SOMA(3;2) é igual a 5 =SOMA(“3”;2;VERDADEIRO) é igual a 6 porque os valores de texto são traduzidos em números e o valor VERDADEIRO é traduzido no número 1. Diferente do exemplo anterior, se A1 contiver “3” e B1 contiver VERDADEIRO. Então: =SOMA(A1;B1;2) é igual a 2 porque as referências a valores não-numéricos nas referências são traduzidas. Se o bloco (seleção) A2:E2 contiver 5, 15, 30, 40 e 50: =SOMA(A2:C2) é igual a 50 =SOMA(B2;E2;15) é igual a 150 Você também pode usar o botão de “Auto-Soma” para fazer a soma de um bloco (seleção). Veja a ilustração abaixo: Selecione uma célula adjacente ao bloco e clique sobre o botão de “Auto-Soma”. Funçaõ AGORA( ) Retorna o número de série da data e hora atuais. Exemplos: =AGORA( ) é igual a 31778.52083 ou 01/01/1995 12:30:00 Dez minutos mais tarde: =AGORA( ) é igual a 31778,2778 ou 01/01/1995 12:40:00 Funçaõ HOJE( ) Retorna o número de série atual. Exemplos: =HOJE( ) é igual a 31778 ou 01/01/1995. Função TEMPO(hora; minuto; segundo) Retorna o número de série de uma determinada hora. O número de série retornado por TEMPO é uma fração decimal que varia de ( ) a 0.99999999, representando as horas de 0:00:00 (12:00:00 A.M.) a (11:59:59 P.M.). Hora é número de 0 a 23 que representa a hora. Minuto é um número de 0 a 59 que representa o minuto. Segundo é um número que representa de 0 a 59 que representa o segundo. Função MÉDIA(núm;núm2;....) Retorna a média aritmética dos argumentos. Núm1; núm2;... são de 1 a 30 argumentos numéricos para os quais você deseja obter a média. Os argumentos devem ser números ou nomes, matrizes ou referências que contenham números. Se uma matriz ou argumento de referência contiver texto, valores lógicos ou células vazias, estes valores serão ignorados; no entanto, células com valor nulo serão incluídos Exemplos: Se A1:A5 contiver os números 10,7,9,27 e 2, então: =MÈDIA(A1:A5) é igual a 11 =MÉDIA(A1:A5;5) é igual a 10 Funções Condicionais Função SE(teste_lógico;valor_se_verdadeiro;valor_se_falso) Retorna valor_se_verdadeiro se teste_lógico for verdadeiro ou valor_se_falso se teste_lógico for falso. Use SE para conduzir testes condicionais sobre valores e fórmulas e para efetuar ramificações de acordo com o resultado deste teste. O resultado do teste determina o valor retornado pela função SE. Exemplo: Suponha que A1=100 e A2=50 SE(A1>A2:”A1 é Maior que A2”;”A1 é Menor que A2”) é igual a “A1 é Maior que A2”49 29- FORMATAÇÃO DE CÉLULAS, LINHAS, COLUNAS E PLANILHAS Formatando Linhas Execute o comando Formatar - Linha para ajustar a altura da linha e ocultar ou reexibir linhas. Você só precisa selecionar uma célula em uma linha para modificar a altura da linha toda. Para modificar a altura de todas as linhas em uma planilha, selecione a planilha toda. Clique duas vezes sobre a borda inferior do cabeçalho de linha para ajustar a altura da linha da melhor maneira. Os subcomandos não estarão disponíveis se a planilha estiver protegida. Subcomando Altura Exibe a caixa de diálogo Altura da Linha. Na caixa “Altura da Linha”, você pode digitar um número de 0 a 409 representando a altura de linha em pontos. Se definida como 0, a linha será ocultada. Subcomando Auto Ajuste Volta cada linha na seleção para a altura padrão dentro da linha. A altura padrão para uma linha varia de acordo com o tamanho da fonte. Subcomando Ocultar Oculta as linhas selecionada. Tecla de atalho: CTRL+9 Subcomando Reexibir Reexibir linhas ocultas dentro da seleção. Para selecionar linhas ocultas, selecione células nas linhas imediatamente acima e abaixo da que está oculta. Tecla de atalho: CTRL+SHIFT+9. Formatando Colunas Execute o comando Formatar - Colunas para ajustar a altura da coluna e ocultar ou reexibir colunas. Você só precisa selecionar uma célula em uma coluna para mudar a largura para a coluna toda. Clique duas vezes a borda direita do cabeçalho de coluna para ajustar a largura da coluna rapidamente da melhor maneira. Os subcomandos não estarão disponíveis se a planilha estiver protegida. Subcomando largura Exibe a caixa de diálogo Largura da Coluna. Você pode digitar um número de 0 até 255 na caixa “Largura da Coluna”. Este número representa o número de caracteres que podem ser exibidos em uma célula usando a fonte padrão. Subcomando Auto Ajuste da Seleção Define a coluna para a largura mínima necessária para exibir o conteúdo das células selecionadas. Se posteriormente, você modificar o conteúdo da célula, deverá ajustar a seleção novamente. Atalho: Clique duas vezes sobre a borda direita do cabeçalho de coluna. Subcomando Ocultar Oculta as colunas selecionadas. Tecla de atalho: CTRL+0 (zero). Subcomando Reexibir Reexibe colunas ocultas dentro da seleção. Para selecionar colunas ocultas, selecione células na coluna imediatamente à esquerda e à direita da que está oculta. Tecla de atalho: CTRL+SHIFT+0 (zero) Subcomando Largura Padrão Exibe a caixa de diálogo Largura Padrão. Para voltar as colunas selecionadas para a largura padrão, escolha o botão “OK”. Para modificar a largura para todas as colunas que você não ajustou previamente na planilha ativa, digite um número inteiro ou fração decimal de 0 até 255 na caixa “Largura padrão da coluna”. Este número representa o número de caracteres que podem ser exibidos em uma célula na fonte padrão. 30- Criação e Edição de Gráficos Criando um Gráfico com o Auxiliar Gráfico O Auxiliar Gráfico é uma seqüência de caixas de diálogo que o orienta através das etapas necessárias para criar um novo gráfico ou modificar as definições de um gráfico existente. Antes de criar um gráfico, é interessante selecionar a faixa de dados que deseja para o gráfico. Dados do Gráfico Execute o comando Inserir – Gráfico ou clique o botão “Auxiliar Gráfico”. Desmarque o local onde o gráfico será exibido (cliqueando e arrastando o mouse). O Auxiliar Gráfico exibe cinco etapas ou duas, dependendo da sua seleção. Se os dados da planilha forem selecionados, todas as cinco etapas serão exibidas, pois você está criando um novo gráfico. Caso você tenha selecionado um gráfico existente para modificá-lo, só serão exibidas duas etapas. Ao escolher o botão “Finalizar”, em qualquer etapa, o Auxiliar Gráfico termina o Gráfico para você. Etapa 1 de 5 Especifique um intervalo de planilha. Etapa 2 de 5 Selecione um tipo de gráfico. Etapa 3 de 5 Selecione um formato de gráfico para o tipo de gráfico selecione na etapa 2. Etapa 4 de 5 As opções exibidas dependem do tipo de gráfico selecionado na etapa 2. Especifique a orientação do gráfico, ou seja, se que a seqüência de dados em linhas ou colunas. Dependendo se a seqüência de dados se encontram em linhas ou colunas, especifique como os dados das primeiras linhas e colunas devem ser utilizados: para rótulos de eixo, texto de legendada ou título do gráfico (no caso de gráfico torta e de rosca). Ao especificar 0 (zero), a primeira linha ou coluna será exibida como uma seqüência de dados ou como pontos de dados. Depois de selecionar cada opção, você poderá ver como o gráfico será apresentado na caixa “Exemplo do Gráfico”, que é atualizado após cada mudança. Etapa 5 de 5 Indique se deseja uma legenda. Digite um título para o gráfico e/ou para cada eixo, se desejar. Após selecionar cada opção, você poderá ver a aparência do seu gráfico na caixa “Exemplo de Gráfico”, atualizado após cada mudança. Universidade Federal de Rondônia Campus de Ji-Paraná – RO Prova 1 Processamento de Dados Aluno: _________________________________________________ Curso: __________________ Turma: ______________ N °____________ Data: ____/____/____ n Faça a conversão dos números abaixo: a) 11011,111012 para B10 b) 34,1610 para B2 c) 3458 para B10 d) 11,012 Para B10 o Dar a representação do número 9,35 numa máquina cujo sistema de representação é: β = 2, t = 10, I = -15, S = 15 ¸ Converta os seguintes números para a forma binária b) 23010 c) 25,4210 a) 3710 ¹ Converta os seguintes números para a forma decimal b) 11,12 c) 10,012 a) 10112 º Considerando o sistema de representação da questão dois, qual o valor decimal do número 0110010000000101