![]() |
|
![]() 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 |
Delphi ::: Dicas & Truques ::: Matemática e Estatística |
Como obter o resultado de uma divisão de inteiros, incluindo o resto, usando a procedure DivMod() do DelphiQuantidade de visualizações: 16249 vezes |
Em algumas situações precisamos obter o resultado de uma divisão de inteiros e gostaríamos de obter também o resto da divisão, ou seja, se dividirmos 10 por 3 o resultado será 3 (3 x 3 = 9) e o resto será 1. A procedure DivMod(), presente na unit Math nos permite fazer isso. Ela requer quatro argumentos: procedure DivMod(Dividend: Integer; Divisor: Word; var Result, Remainder: Word); Veja que fornecemos o dividendo e o divisor como Integer e Word mas, as variáveis que receberão o resultado e o resto da divisão deverão ser passadas por referência. Veja um exemplo: procedure TForm2.Button1Click(Sender: TObject); var dividendo, divisor: Integer; resultado, resto: Word; begin // uses Math // vamos dividir 10 por 3 dividendo := 10; divisor := 3; DivMod(dividendo, divisor, resultado, resto); // vamos exibir o resultado ShowMessage('Resultado da divisão: ' + IntToStr(resultado)); // vamos exibir o resto ShowMessage('Resto da divisão: ' + IntToStr(resto)); end; Note que DivMod() realiza seu trabalho e guarda os resultados nas variáveis resultado e resto, que, como vimos na assinatura da procedure, devem ser fornecidas por referência. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Delphi ::: Data Access Controls (Controles de Acesso a Dados) ::: TClientDataSet |
Como usar a propriedade Eof para verificar se estamos no último registro do TClientDataSet do DelphiQuantidade de visualizações: 14236 vezes |
Em algumas situações gostaríamos de verificar se já estamos no último registro do TClientDataSet, ou seja, estamos percorrendo todos os registros do dataset e queremos saber se já estamos no último. Para isso podemos usar a propriedade Eof da classe TClientDataSet. Esta propriedade retorna true se estivermos no último registro e false em caso contrário. Veja um trecho de código no qual usamos um laço while para percorrer todos os registros de um TClientDataSet. Note o uso da propriedade Eof para finalizar as iterações do laço: procedure TForm3.Button4Click(Sender: TObject); begin // vamos percorrer todos os registros do TClientDataSet ClientDataSet1.First; // vamos para o primeiro registro // e agora disparamos um laço While while not ClientDataSet1.Eof do begin // vamos mostrar em um TMemo os valores do // campo id de cada registro Memo1.Lines.Add(ClientDataSet1.FieldByName('id').AsString); // vamos mover para o próximo registro ClientDataSet1.Next; end; end; A propriedade Eof é verdadeira quando: a) Abrimos um dataset vazio. b) Efetuamos uma chamada ao método Last do dataset. c) Chamamos o método Next do dataset e a chamada falha porque o registro atual já é o último registro no dataset. d) Efetuamos uma chamada ao método SetRange em uma faixa de dados ou dataset vazio. Esta dica foi escrita e testada no Delphi 2009. |
Revit C# ::: Dicas & Truques ::: Revit C# Windows Forms |
Como criar um formulário Windows Forms a partir do Revit C#Quantidade de visualizações: 732 vezes |
Nesta dica mostrarei os passos necessários para se criar uma aplicação Revit C# contendo uma formulário Windows Forms. O objetivo é demonstrar como o usuário pode interagir com os elementos do formulário para acessar e manipular objetos do Revit a partir de códigos C#. Antes de continuarmos, veja a janela Windows Forms que criamos logo abaixo: ![]() Veja que temos um formulário contendo 6 Labels e 6 TextBox contendo as coordenadas inicias e finais de uma linha geométrica usada para criar um novo eixo na área de desenho do Revit. Ao informar as coordenadas e clicar o botão Desenhar Eixo, um novo objeto da classe Grid da Revit API é criado e desenhado no documento atual. Este código é muito útil para iniciantes em programação Revit C# porque mostra como acessar o documento ativo usando ActiveUIDocument e em seguida passar este objeto para uma outra classe C#. De posse deste objeto nós podemos realizar várias tarefas, entre elas criar uma nova linha geométrica usando Line.CreateBound() e, em seguida, criar um novo Grid usando Grid.Create(). Veja o código completo para uma macro chamada Estudos do tipo Aplicativo. Se tiver dificuldades para executar, chama a gente nos contatos na parte superior do site que teremos prazer em ajudá-lo. Eis a listagem do código C#: using System; using Autodesk.Revit.UI; using Autodesk.Revit.DB; using Autodesk.Revit.UI.Selection; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace Estudos { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes. TransactionMode.Manual)] [Autodesk.Revit.DB.Macros.AddInId("ED8EC6C4-9489-48F7-B04E-B45B5D1BEB12")] public partial class ThisApplication { private void Module_Startup(object sender, EventArgs e) { JanelaPrincipal janela = new JanelaPrincipal(); janela.uidoc = this.ActiveUIDocument; janela.ShowDialog(); } private void Module_Shutdown(object sender, EventArgs e) { // para fazer alguma limpeza de memória ou algo assim } #region Revit Macros generated code private void InternalStartup() { this.Startup += new System.EventHandler(Module_Startup); this.Shutdown += new System.EventHandler(Module_Shutdown); } #endregion } // classe para representar o formulário public class JanelaPrincipal : System.Windows.Forms.Form { public UIDocument uidoc; public System.Windows.Forms.TextBox txtX0; public System.Windows.Forms.TextBox txtY0; public System.Windows.Forms.TextBox txtZ0; public System.Windows.Forms.TextBox txtX1; public System.Windows.Forms.TextBox txtY1; public System.Windows.Forms.TextBox txtZ1; // construtor da classe public JanelaPrincipal() { this.Text = "Meu Formulário Revit C# Windows Forms"; // título da janela this.Width = 390; // largura da janela this.Height = 240; // altura da janela // define a posição atual da janela this.StartPosition = FormStartPosition.CenterScreen; // vamos criar quatro labels e quatro caixas de texto Label label1 = new Label(); label1.Text = "X Inicial:"; label1.Location = new System.Drawing.Point(20, 20); label1.Height = 15; label1.Width = 80; Label label2 = new Label(); label2.Text = "Y Inicial:"; label2.Location = new System.Drawing.Point(120, 20); label2.Height = 15; label2.Width = 80; Label label3 = new Label(); label3.Text = "Z Inicial:"; label3.Location = new System.Drawing.Point(220, 20); label3.Height = 15; label3.Width = 80; txtX0 = new System.Windows.Forms.TextBox(); txtX0.Location = new System.Drawing.Point(20, 40); txtX0.Width = 80; txtX0.Height = 15; txtY0 = new System.Windows.Forms.TextBox(); txtY0.Location = new System.Drawing.Point(120, 40); txtY0.Width = 80; txtY0.Height = 15; txtZ0 = new System.Windows.Forms.TextBox(); txtZ0.Location = new System.Drawing.Point(220, 40); txtZ0.Width = 80; txtZ0.Height = 15; Label label4 = new Label(); label4.Text = "X Final:"; label4.Location = new System.Drawing.Point(20, 80); label4.Height = 15; label4.Width = 80; Label label5 = new Label(); label5.Text = "Y Final:"; label5.Location = new System.Drawing.Point(120, 80); label5.Height = 15; label5.Width = 80; Label label6 = new Label(); label6.Text = "Z Final:"; label6.Location = new System.Drawing.Point(220, 80); label6.Height = 15; label6.Width = 80; txtX1 = new System.Windows.Forms.TextBox(); txtX1.Location = new System.Drawing.Point(20, 97); txtX1.Width = 80; txtX1.Height = 15; txtY1 = new System.Windows.Forms.TextBox(); txtY1.Location = new System.Drawing.Point(120, 97); txtY1.Width = 80; txtY1.Height = 15; txtZ1 = new System.Windows.Forms.TextBox(); txtZ1.Location = new System.Drawing.Point(220, 97); txtZ1.Width = 80; txtZ1.Height = 15; // botão que desenha o eixo nas coordenadas indicadas Button button1 = new Button(); button1.Text = "Desenhar Eixo"; button1.Location = new System.Drawing.Point(95, 160); button1.Width = 150; button1.Click += new System.EventHandler(DesenharEixo); // botão que fecha a janela Button button2 = new Button(); button2.Text = "Fechar"; button2.Location = new System.Drawing.Point(265, 160); button2.Width = 80; button2.Click += new System.EventHandler(FecharJanela); // adiciona os controles à janela this.Controls.Add(label1); this.Controls.Add(label2); this.Controls.Add(label3); this.Controls.Add(label4); this.Controls.Add(label5); this.Controls.Add(label6); this.Controls.Add(txtX0); this.Controls.Add(txtY0); this.Controls.Add(txtZ0); this.Controls.Add(txtX1); this.Controls.Add(txtY1); this.Controls.Add(txtZ1); this.Controls.Add(button1); this.Controls.Add(button2); } // função usada para desenhar um novo eixo no documento atual private void DesenharEixo(object sender, System.EventArgs e) { // primeiro obtemos uma referência ao documento atual Document doc = uidoc.Document; // criamos a linha geométrica para posicionar o eixo XYZ inicio = new XYZ(Double.Parse(txtX0.Text), Double.Parse(txtY0.Text), Double.Parse(txtZ0.Text)); XYZ final = new XYZ(Double.Parse(txtX1.Text), Double.Parse(txtY1.Text), Double.Parse(txtZ1.Text)); // construímos a linha Line linhaGeometrica = Line.CreateBound(inicio, final); // iniciamos uma nova transação using(Transaction t= new Transaction(doc)) { t.Start("Criar um novo Grid"); Grid grid = Grid.Create(doc, linhaGeometrica); t.Commit(); } } // função usada para fechar a janela private void FecharJanela(object sender, System.EventArgs e) { this.Close(); } } } Não se esqueça de adicionar referências a System.Windows.Forms e System.Drawing. Basta, dentro do SharpDevelop, ir no menu Projeto -> Adicionar Referência. |
Java ::: Pacote java.net ::: HttpURLConnection |
Como usar o método GET da classe HttpURLConnection do Java para enviar dados a uma página PHP, JSP, ASP.NET, etcQuantidade de visualizações: 6883 vezes |
Em algumas situações gostaríamos de enviar uma solicitação HTTP do tipo GET a uma página PHP, JSP, ASP.NET, etc, a partir de nossos programas Java. Para isso podemos usar um objeto da classe HttpURLConnection. Para este exemplo eu mostrarei como enviar uma requisição GET para uma página PHP e retornar o resultado da soma de dois números. Comece analisando o código para o documento somar.php: <?php // obtém o primeiro valor $a = (int)$_GET["a"]; // obtém o primeiro valor $b = (int)$_GET["b"]; // vamos somar e mostrar o resultado $soma = $a + $b; echo "A soma dos dois números é: " . $soma; ?> Este código PHP não apresenta muitos segredos: obtemos dois números passados via GET, efetuamos a soma dos dois e escrevemos o resultado na página. Veja agora o código completo para a aplicação Java: package arquivodecodigos; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class Principal { public static void main(String[] args) { int n1 = 10, n2 = 25; URL url; HttpURLConnection connection = null; BufferedReader in = null; try { url = new URL("http://www.arquivodecodigos.com.br/somar.php?a=" + n1 + "&b=" + n2); // vamos efetuar a conexão à URL especificada connection = (HttpURLConnection)url.openConnection(); // em alguns servidores nós precisamos adicionar o User-Agent para evitar // o erro 403 Forbidden // HttpURLConnection : Server return HTTP 403 Forbidden connection.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; " + "WOW64; rv:221.0) Gecko/20100101 Firefox/31.0"); // vamos obter o retorno da conexão String linha; in = new BufferedReader(new InputStreamReader(connection.getInputStream())); while((linha = in.readLine()) != null) { System.out.println(linha); } } catch (MalformedURLException ex) { System.out.println("A URL está mal formada: " + ex.getMessage()); } catch (IOException ex) { System.out.println("Não foi possível efetuar a conexão: " + ex.getMessage()); } finally { if(in != null) { try { in.close(); } catch (IOException ex) { System.out.println("Não consegui fechar o stream de saída: " + ex.getMessage()); } } connection.disconnect(); } } } Ao executar o programa, teremos uma mensagem no console parecida com: A soma dos dois números é: 35 |
Node.js ::: Node.js + MongoDB ::: Passos Iniciais |
Node.js MongoDB - Como instalar o driver do MongoDB no Node.js e efetuar uma conexão Node.js + MongoDBQuantidade de visualizações: 1490 vezes |
Assumindo que você já conhece o banco de dados MongoDB, já fez sua instalação e já está um pouco familiarizado com suas características, nesta dica mostrarei como podemos efetuar uma conexão Node.js + MongoDB. Este é o passo inicial para desenvolver aplicações MEAN (Mongo, Express, Angular, Node) ou MERN (Mongo, Express, React, Node). Note que, nessa dica, usarei apenas o MongoClient para efetuar a conexão com o banco de dados MongoDB. Em outras dicas eu abordo o Mongoose. Então vamos iniciar. A primeira coisa que temos que fazer é instalar o driver MongoDB. Assim, com o Node.js devidamente instalado e funcionando, e com o banco MongoDB em perfeito funcionamento também, abra uma janela de terminal e digite o comando: npm install mongodb Após alguns minutos, a instalação será concluída e teremos o seguinte resultado: + mongodb@3.6.4 added 17 packages from 9 contributors and audited 20 packages in 9.358s 1 package is looking for funding run `npm fund` for details found 0 vulnerabilities Agora já podemos escrever o código que efetua a conexão Node.js com o MongoDB. Abra o seu editor de códigos favorito e digite a listagem abaixo: // vamos obter uma referência ao MongoClient var MongoClient = require('mongodb').MongoClient; // vamos nos conectar à base de dados escola var url = 'mongodb://localhost:27017/escola'; // Vamos nos conectar ao servidor e base de dados. Atenção: Em caso de erro, a // função pode demorar a retornar, pois o Node.js pode pensar que é lentidão // na rede MongoClient.connect(url, {useUnifiedTopology: true}, function(err, db) { if(err){ console.log("Não foi possível efetuar a conexão. Erro: " + err); } else{ console.log("Conexão efetuada com sucesso."); } // finalmente vamos fechar a conexao if(db){ db.close(); } }); Salve este código como conexao.js e execute-o no Node.js (com o MongoDB rodando, é claro) com o seguinte comando: c:\estudos_nodejs>node conexao.js Se tudo correr bem você verá a mensagem: Conexão efetuada com sucesso. Veja que, nesse código, eu efetuei uma conexão com a base de dados escola. Se a porta e o servidor estiverem corretos (talvez você tenha que informar um usuário e senha também), a conexão será efetuada com sucesso mesmo que a base de dados não exista. Quando informamos uma base de dados inexistente, o MongoDB entende que queremos criá-la, mas ele só a cria de fato, quando solicitamos a criação de uma nova coleção. Em mais dicas dessa seção você aprenderá como criar coleções no MongoDB a partir de seus códigos Node.js. Até lá e bons estudos. |
C ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular porcentagem em C - Como efetuar cálculos de porcentagem em CQuantidade de visualizações: 28774 vezes |
Cálculos de porcentagens estão presentes em boa parte das aplicações que desenvolvemos. Porém, há momentos em que a mente trava e não conseguimos lembrar com clareza como estes cálculos são feitos, principalmente em C. Esta anotação tem o objetivo de ser uma fonte de pesquisa para os momentos em que suas habilidades matemáticas insistirem em continuar ocultas. Ex: 1 - Suponhamos que um produto que custe R$ 178,00 sofra um acréscimo de 15%. Qual o valor final do produto? Veja o código em C: // Algoritmo que calcula porcentagem em C #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // variáveis usadas na resolução do problema float valor, percentual, valor_final; valor = 178.00; // valor original percentual = 15.0 / 100.0; // 15% valor_final = valor + (percentual * valor); // mostra o resultado printf("O valor final do produto é: %f", valor_final); // O resultado será 204,70 printf("\n\n"); system("PAUSE"); return 0; } Ex: 2 - Um produto, cujo valor original era de R$ 250,00, teve um desconto de 8%. Qual foi seu valor final? Veja o código em C: // Algoritmo que calcula porcentagem em C #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // variáveis usadas na resolução do problema float valor, percentual, valor_final; valor = 250.00; // valor original percentual = 8.0 / 100.0; // 8% valor_final = valor - (percentual * valor); // mostra o resultado printf("O valor final do produto é: %f", valor_final); // O resultado será 230,00 printf("\n\n"); system("PAUSE"); return 0; } Ex: 3 - Em um concurso de perguntas e respostas, um jovem acertou 72 das 90 perguntas apresentadas. Qual foi a porcentagem de acertos? E a porcentagem de erros? Veja o código em C: // Algoritmo que calcula porcentagem em C #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // variáveis usadas na resolução do problema float perguntas, acertos; perguntas = 90.0; acertos = 72.0; // mostra a porcentagem de acertos printf("Porcentagem de acertos: %f%%", ((acertos / perguntas) * 100)); // mostra a porcentagem de erros printf("\nPorcentagem de erros: %f%%", ((perguntas - acertos) / perguntas) * 100); // Os resultados serão 80% e 20% printf("\n\n"); system("PAUSE"); return 0; } Ex: 4 - Um aparelho de CD foi adquirido por R$ 300,00 e revendido por R$ 340,00. Qual foi a porcentagem de lucro na transação? Veja o código em C: // Algoritmo que calcula porcentagem em C #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // variáveis usadas na resolução do problema float valor_anterior, novo_valor, porcentagem_lucro; valor_anterior = 300.0; // valor anterior novo_valor = 340.0; // valor novo // calcula a porcentagem de lucro // efetua o cálculo porcentagem_lucro = ((novo_valor * 100) / valor_anterior) - 100; printf("A porcentagem de lucro foi de: %f%%", porcentagem_lucro); // O resultado será 13,33 printf("\n\n"); system("PAUSE"); return 0; } Ex: 5 - Uma loja repassa 5% do lucro a seus vendedores. Se um produto custa R$ 70,00, qual o valor em reais repassado a um determinado vendedor? Veja o código em C: // Algoritmo que calcula porcentagem em C #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // variáveis usadas na resolução do problema float valor, percentual, comissao; valor = 70.0; // valor do produto percentual = 5.0 / 100.0; // 5% // calcula a comissão comissao = percentual * valor; // mostra o resultado printf("O valor repassado ao vendedor é: %f", comissao); // O resultado será 3,5 printf("\n\n"); system("PAUSE"); return 0; } |
C++ ::: Dicas & Truques ::: Ponteiros, Referências e Memória |
Como alocar memória dinâmica usando o operador new do C++Quantidade de visualizações: 12332 vezes |
Em algumas situações precisamos alocar memória dinamicamente. Em C++ isso é feito com o auxílio do operador new. Este operador permite alocar uma determinada quantidade de bytes, alinhados de forma a representar o objeto para o qual queremos reservar memória. Veja um exemplo de código no qual alocamos memória dinâmica para uma variável do tipo int: #include <iostream> using namespace std; int main(int argc, char *argv[]){ // aloca memória para um objeto do tipo int int *ponteiro = new int; // vamos definir o valor para o objeto recém-alocado *ponteiro = 20; // vamos exibir seu valor cout << *ponteiro << endl; // vamos liberar a memória delete ponteiro; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Note que aqui a memória foi alocada e guardada em um ponteiro. Veja também o uso do operador delete para liberar a memória alocada. Isso evita os vazamentos de memória tão frequentes em aplicações que lidam com a memória dinâmica. É claro que este não é o exemplo mais prático. Qual a vantagem de se alocar memória para um int? Declarar uma variável teria sido mais eficiente. A alocação de memória dinâmica é mais útil quando estamos lidando com objetos mais complexos que os tipos básicos. Alguns exemplos envolvem a criação de objetos de classes, matrizes, estruturas de dados, etc. Veja um exemplo no qual temos uma declaração de uma classe chamada Cliente e em seguida alocamos memória para uma instância desta classe: #include <iostream> #include <string> using namespace std; // declaração da classe Cliente class Cliente{ public: Cliente(); string obterNome(); void definirNome(string); private: string nome; }; // implementação dos métodos da classe Cliente::Cliente(){} // construtor vazio // obtém o nome do cliente string Cliente::obterNome(){ return this->nome; } // define o nome do cliente void Cliente::definirNome(string nome){ this->nome = nome; } int main(int argc, char *argv[]){ // aloca memória para um objeto da classe Cliente Cliente *c = new Cliente(); // vamos definir o nome do cliente c->definirNome("Osmar J. Silva"); // vamos exibir o nome do cliente cout << c->obterNome() << endl; // vamos liberar a memória usada delete c; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Nome do cliente: Osmar J. Silva |
Delphi ::: Dicas & Truques ::: Data e Hora |
Como obter a diferença de dias entre duas datas em Delphi usando a função DaysBetween()Quantidade de visualizações: 24166 vezes |
Em algumas situações nós precisamos saber a diferença de dias entre duas datas. Para isso podemos usar a função DaysBetween(), presente na unit DateUtil. Esta função recebe dois objetos TDateTime e retorna um inteiro contendo a quantidade de dias entre as duas datas. Observe, no entanto, que a função DaysBetween() retorna apenas a quantidade de dias completos, ou seja, as horas, minutos, segundos e milisegundos são incluídos no cálculo dos dias. Se faltar apenas um segundo para completar um dia, tal dia não será incluído na contagem. Veja um exemplo de seu uso:procedure TForm1.Button1Click(Sender: TObject); var data1, data2: TDateTime; quant_dias: Integer; begin // vamos criar as duas datas, observe que as horas // também foram definidas // primeira data: 12/01/2010 às 09:10:15 data1 := EncodeDateTime(2010, 1, 12, 9, 10, 15, 0); // segunda data: 15/01/2010 às 19:10:15 data2 := EncodeDateTime(2010, 1, 15, 19, 10, 15, 0); // vamos obter a quantidade de dias entre as duas datas quant_dias := DaysBetween(data1, data2); // mostra o resultado ShowMessage('A diferença de dias é: ' + IntToStr(quant_dias)); end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar se uma matriz é uma matriz identidade usando JavaQuantidade de visualizações: 1066 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 Java 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: package estudos; import java.util.Scanner; public class Estudos{ public static void main(String[] args){ int n = 3; // ordem da matriz quadrada int matriz[][] = new int[n][n]; // matriz quadrada // para efetuar a leitura do usuário Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar os elementos da matriz for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++) { System.out.print("Elemento na linha " + (i + 1) + " e coluna " + (j + 1) + ": "); matriz[i][j] = Integer.parseInt(entrada.nextLine()); } } // agora verificamos se a matriz é uma matriz identidade boolean identidade = true; for(int linha = 0; linha < n; linha++){ for(int coluna = 0; coluna < n; coluna++){ if(matriz[linha][coluna] != 1 && matriz[coluna][linha] != 0){ identidade = false; break; } } } // agora mostramos a matriz lida System.out.printf("\n"); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { System.out.printf("%d ", matriz[i][j]); } System.out.printf("\n"); } if (identidade){ System.out.printf("\nA matriz informada é uma matriz identidade.\n"); } else{ System.out.printf("\nA matriz informada não é uma matriz identidade.\n"); } } } Ao executar este código Java 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. |
PHP ::: Fundamentos da Linguagem ::: Tipos de Dados |
Entendendo o tipo de dados NULL do PHP - Aprenda a usar o tipo de dados NULL da linguagem PHP - AtualizadaQuantidade de visualizações: 11001 vezes |
O tipo de dados NULL (nulo) do PHP é semelhante aos tipos undef (Perl) e None (Python). Este tipo de dados possui apenas um valor que é usado para indicar que uma variável não possui nenhum valor (não recebeu nenhuma atribuição ainda). Este tipo de dados pode ser escrito NULL, Null, null, etc. Não há distinção de maiúsculas e minúsculas. Veja um exemplo de seu uso:$nome = "Osmar J. Silva"; $nome = null; // variável é NULL agora $nome = Null; // mesmo resultado $nome = NULL; // mesmo resultado Se quisermos testar se uma variável ainda é NULL, podemos usar a função is_null(). Veja: <? $nome; if(is_null($nome)){ echo 'A variável $nome ainda é NULL.'; } ?> Este código mostrará o seguinte resultado: A variável $nome ainda é NULL. Note que, se as advertências estiverem habilitadas na página PHP, a seguinte mensagem será exibida: Warning: Undefined variable $nome in ...\index.php on line 4 Esta é a forma da linguagem PHP nos advertir de que a variável foi declarada mas não foi inicializada com algum valor. Esta dica foi revisada, atualizada e testada no PHP 8. |
Nossas 20 dicas & truques de programação mais populares |
JavaScript - Como obter o código da tecla pressionada em um elemento HTML usando o evento onkeypress do JavaScript Python - Como repetir os elementos de um vetor ou matriz usando a função repeat() da NumPy do Python Python - Como usar a função type() da linguagem Python para descobrir o tipo de dados de uma variável AutoCAD Civil 3D - Como criar pontos COGO no AutoCAD Civil 3D |
Você também poderá gostar das dicas e truques de programação abaixo |
JavaScript - Como obter o código da tecla pressionada em um elemento HTML usando o evento onkeypress do JavaScript Python - Como repetir os elementos de um vetor ou matriz usando a função repeat() da NumPy do Python Python - Como usar a função type() da linguagem Python para descobrir o tipo de dados de uma variável AutoCAD Civil 3D - Como criar pontos COGO no AutoCAD Civil 3D |
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 |