Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Para a cobrança das contas dos seus consumidores, uma empresa de fornecimento de energia elétrica faz a leitura mensal dos medidores de consumo - Desafio de Programação Resolvido em Java

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

Para a cobrança das contas dos seus consumidores, uma empresa de fornecimento de energia elétrica faz a leitura mensal dos medidores de consumo. Para cada leitura são registrados os seguintes dados: número da unidade consumidora, quantidade de kWh consumidos durante o mês e tipo de consumidor (residencial, comercial ou industrial).

Sabendo-se que o preço, em reais, do kWh é de R$ 0,53224 para o consumidor residencial, de R$ 0,73214 para o consumidor comercial e de R$ 0,84322 para o consumidor industrial, faça um programa em Java que leia estes dados e calcule e imprima:

a) número da unidade consumidora, a conta mensal e a categoria de cada consumidor;
b) média de consumo dos consumidores industriais;
c) número da unidade consumidora de maior consumo entre os consumidores comerciais;
d) valor total a ser recebido pela empresa de seus consumidores.

A leitura dos consumidores deverá ser interrompida quando o valor 0 for informado para o número da unidade consumidora. Assuma o valor 1 para o tipo residencial, 2 para o comercial e 3 para industrial.

Seu programa Java deverá exibir uma saída parecida com:

Informe a Unidade Consumidora: 1
Quantidade de kWh consumidos: 300
Residencial, Comercial ou Industrial [1, 2, 3] : 1

Unidade Consumidora: 1
Conta Mensal: 159.67200000000003
Categoria: Residencial

Informe a Unidade Consumidora: 2
Quantidade de kWh consumidos: 150
Residencial, Comercial ou Industrial [1, 2, 3] : 2

Unidade Consumidora: 2
Conta Mensal: 109.821
Categoria: Comercial

Informe a Unidade Consumidora: 3
Quantidade de kWh consumidos: 250
Residencial, Comercial ou Industrial [1, 2, 3] : 3

Unidade Consumidora: 3
Conta Mensal: 210.80499999999998
Categoria: Industrial

Informe a Unidade Consumidora: 4
Quantidade de kWh consumidos: 280
Residencial, Comercial ou Industrial [1, 2, 3] : 3

Unidade Consumidora: 4
Conta Mensal: 236.1016
Categoria: Industrial

Informe a Unidade Consumidora: 5
Quantidade de kWh consumidos: 320
Residencial, Comercial ou Industrial [1, 2, 3] : 2

Unidade Consumidora: 5
Conta Mensal: 234.28480000000002
Categoria: Comercial

Informe a Unidade Consumidora: 0

Média Consumo Industrial: 223.45329999999998
Unidade Maior Consumo Comercial: 5
Valor total a ser recebido: 950.6844
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // variáveis usadas na resolução do problema
    int unidade, quant_kwh_consumidos, tipo_consumidor;
    int unid_maior_consumo_comer = 0, quant_industriais = 0;
    double conta_mensal, media_industriais, soma_industriais = 0;
    double maior_consumo_comercial = 0;
    double valor_total = 0;
    
    // para a leitura da entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    do {
      // vamos ler os dados de cada consumidor
      System.out.print("\nInforme a Unidade Consumidora: ");
      unidade = Integer.parseInt(entrada.nextLine());
      
      // a unidade é diferente de 0?
      if(unidade != 0){
        System.out.print("Quantidade de kWh consumidos: ");
        quant_kwh_consumidos = Integer.parseInt(entrada.nextLine());
        System.out.print("Residencial, Comercial ou Industrial [1, 2, 3] : ");
        tipo_consumidor = Integer.parseInt(entrada.nextLine());
        
        // vamos calcular a conta mensal e exibir os dados desse consumidor
        System.out.println("\nUnidade Consumidora: " + unidade);
        if(tipo_consumidor == 1){ // Residencial
          conta_mensal = quant_kwh_consumidos * 0.53224;
          System.out.println("Conta Mensal: " + conta_mensal);
          System.out.println("Categoria: Residencial");
        }
        else if(tipo_consumidor == 2){ // Comercial
          conta_mensal = quant_kwh_consumidos * 0.73214;
          System.out.println("Conta Mensal: " + conta_mensal);
          System.out.println("Categoria: Comercial");
          
          // temos que registrar a unidade de maior consumo
          // comercial
          if(conta_mensal > maior_consumo_comercial){
            unid_maior_consumo_comer = unidade;
            maior_consumo_comercial = conta_mensal;  
          }
        }
        else { // Industrial
          conta_mensal = quant_kwh_consumidos * 0.84322;
          System.out.println("Conta Mensal: " + conta_mensal);
          System.out.println("Categoria: Industrial");
          
          // vamos contar mais este cliente industrial
          quant_industriais = quant_industriais + 1;
          // temos também que somar mais essa conta
          soma_industriais = soma_industriais + conta_mensal;
        }
        
        // vamos somar mais esta conta ao valor total
        valor_total = valor_total + conta_mensal;
      }
    } while(unidade != 0);
    
    // vamos mostrar a média de consumo dos clientes industriais
    if(quant_industriais > 0){
      media_industriais = soma_industriais / quant_industriais;
      System.out.println("\nMédia Consumo Industrial: " + media_industriais);
    }
    else{
      System.out.println("\nNão houve consumo industrial");
    }
    
    // vamos mostrar o número da unidade consumidora de maior
    // consumo entre os consumidores comerciais;
    System.out.println("Unidade Maior Consumo Comercial: " + 
      unid_maior_consumo_comer);
    
    // vamos mostrar o valor total
    System.out.println("Valor total a ser recebido: " + valor_total);
  }
}


Link para compartilhar na Internet ou com seus amigos:

C# ::: Desafios e Lista de Exercícios Resolvidos ::: Matemática e Estatística

Exercícios Resolvidos de C# - Como calcular juros simples em C# - Um programa C# que lê o valor principal, o tempo

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

Saber como escrever um programa C# que recebe o valor principal, o tempo e a taxa de juros e retorna os juros simples a serem pagos ou recebidos é uma habilidade que todo programador deve aprender em algum ponto de sua carreira.

Sendo assim, escreva um algoritmo em C# que pede para o usuário informar um valor a ser pago ou recebido, o tempo em dias, meses ou anos e a taxa de juros (sem dividi-la por 100) e retorne os juros simples a serem pagos ou recebidos. Note que, se você quiser mostrar o valor total a ser pago ou recebido, basta somar os juros ao valor principal.

Antes, porém, veja a fórmula do cálculo de juros simples:

\[\text{Juros} = \frac{\text{C} \times \text{i} \times \text{t}}{100}\]

Onde:

C é o valor a ser pago ou a ser recebido;
i é a taxa de juros (sem dividir por 100);
t é o tempo em dias, meses, anos, etc.

Sua saída deverá ser parecida com:

Informe o valor principal: 600
Taxa de juros: 12
Informe o tempo: 5
Juros a serem pagos ou recebidos: 360.0
Resposta/Solução:

Veja a resolução comentada deste exercício usando C#:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;

namespace Estudos {
  class Principal {
    // função principal do programa C#
    static void Main(string[] args) {
      // vamos ler o valor principal
      Console.Write("Informe o valor principal: ");
      double principal = Double.Parse(Console.ReadLine());

      // agora vamos ler a taxa de juros
      Console.Write("Taxa de juros: ");
      double taxa = Double.Parse(Console.ReadLine());

      // finalmente o tempo em dias, meses, anos, etc
      Console.Write("Informe o tempo: ");
      int tempo = Int32.Parse(Console.ReadLine());

      // vamos calcular os juros
      double juros = (principal * taxa * tempo) / 100;

      // e mostramos o resultado
      Console.WriteLine("Juros a serem pagos ou recebidos: " + juros);
      
      Console.WriteLine("\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}



Ruby ::: Fundamentos da Linguagem ::: Passos Iniciais

Como ler a entrada do usuário em Ruby usando a função gets

Quantidade de visualizações: 11567 vezes
Em várias ocasições nossos programas Ruby precisam interagir com o usuário, ou seja, precisamos ler informações do usuário com o propósito de efetuar algum cálculo ou tomar decisões sobre as tarefas a serem realizadas.

A entrada do usuário em um programa Ruby pode ser obtida por meio do método gets. Esta função recebe a entrada do usuário a partir do teclado em formato texto (string) e a armazena em uma variável do tipo string.

Veja um exemplo no qual usamos a função gets para solicitar que o usuário informe o seu nome. Em seguida imprimimos o nome informado na tela:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# Este exemplo mostra como ler entrada do usuário
# a partir do teclado

print "Informe seu nome: "

# Lê a entrada
nome = gets

# Remove o caractere de fim de linha
nome = nome.chomp

# Exibe o resultado
puts "Seu nome é: #{nome}"

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

Informe seu nome: Osmar J. Silva
Seu nome é: Osmar J. Silva

Note o uso da função chomp para remover o caractere de fim de linha adicionando automaticamente pelo interpretador Ruby quando pressionamos a tecla Enter.


PostgreSQL ::: Dicas & Truques ::: Comandos DDL (Data Definition Language - Linguagem de Definição de Dados)

Como criar uma base de dados no PostgreSQL usando o comando DDL CREATE DATABASE

Quantidade de visualizações: 4388 vezes
Quando queremos criar uma nova base de dados no PostgreSQL, é comum usarmos o pgAdmin ou a ferramenta de linha de comando createdb. No entanto, há situações nas quais precisamos criar uma nova base de dados usando instruções SQL. Para isso podemos usar o comando DDL CREATE DATABASE. Veja sua sintáxe para o PostgreSQL:

CREATE DATABASE name
    [ [ WITH ] [ OWNER [=] user_name ]
           [ TEMPLATE [=] template ]
           [ ENCODING [=] encoding ]
           [ LC_COLLATE [=] lc_collate ]
           [ LC_CTYPE [=] lc_ctype ]
           [ TABLESPACE [=] tablespace_name ]
           [ CONNECTION LIMIT [=] connlimit ] ]
Note que o único parâmetro exigido é o nome da base de dados. Todos os demais parâmetros são opcionais. Assim, se quisermos criar uma base de dados chamada "estudos", só precisamos disparar o seguinte comando:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

CREATE DATABASE estudos;

Este comando pode ser disparado via linha de comando SQL Shell (psql), na janela de Query do pgAdmin ou a partir de uma linguagem de programação. Se uma mensagem parecida com:

Query returned successfully with no result in 7674 ms.

for exibida, é sinal de que a base de dados foi criada com sucesso.

Quando tentamos criar uma base de dados com um nome já existente, o PostgreSQL abortará a operação e exibirá a seguinte mensagem de erro:

ERRO:  banco de dados "estudos" já existe

********** Error **********

ERRO: banco de dados "estudos" já existe
SQL state: 42P04
É importante observar que, quando informamos apenas o nome da base de dados para o comando CREATE DATABASE, as demais opções serão herdadas a partir do template padrão (template1) e das configurações padrões do servidor para a máquina na qual foi instalado. Assim, se verificarmos, no pgAdmin, a base de dados que criamos, encontraremos as seguintes configurações:

OWNER = postgres

ENCODING = 'UTF8'
TABLESPACE = pg_default
LC_COLLATE = 'Portuguese_Brazil.1252'
LC_CTYPE = 'Portuguese_Brazil.1252'
CONNECTION LIMIT = -1;

Em outras dicas desta seção você verá como personalizar cada um destes parâmetros no comando CREATE DATABASE.


PHP ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em PHP

Quantidade de visualizações: 984 vezes
Todos estamos acostumados com o Teorema de Pitágoras, que diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos". Baseado nessa informação, fica fácil retornar a medida do cateto oposto quando temos as medidas da hipotenusa e do cateto adjascente. Isso, claro, via programação em linguagem PHP.

Comece observando a imagem a seguir:



Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. A medida da hipotenusa é, sem arredondamentos, 36.056 metros.

Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras):

\[c^2 = a^2 + b^2\]

Tudo que temos que fazer é mudar a fórmula para:

\[a^2 = c^2 - b^2\]

Veja que agora o quadrado do cateto oposto é igual ao quadrado da hipotenusa menos o quadrado do cateto adjascente. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo.

Veja agora como esse cálculo é feito em linguagem PHP:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?php
  $c = 36.056; // medida da hipotenusa
  $b = 30; // medida do cateto adjascente
  
  // agora vamos calcular o comprimento da cateto oposto
  $a = sqrt(pow($c, 2) - pow($b, 2));
 
  // e mostramos o resultado
  echo "A medida do cateto oposto é: " . $a;
?>

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

A medida do cateto oposto é: 20.000878380711

Como podemos ver, o resultado retornado com o código PHP confere com os valores da imagem apresentada.


C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade)

Exercício Resolvido de C++ - Um método recursivo que conta de 0 até 10

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

Escreva um método recursivo que conta e exibe os valores de 0 até 10. Seu método deverá possuir a seguinte assinatura:

void contar_recursivamente(int n){
  // sua implementação aqui
}
Veja que o método deverá receber o valor 0 e efetuar novas chamadas a si mesmo até que os valores de 0 a 10 sejam exibidos. O ponto de parada da recursividade é a exibição do valor 10.

Sua saída deverá ser parecida com:

0  1  2  3  4  5  6  7  8  9  10
Resposta/Solução:

Veja a resolução comentada deste exercício usando C++:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <iostream>
#include <cstdlib>
   
using namespace std;

// método recursivo que conta de 0 até 10;
void contar_recursivamente(int n){
  // vamos exibir o número atual
  cout << n << " ";
    
  // devemos prosseguir com a recursividade?
  if(n < 10){
    // incrementa o valor de n
    n++;  
    contar_recursivamente(n); // e faz uma nova chamada recursiva
  }
}  
   
// função principal do programa   
int main(int argc, char *argv[]){
  // efetua uma chamada ao método recursivo fornecendo o primeiro valor
  contar_recursivamente(0); 
       
  cout << "\n\n";     
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}



Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C++

Veja mais Dicas e truques de C++

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



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