Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Física - Mecânica - Movimento Retilíneo Uniforme (MRU)

Exercícios Resolvidos de Física usando Java - (Unitau) Uma motocicleta com velocidade constante de 20 m/s ultrapassa um trem de comprimento 100 m e velocidade 15 m/s. A duração da ultrapassagem... - Desafio de Programação Resolvido em Java

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

(Unitau) Uma motocicleta com velocidade constante de 20 m/s ultrapassa um trem de comprimento 100 m e velocidade 15 m/s. A duração da ultrapassagem é:

a) 5 s.

b) 15 s.

c) 20 s.

d) 25 s.

e) 30 s.

Resposta/Solução:

Os problemas de Movimento Retilíneo Uniforme (MRU) que envolvem ultrapassagem e encontro de partículas (carros, bicicletas, atletas, etc) são muito interessantes, pois retratam situações que vivenciamos todos os dias. E a Física é bem mais fácil de entender quando seus efeitos podem ser visualizados na prática.

Para entender bem a resolução deste exercício, e de vários outros que são bem parecidos, tirando alguns detalhes complementares, vamos começar desenhando o cenário abaixo:



Note que o enunciado não fala as dimensões da moto, ou seja, ela é tratada como uma partícula qualquer. Podemos levar essa idéia para o trem também, tratanto a frente dele como uma partícula. Dessa forma, temos que a partícula trem está 100 metros a frente da partícula moto.

O primeiro passo então, é obter as posições iniciais das duas particulas usando a Função Horária da Posição ou Deslocamento em Movimento Retilíneo Uniforme - MRU, tomando como referencial o instante t = 0. Veja o código Java a seguir:

package arquivodecodigos;

public class Estudos{
  public static void main(String args[]){
    // valocidade da moto
    double vMoto = 20; // em metros por segundo    
    // valocidade do trem
    double vTrem = 15; // em metros por segundo
    
    // posição inicial dos dois veículos
    // a partícula trem está 100 metros a frente da
    // partícula moto
    double sInicialMoto = 0;
    double sInicialTrem = 100;
    
......


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

A posição da moto é: 0.0 metros
A posição do trem é: 100.0 metros

Lembre-se de que nós estamos trabalhando apenas com a frente do trem, ou seja, a partícula trem está 100 metros a frente da partícula moto.

De posse da Função Horária da Posição dos dois veículos, só precisamos aplicar a fórmula para obtenção do tempo gasto na ultrapassagem, que é a variação da posição dividida pela variação da velocidade, subtraindo sempre o menor do maior. Veja o código Java:

package arquivodecodigos;

public class Estudos{
  public static void main(String args[]){
    // valocidade da moto
    double vMoto = 20; // em metros por segundo    
    // valocidade do trem
    double vTrem = 15; // em metros por segundo
    
    // posição inicial dos dois veículos
    // a partícula trem está 100 metros a frente da
    // partícula moto
    double sInicialMoto = 0;
    double sInicialTrem = 100;
    
    // tempo inicial em segundos
    double tempo_inicial = 0;
    
    // calcula a posição atual dos dois veículos
    double sMoto = sInicialMoto + (vMoto * tempo_inicial);
......


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

A posição da moto é: 0.0 metros
A posição do trem é: 100.0 metros
A duração da ultrapassagem é: 20.0 segundos

Como podemos ver, a resposta correta é a letra c (20 s). Agora, experimente fazer alterações no código Java para simular outras situações e melhorar seu entendimento de Movimento Retilíneo Uniforme.

Link para compartilhar na Internet ou com seus amigos:

jQuery ::: Dicas & Truques ::: Manipulação e Conteúdo Dinâmico

Como definir o conteúdo de um elemento HTML usando o método text() do jQuery

Quantidade de visualizações: 6927 vezes
O método text("conteudo") nos permite definir o conteúdo de um elemento HTML de forma muito simplificada. Veja um trecho de código que define o conteúdo de uma DIV com o id "div_1":

<script type="text/javascript">
<!--
  function definirTexto(){
    var texto = "Veja este texto";
......


Lembre-se de que este método atuará em todos os elementos retornados sob uma determinada condição. Observe ainda que este método substitui "<" e ">" por "&lt;" e "&gt;".

O retorno deste método é um objeto jQuery, que pode ser usado para possíveis encadeamentos de chamadas de métodos.


Python ::: Fundamentos da Linguagem ::: Estruturas de Controle

Python para iniciantes - Como contar de 0 a 10 usando o laço for da linguagem Python

Quantidade de visualizações: 10013 vezes
Nesta dica veremos como usar o loop for da linguagem Python para contar de 0 até 10. É um exemplo bem simples, mas serve para nos lembrar da sintáxe dessa construção.

Veja o código completo:

# função principal do programa
def main():
  for i in range(11):
    print(i, end = "  ")
......


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

0 1 2 3 4 5 6 7 8 9 10


Delphi ::: VCL - Visual Component Library ::: TListBox

Como usar um laço for para pesquisar valores nos itens de uma ListBox do Delphi

Quantidade de visualizações: 12392 vezes
Nesta dica mostro como é possível pesquisar valores nos itens de uma ListBox. Note que, se o valor pesquisado for encontrado, nós o selecionamos na lista e informamos seu índice. Se não for encontrado nós ajustamos uma variável Boolean e avisamos do não sucesso da operação. Finalmente note que este código faz diferenciação de letras maiúsculas e minúsculas, ou seja, Osmar será diferente de OSMAR. Veja o código:

procedure TForm1.Button2Click(Sender: TObject);
var
  i: Integer;
  pesquisa: string;
  encontrou: Boolean;
begin
  // vamos solicitar o texto a ser pesquisado na ListBox
  pesquisa := InputBox('Pesquisar', 'Informe o texto', '');
  encontrou := false;

  // vamos usar um laço for para percorrer todos os itens
  // da ListBox
  for i := 0 to ListBox1.Count - 1 do
    begin
      if ListBox1.Items[i] = pesquisa then
......


Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Python ::: Dicas & Truques ::: Matemática e Estatística

Como calcular desvio padrão em Python - Python para Matemática e Estatística

Quantidade de visualizações: 4693 vezes
Em Matemática e Estatística, o Desvio padrão (em inglês: Standard Deviation) é uma medida de dispersão, ou seja, é uma medida que indica o quanto um conjunto de dados é uniforme. Quando o desvio padrão é baixo, isso quer dizer que os dados do conjunto estão mais próximos da média.

Como calcular o desvio padrão de um conjunto de dados? Vamos começar analisando a fórmula mais difundida na matemática e na estatística:

\[\sigma = \sqrt{ \frac{\sum_{i=1}^N (x_i -\mu)^2}{N}}\]

Onde:

a) __$\sigma__$ é o desvio;
b) __$x_i__$ é um valor qualquer no conjunto de dados na posição i;
c) __$\mu__$ é a média aritmética dos valores do conjunto de dados;
d) N é a quantidade de valores no conjunto.

O somatório dentro da raiz quadrada nos diz que devemos somar todos os elementos do conjunto, desde a posição 1 até a posição n, subtrair cada valor pela média do conjunto e elevar ao quadrado. Obtida a soma, nós a dividimos pelo tamanho do conjunto.

Veja o código Python completo que obtém o desvio padrão a partir de um conjunto de dados contendo quatro valores:

# precisamos importar o módulo Math
import math

# função principal do programa
def main():
  # conjunto dos dados
  conjunto = [10, 30, 90, 30]
  soma = 0.0 # soma dos elementos
  desvio_padrao = 0.0 # desvio padrão
  tam = len(conjunto) # tamanho dos dados

  # vamos somar todos os elementos
  for i in range(0, tam):
    soma = soma + conjunto[i]
  
  # agora obtemos a média do conjunto de dados    
......


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

Desvio Padrão Populacional: 30.0
Desvio Padrão Amostral: 34.64101615137755

Veja que, para calcular o Desvio Padrão Populacional, nós dividimos o somatório pela quantidade de elementos no conjunto, enquanto, para calcular o Desvio Padrão Amostral, nós dividimos o somatório pela quantidade de elementos - 1 (cuidado com a divisão por zero no caso de um conjunto com apenas um elemento).


PHP ::: Dicas & Truques ::: Data e Hora

Como gerar um calendário mensal completo para um determinado mês e ano usando PHP

Quantidade de visualizações: 1467 vezes
Nesta dica eu mostro como podemos usar as principais funções de data e hora da linguagem PHP para montar um calendário PHP completo (com comentários e fácil de modificar). Basta passar um mês e ano e a função se encarrega do restante.

Este código é muito útil em aplicações PHP para escolas, faculdades, sistemas financeiros, etc. Veja o resultado na imagem abaixo:



E agora o código completo:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>

<?php
  // função que permite montar o calendário
  function montar_calendario($mes, $ano){
    // um vetor para guardar os meses
    $meses = array(1 => 'Janeiro', 2 => 'Fevereiro', 
      3 => 'Março', 4 => 'Abril', 5 => 'Maio', 
      6 => 'Junho', 7 => 'Julho', 8 => 'Agosto', 
      9 => 'Setembro', 10 => 'Outubro', 11 => 'Novembro',
      12 => 'Dezembro');
  
    // um vetor com os dias da semana
    $dias_semana = array('Dom', 'Seg', 'Ter', 'Qua',
      'Qui', 'Sex', 'Sáb');
  
    // vamos obter o primeiro dia do calendário
    $primeiro_dia = mktime(0, 0, 0, $mes, 1, $ano);
    // obtém a quantidade de dias no mês  
    $dias_mes = date('t', $primeiro_dia);  
    // dia da semana que o calendário inicia (começa em 0)
    $dia_inicio = date('w', $primeiro_dia);
    
    // cria a tabela HTML para o calendário
    echo '<table border="1" cellspacing="0" cellpadding="4">
      <tr><th colspan="7">'. $meses[$mes] . ' - ' . 
       $ano . '</th>
      </tr>
      <tr><td align="center">';
       echo implode('</td><td align="center">', $dias_semana);
    echo '</td></tr>';
   
    // precisamos de células vazias até encontrarmos
    // o dia inicial da semana
    if($dia_inicio > 0){ 
      for($i = 0; $i < $dia_inicio; $i++){ 
        echo '<td>&nbsp;</td>'; 
......



Desafios, Exercícios e Algoritmos Resolvidos de PHP

Veja mais Dicas e truques de PHP

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

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



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