![]() |
|
||||
![]() 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: 11987 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 |
Delphi ::: Dicas & Truques ::: Recursão (Recursividade) |
Como escrever uma função recursiva para calcular a potência de um número em DelphiQuantidade de visualizações: 13847 vezes |
O código abaixo mostra como você pode escrever uma função recursiva em Delphi que permite calcular a potência de um número inteiro:// uma função recursiva para elevar uma determinada // base ao seu expoente function potencia(base, expoente: Integer): Integer; begin if expoente = 0 then Result := 1 else Result := base * potencia(base, expoente - 1); end; // vamos chamar a função recursiva // a partir do Click de um botão procedure TForm1.Button1Click(Sender: TObject); begin // vamos obter o resultado de 4 elevado a 3 ShowMessage('4 ao cubo é igual a: ' + IntToStr(potencia(4, 3))); end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C ::: Dicas & Truques ::: Strings e Caracteres |
Como escrever uma função C personalizada que copia os caracteres de uma string para outra stringQuantidade de visualizações: 8641 vezes |
Quando precisamos copiar os caracteres de uma string para outra string em C, geralmente usamos a função strcpy(). Para que você entenda como esta função realmente funciona, o código abaixo mostra como escrever uma função personalizada que realiza tal tarefa. Estude-a cuidadosamente. É uma boa forma de entender como percorrer os caracteres de uma string usando ponteiros:#include <stdio.h> #include <stdlib.h> #include <string.h> // função personalizada que copia os caracteres de // uma string para outra char *str_copy(char *destino, const char *origem){ while(*destino++ = *origem++){ ;; } return (destino - 1); } int main(int argc, char *argv[]){ char frase1[] = "Gosto de PHP"; char frase2[50]; // pode receber até 49 caracteres // copia a primeira frase para a segunda str_copy(frase2, frase1); // exibe o resultado printf(frase2); puts("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: Gosto de PHP |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Declarar e construir uma matriz de 10 int, pedir ao usuário para informar os valores dos elementos, mostrar a média dos valores informados e a quantidade de valores acima da médiaQuantidade de visualizações: 14041 vezes |
Pergunta/Tarefa: Escreva um programa Java console ou GUI que declara e constrói uma matriz de 10 inteiros. Em seguida peça ao usuário para informar os 10 valores e armazene-os na matriz. Finalmente obtenha a média aritmética dos valores informados e mostre quantos valores estão acima da média. Seu programa deverá exibir a seguinte saída (no caso de uma aplicação Console): Informe o 1º valor: 4 Informe o 2º valor: 12 Informe o 3º valor: 9 Informe o 4º valor: 6 Informe o 5º valor: 4 Informe o 6º valor: 3 Informe o 7º valor: 7 Informe o 8º valor: 2 Informe o 9º valor: 3 Informe o 10º valor: 1 A média dos valores é: 5.0 Quantidade de valores acima da média: 4 Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: package estudos; import java.util.Scanner; public class Main { public static void main(String[] args) { // vamos declarar e instancia um objeto da classe Scanner Scanner entrada = new Scanner(System.in); // vamos declarar e construir uma matriz de 10 ints int valores[] = new int[10]; double media; // média dos valores int soma = 0; // soma dos valores lidos int quantAcimaMedia = 0; // quantidade de valores acima da média // vamos solicitar ao usuário que informe os 10 valores inteiros // e vamos armazená-los na matriz for(int i = 0; i < valores.length; i++){ System.out.print("Informe o " + (i + 1) + "º valor: "); int valor = Integer.parseInt(entrada.nextLine()); valores[i] = valor; // vamos adicionar este valor à soma soma = soma + valor; } // vamos obter a média dos valores lidos media = (soma / valores.length); // agora precisamos obter a quantidade de valores acima da média for(int i = 0; i < valores.length; i++){ if(valores[i] > media){ quantAcimaMedia++; } } // vamos exibir os resultados System.out.println("A média dos valores é: " + media); System.out.println("Quantidade de valores acima da média: " + quantAcimaMedia); } } |
Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural |
Como calcular o Índice de Esbeltez de um pilar em Python - Python para Engenharia Civil e Cálculo EstruturalQuantidade de visualizações: 363 vezes |
![]() O índice de esbeltez de um pilar, representado pela letra grega λ (lambda) é uma relação que mede a altura do pilar em relação à sua largura ou seção transversal. Esse índice é usado para avaliar a suscetibilidade de um pilar à flambagem, que é um tipo de falha estrutural que pode ocorrer em pilares esbeltos sob compressão. Segundo a NBR 6118, 15.8.2, os pilares devem ter índice de esbeltez menor ou igual a 200 (λ ≤ 200). Apenas no caso de postes com força normal menor que 0,10 fcd x Ac, o índice de esbeltez pode ser maior que 200. O índice de esbeltez é a razão entre o comprimento de flambagem e o raio de giração, nas direções a serem consideradas. De acordo com o comprimento de flambagem, os pilares classificam-se como: curto, se λ < 35; medianamente esbelto, se 35 < λ < 90; esbelto, se 90 < λ < 140; e muito esbelto, se 140 < λ < 200. A fórmula para o cálculo do índice de esbeltez pode ser definida como: \[\lambda = 3,46 \cdot \frac{le}{h} \] Onde: λ = número adimensional representando o índice de esbeltez ao longo da direção escolhida (x ou y); le = algura do pilar, ou seja, o comprimento do pilar em centímetros. h = dimensão escolhida (x ou y) em centímetros. De acordo com a norma NBR 6118 (ABNT, 2014), se o índice de esbeltez na direção escolhida for menor que 35, nós não precisamos considerar os efeitos locais de 2ª ordem. Vamos agora ao código Python? Pediremos ao usuário para informar o comprimento (altura) do pilar em metros, as dimensões nas direções x e y e mostraremos os índices de esbeltez nas direções x e y do pilar com as respectivas anotações da necessidade ou não da consideração dos efeitos locais de 2ª ordem. Veja: # método principal def main(): # vamos pedir o comprimento do pilar em metros (pé direito) le = float(input("Informe o comprimento do pilar (em metros): ")) # vamos converter o comprimento em metros para centímetros le = le * 100.0 # vamos pedir as dimensões do pilar hx = float(input("Informe a dimensão do pilar na direção x (em cm): ")) hy = float(input("Informe a dimensão do pilar na direção y (em cm): ")) # agora vamos calcular o índice de esbeltez na direção x lambda_x = 3.46 * (le / hx) # agora vamos calcular o índice de esbeltez na direção y lambda_y = 3.46 * (le / hy) # e mostramos os resultados print("\nO índice de esbeltez na direção x é: {0}".format(round(lambda_x, 2))) # precisamos considerar os efeitos locais de segunda ordem na direção x? if lambda_x < 35: print("Não considerar os efeitos locais de 2ª ordem na direção x") else: print("Considerar os efeitos locais de 2º ordem na direção x") print("\nO índice de esbeltez na direção y é: {0}".format(round(lambda_y, 2))) # precisamos considerar os efeitos locais de segunda ordem na direção y? if lambda_y < 35: print("Não considerar os efeitos locais de 2ª ordem na direção y") else: print("Considerar os efeitos locais de 2ª ordem na direção y") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Informe o comprimento do pilar (em metros): 2.88 Informe a dimensão do pilar na direção x (em cm): 40 Informe a dimensão do pilar na direção y (em cm): 19 O índice de esbeltez na direção x é: 24.91 Não considerar os efeitos locais de 2ª ordem na direção x O índice de esbeltez na direção y é: 52.45 Considerar os efeitos locais de 2ª ordem na direção y |
C# ::: LINQ ::: LINQ to Objects |
Como retornar o menor elemento em um array de int em C# usando a função Min() do LINQQuantidade de visualizações: 1410 vezes |
Nesta dica mostrarei, em um exemplo bem simples, como podemos usar o método Min() do LINQ (Language-Integrated Query) do C# para retornar o menor elemento de um vetor de inteiros. Note que temos um vetor de int com os valores {5, 2, 8, 3, 0, 1} e o valor 0 deverá ser retornado como sendo o menor. Veja o código completo para o exemplo: using System; using System.Linq; namespace Estudos { class Principal { static void Main(string[] args) { // vamos construir um vetor de inteiros int[] valores = {5, 2, 8, 3, 0, 1}; // vamos obter o menor elemento do vetor int menor = valores.Min(); // vamos mostrar o resultado Console.WriteLine("O menor valor é: {0}", menor); Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: O menor valor é: 0 Fique atento ao fato de que o método Min() pode atirar uma exceção do tipo InvalidOperation se o array ou coleção estiver vazia ou não incluir nenhum elemento que se encaixe nas condições testadas. Veja o resultado ao chamarmos este método em um vetor vazio: System.InvalidOperationException HResult=0x80131509 Message=Sequence contains no elements Source=System.Linq StackTrace: at System.Linq.ThrowHelper.ThrowNoElementsException() at System.Linq.Enumerable.Min(IEnumerable`1 source) at Estudos.Principal.Main(String[] args) in C:\estudos_c#\Estudos\Principal.cs:line 11 |
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Números Aleatórios, Números Randômicos, Amostras Aleatórias, Amostras Randômicas |
Como gerar números aleatórios em Python usando o método random.randint() da biblioteca NumPyQuantidade de visualizações: 2806 vezes |
Nesta dica mostrarei como podemos gerar números inteiros randômicos usando random.randint() da biblioteca NumPy. Note que a geração de números aleatórias é uma parte importante para o desenvolvimento de modelos de teste (test models) em Inteligência Artificial (IA), Machine Learning e outras áreas de estudo que envolvem Data Science. Veja um exemplo da forma mais simples do uso da função random.randint(): # importamos o módulo random da bibliteca NumPy from numpy import random def main(): # vamos gerar um número inteiro aleatório de 0 (incluído) à # 10 (não incluído) valor = random.randint(10) print("O número sorteado foi: ", valor) if __name__== "__main__": main() Ao executar este código teremos um resultado parecido com: O número sorteado foi: 3 Aqui nós informamos o limite alto do valor aleatório a ser gerado (mas ele não é incluído). Se quisermos limitar a faixa inferior, podemos tirar proveito dos parâmetros low e high da função randint(). Veja: # importamos o módulo random da bibliteca NumPy from numpy import random def main(): # vamos gerar um número inteiro aleatório de 5 (incluído) # à 10 (não incluído) valor = random.randint(5, 10) print("O número sorteado foi: ", valor) if __name__== "__main__": main() A partir da versão 1.19 da NumPy, os desenvolvedores da biblioteca recomendam o uso do método integers() do módulo default_rng(). |
GNU Octave ::: Desafios e Lista de Exercícios Resolvidos ::: Pesquisa Operacional |
Exercício Resolvido de Octave - Programação Linear - Um fazendeiro decidiu misturar duas rações, a Ração X e a Ração Y. Cada porção de ração dada aos animaisQuantidade de visualizações: 448 vezes |
Pergunta/Tarefa: Este exercício de Octave aborda o uso da função glpk() para resolver um problema de Pesquisa Operacional usando Programação Linear. 1) Um fazendeiro decidiu misturar duas rações, a Ração X e a Ração Y. Cada porção de ração dada aos animais exige 60g de proteína e 30g de gordura. A Ração X possui 15g de proteína e 10g de gordura, e custa R$ 80,00 a unidade. A Ração Y apresenta 20g de proteína e 5g de gordura e custa R$ 50,00 a unidade. Quanto de cada ração deve ser usada para minimizar os custos do fazendeiro? Sua saída deverá ser parecida com: A solução para o problema de minimização é: x = 2.40 y = 1.20 O custo mínimo é: 252.00 Antes de passarmos ao código Octave, vamos fazer a modelagem matemática do problema. O primeiro passo é identificar as variáveis. Assim, vamos chamar de x o número de unidades da Ração X e de y o número de unidades da Ração Y. Veja: x = Número de unidades da Ração X y = Número de unidades da Ração Y E então temos a função custo: custo = 80x + 50y A primeira restrição diz respeito à quantidade de proteína em cada porção de ração. Sabendo que a Ração X apresenta 15g de proteína e a Ração Y apresenta 20g de proteína nós temos: R1: 15x + 20y >= 60 (proteína) A segunda restrição diz respeito à quantidade de gordura em cada porção de ração. Sabendo que a Ração X apresenta 10g de gordura e a Ração Y apresenta 5g de gordura nós temos: R2: 10x + 5y >= 30 (gordura) As restrições R3 e R4 dizem respeito à não negatividade das variáveis de decisão: R3: x >= 0 R4: y >= 0 Veja agora o código Octave completo (pesquisa_operacional.m): # vamos começar definindo a matriz que representa a função de # minimização c = [80.0, 50.0]'; # agora a matriz de restrições A = [15, 20; 10, 5]; b = [60, 30]'; # as restrições de não negatividade e o limite superior lb = [0, 0]'; ub = []; # definimos as restrições como limites inferiores ctype = "LL"; # indicamos que vamos usar variáveis contínuas (não inteiros) vartype = "CC"; # vamos usar minimização, por isso definimos o valor 1. Se fosse # maximização o valor seria -1 s = 1; # definimos os parâmetros adicionais param.msglev = 1; param.itlim = 100; # e chamamos a função glpk() [xmin, fmin, status, extra] = glpk(c, A, b, lb, ub, ctype, vartype, s, param); # mostramos a solução para o problema de minimização printf("A solução para o problema de minimização é:\n\n"); printf("x = %.2f\n", xmin(1)); printf("y = %.2f\n", xmin(2)); # para finalizar vamos mostrar o custo mínimo printf("\nO custo mínimo é: %.2f\n\n", fmin); Ao executar o código você perceberá que, para minimizar os custos do fazendeiro, deverão ser usados na mistura 2,4 unidades da Ração X e 1,2 unidades da Raça Y, a um custo mínimo de R$ 252,00. |
C++ ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como criar uma classe C++ completa, incluindo os arquivos de definição .h e implementação .cppQuantidade de visualizações: 28189 vezes |
Esta dica o guiará passo-a-passo na criação de uma classe C++, incluindo os arquivos .h e .cpp. Para isso vamos usar o Dev-C++ (acreditamos que o procedimento é parecido com outros compiladores). Vamos começar com o arquivo de definição. Com um projeto já iniciado no Dev-C++, vá em File -> New -> Source File. Quando perguntado se deseja adicionar o arquivo ao projeto existente, clique Yes. Salve o arquivo com o nome de "pessoa.h" e inclua nele o seguinte código: /* Código de definição: pessoa.h */ #ifndef PESSOA_H #define PESSOA_H #include <string> using std::string; class Pessoa{ public: void setNome(string nome); void setIdade(int idade); string getNome(); int getIdade(); private: string nome; int idade; }; #endif Salve este código como pessoa.h no diretório de sua aplicação C++. Este é o arquivo de definição da classe. É nele que declaramos os membros públicos e privados, incluindo as assinaturas dos métodos da classe. Passemos agora ao arquivo de implementação. Novamente vá em File -> New -> Source File. Quando perguntado se deseja adicionar o arquivo ao projeto existente, clique Yes. Salve o novo arquivo como "pessoa.cpp" e inclua nele o seguinte conteúdo: /* Código de implementação: pessoa.cpp */ #include "pessoa.h" void Pessoa::setNome(string nome){ this->nome = nome; } void Pessoa::setIdade(int idade){ this->idade = idade; } string Pessoa::getNome(){ return this->nome; } int Pessoa::getIdade(){ return this->idade; } Salve este código como pessoa.cpp no diretório de sua aplicação C++. Este é o arquivo de implementação dos métodos da classe Pessoa. Veja o uso da palavra-chave this quando queremos referenciar o objeto atual da classe e, é claro, evitar ambiguidade entre o nome das variáveis da classe e os nomes dos parâmetros dos métodos. Hora de testar. Crie o arquivo principal da aplicação (aquele que contém o método main()): #include <iostream> #include "pessoa.h" using namespace std; int main(int argc, char *argv[]) { // declara um objeto da classe Pessoa Pessoa p; // informa o nome e idade da pessoa p.setNome("Osmar J. Silva"); p.setIdade(27); // obtém o nome e idade da pessoa cout << "Nome: " << p.getNome() << endl; cout << "Idade: " << p.getIdade() << endl; cout << "\n" << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Funcionou tudo como planejado? Se funcionou, parabéns! Já fizemos um bom progresso na criação e uso de classes em C++. |
JavaScript ::: Dicas & Truques ::: Cookies |
Cookies em JavaScript - Como excluir um cookie usando JavaScriptQuantidade de visualizações: 134 vezes |
Nesta dica mostrarei como podemos escrever uma função JavaScript excluirCookie() que recebe o nome do cookie e o remove do navegador. Em alguns browsers pode ser necessário reiniciar para que o cookie seja realmente excluído. Note que coloquei também uma função obterCookie() que permite verificar se o cookie foi realmente excluído. Veja o código JavaScript completo, incluindo o código HTML da página de teste: <html> <head> <title>Estudando JavaScript</title> <script type="text/javascript"> // função que permite excluir um cookie. Pode // ser necessário reiniciar o navegador function excluirCookie(nome){ var exdate = new Date(); exdate.setTime(exdate.getTime() + (-1 * 24 * 3600 * 1000)); document.cookie = nome + "=" + escape("")+ ((-1 == null) ? "" : "; expires=" + exdate); } // função que permite obter um cookie function obterCookie(nome){ if(document.cookie.length > 0){ c_start = document.cookie.indexOf(nome + "="); if(c_start != -1){ c_start = c_start + nome.length + 1; c_end = document.cookie.indexOf(";", c_start); if(c_end == -1){ c_end = document.cookie.length; } return unescape(document.cookie.substring( c_start, c_end)); } } return null; } </script> </head> <body> <script type="text/javascript"> // vamos excluir o cookie excluirCookie('nome_visitante'); // verifica se o cookie "nome_visitante" existe // e obtém seu valor var nome_visitante = obterCookie('nome_visitante'); if(nome_visitante != null){ document.writeln("O cookie nome_visitante existe. " + "Seu valor é: " + nome_visitante); } else{ document.writeln("O cookie nome_visitante não existe"); } </script> </body> </html> Ao executar este código, sabendo que o cookie "nome_visitante" existia anteriormente, nós teremos o seguinte resultado: O cookie nome_visitante não existe |
Nossas 20 dicas & truques de programação mais populares |
JavaScript - Como filtrar os elementos de um array em JavaScript usando a função filter() - Vetores e matrizes em JavaScript JavaScript - Como adicionar um método isPar() ao objeto Number do JavaScript que indicará se um número é par ou impar Java - Programação Orientada a Objetos em Java - Como usar o modificador static em suas aplicações Java |
Você também poderá gostar das dicas e truques de programação abaixo |
Python - Exercícios Resolvidos de Python - Como converter de binário para decimal em Python usando o laço for CSS - CSS3 - O que são CSS media queries e como usá-las em suas páginas web para criar designs responsivos |
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 |