Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Valor da diária, valor médio arrecadado com e sem promoção e o lucro ou prejuízo mensal de uma promoção em um hotel - Desafio de Programação Resolvido em Java

Quantidade de visualizações: 14151 vezes
Pergunta/Tarefa:

Escreva um programa Java para resolver o seguinte problema:

Um hotel com 42 apartamentos resolveu fazer promoções para os fins de semana fora da alta temporada, isto é, nos meses de abril, maio, junho, agosto, setembro, outubro e novembro. A taxa da promoção é de 22% da diária normal. A ocupação média do hotel sem promoção é de 40%. A expectativa é aumentar a taxa de ocupação para 70%. Supondo que as expectativas se confirmem, escrever um algoritmo que lê a diária normal, que calcule e escreva as seguintes informações:

(a) O valor da diária no período da promoção.
(b) O valor médio arrecadado sem a promoção, durante um mês.
(c) O valor médio arrecadado com a promoção, durante um mês.
(d) O lucro ou prejuízo mensal com a promoção.

Seu código Java deverá apresentar uma saída parecida com:

Informe o valor da diária normal: 120
Diária no período de promoção: 26,40
Média arrecadada sem a promoção durante um mês: 8064,00
Média arrecadada com a promoção durante um mês: 3104,64
Prejuízo mensal com a promoção: 4959,36
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console (lendo a entrada do usuário por meio do uso da classe Scanner):

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos criar um objeto da classe Scanner
    Scanner entrada = new Scanner(System.in);

    // valor da diária em período normal  
    double valor_diaria_normal;
    // valor da diária no período de promoção
    double valor_diaria_promocao;

    // vamos obter o valor da diária no período normal
    System.out.print("Informe o valor da diária normal: ");
    valor_diaria_normal = Double.parseDouble(entrada.nextLine());

    // vamos obter o valor da diária no período promocional
    valor_diaria_promocao = valor_diaria_normal * (22.0 / 100.0);

    // vamos calcular o valor médio arrecadado sem a promoção, durante um mês
    // estamos assumindo 4 finais de semana por mês
    double media_arrecado_sem_promocao = (valor_diaria_normal
      * (42 * (40.0 / 100.0)) * 4);

    // vamos calcular o valor médio arrecadado com a promoção, durante um mês
    // estamos assumindo 4 finais de semana por mês
    double media_arrecado_com_promocao = (valor_diaria_promocao
      * (42 * (70.0 / 100.0)) * 4);

    System.out.printf("Diária no período de promoção: %.2f\n",
      valor_diaria_promocao);
    System.out.printf("Média arrecadada sem a promoção durante um mês: %.2f\n",
      media_arrecado_sem_promocao);
    System.out.printf("Média arrecadada com a promoção durante um mês: %.2f\n",
      media_arrecado_com_promocao);

    // houve lucro ou prejuízo?
    if (media_arrecado_sem_promocao < media_arrecado_com_promocao) {
      System.out.printf("Lucro mensal com a promoção: %.2f\n",
        media_arrecado_com_promocao - media_arrecado_sem_promocao);
    } 
    else {
      System.out.printf("Prejuízo mensal com a promoção: %.2f\n",
        media_arrecado_sem_promocao - media_arrecado_com_promocao);
    }
  }
}


Link para compartilhar na Internet ou com seus amigos:

Python ::: Desafios e Lista de Exercícios Resolvidos ::: Pesquisa Operacional

Exercício Resolvido de Python - Programação Linear em Python - Uma madeireira deseja obter 1000kg de lenha, 2000kg de madeira para móveis e 50 metros

Quantidade de visualizações: 193 vezes
Pergunta/Tarefa:

Este exercício de Python aborda o uso da biblioteca PuLP para resolver um problema de Pesquisa Operacional usando Programação Linear.

Uma madeireira deseja obter 1000kg de lenha, 2000kg de madeira para móveis e 50 metros quadrados de casca de árvore, dispondo de carvalho e pinheiro, sendo que o carvalho gera 40kg de lenha, 150kg de madeira e 3 metros quadrados de casca aproveitável; o pinheiro 100kg de lenha, 60kg de madeira e 8 metros quadrados de casca aproveitável.

Formule o problema, de modo a minimizar os custos, sabendo que cada carvalho custa R$ 1500,00 para a empresa e cada pinheiro R$ 1200,00. Em seguida use a API de Programação Linear do PuLP para resolver o problema e mostrar a melhor solução.

Sua saída deverá ser parecida com:

x: 11.111111
y: 5.5555556
Resposta/Solução:

Antes de passarmos para o código Python é importante entendermos e fazermos a modelagem do problema. Neste exercício busca-se encontrar o custo mínimo. Assim, a nossa função objetivo será dada pela combinação dos preços do carvalho e do pinheiro. Veja:

Zmin = 1500x + 1200y

Aqui nós definimos a variável x para o carvalho e a variável y para o pinheiro.

Agora que já temos a função Z, o próximo passo é analizarmos as restrições. Note que a empresa precisa de 1000kg de lenha. O carvalho gera 40kg de lenha, enquanto o pinheiro gera 100kg. Então nossa primeira restrição é:

R1 = 40x + 100y >= 1000

Para a segunda restrição nós temos que a empresa precisa de 2000kg de madeira. O carvalho gera 150kg de madeira, enquanto o pinheiro gera 60kg. Assim, nossa segunda restrição é:

R2 = 150x + 60y >= 2000

Finalmente, para a terceira restrição, sabemos que a empresa necessita de 50 metros quadrados de casca de árvore. O carvalho gera 3 metros quadrados de casca aproveitável, enquanto o pinheiro gera 8 metros quadradros. Então a terceira restrição é:

R3 = 3x + 8y >= 50

As restrições 4 e 5 dizem que tanto o x quanto o y devem ser maiores ou iguais a zero, e que ambos devem pertencer aos números reais.

Veja agora como usamos os dados de formulação para resolver este exercício usando Python e a biblioteca PuLP:

# vamos importar as ferramentas necessárias
from pulp import LpMinimize, LpProblem, LpVariable

# método principal
def main():
  # vamos criar o modelo
  modelo = LpProblem(name="Pesquisa Operacional em Python", sense=LpMinimize)

  # agora inicializamos as variáveis de decisão
  x = LpVariable(name="x", lowBound=0)
  y = LpVariable(name="y", lowBound=0)

  # vamos adicionar as restrições de acordo com a formulação do problema
  modelo += (40 * x + 100 * y >= 1000, "R1")
  modelo += (150 * x + 60 * y >= 2000, "R2")
  modelo += (3 * x + 8 * y >= 50, "R3")

  # definimos a função objetivo e a adicionamos ao modelo
  funcao_objetivo = 1500 * x + 1200 * y
  modelo += funcao_objetivo

  # e tentamos resolver o problema
  modelo.solve()
  
  # assumindo que o problema foi resolvido com sucesso, vamos
  # mostrar os valores das variáveis x e y
  for var in modelo.variables():
    print(f"{var.name}: {var.value()}")

if __name__== "__main__":
  main()

Note como o PuLP nos deu o custo mínimo de 23333.33 para atingir o objetivo desejado pela madeireira.


PHP ::: Dicas & Truques ::: Strings e Caracteres

Como repetir uma string ou caractere um número determinado de vezes em PHP usando a função str_repeat()

Quantidade de visualizações: 13805 vezes
Em algumas situações nós gostaríamos de repetir uma letra, palavra, frase ou texto um determinado número de vezes. Em PHP isso pode ser feito por meio do uso da função str_repeat().

Esta função recebe a string e um valor inteiro, indicando a quantidade de vezes que a string será repetida. Veja um exemplo de seu uso:

<?php
  $string = "*"; 
  echo "Resultado: " . str_repeat($string, 5);
?>

Ao executarmos este código PHP nós teremos o seguinte resultado:

Resultado: *****


PHP ::: Dicas & Truques ::: Data e Hora

Como verificar se uma determinada data é um dia útil usando PHP

Quantidade de visualizações: 13029 vezes
Nesta dica eu mostro como é possível usar um código PHP para verificar se uma determinada data é um dia útil. Para isso nós usamos o argumento "w" para retornar um valor inteiro para o dia da semana e testamos se ele é diferente de 0 e 6, ou seja, sábado e domingo.

Veja o código PHP completo:

<html>
<head>
  <title>Estudos PHP</title>
</head>
 
<body>

<?php  
  // data: 22/11/2006
  $data = mktime(0, 0, 0, 11, 22, 2006);
  $dia_semana = date("w", $data);
   
  // domingo = 0;
  // sábado = 6;
  // verifica sábado e domingo
  if(($dia_semana != 0) && ($dia_semana != 6)){
    echo "Esta data é um dia útil";
  }
  else{
    echo "Esta data NÃO é um dia útil";
  }
?>  

</body>
</html>

Quando executarmos este código PHP nós teremos o seguinte resultado:

Esta data é um dia útil


C# ::: Dicas & Truques ::: Strings e Caracteres

Como transformar em letras maiúsculas as iniciais de cada palavra em uma string C# usando o método ToTitleCase() da classe TextInfo

Quantidade de visualizações: 13485 vezes
O método ToTitleCase() da classe TextInfo da linguagem C# nos permite converter para letras maiúsculas as inicias de cada uma das palavras que compoem uma frase ou texto. Esta técnica é muito útil quando estamos trabalhando com o processamento de strings em C#.

Veja um exemplo completo do uso dessa função:

using System;
using System.Globalization;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      string frase = "gosto de java e c#";
      Console.WriteLine("Frase original: " + frase);

      // vamos converter cada letra inicial para maiúsculas
      frase = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(frase);

      Console.WriteLine("Depois do método ToTitleCase(): " + frase);

      Console.WriteLine("\n\nPressione qualquer tecla para sair...");
      // pausa o programa
      Console.ReadKey();
    }
  }
}

Ao executar este código C# nós teremos o seguinte resultado:

Frase original: gosto de java e c#
Depois do método ToTitleCase(): Gosto De Java E C#


Lisp ::: Dicas & Truques ::: Matemática e Estatística

Como calcular raiz quadrada em Lisp usando a função sqrt

Quantidade de visualizações: 1061 vezes
A raiz quadrada de um algarismo é dada por um número positivo n, que ao ser elevado ao quadrado (multiplicado por ele mesmo), se iguala a x. Na área da matemática, a raiz quadrada auxilia na resolução de vários problemas, entre eles as equações de segundo grau e o Teorema de Pitágoras.

Relembrando que a raiz quadrada é o inverso da potenciação com expoente dois, temos que:

\[\sqrt{9} = 3\]

então, pela potenciação:

\[3^2 = 9\]

Agora veremos como calcular a raiz quadrada usando a função sqrt da linguagem Common Lisp. Veja o código completo:

; Vamos definir as variáveis que vamos
; usar no programa
(defvar numero)
(defvar raiz)

; Este o programa principal
(defun RaizQuadrada()
  ; Vamos ler o número
  (princ "Informe um número: ")
  ; talvez o seu compilador não precise disso
  (force-output)
  ; atribui o valor lido à variável numero
  (setq numero (read))
  
  ; calcula a raiz quadrada do número informado
  (setq raiz (sqrt numero))
  
  ; E mostramos o resultado
  (format t "A raiz quadrada de ~F é ~F" numero
    raiz)
)

; Auto-executa a função RaizQuadrada()
(RaizQuadrada)

Ao executar este código Common Lisp teremos o seguinte resultado:

Informe um número: 9
A raiz quadrada é: 3

É importante observar que, se fornecermos um valor negativo para a função sqrt da Common List não teremos um erro, como em muitas outras linguagens de programação. Em vez disso, o valor retornado será em forma de um número complexo. Veja:

Informe um número: -9
A raiz quadrada de -9.0 é #C(0.0 3.0)


Veja mais Dicas e truques de Lisp

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby

Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima


© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 5 usuários muito felizes estudando em nosso site.