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 PythonQuantidade de visualizações: 3018 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) # agora vamos criar uma matriz de 2 linhas e 4 colunas matriz = np.array([[8, 51, 2, 35], [90, 42, 0, 71]]) # vamos mostrar a quantidade de linhas e colunas nessa matriz print("Linhas e colunas na matriz:", matriz.shape) if __name__== "__main__": main() Ao executarmos este código nós teremos o seguinte resultado: Linhas e colunas no vetor: (8,) Linhas e colunas na matriz: (2, 4) 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)) # agora vamos criar uma matriz de 2 linhas e 4 colunas matriz = np.array([[8, 51, 2, 35], [90, 42, 0, 71]]) # vamos mostrar a quantidade de linhas e colunas nessa matriz print("Linhas e colunas na matriz:", np.shape(matriz)) if __name__== "__main__": main() Execute e veja que o resultado é o mesmo para ambos os códigos. |
C# ::: Windows Forms ::: Formulários e Janelas |
C# Windows Forms - Como obter a quantidade de controles em um formulário usando a propriedade Controls.CountQuantidade de visualizações: 8287 vezes |
Em algumas situações nós precisamos saber quantos controles existem atualmente em um formulário Windows Forms. Isso pode ser feito com uma chamada à propriedade Count da classe ControlCollection. Um objeto da classe ControlCollection é retornado quando acessamos a propriedade Controls de um formulário (e presente também em outros controles que podem conter controles filhos). Veja um trecho de código no qual obtemos a quantidade de controles em um formulário ao clicarmos em um botão: private void button1_Click(object sender, EventArgs e){ // vamos obter a quantidade de controles no formulário int quantControles = this.Controls.Count; // vamos exibir o resultado MessageBox.Show("O formulário contém " + quantControles + " controles."); } Note que a coleção ControlCollection retorna apenas os controles visuais no formulário, ou seja, componentes tais como Timer, DirectoryEntry, etc, não são incluídos. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Java - Um método recursivo que calcula o MDC (máximo divisor comum) entre dois números inteirosQuantidade de visualizações: 8899 vezes |
Exercício Resolvido de Java - Um método recursivo que calcula o MDC (máximo divisor comum) entre dois números inteiros Pergunta/Tarefa: O máximo divisor comum ou MDC (mdc) entre dois ou mais números inteiros é o maior número inteiro que é fator de tais números. Por exemplo, os divisores comuns de 12 e 18 são 1, 2, 3 e 6, logo mdc(12, 18) = 6. A definição abrange qualquer número de termos, por exemplo mdc(10, 15, 25, 30) = 5. O cálculo do MDC entre x e y pode ser feito recursivamente da seguinte forma: Se y for igual a 0, então mdc(x, y) = x. Caso contrário, mdc(x, y) = mdc(y, x % y), no qual % é o operador de módulo (restante da divisão inteira). Escreva um método recursivo que receba dois inteiros e calcule o mdc. Seu método deverá possuir a seguinte assinatura: public static int mdc(int x, int y){ // sua implementação aqui } Informe o primeiro inteiro: 12 Informe o segundo inteiro: 18 O MDC dos valores 12 e 18 é 6 Veja a resolução comentada deste exercício usando Java console: package exercicio; import java.util.Scanner; public class Exercicio { public static void main(String[] args) { // cria um novo objeto da classe Scanner Scanner entrada = new Scanner(System.in); // vamos solicitar dois valores inteiros System.out.print("Informe o primeiro inteiro: "); // lê o primeiro inteiro int a = Integer.parseInt(entrada.nextLine()); // solicita o segundo inteiro System.out.print("Informe o segundo inteiro: "); // lê o segundo inteiro int b = Integer.parseInt(entrada.nextLine()); // mostra o resultado System.out.print("O MDC dos valores " + a + " e " + b + " é " + mdc(a, b)); System.out.println("\n"); } // método recursivo que calcula o mdc de dois inteiros public static int mdc(int x, int y){ // a recursividade é interrompida quando y for igual a 0 if(y == 0){ return x; } else{ return mdc(y, x % y); // efetua uma nova chamada recursiva } } } |
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 LinearQuantidade de visualizações: 1139 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 |
C# ::: Dicas & Truques ::: Matemática e Estatística |
Como gerar um número aleatório usando a função Next() da classe Random do C#Quantidade de visualizações: 23832 vezes |
Este exemplo mostra como gerar números randômicos usando C#. Para isso nós vamos usar o método Next() da classe Random. Este método retorna um número inteiro maior ou igual a zero e menor que a constante MaxValue (cujo valor é 2.147.483.647). Observe que cada chamada a Next() gera um número aleatório diferente, não havendo a necessidade de criar um novo objeto da classe Random para cada número desejado. Eis o código: static void Main(string[] args){ // cria um objeto da classe Random Random rnd = new Random(); // gera o número aleatório na faixa // 0 até MaxValue (2.147.483.647) int numero = rnd.Next(); // exibe o resultado Console.Write("O número gerado foi: {0}", numero); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } Ao executar este código C# nós teremos o seguinte resultado: O número gerado foi: 504 |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Java para iniciantes - Como usar o método trim() da classe String para remover espaços antes e depois de uma palavra, frase ou textoQuantidade de visualizações: 97 vezes |
Em várias ocasiões precisamos tratar textos lidos de arquivos ou informados pelo usuário. Como parte desse tratamento precisamos remover os espaços antes e depois da palavra, frase ou texto informado ou lido. Para isso podemos usar o método trim() da classe String. Este método recebe como argumento uma string e retorna outra string com os espaços já removidos. Veja um exemplo completo de seu uso: // Este exemplo mostra como remover espaços do início // e fim de uma string public class Estudos{ public static void main(String[] args){ String frase = " Programar em Java é bom demais. "; frase = frase.trim(); System.out.println(frase); System.exit(0); } } Este exemplo foi revisado e testado no Java 8. |
Delphi ::: Dicas & Truques ::: Matemática e Estatística |
Como obter o maior entre dois valores usando a função Max() do DelphiQuantidade de visualizações: 16063 vezes |
A função Max(), presente na unit Math é útil quando precisamos retornar o maior entre dois valores fornecidos. Veja um exemplo:procedure TForm2.Button1Click(Sender: TObject); var a, b, maior: Integer; begin // uses Math a := 34; b := 17; maior := Max(a, b); // exibe o resultado ShowMessage('O maior valor é: ' + IntToStr(maior)); end; Note que a função Max() é uma função sobrecarregada, ou seja, os valores fornecidos e o retorno da função podem ser do tipo Integer, Int64, Single, Double ou Extended. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
PHP ::: PHP + MySQL ::: MySQL Improved Extension (mysqli) |
Como estabelecer uma conexão PHP + MySQL no modo procedimental - Como se conectar ao banco MySQL usando PHP (modo procedural) usando mysqli_connect - Revisado)Quantidade de visualizações: 7253 vezes |
Nesta dica mostrarei como usar a função mysqli_connect da extensão mysqli para efetuar uma conexão PHP + MySQL usando o modo precedimental, ou seja, nada de programação orientada aqui, mas em outras dicas dessa seção você encontrará a forma de conexão orientada a objetos. Veja um trecho de código completo no qual nos conectamos ao banco de dados MySQL e exibimos uma mensagem indicando o sucesso da operação: <? // vamos efetuar a conexão com o banco $conexao = mysqli_connect("localhost", "root", "osmar1234", "estudos"); // conexão efetuada com sucesso? if(mysqli_connect_errno()) { echo "Não foi possível efetuar a conexão com o MySQL: " . mysqli_connect_error(); // vamos sair daqui exit(); } else{ echo "Conexão efetuada com sucesso."; // fecha a conexão mysqli_close($conexao); } ?> Este trecho de código foi revisado e testado no PHP 8. |
Delphi ::: Dicas & Truques ::: Aplicativos e Outros |
Como calcular a distância entre dois pontos na terra em DelphiQuantidade de visualizações: 1467 vezes |
Nesta dica mostrarei como calcular a distância em quilômetros entre dois pontos na terra dadas suas latitudes e longitudes. Neste exemplo eu coloquei o valor de 6378.137 para o raio da terra, mas você pode definir para o valor que achar mais adequado. O cálculo usado neste código se baseia na Fórmula de Haversine, que determina a distância do grande círculo entre dois pontos em uma esfera, dadas suas longitudes e latitudes. Veja o código Delphi completo: // função que recebe dois pontos na terra e retorna a distância // entre eles em quilômetros function CalcularDistancia(lat1: double; lat2: double; lon1: double; lon2: double): double; var raio_terra, dlon, dlat, a, c: double; begin raio_terra := 6378.137; // raio da terra em quilômetros // o primeiro passo é converter as latitudes e longitudes // para radianos // não esqueça de adicionar a unit Math lon1 := DegToRad(lon1); lon2 := DegToRad(lon2); lat1 := DegToRad(lat1); lat2 := DegToRad(lat2); // agora aplicamos a Fórmula de Haversine dlon := lon2 - lon1; dlat := lat2 - lat1; a := Power(Sin(dlat / 2), 2) + Cos(lat1) * Cos(lat2) * Power(Sin(dlon / 2),2); c := 2 * ArcSin(Sqrt(a)); // e retornamos a distância Result := (c * raio_terra); end; procedure TForm5.Button1Click(Sender: TObject); var lat1, lon1, lat2, lon2, distancia: double; begin // obtém as coordenadas vindas dos campos de texto lat1 := StrToFloat(txtPrimeiraLatitude.Text); lon1 := StrToFloat(txtPrimeiraLongitude.Text); lat2 := StrToFloat(txtSegundaLatitude.Text); lon2 := StrToFloat(txtSegundaLongitude.Text); // vamos calcular a distância entre os dois pontos em Kms distancia := CalcularDistancia(lat1, lat2, lon1, lon2); // e mostramos o resultado txtDistancia.Text := FormatFloat('#.0', distancia) + ' kms'; end; Ao executar este código Delphi nós teremos o seguinte resultado: Informe a primeira latitude: -16,674551 Informe a primeira longitude: -49,303598 Informe a segunda latitude: -15,579321 Informe a segunda longitude: -56,10009 A distância entre os dois pontos é: 736,9 kms Aqui as informações sobre as latitudes e longitudes vieram de campos de texto TEdit, e o código foi disparado a partir do clique de um botão TButton. Neste exemplo eu calculei a distância entre as cidades de Goiânia-GO e Cuiabá-MT. A latitude é a distância ao Equador medida ao longo do meridiano de Greenwich. Esta distância mede-se em graus, podendo variar entre 0o e 90o para Norte(N) ou para Sul(S). A longitude é a distância ao meridiano de Greenwich medida ao longo do Equador. |
PHP ::: Dicas & Truques ::: Data e Hora |
Datas e horas em PHP - Como saber se um determinado ano é bissexto usando PHPQuantidade de visualizações: 142 vezes |
Nesta dica veremos como é possível usar a função date() da linguagem PHP para verificar se um determinado ano é bissexto. Note como combinamos o parâmetro "L" da função date() e a função mktime() contendo o ano que queremos testar. Veja o código PHP completo para o exemplo: <html> <head> <title>Estudando PHP</title> </head> <body> <?php $ano = "2020"; $bissexto = date("L", mktime(0, 0, 0, 1, 1, $ano)); if($bissexto == 0){ echo "O ano informado não é bissexto"; } else{ echo "O ano informado é bissexto"; } ?> </body> </html> Ao executar este código PHP nós teremos o seguinte resultado: O ano informado é bissexto |
Nossas 20 dicas & truques de programação mais populares |
JavaScript - JavaScript para iniciantes - Como usar o método escape() para codificar uma frase em JavaScript |
Você também poderá gostar das dicas e truques de programação abaixo |
LISP - Como converter Coordenadas Polares para Coordenadas Cartesianas em LISP - LISP para Engenharia |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |