Java ::: Desafios e Lista de Exercícios Resolvidos ::: Matemática e Estatística |
Exercício Resolvido de Java - Escreva um programa Java que pede um número inteiro e informa se o número informado é um número de ArmstrongQuantidade de visualizações: 961 vezes |
Pergunta/Tarefa: Um número é chamado de número de Armstrong quando a soma de cada um dos seus dígitos, elevado à quantidade de dígitos do número, equivale ao próprio número. Por exemplo, 153 e 93084 são números de Armstrong, já que: 153 = 13 + 53 + 33 93084 = 95 + 35 + 05 + 85 + 45 Escreva um programa Java que pede para o usuário informar um número inteiro e informa se o número informado é um número de Armstrong ou não. Seu código deve usar apenas os operadores matemáticos disponíveis na linguagem Java. Sua saída deverá ser parecida com: Informe um número inteiro: 153 O número informado é um número de Armstrong Veja a resolução comentada deste exercício usando Java: package estudos; import java.util.Scanner; public class Estudos{ public static void main(String args[]){ // para efetuar a leitura da entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar um número System.out.print("Informe um número inteiro: "); int numero = Integer.parseInt(entrada.nextLine()); // o primeiro passo é obter a quantidade de dígitos que o número informado // possui int quant_digitos = 0; int temp = numero; while(temp != 0) { quant_digitos = quant_digitos + 1; temp = temp / 10; } // agora efetuamos o cálculo que verifica se o número é um número // de Armstrong ou não int resto, soma = 0; temp = numero; while(temp > 0){ resto = temp % 10; soma = soma + (int)(Math.pow(resto, quant_digitos)); temp = temp / 10; } if(soma == numero){ System.out.println("O número informado é um número de Armstrong"); } else{ System.out.println("O número informado não é um número de Armstrong"); } } } |
Ruby ::: Dicas & Truques ::: Arquivos e Diretórios |
Como criar um diretório em Ruby usando a função FileUtils.mkdir()Quantidade de visualizações: 8204 vezes |
O trecho de código a seguir mostra como criar um diretório em Ruby usando o método mkdir() da classe FileUtils. Esta função recebe uma string contendo o nome e caminho do diretório a ser criado. Veja o código Ruby completo para o exemplo: require "fileutils" # nome e caminho do diretório a ser criado diretorio = "C:\\estudos_ruby\\escola" # cria o diretório if FileUtils.mkdir diretorio puts "Diretório criado com sucesso" else puts "Não foi possível criar o diretório" end Ao executar este código Ruby nós teremos o seguinte resultado: Diretório criado com sucesso Veja que, se o diretório não puder ser criado, a seguinte mensagem de erro será exibida: C:/ruby/lib/ruby/1.8/fileutils.rb:243:in `mkdir': File exists - estudos (Errno:: EEXIST) from C:/ruby/lib/ruby/1.8/fileutils.rb:243:in `fu_mkdir' from C:/ruby/lib/ruby/1.8/fileutils.rb:172:in `mkdir' from C:/ruby/lib/ruby/1.8/fileutils.rb:171:in `each' from C:/ruby/lib/ruby/1.8/fileutils.rb:171:in `mkdir' from estudos.rb:7 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Um programa que calcule e mostre a tabuada de multiplicação de um número digitado pelo usuário (entre 1 e 10)Quantidade de visualizações: 6671 vezes |
Pergunta/Tarefa: Escreva um programa Java que usa o laço for para calcular a tabuada de multiplicação para um número digitado pelo usuário. Este número deve estar entre 1 e 10 (inclusive). Sua saída deve ser parecida com: Informe um valor entre 1 e 10: 8 A tabuada do número 8 é: 8 X 1 = 8 8 X 2 = 16 8 X 3 = 24 8 X 4 = 32 8 X 5 = 40 8 X 6 = 48 8 X 7 = 56 8 X 8 = 64 8 X 9 = 72 8 X 10 = 80 Veja a resolução comentada deste exercício usando Java console: package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos solicitar que o usuário informe um inteiro entre 1 e 10 System.out.print("Informe um valor entre 1 e 10: "); int numero = Integer.parseInt(entrada.nextLine()); // vamos verificar se o valor está na faixa desejada if((numero < 1) || (numero > 10)){ System.out.println("O número deve ser entre 1 e 10"); } else{ // o número é válido....vamos exibir a tabuada System.out.println("\nA tabuada do número " + numero + " é:\n"); for(int i = 1; i <= 10; i++){ System.out.println(numero + " X " + i + " = " + (numero * i)); } } System.out.println("\n"); } } |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
Como transformar uma string em letras minúsculas em PHP usando a função strtolower()Quantidade de visualizações: 8 vezes |
A função strtolower() do PHP pode ser usada quando queremos converter uma palavra, frase ou texto para letras minúsculas. Veja um exemplo de seu uso: <?php // vamos definir a codificação como iso-8859-1 ini_set('default_charset', "iso-8859-1"); // vamos criar uma string $frase = "PHP? Eu gosto de PHP"; echo "A frase original é: " . $frase; // agora vamos converter a frase para letras // minúsculas $frase_minusculas = strtolower($frase); echo "<br>Em letras minúsculas: " . $frase_minusculas; ?> Ao executarmos este código PHP nós teremos o seguinte resultado: A frase original é: PHP? Eu gosto de PHP Em letras minúsculas: php? eu gosto de php Ao executar este código no PHP 8, Windows 10 e codificação do arquivo em ANSI, o resultado da função strtolower() é o esperado, mas somente sem usar acentos e caracteres especiais. Veja: <?php // vamos definir a codificação como iso-8859-1 ini_set('default_charset', "iso-8859-1"); // vamos criar uma string $frase = "JAVA? NÃO! É DE PHP QUE EU GOSTO"; echo "A frase original é: " . $frase; // agora vamos converter a frase para letras // minúsculas $frase_minusculas = strtolower($frase); echo "<br>Em letras minúsculas: " . $frase_minusculas; ?> Ao executarmos o código novamente nós teremos a seguinte saída: A frase original é: JAVA? NÃO! É DE PHP QUE EU GOSTO Em letras minúsculas: java? nÃo! É de php que eu gosto Note que as letras acentuadas não foram convertidas para letras minúsculas. Isso aconteceu porque os caracteres acentuados são tratados como caracteres de múltiplos bytes, ou seja, multi-byte chars. A saída, nesse caso, e no PHP 8 (e acredito mais recentes), é usar a função mb_strtolower(). Veja: <?php // vamos definir a codificação como iso-8859-1 ini_set('default_charset', "iso-8859-1"); // vamos criar uma string $frase = "JAVA? NÃO! É DE PHP QUE EU GOSTO"; echo "A frase original é: " . $frase; // agora vamos converter a frase para letras // minúsculas $frase_minusculas = mb_strtolower($frase); echo "<br>Em letras minúsculas: " . $frase_minusculas; ?> Execute o código novamente e verá que o resultado agora está correto: A frase original é: JAVA? NÃO! É DE PHP QUE EU GOSTO Em letras minúsculas: java? não! é de php que eu gosto Agora você já sabe o primeiro passo para resolver problemas de acentuação no PHP. Bons estudos. |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como remover os espaços no início de uma string C# usando o TrimStart() da classe StringQuantidade de visualizações: 7279 vezes |
Nesta dica mostrarei como usar a função TrimStart() da classe String do C# para remover os espaços no início de uma palavra, frase ou texto. Esta operação é importante quando estamos lidando com dados informados pelos usuário de nossas aplicações C#. Veja o código completo para o exemplo: using System; namespace Estudos { class Program { static void Main(string[] args) { string texto = " temos espaços no início e fim "; Console.WriteLine(texto); // remove os espaços no início da string texto = texto.TrimStart(); Console.WriteLine("." + texto + "."); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: temos espaços no início e fim .temos espaços no início e fim . |
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: 332 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# ::: Namespace System.Drawing ::: Image |
Gráficos C# Windows Forms - Como usar a classe Image em suas aplicações C#Quantidade de visualizações: 6496 vezes |
A classe Image, do namespace System.Drawing (no assemply System.Drawing.dll) é uma classe abstrata de base que fornece funcionalidades para as classes derivadas Bitmap e Metafile (que são classes concretas e sealed, ou seja, não podem ter suas funcionalidades herdadas por outras classes). Por ser uma classe abstrata, não podemos criar novas instâncias de Image (usando new()). Em vez disso nós a usamos apenas para chamar seus métodos estáticos ou como referência para as classes derivadas. Veja um trecho de código no qual carregamos um bitmap e o exibimos em um PictureBox: private void button2_Click_1(object sender, EventArgs e){ try{ // vamos carregar o bitmap a partir de um diretório Image imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true); // vamos exibir a imagem no PictureBox pictureBox1.Image = imagem; } catch(ArgumentException ae){ MessageBox.Show("Houve um erro ao carregar a imagem: " + ae.Message.ToString()); } } Veja que declaramos uma Image e a usamos como referência a um Bitmap. É claro que podemos perfeitamente trocar a linha: Image imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true); por: Bitmap imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true); O código compila normalmente, mas aí perdemos todo o poder que o polimorfismo nos entrega. Sempre que possível, devemos programar em cima das interfaces, superclasses e classes abstratas. Além dos métodos estáticos, a classe Image fornece várias propriedades. Veja uma modificação do exemplo anterior no qual obtemos a largura e a altura da imagem que foi carregada: private void button2_Click_1(object sender, EventArgs e){ try{ // vamos carregar o bitmap a partir de um diretório Image imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true); // vamos exibir a imagem no PictureBox pictureBox1.Image = imagem; // vamos exibir a largura e altura da imagem MessageBox.Show("A imagem carregada possui a largura de " + imagem.Width + " pixels e altura de " + imagem.Height + " pixels."); } catch(ArgumentException ae){ MessageBox.Show("Houve um erro ao carregar a imagem: " + ae.Message.ToString()); } } Depois de carregada a imagem você verá uma mensagem parecida com: A imagem carregada possui a largura de 80 pixels e altura de 50 pixels. |
PHP ::: PHP + MySQL ::: MySQL (mysql) |
Como criar um arquivo de conexão PHP + MySQL e incluí-lo nas demais páginas PHP do seu projeto - Atualizado - Somente PHP 5.6 e anterioresQuantidade de visualizações: 13340 vezes |
É sempre uma boa idéia centralizar todos os parâmetros da conexão PHP + MySQL em apenas um arquivo e usar require() para incluí-lo nas demais páginas da aplicação. Se fizermos isso, não precisaremos efetuar alterações em todas as páginas caso o nome de usuário ou senha da conexão seja alterada. 1 - Comece criando o arquivo PHP que contém os parâmetros de conexão. Uma boa idéia é usar um método que retorne uma conexão com o banco de dados. Veja o código para conexao.php: <? function obter_conexao_php_mysql(){ // Parâmetros de conexão $server = "localhost"; $usuario = "root"; $senha = "osmar1234"; $base = "estudos"; // Tenta efetuar a conexão $conexao = mysql_connect($server, $usuario, $senha); // Testa se a conexão foi efetuada com sucesso if(!$conexao) die('Falha ao conectar: ' . mysql_error()); // conexão efetuada com sucesso. Podemos definir qual // base de dados será usada $db_selected = mysql_select_db($base, $conexao); // testa se a base foi selecionada com sucesso. if(!$db_selected) die("Falha ao selecionar o banco: " . mysql_error()); return $conexao; } function fechar_conexao_php_mysql($conn){ mysql_close($conn); } ?> Agora este arquivo de conexão pode ser importado para as demais página da seguinte forma: <? require("conexao.php"); // obtém a conexão com o banco MySQL $conexao = obter_conexao_php_mysql(); /* Outros códigos de manipulação dos dados no banco de dados vão aqui */ // fecha a conexão fechar_conexao_php_mysql($conexao); ?> Atenção usuários Windows + XAMPP: Se você estiver recebendo a mensagem abaixo, certifique-se de que a linha extension=php_mysql.dll Está descomentada no seu PHP.ini. Fatal error: Uncaught Error: Call to undefined function mysql_connect() in conexao.php:10 Stack trace: #0 conexao.php(32): obter_conexao_php_mysql() #1 {main} thrown in conexao.php on line 10 Se você estiver usando uma versão do PHP superior a 5.6, este erro também ocorrerá e você terá que voltar sua aplicação para um PHP mais anterior ou mudar seus códigos de conexão para PDO ou MySQL Improved Extension (mysqli). |
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como adicionar um botão ellipsis (...) nas células de uma determinada coluna do TDBGrid do Delphi e tratar seu evento OnEditButtonClickQuantidade de visualizações: 12196 vezes |
Em algumas situações gostaríamos de exibir um botão do tipo ellipsis (...) nas células de uma determinada coluna do TDBGrid. Este botão é exibido à direita da célula de edição do DBGrid e seu evento OnEditButtonClick pode ser disparado por meio da combinação Ctrl+Enter ou um click do mouse. Um dos usos mais frequentes do botão ellipsis é quando queremos chamar um formulário de pesquisa ou mais detalhes sobre o conteúdo atual da célula que está sendo editada. Siga os passos abaixo para adicionar um botão ellipsis (...) nas células de uma determinada coluna do TDBGrid: a) Selecione a coluna desejada na lista Columns; b) Defina o valor cbsEllipsis para sua propriedade ButtonStyle; c) Escreva um gerenciador de eventos para o evento OnEditButtonClick do DBGrid. Veja no trecho de código a seguir como clicar no botão e exibir o conteúdo da célula (note que coloquei o botão ellipsis em uma coluna cujos células exibiam o valor do campo id de uma tabela livros): procedure TForm3.DBGrid1EditButtonClick(Sender: TObject); begin ShowMessage('O valor da célula que contém o botão é: ' + DBGrid1.SelectedField.AsString); end; Ao executar este código bastará entrar na célula e colocá-la em modo de edição. Automaticamente o botão ellipsis (...) será exibido. Clique no mesmo e verá uma mensagem parecida com: "O valor da célula que contém o botão é: 5." Caso queira que o botão ellipsis seja visível nas células o tempo todo, basta alterar o valor da opção dgAlwaysShowEditor para True. Esta opção é parte da propriedade Options do DBGrid. Esta dica foi escrita e testada no Delphi 2009. |
C ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular raiz quadrada em C usando a função sqrt()Quantidade de visualizações: 6725 vezes |
A raiz quadrada de um número pode ser obtida em C por meio da função sqrt(). Esta função recebe um valor double, ou seja, qualquer tipo que possa ser convertido em double e retorna um valor double. Veja o exemplo:#include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[]) { int numero = 9; printf("A raiz quadrada de %d é %f", numero, sqrt(numero)); printf("\n\n"); system("pause"); return 0; } Ao executar este código nós teremos o seguinte resultado: A raiz quadrada de 9 é 3. É importante observar que não é possível obter a raiz quadrada de um número negativo. Caso seu código tente fazer isso, o resultado poderá ser imprevisível. |
Nossas 20 dicas & truques de programação mais populares |
C - Como comparar os primeiros n caracteres de duas strings usando a função strncmp() da linguagem C AutoCAD Civil 3D - Como criar pontos COGO no AutoCAD Civil 3D |
Você também poderá gostar das dicas e truques de programação abaixo |
Java - Exercício Resolvido de Java - Usando um laço for para contar de 0 até 10 e somar todos os valores JavaScript - Como retornar o código ASCII ou Unicode associado a um caractere em JavaScript usando a função charCodeAt() |
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 |