C ::: C para Engenharia ::: Física - Mecânica

Como calcular a Energia Potencial Gravitacional de um corpo dado a sua massa e altura em C

Quantidade de visualizações: 2201 vezes
A Energia Potencial Gravitacional ou Energia Gravitacional é a energia potencial que um objeto massivo tem em relação a outro objeto massivo devido à gravidade. É a energia potencial associada ao campo gravitacional, que é parcialmente convertida em energia cinética quando os objetos caem uns contra os outros. A energia potencial gravitacional aumenta quando dois objetos são separados.

A fórmula para obtenção da Energia Potencial Gravitacional de um corpo em relação à sua massa e distância do chão, ou seja, da superfície terrestre, é:

\[ E_\text{pg} = \text{m} \cdot \text{g} \cdot \text{h} \]

Onde:

Epg ? energia potencial gravitacional (em joule, J).

m ? massa do corpo (em kg).

g ? aceleração da gravidade (m/s2).

h ? altura do objeto em relação ao chão (em metros).

Como podemos ver, a Energia Potencial Gravitacional está diretamente relacionada à distância do corpo em relação à superfície terrestre. Dessa forma, quanto mais distante da terra o objeto estiver, maior a sua energia gravitacional. Isso nós diz também que, um objeto de altura zero possui Energia Potencial Gravitacional nula.

Vamos ver um exemplo agora? Observe o seguinte enunciado:

1) Uma pessoa levanta um tijolo com peso de 2 quilogramas à distância de 1,5 metros do chão. Qual é a Energia Potencial Gravitacional deste corpo?

Como o exercício nos dá a massa do objeto em kg e a distância dele em relação ao chão já está em metros, tudo que temos a fazer é jogar na fórmula. Veja o código C completo para o cálculo:

#include <stdio.h>
#include <stdlib.h>

// função principal do programa
int main(int argc, char *argv[]){
  // gravidade terrestre em m/s2
  float gravidade = 9.80665;
  // massa do corpo
  float massa = 2; // em kg
  // altura do corpo em relação ao chão
  float altura = 1.5; // em metros
  
  // vamos calcular a energia potencial gravitacional
  float epg = massa * gravidade * altura;
  
  // mostramos o resultado
  printf("A Energia Potencial Gravitacional é: %fJ", epg);
  
  printf("\n\n");
  system("PAUSE");
  return 0;
}

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

A Energia Potencial Gravitacional é: 29.419950J


Python ::: Pandas Python Library (Biblioteca Python Pandas) ::: Input e Output (Entrada e Saída)

Como usar o método read_csv() do Pandas da linguagem Python para carregar um dataset e retorná-lo como um DataFrame

Quantidade de visualizações: 5192 vezes
Quando estamos desenvolvendo soluções em Data Science ou Machine Learning, é comum precisarmos carregar dados contidos em arquivos .csv (nos quais os registros são separados por vírgulas ou ponto-e-vírgula). Para isso podemos usar o método read_csv() da biblioteca Pandas do Python.

Veja um exemplo no qual usamos o método read_csv() para carregar um dataset e depois exibir o DataFrame resultante. Para isso usaremos uma amostra de dados de empréstimos aprovados ou recusados. O arquivo .csv pode ser baixado aqui.

Eis o código:

# importamos a biblioteca Pandas
import pandas as pd

def main():
  # vamos carregar os dados do arquivo .csv
  dados = pd.read_csv("C:\\estudos_python\\emprestimos.csv",
   delimiter=";")

  # vamos mostrar o DataFrame resultante
  print(dados)

if __name__== "__main__":
  main()

Quando executarmos este código nós teremos um resultado parecido com:

    id nome       idade sexo renda valor parc pont ap
0    1 MIGUEL728   24    M   1800  12500  30   34   S
1    2 RAUL46      61    M   2300  10000  24   59   S
2    3 JONAS264    28    M    800  12500  36   59   N
3    4 LETICIA135  71    F   1800  10000  36   13   N
4    5 CARLOS931   60    F   4000   2000   6   10   N
.. ...   ...    ...  ...    ...    ...   ...   ... ..
9   96 ANGELA391   91    F   4000  12500  12   33   N
96  97 PEDRO764    50    M  10200   2500  12    1   N
97  98 ADRIANA175  41    F   4000   2000  36   77   S
98  99 ROSA666     42    F   1800  20000  24   74   N
99 100 SARA653     36    F    970  11000  12   42   N

[100 rows x 9 columns]


Note que aqui nós temos uma amostra de 100 registros e cada registro possui 9 colunas. Se você quiser ver todos os 100 registros, troque a linha:

print(dados)

por

print(dados.to_string())

Para finalizar, note que forneci ";" como delimitador para o método read_csv().


C ::: Dicas & Truques ::: Arquivos e Diretórios

Como contar as linhas de um arquivo usando a função fgetc() da linguagem C

Quantidade de visualizações: 21009 vezes
Em algumas situações precisamos obter a quantidade de linhas em um arquivo em C. Nesta dica eu mostro como isso pode ser feito usando-se a função fgetc(), no header stdio.h. Note que aqui estamos assumindo que o arquivo texto não possui uma quebra de linha após a última linha de texto.

Veja o código comentado:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  // nome e local do arquivo que será aberto para
  // obtermos a quantidade de linhas
  FILE *arquivo = fopen("c:\\testes.txt", "r");
  int caractere, existe_linhas = 0;
  int quant_linhas = 0;
  
  while((caractere = fgetc(arquivo)) != EOF){
    existe_linhas = 1; // há conteúdo no arquivo
    
    if(caractere == '\n'){ // é uma quebra de linha?
      // vamos incrementar a quantidade de linhas
      quant_linhas++;             
    } 
  }

  // se não houver uma quebra de linha na última linha
  // a contagem será sempre um a menos. Assim, é melhor
  // incrementar quant_linhas mais uma vez
  if(existe_linhas)
    quant_linhas++;

  // vamos exibir o resultado
  printf("O arquivo possui %d linhas.", quant_linhas);
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}



Dart ::: Dicas de Estudo e Anotações ::: Estruturas de Controle

Como usar o laço do..while da linguagem Dart

Quantidade de visualizações: 1761 vezes
O laço do...while (faça...enquanto) do Dart é usado quando queremos repetir uma ou mais instruções ENQUANTO uma condição estiver sendo satisfeita. A diferença entre o laço do...while e o laço while é que o primeiro testa a condição de continuidade no final, enquanto o segundo testa a condição de continuidade no início. Por essa razão, o do...while será executado pelo menos uma vez.

Veja um exemplo no qual contamos de 1 até 10:

void main() {
  int cont = 1;

  // vamos contar de 1 até 10
  do {
    print(cont);
    cont++;
  } while (cont <= 10);
}

A execução deste código mostrará o seguinte resultado:

c:\estudos_dart>dart laco_do_while.dart
1
2
3
4
5
6
7
8
9
10

Veja agora um exemplo no qual pedimos para o usuário informar vários valores inteiros e mostraremos a soma. O valor -1 interrompe a leitura:

// Vamos importar a biblioteca dart:io
import 'dart:io';

void main() {
  int valor; // guarda o valor informado pelo usuário
  int soma = 0; // guarda a soma dos valores

  do {
    // vamos pedir para o usuário digitar um valor inteiro
    stdout.write("Digite um número inteiro (-1 para parar): ");
    valor = int.parse(stdin.readLineSync());

    // este valor pode ser somado?
    if (valor != -1) {
      soma = soma + valor;
    }
  } while (valor != -1);

  // saímos do laço
  print("A soma dos valores lidos é $soma");
}

Execute este código e você terá um resultado parecido com:

c:\estudos_dart>dart laco_do_while.dart
Digite um número inteiro (-1 para parar): 5
Digite um número inteiro (-1 para parar): 2
Digite um número inteiro (-1 para parar): 4
Digite um número inteiro (-1 para parar): -1
A soma dos valores lidos é 11


C++ ::: Dicas & Truques ::: Arquivos e Diretórios

Como criar diretórios em C++ usando a função mkdir()

Quantidade de visualizações: 10501 vezes
Em algumas situações nossos códigos C++ precisam criar diretórios. Isso pode ser feito com o auxílio da função mkdir(), disponível no header direct.h (trazido da linguagem C). Veja a assinatura desta função:

int _mkdir(const char *pathname);
Se o diretório for criado com sucesso a função retornará o valor 0. O retorno será -1 se um erro ocorrer. Neste caso a variável global errno será definido como EACCES (diretório não criado; nome informado já existe) ou ENOENT (caminho não encontrado).

Veja um trecho de código C++ no qual criamos um diretório no mesmo diretório do executável.

#include <iostream>
#include <direct.h>

using namespace std;

int main(int argc, char *argv[]){
  // vamos criar o diretório
  char diretorio[] = "estudos";

  // vamos testar se houve erro na criação do diretório
  if(mkdir(diretorio) == -1){
    cout << "Erro: " << strerror(errno) << endl;
  }
  else{
    cout << "Diretório criado com sucesso" << endl;
  }

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

É possível usar a versão Unicode de mkdir(), ou _mkdir(). O método _wmkdir(), também presente em direct.h é útil quando precisamos internacionalizar nossas aplicações. Veja o exemplo:

#include <iostream>
#include <direct.h>

using namespace std;

int main(int argc, char *argv[]){
  // vamos criar o diretório
  wchar_t diretorio[] = L"C:\\Dev-Cpp\\estudos";

  // vamos testar se houve erro na criação do diretório
  if(_wmkdir(diretorio) == -1){
    cout << "Erro: " << strerror(errno) << endl;
  }
  else{
    cout << "Diretório criado com sucesso" << endl;
  }

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Note que agora eu troquei o tipo char por wchar_t e usei o sinalizado L antes da atribuição da string.


PHP ::: PHP + MySQL ::: MySQL Improved Extension (mysqli)

Como estabelecer uma conexão PHP + MySQL (Improved Extension (mysqli)) no modo Programação Orientada a Objetos - Atualizado

Quantidade de visualizações: 10222 vezes
Nesta dica eu mostro como fazer uma conexão PHP + MySQL usando a extensão mysqli no modo POO (Programação Orientada a Objetos). Este modelo difere do modelo procedimental porque, em orientação a objetos, nós criamos um novo objeto da classe mysqli, em vez de simplesmente chamar a função mysqli_connect().

Veja o código completo:

<?
  // constrói um novo objeto mysqli chamado conexao
  $conexao = new mysqli("localhost", "root",
    "osmar1234", "estudos");
 
  // testa se a conexão foi efetuada com sucesso
  if(mysqli_connect_errno()){
    die("Houve um erro de conexão: " . mysqli_connect_error());
  } 
  else{
    print "Conexão com " . $conexao->host_info 
      . " efetuada com sucesso.";
  } 

  // fecha a conexão com o banco de dados
  $conexao->close(); // fecha a conexão
?>

Se os parâmetros de conexão estiverem corretos, o seguinte resultado será exibido:

Conexão com localhost via TCP/IP efetuada com sucesso.

Esta dica foi revisada e atualizada para o PHP 8.


MySQL ::: Dicas & Truques ::: Data e Hora

Como usar a função NOW() para obter a data e hora atual do servidor MySQL

Quantidade de visualizações: 28128 vezes
As funções CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP, LOCALTIME(), LOCALTIME, LOCALTIMESTAMP e LOCALTIMESTAMP() são sinônimos da função NOW().

A função NOW() pode ser usada para obter a data e hora atual do servidor MySQL como um valor no formato 'YYYY-MM-DD HH:MM:SS' ou YYYYMMDDHHMMSS.uuuuuu, dependendo se a função é usada em um contexto string ou numérico. O valor retornado é expresso no fuso horário atual do servidor. Veja:

SELECT NOW()


O valor retornado é algo como 2008-03-30 23:18:34. Observe agora uma chamada a esta função em um contexto numérico:

SELECT NOW() + 0

O resultado será algo como 20080430232607.000000.


Java ::: Dicas & Truques ::: Strings e Caracteres

Como converter uma string para letras maiúsculas em Java - Como transformar uma string em maiúsculas usando o método toUpperCase() da classe String

Quantidade de visualizações: 25 vezes
A classe String nos fornece o toUpperCase() que converte todas as letras em um texto para letras maiúsculas e nos retorna o resultado de acordo com o locale padrão. Este método é semelhante à toUpperCase(Locale.getDefault()).

Veja um exemplo de como transformar todas as letras de uma frase para letras maiúsculas:

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    String original = "Onde posso aprender a programar em Java?";
    // vamos convertar para letras maísculas
    String maiusculas = original.toUpperCase();
      
    // vamos mostrar o resultado
    System.out.println("String original: " + original);
    System.out.println("Em letras maiúsculas: " + maiusculas);
     
    System.exit(0);
  }
} 

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

String original: Onde posso aprender a programar em Java?
Em letras maiúsculas: ONDE POSSO APRENDER A PROGRAMAR EM JAVA?

Esta dica foi revisada e atualizada para o Java 8.


C++ ::: Dicas & Truques ::: Strings e Caracteres

Como acessar os caracteres de uma string C++ individualmente usando um iterador

Quantidade de visualizações: 11190 vezes
Nesta dica mostrarei como podemos usar um iterador para percorrer todos os caracteres de uma palavra, frase ou texto em C++. Para isso nós vamos combinar um iterator e as funções begin() e end().

Veja o código C++ completo para o exemplo:

#include <string>
#include <iostream>
 
using namespace std;
 
// função principal do programa C++ 
int main(int argc, char *argv[]){
  // vamos declarar um objeto da classe string
  string palavra("FACULDADE");
  
  // agora criamos um iterador para a string
  string::iterator it;
   
  // e usamos um laço for para percorrer o iterador
  // do início ao fim 
  for(it = palavra.begin(); it < palavra.end(); it++){
    // e mostramos os caracteres individuais
    cout << *it << "\n";
  } 
     
  cout << "\n" << endl;	    
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

F
A
C
U
L
D
A
D
E


Python ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em Python

Quantidade de visualizações: 2816 vezes
Todos estamos acostumados com o Teorema de Pitágoras, que diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos". Baseado nessa informação, fica fácil retornar a medida do cateto oposto quando temos as medidas da hipotenusa e do cateto adjascente. Isso, claro, via programação em linguagem Python.

Comece observando a imagem a seguir:



Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. A medida da hipotenusa é, sem arredondamentos, 36.056 metros.

Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras):

\[c^2 = a^2 + b^2\]

Tudo que temos que fazer é mudar a fórmula para:

\[a^2 = c^2 - b^2\]

Veja que agora o quadrado do cateto oposto é igual ao quadrado da hipotenusa menos o quadrado do cateto adjascente. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo.

Veja agora como esse cálculo é feito em linguagem Python:

# vamos importar o módulo Math
import math as math

def main():
  c = 36.056 # medida da hipotenusa
  b = 30 # medida do cateto adjascente
  
  # agora vamos calcular o comprimento da cateto oposto
  a = math.sqrt(math.pow(c, 2) - math.pow(b, 2))
 
  # e mostramos o resultado
  print("A medida do cateto oposto é: %f" % a)
  
if __name__== "__main__":
  main()

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

A medida do cateto oposto é: 20.000878

Como podemos ver, o resultado retornado com o código Python confere com os valores da imagem apresentada.

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á 32 usuários muito felizes estudando em nosso site.