Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico

Exercícios Resolvidos de Python - Como calcular o peso de uma pessoa na Lua usando Python

Quantidade de visualizações: 705 vezes
Pergunta/Tarefa:

Escreva um programa Python que leia o peso de uma pessoa na Terra e retorne o seu peso na Lua. Lembre-se da seguinte fórmula:

\[\text{Peso na Lua} = \frac{\text{Peso na Terra}}{9,81} \times 1,622 \]

Aqui nós estamos definindo a força da gravidade na Terra como 9,81 m/s2 e a força da gravidade na Lua como 1,622 m/s2. Se você quiser calcular o peso de uma pessoa em Marte, por exemplo, basta trocar a força da gravidade na Lua pela força da gravidade em Marte.

Sua saída deverá ser parecida com:

Peso na terra (kg): 70
O peso da pessoa na Lua é: 11.57 kg
Resposta/Solução:

Veja a resolução comentada deste exercício usando Python:

# função principal do programa
def main():
  # vamos ler o peso da pessoa na Terra
  peso_terra = float(input("Peso na terra (kg): "))
  
  # vamos calcular o peso da pessoa na Lua
  peso_lua = (peso_terra / 9.81) * 1.622 
  # arredonda para duas casas decimais
  peso_lua = round(peso_lua, 2)

  # vamos mostrar o resultado
  print("O peso da pessoa na Lua é: {0} kg".format(peso_lua))

if __name__== "__main__":
  main()



Java ::: Fundamentos da Linguagem ::: Comentários

Java para iniciantes - Como inserir comentários em seus códigos Java

Quantidade de visualizações: 13427 vezes
Comentários em Java, assim como em outras linguagens, são ignorados pelo compilador. Em Java, podemos usar dois estilos de comentários:

1) Comentário de uma única linha:

// obtém o resultado do cálculo
int res = 4 + 5; // aqui também pode

2) Comentários de múltiplas linhas:

/*
 Este exemplo mostra como verificar se
 um número é par ou ímpar.  
*/



Java ::: Java Swing - Gerenciadores de Layout ::: GridBagLayout

Como criar uma tela de login usando o gerenciador de layout GridBagLayout do Java Swing

Quantidade de visualizações: 35736 vezes
Temos que aceitar o fato de que o uso de uma IDE visual facilita muito o trabalho de criação de interfaces gráficas (GUI). Contudo, é muito bom poder escrever telas via código mesmo. E o gerenciador de layout GridBagLayout possibilita a criação de layouts realmente avançados.

O trecho de código abaixo mostra como criar uma tela de login usando este gerenciador. Guarde este código. Ele poder ser útil na criação de outros formulários:

package arquivodecodigos;

import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;

public class Estudos extends JFrame{
  public Estudos(){
    super("Tela de login usando GridBagLayout");

    // define o layout
    setLayout(new GridBagLayout());
    
    // define uma borda para aumentar o espaço
    // entre as bordas da janela e o gerenciador
    // de layout
    ((JComponent)getContentPane()).setBorder(
       new EmptyBorder(5, 8, 8, 8));

    // cria o GridBagConstraints
    GridBagConstraints gbc = new GridBagConstraints();

    // controla o espaço entre os componentes
    // e as linhas do GridBagLayout.
    // aqui nós definimos 3 pixels para os
    // lados de cima, esquerda, inferior e direita
    gbc.insets = new Insets(3, 3, 3, 3);

    // adiciona componentes à janela
    // esta primeira JLabel ocupará duas células
    // na primeira linha
    gbc.gridy = 0; // linha
    gbc.gridx = 0; // coluna
    gbc.gridwidth = 2; // duas células na linha
    // alinha o label à esquerda
    gbc.anchor = GridBagConstraints.WEST;
    JLabel infoLabel = new JLabel("Dados do Usuário:");
    // vamos aumentar a fonte da JLabel
    infoLabel.setFont(new Font("SansSerif", 
      Font.BOLD, 14));
    // vamos adicionar um espaço extra na parte
    // inferior da JLabel
    infoLabel.setBorder(
      new EmptyBorder(0, 0, 5, 0));
    
    add(infoLabel, gbc);

    gbc.gridy = 1; // linha
    gbc.gridx = 0; // coluna
    gbc.gridwidth = 1;
    // cria a label do usuário
    JLabel usuarioLabel = new JLabel("Usuário:");
    add(usuarioLabel, gbc);

    gbc.gridy = 1; // linha
    gbc.gridx = 1; // coluna
    // cria a JTextField do usuário
    JTextField usuarioTxt = new JTextField(13);
    add(usuarioTxt, gbc);

    gbc.gridy = 2; // linha
    gbc.gridx = 0; // coluna
    // cria a label da senha
    JLabel usuarioSenha = new JLabel("Senha:");
    add(usuarioSenha, gbc);    
    
    gbc.gridy = 2; // linha
    gbc.gridx = 1; // coluna
    // cria a JPasswordField da senha
    JPasswordField senhaTxt = new JPasswordField(13);
    add(senhaTxt, gbc);

    gbc.gridy = 3; // linha
    gbc.gridx = 1; // coluna
    gbc.gridwidth = 2; // duas células na linha
    // alinha os botões à direita
    gbc.anchor = GridBagConstraints.EAST;
    JPanel botoesPanel = new JPanel();
    botoesPanel.add(new JButton("Cancelar"));
    botoesPanel.add(new JButton("OK"));
    add(botoesPanel, gbc);

    pack(); // ajusta o tamanho da janela ao
    // dos componentes
    setVisible(true);    
  }

  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Ao executar este código Java Swing nós teremos o seguinte resultado:




Ruby ::: Dicas & Truques ::: Strings e Caracteres

Como converter uma string para letras maiúsculas em Ruby usando as funções upcase e upcase!

Quantidade de visualizações: 7091 vezes
Esta dica mostra como converter todos os caracteres de uma string para letras maiúsculas em Ruby. Para isso usaremos a função upcase(). Veja que podemos usar tanto upcase quanto upcase!. A primeira retorna uma nova string, enquanto a segunda opera na string original.

Veja o exemplo:

# declara e inicializa uma variável string
frase = "Gosto muito de Ruby"
puts "A frase original é: " + frase

# vamos transformar a string toda para
# letras maiúsculas. Veja que aqui não estamos
# operando na string original 
frase2 = frase.upcase

# exibe o resultado 
puts "Em letras maiúsculas: " + frase2

Ao executar este código Ruby nós teremos o seguinte resultado:

A frase original é: Gosto muito de Ruby
Em letras maiúsculas: GOSTO MUITO DE RUBY


C# ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções

C# para iniciantes - Como escrever um método que possui parâmetros (e que recebe argumentos) usando a linguagem C#

Quantidade de visualizações: 11487 vezes
Parâmetros permitem que personalizemos a forma que o conjunto de instruções em um método será executado. Em C# os parâmetros de um método são separados por vírgulas e seguem a forma usual de declaração de variáveis, ou seja, o tipo de dados seguido pelo nome da variável. Veja um exemplo de método com parâmetros:

// um método que recebe dois argumentos
// e não retorna nenhum valor
static void escrever(String texto, int quant){
  for(int i = 0; i < quant; i++){
    Console.WriteLine(texto);
  }
}

static void Main(string[] args)
{
  // efetua uma chamada ao método informando o texto e
  // a quantidade de vezes que ele será exibido na tela
  escrever("http://www.arquivodecodigos.net", 4); 

  Console.WriteLine("\n\nPressione uma tecla para sair...");
  Console.ReadKey();
}

O método escrever() possui dois parâmetros: texto e quant. Note que usamos o inteiro quant como limite para um laço for, que exibe na tela o valor da variável texto a cada iteração. Observe também a forma como este método é chamado a partir do método Main() da aplicação (fornecemos dois argumentos: o texto e a quantidade de vezes que este será exibido). Por último lembre-se de que as variáveis contidas nos parâmetros dos métodos estão disponíveis para acesso somente dentro do corpo do método, ou seja, entre as chaves { e }.


C# ::: Desafios e Lista de Exercícios Resolvidos ::: C# Básico

Exercício Resolvido de C# - Como ler um número inteiro e imprimir seu sucessor e seu antecessor em C#

Quantidade de visualizações: 1063 vezes
Pergunta/Tarefa:

Escreva um programa C# para ler um número inteiro e imprimir seu sucessor e seu antecessor. O usuário poderá informar um valor positivo ou negativo.

Sua saída deverá ser parecida com:

Informe um número inteiro: 16
O número informado foi: 16
O antecessor é 15
O sucessor é: 17
Resposta/Solução:

Veja a resolução comentada deste exercício usando C#:

using System;

namespace Estudos {
  class Principal {
    static void Main(string[] args) {
      // vamos pedir ao usuário que informe um número inteiro
      Console.Write("Informe um número inteiro: ");
      int numero = Int32.Parse(Console.ReadLine());

      // vamos calcular o sucessor do número informado
      int sucessor = numero + 1;

      // vamos calcular o antecessor do número informado
      int antecessor = numero - 1;

      // e agora mostramos os resultados
      Console.WriteLine("O número informado foi: {0}", numero);
      Console.WriteLine("O antecessor é {0}", antecessor);
      Console.WriteLine("O sucessor é: {0}", sucessor);

      Console.WriteLine("\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}



C# ::: Dicas & Truques ::: Data e Hora

Como construir uma data e hora em C# usando o objeto DateTime e fornecendo o dia, mês, ano, horas, minutos e segundos da data e hora desejadas

Quantidade de visualizações: 12509 vezes
Esta dica mostra como construir uma data e hora em C# usando o seguinte construtor da estrutura DateTime:

DateTime(Int32, Int32, Int32, Int32, Int32, Int32)

Este construtor pede seis valores inteiros representando o ano, mês, dia, horas, minutos e segundos da data e hora que queremos construir e retorna um objeto DateTime representando a data e hora recém-construidas (note que a hora deve ser informada no formato 0-23). Veja um exemplo:

static void Main(string[] args){
  // cria um objeto DateTime para a data 10/04/2008
  // e hora 18:32:10
  DateTime data = new DateTime(2008, 4, 10, 18, 32, 10);

  // exibe o resultado
  System.Console.WriteLine(data.ToString(
    "dd/MM/yyyy - HH:mm:ss"));

  // pausa o programa
  Console.ReadKey();
}

Tome cuidade. Este método pode lançar exceções dos tipos ArgumentOutOfRangeException e ArgumentException se os valores fornecidos estiverem fora das faixas permitidas.


Excel ::: Fórmulas do Excel ::: Matemática e Estatística

Como gerar números aleatórios inteiros entre 1 e 10 no Excel usando as funções ALEATÓRIO() e INT()

Quantidade de visualizações: 134 vezes
A função ALEATÓRIO() do Excel pode ser usada quando queremos gerar um número randômico, ou seja, um número aleatório entre 0 e 1. Nesse caso o número gerado é um número real aleatório que inclue o 0 mas não inclui o 1.

No entanto, podemos usar um truque aritmético para gerar números aleatórios entre uma determinada faixa, por exemplo, de 1 até 10 (incluindo o 1 e o 10 na amostra).

Para gerar um número randômico inteiro na faixa de 1 até 10 combinando as funções ALEATÓRIO e INT, digite o conteúdo a seguir em uma célula ou na barra de fórmulas do Excel:

=INT(ALEATÓRIO()*(11-1)+1)

Pressione Enter ou Tab e você terá um resultado parecido com:

7

É importante observar que, sempre que chamamos a função ALEATÓRIO(), todas as células que estão usando a fórmula serão atualizadas. Para evitar isso, com o cursor na janela de fórmulas, pressione F9. Isso fará com que a fórmula seja convertida em valor final e este valor seja atribuído à célula desejada.


GNU Octave ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o coeficiente angular de uma reta em GNU Octave dados dois pontos no plano cartesiano

Quantidade de visualizações: 1517 vezes
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x.

Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano:



Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é:

\[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \]

Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente.

Veja agora o trecho de código na linguagem GNU Octave (script GNU Octave) que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:

# x e y do primeiro ponto
x1 = input("Coordenada x do primeiro ponto: ")
y1 = input("Coordenada y do primeiro ponto: ")

# x e y do segundo ponto
x2 = input("Coordenada x do segundo ponto: ")
y2 = input("Coordenada y do segundo ponto: ")

# agora vamos calcular o coeficiente angular
m = (y2 - y1) / (x2 - x1)

# mostramos o resultado
fprintf("O coeficiente angular é: %f\n\n", m)

Ao executar este código em linguagem GNU Octave nós teremos o seguinte resultado:

Coordenada x do primeiro ponto: 3
x1 = 3
Coordenada y do primeiro ponto: 6
y1 = 6
Coordenada x do segundo ponto: 9
x2 = 9
Coordenada y do segundo ponto: 10
y2 = 10
m = 0.6667
O coeficiente angular é: 0.666667

Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):

# x e y do primeiro ponto
x1 = input("Coordenada x do primeiro ponto: ")
y1 = input("Coordenada y do primeiro ponto: ")

# x e y do segundo ponto
x2 = input("Coordenada x do segundo ponto: ")
y2 = input("Coordenada y do segundo ponto: ")

# vamos obter o comprimento do cateto oposto
cateto_oposto = y2 - y1
# e agora o cateto adjascente
cateto_adjascente = x2 - x1
# vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
# (em radianos, não se esqueça)
tetha = atan2(cateto_oposto, cateto_adjascente)
# e finalmente usamos a tangente desse ângulo para calcular
# o coeficiente angular
tangente = tan(tetha)

# mostramos o resultado
fprintf("O coeficiente angular é: %f\n\n", tangente)

Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta:

1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0;

2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0;

3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0).

4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe.


C# ::: Dicas & Truques ::: Rotinas de Conversão

Como converter um tipo string para um tipo decimal em C# usando o método Parse() da classe Decimal

Quantidade de visualizações: 12662 vezes
Este exemplo mostra como converter uma string em um valor do tipo decimal. Para isso nós vamos usar o método Parse() da classe Decimal da linguagem C#. No entanto, é preciso termos cuidado, pois este método pode lançar três tipos de exceções: ArgumentNullException, FormatException e OverflowException.

Veja o trecho de código a seguir:

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      string valor_string = "530,54";
      // experimente com os valores "23,5", "arquivo" e
      // "659"

      // tenta efetuar a conversão de string para decimal
      try {
        decimal valor_decimal = decimal.Parse(valor_string);
        // exibe o resultado
        Console.WriteLine("Valor convertido com sucesso: " + valor_decimal);
      }
      catch (FormatException e) {
        // exibe a informações sobre a exceção
        // Input string was not in a correct format. 
        Console.WriteLine(e.Message);
      }

      Console.WriteLine("\n\nPressione qualquer tecla para sair...");
      // pausa o programa
      Console.ReadKey();
    }
  }
}

Ao executar este código C# nós teremos o seguinte resultado:

Valor convertido com sucesso: 530,54

Se tentarmos atribuir um valor string a um tipo decimal, sem efetuar a conversão, teremos o seguinte erro de compilação:

Cannot implicitly convert type string to decimal

Carregar Publicações Anteriores


Nossas 20 dicas & truques de programação mais populares

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

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 34 usuários muito felizes estudando em nosso site.