Você está aqui: Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a transposta de uma matriz em Java - Java para Geometria Analítica e Álgebra LinearQuantidade de visualizações: 2787 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 Java, 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 Java que declara uma matriz 2x3 e gera a matriz transposta 3x2: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; public class Estudos{ public static void main(String args[]){ // vamos declarar e construir uma matrix // 2x3 (duas linhas e três colunas int matriz[][] = {{3, 5, 7}, {1, 2, 9}}; // vamos exibir os valores da matriz System.out.println("Elementos da matriz:"); for(int i = 0; i < matriz.length; i++){ for(int j = 0; j < matriz[0].length; j++){ System.out.printf("%5d ", matriz[i][j]); } System.out.println(); } // como temos uma matriz 2x3, a transposta deverá ser // 3x2, ou seja, três linhas e duas colunas int linhas = matriz.length; // linhas da matriz original int colunas = matriz[0].length; // colunas da matriz original int transposta[][] = new int[colunas][linhas]; // e agora vamos preencher a matriz transposta for(int i = 0; i < matriz.length; i++){ for(int j = 0; j < matriz[0].length; j++){ transposta[j][i] = matriz[i][j]; } } // vamos exibir os valores da matriz transposta System.out.println("Elementos da matriz transposta:"); for(int i = 0; i < transposta.length; i++){ for(int j = 0; j < transposta[0].length; j++){ System.out.printf("%5d ", transposta[i][j]); } System.out.println(); } } } Ao executar este código Java 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 |
Link para compartilhar na Internet ou com seus amigos: |
JavaScript ::: Fundamentos da Linguagem ::: Estruturas de Controle |
JavaScript para iniciantes - Como usar o laço do-while da linguagem JavaScriptQuantidade de visualizações: 7440 vezes |
O laço do..while (também chamado de loop ou laço repita enquanto) da linguagem JavaScript é usado quando queremos repetir uma instrução ou um grupo de instruções ENQUANTO uma condição for satisfeita. Veja sua sintáxe:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- do{ // uma instrução ou grupo de instruções }while(condição); A condição pode ser qualquer expressão que resulte em um valor boolean (true ou false). Note também que, diferente do laço while (enquanto) o teste condicional do laço do-while é feito DEPOIS de cada iteração (repetição) do laço. Isso faz com que este laço seja executado no mínimo uma vez. Veja um trecho de código no qual usamos o laço do..while para contar de 0 até 10: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>Estudos JavaScript</title> </head> <body> <script type="text/javascript"> var i = 0; do{ document.write(i + "<br>"); i++; }while(i <= 10); </script> </body> </html> Ao executarmos este código teremos o seguinte resultado: 0 1 2 3 4 5 6 7 8 9 10 Veja que declaramos uma variável de controle i e a inicializamos com o valor 0. No corpo do laço nós exibimos o valor da variável de controle e a incrementamos em 1. Em seguida nós verificamos se seu valor é menor ou igual a 10. Como esta condição é satisfeita, o laço é executado pela segunda vez. Dessa forma o ciclo continua até que o valor da variável de controle seja maior que 10, o que faz com que o laço cesse sua repetição. Veja agora como modificar o laço do-while anterior para exibir os números de 10 até 0: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>Estudos JavaScript</title> </head> <body> <script type="text/javascript"> var i = 10; do{ document.write(i + "<br>"); i--; }while(i >= 0); </script> </body> </html> Agora o resultado do código será: 10 9 8 7 6 5 4 3 2 1 0 Esta dica foi escrita e testada no Internet Explorer 8 e Firefox 3.6. |
AutoCAD .NET API C# ::: Dicas & Truques ::: Polyline - Polilinha |
Como selecionar uma polilinha no AutoCAD e mostrar as coordenadas de suas vértices usando a AutoCAD .NET C# APIQuantidade de visualizações: 177 vezes |
Em várias situações nós precisamos efetuar cálculos usando os vértices de uma polilinha. Nesta dica eu mostro como podemos pedir para o usuário selecionar uma polilinha na área de desenho do AutoCAD e mostrar as coordenadas x e y de cada um dos vértices. No código abaixo eu trato duas formas de polilinhas no AutoCAD: a polilinha 2D Polyline e a polilinha 3D, representada pelo objeto Polyline3d. Note que as formas de se extrair os vértices desses dois objetos são completamente diferentes. Se a polilinha for 2D, seus vértices são extraído usando-se a função GetPoint2dAt(), que retorna um objeto Point2d. Se a polilinha for 3D, ela será representada por um objeto da classe Polyline3d, e seus vértices são retornados como objetos PolylineVertex3d a partir de uma chamada à função GetObject() da classe Transaction. Veja o código AutoCAD .NET C# API completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Geometry; using Autodesk.AutoCAD.EditorInput; [assembly: CommandClass(typeof(PluginEstudos.Class1))] namespace PluginEstudos { public class Class1 { [CommandMethod("estudos")] public void Estudos() { // vamos obter o documento atual Document doc = Application.DocumentManager.MdiActiveDocument; // vamos obter a base de dados Database db = doc.Database; // vamos pedir para o usuário selecionar uma polilinha PromptEntityResult resultado = doc.Editor.GetEntity( "Selecione uma polilinha: "); // a seleção foi feita com sucesso if (resultado.Status != PromptStatus.OK) { Application.ShowAlertDialog("Nenhum elemento selecionado."); return; } // iniciamos uma transação using (Transaction trans = db.TransactionManager.StartTransaction()) { // obtemos a polilinha selecionada DBObject objeto = trans.GetObject(resultado.ObjectId, OpenMode.ForRead); // vamos testar se a polilinha é do tipo leve ou otimizada Polyline polilinha2d = objeto as Polyline; if (polilinha2d != null) { // vamos percorrer todos os vértices, um de cada vez int numero_vertices = polilinha2d.NumberOfVertices; for (int i = 0; i < numero_vertices; i++) { // vamos obter um objeto Point2d ou Point3d Point2d ponto = polilinha2d.GetPoint2dAt(i); // e escrevemos na janela de comandos doc.Editor.WriteMessage("\nX = " + ponto.X.ToString("0.00") + "; Y = " + ponto.Y.ToString("0.00")); } } // é uma polilinha do tipo pesada, ou heavy else { Polyline3d polilinha3d = objeto as Polyline3d; if (polilinha3d != null) { // percorremos cada um dos vértices foreach (ObjectId id_vertice in polilinha3d) { PolylineVertex3d vertice3d = (PolylineVertex3d)trans.GetObject( id_vertice, OpenMode.ForRead); // e escrevemos na janela de comandos doc.Editor.WriteMessage("\nX = " + vertice3d.Position.X.ToString("0.00") + "; Y = " + vertice3d.Position.Y.ToString("0.00")); } } } // fechamos a transação trans.Commit(); } } } } Ao executar este código AutoCAD .NET C# API nós teremos o seguinte resultado: Command: Selecione uma polilinha: X = 168.91; Y = 159.91 X = 415.17; Y = 126.24 X = 317.08; Y = 24.18 X = 80.53; Y = 104.29 |
C ::: Dicas & Truques ::: Recursão (Recursividade) |
Como calcular o fatorial de um número em C usando recursividadeQuantidade de visualizações: 15537 vezes |
O fatorial de um determinado número, representado por n! equivale a multiplicar este número por seus antecessores. Assim, o fatorial de 4 (4!) pode ser calculado da seguinte forma:4 x 3 x 2 x 1 = 24 Sempre que falamos de recursão, o cálculo de fatorial nos auxilia na exemplificação por ser relativamente fácil de se entender todas as etapas do processo. O código abaixo mostra uma função recursiva em C que calcula o fatorial de qualquer número. Tenha cuidado. Calcular o fatorial de um número maior que 10 pode tornar sua máquina extremamente lenta, além de, muitas vezes, não retornar os resultados esperados. ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <locale.h> // cabeçalho da função fatorial recursiva int fatorial(int n); // função principal do programa int main(int argc, char *argv[]){ setlocale(LC_ALL,""); // para acentos do português // vamos calcular o fatorial de 5 int res = fatorial(5); // exibe o resultado printf("O fatorial de 5 é: %d", res); printf("\n\n"); system("PAUSE"); return 0; } // função recursiva para calcular o fatorial // de um determinado número int fatorial(int n){ if(n == 0){ return 1; } else{ return n * fatorial(n - 1); } } Ao executar este código C nós teremos o seguinte resultado: O fatorial de 5 é: 120 |
Node.js ::: Dicas de Estudo e Anotações ::: Passos Iniciais |
Saiba o que é o Node.js e como baixar, instalar e testar seu funcionamento no WindowsQuantidade de visualizações: 1255 vezes |
O que é o Node.js Então todos os seus amigos estão comentando sobre Node.js e você não tem a mínima idéia do que se trata? Neste pequeno tutorial falaremos um pouco sobre essa ferramenta, faremos o download do instalador no Windows 10 (deve funcionar em outras versões também) e no final testaremos a instalação para termos certeza de que já estaremos prontos para desenvolver algumas idéias. O Node.js é uma plataforma server-side, ou seja, que executa do lado do servidor web e escrito a partir do Google Chrome's JavaScript Engine (V8 Engine), o motor de interpretação e/ou compilação de códigos JavaScript do navegador Google Chrome. Esta ferramenta foi desenvolvida por Ryan Dahl e desde então tem sido adotada em vários projetos web e sofre melhorias a cada versão. O objetivo principal do Node.js é facilitar o desenvolvimento de aplicações web que sejam mais rápidas e de fácil escalabilidade. Este web server (sim, o Node.js é um servidor web tal como o Apache Web Server, Tomcat, etc) usa um modelo direcionado a eventos (event-driven) e sem bloqueio de I/O, o que o torno leve e muito eficiente, perfeito para aplicações de tempo real e acesso intensivo a dados e que possam ser executadas em ambientes distribuidos. O Node.js é uma plataforma open source e cross-platform, ou seja, permite que nossos códigos rodem em diferentes sistemas operacionais com poucas ou nenhuma alteração. Além disso, aplicações Node.js são escritas em JavaScript e são executadas dentro do runtime do próprio Node.js. Para completar, esta ferramenta nos fornece uma extensa biblioteca de módulos JavaScript, o que simplifica ainda mais o desenvolvimento de aplicações web. Baixando e instalando o Node.js Para fazer o download do Node.js, direcione o seu navegador para a URL https://nodejs.org/en/download. Você encontrará os binários e instaladores para Windows, MacOS e Linux. Para este tutorial eu baixei o instalador para o Windows 64-bit Windows Installer (.msi), node-v12.16.3-x64.msi, com o tamanho de 18,8Mb. Execute o instalador e siga o passo-a-passo da instalação. Um detalhe importante é informar, para a instalação, um diretório que não contenha espaços. Veja: Depois de escolhido o local de instalação, continue e logo você verá a seguinte tela: Aqui o instalador nos informa que alguns módulos rpm precisam ser compilados com C/C++ antes de serem instalados. Se você quiser instalar tais módulos, algumas ferramentas tais como Python e o Visual Studio Build Tools deverão ser baixadas. Mas se você não quiser, não precisa se preocupar com isso agora. Apenas clique o botão Next e finalize a instalação. Testando a sua instalação do Node.js Finalizada a instalação, chegou a hora de fazermos o teste. Abra um janela de comando (cmd) e digite: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- node -v Opcionalmente você pode digitar --version em vez de -v. O resultado será a versão do Node.js que você acaba de instalar. Para concluir, vamos testar a interface de linha de comando do Node. Abra de novo a janela de terminal do Windows e digite apenas: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- node Agora você verá o sinal ">" aguardando os seus comandos. Digite algo como: console.log('Que beleza. O Node.js está pronto!'); Pressione a tecla Enter e o Node.js exibirá o conteúdo digitado. Para sair do comando de linha do Node e voltar para o terminal do Windows, basta pressionar Ctrl+D. Pronto! Agora você já pode ver nossas dicas de Node.js e dar continuidade aos seus estudos. |
C ::: Dicas & Truques ::: Recursão (Recursividade) |
Como escrever uma função recursiva para calcular a potência de um número usando a linguagem CQuantidade de visualizações: 47552 vezes |
Chamamos de potenciação a operação de se elevar um número (uma base) a um determinado expoente e obter sua potência. Veja a figura a seguir: Veja que aqui o valor 5 foi elevado ao cubo, ou seja, ao expoente 3 e obtemos como resultado sua potência: 125. O código abaixo mostra como você pode escrever uma função recursiva em C que permite calcular a potência de um número inteiro: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> // função recursiva que calcula a potência de // um inteiro int potencia(int base, int expoente) { if(expoente == 0){ return 1; } else{ return base * potencia(base, expoente - 1); } } int main(int argc, char *argv[]) { int base = 3; int expoente = 4; printf("%d elevado a %d = %d", base, expoente, potencia(base, expoente)); printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: 3 elevado a 4 = 81 |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
Python - Como converter Metros Quadrados em Quilômetros Quadrados em Python - Python para Física e Engenharia |
Códigos Fonte |
Software 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 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 |