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: 5143 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:

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

Tutorial C# para iniciantes - Como escrever seu primeiro método ou função em C#

Quantidade de visualizações: 15119 vezes
À medida que estamos desenvolvendo nossos códigos, percebemos que estes podem ser divididos de acordo com suas funcionalidades. Ao efetuar esta divisão, estamos na verdade criando blocos de códigos que executam uma determinada tarefa. E, descobrimos que tais blocos de códigos podem ser reaproveitados com frequencia em um mesmo programa. Assim, ao mecanismo usado para disparar a execução destes blocos de códigos é dado o nome de método (ou função em linguagens tais como C e C++).

Um método, em sua forma mais simples, é apenas um conjunto de instruções que podem ser chamadas a partir de locais estratégicos de um programa. Veja um exemplo:

// um método que não recebe nenhum argumento
// e não retorna nenhum valor
......


Este método apenas exibe o texto "Sou um método". Veja o uso das chaves { e } para delimitar a área de atuação do método (o corpo do método). A palavra-chave void indica que este método não retorna nenhum valor ao finalizar sua execução enquanto a palavra-chave static é melhor explicada na nossa seção sobre modificadores em C#. Todos os métodos em C# possuem parênteses, os quais servem como marcadores para a lista de parâmetros do método. Parênteses vazios indicam que o método não possui parâmetros.[br][br]

Veja agora um trecho de código completo exemplificando a chamada ao método recém-criado:

// um método que não recebe nenhum argumento
// e não retorna nenhum valor
static void metodo(){
  Console.WriteLine("Sou um método");
}

static void Main(string[] args){
......



Python ::: Dicas & Truques ::: Lista (List)

Como ordenar uma lista de inteiros em Python de acordo com a soma dos dígitos de seus elementos usando uma função lambda

Quantidade de visualizações: 522 vezes
Nesta dica mostrarei como podemos usar uma função lambda em Python para ordenar uma lista de inteiros de acordo com a soma dos seus dígitos. Este é um código muito interessante e que permitirá um melhor entendimento de funções lambda em Python.

Veja o código completo para o exemplo:

# método usado para ordenar a lista de acordo com a soma
# de seus dígitos
def ordenar(vetor):
  return sorted(vetor, key=lambda n: sum(int(c) for c in str(n) if c != "-"))

# função principal do programa
def main():
  # vamos criar uma lista de inteiros
  valores = [21, 10, 8, 32, 70, 41, 40, 11]
......


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

Lista na ordem original: [21, 10, 8, 32, 70, 41, 40, 11]
Lista ordenada: [10, 11, 21, 40, 32, 41, 70, 8]


PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como adicionar novos elementos a um array PHP usando a notação [] - Adicionando elementos ao final de um array PHP

Quantidade de visualizações: 15617 vezes
Em várias situações nós precisamos incluir novos elementos ao final de um vetor (array) PHP. Para isso nós podemos usar a notação [], que adiciona o novo vetor e incrementa seu índice automaticamente.

Veja um exemplo completo no qual declaramos um vetor e em seguida usamos a notação [] para adicionar três elementos ao seu final:

<?
// vamos declarar o vetor
$pessoas = array();

// define o elemento no índice 0
$pessoas[] = "Osmar J. Silva";
 
// define o elemento no índice 1
$pessoas[] = "Salvador M. Andrade";
......


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

array(3) { [0]=> string(14) "Osmar J. Silva" [1]=> string(19) "Salvador M. Andrade" [2]=> string(24) "Dyego Fernandes de Sousa" }

Esta dica foi revisada e testado no PHP 8.


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

Como elevar uma base a um determinado expoente usando a função pow() da linguagem C

Quantidade de visualizações: 1902 vezes
Em algumas situações nós precisamos efetuar cálculos de potenciação em C, ou seja, elevar um número (uma base) a um determinado expoente e obter sua potência. Veja a figura a seguir:



Veja que aqui o valor 5 foi elevado ao cubo, ou seja, ao expoente 3 e obtemos como resultado sua potência: 125.

A linguagem C nos fornece a função pow(), presente no header math.h que recebe como argumentos a base e o expoente e nos retorna a potência (como um valor double). Veja um exemplo de seu uso no código abaixo:

#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char *argv[]){
  int base = 4;
  int expoente = 5;
  double potencia = pow(4, 5);
......


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

A base 4 elevada ao expoente 5 é igual à potência 1024.000000

Note que a função pow() da linguagem C retorna um valor double.


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

Como abrir um arquivo em PHP - Passos necessários para abrir um arquivo usando PHP

Quantidade de visualizações: 17886 vezes
Nesta dica mostrarei os passos necessários para abrir um arquivo usando PHP. Note que usei a função file_exists() para verificar se o caminho e nome do arquivo indicados existem no sistema. Em seguida efetuamos uma chamada à função fopen() indicando que o arquivo será aberto no modo leitura.

Veja como coloquei todo o código em uma exceção try..catch. Usar exceções em PHP é a melhor forma de garantir que seus códigos responderão corretamente a eventos inesperados.

Veja o código completo para o exemplo:

<?php
// Informe o nome do arquivo que você deseja abrir
$arquivo = "c:\\estudos_php\\teste.txt";

// Use a função file_exists() para confirmar a existência do
// do arquivo.
if(file_exists($arquivo)){
  // Tente abrir o arquivo (neste exemplo vamos abrí-lo para leitura)
  try{
    if($readfile = fopen($arquivo, "r")){
      // Já podemos manipular o arquivo.
......


Ao executar este código PHP nós teremos duas situações. Se o arquivo existir, a mensagem "Arquivo aberto com sucesso." será exibida. Se o arquivo não existir, a mensagem "Arquivo não existe".

Há ainda uma terceira mensagem, que será exibida caso a exceção for atirada, indicando que o arquivo não pôde ser aberto por alguma outra razão.


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