[OT?] Programa para calcular o consumo de sacolinhas de supermercado

342 views
Skip to first unread message

Régis Silva

unread,
Apr 29, 2015, 7:22:11 AM4/29/15
to python...@googlegroups.com
Primeiro: não é exercício de faculdade!

Segundo: é uma ideia, de iniciativa própria, apenas para conscientização da comunidade sobre problemas reais do dia a dia.

Terceiro: vamos postar em algum lugar, gist por exemplo, para compartilhar o conhecimento.


Enunciado (me ajudem a melhora-lo): Faça um programa (qq linguagem) que calcule o valor gasto pelo consumidor, conforme as regras abaixo:

1) cada consumidor terá direito a até 2 sacolinhas por compra gratuitamente.
2) a partir da terceira sacolinha será cobrado um valor de R$ 0,08 por sacolinha.
3) os consumidores que levarem sua própria sacola terão desconto acumulativo de R$ 0,03 a cada 5 itens adquiridos, ou a cada compra no valor de R$ 30,00, também acumulativo.

Lidiane Monteiro

unread,
Apr 29, 2015, 7:55:19 AM4/29/15
to python...@googlegroups.com
Como o supermercado registra seus clientes? Exemplo, aqui onde moro posso fazer uma compra em dinheiro, pagar e não tem como saber que foi eu que fiz a compra. Em SP há um cadastro dos clientes? 

Linux - Junior Polegato

unread,
Apr 29, 2015, 8:23:27 AM4/29/15
to python...@googlegroups.com
On 29-04-2015 08:55, Lidiane Monteiro wrote:
> Como o supermercado registra seus clientes? Exemplo, aqui onde moro
> posso fazer uma compra em dinheiro, pagar e não tem como saber que foi
> eu que fiz a compra. Em SP há um cadastro dos clientes?

Olá!

Como já está em off, minha opinião: acho isso uma sacanagem,
pois as sacolas já estão com o custo diluído na formação de preço dos
produtos, contudo quanto tiraram estas de circulação, os produtos não
diminuíram um centavo.

Agora com as biodegradáveis, com até cor para separa o lixo,
incentivando a reciclagem, visto que todos que conheço reutilizam essas
sacolas, seja pra colocar/separar lixo, cocô do cachorro, colocar coisas
pra dar para alguém, eu coloco calçados e roupas sujas para ficarem
"isolados" na mala/mochila, e outros inúmeros usos, não conheço ninguém
que simplesmente pega a sacola e a joga fora.

Vejo então por outro lado, sem sacola, ter-se-ão essas pessoas
que comprar sacos de lixo, quase certeza plástico não biodegradável,
muito mais caro, e vai causar uma poluição ainda maior, além de
"prejuízo" financeiro à população, principalmente a carente que utiliza
muito essas sacolas.

Melhor mesmo os mercados colocarem essas sacolas no custo
operacional (que na minha humilde visão, já estão), disponibilizar
também as caixas de papelão, que os mercados juntam e vendem, e assim
nem a população nem o meio ambiente serão tão prejudicados, meu ponto de
vista.

--

[]'s

Junior Polegato

Eduardo Klosowski

unread,
Apr 29, 2015, 8:33:49 AM4/29/15
to python...@googlegroups.com
A onde moro teve uma vez uma promoção que a cada x reais em compras
ganhava um cupom ou algo assim. Era possível fazer várias compras
pequenas e juntar os recibos para pegar os cupons, que quando utilizados
recebiam um carimbo. Desta forma não foi necessário nenhum cadastro.

GitHub: https://github.com/eduardoklosowski/
Blog: https://eduardoklosowski.wordpress.com/
Podcast: http://www.piratasdainternet.com.br/

On 29-04-2015 08:55, Lidiane Monteiro wrote:
> Como o supermercado registra seus clientes? Exemplo, aqui onde moro
> posso fazer uma compra em dinheiro, pagar e não tem como saber que foi
> eu que fiz a compra. Em SP há um cadastro dos clientes?
>
> Em quarta-feira, 29 de abril de 2015 08:22:11 UTC-3, Régis Silva escreveu:
>
> Primeiro: não é exercício de faculdade!
>
> Segundo: é uma ideia, de iniciativa própria, apenas para
> conscientização da comunidade sobre problemas reais do dia a dia.
>
> Terceiro: vamos postar em algum lugar, gist por exemplo, para
> compartilhar o conhecimento.
>
> Leiam
> supermercados-em-sp-darao-duas-sacolinhas-consumidor-por-dois-meses
> <http://www.valor.com.br/empresas/4025496/supermercados-em-sp-darao-duas-sacolinhas-consumidor-por-dois-meses>
>
> Enunciado (me ajudem a melhora-lo): Faça um programa (qq linguagem)
> que calcule o valor gasto pelo consumidor, conforme as regras abaixo:
>
> 1) cada consumidor terá direito a até 2 sacolinhas por compra
> gratuitamente.
> 2) a partir da terceira sacolinha será cobrado um valor de R$ 0,08
> por sacolinha.
> 3) os consumidores que levarem sua própria sacola terão desconto
> acumulativo de R$ 0,03 a cada 5 itens adquiridos, ou a cada compra
> no valor de R$ 30,00, também acumulativo.
>
> --
> --
> ------------------------------------
> Grupo Python-Brasil
> http://www.python.org.br/wiki/AntesDePerguntar
>
> <*> Para visitar o site do grupo na web, acesse:
> http://groups.google.com/group/python-brasil
>
> <*> Para sair deste grupo, envie um e-mail para:
> python-brasi...@googlegroups.com
>
> ---
> Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil"
> dos Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails dele,
> envie um e-mail para python-brasi...@googlegroups.com
> <mailto:python-brasi...@googlegroups.com>.
> Para mais opções, acesse https://groups.google.com/d/optout.

Régis Silva

unread,
Apr 29, 2015, 12:17:55 PM4/29/15
to python...@googlegroups.com
Lidiane, não tem cadastro, é apenas um exercício fictício,
não tem cliente de verdade envolvido.

E a resposta é exclusiva pra eu fazer em algum projeto,
é apenas pra discutirmos a lógica de programação estruturada envolvida mesmo.

Alguém quer tentar resolver o algoritmo?



Regis da Silva / Web Developer 
regis ponto santos ponto 100 at gmail ponto com

Linkedin GitHub Google Plus Twitter


--- Você recebeu esta mensagem porque está inscrito em um tópico do grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse tópico, acesse https://groups.google.com/d/topic/python-brasil/Cu_JkPSMebs/unsubscribe.
Para cancelar inscrição nesse grupo e todos os seus tópicos, envie um e-mail para python-brasi...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/d/optout.

Linux - Junior Polegato

unread,
Apr 29, 2015, 4:02:25 PM4/29/15
to python...@googlegroups.com
On 29-04-2015 13:17, Régis Silva wrote:
Lidiane, não tem cadastro, é apenas um exercício fictício,
não tem cliente de verdade envolvido.
E a resposta é exclusiva pra eu fazer em algum projeto,
é apenas pra discutirmos a lógica de programação estruturada envolvida mesmo.
Alguém quer tentar resolver o algoritmo?
[...]

    Enunciado (me ajudem a melhora-lo): Faça um programa (qq linguagem)
    que calcule o valor gasto pelo consumidor, conforme as regras abaixo:

    1) cada consumidor terá direito a até 2 sacolinhas por compra
    gratuitamente.
    2) a partir da terceira sacolinha será cobrado um valor de R$ 0,08
    por sacolinha.
    3) os consumidores que levarem sua própria sacola terão desconto
    acumulativo de R$ 0,03 a cada 5 itens adquiridos, ou a cada compra
    no valor de R$ 30,00, também acumulativo.


Olá!

        Supondo gastos mensal com sacolas, acho que, de bate-pronta, isso atenderia:

itens_por_compra <= perguntar quantos itens em média tem cada compra
compras_por_mes <= perguntar quantas compras em média faz por mês
valor_compras_mes <= perguntar quanto gasta em compras em média por mês

leva_sacola <= perguntar se ele leva sacola para compras

se leva_sacola, então:
    desconto <= perguntar o valor do desconto por grupo de itens ou valor
    tipo_de_desconto <= perguntar se o desconto é por grupo de itens ou valor
    se tipo_de_desconto = 'valor', então:
        valor_desconto <= perguntar o valor para ter desconto
        grupos <= parte inteira de valor_compras_mes / valor_desconto
    senão:
        itens_desconto <= perguntar quantos itens para ter desconto
        itens_mes <= compras_por_mes * itens_por_compra
        grupos <= parte inteira de itens_mes / itens_desconto
    desconto <= desconto * grupos
    escreva que o desconto com sacolas será de `desconto´
senão:
    sacolas_dadas <= perguntar quantas sacolas dadas por compra
    custo <= pergunta o valor da sacola adicional
    itens_por_sacola <= perguntar quantos itens em média cabem por sacola
    sacolas_por_compra <= arrendonda para cima itens_por_compra / itens_por_sacola - sacolas_dadas
    sacolas_mes <= sacolas_por_compra * compras_por_mes
    custo <= custo * sacolas_mes
    escreva que o custo com sacolas será de `custo´

--

[]'s

Junior Polegato

Rafaell Silva

unread,
Apr 29, 2015, 5:43:20 PM4/29/15
to python...@googlegroups.com
Mas a intenção é calcular o gasto da pessoa ou do supermercado em relação às sacolas?


Em quarta-feira, 29 de abril de 2015 08:22:11 UTC-3, Régis Silva escreveu:

Linux - Junior Polegato

unread,
Apr 29, 2015, 6:13:29 PM4/29/15
to python...@googlegroups.com

Olá!

Pelo enunciado "calcule o valor gasto pelo consumidor".

[]'s

Junior Polegato

--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.

Lidiane Monteiro

unread,
Apr 29, 2015, 6:27:20 PM4/29/15
to python...@googlegroups.com
Eduardo, 
Bacana então ser dessa forma. Não tinha pensado nessa coisa mais óbvia rsrs


Régis, 
eu entendi que era algo fictício. Havia ficado curiosa por saber como isso estava funcionando na prática a logística em SP.
E sobre o código, eu vou ler o enunciado e tentar fazer. Sou iniciante mas é assim que se aprende mais. 

Rafaell Silva

unread,
Apr 29, 2015, 7:57:11 PM4/29/15
to python...@googlegroups.com
Bom,
Então se é só pra calcular a quantidade de sacolas distribuídas no caixa bastaria fazer isso:

https://github.com/RafaellSilva/exercicios-python/blob/master/sacolas

O código não tá muito bonito, mas até onde entendi o problema penso que ele vá funcionar.


Em quarta-feira, 29 de abril de 2015 08:22:11 UTC-3, Régis Silva escreveu:

Régis Silva

unread,
Apr 29, 2015, 9:35:35 PM4/29/15
to python...@googlegroups.com
To gostando de ver pessoal, continuem...

Régis Silva

unread,
May 12, 2015, 11:54:10 PM5/12/15
to python...@googlegroups.com
A brincadeira (séria) já está valendo desde 11/05/15 até 10/07/15 em São Paulo.


Agora é minha vez:


Reparem que usei funções.

Pergunta 1: qual a maneira mais elegante de tratar o erro quando eu digito um valor menor ou igual a 2 na linha 23?

Obs 1: Creio que o texto nos dá a opção de escolher uma das 2 formas de desconto. Ou seja, escolher entre desconto a cada 5 itens adquiridos, ou a cada compra no valor de R$ 30,00 seja uma escolha do consumidor. Mas aqui eu preferi que o sistema "escolha" o desconto:
Não quero julgar quem escolhe, se o consumidor ou o supermercado, mas na vida real, provavelmente haveria confusão por parte do consumidor. Então vamos deixar o sistema "escolha".
E é claro, pensando que estamos fazendo o sistema para o supermercado, ele vai querer dar o menor desconto possível, portanto como o caixa registra a quantidade de produtos comprados e o valor total fica fácil calcular o menor desconto.

Fiz um segundo:


Aqui eu considerei uma situação real que está acontecendo numa rede de supermercados de São Paulo:
O supermercado cobra R$ 0,08 + R$ 0,01 para as 2 primeiras sacolinhas e
depois dá um desconto de R$ 0,18 no final da compra. Ele faz isso para registrar as 2 sacolas.
Eu presenciei isso, mas não comprei 3 sacolas, portanto não sei como seriam registradas 3 sacolas,
mas podemos tentar prever isso no sistema.



Regis da Silva | Web Developer 

Linux - Junior Polegato

unread,
May 13, 2015, 8:54:46 AM5/13/15
to python...@googlegroups.com
Olá!

Para fazer perguntas e tratar as resposta, adaptei esse trecho
de um código que eu tinha aqui:

https://gist.github.com/JuniorPolegato/c102a0cf5bfe40556c0f

Quanto às linhas 22 e 23 do primeiro, pode simplesmente
retornar zero.

--

[]'s

Junior Polegato
Reply all
Reply to author
Forward
0 new messages