Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Java ::: Boletos Bancários, Arquivos de Remessa e Retornos do Banco ::: Caixa Econômica Federal - Banco 104

Boleto Bancário Java - Como calcular o Dígito Verificador do Código do Cedente (Módulo 11) - Boleto Caixa Econômica

Quantidade de visualizações: 2126 vezes
Nesta dica mostrarei, passo-a-passo, como calcular o Dígito Verificador do Código do Cedente para o boleto e arquivos de remessa da Caixa Econômica Federal (Banco 104). No momento que escrevo essa dica, o Código do Cedente é um número composto por seis dígitos, que identifica a empresa no banco. Em geral esse número é fornecido pelo gerente da conta mediante a assinatura de um contrato ou convênio.

Recentemente a Caixa introduziu o código de cedente com 7 dígitos. No entanto, não tive a oportunidade de encontrar um cliente com tal código. Se for o seu caso, verifique com a equipe de suporte da sua agência sobre o procedimento adotado. As informações que obtive são de que o cálculo continua sendo apenas com os seis dígitos, mas não descobri se são as seis primeiras posições ou as últimas. Se algum leitor do site souber mais a respeito, pode me enviar mensagens que atualizo essa dica.

O cálculo que mostrarei é baseado no Módulo 11 e está de acordo com as instruções do Manual de Leiaute de Arquivo Eletrônico Padrão CNAB 240 - Cobrança Bancária Caixa - SIGCB - Versão 67.118 v024 micro e Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro). Tenha certeza de verificar sua versão do manual antes de usar o código abaixo.

O Dígito Verificador do Código do Cedente não é usado nos cálculos da linha digitável nem do código de barras. Ele é usado somente no campo "Agência/Código cedente" do boleto bancário. Porém, é importante saber efetuar o seu cálculo corretamente, pois a homologação dos boletos e arquivos de remessa dependem dessa verificação.

Dito isso, veja o código Java completo para uma função que recebe o código do cedente e retorna o seu dígito verificador:

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    // vamos calcular o dígito verificador do código do
    // cedente
    String codigoCedente = "005507";
    int digito = dvCodigoCedente(codigoCedente);
    System.out.println("O dígito verificador para o código do cedente " + 
      codigoCedente + " é: " + digito);
  }

  // função que recebe o código do cedente
  // e retorna o seu dígito verificador
  public static int dvCodigoCedente(String cedente){
    int digito = -1;
    
    // o código do cedente possui mais que 6 dígitos?
    if(cedente.length() > 6){
      System.out.println("O código do cedente não pode ter " +
        " mais que 6 dígitos.");
      System.exit(1);
    }
	
    // primeiro vamos remover os espaços do número do cedente
    cedente = cedente.trim();
    // agora precisamos adicionar os zeros necessários
    // para completar 6 posições
    cedente = String.format("%1$6s", cedente).replace(' ', '0');
    // agora vamos definir os índices de múltiplicação
......


Ao executarmos este código Java nós teremos o seguinte resultado:

O dígito verificador para o código do cedente 005507 é: 7

Link para compartilhar na Internet ou com seus amigos:

C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar o operador condicional (operador ternário) da linguagem C++ - C++ para iniciantes

Quantidade de visualizações: 26564 vezes
A linguagem C++ fornece um operador condicional, também chamado de operador ternário) que é muito semelhante a um bloco if...else. Este operador aceita três operandos. O primeiro operando é uma condição, o segundo é valor para a expressão condicional se o resultado do teste for true. O terceiro operando é o valor para a expressão condicional caso o resultado do teste for false. Veja um exemplo:

int valor = 10;

cout << (valor >= 5 ? "Maior ou igual a 5" : "Menor que 5");
......


Este trecho de código pode ser escrito usando if...else da seguinte forma:

int valor = 10;

if(valor >= 5)
  cout << "Maior ou igual a 5";
......


O operador condicional pode ser resumido na seguinte estrutura:

Exp1 ? Exp2 : Exp3
......


A expressão Exp1 é avaliada. Se esta resultar verdadeira, a expressão Exp2 se torna o resultado da operação. Se a expressão Exp1 resultar falso, a expressão Exp3 se torna o resultado da operação. Veja mais um exemplo:

int valor = 5;
	
// usando o operador condicional I
bool res = (valor > 10 ? true : false);

......



Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Arrays e Matrix (Vetores e Matrizes)

Como retornar a quantidade de linhas e colunas de um vetor ou matriz usando a propriedade shape do objeto ndarray da biblioteca NumPy do Python

Quantidade de visualizações: 2377 vezes
Podemos usar a propriedade shape do objeto ndarray da biblioteca NumPy para obter a quantidade de linhas e colunas em um vetor ou matriz. Para um vetor, o retorno será a quantidade de colunas seguida por uma vírgula. Para matrizes, a propriedade retornará a quantidade de linhas e colunas. Veja:

# importamos a bibliteca NumPy
import numpy as np
 
def main():
  # vamos criar um vetor com 8 elementos
  vetor = np.array([5, 1, 10, 7, 2, 3, 9, 4])

  # vamos mostrar a quantidade de linhas e colunas nesse vetor
  print("Linhas e colunas no vetor:", vetor.shape)

......


Ao executarmos este código nós teremos o seguinte resultado:

Linhas e colunas no vetor: (8,)
......


Além de usar a propriedade shape do objeto ndarray, nós podemos também efetuar uma chamada ao método global shape() da NumPy. Veja:

# importamos a bibliteca NumPy
import numpy as np
 
def main():
  # vamos criar um vetor com 8 elementos
  vetor = np.array([5, 1, 10, 7, 2, 3, 9, 4])

  # vamos mostrar a quantidade de linhas e colunas nesse vetor
  print("Linhas e colunas no vetor:", np.shape(vetor))

......


Execute e veja que o resultado é o mesmo para ambos os códigos.


R ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o seno de um número ou ângulo usando a função sin() da linguagem R

Quantidade de visualizações: 1282 vezes
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria.

No entanto, é sempre importante entender o que é a função seno. Veja a seguinte imagem:



Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles.

Assim, o seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula:

\[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \]

Então, se dividirmos 20 por 36.056 (na figura eu arredondei) nós teremos 0.5547, que é a razão entre o cateto oposto e a hipotenusa (em radianos).

Agora, experimente calcular o arco-cosseno de 0.5547. O resultado será 0.9828 (em radianos). Convertendo 0.9828 radianos para graus, nós obtemos 56.31º, que é exatamente o ângulo em graus entre o cateto oposto e a hipotenusa na figura acima.

Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função sin() da linguagem R. Esta função recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja:

> sin(0) [ENTER]
[1] 0
> sin(1) [ENTER]
[1] 0.841471
......


Note que calculamos os senos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função seno mostrada abaixo:




C ::: Dicas & Truques ::: Matemática e Estatística

Como calcular juros simples e montante usando C

Quantidade de visualizações: 8077 vezes
O regime de juros será simples quando o percentual de juros incidir apenas sobre o valor principal. Sobre os juros gerados a cada período não incidirão novos juros. Valor Principal ou simplesmente principal é o valor inicial emprestado ou aplicado, antes de somarmos os juros. Transformando em fórmula temos:

J = P . i . n

Onde:

J = juros
P = principal (capital)
i = taxa de juros
n = número de períodos

Imaginemos uma dívida de R$ 2.000,00 que deverá ser paga com juros de 5% a.m. pelo regime de juros simples e o prazo para o pagamento é de 2 meses. O cálculo em C pode ser feito assim:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  float principal = 2000.00;
  float taxa = 0.08;
  int meses = 2;

  float juros = principal * taxa * meses;
......


O montante da dívida pode ser obtido das seguintes formas:

a) Montante = Principal + Juros
b) Montante = Principal + (Principal x Taxa de juros x Número de períodos)

M = P . (1 + (i . n))

Veja o código:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  float principal = 2000.00;
  float taxa = 0.08;
  int meses = 2;

  float juros = principal * taxa * meses;
  float montante = principal * (1 + (taxa * meses));
......



C# ::: Windows Forms ::: TextBox

C# Windows Forms Avançado - Como rolar as linhas de um TextBox para baixo uma de cada vez usando a API do Windows

Quantidade de visualizações: 6927 vezes
Em algumas situações gostaríamos de rolar para baixo o conteúdo de um TextBox de múltiplas linhas uma linha de cada vez. Para isso podemos usar a API do Windows, mais especificamente a mensagem WM_VSCROLL com o valor SB_LINEDOWN para seu parâmetro wParam. O valor do parâmetro lParam é zero.

Veja um trecho de código que rola para baixo o conteúdo de um TextBox uma linha de cada vez. Antes de executar este exemplo, tenha a certeza de ter um TextBox de múltiplas, com barras de rolagem e conteúdo que force o aparecimento das barras de rolagem.

Comece adicionando a linha:

using System.Runtime.InteropServices;
......


na seção de usings do seu formulário ou classe. Em seguida adicione o trecho de código abaixo no corpo da classe, como um método:

[DllImport("user32.dll", EntryPoint = "SendMessage", 
  CharSet = CharSet.Auto, SetLastError = true)]
......


Finalmente coloque o código abaixo no evento Click de um botão:

private void button2_Click(object sender, EventArgs e){
  // antes de executar este exemplo certifique-se de que
  // a propriedade Multiline do TextBox esteja definida
  // como true e a propriedade ScrollBars contenha o valor
  // Vertical ou Both
  textBox1.Multiline = true;
  textBox1.ScrollBars = ScrollBars.Vertical;
    
  // constante para a mensagem WM_VSCROLL
  const uint WM_VSCROLL = 0x115;
......



Desafios, Exercícios e Algoritmos Resolvidos de C#

Veja mais Dicas e truques de C#

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 17 usuários muito felizes estudando em nosso site.