Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercícios Resolvidos de Java - Como calcular salário líquido em Java - Calculando o salário líquido de um professor

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

Escreva um programa Java que calcule o salário líquido de um professor. Seu programa deverá solicitar que o usuário informe o valor da hora aula (como double), o número de horas trabalhadas no mês (como inteiro) e o percentual de desconto do INSS (como double). Em seguida mostre o salário líquido, formatado de acordo com a moeda brasileira em vigor (na resolução eu usei o Real).

Sua saída deverá ser parecida com:

Informe o valor da hora aula: 28
Informe o número de horas trabalhadas no mês: 12
Informe o percentual de desconto do INSS: 8
Salário Bruto: R$ 336,00
Total de Descontos: R$ 26,88
Salário Líquido: R$ 309,12
Resposta/Solução:

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

package estudos;

import java.text.NumberFormat;
import java.util.Scanner;

public class Estudos{
  public static void main(String[] args) {
    // vamos fazer a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
      
    // vamos ler o valor do hora aula
    System.out.print("Informe o valor da hora aula: ");
    double valorHoraAula = Double.parseDouble(entrada.nextLine());
    
    // vamos ler o número de horas trabalhadas no mês
    System.out.print("Informe o número de horas trabalhadas no mês: ");
    int horasTrabalhadas = Integer.parseInt(entrada.nextLine());
    
    // vamos ler o percentual de desconto do INSS
    System.out.print("Informe o percentual de desconto do INSS: ");
    double percentualDescontoINSS = Double.parseDouble(entrada.nextLine());
    
    // vamos calcular o salário bruto
    double salarioBruto = valorHoraAula * horasTrabalhadas;
    
    // agora calculamos o total do desconto
    double totalDesconto = (percentualDescontoINSS / 100) * salarioBruto;
    
    // finalmente calculamos o salário líquido
    double salarioLiquido = salarioBruto - totalDesconto;
    
    // mostramos o resultado
    NumberFormat formato = NumberFormat.getCurrencyInstance();
    System.out.println("Salário Bruto: " + formato.format(salarioBruto));
    System.out.println("Total de Descontos: " + formato.format(totalDesconto));
    System.out.println("Salário Líquido: " + formato.format(salarioLiquido));
  }
}



PHP ::: Dicas & Truques ::: Programação Orientada a Objetos

Programação orientada a objetos em PHP - Como usar herança em PHP

Quantidade de visualizações: 11790 vezes
Quando estamos projetando as classes que farão parte de um sistema, é aconselhável ter em mente um conceito muito importante da programação orientada a objetos: a herança.

O que um aluno, um professor e um funcionário possuem em comum? Todos eles são pessoas e, portanto, compartilham alguns dados comuns. Todos têm nome, idade, endereço, etc. E, o que diferencia um aluno de uma outra pessoa qualquer? Um aluno possui uma matrícula; Um funcionário possui um código de funcionário, data de admissão, salário, etc; Um professor possui um código de professor e informações relacionadas à sua formação.

É aqui que a herança se torna uma ferramenta de grande utilidade. Podemos criar uma classe Pessoa, que possui todos os atributos e métodos comuns a todas as pessoas e herdar estes atributos e métodos em classes mais específicas, ou seja, a herança parte do geral para o mais específico. Comece criando uma classe Pessoa como mostrado no código a seguir:

<?
  class Pessoa{
    public $nome;    
    public $idade;
  }
?>

Esta classe possui os atributos $nome e $idade. Estes atributos são comuns a todas as pessoas. Veja agora como podemos criar uma classe Aluno que herda estes atributos da classe Pessoa e inclui seu próprio atributo, a saber, seu número de matrícula. Eis o código:

<?
  class Pessoa{
    public $nome;    
    public $idade;
  }

  class Aluno extends Pessoa{
    public $matricula;
  }
?>

Observe que, em PHP, a palavra-chave usada para indicar herança é extends. A classe Aluno agora possui três atributos: $nome, $idade e $matricula. Veja um trecho de código mais completo, no qual este relacionamento é mais fácil de ser percebido:

<?
  class Pessoa{
    public $nome;    
    public $idade;
  }

  class Aluno extends Pessoa{
    public $matricula;
  }

  $aluno = new Aluno;
  $aluno->nome = "Osmar J. Silva";
  $aluno->idade = 36;
  $aluno->matricula = "AC33-65";

  // Exibe o resultado
  echo "Nome: " . $aluno->nome . "<br>" .
    "Idade: " . $aluno->idade . "<br>" .
    "Matrícula: " . $aluno->matricula;
?>

A herança nos fornece um grande benefício. Ao concentrarmos características comuns em uma classe e derivar as classes mais específicas a partir desta, nós estamos preparados para a adição de novas funcionalidades ao sistema. Se mais adiante uma nova propriedade comum tiver que ser adicionada, não precisaremos efetuar alterações em todas as classes. Basta alterar a superclasse e pronto. As classes derivadas serão automaticamente atualizadas.


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

Como converter radianos em graus na linguagem Java

Quantidade de visualizações: 3388 vezes
Todas os métodos e funções trigonométricas em Java recebem seus argumentos em radianos, em vez de graus. Um exemplo disso é a função sin() da classe Math. Esta função recebe o ângulo em radianos e retorna o seu seno.

No entanto, há momentos nos quais precisamos retornar alguns valores como graus. Para isso é importante sabermos fazer a conversão de radianos para graus. Veja a fórmula abaixo:

\[Graus = Radianos \times \frac{180}{\pi}\]

Agora veja como esta fórmula pode ser escrita em código Java:

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    double radianos = 1.5;
    double graus = radianos * (180 / Math.PI);
 
    System.out.println(radianos + " radianos convertidos para " +
      "graus é " + graus);

    System.exit(0);
  }
}

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

1.5 radianos convertidos para graus é 85.94366926962348

Para fins de memorização, 1 radiano equivale a 57,2957795 graus.


Python ::: Python para Engenharia ::: Física - Hidrodinâmica

Como representar a Equação da Continuidade em Python - Python para Hidrodinâmica

Quantidade de visualizações: 334 vezes
O que é a Equação da Continuidade?

A Hidrodinâmica é a parte da Física que estuda os fluidos em movimento, enquanto a Equação da Continuidade, que é parte da Hidrodinâmica, determina o fluxo de um fluido através de uma área. Esta equação está muito presente quando o assunto é Dinâmica dos Fluidos ou Mecânica dos Fluidos.

A Equação da Continuidade é uma consequência direta da Lei da Conservação da Massa. Por meio dessa propriedade, podemos dizer que a quantidade de massa de fluido que atravessa o tubo é a mesma na entrada e na saída.

Para melhor entendimento veja a seguinte figura:



Sabendo que a quantidade de água que entra na mangueira deve ser igual à mesma quantidade que sai, ao colocarmos o dedo na saída da mangueira, nós estamos estreitando a área da vazão, o que, consequentemente, aumenta a velocidade da água.

Qual é a Fórmula da Equação da Continuidade?

Antes de passarmos ao código Python, vamos revisar a Fórmula da Equação da Continuidade. Veja:

\[ A_1 \cdot \text{v}_1 = A_2 \cdot \text{v}_2 \]

Por meio dessa equação nós entramos com três valores e obtemos um quarto valor. Não se esqueça de que as velocidades são dadas em metros por segundo e as áreas são dadas em metros quadrados (de acordo com o SI - Sistema Internacional de Medidas). Tenha a certeza de efetuar as devidas conversões para não obter resultados incorretos.

Vamos escrever código Python agora?

A Equação da Continuidade em código Python

Para exemplificar como podemos representar a Equação da Continuidade em Python, vamos resolver o seguinte problema?

1) Um fluido escoa a 2 m/s em um tubo de área transversal igual a 200 mm2. Qual é a velocidade desse fluido ao sair pelo outro lado do tubo, cuja área é de 100 mm2?

a) 20 m/s

b) 4 m/s

c) 0,25 m/s

d) 1,4 m/s

e) 0,2 m/s

Note que a velocidade já está em metros por segundo, mas as áreas foram dadas em milímetros quadrados. Por essa razão nós deveremos converter milímetros quadrados em metros quadrados.

Veja o código Python completo para a resolução deste exercício de Equação da Continuidade:

# função principal do programa
def main():
  # vamos solicitar os dados de entrada
  v1 = float(input("Velocidade de entrada (m/s): "))
  a1 = float(input("Área de entrada (milímetros quadrados): "))
  a2 = float(input("Área de saída (milímetros quadrados): "))
    
  # vamos converter as áreas em milímetros quadrados
  # para metros quadrados
  a1 = a1 / 1000000
  a2 = a2 / 1000000
    
  # agora calculamos a velocidade de saída
  v2 = (a1 * v1) / a2
    
  # e mostramos o resultado
  print("A velocidade de saída é: {0} m/s".format(v2))
  
if __name__== "__main__":
  main()

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

Velocidade de entrada (m/s): 2
Área de entrada (milímetros quadrados): 200
Área de saída (milímetros quadrados): 100
A velocidade de saída é: 4.0 m/s

Portanto, a velocidade do fluido na saída do tubo é de 4 m/s.


C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercício Resolvido de C - Usando um laço for para percorrer os elementos de um vetor e exibir a soma de seus valores

Quantidade de visualizações: 14457 vezes
Exercícios Resolvidos de C - Usando um laço for para percorrer os elementos de um vetor e exibir a soma de seus valores

Pergunta/Tarefa:

Considere o seguinte vetor de inteiros:

// um vetor de inteiros contendo sete elementos
int valores[] = {4, 5, 1, 8, 2, 2, 10};
Escreva um programa C que usa um laço for para percorrer todos os elementos deste vetor e exibir a soma de seus valores. Seu programa deverá exibir uma saída com a mensagem:

A soma dos valores do vetor é: 32
Resposta/Solução:

Veja abaixo a resolução completa para esta tarefa:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  // um vetor de inteiros contendo sete elementos
  int valores[] = {4, 5, 1, 8, 2, 2, 10};
  
  // o primeiro passo é criar uma variável que vai receber a soma
  // dos valores dos elementos
  int soma = 0;
  int i;

  // agora vamos usar uma laço for para percorrer todos os elementos
  // do vetor, obter o valor do elemento atual e adicionar ao valor atual
  // da variável soma
  for(i = 0; i < 7; i++){
    soma = soma + valores[i];
    // poderia também ser escrito assim:
    // soma += valores[i];
  }

  // vamos exibir a soma dos valores do vetor
  printf("A soma dos valores do vetor é: %d\n", soma);

  system("PAUSE");	
  return 0;
}



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

Exercícios Resolvidos de Python - Uma função recursiva que conta quantas vezes um valor inteiro k ocorre em um vetor de inteiros

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

Escreva uma função recursiva em Python que conta quantas vezes um valor inteiro k ocorre em um vetor de 10 inteiros. Sua função deverá ter a seguinte assinatura:

# função recursiva que recebe um valor e informa quantas vezes
# ele aparece no vetor também informado
def quant_repeticoes(indice, valor, vetor):
  # sua implementação aqui
Seu programa deverá solicitar ao usuário os valores do vetor e o valor a ser pesquisado.

Sua saída deverá ser parecida com:

Informe o 1 valor: 2
Informe o 2 valor: 7
Informe o 3 valor: 4
Informe o 4 valor: 7
Informe o 5 valor: 1

Informe o valor a ser pesquisado no vetor: 7
O valor informado se repete 2 vezes.
Resposta/Solução:

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

# método principal
def main():
  # vamos declarar um vetor de 10 inteiros
    valores = [0 for x in range(5)]

    # vamos pedir ao usuário que informe os valores do vetor
    for i in range(len(valores)):
      valores[i] = int(input("Informe o %d.o valor: " % ((i + 1))))
    
    # agora vamos pedir para informar o valor a ser pesquisado
    valor = int(input("\nInforme o valor a ser pesquisado no vetor: "))
    
    # e vamos ver a quantidade de repetições
    repeticoes = quant_repeticoes(0, valor, valores)
    print("O valor informado se repete {0} vezes.".format(repeticoes))

# função recursiva que recebe um valor e informa quantas vezes
# ele aparece no vetor também informado
def quant_repeticoes(indice, valor, vetor):
  if indice == len(vetor) - 1: # caso base...hora de parar a recursividade
    if vetor[indice] == valor:
      return 1 # mais um repetição foi encontrada
  else: # dispara mais uma chamada recursiva
    if vetor[indice] == valor: # houve mais uma repetição
      return 1 + quant_repeticoes(indice + 1, valor, vetor)
    else:
      return 0 + quant_repeticoes(indice + 1, valor, vetor) # não repetiu

  return 0 # só para deixar o compilador satisfeito...esta linha nunca é executada

if __name__== "__main__":
  main()



C ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o coeficiente angular de uma reta em C dados dois pontos no plano cartesiano

Quantidade de visualizações: 3522 vezes
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x.

Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano:



Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é:

\[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \]

Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente.

Veja agora o trecho de código na linguagem C que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:

#include <stdio.h>
#include <stdlib.h>
   
int main(int argc, char *argv[]){
  // coordenadas dos dois pontos
  float x1, y1, x2, y2;
  // guarda o coeficiente angular
  float m; 
       
  // x e y do primeiro ponto
  printf("Coordenada x do primeiro ponto: ");
  scanf("%f", &x1);
  printf("Coordenada y do primeiro ponto: ");
  scanf("%f", &y1);
     
  // x e y do segundo ponto
  printf("Coordenada x do segundo ponto: ");
  scanf("%f", &x2);
  printf("Coordenada y do segundo ponto: ");
  scanf("%f", &y2);   
     
  // vamos calcular o coeficiente angular
  m = (y2 - y1) / (x2 - x1);
     
  // mostramos o resultado
  printf("O coeficiente angular é: %f", m);
  
  printf("\n\n");
  system("PAUSE");
  return 0;
}

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

Coordenada x do primeiro ponto: 3
Coordenada y do primeiro ponto: 6
Coordenada x do segundo ponto: 9
Coordenada y do segundo ponto: 10
O coeficiente angular é: 0.666667
Pressione qualquer tecla para continuar...

Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):

#include <stdio.h>
#include <stdlib.h>
   
int main(int argc, char *argv[]){
  // coordenadas dos dois pontos
  float x1, y1, x2, y2;
  // guarda os comprimentos dos catetos oposto e adjascente
  float cateto_oposto, cateto_adjascente;
  // guarda o ângulo tetha (em radianos) e a tangente
  float tetha, tangente; 
       
  // x e y do primeiro ponto
  printf("Coordenada x do primeiro ponto: ");
  scanf("%f", &x1);
  printf("Coordenada y do primeiro ponto: ");
  scanf("%f", &y1);
     
  // x e y do segundo ponto
  printf("Coordenada x do segundo ponto: ");
  scanf("%f", &x2);
  printf("Coordenada y do segundo ponto: ");
  scanf("%f", &y2);   
     
  // vamos obter o comprimento do cateto oposto
  cateto_oposto = y2 - y1;
  // e agora o cateto adjascente
  cateto_adjascente = x2 - x1;
  // vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
  // (em radianos, não se esqueça)
  tetha = atan2(cateto_oposto, cateto_adjascente);
  // e finalmente usamos a tangente desse ângulo para calcular
  // o coeficiente angular
  tangente = tan(tetha);
	  
  // mostramos o resultado
  printf("O coeficiente angular é: %f", tangente);
  
  printf("\n\n");
  system("PAUSE");
  return 0;
}

Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta:

1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0;

2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0;

3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0).

4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe.


Python ::: Dicas & Truques ::: Data e Hora

Como construir uma data em Python usando o construtor da classe datetime

Quantidade de visualizações: 6907 vezes
Nesta dica mostrarei como podemos usar o construtor da classe datetime do Python para construir e retornar uma nova data. Note que estou fornecendo a data para construtor da classe datetime usando o ano, o mês e o dia.

Veja o código Python completo para o exemplo:

from datetime import datetime

# função principal do programa
def main():
  # vamos definir o dia, mês e ano
  dia = 20
  mes = 4
  ano = 1980

  # Constrói um datetime (ano, mês, dia)
  data = datetime(ano, mes, dia)

  # Exibe o conteúdo do datetime
  print("A data construída foi {0}".format(data))
 
  # Obtém o ano da data recém-criada
  print("O ano da data construída foi: {0}".format(data.year))

if __name__== "__main__":
  main()

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

A data construída foi 1980-04-20 00:00:00
O ano da data construída foi: 1980


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

Datas e horas em PHP - Como obter o fuso horário em segundos

Quantidade de visualizações: 69 vezes
Nesta dica veremos como usar date("Z") para retornar o fuso horário da nossa localidade em PHP. Lembre-se de que a função date() com o parâmetro "Z" retorna o fuso horário em segundos. Este valor reflete a diferença em segundos que estamos do Tempo Universal Coordenado (Coordinated Universal Time - UTC), também conhecido como tempo civil, e é o fuso horário de referência a partir do qual se calculam todas as outras zonas horárias do mundo.

Veja o código PHP completo para o exemplo:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  $fuso_segundos = date("Z");
  $horas = ($fuso_segundos / 60) / 60;
  echo "O fuso horário em segundos é " .
    $fuso_segundos . " (" . $horas . " horas)";
?>
  
</body>
</html>

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

O fuso horário em segundos é 7200 (2 horas)


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

Manipulação de texto em PHP - Como acessar e modificar os caracteres individuais de uma string

Quantidade de visualizações: 219 vezes
Os caracteres de uma string em PHP, ou seja, uma palavra, frase ou texto, podem ser acessados individualmente usando índices, igual fazemos com os vetores (o índice começando sempre em zero). Dessa forma, podemos tanto obter um determinado caractere quanto acessá-lo e modificá-lo.

Veja um código PHP completo demonstrando o exemplo:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  $nome = "Carlos de Jesus";
  echo "Original: " . $nome . "<br>";
  echo "Vou alterar o 11º caractere.<br>";
  $nome[10] = "M";
  echo "Modificado: " . $nome;
?>

</body>
</html>

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

Original: Carlos de Jesus
Vou alterar o 11º caractere.
Modificado: Carlos de Mesus

Carregar Publicações Anteriores


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

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



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