![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercício Resolvido de Java - Como calcular o restante de um salário após o pagamento de duas contas com jurosQuantidade de visualizações: 5029 vezes |
Pergunta/Tarefa: Cintia acaba de receber seu salário mas precisa pagar duas contas atrasadas. Por causa do atraso, ela deverá pagar multa de 2% sobre cada conta. Faça um programa que leia o valor do salário e das duas contas e que calcule e mostre quanto restará do salário de Cintia. Sua saída deverá ser parecida com: Informe o salário: 1350 Valor da primeira conta: 140 Valor da segunda conta: 300 Total das contas sem juros: 440.0 Total dos juros: 8.8 Total das contas com juros: 448.8 Sobra do salário: 901.2 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) { // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir que o usuário informe o valor do salário e das duas contas System.out.print("Informe o salário: "); double salario = Double.parseDouble(entrada.nextLine()); System.out.print("Valor da primeira conta: "); double conta1 = Double.parseDouble(entrada.nextLine()); System.out.print("Valor da segunda conta: "); double conta2 = Double.parseDouble(entrada.nextLine()); // total a ser pago nas duas contas sem os juros double totalContas = conta1 + conta2; // calcula os juros double totalJuros = totalContas * 0.02; // total a ser pago com juros double totalContasComJuros = totalContas + totalJuros; // sobra do salário double sobraSalario = salario - totalContasComJuros; // mostra os resultados System.out.println("\nTotal das contas sem juros: " + totalContas); System.out.println("Total dos juros: " + totalJuros); System.out.println("Total das contas com juros: " + totalContasComJuros); System.out.println("Sobra do salário: " + sobraSalario); System.out.println("\n"); } } |
C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como usar vetores e matrizes (arrays) na linguagem C++Quantidade de visualizações: 38106 vezes |
Vetores e matrizes, também chamados de arrays em programação, são grupos consecutivos de locais na memória que possuem o mesmo tipo de dados, ou seja, um vetor ou matriz em C++ pode conter apenas elementos do mesmo tipo. Um vetor é uma matriz de um coluna e várias linhas, enquanto uma matriz é a matriz propriamente dita, ou seja, que possui várias linhas e várias colunas. Veja um trecho de código no qual temos um vetor contendo 5 elementos do tipo int: #include <iostream> using namespace std; int main(int argc, char *argv[]) { // declara e inicializa a matriz int valores[5] = {65, 3, 8, 41, 12}; // exibe os elementos da matriz for(int i = 0; i < 5; i++){ cout << "Posição: " << i << " - Valor: " << valores[i] << endl; } system("PAUSE"); // pausa o programa return 0; } Ao executarmos este código nós teremos o seguinte resultado: Posição: 0 - Valor: 65 Posição: 1 - Valor: 3 Posição: 2 - Valor: 8 Posição: 3 - Valor: 41 Posição: 4 - Valor: 12 Pressione qualquer tecla para continuar. . . Aqui nós usamos a técnica de declarar e inicializar o vetor em uma mesma linha. Em seguida usamos um laço para percorrer todos os elementos. Veja que os elementos do vetor são acessados usando um índice que começa em 0 e vai até a quantidade de elementos menos 1. Veja agora um trecho de código que declara um vetor e inicializa seus elementos usando um laço for: #include <iostream> using namespace std; int main(int argc, char *argv[]) { // declara a matriz int valores[5]; // inicializa os elementos usando um laço for(int i = 0; i < 5; i++){ valores[i] = 2 * i; } // exibe os elementos da matriz for(int i = 0; i < 5; i++){ cout << "Posição: " << i << " - Valor: " << valores[i] << endl; } system("PAUSE"); // pausa o programa return 0; } Ao executarmos este código nós teremos o seguinte resultado: Posição: 0 - Valor: 0 Posição: 1 - Valor: 2 Posição: 2 - Valor: 4 Posição: 3 - Valor: 6 Posição: 4 - Valor: 8 Pressione qualquer tecla para continuar. . . É importante notar que, se não inicializados, os valores dos elementos de um vetor poderão guardar valores aleatórios. Jamais confie que eles terão o valor 0 por padrão. |
Java ::: Dicas & Truques ::: Expressões Regulares |
Como remover todos os espaços de uma string em Java usando expressões regularesQuantidade de visualizações: 8226 vezes |
Nesta dica mostrarei como usar o método replaceAll() da classe Matcher da linguagem Java para remover todos os espaços de um texto ou frase. Esta classe faz parte do pacote java.util.regex e é usada em quase todos os códigos Java envolvendo expressões regulares. Veja o código completo para o exemplo: package arquivodecodigos; import java.util.regex.*; public class Estudos{ public static void main(String args[]){ String padrao = "\\s"; Pattern regPat = Pattern.compile(padrao); String frase = "Esta frase contém alguns espaços"; System.out.println(frase); Matcher matcher = regPat.matcher(frase); String res = matcher.replaceAll(""); System.out.println("Sem espaços: " + res); } } Ao executar este código Java nós teremos o seguinte resultado: Esta frase contém alguns espaços Sem espaços: Estafrasecontémalgunsespaços |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como transformar em letras maiúsculas as iniciais de cada palavra em uma string C# usando o método ToTitleCase() da classe TextInfoQuantidade de visualizações: 14277 vezes |
O método ToTitleCase() da classe TextInfo da linguagem C# nos permite converter para letras maiúsculas as inicias de cada uma das palavras que compoem uma frase ou texto. Esta técnica é muito útil quando estamos trabalhando com o processamento de strings em C#. Veja um exemplo completo do uso dessa função: using System; using System.Globalization; namespace Estudos { class Program { static void Main(string[] args) { string frase = "gosto de java e c#"; Console.WriteLine("Frase original: " + frase); // vamos converter cada letra inicial para maiúsculas frase = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(frase); Console.WriteLine("Depois do método ToTitleCase(): " + frase); Console.WriteLine("\n\nPressione qualquer tecla para sair..."); // pausa o programa Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Frase original: gosto de java e c# Depois do método ToTitleCase(): Gosto De Java E C# |
Python ::: Dicas & Truques ::: Rotinas de Conversão |
Como converter uma string para um valor numérico inteiro usando a função int() do PythonQuantidade de visualizações: 20734 vezes |
Em algumas situações precisamos converter uma string ou a entrada do usuário para um valor inteiro. Isso pode ser feito por meio da função nativa int(). Esta função recebe uma string (conjunto de dígitos, letras e símbolos) e a converte (ou pelo menos tenta) em um valor inteiro. Veja um exemplo: """ Este trecho de código mostra como ler dois valores informados pelo usuário, convertê-los para inteiros e efetuar uma soma. A função int() é usada para converter uma string ou valor numérico para um inteiro. """ def main(): # vamos ler os dois valores val1 = input("Informe o primeiro número: ") val2 = input("Informe o segundo número: ") soma = int(val1) + int(val2); print("A soma dos valores é: ", soma) if __name__== "__main__": main() A saída deste código será parecida com: Informe o primeiro número: 12 Informe o segundo número: 8 A soma dos valores é: 20 Note que, por padrão, a função int() converte a string para um valor inteiro usando a base 10, ou seja, a base decimal. É possível fornecer uma base diferente. Veja, por exemplo, como ler uma string contendo um valor binário: def main(): # vamos ler um valor binário. Ex: 0101 binario = input("Informe um valor binário: ") print("O valor lido foi:", int(binario, 2)) if __name__== "__main__": main() O resultado da execução desse código será algo como: Informe um valor binário: 0101 O valor lido foi: 5 |
Delphi ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em Delphi dados dois pontos no plano cartesianoQuantidade de visualizações: 1413 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 Delphi 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: procedure TForm4.Button2Click(Sender: TObject); var x1, y1, x2, y2, m: Double; begin // x e y do primeiro ponto x1 := 3; y1 := 6; // x e y do segundo ponto x2 := 9; y2 := 10; // agora vamos calcular o coeficiente angular m := (y2 - y1) / (x2 - x1); // e mostramos o resultado Memo1.Lines.Add('O coeficiente angular é: ' + FloatToStr(m)); end; Ao executar este código em linguagem Delphi nós teremos o seguinte resultado: O coeficiente angular é: 0,666666666666667 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__$): procedure TForm4.Button2Click(Sender: TObject); var x1, y1, x2, y2, tangente: Double; cateto_oposto, cateto_adjascente, tetha: Double; begin // incluir a unit Math // x e y do primeiro ponto x1 := 3; y1 := 6; // x e y do segundo ponto x2 := 9; y2 := 10; // 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 := ArcTan2(cateto_oposto, cateto_adjascente); // e finalmente usamos a tangente desse ângulo para calcular // o coeficiente angular tangente := Tan(tetha); // e mostramos o resultado Memo1.Lines.Add('O coeficiente angular é: ' + FloatToStr(tangente)); end; 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. |
Delphi ::: Dicas & Truques ::: Rotinas de Conversão |
Como converter um valor inteiro em um caractere usando a função Chr() do DelphiQuantidade de visualizações: 14402 vezes |
Em algumas situações precisamos converter um valor inteiro em um caractere, ou seja, uma letra, símbolo, dígito, etc. Para isso podemos usar a função Chr() do Delphi. Esta função recebe um valor inteiro e retorna seu caractere correspondente de acordo com a tabela ASCII. Vamos ver um exemplo? Eis um trecho de código que declara uma variável do tipo Integer e depois a converte para um caractere: procedure TForm3.Button2Click(Sender: TObject); var valor: Integer; letra: Char; begin // vamos atribuir à variável valor o número 70 valor := 70; // vamos converter este valor para um caractere // o resultado será a letra F letra := Chr(valor); // vamos mostrar o resultado ShowMessage(letra); end; Ao executar este código teremos o valor 70 convertido para a letra "F". Note que também é possível converter um valor inteiro em um caractere usando uma conversão forçada (cast) para o tipo Char. Veja: procedure TForm3.Button2Click(Sender: TObject); var valor: Integer; letra: Char; begin // vamos atribuir à variável valor o número 70 valor := 70; // vamos converter este valor para um caractere // o resultado será a letra F letra := Char(valor); // vamos mostrar o resultado ShowMessage(letra); end; Neste segundo trecho de código nós conseguimos o mesmo resultado do código anterior, mas, sem usar a função Chr(). |
Java ::: Classes e Componentes ::: JTextArea |
Java Swing - Como ler as linhas de texto de um JTextArea uma de cada vezQuantidade de visualizações: 173 vezes |
Nesta dica veremos como ler as linhas de um controle JTextArea do Java Swing individualmente, ou seja, uma linha de cada vez. Para isso nós vamos usar os método getLineStartOffset() e getLineEndOffset() da classe JTextArea para acessar suas linhas separadamente. Veja o resultado na imagem abaixo: ![]() E aqui está o código Java Swing completo para a dica: package arquivodecodigos; import javax.swing.*; import javax.swing.text.*; import java.awt.*; import java.awt.event.*; public class Estudos extends JFrame{ JTextArea textArea; JButton btn; public Estudos() { super("Lendo as linhas de um JTextArea"); Container c = getContentPane(); FlowLayout layout = new FlowLayout(FlowLayout.LEFT); c.setLayout(layout); textArea = new JTextArea(10, 20); textArea.setLineWrap(true); btn = new JButton("Ler Linhas"); btn.addActionListener( new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ int quant = textArea.getLineCount(); for(int i = 0; i < quant; i++){ try{ int inicio = textArea.getLineStartOffset(i); int fim = textArea.getLineEndOffset(i); String linha = textArea.getText(inicio, fim - inicio); JOptionPane.showMessageDialog(null, "Linha " + (i + 1) + " = " + linha); } catch(BadLocationException ble){ // possiveis erros são tratados aqui } } } } ); c.add(textArea); c.add(btn); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como pesquisar um valor em um vetor C# e retornar seu índice usando a função IndexOf() da classe ArrayQuantidade de visualizações: 14100 vezes |
Nesta dica mostrarei como pesquisar um valor em um array C# e retornar o índice de sua primeira ocorrência usando o método IndexOf() da classe Array. Este método recebe uma referência ao array que queremos pesquisar e o valor a ser pesquisado. Neste exemplo queremos pesquisar um valor inteiro. Veja o código C# completo: using System; namespace Estudos { class Program { static void Main(string[] args) { // cria e inicializa um array de inteiros int[] valores = { 14, 69, 21, 30, 17, 23, 14 }; Console.Write("Informe o valor a ser pesquisado: "); string valor = Console.ReadLine(); int pos = Array.IndexOf(valores, Convert.ToInt32(valor)); if (pos > -1) { Console.WriteLine("O valor pesquisado foi encontrado no índice: " + pos); } else { Console.WriteLine("O valor pesquisado não foi encontrado."); } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Informe o valor a ser pesquisado: 17 O valor pesquisado foi encontrado no índice: 4 |
Java ::: Pacote java.lang ::: String |
Como verificar se uma string Java contém uma determinada sequencia de caracteres (ou substring) usando o método contains()Quantidade de visualizações: 11825 vezes |
Em algumas situações precisamos verificar se uma sequencia de caracteres ou substring está contida em uma string. Para isso podemos usar o método contains() da classe String. Veja sua assinatura:public boolean contains(CharSequence s) Note que o método recebe um argumento do tipo CharSequence, que é uma interface implementada pelas classes CharBuffer, Segment, String, StringBuffer e StringBuilder. O método retorna true se a sequencia de caracteres for encontrada e false em caso contrário. Veja um trecho de código no qual usamos este método para verificar se uma palavra está contida em uma frase: public class Main { public static void main(String[] args) { // vamos declarar uma string String frase = "Gosto muito de Java e PHP"; // vamos verificar se a string contém a palavra "Java" if(frase.contains("Java")){ System.out.println("A frase contém a substring informada"); } else{ System.out.println("A frase não contém a substring informada"); } } } Este método pode atirar uma exceção do tipo NullPointerException se o argumento fornecido for null. |
Você também poderá gostar das dicas e truques de programação abaixo |
Java - Java para iniciantes - Como pesquisar uma substring em uma string e retornar sua posição inicial |
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 |