Solução do exercício "Basquete de Robôs" disponível abaixo. Exercício bom para iniciantes!
Plataforma: URI (BEECROWD)
Problema: 2780
Enunciado:
A organização da OIBR, Olimpíada Internacional de Basquete de Robô, está começando a ter problemas com dois times: os Bit Warriors e os Byte Bulls. É que os robôs desses times acertam quase todos os lan- çamentos, de qualquer posição na quadra! Pensando bem, o jogo de basquete ficaria mesmo sem graça se jogadores conseguissem acertar qualquer lançamento, não é mesmo? Uma das medidas que a OIBR está implantando é uma nova pontuação para os lançamentos, de acordo com a distância do robô para o início da quadra. A quadra tem 2000 centímetros de comprimento, como na figura.
Dada a distância D do robô até o início da quadra, onde está a cesta, a regra é a seguinte:
• Se D ≤ 800, a cesta vale 1 ponto;
• Se 800 < D ≤ 1400, a cesta vale 2 pontos;
• Se 1400 < D ≤ 2000, a cesta vale 3 pontos.
A organização da OIBR precisa de ajuda para automatizar o placar do jogo. Dado o valor da distância D, você deve escrever um programa para calcular o número de pontos do lançamento.
Linguagens: C e C++
Solução:
Basta ler a distância e testar três condições: menor ou igual a 800 = 1, senão, menor ou igual a 1400 = 2, senão = 3.
Utilizei o tipo short int aqui pois os valores recebidos estão dentro desse intervalo. Utilizando int o exercício também fica correto, por exemplo. Tanto em C quanto em C++ a lógica empregada foi a mesma.
Código em C:
#include <stdio.h> int main() { short int distancia; scanf("%hd", &distancia); if (distancia <= 800) printf("1\n"); else if (distancia <= 1400) printf("2\n"); else printf("3\n"); return 0; }
#include <iostream> using namespace std; int main() { short int distancia; cin >> distancia; if (distancia <= 800) cout << "1" << endl; else if (distancia <= 1400) cout << "2" << endl; else cout << "3" << endl; return 0; }
Nenhum comentário:
Postar um comentário