![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como retornar o dia da semana em JavaScript no formato Domingo, Segunda-feira, Terça-feira, etcQuantidade de visualizações: 12003 vezes |
Nesta dica veremos como retornar o dia da semana de uma data no formato Domingo, Segunda-feira, Terça-feira, etc, em JavaScript. Esta técnica é muito útil quando queremos escrever aplicações envolvendo calendários. Veja a página HTML completa para o exemplo: <!doctype html> <html> <head> <title>Data e hora em JavaScript</title> </head> <body> <script type="text/javascript"> // vamos criar um array com os dias da semana var dias_semana = new Array("Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"); // agora vamos obter a data de hoje var data = new Date(); // agora vamos obter o número do dia da semana // começando em 0 para o domingo var dia_semana = data.getDay(); // e finalmente mostramos o resultado document.write("Dia da semana: " + dias_semana[dia_semana]); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: Dia da semana: Segunda-feira |
PHP ::: Dicas & Truques ::: Matemática e Estatística |
Como usar a função min() do PHP para obter o menor entre dois ou mais valoresQuantidade de visualizações: 7697 vezes |
A função min() do PHP é útil quando precisamos obter o menor entre dois ou mais valores. Veja um exemplo de seu uso:<? // vamos usar a função min() para obter o menor // entre três valores inteiros $menor = min(5, 12, 4); // vamos exibir o resultado echo "O menor valor é: " . $menor; ?> Quando executamos este exemplo temos o seguinte resultado: O menor valor é: 4 Veja que é possível também fornecer uma matriz para a função min(). Neste caso a função retornará o elemento com o menor valor na matriz. Veja: <? // vamos usar a função min() para obter o elemento // com menor valor em uma matriz // vamos criar uma matriz com cinco elementos $valores = array(9, 3, 21, 49, 2); // vamos obter o menor elemento $menor = min($valores); // vamos exibir o resultado echo "O menor valor é: " . $menor; ?> Ao executar este exemplo você terá o seguinte resultado: O menor valor é: 2 |
Delphi ::: Dicas & Truques ::: Ponteiros, Referências e Memória |
Como usar ponteiros na linguagem Delphi - Aprenda a usar ponteiros em DelphiQuantidade de visualizações: 24117 vezes |
O Delphi, assim como C e C++ permite o uso de ponteiros, uma das ferramentas mais poderosas de programação e presente em códigos mais elaborados, tais como estruturas de dados. Para entender ponteiros, é preciso lembrarmos do conceito de variáveis. Uma variável, em determinados momentos, possui várias propriedades ou atributos, a saber, um nome, um valor e o tipo de dados que poderá ser armazenado na mesma. Uma variável possui também um endereço na memória do computador e o seu nome não é nada mais que um apelido para tal endereço. Ponteiros também possuem um nome, um valor e um tipo de dados. A diferença é que ponteiros, em vez de guardar valores tais como inteiros, strings, caracteres, etc, guardam o endereço de outras variáveis (ou o endereço de outros ponteiros, o que resulta em um ponteiro para um ponteiro). Assim, um ponteiro é uma forma indireta de se acessar o conteúdo de uma outra variável. Veja, por exemplo, as seguintes declarações de variáveis: var valor: integer; pvalor: ^integer; Aqui nós temos uma variável valor do tipo Integer e uma variável pvalor que é um ponteiro para um Integer. Veja agora como atribuir valores a estas variáveis: procedure TForm1.Button1Click(Sender: TObject); var valor: integer; pvalor: ^integer; begin // atribui um valor à variável valor valor := 20; // vamos atribuir à pvalor o endereço de valor pvalor := @valor; // vamos usar o ponteiro pvalor para alterar o // valor de valor pvalor^ := 30; // vamos obter o novo valor da variável valor ShowMessage('Valor de valor: ' + IntToStr(valor)); end; Veja que usamos o operador @ para obtermos o endereço da variável valor e guardá-lo no ponteiro pvalor. Em seguida usamos o símbolo ^ para acessar o valor da variável para a qual o ponteiro está apontando. Este processo é chamado de desreferenciamento (dereferencing). Em resumo, o símbolo ^ pode ser usado de duas formas: na frente de um tipo de dados, para indicar que a variável está sendo declarada como ponteiro e após o nome de uma variável do tipo ponteiro para indicar que queremos acessar o valor da variável para a qual o ponteiro está apontando atualmente e não o valor do ponteiro, que seria simplesmente um valor inteiro representando um endereço de memória. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
VB.NET ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço Do...Until...Loop do VB.NETQuantidade de visualizações: 10318 vezes |
O laço Do...While...Loop é usado quando queremos testar uma condição e, executar um bloco de código repetidamente ENQUANTO esta condição for verdadeira. O laço Do...Until...Loop, por sua vez, executa uma bloco de códigos repetidamente ATÉ que uma condição se torne verdadeira. Veja um exemplo de laço Do...Until...Loop que nos permite exibir os números de 0 a 10: Dim numero As Integer = 0 Do Until numero > 10 Console.WriteLine(numero) numero += 1 Loop Veja uma nova versão deste código, desta vez contando de 10 a 0: Dim numero As Integer = 10 Do Until numero < 0 Console.WriteLine(numero) numero -= 1 Loop Aqui nós estamos novamente avaliando uma condição, ou seja, se o resultado da condição for True, a execução do laço pára. Se for False, o laço continua. Veja um exemplo no qual a condição booleana está bem explícita: Dim pode As Boolean = True Dim valor As Integer = 1 Do Until pode = False Console.WriteLine(valor) valor += 1 If valor > 20 Then pode = False End If Loop |
Revit Python Shell ::: Dicas & Truques ::: Grupos - Groups |
Como copiar grupos no Revit usando a função Create.PlaceGroup() e o Revit Python ShellQuantidade de visualizações: 326 vezes |
O código que apresento nesta dica mostra como podemos pedir para o usuário selecionar um grupo na área de desenho do Revit e, em seguida, usando a API do Revit e o Revit Python Shell, criar uma cópia do grupo escolhido e posicioná-la em um ponto escolhido pelo usuário. Em realidade, este código é o mesmo apresentado no tutorial "Como criar seu primeiro plug-in no Revit usando a Revit C# API" da documentação oficial fornecida pela Autodesk. O que fiz foi modificar o código para usar Revit Python Shell em vez de C#, como mostrado no tutorial. O primeiro passo é importar o objeto ObjectType a partir do módulo Autodesk.Revit.UI.Selection. Em seguida nós usamos __window__.Hide() para que o foco vá para a janela do Revit. Isso é necessário para que o usuário possa selecionar um grupo usando uidoc.Selection.PickObject. Note que coloquei uma mensagem TaskDialog.Show() chamando a atenção do usuário para esta tarefa. Como a função PickObject() retorna um objeto Reference, nós precisamos fornecer essa referência para a função doc.GetElement() e assim obter o elemento real que queremos manipular. Então, o passo seguinte é pedir para o usuário indicar um ponto na tela de desenho do Revit usando a função uidoc.Selection.PickPoint(). Esta função vai nos retornar um objeto da classe XYZ da API do Revit. Depois que o usuário selecionar o grupo e o ponto, nós criamos uma nova transação usando Transaction(doc, "Copiar grupo") e a iniciamos com uma chamada à sua função Start(). Então, para concluir, basta uma chamada à doc.Create.PlaceGroup(ponto, grupo.GroupType) e verificar o resultado na tela de desenho do Revit. Veja o código Revit Python Shell completo para o exemplo: # faz o import necessário from Autodesk.Revit.UI.Selection import ObjectType # precisamos ocultar a janela do Revit Python Shell __window__.Hide() # agora fazemos uma chamada à função PickObject() do objeto Selection e retornamos # uma Reference TaskDialog.Show("Aviso", "Selecione um grupo") selecionado = uidoc.Selection.PickObject(ObjectType.Element, "Selecione um grupo") # obtemos o grupo a partir de sua referência usando a função # GetElement() do objeto Document grupo = doc.GetElement(selecionado) # vamos pedir para o usuário selecionar um ponto na área de # desenho do Revit TaskDialog.Show("Aviso", "Selecione um ponto") ponto = uidoc.Selection.PickPoint("Selecione um ponto para posicionar o grupo") # criamos uma nova transação e posicionamos a cópia do # grupo nas coordenadas indicadas pelo usuário transacao = Transaction(doc, "Copiar grupo") # iniciamos a transação transacao.Start() # copiamos o grupo selecionado pelo usuário e o colocamos no # ponto indicado doc.Create.PlaceGroup(ponto, grupo.GroupType) # fechamos a transação transacao.Commit() # e mostramos o resultado TaskDialog.Show("Aviso", "O grupo foi copiado com sucesso") # depois que o usuário fizer a seleção nós mostramos a janela do # Revit Python Shell novamente __window__.Show() __window__.Topmost = True |
C# ::: Datas e Horas ::: DateTime |
Como usar a estrutura DateTime do C# em seus programasQuantidade de visualizações: 9549 vezes |
A estrutura DateTime representa um momento no tempo, geralmente expressado como uma data e hora do dia. O tipo DateTime representa datas e horas com valores na faixa de meia-noite do dia 1º de janeiro de 0001 Anno Domini (Common Era) até as 11:59:59 da noite do dia 31 de dezembro de 9999 A.D. (C.E.). Os valores de horas são medidos em unidades de 100 nanosegundos chamados de ticks e uma data em particular é o número de ticks desde a meia-noite do dia 1º de janeiro de 0001 A.D (C.E) no calendário Gregoriano (GregorianCalendar). Por exemplo, um valor de tick de 31241376000000000L representa a data 1º de janeiro de 0100 (sexta-feira) à meia-noite. O valor DateTime é sempre expresso no contexto de um calendário explícito ou padrão. Considerações sobre versões Em versões do .NET Framework anteriores à 2.0, a estrutura DateTime contém um campo de 64 bits composto de um campo de 2 bits não usados concatenados com um campo privado Ticks, que é um campo sem sinal de 62 bits que contém o número de ticks que representam a data e hora. O valor do campo Ticks pode ser obtido por meio da propriedade Ticks. A partir do .NET Framework 2.0, a estrutura DateTime contém um campo de 64 bits composto de um campo privado Kind concatenado com o campo Ticks. O campo Kind é um campo de 2 bits que indica se a estrutura DateTime representa uma hora local, uma hora UTC (Coordinated Universal Time) ou um hora em um fuso horário não especificado. O campo Kind é usado quando estamos efetuando conversões de horas entre fuso horários, mas, não é usado para comparações de datas e horas ou aritmética. O valor do campo Kind pode ser obtido por meio da propriedade Kind. É importante observar que uma alternativa ao uso da estrutura DateTime para se trabalhar com datas e horas em um fuso horário em particular é a estrutura DateTimeOffset. Esta estrutura guarda as informações de data e hora em um campo DateTime privado e o número de minutos pelos quais a data e hora diferem do horário UTC em um campo Int16 privado. Isso torna possível usarmos um valor DateTimeOffset para refletir as horas em um fuso horário em particular, enquanto um valor DateTime pode, sem causar confusão, refletir somente a hora UTC e do fuso horário local. Valores DateTime As descrições de valores de horas no tipo DateTime geralmente são expressas usando o padrão Coordinated Universal Time (UTC), que é o nome reconhecido internacionalmente para o Greenwich Mean Time (GMT). O Coordinated Universal Time é a hora de acordo com as medições em longitude de zero graus, ou seja, o ponto de origem UTC. Horários de verão não são aplicáveis ao UTC. A hora local é relativa a um determinado fuso horário. Um fuso horário está associado à diferença de fuso horário, que é o deslocamento do fuso horário medido em horas a partir do ponto de origem UTC. Além disso, a hora local é opcionalmente afetada pelo horário de verão, que adiciona ou subtrai uma hora à duração do dia. Consequentemente, a hora local é calculada adicionando-se a diferença de fuso horário ao UTC e ajustando o horário de verão se necessário. A diferença de fuso horário no ponto de origem UTC é zero. A hora UTC é ideal para cálculos, comparações e armazenamento de datas e horas em arquivos. A hora local é apropriada para a exibição em interfaces do usuário em aplicações desktop. Aplicações que são acessadas em diferentes fuso horários (tais com aplicações web) também precisam fornecer meios para a correta adequação a tais fuso horários. Veja um trecho de código no qual usamos a propriedade Now da estrutura DateTime para exibir a data e hora local no formato longo: static void Main(string[] args){ // Data e hora atual DateTime agora = DateTime.Now; // exibe o resultado System.Console.WriteLine("{0:F}", agora); // pausa o programa Console.ReadKey(); } O resultado da execução deste código será algo parecido com: segunda-feira, 23 de fevereiro de 2008 19:54:46. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios e Algorítmos Resolvidos de Java - Programa Java para somar os elementos da diagonal secundária de uma matrizQuantidade de visualizações: 9504 vezes |
Pergunta/Tarefa: Em álgebra linear, a diagonal secundária de uma matriz A é a coleção das entradas Aij em que i + j é igual a n + 1 (onde n é a ordem da matriz). A diagonal secundária de uma matriz quadrada une o seu canto inferior esquerdo ao canto superior direito (conforme mostrado na saída do problema proposto abaixo). Escreva um programa (algorítmo) Java que declara uma matriz 3x3 e pede ao usuário para informar seus valores. Em seguida mostre todos os valores da matriz e a soma dos elementos da diagonal secundária. Sua saída deverá ser parecida com a imagem abaixo: Informe o valor para a linha 0 e coluna 0: 5 Informe o valor para a linha 0 e coluna 1: 2 Informe o valor para a linha 0 e coluna 2: 7 Informe o valor para a linha 1 e coluna 0: 5 Informe o valor para a linha 1 e coluna 1: 3 Informe o valor para a linha 1 e coluna 2: 12 Informe o valor para a linha 2 e coluna 0: 4 Informe o valor para a linha 2 e coluna 1: 10 Informe o valor para a linha 2 e coluna 2: 1 5 2 7 5 3 12 4 10 1 A soma dos elementos da diagonal secundária é: 14 Veja a resolução comentada deste exercício usando Java console: package exercicios; import java.util.Scanner; public class Exercicios { public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // vamos declarar e construir uma matriz de três linhas e // três colunas int matriz[][] = new int[3][3]; int soma_diagonal = 0; // guarda a soma dos elementos na // diagonal secundária // vamos ler os valores para os elementos da matriz for(int i = 0; i < matriz.length; i++){ // linhas for(int j = 0; j < matriz[0].length; j++){ // colunas System.out.print("Informe o valor para a linha " + i + " e coluna " + j + ": "); matriz[i][j] = Integer.parseInt(entrada.nextLine()); } } // vamos mostrar a matriz da forma que ela foi informada System.out.println(); for(int i = 0; i < matriz.length; i++){ // percorre as linhas for(int j = 0; j < matriz[0].length; j++){ // percorre as colunas System.out.printf("%5d ", matriz[i][j]); } // passa para a próxima linha da matriz System.out.println(); } // vamos calcular a soma dos elementos da diagonal secundária int ordem = 3; // ordem da matriz for(int i = 1; i <= matriz.length; i++){ for(int j = 1; j <= matriz[0].length; j++){ if((i + j) == (ordem + 1)){ soma_diagonal = soma_diagonal + matriz[i - 1][j - 1]; } } } // finalmente mostramos a soma da diagonal secundária System.out.println("\nA soma dos elementos da diagonal secundária é: " + soma_diagonal); } } |
Java ::: Fundamentos da Linguagem ::: Modificadores |
Como usar o modificador native da linguagem JavaQuantidade de visualizações: 9793 vezes |
O modificador native é usado exclusivamente com métodos. A implementação de um método marcado como native não é feita em Java mas sim em outra linguagem de programação, tal como C ou C++. Veja um exemplo de uma aplicação Java contendo um método native: public class Estudos{ private static native void escrever(); public static void main(String[] args){ System.loadLibrary("Funcoes"); escrever(); } } O primeiro detalhe a observar é a definição de um método native chamado escrever(). Veja que este método possui apenas a assinatura, o que quer dizer que sua implementação virá de um ponto externo ao nosso código. Em seguida temos uma chamada ao método LoadLibrary() da classe System. Este método recebe uma string contendo o nome da biblioteca que contém a implementação do método escrever(). O próprio método LoadLibrary se encarrega de acrescentar as extensões .dll ou .so ao nome da biblioteca que será carregada. Quando estamos trabalhando com métodos native, é sempre uma boa idéia estudarmos JNI (Java Native Interface). JNI é uma API do Java que permite que métodos Java chamem funções nativas implementadas em C. |
Java ::: Coleções (Collections) ::: ArrayList |
Como obter o índice da primeira ocorrência de um elemento no ArrayList do Java usando o método indexOf()Quantidade de visualizações: 12552 vezes |
Este exemplo mostra como usar o método indexOf() para obter o índice da primeira ocorrência de um item na ArrayList. Se o ítem não for encontrado, o valor retornado é -1. Veja o código completo para a dica: package arquivodecodigos; import java.util.ArrayList; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<String>(); // adiciona itens na lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); nomes.add("Maria"); // obtém o índice da primeira ocorrência do // nome "Maria" int indice = nomes.indexOf("Maria"); System.out.println("O índice do nome pesquisado é: " + indice); System.exit(0); } } Ao executar este código nós teremos o seguinte resultado: O índice do nome pesquisado é: 1 |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar a posição da última ocorrência de uma substring em uma string Java usando a função lastIndexOf() da classe StringQuantidade de visualizações: 260 vezes |
Em algumas situações nós precisamos pesquisar uma substring em uma string Java e retornar o índice da última ocorrência encontrada. Para isso nós podemos usar o método lastIndexOf() da classe String. Veja um exemplo completo de seu uso: package estudos; public class Estudos { public static void main(String[] args) { // Este exemplo mostra como pesquisar a última ocorrência // de uma substring em uma string String frase = "As pessoas costumam entender tudo sobre pessoas"; // verifica se a frase contém a palavra "pessoas" e // retorna a posição de sua última ocorrência int res = frase.lastIndexOf("pessoas"); if(res > 0){ System.out.println("A ultima ocorrencia foi encontrada na posicao: " + res); } else{ System.out.println("A substring nao foi encontrada"); } } } Ao executar este código Java nós teremos o seguinte resultado: A ultima ocorrencia foi encontrada na posicao: 40 |
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 |
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 |