quinta-feira, 7 de janeiro de 2021

Usando funções em Excel

 Como já falamos em sala de aula, funções são conjuntos de operações que são reunidas em uma só instrução, podendo ou não passar algum parâmetro que influenciara no resultado.

Quando "chamamos" uma função passamos uma informação que irá trazer um resultado. No excel para "chamarmos" uma função usamos o sinal de igualdade "=" antes do nome da mesma.

O Excel possui um conjunto enorme de funções as quais estão categorizadas da seguinte forma:

  • Funções Financeiras
  • Funções de Data e Hora
  • Funções de textos
  • Funções Estatísticas
  • Funções Lógicas
  • Funções de Pesquisa e Referência
  • Funções Matemáticas e trigonométricas
  • Funções de Engenharia
  • Funções de Banco de dados
  • Funções para Web
  • Funções de informação
  • Funções de compatibilidade
  • Funções definidas pelo usuário.
A partir desse momento  explicaremos algumas dessas categorias no intuito de passar uma noção a respeito do uso das funções dentro do excel.

Funções Financeiras

Quem nunca ouviu falar calculo de juros e atualização monetária? O uso destas funções são essenciais  no dia a dia de instituições financeiras, ao calcular o valor de uma prestação, juros, juros acumulados, tempo de retorno de um investimento. Podemos fazer isso usando as funções existentes no Excel.

Função Valor Presente

Esta função calcula o valor atual de um investimento. O seu resultado pode mostrar ao usuário do Excel se vale a pena fazer um investimento ou não.

Para calcular o valor presente são necessários algumas informações adicionais, que aqui chamaremos de parâmetros ou argumentos. São eles:

  • Taxa de juros ou simplesmente Taxa,  é um índice de remuneração do capital alocado ou emprestado a alguém ou instituição;
  • Numero de períodos ou simplesmente NPER que indica quanto tempo levará para ser pago tal investimento;
  • Valor do Pagamento, prestação, ou simplesmente PGTO;
  • VALOR FUTURO, aqui na função Valor Presente significa a meta a ser alcançada com a serie de pagamentos realizadas ao longo do tempo ou NPER.
  • Tipo que indica ser o pagamento ser após uma unidade de tempo, comumente usamos mês como unidade, ou qualquer outra unidade negociada entre as partes. No Excel o valor zero(0) significa que será aguardado um prazo de 30 dias ou qualquer outro período para honrar o compromisso com o pagamento. O valor 1 significa que o pagamento é antecipado, ou seja no momento da transação já ocorre um pagamento. Assim como no aluguel fazemos o pagamento para usar o imóvel.
Para que possamos informar estes valores na função Valor Presente ou simplesmente VP fazermos assim: 

=VP(taxa;nper;pgto;[vf],[tipo])

Onde houver colchetes, significa que o parâmetro é opcional, mas a sua interpretação fica por conta do usuário.

Para exemplificar o uso da função VP vamos pensar na seguinte situação:

Quanto e devo ter hoje no bolso para fazer um investimento para obter um capital de R$ 20.000,00 dentro de 3 anos considerando que a instituição me pagará uma taxa de juros de 1,5% ao mês?

Veja que neste caso informamos na pergunta os seguintes parâmetros: a meta, o valor futuro que desejo obter, R$ 20.000,00 o prazo, 3 anos ou 36 meses uma vez que informamos que o juros é de 1,5% ao mês. E não informamos o valor do pagamento e nem o tipo de pagamento.

Desta forma abra o Excel e crie uma planilha como a mostrada na figura abaixo.





Veja que acrescentamos alguns "mimos" na tabela. Em C5 colocamos uma função SE para especificar se será em 30 dias ou antecipado. A função ficou assim : =SE(B5=0;"após 30 dias";"antecipado").

No calculo do "Valor presente do investimento" ou em B7 a função VP ficou assim:

=VP(B1;B2;B3B4;B5)

Há uma observação a respeito do resultado, observe que ficou vermelho e negativo, isso significa que você terá que retirar do seu bolso o valor para fazer o investimento.

No campo "Lucro após 3 anos" ou seja em B9 tem a seguinte fórmula =B4+B7, calma eu explico, o valor negativo será usado de forma que quando somado com B4 tornará uma subtração, matemática básica. Este resultado é o lucro após 3 anos de investimento.

No campo "Lucro por ano" tem uma fórmula em B10, = B9/3.

Já o campo "% de lucro por ano" ficará assim : =B10/B7 é o nosso referencial de partida do investimento.

Exercício

1) Aproveite para calcular se vale a pena depositar na caderneta de poupança, que paga algo em torno de 0,5% de juros ao mês e que levará aproximadamente 36 meses esse investimento para obter R$ 50.000,00?

Resposta : -R$ 41,782,25, caso tenha obtido outro valor revise seus dados. E ai vale a pena?

Função Valor Futuro

Esta função calcula o valor de um investimento no futuro, seguindo uma série de pagamentos e taxa de juros constante. Podemos empregar para verificar se vale a pena efetuar o investimento segundo a serie de pagamentos e após este período fazer o resgate.

Conforme já detalhamos anteriormente precisaremos dos seguintes parâmetros:

  • Taxa
  • NPer
  • Pgto
  • VP
  • Tipo
Vamos considerar a seguinte situação:

Uma instituição financeira te convida para participar de um fundo de investimento no qual você fará pagamentos mensais de R$ 600,00 durante 6 anos e promete uma uma taxa de juros anual de 10%. Qual será o valor deste investimento após 6 anos?




Exercícios

1) Considere uma instituição financeira que observou que você tem R$ 20.000,00 parado na sua conta. Fazem a seguinte proposta: Deposite a quantia parada, e contribua mensalmente durante 2 anos com R$ 500,00 em uma conta de investimento que pagará 10% ao ano. Após essas contribuições e o valor depositado no inicio da aplicação qual será o total a ser resgatado?
Resposta: R$ 37.631,28
2) No exercício anterior, caso você não deposite nada, qual será o valor?
3) Ainda no mesmo exercício, agora considere os depósitos mensais e não informe o valor presente de R$ 20.000,00. Qual o total?

Função PGTO

A função PGTO calculará o valor de um pagamento mensal de um empréstimo, investimento ou prestação de algo adquirido ao longo de um período Nper, sendo atualizada por uma TAXA, considerando um valor presente VP, valor futuro VF, podendo ser de maneira antecipada ou não.
Como podemos perceber os parâmetros da função PGTO são:
  • TAXA
  • NPER
  • VP
  • VF
  • TIPO
Desta forma a função terá seguinte sintaxe ou forma de apresentar:
=PGTO(TAXA,NPER,VP,[VF],[TIPO]) 

Exemplo 
Suponha que você quer aplicar em um fundo de capitalização que pagará 0,95% ao mês durante 2 anos e que você deseja resgatar no final R$10.000,00. Qual será o valor da mensalidade no período?


Exercícios

1) Considere que você comprou um iPhone a prestação em 12 vezes com juros de 0,7% ao mês, e que o seu valor a vista seria R$ 5.000,00. Qual será o valor da prestação?
2) Considere agora que você dará R$1.000,00 de entrada. Qual o valor da prestação?
3) E se você der a metade do valor a vista de entrada?

Função ÉPGTO.

Ao contrario do que sugere o nome da função, ela não trata de valores de parcelas. Esta função trata do valor dos juros pagos sobre uma parcela de um investimento ou prestação. É útil quando queremos saber qual o valor de juros que incide em uma determinada parcela em algum momento do parcelamento.

Exemplo:

Considere a compra de um automóvel e que seu valor presente seja de R$35.000,00 com uma taxa de juros de 1,3% ao mês durante 36 meses. Queremos saber o valor dos juros na prestação numero 5. Qual o valor dos juros?
 


Como podemos perceber o valor dos juros na prestação de numero 5 será de R$ 391,80, caso queria conferir fica um exercício de calcular o valor da prestação e depois subtrair o valor dos juros para sabermos o valor da amortização.

Exercícios

1) Considere os dados do exemplo anterior e calcule os juros pagos na 10ª parcela?
2) O que notou de diferente em relação a parcela numero 5?
3) Qual o percentual de juros em relação ao valor da prestação?














 





quarta-feira, 23 de maio de 2012

Tela para relembrar a senha através de e-mail

Esta tela é um complemento da tela de logon postado anteriormente. Considere que essa tela é um pouco diferente porque tem dois campos para fazer o logon no seu email. Eu coloquei esses dois campos para facilitar a demonstração a meus alunos e também para não revelar minha senha. Risos. O código abaixo refere-se a uma tela de logon. Como você já deve entender, o código abaixo é para dar a funcionalidade. Espero ter contribuído para o seu crescimento profissional. Abraço a todos.

Tela de Logon em Asp.Net e C#(sharp)

Caso você precise autorizar os usuários acessar aplicações em Asp.Net e C#, acredito, que esse código poderá ajuda-lo no desenvolvimento.
Inicialmente, criamos uma tabela no banco de dados conforme o script em MySql abaixo.

Após esta tabela ser criada, passamos então a criação da tela em asp.net, o nome da tela : logon.asp.

Coloque também o código em C#(Sharp) logon.asp.cs


Valeu pessoal grande abraço.

terça-feira, 22 de maio de 2012

Fazendo um Crud usando C# e Asp.Net

O significado de CRUD é Create, Read, Updade and Delete que são as funções básicas de um sistema de gerenciamento de informações. Neste POST mostrarei como fazer a partir de um exemplo simples em sala de aula. Inicialmente devemos criar um Banco de dados chamado Stonehenge e em seguida procedemos a criação das telas em C# com seu respectivo código. Veja o código de criação no quadro abaixo: Agora que já criamos o banco, vamos proceder na criação do código em Asp.Net. Abra o Visual Studio, crie um projeto do tipo WebSite e crie um formulario usando a opção clicando no botão direito do mouse sobre o projeto. troque o código Asp.net pelo que esta no quadro a seguir. O nome deste arquivo deve se chamar listarClientes.asp Como podem notar em uma das linhas retornadas pelo código do arquivo listarClientes.aspx o usuário deverá clicar no nome do cliente e o mesmo será desviado para uma tela chamada alterarCliente.aspx, cujo código pode ser visto abaixo: Juntamente com esse código devemos ter os códigos em C# que dará a funcionalidade que desejamos. Veja a seguir : Agora só falta o código que faz a atualização no banco de dados.

sexta-feira, 18 de maio de 2012

Formulario para cadastro de Artigo ou Nóticias

Olá Pessoal,

Estou mais uma vez disponibilizando um formulário em C#(Sharp) para cadastramento de Artigos ou Noticias em um formulário Web.
Espero que gostem e utilizem ele.
Abraço e até o próximo post.
Não esqueçam também deste código que deve ter o mesmo nome, porém coma extensão aspx.cs.

segunda-feira, 14 de maio de 2012

Tela de cadastro de clientes com list box

Olá Pessoal

Neste artigo mostrarei como fazer uma tela(protótipo) para cadastramento de clientes e seleção de assuntos de interesse do cliente. É apenas uma demonstração do nosso curso de C# onde demonstramos a manipulação de ListBox em um WebForm.
Acompanhe o código abaixo e veja como ficou.


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <style type="text/css">
        .style2
        {
            width: 96px;
            height: 34px;
        }
        .style3
        {
            height: 34px;
        }
        .style4
        {
            width: 123px;
        }
        .style5
        {
            width: 157px;
            text-align: center;
        }
        .style6
        {
            text-align: center;
        }
        .style7
        {
            text-align: left;
        }
    </style>
</head>
<form id="form1" runat="server">
<table align="center">
    <tr>
        <td class="style6" colspan="2">
            Cadastro de Clientes</td>
    </tr>
    <tr>
        <td class="style6">
            &nbsp;</td>
        <td>
            &nbsp;</td>
    </tr>
    <tr>
        <td class="style7">
            <asp:Label ID="Label1" runat="server" Text="Nome"></asp:Label>
        </td>
        <td>
            <asp:TextBox ID="nome" runat="server" Columns="50" Font-Size="Medium"
                Height="28px" MaxLength="50" Width="431px"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td class="style7">
            <asp:Label ID="Label2" runat="server" Text="Endereço"></asp:Label>
        </td>
        <td>
            <asp:TextBox ID="endereco" runat="server" Columns="50" Font-Size="Medium"
                Height="28px" MaxLength="50" Width="431px"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td class="style7">
            <asp:Label ID="Label3" runat="server" Text="Telefone"></asp:Label>
        </td>
        <td>
            <asp:TextBox ID="telefone" runat="server" Columns="14" Font-Size="Medium"
                MaxLength="14"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td class="style7">
            <asp:Label ID="Label4" runat="server" Text="Bairro"></asp:Label>
        </td>
        <td>
            <asp:TextBox ID="Bairro" runat="server" Columns="30" Font-Size="Medium"
                Height="22px" MaxLength="30" Width="261px"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td class="style7">
            <asp:Label ID="Label5" runat="server" Text="Cidade"></asp:Label>
        </td>
        <td>
            <asp:TextBox ID="cidade" runat="server" Columns="30" Font-Size="Medium"
                Height="22px" MaxLength="30" Width="261px"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td class="style7">
            <asp:Label ID="Label6" runat="server" Text="Estado"></asp:Label>
        </td>
        <td>
            <asp:DropDownList ID="estado" runat="server">
                <asp:ListItem Value="AC">Acre</asp:ListItem>
                <asp:ListItem Value="AL">Alagoas</asp:ListItem>
                <asp:ListItem Value="AP">Amapá</asp:ListItem>
                <asp:ListItem Value="AM">Amazonas</asp:ListItem>
                <asp:ListItem Value="BA">Bahia</asp:ListItem>
                <asp:ListItem Value="CE">Ceará</asp:ListItem>
                <asp:ListItem Value="DF">Distrito Federal</asp:ListItem>
                <asp:ListItem Value="ES">Espirito Santo</asp:ListItem>
                <asp:ListItem Selected="True" Value="GO">Goiás</asp:ListItem>
                <asp:ListItem Value="MA">Maranhão</asp:ListItem>
                <asp:ListItem Value="MT">Mato Grosso </asp:ListItem>
                <asp:ListItem Value="MS">Mato Groso do Sul</asp:ListItem>
                <asp:ListItem Value="MG">Minas Gerais</asp:ListItem>
                <asp:ListItem Value="PA">Pará</asp:ListItem>
                <asp:ListItem Value="PB">Paraíba</asp:ListItem>
                <asp:ListItem Value="PR">Paraná</asp:ListItem>
                <asp:ListItem Value="PE">Pernambuco</asp:ListItem>
                <asp:ListItem Value="PI">Piauí</asp:ListItem>
                <asp:ListItem Value="RJ">Rio de Janeiro</asp:ListItem>
                <asp:ListItem Value="RN">Rio Grande do Norte</asp:ListItem>
                <asp:ListItem Value="RS">Rio Grande do Sul</asp:ListItem>
                <asp:ListItem Value="RO">Rondônia</asp:ListItem>
                <asp:ListItem Value="RR">Roraíma</asp:ListItem>
                <asp:ListItem Value="SP">São Paulo</asp:ListItem>
                <asp:ListItem Value="SC">Santa Catarina</asp:ListItem>
                <asp:ListItem Value="SE">Sergipe </asp:ListItem>
                <asp:ListItem Value="TO">Tocantins</asp:ListItem>
            </asp:DropDownList>
        </td>
    </tr>
    <tr>
        <td class="style7">
            <asp:Label ID="Label7" runat="server" Text="CPF"></asp:Label>
        </td>
        <td>
            <asp:TextBox ID="cpf" runat="server" Columns="14" MaxLength="14"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td class="style6">
            &nbsp;</td>
        <td>
            <table style="width:100%;">
                <tr>
                    <td class="style4" style="text-align: center">
                        <asp:Label ID="Label9" runat="server" Text="Assuntos"></asp:Label>
                    </td>
                    <td class="style5">
                        <asp:Label ID="Label11" runat="server" Width="20px"></asp:Label>
                    </td>
                    <td style="text-align: center">
                        <asp:Label ID="Label10" runat="server" Text="Prediletos"/>
                    </td>
                </tr>
                <tr>
                    <td class="style4" rowspan="4">
                       <asp:ListBox id="assuntos" runat="server" Height="116px" Width="121px">
                            <asp:ListItem Value="inf">Informatica</asp:ListItem>
                            <asp:ListItem Value="Aut">Automóvel</asp:ListItem>
                            <asp:ListItem Value="Cul">Cultura</asp:ListItem>
                            <asp:ListItem Value="Cui">Culinaria</asp:ListItem>
                            <asp:ListItem Value="Tre">Treinamento</asp:ListItem>
                            <asp:ListItem Value="Fin">Finanças</asp:ListItem>
                            <asp:ListItem Value="Rel">Religião </asp:ListItem>
                            <asp:ListItem Value="Pol">Política</asp:ListItem>
                        </asp:ListBox>
                    </td>
                    <td class="style5">
                        <asp:Button ID="tudoL" runat="server" Text="&lt;&lt;" onclick="tudoL_Click"
                            ToolTip="Limpar todos os assuntos prediletos e voltar para assuntos" />
                    </td>
                    <td rowspan="4">
                        <asp:ListBox ID="prediletos" runat="server" Height="119px" Width="132px"
                            SelectionMode="Multiple">
                        </asp:ListBox>
                    </td>
                </tr>
                <tr>
                    <td class="style5">
                        <asp:Button ID="tudoR" runat="server" Text="&gt;&gt;" onclick="tudoR_Click" />
                    </td>
                </tr>
                <tr>
                    <td class="style5">
                        <asp:Button ID="RtoL" runat="server" Text=" &lt; " onclick="RtoL_Click" />
                    </td>
                </tr>
                <tr>
                    <td class="style5">
                        <asp:Button ID="LtoR" runat="server" onclick="LtoR_click" Text=" &gt; " />
                    </td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td class="style2">
        </td>
        <td class="style3">
            <asp:Button ID="Button1" runat="server" onclick="limparCampos" Text="Limpar" />
            <asp:Label ID="Label8" runat="server" Height="17px" Width="304px">                                  
            </asp:Label>
            <asp:Button ID="Salvar" runat="server" Text="Salvar" />
        </td>
    </tr>
</table>
&nbsp;&nbsp;&nbsp;
</form>
<script language="C#" runat="server">
 

</script>
</html>

agora no arquivo Default.aspx.cs coloque.







Espero que tenham gostado deste código e desafio você a fazer o restante do código. Abraço a todos.
Jorge Albernaz Martins.'.

sexta-feira, 4 de maio de 2012

Classe em C-Sharp que faz logon num banco de dados MYSQL

Olá pessoal depois de um longo tempo sem postagens, estou retomando o blog.
Neste artigo vou apresentar a vocês um código para fazer logon através de uma classe que acessa uma banco de dados MySQL.
Não esqueçam  de baixar o conector do MySql ou qualquer outro banco que você usar.
// inicio do codigo

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MySql.Data.MySqlClient;

/// <summary>
/// Summary description for Class1
/// </summary>
public class logon
{
   static string user = "";
   static string password = "";
   static string banco = "";
   static string servidor = "";
   static string conexao = "Server="+servidor+";Database="+banco+";Port=3306;Uid="+user+";Pwd="+password+";";

public logon()
{
}
    public bool verifica(String usuario, string senha) {
        bool retorno = false;
        MySqlConnection conn = new MySqlConnection(conexao);
        MySqlCommand comando = conn.CreateCommand();
        comando.CommandText = "Select * from usuario where user=";
        try {
            conn.Open();
            MySqlDataReader conjunto = comando.ExecuteReader();
            if (conjunto["usuario"] == usuario && conjunto["senha"] == senha)
            {
                retorno = true;
            }
            else
            {
                retorno = false;
                Console.
            }

        }
        catch (Exception ex)
        {
            Console.WriteLine("Erro do tipo : " + ex.Message);
            retorno= false;
        }
        return retorno;
    }
}