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.

JavaScript ::: Fundamentos da Linguagem ::: Estruturas de Controle

JavaScript para leigos - Como usar o laço while da linguagem JavaScript

Quantidade de visualizações: 7314 vezes
O laço while (também chamado de loop ou laço enquanto) da linguagem JavaScript é usado quando queremos repetir uma instrução ou um grupo de instruções ENQUANTO uma condição for satisfeita. Veja sua sintáxe:

while(condição){
  // uma instrução ou grupo de instruções
}

A condição pode ser qualquer expressão que resulte em um valor boolean (true ou false). Note também que o teste condicional é feito antes de cada iteração (repetição) do laço. Isso faz com que este laço, dependendo da condição inicial, possa nunca ser executado.

Veja um trecho de código no qual usamos o laço while para contar de 0 até 10:

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

<script type="text/javascript">
  var i = 0;
  while(i <= 10){
    document.write(i + "<br>");
    i++;
  }  
</script>

</body>
</html>

Ao executarmos este código teremos o seguinte resultado:

0
1
2
3
4
5
6
7
8
9
10

Veja que declaramos uma variável de controle i e a inicializamos com o valor 0. Na entrada do laço nós verificamos se seu valor é menor ou igual a 10. Como esta condição é satisfeita, o laço é executado pela primeira vez. No corpo do laço nós exibimos o valor da variável de controle e a incrementamos em 1. Agora o ciclo se repete. A condição é testada novamente. Se esta for satisfeita, o código entra no corpo do laço novamente e assim por diante.

Veja agora como modificar o laço while anterior para exibir os números de 10 até 0:

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

<script type="text/javascript">
  var i = 10;
  while(i >= 0){
    document.write(i + "<br>");
    i--;
  }  
</script>

</body>
</html>

Agora o resultado do código será:

10
9
8
7
6
5
4
3
2
1
0

Esta dica foi escrita e testada no Internet Explorer 8 e Firefox 3.6.


Python ::: Dicas & Truques ::: Rotinas de Conversão

Como converter uma string para um valor numérico inteiro usando a função int() do Python

Quantidade de visualizações: 20729 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



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercícios Resolvidos de Java - Escreva um programa Java que pede para o usuário informar o salário de uma pessoa, o valor de um empréstimo e a quantidade de prestações

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

Escreva um programa Java que pede para o usuário informar o salário de uma pessoa, o valor de um empréstimo e a quantidade de prestações.

Se o valor da prestação for maior que 20% do salário seu código deverá mostrar a mensagem "Empréstimo não pode ser concedido". Se o empréstimo puder ser concedido escreva "Empréstimo pode ser concedido".

Sua saída deve ser parecida com:

Informe o salário: 1350
Informe o valor do empréstimo: 6000
Informe a quantidade de parcelas: 12
O valor das parcelas do empréstimo é: 500.0
Empréstimo não pode ser concedido
Resposta/Solução:

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
    double salario, emprestimo, valor_parcela;
    int quant_prestacoes;

    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);  
    
    // vamos ler os dados
    System.out.print("Informe o salário: ");
    salario = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe o valor do empréstimo: ");
    emprestimo = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe a quantidade de parcelas: ");
    quant_prestacoes = Integer.parseInt(entrada.nextLine());
    
    // vamos calcular e mostrar o valor da parcela do empréstimo
    valor_parcela = emprestimo / quant_prestacoes;
    System.out.println("O valor das parcelas do empréstimo é: " +
      valor_parcela);
    
    // o empréstimo pode ser concedido?
    if (valor_parcela > (salario * (20.0 / 100.0))) {
      System.out.println("Empréstimo não pode ser concedido");
    }
    else{
      System.out.println("Empréstimo pode ser concedido");
    }
    
    System.out.println("\n");
  }
}



PHP ::: PHP + MySQL ::: MySQL Improved Extension (mysqli)

Como estabelecer uma conexão PHP + MySQL no modo procedimental - Como se conectar ao banco MySQL usando PHP (modo procedural) usando mysqli_connect - Revisado)

Quantidade de visualizações: 7299 vezes
Nesta dica mostrarei como usar a função mysqli_connect da extensão mysqli para efetuar uma conexão PHP + MySQL usando o modo precedimental, ou seja, nada de programação orientada aqui, mas em outras dicas dessa seção você encontrará a forma de conexão orientada a objetos.

Veja um trecho de código completo no qual nos conectamos ao banco de dados MySQL e exibimos uma mensagem indicando o sucesso da operação:

<?
  // vamos efetuar a conexão com o banco
  $conexao = mysqli_connect("localhost", "root",
    "osmar1234", "estudos");  

  // conexão efetuada com sucesso?
  if(mysqli_connect_errno()) {
    echo "Não foi possível efetuar a conexão com o MySQL: "
      . mysqli_connect_error();
    // vamos sair daqui
    exit();
  }
  else{
    echo "Conexão efetuada com sucesso.";
    // fecha a conexão
    mysqli_close($conexao);
  }
?>

Este trecho de código foi revisado e testado no PHP 8.


VB.NET ::: Desafios e Lista de Exercícios Resolvidos ::: VB.NET Básico

Exercício Resolvido de VB.NET - Um programa VB.NET que receberá a duração de um evento expresso em segundos e exiba-o expresso em horas, minutos e segundos

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

Escreva um programa VB.NET que receberá a duração de um evento expresso em segundos e exiba-o expresso em horas, minutos e segundos. Seu programa deverá exibir uma saída parecida com:

Informe a duração do evento em segundos: 3712
Duração do evento: 01:01:52
Resposta/Solução:

Veja a resolução comentada deste exercício usando VB.NET:

Imports System

Module Program
  ' função principal do programa VB.NET
  Sub Main(args As String())
    ' vamos solicitar a duração do evento em segundos
    Console.Write("Informe a duração do evento em segundos: ")
    Dim duracao_segundos As Integer = Int32.Parse(Console.ReadLine())

    ' vamos obter a quantidade de horas do evento
    Dim horas As Integer = duracao_segundos \ 3600
    ' vamos obter os minutos
    Dim minutos As Integer = (duracao_segundos \ 60) Mod 60
    ' vamos obter os segundos restantes
    Dim segundos As Integer = duracao_segundos Mod 60

    ' vamos exibir a duração do evento em horas, minutos e segundos
    Console.Write("Duração do evento: {0}:{1}:{2}", horas.ToString("D2"),
      minutos.ToString("D2"), segundos.ToString("D2"))

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

End Module



C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Algoritmos Resolvidos de C++ - Escreva um programa C++ que efetue a soma dos elementos da diagonal principal de uma matriz

Quantidade de visualizações: 14738 vezes
Exercício Resolvido de C++ - Escreva um programa C++ que efetue a soma dos elementos da diagonal principal de uma matriz

Pergunta/Tarefa:

Em álgebra linear, a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito (conforme mostrado na saída do problema proposto abaixo).

Escreva um programa C++ que declara uma matriz 3x3 e pede ao usuário para informar seus valores. Em seguida mostre todos os valores da matriz e a soma dos elementos da diagonal principal. Sua saída deverá ser parecida com a imagem abaixo:



Resposta/Solução:

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

#include <cstdlib>
#include <iostream>
#include <iomanip>

using namespace std;

int main(int argc, char *argv[])
{
  int matriz[3][3]; // uma matriz de três linhas e três colunas
  int soma_diagonal = 0; // guarda a soma dos elementos na diagonal principal

  // vamos ler os valores para os elementos da matriz
  for(int i = 0; i < 3; i++){ // linhas
    for(int j = 0; j < 3; j++){ // colunas
      cout << "Valor para a linha " << i << " e coluna " << j << ": ";
      cin >> matriz[i][j];       
    }       
  }
  
  // vamos mostrar a matriz da forma que ela foi informada
  cout << "\n\nValores na matriz\n" << endl;
  for(int i = 0; i < 3; i++){
    for(int j = 0; j < 3; j++){
      cout << setw(5) << matriz[i][j];   
    }
    
    cout << "\n" << endl;       
  }
  
  // vamos calcular a soma dos elementos da diagonal principal
  for(int i = 0; i < 3; i++){
    for(int j = 0; j < 3; j++){
      if(i == j){
        soma_diagonal = soma_diagonal + matriz[i][j];
      }
    }
  }
  
  cout << "A soma dos elementos da diagonal principal e: " << 
    soma_diagonal << endl;
  cout << "\n" << endl;
  
  system("PAUSE");
  return EXIT_SUCCESS;
}



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

Como obter uma substring em uma string VB.NET usando o método Substring() da classe String

Quantidade de visualizações: 12193 vezes
Nesta dica mostrarei como podemos usar o método Substring() da classe String do VB.NET para retornar parte de uma palavra, frase ou texto, ou seja, uma substring em uma string.

Este método recebe o índice do caractere inícial da substring a ser obtida e a quantidade total de caracteres. O retorno é uma nova string.

Veja o código completo para o exemplo:

Imports System

Module Program
  Sub Main(args As String())
    Dim frase As String = "Gosto muito de VB.NET"
    ' vamos mostrar a frase original
    Console.WriteLine("Frase original: " & frase)

    ' vamos obter a substring "VB.NET"
    Dim substring As String = frase.Substring(15, 6)

    ' exibe o resultado
    Console.WriteLine("A substring é: " & substring)

    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:

Frase original: Gosto muito de VB.NET
A substring é: VB.NET


Java ::: Dicas & Truques ::: Data e Hora

Como validar uma data em Java usando a classe GregorianCalendar

Quantidade de visualizações: 13233 vezes
Esta dica mostra a você como validar uma data em Java usando a classe GregorianCalendar. Veja que estamos usando o método set() para atribuir valores aos campos ano, mês e dia. Contudo, o valor para o dia está incorreto. Desta forma, ao chamarmos o método getTime() uma exceção do tipo IllegalArgumentException será lançada. Veja o código:

import java.util.*;

public class Estudos{ 
  public static void main(String args[]){ 
    try{
      GregorianCalendar data = new GregorianCalendar();
      data.setLenient(false);
      data.set(GregorianCalendar.YEAR, 2008); // ano
      data.set(GregorianCalendar.MONTH, 11); // mês
      // dia inválido
      data.set(GregorianCalendar.DATE, 32);
      
      // a validação da data ocorre aqui
      Date temp = data.getTime();
    }
    catch(Exception e){
      System.out.println("Data inválida.");
      e.printStackTrace();
    }
  } 
}

Ao executarmos este código teremos o seguinte resultado:

Data inválida.
java.lang.IllegalArgumentException: DAY_OF_MONTH
at java.util.GregorianCalendar.computeTime(Unknown 
Source)
at java.util.Calendar.updateTime(Unknown Source)
at java.util.Calendar.getTimeInMillis(Unknown Source)
at java.util.Calendar.getTime(Unknown Source)
at Estudos.main(Estudos.java:14)



Java ::: Dicas & Truques ::: Strings e Caracteres

Java para iniciantes - Como pesquisar uma substring em uma string e retornar sua posição inicial

Quantidade de visualizações: 451 vezes
Nesta dica mostrarei como é possível usar o método indexOf() da classe String para obter o índice (começando em 0) da primeira ocorrência de uma substring em uma string. Se a substring não for encontrada, o retorno será -1.

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); 
    
    // verifica se a frase contém a palavra Java
    int res = frase.indexOf("Java");
     
    if(res > 0){
      System.out.println("A substring foi encontrada " +
        " na posicao (índice): " + res);
    }
    else{
      System.out.println("A substring nao foi encontrada");
    }
     
    System.exit(0);
  }
} 

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

Frase: Programar em Java é muito bom
A substring foi encontrada na posicao (índice): 13


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Dados - Árvores Binárias e Árvores Binárias de Busca

Exercícios Resolvidos de Java - Como pesquisar um valor em uma árvore binária de busca usando uma função recursiva

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

Escreva uma função recursiva em Java que permite pesquisar um valor em uma árvore binária de busca (BST). Se o valor for encontrado, uma referência ao nó da árvore (um objeto da classe NoArvore, por exemplo) deverá ser retornado. Caso contrário, o valor null deverá ser retornado para indicar que não há nós na árvore contendo tal valor.

Sua saída deverá ser parecida com:

Informe um valor inteiro: 7
Informe um valor inteiro: 1
Informe um valor inteiro: 8
Informe um valor inteiro: 10
Informe um valor inteiro: 4

Informe o valor a ser pesquisado: 3
O valor não foi encontrado na árvore

Informe um valor inteiro: 8
Informe um valor inteiro: 2
Informe um valor inteiro: 35
Informe um valor inteiro: 4
Informe um valor inteiro: 7

Informe o valor a ser pesquisado: 4
O valor foi encontrado na árvore
Resposta/Solução:

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

Código para NoArvore.java:

package estudos;

public class NoArvore {
  int valor; // valor armazenado no nó
  NoArvore esquerdo; // filho esquerdo
  NoArvore direito; // filho direito

  // construtor do nó
  public NoArvore(int valor){
    this.valor = valor;
  }
}

Código para ArvoreBinariaBusca.java:

package estudos;

public class ArvoreBinariaBusca {
  private NoArvore raiz; // referência para a raiz da árvore
  
  // método usado para inserir um novo nó na árvore
  // retorna true se o nó for inserido com sucesso e false
  // se o elemento
  // não puder ser inserido (no caso de já existir um 
  // elemento igual)
  public boolean inserir(int valor){
    // a árvore ainda está vazia?
    if(raiz == null){
      // vamos criar o primeiro nó e definí-lo como a raiz da árvore
      raiz = new NoArvore(valor); // cria um novo nó
    }
    else{
      // localiza o nó pai
      NoArvore pai = null;
      NoArvore noAtual = raiz; // começa a busca pela raiz
 
      // enquanto o nó atual for diferente de null
      while(noAtual != null){
        if(valor < noAtual.valor) {
          pai = noAtual;
          noAtual = noAtual.esquerdo;
        }
        else if(valor > noAtual.valor){
          pai = noAtual;
          noAtual = noAtual.direito;
        }
        else{
          return false; // um nó com este valor foi encontrado
        }
      }
       
      // cria o novo nó e o adiciona ao nó pai
      if(valor < pai.valor){
         pai.esquerdo = new NoArvore(valor);
      }
      else{
        pai.direito = new NoArvore(valor);
      }
    }

    return true; // retorna true para indicar que o novo nó
    // foi inserido
  }
  
  // método que permite pesquisar na árvore binária de busca
  public NoArvore pesquisar(int valor){
    return pesquisar(raiz, valor); // chama a versão recursiva
    // do método
  }

  // sobrecarga do método pesquisar que recebe dois 
  // parâmetros (esta é a versão recursiva do método)
  private NoArvore pesquisar(NoArvore noAtual, int valor){
    // o valor pesquisado não foi encontrado....vamos retornar null
    if(noAtual == null){
      return null;
    }
 
    // o valor pesquisado foi encontrado?
    if(valor == noAtual.valor){
      return noAtual; // retorna o nó atual
    }  
    // ainda não encontramos...vamos disparar uma nova 
    // chamada para a sub-árvore da esquerda
    else if(valor < noAtual.valor){
      return pesquisar(noAtual.esquerdo, valor);
    }
    // ainda não encontramos...vamos disparar uma nova 
    // chamada para a sub-árvore da direita
    else{
      return pesquisar(noAtual.direito, valor);
    }
  }
}

E aqui está o código para a classe que permite testar a árvore:

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);  
      
    // vamos criar um novo objeto da classe ArvoreBinariaBusca
    ArvoreBinariaBusca arvore = new ArvoreBinariaBusca();
   
    // vamos inserir 5 valores na árvore
    for(int i = 0; i < 5; i++){
      System.out.print("Informe um valor inteiro: ");
      int valor = Integer.parseInt(entrada.nextLine());
      
      // vamos inserir o nó e verificar o sucesso da operação
      if(!arvore.inserir(valor)){
        System.out.println("Erro. Um elemento já contém este valor.");  
      }
    }
    
    // vamos pesquisar um valor na árvore
    System.out.print("\nInforme o valor a ser pesquisado: ");
    int valorPesquisa = Integer.parseInt(entrada.nextLine());
    // obtém um objeto da classe NoArvore a partir do 
    // método pesquisar() da classe ArvoreBinariaBusca
    NoArvore res = arvore.pesquisar(valorPesquisa);
    // o valor foi encontrado?
    if(res != null){
      System.out.println("O valor foi encontrado na árvore");
    }
    else{
      System.out.println("O valor não foi encontrado na árvore");  
    }
    
    System.out.println("\n");
  }
}


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á 55 usuários muito felizes estudando em nosso site.