Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o ângulo entre os ponteiros de horas e minutos em um relógio analógico - Desafio de Programação Resolvido em C++Quantidade de visualizações: 604 vezes |
Pergunta/Tarefa: Este exercício é um desafio que aparece com muita frequência em entrevistas para programadores. Trata-se de uma tarefa na qual você deverá pedir para o usuário informar o valor das horas (no formato 12 ou 24 horas) e os minutos (de 0 a 59) e retornar o ângulo, em graus, do ponteiro das horas em relação ao ponteiro dos minutos. Este desafio é muito interessante, pois serve como base para a criação de um relógio analógico que se atualiza sozinho, a cada segundo decorrido. Em mais dicas do site nós mostramos como isso pode ser feito. Antes da resolução do exercício você deve se lembrar que haverá dois ângulos: o ângulo que vai do ponteiro de horas para o ponteiro dos minutos e o ângulo que vai do ponteiro dos minutos para o ponteiro das horas. O exercício pede apenas o primeiro. Sua saída deverá ser parecida com: Informe as horas: 9 Informe os minutos: 0 O ângulo entre os dois ponteiros é: 90 graus. Veja a resolução comentada deste exercício em C++: #include <string> #include <iostream> #include <math.h> using namespace std; // protótipo da função que recebe as horas e minutos e // retorna o ângulo entre os dois ponteiros do relógio // analógico int calcular_angulo(int horas, int minutos); int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema int horas, minutos, angulo; // vamos pedir para o usuário as horas cout << "Informe as horas: "; cin >> horas; // vamos pedir para o usuário informar os minutos cout << "Informe os minutos: "; cin >> minutos; // vamos calcular o ângulo entre os ponteiros de horas // e minutos no relógio analógico angulo = calcular_angulo(horas, minutos); // e mostramos o resultado cout << "O ângulo entre os dois ponteiros é: " << angulo << " graus" << endl; ...... |
![]() |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
VB.NET - Como calcular o coeficiente angular de uma reta em VB.NET dados dois pontos no plano cartesiano |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |