Python ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular porcentagem em Python - Eu tenho um valor de R$ 500,00 que aumentou para R$ 800,00. Qual foi o aumento percentual?Quantidade de visualizações: 990 vezes |
Nesta dica mostrarei como calcular a porcentagem do aumento sofrido por um determinado valor usando a linguagem Python. Este é um cenário muito comum. Veja a seguinte situação: a) Temos um produto x que custava R$ 500,00 e que foi aumentado para R$ 800,00. Queremos, dessa forma, descobrir o percentual de aumento que o preço do produto sofreu. Veja o código Python para a realização deste cálculo: # método principal def main(): # preço anterior do produto precoAnterior = float(input("Informe o preço anterior: ")) # preço atual do produto precoAtual = float(input("Informe o preço atual: ")) # efetua o cálculo a = precoAnterior b = 100 * precoAtual c = b / a d = c - 100 # mostra o resultado print("A porcentagem de aumento foi: %f%%" % d) if __name__== "__main__": main() Ao executar este código Python nós teremos um resultado parecido com: Informe o preço anterior: 500 Informe o preço atual: 800 A porcentagem de aumento foi: 60.000000% |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercício Resolvido de Java - Faça um algoritmo que leia a idade de uma pessoa expressa em anos, meses e dias e mostre-a expressa em diasQuantidade de visualizações: 6628 vezes |
Pergunta/Tarefa: Faça um algoritmo que leia a idade de uma pessoa expressa em anos, meses e dias e mostre-a expressa em dias. Leve em consideração o ano com 365 dias e o mês com 30. (Ex: 3 anos, 2 meses e 15 dias = 1170 dias.) Resposta/Solução: Para a entrada do usuário, nós vamos usar um objeto da classe Scanner. Veja a resolução comentada: package arquivodecodigos; import java.util.Scanner; public class Estudos{ public static void main(String args[]){ // vamos usar um objeto Scanner para ler a entrada // do usuário Scanner entrada = new Scanner(System.in); // vamos ler a quantidade de anos System.out.print("Quantidade de anos: "); int anos = Integer.parseInt(entrada.nextLine()); // vamos ler a quantidade de meses System.out.print("Quantidade de meses: "); int meses = Integer.parseInt(entrada.nextLine()); // vamos ler a quantidade de dias System.out.print("Quantidade de dias: "); int dias = Integer.parseInt(entrada.nextLine()); // vamos calcular a quantidade de dias int quant_dias = (anos * 365) + (meses * 30) + dias; // e mostramos o resultado System.out.println("Idade em dias: " + quant_dias); } } Ao executar este código Java nós teremos o seguinte resultado: Quantidade de anos: 3 Quantidade de meses: 2 Quantidade de dias: 15 Idade em dias: 1170 |
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como pesquisar uma substring em uma string C++ usando o método find() e retornar o índice do primeiro caractereQuantidade de visualizações: 10343 vezes |
Nesta dica mostrarei como podemos usar a função find() da classe String do C++ para pesquisar parte de uma palavra, frase ou texto. Se a substring for encontrada, o índice do seu primeiro caractere é retornado. Caso contrário o valor npos é retornado. Veja o código C++ completo para o exemplo: #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ // vamos criar uma string string frase = "Gosto de Java e C++"; cout << "A string informada foi: " << frase << endl; // agora vamos checar a existência da substring size_t pos = frase.find("Java"); // a substring foi encontrada? if(pos == string::npos){ cout << "A substring nao foi encontrada." << endl; } else{ cout << "A substring foi encontrada" << " no indice " << pos << endl; } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: A string informada foi: Gosto de Java e C++ A substring foi encontrada no indice 9 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
|
Vetores e Matrizes - Exercícios Resolvidos de Java - Ex. 15 - Declarar, construir e inicializar dois vetores de int e criar um terceiro vetor com os valores dos elementos sendo a soma dos elementos dos dois vetores anterioresQuantidade de visualizações: 9529 vezes |
|
Pergunta/Tarefa: Considere os seguintes vetores: // declara, constrói e inicializa dois vetores de 5 inteiros cada int a[] = {5, 2, 9, 5, 7}; int b[] = {2, 6, 10, 3, 3}; Valores na matriz a: 5 2 9 5 7 Valores na matriz b: 2 6 10 3 3 Valores na matriz c: 7 8 19 8 10 Veja a resolução comentada deste exercício usando Java console: package estudos; public class Estudos { public static void main(String[] args) { // declara, constrói e inicializa dois vetores de 5 inteiros cada int a[] = {5, 2, 9, 5, 7}; int b[] = {2, 6, 10, 3, 3}; int c[] = new int[5]; // vamos preencher o terceiro vetor com a soma dos dois anteriores for(int i = 0; i < c.length; i++){ c[i] = a[i] + b[i]; } // vamos mostar o resultado System.out.print("Valores no vetor a: "); for(int i = 0; i < a.length; i++){ System.out.print(a[i] + " "); } System.out.print("\nValores no vetor b: "); for(int i = 0; i < b.length; i++){ System.out.print(b[i] + " "); } System.out.print("\nValores no vetor c: "); for(int i = 0; i < c.length; i++){ System.out.print(c[i] + " "); } System.out.println(); } } |
PHP ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como converter radianos em graus em PHP usando a função rad2deg()Quantidade de visualizações: 9829 vezes |
As unidades graus e radianos são muito usadas em cálculos de trigonometria, especialmente em aplicações que lidam com geometria, topografia e engenharia. O grau é de uso mais no cotidiano, pela sua praticidade, pois envolve na maioria dos casos números inteiros. O radiano, por sua vez, é de uso em cálculos envolvendo geralmente números racionais. Este trecho de código PHP mostra como converter radianos em graus usando a função rad2deg(). <?php // vamos definir um valor em radianos $radianos = 1.45; // agora vamos converter para graus $graus = rad2deg($radianos); echo $radianos . " radianos convertido para graus é " . $graus . "<br>"; // outra forma: echo $radianos . " radianos convertido para graus é " . ($radianos * 180) / pi(); ?> Ao executar este código PHP nós teremos o seguinte resultado: 1.45 radianos convertido para graus é 83.078880293969 |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Apostila de Java - Como retornar uma substring em Java usando o método substring() da classe StringQuantidade de visualizações: 326 vezes |
Nesta dica eu mostro como podemos obter parte de uma palavra, frase ou texto, ou seja, extrair uma substring a partir de uma string. Para isso nós podemos usar o método substring() da classe String da linguagem Java. Esta função recebe o índice inicial (começando em 0) e o índice final (também começando em 0). O retorno será a substring contida entre estes índices. Veja o código completo para o exemplo: package arquivodecodigos; public class Estudos{ public static void main(String[] args){ String frase = "Programar em Java é muito bom"; System.out.println("Frase: " + frase); // obtém a palavra Java String res = frase.substring(13, 17); System.out.println("Substring obtida: " + res); System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Frase: Programar em Java é muito bom Substring obtida: Java |
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: VisuAlg Básico |
Exercícios Resolvidos de VisuAlg - Como calcular salário líquido em VisuAlg - Calculando o salário líquido de um professorQuantidade de visualizações: 981 vezes |
Pergunta/Tarefa: Escreva um algoritmo VisuAlg 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 real), o número de horas trabalhadas no mês (como inteiro) e o percentual de desconto do INSS (como real). Em seguida mostre o salário líquido. 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 Veja a resolução comentada deste exercício usando VisuAlg: Algoritmo "Cálculo de Salário Bruto e Líquido em VisuAlg" Var // variáveis usadas para resolver o problema valor_hora_aula: real horas_trabalhadas: inteiro percentual_desconto_inss: real salario_bruto: real salario_liquido: real total_desconto: real Inicio // vamos ler o valor do hora aula escreva("Informe o valor da hora aula: ") leia(valor_hora_aula) // vamos ler o número de horas trabalhadas no mês escreva("Informe o número de horas trabalhadas no mês: ") leia(horas_trabalhadas) // vamos ler o percentual de desconto do INSS escreva("Informe o percentual de desconto do INSS: ") leia(percentual_desconto_inss) // vamos calcular o salário bruto salario_bruto <- valor_hora_aula * horas_trabalhadas // agora calculamos o total do desconto total_desconto <- (percentual_desconto_inss / 100) * salario_bruto // finalmente calculamos o salário líquido salario_liquido <- salario_bruto - total_desconto // mostramos o resultado escreval("Salário Bruto: R$ ", salario_bruto:2:2) escreval("Total de Descontos: R$ ", total_desconto:2:2) escreval("Salário Líquido: R$ ", salario_liquido:2:2) Fimalgoritmo |
Java ::: Tratamento de Erros ::: Erros de Tempo de Execução |
Como corrigir um erro ClassCastException em Java - Como tratar a exceção ClassCastException do JavaQuantidade de visualizações: 17014 vezes |
A exceção ClassCastException é um erro de tempo de execução que ocorre quando tentamos fazer um cast (coerção - conversão explícita) de uma classe para outra classe diferente desta ou que não seja uma superclasse desta. Em outras palavras, casts válidos para classes e interfaces devem seguir as regras abaixo: 1) Se NovoTipo é uma classe, a classe da expressão sendo convertida deve ser do tipo NovoTipo ou herdar de NovoTipo. 2) Se NovoTipo é uma interface, a classe da expressão sendo convertida deve implementar NovoTipo. Considere o código a seguir: public class Estudos{ public static void main(String args[]){ Object x = new Integer(0); System.out.println((String)x); } } Este código compila normalmente. Porém, ao ser executado, a seguinte mensagem de erro é exibida: Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String at Estudos.main(Estudos.java:4) Esta mensagem nos informa que a classe Integer não pode sofrer um cast para String, uma vez que Integer não é e nem herda de String. Veja agora a nova versão: public class Estudos{ public static void main(String args[]){ Object x = new Integer(0); System.out.println((Integer)x); } } Veja que agora nós estamos fazendo o cast de uma referência Object para Integer. Embora Object não seja e nem herde de Integer, o sistema de tempo de execução sabe que x guarda atualmente uma referência a um Integer: Object x = new Integer(0); |
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como usar a propriedade Alignment da classe TColumn para alinhar o conteúdo das células do TDBGrid do DelphiQuantidade de visualizações: 12022 vezes |
O conteúdo de cada coluna, ou seja, todas as células de uma determinada coluna, pode ser alinhado por meio da propriedade Alignment da classe TColumn. Esta propriedade aceita um de três valores (pertencentes à enumeração Classes.TAlignment): taLeftJustify - o texto é alinhado à esquerda; taCenter - o texto é alinhado ao centro; taRightJustify - o texto é alinhado à direita. O valor para esta propriedade pode ser definido em tempo de design ou execução. Para definir o alinhamento do conteúdo de uma coluna em tempo de design, basta clicar com o botão direito no DBGrid e escolher a opção Columns Editor. Em seguida clique na coluna desejada e vá em sua propriedade Alignment no Object Inspector. Em tempo de execução podemos definir o alinhamento para um determinada coluna do DBGrid usando o seguinte trecho de código: procedure TForm3.Button3Click(Sender: TObject); begin // vamos alinhar ao centro o conteúdo das células da // primeira coluna DBGrid1.Columns[0].Alignment := TAlignment.taCenter; end; Veja que neste trecho de código eu usei TAlignment.taCenter. Esta é uma boa forma de indicar no código de onde o valor taCenter está vindo. No entanto, o Delphi permite que se omita o nome da enumeração TAlignment. Esta dica foi escrita e testada no Delphi 2009. |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como criar herança em Java usando extends - Programação orientada a objetos em JavaQuantidade de visualizações: 29287 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 (Pessoa.java) como mostrado no código a seguir: public class Pessoa{ public String nome; public int 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: public class Aluno extends Pessoa{ public String matricula; } Observe que, em Java, a palavra-chave usada para indicar herança é extends. A classe Aluno agora possui três atributos: nome, idade e matricula. Veja um aplicativo demonstrando este relacionamento: public class Estudos{ public static void main(String args[]){ // cria um objeto da classe Aluno Aluno aluno = new Aluno(); aluno.nome = "Osmar J. Silva"; aluno.idade = 36; aluno.matricula = "AC33-65"; // Exibe o resultado System.out.println("Nome: " + aluno.nome + "\n" + "Idade: " + aluno.idade + "\n" + "Matrícula: " + aluno.matricula); } } Ao executar este código nós teremos o seguinte resultado: Nome: Osmar J. Silva Idade: 36 Matrícula: AC33-65 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. Esta dica foi testada no Java 8. |
Você também poderá gostar das dicas e truques de programação abaixo |
VB.NET - Como contar as ocorrências de um caractere em uma string em VB.NET usando o método IndexOf() |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |