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

Como gerar vetores e matrizes com números inteiros aleatórios usando a função random.randint() da biblioteca NumPy para - Machine Learning com Python

Quantidade de visualizações: 1019 vezes
Veremos nessa dica como podemos usar o método random.randint() da biblioteca NumPy para gerar vetores e matrizes já preenchidos com números inteiros aleatórios.

Note que a criação de vetores e matrizes preenchidos com números randômicos é uma parte importante para o desenvolvimento de modelos de teste (test models) em Inteligência Artificial (IA), Machine Learning e outras áreas de estudo que envolvem Data Science.

Vamos começar com a forma mais simples do uso da função random.randint() para gerar um vetor de 10 elementos contendo números aleatórios de 0 até 10 (não incluído):

# importamos o módulo random da bibliteca NumPy
from numpy import random

def main():
  # vamos gerar um vetor de números inteiros aleatórios
  #  de 0 (incluído) à 10 (não incluído) 
  valores = random.randint(10, size=10)
  print("O vetor gerado foi: ", valores)  

if __name__== "__main__":
  main()


Ao executar este código teremos um resultado parecido com:

O vetor gerado foi: [0 3 2 3 8 9 3 9 6 4]

Aqui nós informamos o limite alto do valor aleatório a ser gerado (mas ele não é incluído). Se quisermos limitar a faixa inferior, podemos tirar proveito dos parâmetros low e high da função randint(). Veja:

# importamos o módulo random da bibliteca NumPy
from numpy import random

def main():
  # vamos gerar um vetor de números inteiros aleatórios
  #  de 50 (incluído) à 101 (não incluído) 
  valores = random.randint(50, 101, 10)
  print("O vetor gerado foi: ", valores)  

if __name__== "__main__":
  main()

Agora o resultado será parecido com:

O vetor gerado foi: [92 89 66 52 61 77 55 58 72 55]

Para gerarmos uma matriz, por exemplo, de 2 linhas e 4 colunas, só precisamos gerar o vetor de números aleatórios e em seguida usar o método reshape(), também da biblioteca NumPy para converter a matriz de uma dimensão (vetor) em uma matriz de duas dimensões. Veja:

from numpy import random

def main():
  # vamos gerar um vetor de números inteiros aleatórios
  #  de 1 (incluído) à 21 (não incluído) 
  valores = random.randint(1, 21, 8)
  
  # agora vamos converter o vetor para uma matriz
  # de 2 linhas e 4 colunas 
  valores = valores.reshape(2, 4)

  print("A matriz gerada foi: ", valores)  

if __name__== "__main__":
  main()

Quando executamos este código nós temos um resultado parecido com:

A matriz gerada foi:  [[17  5  2  9]
 [14 10 10 19]]

A partir da versão 1.19 da NumPy, os desenvolvedores da biblioteca recomendam o uso do método integers() do módulo default_rng().


C ::: C para Engenharia ::: Geometria Analítica e Álgebra Linear

Como calcular a transposta de uma matriz em C - Curso de C para Geometria Analítica e Álgebra Linear

Quantidade de visualizações: 1157 vezes
A matriz transposta de uma matriz A é a matriz AT. Tal matriz é obtida quando copiamos os elementos da matriz A para uma outra matriz (ou para ela mesma) e trocamos de posição as linhas e colunas. Dessa forma, a primeira linha da matriz A se transforma na primeira coluna da matriz transposta, a segunda linha da matriz A se transforma na segunda coluna da matriz transposta e assim por diante.

Em termos de notação, podemos dizer, de forma algébrica, que:

ATji = Aij

Onde i representa as linhas e j representa as colunas, tanto na matriz original quanto na matriz transposta.

É importante estar atento à quantidade de linhas e colunas na matriz original e na matriz transposta equivalente. Assim, se a matriz original for 3x2, a matriz transposta será 2x3.

Antes de vermos o código C, dê uma olhada na seguinte matriz de duas linhas e três colunas:

\[A = \left[\begin{matrix} 3 & 5 & 7 \\ 1 & 2 & 9 \end{matrix}\right] \]

Sua matriz transposta correspondente é:

\[A^T = \left[\begin{matrix} 3 & 1 \\ 5 & 2 \\ 7 & 9 \end{matrix}\right] \]

E agora veja o código C que declara uma matriz 2x3 e gera a matriz transposta 3x2:

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

int main(int argc, char *argv[]){
  setlocale(LC_ALL,""); // para acentos do português
	
  // vamos declarar e construir uma matrix
  // 2x3 (duas linhas e três colunas
  int matriz[2][3] = {{3, 5, 7}, {1, 2, 9}};
  int i, j;  
    
  // vamos exibir os valores da matriz
  printf("Elementos da matriz:\n");
  for(i = 0; i < 2; i++){
    for(j = 0; j < 3; j++){
      printf("%5d  ", matriz[i][j]);
    }
    printf("\n");
  }
    
  // como temos uma matriz 2x3, a transposta deverá ser
  // 3x2, ou seja, três linhas e duas colunas
  int linhas = 3; // linhas da matriz original
  int colunas = 2; // colunas da matriz original
  int transposta[linhas][colunas]; 
    
  // e agora vamos preencher a matriz transposta
  for(i = 0; i < 2; i++){
    for(j = 0; j < 3; j++){
      transposta[j][i] = matriz[i][j];
    }
  }
    
  // vamos exibir os valores da matriz transposta
  printf("Elementos da matriz transposta:\n");
  for(i = 0; i < 3; i++){
    for(j = 0; j < 2; j++){
      printf("%5d  ", transposta[i][j]);
    }
    printf("\n");
  }
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}

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

Elementos da matriz:
    3      5      7  
    1      2      9  
Elementos da matriz transposta:
    3      1  
    5      2  
    7      9  



Ruby ::: Dicas & Truques ::: Data e Hora

Como usar a classe DateTime da linguagem Ruby

Quantidade de visualizações: 7330 vezes
A classe DateTime da linguagem Ruby extende a classe Date e inclui horas, minutos, segundos e frações de segundo. Além disso, esta classe fornece suporte básico a fuso horários.

Fuso horários são representados como uma diferença do UTC (Universal Coordinated Time) em fração de um dia. Esta diferença é quanto a hora local é mais cedo ou mais tarde que o UTC. Uma diferença de UTC 0 está centralizada na Inglaterra (também conhecido como GMT). À medida que viajamos para o leste, a diferença aumenta até que alcancemos a linha de separação de data no meio do Oceano Pacífico. Quando viajamos para o oeste, a diferença diminui. Esta diferença é abreviada como "of" na classe Date.

Veja um trecho de código no qual usamos a classe DateTime para obter a data e hora atual:

# importa o módulo date
require "date"

# obtém a data e hora atual
agora = DateTime::now

# exibe o resultado
puts "Agora é " + agora.strftime("%e/%m/%Y - %H:%M:%S")

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

Agora é 5/04/2022 - 11:51:06


PHP ::: Dicas & Truques ::: Arquivos e Diretórios

Quais as diferenças entre as funções fgetc(), fread() e fgets() da linguagem PHP? - Revisado

Quantidade de visualizações: 15793 vezes
As funções fgetc(), fread() e fgets() do PHP nos permitem fazer a leitura de caracteres, palavras, textos e bytes de um arquivo. No entanto, nem sempre os iniciantes nesta linguagem conseguem identificar as diferenças entre essas três funções. Nessa dica falarei sobre o que diferencia uma da outra. Em mais dicas e truques dessa seção você aprenderá como usá-las.

A função fgetc() lê um caractere por vez em um arquivo. Sua assinatura é:

string fgetc(resource $handle)

A função fgets(), por sua vez, retorna uma linha de texto de cada vez. Veja a assinatura:

string fgets(resource $handle [, int $length])

O parâmetro $length pode ser omitido, o que significa que o tamanho da linha será definindo pela ocorrência de uma quebra de linha "\n".

Já a função fread() permite ler uma determinada quantidade de bytes de um arquivo. Sua assinatura é:

string fread(resource $handle, int $length)

O parâmetro $length indica a quantidade de bytes que serão lidos, de cada vez, do arquivo.

Esta dica foi revisada para o PHP 8.


VB.NET ::: Dicas & Truques ::: Strings e Caracteres

Como retornar o tamanho de uma string em VB.NET usando a propriedade Length da classe String

Quantidade de visualizações: 9036 vezes
Podemos obter o tamanho de uma string, ou seja, a quantidade de caracteres em uma palavra, frase ou texto em VB.NET usando a propriedade Length da classe String do .NET Framework. Esta propriedade retorna um número inteiro indicando a quantidade de caracteres no objeto String atual.

Veja um exemplo de seu uso:

Imports System

Module Program
  Sub Main(args As String())
    Dim site As String = "Arquivo de Códigos"

    ' obtém o tamanho da string
    Dim tam As Integer = site.Length

    Console.WriteLine("A string contém " & tam &
      " caracteres")

    Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub
End Module

Ao executar este código VB.NET nós teremos o seguinte resultado:

A string contém 18 caracteres


Python ::: Dicas & Truques ::: Data e Hora

Como exibir a data atual em Python de acordo com as configurações regionais usando as funções strftime() e setlocale()

Quantidade de visualizações: 7753 vezes
Nesta dica mostrarei como podemos combinar os objeto datetime e locale e as funções today(), strftime() e setlocale() para retornar e exibir a data atual em Python usando as configurações regionais do computador do usuário.

Veja o código completo para o exemplo:

from datetime import datetime
import locale

# função principal do programa
def main():
  # Configurações do usuário
  locale.setlocale(locale.LC_ALL, "")

  # Obtém um datetime da data e hora atual
  hoje = datetime.today()

  # Exibe a data atual
  print("Hoje é {0}".format(hoje.strftime("%x")))

if __name__== "__main__":
  main()

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

Hoje é 04/02/2023


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

Apostila jQuery - Como substituir uma classe por outra em um elemento HTML usando os métodos removeClass() e addClass() do jQuery

Quantidade de visualizações: 14213 vezes
Muitos métodos do jQuery retornam um objeto jQuery que pode ser usado para fins de encadeamento de chamadas de métodos. Podemos tirar proveito disso para trocar as classes de um elemento HTML de forma bem simples.

Sabemos que os métodos removeClass() e addClass() retornam um objeto jQuery. Assim, o trecho de código abaixo é perfeitamente válido:

<script type="text/javascript">
<!--
  function trocarClasse(){
    // troca a classe "destaque" do parágrafo
    // com o id "parag" pela classe "destaque2"
    $('#parag').removeClass("destaque")
      .addClass("destaque2");
  }
//-->
</script>



PHP ::: Dicas & Truques ::: Arquivos e Diretórios

Como renomear um diretório em PHP usando a função rename()

Quantidade de visualizações: 11743 vezes
Diretórios podem ser renomeados usando a função rename() da linguagem PHP. Esta função recebe o nome atual do diretório e o novo nome e retorna um valor boolean (true ou false) informando o sucesso ou não da operação. Antes de usar esta função verifique se você possui as permissões adequadas para renomear o diretório.

Veja um trecho de código no qual renomeamos um diretório no diretório public_html:

<?php
  // renomeia o diretório "recentes" para "atuais"
  $diretorio_antigo = "/site/public_html/recentes";
  $diretorio_novo = "/site/public_html/atuais";
  
  if(rename($diretorio_antigo, $diretorio_novo)){
    echo "Diretório renomeado com sucesso.";
  }
  else{
    echo "Não foi possível renomear o diretório.";
  }
?>

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

Diretório renomeado com sucesso.

Seja cuidadoso. Se você não tiver as permissões adequadas para renomear um diretório, a seguinte mensagem de erro será exibida:

Warning: rename(imagens,imagens_novas)
[function.rename]: Permission denied in
/site/public_html/testes.php on line 9
Não foi possível renomear o diretório.


PHP ::: Dicas & Truques ::: Variáveis e Constantes

Como testar se uma variável ou constante é do tipo integer - Como usar as funções is_int() e is_integer() do PHP

Quantidade de visualizações: 9594 vezes
Em algumas situações precisamos verificar se uma determinada ou constante é do tipo integer, ou seja, possui um valor inteiro, sem casas decimais. Isso pode ser feito por meio das funções is_int() e is_integer(). Elas retornam um valor true se o arguemento for um inteiro e false em caso contrário.

Veja um exemplo completo de como usá-las:

<?php
/*
  Em algumas situações podemos querer saber se
  o tipo de uma variável é integer, ou seja,
  contém um valor inteiro (sem casas decimais).
 
  Este teste pode ser feito com o auxílio da
  função is_int() ou is_integer(). Esta função 
  retorna um valor true ou false dependendendo do 
  tipo de variável sendo testada.    
  */ 
 
  $valor = 10;
 
  if(is_int($valor)){
    echo 'A variável $valor é do tipo integer';
  }
?>

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

A variável $valor é do tipo integer

Esta dica foi revisada, atualizada e testada com o PHP 8.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos

Exercícios Resolvidos de Java - Escreva uma classe Biblioteca que possui uma ArrayList de objetos da classe Livro. Forneça um menu para listar, cadastrar, pesquisar e excluir livros

Quantidade de visualizações: 557 vezes
Pergunta/Tarefa:

Escreva um programa Java contendo duas classes: Biblioteca e Livro. A classe Biblioteca deverá ter uma coleção de livros, ou seja, uma ArrayList de objetos da classe Livro. Além da coleção de livros a classe Biblioteca deverá conter um atributo nome, que será informado assim que a classe for instanciada.

A classe Livro, por sua vez, deverá possuir os atributos id, titulo, autor e paginas. O atributo id deverá ser auto-incremento, isto é, 1 para o primeiro livro cadastrado, 2 para o segundo, e assim por diante. Além disso, a exclusão de livros deverá ser feita de acordo com o seu id ou título.

Seu programa deverá exibir um menu de opções para as diversas operações da biblioteca. Uma boa opção em Java é usar a estrutura switch case para a criação do menu de opções. Atenção: todos os métodos de manipulação de livros deverão estar na classe Biblioteca, e não na classe principal do programa Java.

Para finalizar, tanto a classe Biblioteca quanto a classe Livro deverão apresentar boas práticas de programação orientada a objetos: nomenclatura correta de classes, atributos e métodos, encapsulamento de dados e construtores.

Sua saída deverá ser parecida com:

-------------------------------------------------
:: Biblioteca Programação e Artes ::
-------------------------------------------------
Bem-vindo(a) ao sistema. Escolha a opção desejada

1 - Novo Livro
2 - Listar Livros
3 - Pesquisar Livro
4 - Excluir Livro
5 - Sair

Sua opção: 1

Título: JAVA PARA INICIANTES
Autor: OSMAR J SILVA
Quant Páginas: 480

O livro foi cadastrado com sucesso
Resposta/Solução:

Veja a resolução comentada deste exercício em Java:

Código para a classe Livro, que deve estar no arquivo Livro.java:

package estudos;

// definição da classe Livro
public class Livro {
  private int id; // id do livro. Não pode repetir
  private String titulo;
  private String autor;
  private int paginas;
  
  // construtor vazio da classe Livro
  public Livro() {}
  
  // construtor cheio da classe Livro
  public Livro(int id, String titulo, String autor, int paginas) {
    this.id = id;
    this.titulo = titulo;
    this.autor = autor;
    this.paginas = paginas;
  }

  public int getId() {
    return id;
  }

  public void setId(int id) {
    this.id = id;
  }

  public String getTitulo() {
    return titulo;
  }

  public void setTitulo(String titulo) {
    this.titulo = titulo;
  }

  public String getAutor() {
    return autor;
  }

  public void setAutor(String autor) {
    this.autor = autor;
  }

  public int getPaginas() {
    return paginas;
  }

  public void setPaginas(int paginas) {
    this.paginas = paginas;
  }
}

Código para a classe Biblioteca, que deve estar no arquivo Biblioteca.java:

package estudos;

// imports necessários
import java.util.ArrayList;
import java.util.Scanner;

// definição da classe Biblioteca
public class Biblioteca {
  String nome;
  ArrayList<Livro> livros; // ArrayList para guardar os livros
  // variável do tipo int para gerar IDs auto-incremento para os livros
  int idUltimoLivroCadastrado = 0;
  
  // construtor da classe
  public Biblioteca(String nome) {
    this.nome = nome;
    this.livros = new ArrayList();
  }
  
  // exibe o menu de opções da biblioteca
  public void exibirMenu(){
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // variáveis temporárias
    Livro temp;
    String pesquisaLivro;
    
    // um laço infinito com as opções do menu
    while(true){
      System.out.println("\n-------------------------------------------------");
      System.out.println(":: " + this.nome + " ::");
      System.out.println("-------------------------------------------------");
      System.out.println("Bem-vindo(a) ao sistema. Escolha a opção desejada\n");
      System.out.println("1 - Novo Livro");
      System.out.println("2 - Listar Livros");
      System.out.println("3 - Pesquisar Livro");
      System.out.println("4 - Excluir Livro");
      System.out.println("5 - Sair");
      System.out.print("\nSua opção: ");
      // lê a opção do usuário
      int opcao = Integer.parseInt(entrada.nextLine());
    
      // um menu switch para ler as opções do menu 
      switch(opcao){
        case 1: // vamos cadastrar um novo livro
          System.out.print("\nTítulo: ");
          String titulo = entrada.nextLine();
          System.out.print("Autor: ");
          String autor = entrada.nextLine();
          System.out.print("Quant Páginas: ");
          int quantPaginas = Integer.parseInt(entrada.nextLine());
          
          // vamos gerar o id deste livro
          int id = ++this.idUltimoLivroCadastrado;
        
          // agora vamos criar um novo objeto da classe Livro
          Livro livro = new Livro(id, titulo, autor, quantPaginas);
          // e o adicionamos no ArrayList de livros
          livros.add(livro);
        
          // e finalmente mostramos uma mensagem de sucesso.
          System.out.println("\nO livro foi cadastrado com sucesso");
        
          break;
        
        case 2: // vamos listar os livros cadastrados
          if(livros.isEmpty()){
            System.out.println("\nNão há nenhum livro cadastrado.");  
          }
          else{
            for(int i = 0; i < livros.size(); i++){
              temp = livros.get(i); // obtém o livro da iteração atual
              System.out.println("\nId: " + temp.getId());
              System.out.println("Título: " + temp.getTitulo());
              System.out.println("Autor: " + temp.getAutor());
              System.out.println("Quant. Paginas: " + temp.getPaginas());
            }  
          }
          break;  
          
        case 3: // vamos pesquisar um livro
          System.out.print("\nInforme o id ou título do livro: ");
          pesquisaLivro = entrada.nextLine();
          // chamamos o método que pesquisa o livro
          temp = this.pesquisarLivro(pesquisaLivro);
          if(temp == null){ // livro não encontrado
            System.out.println("\nO livro náo foi encontrado.");  
          }
          else{
            // mostra o livro encontrado
            System.out.println("\nId: " + temp.getId());
            System.out.println("Título: " + temp.getTitulo());
            System.out.println("Autor: " + temp.getAutor());
            System.out.println("Quant. Paginas: " + temp.getPaginas());
          }
          
          break;
        
        case 4: // vamos excluir um livro
          System.out.print("\nInforme o id ou título do livro a ser excluído: ");
          pesquisaLivro = entrada.nextLine();
          // chamamos o método que pesquisa o livro
          temp = pesquisarLivro(pesquisaLivro);
          if(temp == null){ // livro não encontrado
            System.out.println("\nO livro não foi encontrado.");  
          }
          else{
            // vamos excluir este livro
            livros.remove(temp);
            System.out.println("\nLivro excluído com sucesso.");
          }
          
          break;  
          
        case 5: // sai da aplicação
          System.out.println("\nObrigado por usar a biblioteca\n");
          System.exit(0);
          
        default:
          System.out.println("\nOpção inválida\n");
          break;
      }
    }
  }
  
  // método que pesquisa um livro pelo id ou e retorna um objeto da classe Livro
  public Livro pesquisarLivro(String pesquisaLivro){
    Livro livro = null;
    
    // este livro existe?
    for(int i = 0; i < livros.size(); i++){
      // pesquisa pelo id
      if(Integer.toString(livros.get(i).getId()).equals(pesquisaLivro)){
        return livros.get(i);  
      }
      // pesquisar por título
      else if(livros.get(i).getTitulo().contains(pesquisaLivro)){
        return livros.get(i);  
      }
    }
    
    return livro;
  }
}

E aqui está o código para a classe principal Estudos, no arquivo Estudos.java:

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // vamos criar um novo objeto da classe Biblioteca
    Biblioteca b = new Biblioteca("Biblioteca Programação e Artes");
    
    // mostra o menu da biblioteca
    b.exibirMenu();
  }
}


Carregar Publicações Anteriores


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

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



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