![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Python ::: Dicas & Truques ::: Data e Hora |
Como adicionar dias à uma data em Python usando a função timedelta() da classe datetimeQuantidade de visualizações: 9112 vezes |
Nesta dica mostrarei como é possível usar o método timedelta() da classe datetime do Python para adicionar um determinado número de dias a uma data. O truque aqui é fornecer apenas o dia para o método timedelta(), obter o resultado e somá-lo com a data que já temos. Veja o código completo para o exemplo: import datetime # função principal do programa def main(): # dias a serem adicionados quant_dias = 2 # Obtém a data de hoje hoje = datetime.date.today() print("Hoje é:", hoje) # Adiciona dias à data dias = datetime.timedelta(days=quant_dias) hoje = hoje + dias # Exibe o resultado print("Daqui à", quant_dias, "dias será", hoje) if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: Hoje é: 2021-03-11 Daqui à 2 dias será 2021-03-13 |
Java ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é par ou ímpar em JavaQuantidade de visualizações: 45539 vezes |
Boa parte das listas de exercícios de Java básico contém um enunciado pedindo para o seu programa ler um número inteiro e informar se o mesmo é par ou ímpar. Esse teste é feito usando-se o operador de módulo (%) da linguagem Java. Este operador retorna o resultado de uma divisão por inteiros, ou seja, se dividirmos 5 por 2, o resultado da divisão inteira será dois e o resto 1, indicando que o número informado não é par. Veja o código completo para um exemplo: package arquivodecodigos; import java.util.*; public class Estudos{ public static void main(String[] args){ Scanner input = new Scanner(System.in); System.out.print("Informe um valor inteiro: "); int num = input.nextInt(); if(num % 2 == 0){ System.out.print("Você informou um numero par"); } else{ System.out.print("Você informou um numero impar"); } System.exit(0); } } Ao executarmos este código Java nós teremos o seguinte resultado: Informe um valor inteiro: 5 Você informou um numero impar |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Quais as diferenças entre as funções fgetc(), fread() e fgets() da linguagem PHP? - RevisadoQuantidade de visualizações: 15852 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. |
Delphi ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular juros compostos e montante usando DelphiQuantidade de visualizações: 956 vezes |
O regime de juros compostos é o mais comum no sistema financeiro e portanto, o mais útil para cálculos de problemas do dia-a-dia. Os juros gerados a cada período são incorporados ao principal para o cálculo dos juros do período seguinte. Chamamos de capitalização o momento em que os juros são incorporados ao principal. Após três meses de capitalização, temos: 1º mês: M = P .(1 + i) 2º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) 3º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) x (1 + i) Simplificando, obtemos a fórmula: M = P . (1 + i) ^ n Importante: a taxa i tem que ser expressa na mesma medida de tempo de n, ou seja, taxa de juros ao mês para n meses. Para calcularmos apenas os juros basta diminuir o principal do montante ao final do período: J = M - P Vejamos um exemplo: Considerando que uma pessoa empresta a outra a quantia de R$ 2.000,00, a juros compostos, pelo prazo de 3 meses, à taxa de 3% ao mês. Quanto deverá ser pago de juros? Veja o código Delphi para a resolução: procedure TForm1.Button1Click(Sender: TObject); var principal, taxa, juros, montante: double; meses: integer; begin principal := 2000.00; taxa := 0.03; meses := 3; montante := principal * power((1 + taxa), meses); juros := montante - principal; ShowMessage('O total de juros a ser pago é: ' + FloatToStr(juros)); ShowMessage('O montante a ser pago é: ' + FloatToStr(montante)); end; Um outra aplicação interessante é mostrar mês a mês a evolução dos juros. procedure TForm1.Button1Click(Sender: TObject); var principal, taxa, juros, montante, anterior: double; i, meses: integer; begin principal := 2000.00; taxa := 0.03; meses := 3; anterior := 0.0; for i := 1 to meses do begin montante := principal * power((1 + taxa), i); juros := montante - principal - anterior; anterior := anterior + juros; Memo1.Lines.Add('Mês: ' + IntToStr(i) + ' - Montante: ' + FloatToStr(montante) + ' - Juros: ' + FloatToStr(juros)); end; end; Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Aprenda a criar e usar métodos e classes abstratas em PHPQuantidade de visualizações: 10932 vezes |
À medida que começamos a usar programação orientada a objetos em PHP algumas situações interessantes podem surgir, tais como o uso de métodos e classes abstratas. As classes e métodos abstratos podem ser usados por uma série de razões. Eis as que considero mais importantes: a) - Um classe abstrata não permite que criemos novas instâncias da mesma. Veja: <? // Uma classe Boleto abstrata abstract class Boleto{ } // vamos criar um novo objeto desta classe $b = new Boleto(); ?> Ao executarmos este código teremos a seguinte mensagem de erro: Fatal error: Cannot instantiate abstract class Boleto in ... A vantagem de termos uma classe que não pode ser instanciada é que podemos usá-la como classe base em um código envolvendo poliformismo (no momento que escrevo este artigo não vejo como implementar polimorfismo em PHP. Me pergunto se isso é possível em linguagens de tipos dinâmicos). b) - Qualquer classe que contenha um ou mais métodos abstratos também precisa se declarar abstrata. Como um método abstrato não pode conter implementação, ao forçar a classe a ser abstrata também, as classes derivadas terão a obrigação de implementar tal método. Veja um trecho de código no qual criamos uma classe normal contendo um método abstrato: <? // Uma classe Boleto não-abstrata class Boleto{ // um método abstrato public abstract function imprimir($dados); } ?> Ao executarmos este código teremos a seguinte mensagem de erro: Fatal error: Class Boleto contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Boleto::imprimir) in ... Ao marcarmos a classe como abstract esta mensagem de erro desaparecerá. c) - Uma classe que herda de uma classe derivada deve, obrigatoriamente, fornecer implementação para todos os métodos abstratos herdados. Veja o trecho de código no qual temos uma classe Boleto e uma classe BoletoBradesco: <? // Uma classe Boleto abstrata abstract class Boleto{ // um método abstrato public abstract function imprimir($dados); } // vamos herdar da classe Boleto class BoletoBradesco extends Boleto{ } ?> A mensagem de erro aqui é a mesma quando temos métodos abstratos em uma classe mas não a declaramos como abstrata. Basta fornecer a implementação para o método imprimir e a mensagem de erro desaparece: <? // Uma classe Boleto abstrata abstract class Boleto{ // um método abstrato public abstract function imprimir($dados); } // vamos herdar da classe Boleto class BoletoBradesco extends Boleto{ public function imprimir($dados){ echo "Imprimindo o boleto: " . $dados; } } // vamos criar um objeto da classe BoletoBradesco $b = new BoletoBradesco(); // vamos imprimir o boleto $b->imprimir("Dados do boleto"); ?> d) - Um método marcado como abstract não pode conter implementação, ou seja, a implementação será feita pelas classes derivadas. Veja: <? // Uma classe Boleto abstrata abstract class Boleto{ // um método abstrato que não deveria conter implementação public abstract function imprimir($dados){ echo "Isso vai dar um erro daqueles!"; } } ?> Ao tentarmos executar este trecho de código teremos a seguinte mensagem de erro: Fatal error: Abstract function Boleto::imprimir() cannot contain body in ... Bastará remover a implementação do método que a mensagem de erro desaparecerá. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Escreva um programa em Java que usa a função log10() para informar a quantidade de dígitos em um número inteiroQuantidade de visualizações: 815 vezes |
Pergunta/Tarefa: Escreva um algorítmo em Java que peça para o usuário informar um número inteiro de qualquer tamanho, ou seja, qualquer quantidade de dígitos. Em seguida seu código deverá informar a quantidade de dígitos contida no número inteiro digitado pelo usuário. Seu programa deverá, obrigatoriamente, usar a função log10() da classe Math. Sua saída deverá ser parecida com: Informe um número inteiro de qualquer tamanho: 847 O número informado possui 3 dígitos 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) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar um número inteiro System.out.print("Informe um número inteiro de qualquer tamanho: "); int numero = Integer.parseInt(entrada.nextLine()); // agora vamos obter a quantidade de dígitos no // número informado int tamanho = ((int) Math.log10(numero)) + 1; // mostramos o resultado System.out.println("O número informado possui " + tamanho + " dígitos"); } } |
LISP ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço loop for da linguagem LispQuantidade de visualizações: 781 vezes |
O laço for loop da linguagem Common Lisp é usado quando sabemos exatamente quantas vezes uma instrução ou um grupo de instruções deve ser repetido. Este laço é similar ao laço for encontrado na maioria das linguagens de programação. Vamos começar vendo um laço for loop que conta de 1 até 10: ; Um laço for loop que conta de 1 até 10 (loop for i from 1 to 10 do (print i) ) Ao executar este código Common Lisp nós teremos o seguinte resultado: 1 2 3 4 5 6 7 8 9 10 Agora veja o mesmo laço usado para contar de 10 até 1, ou seja, em ordem decrescente: ; Um laço for loop que conta de 10 até 1 (loop for i from 10 downto 1 do (print i) ) Note que, agora, eu troquei "to" por "downto" para que a variável de controle fosse decrementada, em vez de incrementada. Dessa forma, ao executarmos este código Common Lisp, o resultado será: 10 9 8 7 6 5 4 3 2 1 |
JavaScript ::: Dicas & Truques ::: Tratamento de Erros |
Como retornar o nome ou tipo de exceção de um erro em JavaScript usando a propriedade name do objeto ErrorQuantidade de visualizações: 7206 vezes |
Em várias situações nós precisamos saber o nome do tipo de erro de tempo de execução em JavaScript. Para isso nós podemos usar a propriedade name do objeto Error. Veja um código JavaScript completo demonstrando o seu uso: <!doctype html> <html> <head> <title>Estudos JavaScript</title> </head> <body> <script language="javascript"> // o trecho de código a seguir vai provocar // um erro de tempo de execução em JavaScript try{ // y não foi definido var x = y; } catch(e){ document.write("Tipo do erro: " + e.name); } </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: Tipo do erro: ReferenceError A propriedade name do objeto Error pode retornar os seguintes valores: EvalError - Um erro provocado pela função eval. RangeError - Um erro provocado por um número fora da faixa permitida. ReferenceError - Uma referência ilegal provocou o erro. SyntaxError - Um erro de sintáxe. TypeError - Um erro provocado por uma conversão de tipos. URIError - Provocado por um erro na função encodeURI(). |
C ::: Dicas & Truques ::: Matemática e Estatística |
Como usar a função modf() da linguagem C para separar um valor de ponto flutuante em suas partes inteira e fracionáriaQuantidade de visualizações: 10234 vezes |
Em algumas situações precisamos obter as partes inteira e fracionária de um valor de ponto flutuante. Para isso podemos usar a função modf(). Veja sua assinatura:double modf(double x, double * intpart); O parâmetro x é o valor de ponto flutuante cujas partes queremos separar e intpart é uma variável do tipo double que receberá a parte inteira do valor. O retorno da função é o valor fracionário. Vamos ver um exemplo? Veja como podemos quebrar o valor 34,27 em suas partes inteira e fracionária: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { double valor = 34.27; // vamos separar o valor em suas partes inteira e fracionária double inteira = 0.0, fracionaria = 0.0; fracionaria = modf(valor, &inteira); // vamos exibir o resultado printf("Parte inteira: %f\n", inteira); printf("Parte fracionaria: %f\n", fracionaria); printf("\n\n"); system("pause"); return 0; } Ao executarmos este código teremos o seguinte resultado: Parte inteira: 34.000000 Parte fracionária: 0.270000 |
Fórmulas da Física ::: Mecânica ::: Fórmulas de Cinemática |
Fórmula da Distância - Como calcular a distância dados a velocidade e o tempo decorridoQuantidade de visualizações: 5459 vezes |
É muito comum, durante uma viagem ou conversa com amigos, querermos saber qual foi a distância percorrida quando sabemos a velocidade da viagem e o tempo gasto. Para isso podemos usar a seguinte fórmula: \[d = v \cdot t \] Onde: d = distância percorrida em metros (m); v = velocidade em metros por segundo (m/s); t = tempo em segundos (s); Embora metros e segundos sejam as medidas mais adequadas para a resolução deste tipo de problema (por serem as unidades padrões do SI - Sistema Internacional), você pode usar quilômetros em vez de metros, desde que o tempo seja medido em horas, com a velocidade em Km/h (quilômetros por hora). Vamos ver um exemplo? 1) Um jatinho realiza o percurso entre Brasília e São Paulo em 2h, com uma velocidade de 500km/h. Calcule a distância entre as duas cidades considerando essas informações. Resolução: Aqui nós temos o tempo do percurso em horas, e a velocidade em quilômetros por hora. Dessa forma não precisamos converter para metros e segundos. Tudo que temos a fazer é jogar na fórmula as informações que já temos. Veja: \[d = 500 \cdot 2 \] \[d = 1000 \] Assim, a distância entre as duas cidades é de 1.000km. |
Nossas 20 dicas & truques de programação mais populares |
CSS - Como definir uma imagem de fundo para a página HTML em CSS usando a propriedade background-image |
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 |