Pesquisar este blog

Livros Recomendados

Mostrando postagens com marcador 2780. Mostrar todas as postagens
Mostrando postagens com marcador 2780. Mostrar todas as postagens

sexta-feira, 19 de março de 2021

URI (BEECROWD) - 2780 - Basquete de Robôs - Iniciante - C e C++

Solução do exercício "Basquete de Robôs" disponível abaixo. Exercício bom para iniciantes!

Plataforma: URI (BEECROWD)

Problema2780

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;
}

Código em C++:

#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;
}

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas