Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Python ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como testar de uma matriz é uma matriz identidade usando Python

Quantidade de visualizações: 915 vezes
Seja M uma matriz quadrada de ordem n. A matriz M é chamada de Matriz Identidade de ordem n (indicada por In) quando os elementos da diagonal principal são todos iguais a 1 e os elementos restantes são iguais a zero.

Para melhor entendimento, veja a imagem de uma matriz identidade de ordem 3, ou seja, três linhas e três colunas:



Veja um código Python completo no qual nós declaramos uma matriz quadrada de ordem 3, pedimos para o usuário informar os valores de seus elementos e no final informamos se a matriz é uma matriz identidade ou não:

# método principal
def main():
  n = 3; # ordem da matriz quadrada
  matriz = [[0 for x in range(n)] for y in range(n)] # matriz quadrada
  identidade = True

  # vamos pedir para o usuário informar os elementos da matriz
  for i in range(n):
    for j in range(n):
      matriz[i][j] = int(input("Elemento na linha {0} e coluna {0}: ".format(
        (i + 1), (j + 1))))
  
  # agora verificamos se a matriz é uma matriz identidade
  for linha in range(n):
    for coluna in range(n):
      if (matriz[linha][coluna] != 1) and (matriz[coluna][linha] != 0):
        identidade = False
        break
     
  # agora mostramos a matriz lida
  print()
  for i in range(n):
    for j in range(n):
      print(matriz[i][j], end='  ')
    print()

  if identidade:
    print("\nA matriz informada é uma matriz identidade.")
  else:
    print("\nA matriz informada não é uma matriz identidade.")
  
if __name__== "__main__":
  main()

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

Elemento na linha 1 e coluna 1: 1
Elemento na linha 1 e coluna 2: 0
Elemento na linha 1 e coluna 3: 0
Elemento na linha 2 e coluna 1: 0
Elemento na linha 2 e coluna 2: 1
Elemento na linha 2 e coluna 3: 0
Elemento na linha 3 e coluna 1: 0
Elemento na linha 3 e coluna 2: 0
Elemento na linha 3 e coluna 3: 1

1 0 0 
0 1 0 
0 0 1 

A matriz informada é uma matriz identidade.


Link para compartilhar na Internet ou com seus amigos:
Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima

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

Como calcular juros compostos e montante usando C

Quantidade de visualizações: 11315 vezes
O regime de juros compostos é o mais comum no sistema financeiro e portanto, o mais útil para cálculos de problemas do dia-a-dia. Os juros gerados a cada período são incorporados ao principal para o cálculo dos juros do período seguinte.

Chamamos de capitalização o momento em que os juros são incorporados ao principal. Após três meses de capitalização, temos:

1º mês: M = P .(1 + i)
2º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i)
3º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) x (1 + i)

Simplificando, obtemos a fórmula:

M = P . (1 + i)^n

Importante: a taxa i tem que ser expressa na mesma medida de tempo de n, ou seja, taxa de juros ao mês para n meses.

Para calcularmos apenas os juros basta diminuir o principal do montante ao final do período:

J = M - P

Vejamos um exemplo:

Considerando que uma pessoa empresta a outra a quantia de R$ 2.000,00, a juros compostos, pelo prazo de 3 meses, à taxa de 3% ao mês. Quanto deverá ser pago de juros?

Veja o código C para a resolução:

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

int main(int argc, char *argv[])
{
  float principal = 2000.00;
  float taxa = 0.03; // 3%
  int meses = 3;

  float montante = principal * pow((1 + taxa), meses);
  float juros = montante - principal;

  printf("O total de juros a ser pago é: %f\n", juros);
  printf("O montante a ser pago é: %f", montante);

  printf("\n\n");
  system("pause");
  return 0;
}

Um outra aplicação interessante é mostrar mês a mês a evolução dos juros. Veja o código a seguir:

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

int main(int argc, char *argv[])
{
  float principal = 2000.00;
  float taxa = 0.03; // 3%
  int meses = 3;
  float anterior = 0.0;
  float montante;
  float juros;

  for(int i = 1; i <= meses; i++){
    montante = principal * pow((1 + taxa), i);
    juros = montante - principal - anterior;

    anterior += juros;

    printf("Mês: %d - Montante: %f - Juros %f\n", i, montante, juros);
  }

  printf("\n\n");
  system("pause");
  return 0;
}



AutoCAD Civil 3D .NET C# ::: Dicas & Truques ::: Alinhamento - Alignment

Como retornar a quantidade de perfis de um alinhamento do Civil 3D usando a função GetProfileIds() da API C# do AutoCAD Civil 3D

Quantidade de visualizações: 152 vezes
Em algumas situações nós precisamos obter a quantidade de perfis (profiles) de um determinado alinhamento do AutoCAD Civil 3D. Para isso nós podemos usar a função GetProfileIds(), que retorna uma coleção ObjectIdCollection contendo os ids de todos os perfis pertencentes a um determinado alinhamento.

Para este exemplo eu usei um alinhamento chamado "EIXO DA RODOVIA" e criei para ele um profile chamado "TN - SUPERFÍCIE NATURAL" para representar a superfície natural e outro chamado "GREIDE - PERFIL VERTICAL DA RODOVIA" para representar o alinhamento vertical.

Note que, após obtermos a coleção ObjectIdCollection por meio da função GetProfileIds(), tudo que temos a fazer é acessar a sua propriedade Count.

Veja o código AutoCAD Civil 3D .NET C# completo para o exemplo:

using System;
using Autodesk.AutoCAD.Runtime;
using Autodesk.Civil.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.Civil.DatabaseServices;

namespace Estudos {
  public class Class1 : IExtensionApplication {
    [CommandMethod("Alinhamento")]
    public void Alinhamento() {
      // vamos obter uma referência ao documento atual do Civil 3D
      CivilDocument doc = CivilApplication.ActiveDocument;

      // obtemos o editor
      Editor editor = Application.DocumentManager.MdiActiveDocument.Editor;

      // vamos pesquisar o alinhamento chamado "EIXO DA RODOVIA"
      string nome = "EIXO DA RODOVIA";

      // vamos iniciar um nova transação
      using (Transaction ts = Application.DocumentManager.MdiActiveDocument.
        Database.TransactionManager.StartTransaction()) {
        try {
          // efetuamos uma chamada ao método GetAlignmentByName() passando
          // o documento atual do AutoCAD Civil 3D e o nome do alinhamento
          // que queremos encontrar
          Alignment alinhamento = GetAlignmentByName(doc, nome);

          // ops, o alinhamento não foi encontrado
          if (alinhamento == null) {
            editor.WriteMessage("\nO alinhamento não foi encontrado.");
          }
          else {
            // encontramos o alinhamento. Vamos mostrar a quantidade de perfis
            // que ele possui
            ObjectIdCollection ids_perfis = alinhamento.GetProfileIds();
            // e mostramos o resultado
            editor.WriteMessage("\nO alinhamento possui " + ids_perfis.Count +
              " perfis.\n");
          }
        }
        catch (System.Exception e) {
          // vamos tratar o erro 
          editor.WriteMessage("Erro: {0}", e.Message);
        }
      }
    }

    // função C# que retorna um alinhamento por nome, ou null em
    // caso de não encontrar o alinhamento desejado
    public Alignment GetAlignmentByName(CivilDocument doc, string nome) {
      // vamos declarar um objeto da classe Alignment
      Alignment alinhamento = null;

      // agora vamos obter os ids de todos os alinhamentos
      ObjectIdCollection alinhamentos = doc.GetAlignmentIds();

      // vamos percorrer todos os ids de alinhamentos retornados
      foreach (ObjectId idAlinhamento in alinhamentos) {
        alinhamento = idAlinhamento.GetObject(OpenMode.ForRead) as Alignment;
        // encontramos o alinhamento
        if (alinhamento.Name.Equals(nome)) {
          return alinhamento;
        }
      }

      // retorna null se o alinhamento não for encontrado
      return null;
    }

    public void Initialize() {
      // pode deixar em branco
    }

    public void Terminate() {
      // pode deixar em branco
    }
  }
}

Ao executar este código AutoCAD Civil 3D .NET C# nós teremos o seguinte resultado:

O alinhamento possui 2 perfis.


Ruby ::: Dicas & Truques ::: Programação Orientada a Objetos

Como acessar variáveis de instâncias para escrita em Ruby sem a necessidade de métodos mutatórios usando a função attr_accessor

Quantidade de visualizações: 6899 vezes
Por padrão, variáveis de instância em Ruby só podem ser acessadas para escrita usando métodos mutatórios, ou seja, uma variável de instância @nome deve ser modificada usando um método definir_nome.

É possível dispensar o uso de métodos mutatórios empregando o método attr_accessor nos nomes das variáveis que poderão ser acessadas e modificadas. Lembre-se que, ao contrário de attr_reader, o método attr_accessor possibilita o acesso à variável de instância tanto para leitura quanto para escrita.

Veja um exemplo:

# Definição da classe Cliente
class Cliente
   attr_accessor :nome, :idade
   
   def initialize(nome, idade)
      @nome = nome
      @idade = idade
   end
end

# Cria uma instância da classe Cliente e inicializa as
# variáveis de instância @nome e @idade
cliente = Cliente.new("Osmar J. Silva", 35)

# Acessa as variáveis de instância sem a necessidade
# de métodos acessórios
puts cliente.nome
puts cliente.idade

# Modifica as variáveis de instância sem a necessidade
# de métodos mutatórios
cliente.nome = "Carlos da Silva"
cliente.idade = 56

# Obtém os resultados
puts cliente.nome
puts cliente.idade

Se tentarmos acessar e modificar as variáveis nome e idade diretamente, sem os métodos mutatórios e a função attr_accessor nós teremos um erro do tipo:

Traceback (most recent call last):
estudos.arb:15:in `<main>': undefined method `nome' for #<Cliente:0x0000029a7211f080 @nome="Osmar J. Silva", @idade=35> (NoMethodError)


C# ::: Windows Forms ::: DataGridView

Como ocultar ou exibir uma determinada coluna do DataGridView do C# Windows Forms

Quantidade de visualizações: 13324 vezes
Em algumas situações precisamos ocultar ou exibir determinadas colunas do DataGridView. Isso pode ser feito definindo-se os valores true ou false para a propriedade Visible da classe DataGridViewColumn. Veja um trecho de código no qual ocultamos a segunda coluna do DataGridView:

private void button3_Click(object sender, EventArgs e){
  // vamos ocultar a segunda coluna
  dataGridView1.Columns[1].Visible = false;
}

Veja que aqui nós acessamos a coleção DataGridViewColumnCollection e usamos um índice para retornar o DataGridViewColumn desejado. É possível também acessar um determinado DataGridViewColumn na coleção de colunas usando o valor definido para sua propriedade name. Veja:

private void button3_Click(object sender, EventArgs e){
  // vamos ocultar a segunda coluna
  dataGridView1.Columns["populacao"].Visible = false;
}



jQuery ::: Dicas & Truques ::: Atributos ou Propriedades HTML

Como obter valores dos atributos de um elemento HTML usando a função attr() do jQuery

Quantidade de visualizações: 15510 vezes
O exemplo abaixo mostra como obter os valores dos atributos de um elemento HTML usando a notação attr(). O retorno é uma string contendo o valor do atributo:

<script type="text/javascript">
<!--
  function obterAtributo(){
    // Este exemplo mostra como obter o valor do 
    // atributo value de uma caixa de texto com 
    // o id "nome"
	
    var valor = $('#nome').attr("value");
    window.alert(valor);
  }
//-->
</script>



Veja mais Dicas e truques de jQuery

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

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

Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima


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