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.

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

Exercícios Resolvidos de Python - Como retornar o primeiro elemento de um vetor em Python

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

Escreva um programa Python que mostra como acessar e retornar o primeiro elemento de um vetor (array) em Python.

Sua saída deverá ser parecida com:

Os elementos do vetor são: [9, 5, 3, 2, 4, 8]
O primeiro elemento do array é: 9 
Resposta/Solução:

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

# função principal do programa
def main():
  # vamos criar um array de inteiros
  valores = [9, 5, 3, 2, 4, 8]
  print("Os elementos do vetor são: {0}".format(valores))
    
  # agora vamos retornar o primeiro elemento do vetor
  primeiro = valores[0]
    
  # e mostramos o resultado
  print("O primeiro elemento do array é: {0}".format(primeiro))
  
if __name__== "__main__":
  main()



Java ::: Classes e Componentes ::: JTextArea

Java Swing - Como ler as linhas de texto de um JTextArea uma de cada vez

Quantidade 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);
  }
}



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

Como retornar a posição da última ocorrência de uma substring em uma string Java usando a função lastIndexOf() da classe String

Quantidade de visualizações: 258 vezes
Em algumas situações nós precisamos pesquisar uma substring em uma string Java e retornar o índice da última ocorrência encontrada. Para isso nós podemos usar o método lastIndexOf() da classe String.

Veja um exemplo completo de seu uso:

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // Este exemplo mostra como pesquisar a última ocorrência 
    // de uma substring em uma string
    String frase = "As pessoas costumam entender tudo sobre pessoas";
    
    // verifica se a frase contém a palavra "pessoas" e
    // retorna a posição de sua última ocorrência
    int res = frase.lastIndexOf("pessoas");
    
    if(res > 0){
      System.out.println("A ultima ocorrencia foi encontrada na posicao: " 
        + res);
    }
    else{
      System.out.println("A substring nao foi encontrada");
    }
  }
}

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

A ultima ocorrencia foi encontrada na posicao: 40


Java ::: Coleções (Collections) ::: ArrayList

Como escrever um método que retorna um objeto da classe ArrayList do Java

Quantidade de visualizações: 16466 vezes
Em algumas situações precisamos escrever um método Java que retorna um objeto da classe ArrayList. Esta dica mostra como isso pode ser feito:

import java.util.*;

public class Estudos{
  public static void main(String[] args){
    // vamos obter o ArrayList do método abaixo    
    ArrayList<String> lista = obterLista();

    // vamos exibir os valores dos elementos
    for(int i = 0; i < lista.size(); i++){
      System.out.println(lista.get(i));
    }
    
    System.exit(0);
  }

  // um método que retorna um ArrayList
  public static ArrayList<String> obterLista(){
    // vamos criar um ArrayList, adicionar alguns elementos
    // e devolvê-la ao chamador do método
    ArrayList<String> nomes = new ArrayList<String>();
    nomes.add("Osmar J. Silva");    
    nomes.add("Fernanda de Castro");
    nomes.add("Marcos de Oliveira");

    return nomes;
  }
}



Python ::: Dicas & Truques ::: Matemática e Estatística

Como calcular MDC em Python - Python para matemática

Quantidade de visualizações: 12777 vezes
Python para matemática - Como calcular o MDC (Máximo Divisor Comum) em Python

Atualmente a definição de Máximo Divisor Comum (MDC) pode ser assim formalizada:

Sejam a, b e c números inteiros não nulos, dizemos que c é um divisor comum de a e b se c divide a (escrevemos c|a) e c divide b (c|b). Chamaremos D(a,b) o conjunto de todos os divisores comum de a e b.

O trecho de código abaixo mostra como calcular o MDC de dois números informados:

# função que permite calcular o MDC
def MDC(a, b):
  while(b != 0):
    resto = a % b
    a = b
    b = resto
 
  return a

# função principal do programa
def main():
  print("Este programa permite calcular o MDC\n")
  x = int(input("Informe o primeiro valor: "))
  y = int(input("Informe o segundo valor: "))
  
  print("\nO Máximo Divisor Comum de", x, "e", y, "é", MDC(x, y))
  
if __name__== "__main__":
  main()

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

Este programa permite calcular o MDC
Informe o primeiro número: 12
Informe o segundo número: 9
O Máximo Divisor Comum de 12 e 9 é 3


Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid

Como usar a propriedade PickList para definir ou obter a lista de escolhas para uma determinada coluna do TDBGrid do Delphi

Quantidade de visualizações: 11936 vezes
A propriedade PickList, do tipo TStrings, é usada quando queremos fornecer uma lista de itens da qual um poderá ser escolhido como conteúdo da célula pertencente a uma determinada coluna. Em tempo de design podemos definir os itens da lista clicando no DBGrid e escolhendo a opção Columns Editor. Em seguida escolha a coluna desejada e dê duplo-clique na propriedade PickList. Imediatamente o String List Editor será exibido. Neste editor podemos inserir os itens, cada um em sua linha. Em tempo de execução a lista de itens será exibida quando a célula estiver em edição. Note que, isso só acontecerá se o valor cbsAuto estiver definido para a propriedade ButtonStyle da coluna.

Em tempo de execução podemos adicionar itens na propriedade PickList usando o seguinte trecho de código:

procedure TForm3.Button3Click(Sender: TObject);
begin
  // vamos adicionar um novo item na PickList da primeira coluna
  DBGrid1.Columns[0].PickList.Add('40');
end;

Veja agora um trecho de código no qual acessamos a propriedade PickList da coluna e exibimos seu conteúdo em um TMemo:

procedure TForm3.Button3Click(Sender: TObject);
var
  i: Integer;
begin
  // vamos adicionar o conteúdo da PickList da primeira coluna
  // a um TMemo
  for i := 0 to DBGrid1.Columns[0].PickList.Count - 1 do
    begin
      Memo1.Lines.Add(DBGrid1.Columns[0].PickList[i]);
    end;
end;

Como a propriedade PickList da classe TColumn é do tipo TStrings, podemos efetuar várias operações na lista de itens, tais como, adicionar novos itens, excluir, ordenar os itens, etc.

Esta dica foi escrita e testada no Delphi 2009.


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

Exercício Resolvido de C - Usando um laço for para percorrer os elementos de uma matriz e exibí-los na ordem original e invertida

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

Considere a seguinte matriz de inteiros:

// uma matriz de inteiros contendo sete elementos
int valores[] = {6, 9, 12, 34, 83, 20, 17};
Escreva um programa C que usa um laço for para percorrer todos os elementos desta matriz duas vezes e exibí-los na ordem original e invertidos (somente na exibição, ou seja, não é necessário alterar a ordem dos elementos na matriz).

Seu programa deverá exibir a seguinte saída:

Ordem original:

6 9 12 34 83 20 17 

Ordem inversa:

17 20 83 34 12 9 6
Resposta/Solução:

Veja abaixo a resolução completa para esta tarefa:

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

int main(int argc, char *argv[])
{
  // uma matriz de inteiros contendo sete elementos
  int valores[] = {6, 9, 12, 34, 83, 20, 17};
  int tam_matriz = 7;
  int i;
    
  // primeiro vamos exibir os valores da matriz na ordem original
  printf("Ordem original:\n");

  for(i = 0; i < tam_matriz; i++){
    printf("%d  ", valores[i]);
  }

  // agora vamos exibir na ordem inversa
  printf("\n\nOrdem inversa:\n");

  for(i = tam_matriz - 1; i >= 0; i--){
    printf("%d  ", valores[i]);
  }
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}



JavaScript ::: DOM (Document Object Model) ::: Eventos JavaScript + DOM (Document Object Model)

Como usar o evento DOMContentLoaded para verificar se o DOM (Document Object Model) já está disponível para manipulação via JavaScript

Quantidade de visualizações: 2482 vezes
Em algumas situações nós precisamos iniciar a manipulação dos elementos de uma página HTML a partir de nossos códigos JavaScript mas não sabemos com certeza se os elementos do DOM (Document Object Model) já estão disponíveis para acesso.

Para essas situações nós podemos usar o evento DOMContentLoaded, que é disparado quando todo o conteúdo DOM já estiver carregado, mesmo que imagens e folhas de estilo CSS ainda estejam pendentes de carregamento.

Vamos ver um exemplo? Considere o código JavaScript abaixo (incluindo o código HTML):

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

<script type="text/javascript">
  // vamos obter uma referência ao elemento DIV
  var divElem = document.getElementById("m_div");
  // vamos a cor do texto da DIV
  divElem.style.color = 'blue';
</script>

</head>
 
<body>

<div id="m_div">Sou um elemento DIV</div>

</body>
</html>

Veja que temos um elemento DIV na parte <body> do página e, na parte <head> temos um código JavaScript que tenta alterar a cor do texto da DIV. Como já era de se esperar, ao abrirmos este documento HTM no navegador, teremos o seguinte erro:

Uncaught TypeError: Cannot read property 'style' of null
at index.html:9

Isso aconteceu porque o código JavaScript foi executado antes que o elemento DIV fosse inserido no DOM da página. Para evitar isso, só precisamos usar o evento DOMContentLoaded. Veja a nova versão do código:

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

<script type="text/javascript">
  // vamos tratar o evento DOMContentLoaded
  document.addEventListener('DOMContentLoaded', function(e){
    // vamos obter uma referência ao elemento DIV
    var divElem = document.getElementById("m_div");
    // vamos a cor do texto da DIV
    divElem.style.color = 'blue';
  });
</script>

</head>
 
<body>

<div id="m_div">Sou um elemento DIV</div>

</body>
</html>

Agora execute o exemplo novamente e veja como o texto do elemento DIV é colorido de azul, uma boa indicação de que o evento DOMContentLoaded foi disparado com sucesso. Note ainda como usamos o método addEventListener() do objeto document para fazer a associação do evento.


C# ::: LINQ ::: LINQ to Objects

Como retornar o maior elemento em um array de int em C# usando a função Max() do LINQ

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


Delphi ::: Dicas & Truques ::: Matemática e Estatística

Como obter o resultado de uma divisão de inteiros, incluindo o resto, usando a procedure DivMod() do Delphi

Quantidade de visualizações: 16395 vezes
Em algumas situações precisamos obter o resultado de uma divisão de inteiros e gostaríamos de obter também o resto da divisão, ou seja, se dividirmos 10 por 3 o resultado será 3 (3 x 3 = 9) e o resto será 1.

A procedure DivMod(), presente na unit Math nos permite fazer isso. Ela requer quatro argumentos:

procedure DivMod(Dividend: Integer; Divisor: Word; 
  var Result, Remainder: Word);

Veja que fornecemos o dividendo e o divisor como Integer e Word mas, as variáveis que receberão o resultado e o resto da divisão deverão ser passadas por referência. Veja um exemplo:

procedure TForm2.Button1Click(Sender: TObject);
var
  dividendo, divisor: Integer;
  resultado, resto: Word;
begin
  // uses Math

  // vamos dividir 10 por 3
  dividendo := 10;
  divisor := 3;
  DivMod(dividendo, divisor, resultado, resto);

  // vamos exibir o resultado
  ShowMessage('Resultado da divisão: ' + IntToStr(resultado));

  // vamos exibir o resto
  ShowMessage('Resto da divisão: ' + IntToStr(resto));
end;

Note que DivMod() realiza seu trabalho e guarda os resultados nas variáveis resultado e resto, que, como vimos na assinatura da procedure, devem ser fornecidas por referência.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.

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


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