Exercícios de Construtores - Lista de Exercícios Resolvida

Ver Teoria

Questão 5

Vamos utilizar o C++ para estudar o Movimento Retilíneo Uniformemente Variado (MRUV). Crie uma classe chamada P a r t i c u l a , onde no momento da criação de um objeto dessa classe os atributos devem ser inicializados com valor de posição inicial, velocidade inicial, e aceleração e a seguinte mensagem deve ser exibida:

D e f i n i n d o   p a r t i c u l a   n a   p o s i c a o   V A L O R ,   v e l o c i d a d e   V A L O R   e   a c e l e r a c a o   V A L O R !

Crie um método público c a l c que receba uma quantidade de tempo e calcule a posição e velocidade final, e imprima na tela resultado

Para fins de teste, crie as duas partículas abaixo e imprima o resultado delas após 10 segundos.

  • p 1 posição inicial 0, velocidade inicial 10, aceleração 2
  • p 2 posição inicial 7, velocidade inicial 15, aceleração -2
  • Assuma todas as unidades no Sistema Internacional (metros, segundos, e metros por segundo)

    Passo 1

    Vamos lá pessoal. Eu sei que a questão tem um texto grandão. Mas não se precisa se descabelar que vamos fazer com calma.

    O que a questão quer de verdade é que a gente crie a classe com um método construtor para receber os parâmetros iniciais e imprimir uma mensagem. Depois temos que criar um método de cálculo dentro da classe. E é só isso.

    Mas antes de começar, nós vamos precisar de um pouco de matemática então vamos incluir a < c m a t h > no cabeçalho.

    Passo 2

    Com o cabeçalho feito, é hora de criar a nossa classe P a r t i c u l a

    Vamos declarar as variáveis necessárias para nossos cálculos. Declaramos as variáveis posição inicial x _ 0 , velocidade inicial v _ 0 , posição final x _ f , velocidade final v _ f e aceleração a . Para evitar modificações indevidas, todas os atributos são definidos como privado.

    Passo 3

    Agora vamos desenvolver o construtor.

    A principal função do método construtor é inicializar os atributos da classe, e é isso que iremos fazer aqui.

    Iniciamos uma função sem tipo com o nome P a r t i c u l a e nessa função vamos receber três parâmetros do tipo f l o a t chamadas X _ 0 , V _ 0 e A . Os valores inseridos no parâmetro da função são utilizados para preencher os atributos das classes, como fazemos nas linhas 15 a 17.

    Em seguida o nosso construtor irá exibir uma mensagem sempre que um novo objeto for instanciado. Na linha 19 utilizamos a função c o u t para imprimir a mensagem.

    Com o construtor definido, podemos garantir que sempre que um novo objeto for criado, os seus principais atributos estarão preenchidos.

    Passo 4

    Passamos agora pro nosso método de cálculo. Mas antes de entrar nele, vamos relembrar as equações utilizadas no movimento retilíneo uniformemente variado:

    v f = v 0 + a ⋅ t x f = x 0 + v 0 ⋅ t + a ⋅ t 2 2

    A função c a l c vai recebe o valor do tempo t , e executa as equações do MRUV.

    Na linha 25 efetuamos o cálculo da velocidade final e guardamos o resultado no atributo v _ f . Em seguida, na linha 26 efetuamos o cálculo da posição final e guardamos o resultado no atributo x _ f .

    Em seguida, o método deve exibir para o usuário o resultado dos cálculos. Então nas linhas 29 e 30 utilizamos o comando c o u t para exibir duas mensagens contendo os valores da velocidade final e posição final.

    Com o método c a l c definido a nossa classe está concluída e pronta pra uso.

    Passo 5

    Para finalizar a questão vamos executar os testes.

    Primeiro vamos instanciar dois objetos da classe P a r t i c u l a chamados p 1 e p 2 cujo os valores já são definidos no enunciado da questão:

  • p 1 posição inicial 0, velocidade inicial 10, aceleração 2
  • p 2 posição inicial 7, velocidade inicial 15, aceleração -2

Em nosso código temos:

Agora que temos duas partículas criadas, vamos executar o método c a l c de cada um dos objetos para t = 10 .

E com isso finalizamos a nossa questão!

Ver solução completa