C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como acessar os caracteres individuais de uma string em C++ usando a função at()Quantidade de visualizações: 7308 vezes |
Nesta dica mostrarei como podemos usar a função at() para percorrer os caracteres individuais de uma palavra, frase ou texto em C++. Esta função recebe o índice do caractere que queremos acessar e retorna o caractere correspondente. Note que o índice começa em 0. Veja o código C++ completo para o exemplo: #include <iostream> #include <string> using namespace std; // função principal do programa int main(int argc, char *argv[]){ // vamos criar uma nova string string palavra("PYTHON"); // vamos percorrer os caracteres um de cada vez for(int i = 0; i < palavra.size(); i++){ cout << palavra.at(i) << "\n"; } cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: P Y T H O N |
Java ::: Coleções (Collections) ::: Stack |
Java Collections - Como adicionar novos elementos a uma Stack JavaQuantidade de visualizações: 9306 vezes |
Elementos são adicionados a uma pilha (um objeto da classe Stack) por meio do método push(). Veja sua assinatura:public E push(E item) Veja um trecho de código no qual adicionamos três elementos à pilha: package arquivodecodigos; import java.util.*; public class Estudos{ public static void main(String args[]){ // Cria uma Stack de String Stack<String> pilha = new Stack<>(); System.out.println("Tamanho da pilha antes: " + pilha.size()); // adiciona três elementos na pilha pilha.push("Cuiabá"); pilha.push("Goiânia"); pilha.push("Belo Horizonte"); System.out.println("Tamanho da pilha agora: " + pilha.size()); } } Ao executarmos este código Java nós teremos o seguinte resultado: Tamanho da pilha antes: 0 Tamanho da pilha agora: 3 |
C# ::: LINQ ::: LINQ to Objects |
Como retornar o maior elemento em um array de int em C# usando a função Max() do LINQQuantidade de visualizações: 1076 vezes |
Nesta dica mostrarei, em um exemplo bem simples, como podemos usar o método Max() do LINQ (Language-Integrated Query) do C# para retornar o maior elemento de um vetor de inteiros. Note que temos um vetor de int com os valores {5, 2, 8, 3, 0, 1} e o valor 8 deverá ser retornado como sendo o maior. Veja o código completo para o exemplo: using System; using System.Linq; namespace Estudos { class Principal { static void Main(string[] args) { // vamos construir um vetor de inteiros int[] valores = {5, 2, 8, 3, 0, 1}; // vamos obter o maior elemento do vetor int maior = valores.Max(); // vamos mostrar o resultado Console.WriteLine("O maior valor é: {0}", maior); Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: O maior valor é: 8 Fique atento ao fato de que o método Max() pode atirar uma exceção do tipo InvalidOperation se o array ou coleção estiver vazia ou não incluir nenhum elemento que se encaixe nas condições testadas. Veja o resultado ao chamarmos este método em um vetor vazio: System.InvalidOperationException HResult=0x80131509 Message=Sequence contains no elements Source=System.Linq StackTrace: at System.Linq.ThrowHelper.ThrowNoElementsException() at System.Linq.Enumerable.Max(IEnumerable`1 source) at Estudos.Principal.Main(String[] args) in C:\estudos_c#\Estudos\Principal.cs:line 11 |
Python ::: Dicas & Truques ::: Formatação de datas, strings e números |
Python para matemática - Como definir a precisão (casas decimais) na exibição de um valor de ponto-flutuante em PythonQuantidade de visualizações: 15084 vezes |
Este trecho de código mostra como definir a precisão com que um número de ponto-flutuante será exibido. Atenção: Arredondamentos podem ocorrer dependendo da redução das casas decimais. Veja o código Python completo para a dica: def main(): valor = 43.13985765 # com dois dígitos print("O valor e %.2f" % valor) # com três dígitos print("O valor e %.3f" % valor) # com um dígito print("O valor e %.1f" % valor) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: O valor é 43.14 O valor é 43.140 O valor é 43.1 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Como calcular lucro mensal de uma empresa em Java - O lucro de uma empresa é dado por L(x) = 10x - 5000, onde x é a quantidadeQuantidade de visualizações: 732 vezes |
Pergunta/Tarefa: O lucro de uma empresa é dado por L(x) = 10x - 5000, onde x é a quantidade de produtos vendidos num determinado mês e 5000 são os custos de execução do trabalho da empresa. Escreva um programa Java que leia a quantidade de produtos vendidos como um número inteiro e calcule e mostre o lucro mensal dessa empresa. Sua saída deverá ser parecida com: Informe a quantidade de produtos vendidos: 950 O lucro da empresa foi: R$ 4500.0 Veja a resolução comentada deste exercício usando Java: package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // variáveis usadas na resolução do problema int quant_produtos_vendidos; double lucro; // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir a quantidade de produtos vendidos System.out.print("Informe a quantidade de produtos vendidos: "); quant_produtos_vendidos = Integer.parseInt(entrada.nextLine()); // vamos calcular o lucro da empresa lucro = (10 * quant_produtos_vendidos) - 5000; // e mostramos o resultado System.out.println("O lucro da empresa foi: R$ " + lucro); } } |
Python ::: cmath Python Module (Módulo Python cmath para números complexos) ::: Números Complexos (Complex Numbers) |
Como converter um número complexo na forma retangular para a forma polar usando PythonQuantidade de visualizações: 2347 vezes |
Quando estamos efetuando cálculos envolvendo números complexos, é comum precisarmos converter da forma retangular para a forma polar, e vice-versa. Um número complexo na forma retangular apresenta o seguinte formato: 7 + j5 onde 7 é a parte real e 5 é a parte imaginária. Note que usei a notação "j" em vez de "i" para a parte imaginária, uma vez que a notação "j" é a mais comum na engenharia. O número complexo na forma polar, por sua vez, é composto pelo raio e pela fase (phase), que é o ângulo theta (ângulo da inclinação da hipotenusa em relação ao cateto adjascente). O raio, representado por r, é o módulo do vetor cujas coordenadas são formadas pela parte real e a parte imaginária do número complexo. A parte real se encontra no eixo das abcissas (x) e a parte imaginária fica no eixo das ordenadas (y). Veja agora o código Python completo que lê a parte real e a parte imaginária de um número complexo e o exibe na forma polar: # vamos importar o módulo de matemática de números complexos import cmath # método principal def main(): # vamos ler a parte real e a parte imaginária do # número complexo real = float(input("Parte real do número complexo: ")) imaginaria = float(input("Parte imaginária do número complexo: ")) # constrói o número complexo z = complex(real, imaginaria) # mostra o valor absoluto na forma polar print ("Valor absoluto (raio ou módulo): ", abs(z)) # mostra a fase do número complexto na forma polar print("Fase em radianos: ", cmath.phase(z)) print("Fase em graus: ", cmath.phase(z) * (180 / cmath.pi)) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Parte real do número complexo: 3 Parte imaginária do número complexo: -4 Valor absoluto (raio ou módulo): 5.0 Fase em radianos: -0.9272952180016122 Fase em graus: -53.13010235415598 |
Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em Java dados dois pontos no plano cartesianoQuantidade de visualizações: 1699 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 Java 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: package arquivodecodigos; import java.util.Scanner; public class Estudos{ public static void main(String args[]){ // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // coordenadas dos dois pontos double x1, y1, x2, y2; // guarda o coeficiente angular double m; // x e y do primeiro ponto System.out.print("Coordenada x do primeiro ponto: "); x1 = Double.parseDouble(entrada.nextLine()); System.out.print("Coordenada y do primeiro ponto: "); y1 = Double.parseDouble(entrada.nextLine()); // x e y do segundo ponto System.out.print("Coordenada x do segundo ponto: "); x2 = Double.parseDouble(entrada.nextLine()); System.out.print("Coordenada y do segundo ponto: "); y2 = Double.parseDouble(entrada.nextLine()); // vamos calcular o coeficiente angular m = (y2 - y1) / (x2 - x1); // mostramos o resultado System.out.println("O coeficiente angular é: " + m); System.out.println("\n\n"); System.exit(0); } } Ao executar este código Java 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.6666666666666666 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__$): package arquivodecodigos; import java.util.Scanner; public class Estudos{ public static void main(String args[]){ // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // coordenadas dos dois pontos double x1, y1, x2, y2; // guarda os comprimentos dos catetos oposto e adjascente double cateto_oposto, cateto_adjascente; // guarda o ângulo tetha (em radianos) e a tangente double tetha, tangente; // x e y do primeiro ponto System.out.print("Coordenada x do primeiro ponto: "); x1 = Double.parseDouble(entrada.nextLine()); System.out.print("Coordenada y do primeiro ponto: "); y1 = Double.parseDouble(entrada.nextLine()); // x e y do segundo ponto System.out.print("Coordenada x do segundo ponto: "); x2 = Double.parseDouble(entrada.nextLine()); System.out.print("Coordenada y do segundo ponto: "); y2 = Double.parseDouble(entrada.nextLine()); // 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 = Math.atan2(cateto_oposto, cateto_adjascente); // e finalmente usamos a tangente desse ângulo para calcular // o coeficiente angular tangente = Math.tan(tetha); // mostramos o resultado System.out.println("O coeficiente angular é: " + tangente); System.out.println("\n\n"); System.exit(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. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Exercício Resolvido de C - Ler três números inteiros e indicar se eles estão em ordem crescente ou decrescenteQuantidade de visualizações: 1149 vezes |
Pergunta/Tarefa: Escreva um programa C que pede para o usuário informar três números inteiros e informa se eles estão em ordem crescente ou decrescente. Se os números estiverem em ordem crescente, escreva "Ordem Crescente". Se estiverem em ordem decrescente, escreva "Ordem Decrescente". Do contrário escreva "Sem ordem definida". Sua saída deverá ser parecida com: Primeiro número: 4 Segundo número: 8 Terceiro número: 11 Ordem Crescente Veja a resolução comentada deste exercício em C: #include <stdio.h> #include <stdlib.h> #include <locale.h> // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas na resolução do exercício int a, b, c; setlocale(LC_ALL,""); // para acentos do português // vamos pedir para o usuário informar três números printf("Primeiro número: "); scanf("%d", &a); printf("Segundo número: "); scanf("%d", &b); printf("Terceiro número: "); scanf("%d", &c); // os números estão em ordem crescente? if (a < b && b < c){ printf("Ordem Crescente"); } // os números estão em ordem decrescente? else if (a > b && b > c){ printf("Ordem Decrescente"); } // sem ordem definida else{ printf("Sem ordem definida"); } printf("\n\n"); system("PAUSE"); return 0; } |
Python ::: Dicas & Truques ::: Matemática e Estatística |
Como obter a série de Fibonacci recursivamente usando Python - Como calcular a sequência de Fibonacci em PythonQuantidade de visualizações: 15919 vezes |
Na matemática, os números de Fibonacci são uma sequência ou sucessão definida como recursiva pela fórmula: Fn = Fn - 1 + Fn - 2 Os primeiros números de Fibonacci são: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, ... Esta sequência foi descrita primeiramente por Leonardo de Pisa, também conhecido como Fibonacci, para descrever o crescimento de uma população de coelhos. Veja um techo de código que mostra como calcular e mostrar a sequência de Fibonacci de forma recursiva: # método recursivo para calcular o Fibonacci de um # número def fibonacci(num): if num < 0: print("Não é possível obter o fibonacci de um numero negativo.") if ((num == 0) or (num == 1)): return num else: return fibonacci(num - 1) + fibonacci(num - 2) def main(): # vamos ler a entrada do usuário numero = int(input("Informe um inteiro: ")) # vamos obter o resultado res = fibonacci(numero) print("Fibonacci(%d) = %d" % (numero, res)) if __name__== "__main__": main() Ao executarmos este código nós teremos um resultado parecido com: Informe um inteiro: 7 Fibonacci(7) = 13 E agora saindo um pouco de Python: Leonardo Pisa (1175-1240) publicou a sequência de Fibonacci no seu livro Liber Abaci (Livro do Ábaco, em português), o qual data de 1202. Porém, comenta-se que os indianos já haviam descrito essa série antes dele. Se pegarmos um número da série de Fibonacci e o dividirmos pelo seu antecessor (por exemplo: 55 dividido por 34), teremos quase sempre o valor 1,618. Este valor é aplicado com muita frequência em análises financeiras e na informática. Leonardo Da Vinci, que chamou essa sequência de Divina Proporção, a usou para fazer desenhos perfeitos. De fato, se observarmos atentamente, perceberemos a sequência de Fibonacci também na natureza. São exemplos disso as folhas das árvores, as pétalas das rosas, os frutos, como o abacaxi, as conchas espiraladas dos caracóis ou as galáxias. |
PHP ::: Dicas & Truques ::: Matemática e Estatística |
PHP para matemática - Como arredondar valores fracionários usando a função round() do PHPQuantidade de visualizações: 8898 vezes |
A função round() do PHP pode ser usada quando queremos arredondar valores fracionários para o inteiro mais próximo. Se a parte fracionária for menor que 0.5, o resultado será o menor número inteiro mais próximo do valor sendo arredondado. Se a parte fracionária for igual ou maior que 0.5, então o resultado será o maior número inteiro mais próximo do valor sendo arredondado. Desta forma, se aplicarmos esta função ao valor 6.4, o resultado será 6. Veja: <? // valor a ser arredondado $valor = 6.4; // vamos arredondar usando a função round() $valor2 = round($valor); // vamos exibir o resultado echo "O valor " . $valor . " arredondado usando " . " round() resulta em: " . $valor2; ?> Ao executarmos este código teremos o seguinte resultado: O valor 6.4 arredondado usando round() resulta em: 6. Veja agora o resultado de se aplicar a função round() ao valor 7.5: <? // valor a ser arredondado $valor = 7.5; // vamos arredondar usando a função round() $valor2 = round($valor); // vamos exibir o resultado echo "O valor " . $valor . " arredondado usando " . " round() resulta em: " . $valor2; ?> Agora o resultado será: O valor 7.5 arredondado usando round() resulta em: 8. |
Nossas 20 dicas & truques de programação mais populares |
JavaScript - Como retornar o tamanho de uma string em JavaScript usando a propriedade length do objeto String |
Você também poderá gostar das dicas e truques de programação abaixo |
JavaScript - Como usar a propriedade parentNode para obter o objeto pai de um elemento na hierarquia do DOM do JavaScript |
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 |