Fala galera da programação, tudo beleza?
Todos gostamos de uma boa promoção, não é verdade? E uma das formas de oferta é o deve X e pague por Y. neste nosso exercício uma loja está fazendo o leve 3 e pague por 2.
O desafio é ler a quantidade de unidades que um consumidor está comprando e descobrir quantas unidades ele realmente vai pagar.
Este exercício é bem interessante para desenvolver nosso raciocínio lógico.
Exemplos de saída:
Comprando 1, será pago 1;
Comprando 2; serão pagos 2;
Comprando 3, serão pagos 2;
Comprando 4, serão pagos 3;
Comprando 5, serão pagos 4;
Comprando 6, serão pagos 4;
E assim por diante.
Ou seja, a cada 3 unidades compradas, uma vem de brinde.
Dica: Utilize operações de divisão inteira e resto da divisão inteira.
Beleza, então vamos ao código:
/****************************************************************************** Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br *******************************************************************************/ #include <iostream> int main() { // Variável para armazenar a quantidade de itens comprados int quantidade; // Solicitar a quantidade de itens ao usuário std::cout << "Digite a quantidade de itens comprados: "; std::cin >> quantidade; // Calcular o número de itens a serem pagos com base na promoção int itensPagos = (quantidade / 3) * 2 + (quantidade % 3); // Exibir o resultado std::cout << "Itens a serem pagos: " << itensPagos << std::endl; return 0; }
Este programa usa a operação de divisão inteira (/
) para calcular quantos conjuntos completos de 3 itens o usuário comprou e multiplica esse valor por 2 (já que a promoção é “leve 3 pague 2”). Em seguida, adiciona o resto da divisão inteira (%
) por 3 para contar os itens restantes que não formam um conjunto completo.
/****************************************************************************** Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br *******************************************************************************/ #include <stdio.h> int main() { // Variável para armazenar a quantidade de itens comprados int quantidade; // Solicitar a quantidade de itens ao usuário printf("Digite a quantidade de itens comprados: "); scanf("%d", &quantidade); // Calcular o número de itens a serem pagos com base na promoção int itensPagos = (quantidade / 3) * 2 + (quantidade % 3); // Exibir o resultado printf("Itens a serem pagos: %d\n", itensPagos); return 0; }
O código em C é bastante semelhante ao código em C++. A principal diferença está na forma como as entradas e saídas são tratadas (usando printf
e scanf
em vez de std::cout
e std::cin
). Um ponto interessante é que este código em C é totalmente compatível em C++.
{ Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br } program PromocaoLeve3Pague2; var quantidade, itensPagos: Integer; begin // Solicitar a quantidade de itens ao usuário Write('Digite a quantidade de itens comprados: '); Readln(quantidade); // Calcular o número de itens a serem pagos com base na promoção itensPagos := (quantidade div 3) * 2 + (quantidade mod 3); // Exibir o resultado Writeln('Itens a serem pagos: ', itensPagos); end.
Este programa em Pascal faz praticamente a mesma coisa que os exemplos em C e C++. Ele usa Readln
para obter a entrada do usuário e Write
e Writeln
para exibir os resultados.
''' Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br ''' # Solicitar a quantidade de itens ao usuário quantidade = int(input("Digite a quantidade de itens comprados: ")) # Calcular o número de itens a serem pagos com base na promoção itens_pagos = (quantidade // 3) * 2 + (quantidade % 3) # Exibir o resultado print("Itens a serem pagos:", itens_pagos)
O código em Python é mais conciso e utiliza a função input
para obter a entrada do usuário e a função print
para exibir os resultados. O operador //
realiza a divisão inteira, e o operador %
retorna o resto da divisão.
/****************************************************************************** Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br *******************************************************************************/ using System; class Program { static void Main() { // Solicitar a quantidade de itens ao usuário Console.Write("Digite a quantidade de itens comprados: "); int quantidade = Convert.ToInt32(Console.ReadLine()); // Calcular o número de itens a serem pagos com base na promoção int itensPagos = (quantidade / 3) * 2 + (quantidade % 3); // Exibir o resultado Console.WriteLine("Itens a serem pagos: " + itensPagos); } }
Neste código em C#, Console.ReadLine()
é utilizado para obter a entrada do usuário, Convert.ToInt32
para converter a entrada para um número inteiro e Console.WriteLine
para exibir os resultados.
/****************************************************************************** Criado pelo Professor Giovani Da Cruz https://giovanidacruz.com.br *******************************************************************************/ import java.util.Scanner; public class Leve3Pague2 { public static void main(String[] args) { // Criar um objeto Scanner para obter a entrada do usuário Scanner scanner = new Scanner(System.in); // Solicitar a quantidade de itens ao usuário System.out.print("Digite a quantidade de itens comprados: "); int quantidade = scanner.nextInt(); // Calcular o número de itens a serem pagos com base na promoção int itensPagos = (quantidade / 3) * 2 + (quantidade % 3); // Exibir o resultado System.out.println("Itens a serem pagos: " + itensPagos); // Fechar o Scanner para evitar vazamento de recursos scanner.close(); } }
Neste código em Java, Scanner
é utilizado para obter a entrada do usuário, e o método nextInt
é usado para converter a entrada para um número inteiro. O resultado é então exibido usando System.out.println
.
Beleza pessoal? Espero que tenham gostado.
Dúvidas ou sugestões de linguagens e melhorias? Deixe o seu comentário.
Um abraço e até o próximo post. Valeu.
#giovanidacruz
Está gostando do conteúdo?
Considere pagar um cafezinho para nossa equipe!