C ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular porcentagem em C - Como efetuar cálculos de porcentagem em CQuantidade de visualizações: 28870 vezes |
Cálculos de porcentagens estão presentes em boa parte das aplicações que desenvolvemos. Porém, há momentos em que a mente trava e não conseguimos lembrar com clareza como estes cálculos são feitos, principalmente em C. Esta anotação tem o objetivo de ser uma fonte de pesquisa para os momentos em que suas habilidades matemáticas insistirem em continuar ocultas. Ex: 1 - Suponhamos que um produto que custe R$ 178,00 sofra um acréscimo de 15%. Qual o valor final do produto? Veja o código em C: // Algoritmo que calcula porcentagem em C #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // variáveis usadas na resolução do problema float valor, percentual, valor_final; valor = 178.00; // valor original percentual = 15.0 / 100.0; // 15% valor_final = valor + (percentual * valor); // mostra o resultado printf("O valor final do produto é: %f", valor_final); // O resultado será 204,70 printf("\n\n"); system("PAUSE"); return 0; } Ex: 2 - Um produto, cujo valor original era de R$ 250,00, teve um desconto de 8%. Qual foi seu valor final? Veja o código em C: // Algoritmo que calcula porcentagem em C #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // variáveis usadas na resolução do problema float valor, percentual, valor_final; valor = 250.00; // valor original percentual = 8.0 / 100.0; // 8% valor_final = valor - (percentual * valor); // mostra o resultado printf("O valor final do produto é: %f", valor_final); // O resultado será 230,00 printf("\n\n"); system("PAUSE"); return 0; } Ex: 3 - Em um concurso de perguntas e respostas, um jovem acertou 72 das 90 perguntas apresentadas. Qual foi a porcentagem de acertos? E a porcentagem de erros? Veja o código em C: // Algoritmo que calcula porcentagem em C #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // variáveis usadas na resolução do problema float perguntas, acertos; perguntas = 90.0; acertos = 72.0; // mostra a porcentagem de acertos printf("Porcentagem de acertos: %f%%", ((acertos / perguntas) * 100)); // mostra a porcentagem de erros printf("\nPorcentagem de erros: %f%%", ((perguntas - acertos) / perguntas) * 100); // Os resultados serão 80% e 20% printf("\n\n"); system("PAUSE"); return 0; } Ex: 4 - Um aparelho de CD foi adquirido por R$ 300,00 e revendido por R$ 340,00. Qual foi a porcentagem de lucro na transação? Veja o código em C: // Algoritmo que calcula porcentagem em C #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // variáveis usadas na resolução do problema float valor_anterior, novo_valor, porcentagem_lucro; valor_anterior = 300.0; // valor anterior novo_valor = 340.0; // valor novo // calcula a porcentagem de lucro // efetua o cálculo porcentagem_lucro = ((novo_valor * 100) / valor_anterior) - 100; printf("A porcentagem de lucro foi de: %f%%", porcentagem_lucro); // O resultado será 13,33 printf("\n\n"); system("PAUSE"); return 0; } Ex: 5 - Uma loja repassa 5% do lucro a seus vendedores. Se um produto custa R$ 70,00, qual o valor em reais repassado a um determinado vendedor? Veja o código em C: // Algoritmo que calcula porcentagem em C #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // variáveis usadas na resolução do problema float valor, percentual, comissao; valor = 70.0; // valor do produto percentual = 5.0 / 100.0; // 5% // calcula a comissão comissao = percentual * valor; // mostra o resultado printf("O valor repassado ao vendedor é: %f", comissao); // O resultado será 3,5 printf("\n\n"); system("PAUSE"); return 0; } |
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como comparar strings em C++ usando o método compare() da classe StringQuantidade de visualizações: 22931 vezes |
Nesta dica mostrarei como podemos usar a função compare() da classe String da linguagem C++ para comparar duas palavras, frases ou textos. Se as duas strings forem iguais, o valor 0 é retornado. Um valor diferente de 0 indica que as duas strings não são iguais. Lembre-se de que esta função distingue entre maiúsculas e minúsculas. Veja como esta função pode ser usada: int compare(const string& str) const; int compare(const char* s) const; Podemos chamar esta função de duas formas: a) Fornecendo uma variável como parâmetro; b) Fornecendo uma string entre aspas. Veja agora um exemplo C++ completo demonstrando o seu uso: #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ string str1("Java"); string str2("JAVA"); if(str1.compare(str2) == 0){ cout << str1 << " é igual a " << str2 << "\n"; } else{ cout << str1 << " é diferente de " << str2 << "\n"; } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Java é diferente de JAVA |
Python ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como testar se um ponto está dentro de um círculo em Python - Desenvolvimento de Games com PythonQuantidade de visualizações: 1295 vezes |
Quando estamos trabalhando com computação gráfica, geometria e trigonometria ou desenvolvimento de jogos em Python, é comum precisarmos verificar se um determinado ponto (uma coordenada x, y) está contido dentro de um círculo. Para melhor entendimento, veja a imagem a seguir: ![]() Veja que temos um círculo com raio igual a 115 e com centro nas coordenadas (x = 205; y = 166). Temos também dois pontos. O ponto vermelho está nas coordenadas (x = 140; y = 90) e o ponto azul está nas coordenadas (x = 330; y = 500. Como podemos ver na imagem, o ponto vermelho está dentro do círculo, enquanto o ponto azul está fora. E nosso intenção nesta dica é escrever o código Python que permite fazer essa verificação. Tenha em mente que está técnica é muito útil para o teste de colisões no desenvolvimento de games. Veja o código completo para o exemplo: # vamos importar o módulo Math import math # vamos declarar a classe Circulo class Circulo: # construtor da classe def __init__(self, xc, yc, raio): self.xc = xc self.yc = yc self.raio = raio # agora vamos declarar a classe Ponto class Ponto: def __init__(self, x, y): self.x = x # coordenada x self.y = y # coordenada y # método principal def main(): # vamos criar um objeto Circulo c = Circulo(205, 166, 115) # vamos criar um objeto Ponto p = Ponto(140, 90) # vamos verificar se o ponto está dentro do # círculo dx = p.x - c.xc; dy = p.y - c.yc; if((math.pow(dx, 2) + math.pow(dy, 2)) < math.pow(c.raio, 2)): print("O ponto está dentro do círculo") else: print("O ponto NÃO está dentro do círculo") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: O ponto está dentro do círculo. Experimente com círculos de raios e coordenadas centrais diferentes e também com pontos em várias coordenadas e veja como os resultados são interessantes. |
C ::: Dicas & Truques ::: Arquivos e Diretórios |
Como excluir arquivos em C usando a função remove()Quantidade de visualizações: 19328 vezes |
A função remove(), disponível no header stdio.h, pode ser usada para excluir arquivos. Veja sua assinatura:int remove(const char *filename); Veja que esta função recebe o caminho e nome do arquivo a ser excluído e retorna um valor inteiro. Se o arquivo for excluído com sucesso, o valor 0 será retornado. Veja um exemplo: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // nome do arquivo a ser excluído char *arquivo = "c:\\testes.txt"; // vamos excluir if(remove(arquivo) == 0) printf("Arquivo foi excluido com sucesso."); else printf("Nao foi possivel excluir o arquivo."); printf("\n\n"); system("PAUSE"); return 0; } |
JavaScript ::: Dicas & Truques ::: Miscelâneas |
JavaScript para iniciantes - Como obter o valor do maior número possível em JavaScript usando Number.MAX_VALUEQuantidade de visualizações: 8850 vezes |
Quando estamos desenvolvendo aplicações em JavaScript que lidam intensivamente com valores numéricos, é sempre uma boa idéia sabermos, de antemão, qual o maior valor numérico possível nessa linguagem de programação. Para isso podemos usar a propriedade MAX_VALUE do objeto Number. Veja como isso pode ser feito no trecho de código abaixo: <html> <head> <title>Estudando JavaScript</title> </head> <body> <script type="text/javascript"> var maximo = Number.MAX_VALUE; document.write("O maior número em JavaScript é " + maximo); </script> </body> </html> Ao executar este código nós teremos o seguinte resultado: O maior número em JavaScript é 1.7976931348623157e+308 Qualquer valor numérico acima disso, será tratado pela linguagem JavaScript como Infinity. |
C# ::: Windows Forms ::: ListBox |
Como excluir um item de uma ListBox do C# Windows Forms baseado em seu valor usando a função Remove() da propriedade ListBox.ItemsQuantidade de visualizações: 689 vezes |
Nesta dica mostrarei como remover um item de uma ListBox do C# Windows Forms usando a função Remove() da propriedade Items da classe ListBox. Note que, se o item fornecido ao método Remove() não estiver na lista, nada acontecerá. Veja o trecho de código: private void button2_Click(object sender, EventArgs e){ // exclui o elemento com o valor "Curitiba" listBox1.Items.Remove("Curitiba"); } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercício Resolvido de Java - Escreva um programa Java que leia os elementos de um vetor A de dez elementos inteiros e construa outro vetor BQuantidade de visualizações: 432 vezes |
Pergunta/Tarefa: Escreva um programa Java que leia os elementos de um vetor A de dez elementos inteiros e construa outro vetor B com seus elementos distribuídos da seguinte forma: Vetor A = [8, 5, 4, 1, 2, 3, 4, 6, 9, 7] Vetor B = [24, 10, 12, 2, 6, 6, 12, 12, 27, 14] Note que os elementos do vetor B seguem um padrão. Se o elemento do vetor A estiver em uma posição par, então o elemento do vetor B será o triplo do elemento do vetor A. Caso contrário o elemento do vetor B será o dobro do elemento do vetor A. Neste exercício a primeira posição/índice dos vetores é assumida como sendo zero. Em algumas linguagens de programação o primeiro índice é um e não zero. Sua saída deverá ser parecida com: Informe o valor do 1.o elemento: 8 Informe o valor do 2.o elemento: 5 Informe o valor do 3.o elemento: 4 Informe o valor do 4.o elemento: 1 Informe o valor do 5.o elemento: 2 Informe o valor do 6.o elemento: 3 Informe o valor do 7.o elemento: 4 Informe o valor do 8.o elemento: 6 Informe o valor do 9.o elemento: 9 Informe o valor do 10.o elemento: 7 Elementos do vetor A: 8, 5, 4, 1, 2, 3, 4, 6, 9, 7 Elementos do vetor B: 24, 10, 12, 2, 6, 6, 12, 12, 27, 14 Veja a resolução comentada deste exercício em Java: package estudos; 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 declarar e construir dois vetores de 10 inteiros int vetor_a[] = new int[10]; int vetor_b[] = new int[10]; // agora vamos pedir para o usuário informar os valores // dos elementos do vetor A for(int i = 0; i < vetor_a.length; i++){ System.out.print("Informe o valor do " + (i + 1) + ".o elemento: "); vetor_a[i] = Integer.parseInt(entrada.nextLine()); } // vamos construir o vetor B for(int i = 0; i < vetor_a.length; i++){ // o índice atual é par? if(i % 2 == 0){ vetor_b[i] = vetor_a[i] * 3; } else{ vetor_b[i] = vetor_a[i] * 2; } } // vamos mostrar os elementos do vetor A System.out.println("\nElementos do vetor A:\n"); for(int i = 0; i < vetor_a.length; i++){ System.out.print(vetor_a[i] + ", "); } // vamos mostrar os elementos do vetor B System.out.println("\n\nElementos do vetor B:\n"); for(int i = 0; i < vetor_b.length; i++){ System.out.print(vetor_b[i] + ", "); } System.out.println(); } } |
Java ::: Coleções (Collections) ::: Set (Conjunto) |
Como usar objetos da interface Set do Java para representar a interseção (ou intersecção) de dois ou mais conjuntosQuantidade de visualizações: 4699 vezes |
Na teoria dos conjuntos, a interseção (português brasileiro) ou intersecção (português europeu) de dois ou mais conjuntos é o conjunto dos elementos que, simultaneamente, pertencem a dois ou mais destes conjuntos. Assim, seja A = {2, 5, 8, 19, 30} e B = {2, 3, 1, 30}. A interseção desses dois conjuntos é C = {2, 30}. Na programação Java podemos representar a interseção de dois conjuntos usando objetos da interface Set e qualquer uma de suas implementações. Para este exemplo vou usar a classe TreeSet, que permite a ordenação dos elementos. Veja o código: package estudos; import java.util.Iterator; import java.util.Set; import java.util.TreeSet; public class Estudos{ public static void main(String[] args) { // primeiro conjunto Set<Integer> conjuntoA = new TreeSet<>(); conjuntoA.add(2); conjuntoA.add(5); conjuntoA.add(8); conjuntoA.add(19); conjuntoA.add(30); // segundo conjunto Set<Integer> conjuntoB = new TreeSet<>(); conjuntoB.add(2); conjuntoB.add(3); conjuntoB.add(1); conjuntoB.add(30); // vamos obter a interseção dos dois conjuntos Set<Integer> conjuntoC = intersecao(conjuntoA, conjuntoB); // vamos exibir os elementos no conjunto C Iterator iterator = conjuntoC.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } } // método genérico que permite obter a interseção de dois conjuntos public static <T> Set<T> intersecao(Set<T> conjA, Set<T> conjB){ Set<T> conjC = new TreeSet<>(); // percorremos todos os elementos do conjunto A for(T elemento: conjA){ // e verificamos se o elemento está contido no conjunto B if(conjB.contains(elemento)){ conjC.add(elemento); // se estiver contido nós o adicionamos no conjunto C } } return conjC; // e retornamos o conjunto C } } Ao executarmos este código teremos o seguinte resultado: 2 30 |
C ::: Dicas & Truques ::: Strings e Caracteres |
Como contar as ocorrências de um determinado caractere em uma string usando a linguagem CQuantidade de visualizações: 11416 vezes |
Em algumas situações precisamos obter a quantidade de vezes que um caractere ocorre dentro de uma string. Para isso podemos usar a função personalizada char_count(). Esta função recebe a string e o caractere que desejamos pesquisar e retorna um inteiro contendo a quantidade de vezes que o caractere foi encontrado. Veja o código (usando apenas ANSI-C): #include <stdio.h> #include <stdlib.h> #include <string.h> // função personalizada que permite contar as // ocorrências de um caractere em uma string int char_count(const char *str, char caractere){ int i, quant = 0; // vamos percorrer todos os caracteres da string for(i = 0; str[i]; i++){ if(str[i] == caractere){ // localizamos quant++; } } return quant; } int main(int argc, char *argv[]){ char frase[] = "Gosto muito de Java, JavaScript e Python"; printf("Ocorrencias encontradas: %d", char_count(frase, 'a')); puts("\n\n"); system("PAUSE"); return 0; } Ao executarmos este código nós teremos o seguinte resultado: Ocorrencias encontradas: 4 |
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como remover todos os espaços de uma string em Ruby usando a função deleteQuantidade de visualizações: 9172 vezes |
Em alguns casos, pode ser necessário removermos todos os espaços de uma frase ou texto em Ruby. Isso pode ser feito com o auxílio do método delete() da classe String. Veja o exemplo a seguir: # declara e inicializa uma variável string frase = "Gosto muito de Ruby" puts "A frase original é: " + frase # vamos remover todos os espaços # veja que estamos alterando a string original frase.delete!(" ") puts "Com os espaços removidos: " + frase Ao executarmos este código Ruby nós teremos o seguinte resultado: A frase original é: Gosto muito de Ruby Com os espaços removidos: GostomuitodeRuby |
Nossas 20 dicas & truques de programação mais populares |
Delphi - Como calcular o coeficiente angular de uma reta em Delphi dados dois pontos no plano cartesiano QGIS - Como definir o título do projeto do QGIS usando PyQGIS e a função setTitle() da classe QgsProject JavaScript - Como calcular a equação reduzida da reta em JavaScript dados dois pontos pertencentes à reta |
Você também poderá gostar das dicas e truques de programação abaixo |
Java - Como remover itens repetidos de uma ArrayList usando um objeto da classe LinkedHashSet do Java |
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 |