You are on page 1of 24

2 A Programao Bsica

2.1 A Entrada de Dados


Para um computador poder cumprir as ordens que um programador criou, ele precisa conhecer algumas informaes iniciais. Assim como o ensinamento de uma criana nos princpios dos primeiros passos, onde um adulto precisa orientar e direcion-la, um programa de computador precisa receber do usurio informaes iniciais conhecidas como entrada de dados. fundamental que o programador tenha conscincia que o usurio na maioria das vezes quer uma resposta rpida para o tipo de processo que est trabalhando. Sendo assim, um programa de computador que necessita de entrada de dados externos, no pode de maneira alguma pedir grandes quantidades de informaes iniciais. O melhor programa aquele que necessita de uma quantidade mnima de informaes externas para seu funcionamento. Um algoritmo como uma receita de bolo, isso foi que me ensinaram no tempo de graduao. O nome da receita o nome do programa. Os ingredientes so as definies dos tipos de variveis que o programador vai usar. E o algoritmo em si, a forma como o bolo ser feito.

Figura 2.1 - Equivalncia Receita de bolo e algoritmo

19

Desde os primrdios dos tempos de tecnologia de programao, um programa de computador precisa passar por algumas seqncias de avaliaes. O editor de texto onde o usurio escreve o que ele deseja que o computador realize. Depois de escrever o programa, para que o mesmo converse com o computador, no pode haver erros na colocao das regras dentro da linguagem escolhida. Para isso as averiguaes de inconsistncias entre o que o programador deseja e o que ele pode usar naquela linguagem escolhida realizada pelo compilador. Caso haja alguma inconsistncia entre o programa escrito e a notao dos smbolos e regras permitidas pela linguagem, uma mensagem de erro enviada pelo compilador. A ltima fase o processo de linkagem realizada pelo linkador que vai atrelar ao programa todas as bibliotecas de funes que o programa poder acessar. Exemplo: a impresso de um grfico precisa de uma rotina da linguagem que permita a impresso. Se a linguagem no tem essa rotina ou funo que permita o programa imprimir um grfico ou imagem, o programa no poder realizar a tarefa e uma mensagem de erro ser emitida para o usurio. Todos esses alertas podem deixar o leitor iniciante confortvel, achando que seus erros sero alertados pelo computador. No, infelizmente o pior dos erros nunca alertado pelo computador. O erro lgico de pensamento do programador nunca encontrado pelo computador. Exemplo: se o programador enviou uma ordem para que o computador fazer a operao 2 + 3 = 4, se a regra de soma estiver de acordo com as permisses da linguagem, o computador vai enviar ao usurio a mensagem que dois mais trs quatro e no cinco. O problema que o computador recebeu uma ordem lgica errada, mas com comandos certos. Assim, caro leitor, lembre-se que seus erros de programao somente um ser humano poder encontrar ( no VBA-Excel pelo menos ).

Figura 2.2-

O processo de programao

No entanto, no VBA-Excel esse processo muito rpido e o leitor nem perceber qual dos processos est ocorrendo. Nos primrdios dos primeiros computadores linguagens as vezes demoravam minutos e at horas para compilar e mais ou menos o mesmo tempo para linkar. Exemplo disso a linguagem cientifica que dominou o mundo acadmico at a dcada de 1990, o FORTRAN, onde os compiladores eram programas externos a linguagem e os linkadores tambm. Para a execuo de um programa, o programador tinha que esperar bastante tempo e torcer para no acusar erros em sua programao.

20

Figura 2.3- Acessando o Visual Basic da planilha do Excel No caso do VBA-Excel, o ambiente de programao das macros se encontra no caminho ferramentas macros editor do visual basic. Ento aparecer a tela de programao ainda vazia com tela a esquerda mostrando a raiz e as planilhas contidas no arquivo em Excel (janela do project explorer) e a janela de propriedades que sero exploradas nos captulos posteriores. Clica-se ento no caminho ferramentas macros e ento ao abrir a nova tela de nomes, coloca-se um nome para o programa (ver Figura 2.5). Ao clicar no boto criar ser aberta a tela onde o programa dever ser escrito. nessa tela que comea toda a programao dos algoritmos e ser nessa tela que o computador interpretar os comandos do programador ( Figura 2.6).

21

Figura 2.4- Acessando o ambiente de macros

Figura 2.5- Escrevendo o nome do programa

22

Figura 2.6 Tela onde o algoritmo dever ser escrito.

Algumas observaes importantes devem ser feitas em relao ao nome do programa e nomes de variveis. Tanto os nomes dos programas quanto de variveis devem seguir a seguinte regra de nomeao: No pode comear com NMERO Exemplo: 1prog, 10xpe, 2123cal, 1aula, No pode ter espaos em branco Exemplo: aula 1 prog comp No pode ter acentos, c cedilha, ou qualquer pontuao Exemplo: aulo1 cwqr No pode passar de 8 caracteres Exemplo: programadecomputao1 Auladecomp PODE misturar letras e nmeros Exemplo: prog1 pr23rtu

23

Uma vez no mdulo de programao o usurio est pronto para colocar os algoritmos em funcionamento, utilizando-se para isso da linguagem de programao Visual Basic for Aplications (VBA). O primeiro ponto de contato do leitor com a programao que ser necessrio informar o computador sobre dados de entradas das variveis de problemas. O computador precisar sempre de uma informao inicial para poder processar os algoritmos. Essa informao inicial que se chama entrada de um programa de computador. Antes ser necessrio informar ao computador, quais so as variveis de que ele ir dispor no programa. A declarao das variveis feita atravs da nomenclatura dim que vem da palavra dimension, a qual dimensiona o tipo de varivel a ser usada pelo computador. Observe o trecho do programa teste a seguir:

O programa est informando ao computador que ele ter que usar uma varivel chamada x e ainda que essa varivel do tipo Integer, ou seja, uma varivel do tipo inteira, onde somente receber e usar valores inteiros (...,-2,-1,0,1,2,...). A partir de agora o computador precisar ter a informao de entrada sobre qual esse valor de x. Essa informao ser passada pelo usurio atravs de uma caixa de texto, com nome InputBox. Essa caixa ainda poder definir ao usurio qual o tipo de dado est entrando no programa. Por exemplo, se o dado for valor inteiro (Integer) ento a caixa de entrada receber uma nomeao Cint que significa (Change Integer). Outros tipos de caixa podero ser inseridos com tipos de variveis diferentes: CInt() dados inteiros. CSng() dados reais. CDbl() dados com dupla preciso. CStr() dados texto (String). Ento o programa teste para a entrada do valor de x ser:

O texto entre aspas o que o usurio ir receber na caixa de texto. Dentro das aspas o programador poder programar e escrever qualquer tipo de texto, pois a caixa reproduzir toda informao entre aspas. O resultado para o usurio ser:

24

Ao entrar com os dados o usurio informa ao computador o valor da varivel x e ento o computador poder fazer os clculos necessrios pois conhecer quem essa varivel. Mas, como o usurio visualizar o resultado das operaes programadas. Isso o que se chama sada de dados.

2.2 A sada de Dados


A entrada de dados fornece ao computador as condies para o programa funcionar e fazer clculos. Mas a visualizao dos resultados permitir uma conversa entre o usurio e o computador. A sada de dados muito fcil no caso do VBA-Excel usando para isso uma caixa de mensagens, chamada de MsgBox( ). Novamente, o texto entre aspas o que o usurio visualizar do resultado. Mas alm do texto, o valor da varivel dever aparecer ao usurio. E como o prprio nome diz, varivel a variante do programa e sempre est relacionada com algum clculo. Ento, como o computador exportar para o usurio o resultado de uma varivel? Utiliza-se sempre para variveis na programao VBA o smbolo & para indicar que depois dele o valor depende de clculos anteriores. Uma vez o programa estando pronto ele deve ser executado para que os passos de compilao execuo sejam realizados. Para se executar o programa e ver o resultado da programao o usurio deve ir at a caixa de ferramentas superior dentro do mdulo onde o programa est sendo programado e clicar em Executar atravs do boto contida na barra padro conforme Figura 2.6. ou na palavra executar

Figura 2.6 Barra de ferramentas padro do mdulo de programao VBA

O exemplo a seguir mostra como a entrada de x apresentada na sada ao usurio atravs dos dois comandos InputBox e MsgBox.

25

O resultado ser a caixa de mensagem a seguir informando ao usurio o valor 2 que o usurio entrou na caixa InputBox.

A entrada de dados para o valor x = 2 ( via InputBox )

A sada de dados para o valor x = 2 ( via MsgBox)

Exemplo 2.1 Fazer um programa para calcular e mostrar ao usurio o valor de y dado pela equao y = 2 x + 4 . Quem a entrada desse programa? Claro que ser a varivel x enquanto a varivel y ser a sada que dever ser visualizada pelo usurio. E quais os tipos de resultados? Para qualquer valor de x, teremos valores de y desde que eles respeitem a regra da equao proposta. Ento x poder ser inteiro, racional ou real. Logo tanto a varivel de entrada x quanto a varivel de sada y sero nmeros reais. A macro programada nesse caso ser a apresentada a seguir.

26

O leitor iniciante perceber que o produto deve ser indicado pelo smbolo * . Sem esse smbolo o computador no saber que a constante x deve ser multiplicada por dois. Aqui cabe um parntesis. Na verdade y no igual a 2*x+4, mas sim ela est recebendo dessa operao um certo valor que dever ser armazenada numa certa posio de memria. O mais correto e aplicado durante muito tempo em cursos de computao tradicionais era que

y 2* x + 4
Essa sim a representao mais correta para no confundir principiantes de que se y=x ento x=y em qualquer parte do programa. Se na linha de baixo do programa, aparecer uma outra operao envolvendo y, o valor de x no ser alterado. Observe o exemplo a seguir 2.2. A pergunta nesse algoritmo ser: Qual o valor final de x quando o usurio entra com o valor x = 5? O valor de x ser 1 ou 5? Observe que quem recebe o valor de x y e no x recebe o valor de y. A notao mais correta

yx
que indica que y est recebe o valor de y, mas nada informado ao computador sobre o valor de x. Logo essa varivel x ter na memria o mesmo valor que o usurio entrou. Ou seja, no exemplo 2.2 se o usurio entrar com x = 5 a sada ser y = 1, pois y est recendo antes da apresentao na caixa de mensagens o valor 1 ou
y 1

27

Exemplo 2.2

A execuo desse programa usando x = 5 tem como resultado y = 1 conforme mostrado nas duas telas de execuo:

Exemplo 2.3
Elaborar um programa que onde o usurio entre com o valor de x e o programa mostre o valor de y respeitando a equao y = x 2 + 2 x + 5 . Aqui a novidade apenas como elevar a varivel ao quadrado, onde para isso o programador dever usar o smbolo ^ entre o x e a potncia. A soluo ser:

28

Exemplo 2.4

O usurio dever entrar com x e o programa imprimir o resultado da equao y= x A novidade nesse programa que a linguagem VBA assim como outras linguagens uma funo pr-definida para extrair a raiz quadrada de um nmero. No caso do VBA a funo Sqr( ), que vem da palavra em ingls Square Root (raiz quadrada).

O resultado para x = 4 sero as telas a seguir:

Exemplo 2.5 {Descobrindo o ano de nascimento} Fazer um algoritmo onde o computador dever descobrir o ano de nascimento do usurio.

Esse algoritmo causa a sensao no usurio, de que o computador pensa ao responder. Logicamente s uma sensao pois o computador dever seguir lgica de linhas de pensamento humanas para poder dar a resposta. Assim, quando desejamos saber em que ano uma pessoa nasceu, qual a primeira pergunta que surge? bvio que ser: qual sua idade. E depois o que se faz subtrair o ano em que se est da idade da pessoa. Ento a linha de passos que o computador dever seguir ser: 1. 2. 3. 4. Usurio dever entrar com a idade. Ano atual subtrado da idade. Ano de nascimento recebe valor da operao ano atual subtrado da idade. Mostre o valor de ano de nascimento na caixa de mensagens.

29

Em termos de algoritmo a soluo ser: 1. Leia idade. 2. anonasc = 2007 idade 3. imprima anonasc Deve ser observado que nunca se pode usar uma varivel com nomes muito grande ou separada por espaos em branco. Para o programador sempre interessante usar nomes sugestivos da varivel ou se for o caso, usar o sinal de subscrio _ e nunca o hfen -. A varivel ano de nascimento poderia ser: anonasc, anonac, ano_nas, ano_de_nascimento, etc. Mas nunca ano de nascimento pois isso ocasionaria o chamado erro de compilao como pode ser observado a seguir.

Ento a soluo para esse algoritmo muito simples e a menos do cuidado dos nomes das variveis, acaba sendo mais simples do que os demais, mas causa a sensao de que o computador est realmente pensando sobre seu ano de nascimento.

30

O resultado da execuo ser:

Exemplo 2.6 {Descobrindo a idade} Fazer um algoritmo para descobrir a idade do usurio. Esse algoritmo o problema inverso do exemplo anterior, onde agora o computador deve descobrir a idade do usurio. A pergunta que o algoritmo deve fazer sobre o ano de nascimento do usurio. O algoritmo fica:

O leitor pode observar que a novidade nesse algoritmo a impresso na caixa de mensagem de texto aps a impresso da varivel. Sempre que se desejar continuar uma impresso de texto aps o aparecimento do valor das variveis, deve-se usar o smbolo & antes da varivel e atrs da varivel, para indicar que a caixa conter um texto logo a seguir.
Exemplo 2.7 {Raio de um crculo} Fazer um algoritmo onde o usurio entra com o raio de crculo e o programa mostra ao usurio a rea do crculo.

A rea de um crculo calculada com base no raio, ou seja,


Area = r 2 Ento, a pergunta bsica que o computador deve fazer ao usurio qual o valor do raio do crculo. E o valor do ? O programador pode usar uma aproximao para a varivel pi adotando por exemplo o valor 3,14. Mas o cuidado que deve ter que em programao

31

no existe vrgula separando as casas decimais como numa planilha comum do Excel com ortografia em Portugus. A separao deve ser feita com ponto decimal (.). Assim a constante pi deve ser 3.14 e no 3,14 na programao. A soluo apresentada na macro a seguir.

Exemplo 2.8 {O retorno mdio de um investimento }

Um usurio possui aplicado dinheiro em trs tipos de investimentos que fornecem trs tipos de retornos diferentes conforme a tabela a seguir:
Retorno 12 9 6 Probabilidade 1/3 1/3 1/3 Evento 1 2 3

Sabendo-se que a frmula do retorno mdio

R=

3 i =1

ri

Fazer um algoritmo que pea ao usurio os trs retornos de investimento e assumindo uma probabilidade de ocorrncia de sucesso igual para os trs investimentos iguais a p calcule o retorno mdio pela frmula anterior.

Nesse caso, a probabilidade p deve ser solicitada pelo programa ao usurio e a soma dos trs retornos r1, r2 e r3 multiplicada por ela. O algoritmo :

32

Exemplo 2.9 { Algoritmo da adivinhao} 1. Pea ao usurio para digitar a idade dele. 2. Mande uma mensagem para ele pensar num nmero diferente de zero. 3. Mande uma mensagem para ele multiplicar o nmero pensado por 2. 4. Mande ele somar mentalmente o nmero resultante pelo nmero 6. 5. Mande uma mensagem para ele dividir o resultado pelo nmero 2. 6. Envie uma mensagem para ele subtrair o resultado obtido do valor do primeiro nmero pensado. 7. Mande a mensagem: O resultado 3

Por que esse algoritmo funciona e sempre fornece o resultado 3? Observe o que acontece com a matemtica das operaes que est por trs da brincadeira desse algoritmo.

33

1. x = fornecido pelo usurio 2. y = 2*x 3. y = y + 6 (2 * x + 6) = x + 3 4. z = y / 2 = 2 5. Resultado = z x = (x + 3) x = 3

ogo para qualquer nmero pensado o resultado sempre ser o nmero 3. O leitor deve estar perguntando porque a varivel idade entrou no programa. Para nada! Ela apenas entra para o usurio pensar que a idade tem alguma importncia no programa, mas na verdade ela no usada.

2.3 A Lgica Condicional


Algoritmos onde se efetuam clculos so bastante parecidos com calculadoras comuns e no demonstram todo o poder da computao na resoluo de problemas. A figura de uma condio divisria de eventos na programao o que faz a lgica de um algoritmo se aproximar da mente humana na resoluo de problemas. Todas as linguagens de programao possuem a estrutura de desvio lgico de um algoritmo. A funo para o desvio lgico no VBA a funo SE. Na planilha do Excel ela aparece em lngua portuguesa e tem a caracterstica de colocaes das lgicas necessrias no parntesis =SE(condio; verdade; falso). No caso da programao a funo If e tem a estrutura

onde os comandos so lgicas operacionais do programa que estaro sujeitas a condio ser verdadeira ou falsa depois do If. Se a condio for verdadeira ento a linha logo abaixo do Then verdade e sero obedecidos esses comandos no programa. Caso seja falso depois do Else entra os comandos para essa condio. A estrutura if-then-else tem um resultado lgico binrio que divide o programa em ramos verdadeiros e falsos. Mas ateno todo if deve terminar com um End If.

34

Exemplo 2.10 Fazer um algoritmo que leia um nmero inteiro. Se esse nmero for menor ou igual do que 10 o programa envia uma mensagem ao usurio prejuzo. Caso contrrio mande uma mensagem lucro.

Esse algoritmo desvia depois da leitura o programa para a linha abaixo depois do Then caso o nmero fornecido pelo usurio seja menor que 10. Caso contrrio, o compilador manda o programa pular todas as ordens at encontrar o comando Else onde ento executar esses comandos at encontrar o End If.
Exemplo 2.11 Se uma conta bancria contm saldo inferior a R$10.000,00 o banco pagar juros de 2% ao ms na remunerao da conta-poupana. Se o saldo for superior a R$10.000,00 o banco pagar juros de 3% ao ms. Fazer um programa onde o usurio entra com o saldo de sua conta bancria e o programa informa o saldo corrigido.

35

O resultado ser

Muitas vezes necessrio encadear muitos if para traduzir o pensamento lgico desejado na soluo de um problema. Alm da estrutura if-then-else existe a possibilidade do uso do elseif que significa caso contrrio se. Esse comando lgico deve ser usado quando indicado ao computador que ao negar uma afirmao ele o faa em troca de outra pergunta lgica. Isso no significa que sempre que ocorrer uma falsidade na afirmao deve-se utilizar o comando elseif. s vezes o uso de vrios if um aps o outro pode resolver o problema da mesma forma.
Exemplo 2.12 No exemplo 2.10, suponha agora que se a conta possuir saldo inferior a R$10.000,00 o banco pagar juros de 2%. Mas diferente do exemplo anterior, assuma agora que para cada R$5.000,00 adicional acima de R$10.000,00 o banco pagar 0,5% a mais at atingir a taxa limite de 4%. Fazer um programa para calcular quanto uma conta bancria nessas condies ter no final do ms.

36

Algumas observaes importantes devem ser feitas a cerca desse exemplo com o uso do elseif. Se o saldo for inferior a R$10.000,00 a taxa assumida ser de 0,02 que corresponde a 2%. Mas caso contrrio, ou seja, se a taxa igual ou superior o computador deve perguntar se ela menor que R$15.000,00. Ento a diferena entre um else e um elseif que quando existe uma negao e o computador tem um elseif, ele no est somente verificando a negao da condio anterior, mas tambm perguntando se com a primeira negao a segunda condio satisfeita. Ento a parte do programa a seguir

tem o mesmo significado matemtico de um intervalo de validade, ou


10.000 < saldo < 15.000

Exerccio 2.13 Fazer um programa onde o computador leia um nmero inteiro fornecido pelo usurio e envia uma mensagem se esse nmero par ou mpar.

Discusso da resoluo Existem diversas maneiras de programar e pensar no algoritmo para resolver esse simples problema. O primeiro recordar dos tempos colegiais como esto relacionados os termos de uma diviso: divisor, dividendo, quociente e resto.

Dividendo Resto

Divisor Quociente

A relao matemtica entre resto e os demais fatores

resto = Dividendo Divisor * Quociente


Ento o que se deve fazer primeiro fazer a diviso entre o nmero (dividendo) pelo nmero 2 (divisor) e guardar o resultado numa varivel quociente. Definindo essa varivel como inteira o resultado sempre ser truncado e inteiro. Ento se faz a subtrao do nmero que o usurio entrou (dividendo) por duas vezes o quociente. Ento se usa a regra lgica para perguntar se o resto zero ou no. Se for zero o computador envia uma mensagem ao usurio dizendo que o nmero par, caso contrrio que o nmero impar. O programa resolvido apresentado a seguir.

37

Uma outra forma de resolver esse problema fazendo o uso da funo mod que toda linguagem de programao possui. Essa funo j fornece o resto da diviso entre dois nmeros e sua utilizao segue a seguinte regra: x = num1 mod num2 e o resultado para x ser o resto da diviso de num1 por num2. Ento para o exemplo do nmero par ou mpar o programa fica como a seguir.

A ltima soluo apresentada a mais simples de todas. Para saber se o nmero par ou mpar basta usar a regra matemtica da potenciao do nmero (-1). Ou seja, todo nmero negativo elevado a nmero par ser positivo e elevado a mpar ser negativo. Ento basta programar uma condio lgica que verifica se o sinal dessa operao positivo ou negativo. A soluo apresentada a seguir.

38

Nesse ponto o leitor pode ficar confuso e se perguntar sobre qual soluo a mais correta?. A resposta que todas as formas so corretas desde que o resultado final seja correto. Claro que existem algumas solues mais rebuscadas e confusas com passos a mais que outras mais claras e objetivas. Esse tipo de anlise que faz a diferena num programador, que se faz entender aos outros ou somente a si prprio em sua programao. No entanto, sob o ponto de vista de anlise, se o programa solucionou o problema de forma correta em todos os passos, tanto faz a forma de resolver. O diferencial que o melhor programador se destaca perante aos outros se alm de mais elegante e simples seu programa economizar memria, o que significa economizar energia e tempo dispensado no trabalho.

2.4 Exerccios
(1) Fazer um algoritmo e programa em VBA-Excel onde o usurio entra com um nmero e o programa imprime uma mensagem dizendo se o nmero positivo ou negativo. (2) Fazer um algoritmo e programa em VBA-Excel onde o usurio entra com 3 nmeros usando InputBox e o programa calcula a mdia. (3) Projetar um algoritmo onde o usurio entra com 3 nmeros usando InputBox e o programa descobre e imprime uma mensagem dizendo qual o maior e qual o menor. (4) Fazer um programa onde o usurio entra via InputBox com dois nmeros reais. Se os dois nmeros forem iguais o programa deve enviar uma mensagem com o valor da soma de outras duas variveis X =2 e Y=1 .Se os dois nmeros forem diferentes o programa deve imprimir uma mensagem mostrando o valor da subtrao de X e Y.

39

(5) Dados 3 lados de um tringulo qualquer, fazer um programa onde ele descobre se o tringulo eqiltero, isceles ou escaleno. (6) Um comerciante deseja entrar com o valor de compra de uma mercadoria, o valor de venda da mesma e descobrir se o lucro foi <10%, entre 10% e 20%, ou ainda superior a 20%. Fazer um programa que imprima a mensagem dizendo em qual faixa a mercadoria do comerciante se localiza. (8) A frmula de converso de graus Farenheit para centgrados obtida por 5( F 32) C= 9 Fazer um algoritmo e programa em VBA-Excel onde o usurio entra com o grau F (Farenheit) e o programa mostra o valor em centgrados. (9) Fazer um programa onde o usurio entra com dois nmeros e programa imprime uma mensagem dizendo quantos % o primeiro menor que o segundo, ou caso contrrio, quantos % o primeiro maior que o segundo. (10) Lembrar do programa do retorno mdio da aula. Fazer um programa onde no mais os eventos tem mesma probabilidade de ocorrer. Ou seja, suponha o caso onde

Retorno 12 9 6

Probabilidade 0,5 0,4 0,1

Evento 1 2 3

Quais so as entradas. Quais so as sadas. Programar novamente o algoritmo levando em conta que as probabilidades dos eventos so diferentes.
(11) Fazer um programa onde o usurio entra com 03 nmeros x1, x2 e x3 e o programa mostra numa MsgBox o valor da media dos nmeros e em outra MsgBox o valor do desvio padro. (12) Fazer um programa onde o usurio entra com os limites de um intervalo (inferior e superior) e logo em seguida o computador pede um nmero qualquer a esse usurio. Se o nmero pertence ao intervalo do usurio o programa manda uma mensagem pertence caso contrrio uma mensagem no pertence.

Exemplo: Liminf=10 Limsup = 20 Num = 15 ---- pertence Num = 25 ----- no pertence

40

(13) O suporte de uma ao calculado como 30% do intervalo histrico de uma ao (mximo subtrado do mnimo). A resistncia calculada como o valor de 60% do intervalo histrico. Veja o exemplo: Baixa histrica: 1,50 Alta histrica: 2,20 Suporte: 1,5 + (2,20-1,50)*0,3 Resistncia: 1,5 + (2,20 1,5)*0,6 Faa um programa onde o usurio fornea o valor mais baixo historicamente e o valor mais alto e o programa diz qual o suporte e qual a resistncia. (14) Considere uma equao do segundo grau

Ax 2 + Bx + C = 0
Utilizando-se da varivel DELTA = B 2 4 AC escreva uma macro que calcule as razes da equao tal que: (i) Se no houver razes (DELTA<0) o programa retorna a mensagem no existem razes reais. (ii) Se houver uma nica raiz (DELTA = 0) o programa mostra ao usurio a nica raiz calculada como X1 = -B / (2*a) (iii) Se houver duas razes mostre ao usurio calculando-as da forma: X1 = ( -B + Sqr(DELTA) ) / ( 2*A ) X2 = ( -B - Sqr(DELTA) ) / ( 2*A ) Onde Sqr a funo do VBA para calcular a raiz quadrada de um nmero real.
(15) Fazer um programa que leia um nmero. Se o valor for negativo, inverter-lhe o sinal. Em qualquer caso, imprimir a raiz quadrada do nmero resultante. (16) Em uma disciplina, a nota final calculada pela mdia ponderada das trs notas do semestre: trabalho, prova escrita e laboratrio. O peso das notas na mdia , respectivamente 2, 5 e 3. As notas variam de 0 a 10 e o aluno considerado aprovado se a nota final for maior ou igual a 6. Elaborar um programa para calcular a nota final de um aluno e enviar uma mensagem se ele foi aprovado ou no. (17) Fazer um programa para ler trs valores {A, B,C}. Se A + B for menor do que C, enviar a mensagem dados errados. Caso contrrio, enviar a mensagem dados corretos. (18) Fazer um programa para ler dois nmeros inteiros A e B. Se A = B, atribuir para uma varivel X o valor 1.5 e para uma varivel Y o valor 2.5. Caso contrrio, atribuir os valores -1.5 e -2.5. Em todos os casos, imprimir os valores de X e Y.

41

(19) Fazer um programa para ler trs valores inteiros, A, B e C. Enviar uma mensagem de qual deles o menor nmero. (20) A tabela abaixo fornece os descontos de uma compra. Fazer um programa que leia o valor de uma compra, determine o desconto a ser aplicado e calcule o valor a ser pago pelo cliente. Tabela:

Valor da Compra (R$) Entre 0 e 20,00 Entre 21 e 50 Entre 51 e 100 Entre 101 e 1000 Maior que 1000

Desconto (%) 5 10 15 20 30

(21) Escreva um programa para ler um valor de um ngulo em graus, converter esse valor em radianos e enviar o valor em uma mensagem para o usurio. (22) Dados trs pontos (x1,y1), (x2,y2) e (x3,y3), escrever um programa para verificar se esses pontos esto alinhados. A condio de alinhamentos de trs pontos : y 3 y1 y 2 y 3 = x3 x1 x 2 x3

42

You might also like