Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.

C# ::: Desafios e Lista de Exercícios Resolvidos ::: Matemática e Estatística

Exercícios Resolvidos de C# - Como calcular juros simples em C# - Um programa C# que lê o valor principal, o tempo

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

Saber como escrever um programa C# que recebe o valor principal, o tempo e a taxa de juros e retorna os juros simples a serem pagos ou recebidos é uma habilidade que todo programador deve aprender em algum ponto de sua carreira.

Sendo assim, escreva um algoritmo em C# que pede para o usuário informar um valor a ser pago ou recebido, o tempo em dias, meses ou anos e a taxa de juros (sem dividi-la por 100) e retorne os juros simples a serem pagos ou recebidos. Note que, se você quiser mostrar o valor total a ser pago ou recebido, basta somar os juros ao valor principal.

Antes, porém, veja a fórmula do cálculo de juros simples:

\[\text{Juros} = \frac{\text{C} \times \text{i} \times \text{t}}{100}\]

Onde:

C é o valor a ser pago ou a ser recebido;
i é a taxa de juros (sem dividir por 100);
t é o tempo em dias, meses, anos, etc.

Sua saída deverá ser parecida com:

Informe o valor principal: 600
Taxa de juros: 12
Informe o tempo: 5
Juros a serem pagos ou recebidos: 360.0
Resposta/Solução:

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

using System;

namespace Estudos {
  class Principal {
    // função principal do programa C#
    static void Main(string[] args) {
      // vamos ler o valor principal
      Console.Write("Informe o valor principal: ");
      double principal = Double.Parse(Console.ReadLine());

      // agora vamos ler a taxa de juros
      Console.Write("Taxa de juros: ");
      double taxa = Double.Parse(Console.ReadLine());

      // finalmente o tempo em dias, meses, anos, etc
      Console.Write("Informe o tempo: ");
      int tempo = Int32.Parse(Console.ReadLine());

      // vamos calcular os juros
      double juros = (principal * taxa * tempo) / 100;

      // e mostramos o resultado
      Console.WriteLine("Juros a serem pagos ou recebidos: " + juros);
      
      Console.WriteLine("\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}



C# ::: Dicas & Truques ::: Strings e Caracteres

Como testar a ocorrência de uma substring em uma string do C# usando o método Contains() da classe String

Quantidade de visualizações: 191 vezes
Nesta dica mostrarei como usar o método Contains() da classe String do C# para verificar se uma letra ou palavra está contida em uma frase ou texto. Se a substring for encontrada, a função Contains() retorna um valor true (verdadeiro), e false (falso) em caso contrário.

Veja o exemplo completo:

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      string frase = "Gosto de programar em C#";

      // a frase contém a palavra "programar"?
      if (frase.Contains("programar")) {
        Console.WriteLine("A palavra pesquisada está contida na string");
      }
      // a palavra pesquisada não foi encontrada na string
      else {
        Console.WriteLine("A palavra pesquisada NÃO está contida na string");
      }

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}          

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

A palavra pesquisada está contida na string

Tenha em mente que o método Contains() da classe String do C# diferencia letras maiúsculas de letras minúsculas.


Java Servlets ::: Dicas & Truques ::: URLs, Documentos e Páginas

Como compartilhar dados entre um Java Servlet e uma página JSP usando a requisição HttpServletRequest

Quantidade de visualizações: 8432 vezes
Quando usamos o método forward() da interface RequestDispatcher para direcionar para um outro Java Servlet ou página JSP, tanto o objeto de requisição ServletRequest quanto o objeto de resposta ServletResponse são enviados também. Assim, podemos tirar proveito desta funcionalidade para compartilhar dados entre um servlet e uma página JSP usando a requisição. Vamos ver como isso é possível.

Comece analisando o seguinte servlet:

package estudos;

import java.io.*;
import jakarta.servlet.*;
import jakarta.servlet.http.*;

public class MeuServlet extends HttpServlet{
  public void doGet(HttpServletRequest request,
    HttpServletResponse response) throws ServletException,
    IOException{

    // cria uma instância da classe Pessoa
    Pessoa p = new Pessoa();
    p.setNome("Osmar J. Silva");

    // vamos colocar o objeto p na requisição
    request.setAttribute("pessoaBean", p);

    // agora direcionamos para a página exibir.jsp
    RequestDispatcher dispatcher = 
      request.getRequestDispatcher("/exibir.jsp");
    dispatcher.forward(request, response); 
  }
}

Note que aqui eu já estou usando o pacote jakarta.servlet em vez de javax.servlet. Confirme se você está usando o Java EE ou Jakarta EE.

Veja que no método doGet() deste Servlet nós temos a criação de uma instância da classe Pessoa (Pessoa.java). Esta classe tem a seguinte estrutura:

package estudos;

public class Pessoa{
  private String nome;

  public String getNome(){
    return this.nome;
  }

  public void setNome(String nome){
    this.nome = nome;
  }
}

Depois de criada a instância da classe nós a colocamos na requisição atual usando:

// vamos colocar o objeto p na requisição
request.setAttribute("pessoaBean", p);


O passo seguinte é direcionar a requisição atual para a página exibir.jsp (a View do MVC). Veja o código para esta página:

<jsp:useBean id="pessoaBean" scope="request"
 type="estudos.Pessoa" />
<html>
<head>
  <title>Estudos Servlet</title>
  <meta http-equiv="Content-Type" content="text/html; 
    charset=iso-8859-2">
</head>
<body>

<h4>Nome da pessoa: <jsp:getProperty name="pessoaBean"
  property="nome" /></h4>

</body>
</html>

Aqui nós estamos usando <jsp:getProperty> para acessar um dos atributos do bean pessoaBean. Poderíamos usar JSTL e EL. Veja:

<%@ taglib prefix="c" 
  uri="http://java.sun.com/jsp/jstl/core" %>
<jsp:useBean id="pessoaBean" scope="request" 
  type="estudos.Pessoa" />
<html>
<head>
  <title>Estudos Servlet</title>
  <meta http-equiv="Content-Type" content="text/html; 
    charset=iso-8859-2">
</head>
<body>

<h4>Nome da pessoa: <c:out value="${pessoaBean.nome}"/></h4>

</body>
</html>

Fiz o mapeamento deste Java Servlet para a URL http://localhost:8080/estudos/meuservlet. Ao chamá-la nós teremos o seguinte resultado:

Nome da pessoa: Osmar J. Silva


VB.NET ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar a instrução Select...Case do VB.NET

Quantidade de visualizações: 20892 vezes
As instruções If...Then e If...Then...Else são muito úteis para testarmos condições em nossos códigos. Porém, há situações em que os caminhos a serem testados são tantos que se torna um pouco tedioso escrever tantos ElseIfs. Para estas situações nós temos a instrução Select...Case. Veja seu uso no trecho de código abaixo:

Dim valor As Integer = 7

Select Case valor
  Case 1 To 5
    Console.WriteLine("Entre 1 e 5 (inclusive)")
  Case 6, 7, 8
    Console.WriteLine("Entre 6 e 8 (inclusive)")
  Case 9 To 10
    Console.WriteLine("Igual a 9 ou 10")
  Case Else
    Console.WriteLine("Não encontrado no teste")
End Select

Os valores a serem testados em cada passo da instrução podem ser separados por vírgulas ou por faixa, usando a palavra-chave To. Neste último caso, o valor limite também é incluído no teste.

O tipo de dados da variável de teste deve se enquadrar nos tipos: Boolean, Byte, Char, Date, Double, Decimal, Integer, Long, Object, SByte, Short, Single, String, UInteger, ULong e UShort.


JavaScript ::: ECMAScript 5 - JavaScript 5 - ES5 - ECMAScript 2009 ::: Passos Iniciais

Como usar a diretiva "use strict" do ECMAScript 5 em seus códigos JavaScript

Quantidade de visualizações: 1152 vezes
À medida que a linguagem JavaScript foi ganhando popularidade, as pessoas responsáveis por sua manutenção perceberam a necessidade de torná-la um pouco mais restritiva em relação a erros de programação que até então não eram vistos pelos navegadores como erros. Vamos ver um exemplo? Considere o código JavaScript a seguir:

<html>
<head>
  <title>Estudos PHP</title>
</head>
 
<body>

<script type="text/javascript">
  total_cliente = 100;
  document.writeln("Total: " + total_cliente); 
</script>

</body>
</html>

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

Total: 100

Note que, embora o código tenha funcionado como esperado, nós não usamos a palavra-chave "var" (ou "let" ou "const") na declaração da variável total_cliente. Quando não fazemos isso, o interpretador realiza esta tarefa por conta própria, declarando e colocando a variável como global.

Até aqui nenhum problema. A questão surge quando queremos que esta variável seja usada localmente, ou ainda, quando queremos indicar, para quem estiver lendo o nosso código, o ponto exato onde uma determinada variável foi declarada.

A partir do ECMAScript 5 (JavaScript 5 - ES5 - ECMAScript 2009) nós podemos usar o modo "use strict" para exibir erros sempre que uma variável não declarada (com "var", "let" ou "const" sofra atribuição ou leitura. Dessa forma nossos códigos serão mais seguros, pois o interpretador não mais colocará variáveis no escopo global sem nosso consentimento explícito.

Veja agora o mesmo trecho de código anterior, dessa vez usando "use strict":

<html>
<head>
  <title>Estudos PHP</title>
</head>
 
<body>

<script type="text/javascript">
  "use strict"
  total_cliente = 100;
  document.writeln("Total: " + total_cliente); 
</script>

</body>
</html>

Agora o código não mais executa, e temos a seguinte mensagem de erro no console do Google Chrome ou Firefox:

Uncaught ReferenceError: total_cliente is not defined
at index.html:10

Neste exemplo eu usei "use strict" de forma a refletir em todos os códigos JavaScript a partir daquele ponto. No entanto, é possível colocar essa diretiva em locais expecíficos, tais como dentro do corpo de uma função.


Python ::: Fundamentos da Linguagem ::: Passos Iniciais

Python para iniciantes - Como importar módulos para seus programas Python

Quantidade de visualizações: 10886 vezes
A importação de módulos para um programa Python é feita com o uso da palavra-chave import seguida pelo(s) nomes(s) do(s) módulo. Veja um exemplo no qual importamos o módulo math:

import math

Caso precise importar mais de um módulo, você pode usar a palavra import mais de uma vez:

import math
import random

ou:

import math, random



C# ::: Dicas & Truques ::: Arquivos e Diretórios

Como retornar a extensão de um arquivo em C# usando a função GetExtension() da classe Path

Quantidade de visualizações: 15859 vezes
Muitas vezes precisamos obter a extensão de um arquivo. Em C# isso pode ser feito usando-se o método GetExtension() da classe Path. Este método recebe uma string contendo o caminho e nome do arquivo e retorna uma string contendo a extensão do arquivo (incluindo o ponto). Veja um exemplo:

static void Main(string[] args){
  // não esqueça
  // using System.IO;
  
  // caminho e nome do arquivo
  string arquivo = "C:\\estudos_csharp\\arquivo.txt";
  
  // obtém a extensão
  string extensao = Path.GetExtension(arquivo);
  
  // exibe o resultado
  Console.WriteLine("A extensão do arquivo é: {0}",
    extensao);

  Console.WriteLine("\n\nPressione uma tecla para sair...");
  Console.ReadKey();
}

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

A extensão do arquivo é: .txt


C ::: Desafios e Lista de Exercícios Resolvidos ::: Struct (Estruturas, Registros)

Exercício Resolvido de C - Programa de cálculo de médias de alunos. Escrever um programa C que cadastre o nome, a matrícula e duas notas de vários alunos

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

Programa de cálculo de médias de alunos. Escrever um programa C que cadastre o nome, a matrícula e duas notas de vários alunos. Em seguida imprima a matrícula, o nome e a média de cada um deles.

Seu código deverá, obrigatoriamente, usar a estrutura abaixo para a representação de cada aluno:

// estrutura Aluno
typedef struct{
  int matricula;
  char nome[100];
  float nota1;
  float nota2;
} Aluno;
Sua saída deverá ser parecida com:

LEITURA DOS ALUNOS:

Matrícula do Aluno 1: 123
Nome do Aluno 1: OSMAR J SILVA
Nota 1 do Aluno 1: 8,5
Nota 2 do Aluno 1: 9,3
Matrícula do Aluno 2: 432
Nome do Aluno 2: FABIANA CASTRO
Nota 1 do Aluno 2: 9
Nota 2 do Aluno 2: 8,2

DADOS DOS ALUNOS:

DADOS DO ALUNO 1: 
Matrícula: 123
Nome: OSMAR J SILVA
Nota 1: 8,50
Nota 2: 9,30
Média: 8,90

DADOS DO ALUNO 2:
Matrícula: 432
Nome: FABIANA CASTRO
Nota 1: 9,00
Nota 2: 8,20
Média: 8,60
Resposta/Solução:

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

Código para alunos.c:

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

// estrutura Aluno
typedef struct{
  int matricula;
  char nome[100];
  float nota1;
  float nota2;
} Aluno;

// define a quantidade de alunos que serão lidos
#define QUANT_ALUNOS 2

int main(int argc, char *argv[]) {
  int i; // controle do laço
  Aluno alunos[QUANT_ALUNOS]; // vetor de alunos
	
  setlocale(LC_ALL,""); // para acentos do português
	
  printf("LEITURA DOS ALUNOS:\n\n");
	
  for(i = 0; i < QUANT_ALUNOS; i++){
    // vamos ler a matrícula do aluno
    printf("Matrícula do Aluno %d: ", (i + 1));
    scanf("%d", &alunos[i].matricula);
    fflush(stdin); // para o scanf não sair pulando o gets
    // agora o nome do aluno
    printf("Nome do Aluno %d: ", (i + 1));
    gets(alunos[i].nome);
    // vamos ler a primeira nota
    printf("Nota 1 do Aluno %d: ", (i + 1));
    scanf("%f", &alunos[i].nota1);
    // vamos ler a segunda nota
    printf("Nota 2 do Aluno %d: ", (i + 1));
    scanf("%f", &alunos[i].nota2);
  }

  // agora vamos mostrar os alunos lidos, com suas notas
  // e suas médias aritméticas
  printf("\nDADOS DOS ALUNOS:\n");
	
  for(i = 0; i < QUANT_ALUNOS; i++){
    printf("\nDADOS DO ALUNO %d:\n ", (i + 1));
    printf("Matrícula: %d\n", alunos[i].matricula);
    printf("Nome: %s\n", alunos[i].nome);
    printf("Nota 1: %.2f\n", alunos[i].nota1);
    printf("Nota 2: %0.2f\n", alunos[i].nota2);
    printf("Média: %.2f\n", (alunos[i].nota1 + alunos[i].nota2) / 2);
  }
	
  printf("\n\n");
  system("pause");
  return 0;
}



VB.NET ::: Dicas & Truques ::: Strings e Caracteres

Como comparar strings em VB.NET usando o método Equals() da classe String do .NET Framework

Quantidade de visualizações: 8985 vezes
Nesta dica mostrarei como podemos comparar palavras, frases ou textos em VB.NET usando o método Equals() da classe String do .NET Framework. Este método retorna um valor True se as duas strings forem iguais e False em caso contrário.

Lembre-se de que o método Equals() diferencia maiúsculas de minúsculas.

Veja um exemplo completo de seu uso:

Imports System

Module Program
  Sub Main(args As String())
    Dim palavra1, palavra2 As String
    palavra1 = "Visual Basic"
    palavra2 = "Visual Basic"

    If palavra1.Equals(palavra2) Then
      Console.WriteLine("As duas strings são iguais")
    Else
      Console.WriteLine("As duas strings são diferentes")
    End If

    Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub
End Module

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

As duas strings são iguais


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

Como usar o modificador de acesso private em Java - Apostila Java para iniciantes - Programação Orientada a Objetos em Java

Quantidade de visualizações: 10416 vezes
Um método ou variável declarada com o modificador de acesso private (privado) pode ser acessado somente por uma instância da classe que declara o método ou variável. Veja um exemplo:

// Classe Cliente
class Cliente{
  private String nome = "Osmar";
}

// Classe de teste
public class Estudos{
  public static void main(String args[]){
    Cliente cliente = new Cliente();
    System.out.println(cliente.nome);

    System.exit(0);
  }
}

Ao tentarmos compilar este código teremos a seguinte mensagem de erro:

Estudos.java:10: nome has private access in Cliente
  System.out.println(cliente.nome);


O erro já era esperado, pois sabemos que a classe Estudos não tem acesso aos membros privados da classe Cliente. Experimente alterar o modificador private por public e veja o resultado:

public String nome = "Osmar";

É importante observar que, se duas instâncias de uma classe forem criadas, uma terá acesso aos dados privados da outra, ou seja, o modificador private define quais classes (não instâncias) podem acessar determinado recurso.

Além disso, saiba que classes de nível superior (Top-level) não podem ser declaradas como private. Elas podem ser no máximo de acesso de pacote (nenhum modificador). A mesma regra se aplica a interfaces. No entanto, classes e interfaces internas podem ser declaradas com o modificador private.

Para finalizar, lembre-se de que sub-classes não possuem acesso à membros privados da superclasse.

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


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 Apenas R$ 32,90


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