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 ::: Tkinter GUI Toolkit ::: Círculos, Ovais e Elípses

Como desenhar círculos no Tkinter usando a função create_oval() do componente Canvas

Quantidade de visualizações: 1270 vezes
Em várias situações nós precisamos desenhar círculos não preenchidos e preenchidos em Tkinter. Para isso nós podemos usar a função create_oval() do componente Canvas.

Em sua forma mais simples, a função create_oval() requer as coordenadas x e y a partir das quais o círculo ou elípse será desenhada e a largura e a altura do retângulo dentro do qual o círculo estará contido. Para desenhar uma oval ou elípse, basta manipular a largura ou altura desse retângulo.

Veja um trecho de código no qual usamos a função create_oval() para desenhar um círculo com 5 pixels de largura da linha de desenho:

# vamos importar o módulo Tkinter
from tkinter import *
from tkinter.ttk import *
 
# método principal
def main():
  # cria a janela principal da aplicação
  janela_principal = Tk() 
  
  # define as dimensões da janela
  janela_principal.geometry("400x350")
  
  # define o título da janela
  janela_principal.title("Uso do controle Canvas")
 
  # vamos criar o objeto Canvas
  canvas = Canvas(janela_principal, bg="white", width=400, height=350)
 
  # colocamos o Canvas na janela principal
  canvas.grid(row=0, column=0)
 
  # agora vamos desenhar um círculo no Canvas começando nas
  # coordenadas x=20 e y=30 centro de um retângulo de largura
  # 150 pixels por uma altura de 150 pixels e largura da linha
  # de 5 pixels
  canvas.create_oval(20, 30, 150, 150, width="5")
 
  # entramos no loop de eventos 
  janela_principal.mainloop()
 
if __name__== "__main__":
  main()

Note que a largura da linha de desenho foi informada por meio do parâmetro width. Se quisermos definir também a cor da linha do desenho, basta usarmos o parâmetro outline e fornecer a cor desejada.


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

Como testar se um número é par ou ímpar em Java

Quantidade de visualizações: 45515 vezes
Boa parte das listas de exercícios de Java básico contém um enunciado pedindo para o seu programa ler um número inteiro e informar se o mesmo é par ou ímpar. Esse teste é feito usando-se o operador de módulo (%) da linguagem Java.

Este operador retorna o resultado de uma divisão por inteiros, ou seja, se dividirmos 5 por 2, o resultado da divisão inteira será dois e o resto 1, indicando que o número informado não é par.

Veja o código completo para um exemplo:

package arquivodecodigos;

import java.util.*;

public class Estudos{
  public static void main(String[] args){
    Scanner input = new Scanner(System.in);
    System.out.print("Informe um valor inteiro: ");
    int num = input.nextInt();

    if(num % 2 == 0){
      System.out.print("Você informou um numero par");
    }
    else{
      System.out.print("Você informou um numero impar");
    }
    
    System.exit(0);
  }
}

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

Informe um valor inteiro: 5
Você informou um numero impar


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

Como adicionar conteúdo ao final de um arquivo em C# usando as classes FileStream e StreamWriter

Quantidade de visualizações: 10331 vezes
Nesta dica mostro como usar as classes FileStream e StreamWriter para adicionar conteúdo a um arquivo já existente. Note que usamos o construtor de FileStream que aceita o caminho e nome do arquivo e o modo que ele será aberto. Ao fornecer o valor FileMode.Append nós estamos informando que, se o arquivo existir, mais conteúdo será adicionando ao seu final. Do contrário o arquivo é criado.

Já no construtor de StreamWriter nós estamos fornecendo a codificação dos caracteres, neste caso, UTF-8. Para finalizar, escrevemos no arquivo usando os métodos Write() e WriteLine() da classe StreamWriter.

Veja o código:

static void Main(string[] args){
  // vamos criar uma instância de FileStream. Note que neste
  // construtor nós estamos informando o caminho e nome do
  // arquivo e o modo de abertura do arquivo. Se o arquivo já existir
  // o novo conteúdo é adicionado. Se não existir, o arquivo é criado
  FileStream fs = new FileStream("dados.txt", FileMode.Append);

  // já temos o FileStream? vamos fornecê-lo a um StreamWriter
  StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);

  // vamos escrever ou adicioar conteúdo no arquivo
  sw.WriteLine("Esta é mais uma linha");
  sw.Write("Hoje é: ");
  sw.WriteLine(DateTime.Now);
  sw.WriteLine("Esta é a última linha");
  
  sw.Flush();
  sw.Close();
  fs.Close();

  Console.WriteLine("Acabei de escrever no arquivo");
  Console.WriteLine("Pressione qualquer tecla para sair...");
  // pausa o programa
  Console.ReadKey();
}

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

Acabei de escrever no arquivo
Pressione qualquer tecla para sair...


VB.NET ::: Dicas & Truques ::: Data e Hora

Como adicionar horas à data e hora atual em VB.NET usando a função AddHours() da classe DateTime

Quantidade de visualizações: 12664 vezes
Nesta dica mostrarei como podemos adicionar horas à data e hora atual em VB.NET usando o método AddHours() da classe DateTime. Note que estamos obtendo a data e hora atual usando DateTime.Now. Em seguida nós adicionamos 5 horas e mostramos a nota data e hora.

Veja o código VB.NET completo para o exemplo:

Imports System

Module Program
  Sub Main(args As String())
    Dim agora As DateTime = DateTime.Now
    Dim horas As Integer = 5 ' vamos adicionar 5 horas

    ' exibe a data e hora atual
    Console.WriteLine("Agora são: " _
      & agora.ToString("dd/MM/yyyy - hh:mm:ss"))

    ' adiciona as horas
    agora = agora.AddHours(horas)

    ' exibe a nova data e hora
    Console.WriteLine("Daqui " & horas & " horas será: " _
      & agora.ToString("dd/MM/yyyy - hh:mm:ss"))

    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:

Agora são: 11/07/2022 - 03:47:01
Daqui 5 horas será: 11/07/2022 - 08:47:01


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

Exercício Resolvido de Java - Como rotacionar os elementos de um vetor de inteiros n vezes para a direita - Solução usando força-bruta

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

Dado o vetor:

// vamos criar um vetor de inteiros
int valores[] = {1, 6, 9, 3, 7, 8, 5, 2};
Escreva um método Java que rotaciona este vetor para a direita um determinado número de casas. A função deverá receber o array e um inteiro indicando o número de rotações, ou seja, o número de vezes que os elementos do vetor serão movimentados para a direita.

Sua saída deverá ser parecida com:

Array na ordem original:
1 6 9 3 7 8 5 2 

Rotação do vetor depois do passo 1:
2 1 6 9 3 7 8 5 

Rotação do vetor depois do passo 2:
5 2 1 6 9 3 7 8 

Rotação do vetor depois do passo 3:
8 5 2 1 6 9 3 7 

Array depois de rotacionar 3 vezes:
8 5 2 1 6 9 3 7
Resposta/Solução:

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

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // vamos criar um vetor de inteiros
    int valores[] = {1, 6, 9, 3, 7, 8, 5, 2};
    
    // mostramos o array na ordem original
    System.out.println("Array na ordem original:");
    exibirVetor(valores);
    
    // vamos rotacionar o array 3 casas para a direita
    valores = rotacionarArray(valores, 3);
    
    // e mostramos o resultado
    System.out.println("Array depois de rotacionar 3 vezes:");
    exibirVetor(valores);
  }
  
  // método usado para exibir o array
  public static void exibirVetor(int []vetor){
    // percorremos cada elemento do vetor
    for (int i = 0; i < vetor.length; i++) {
      System.out.print(vetor[i] + " ");
    }
    System.out.println("\n");
  }
  
  // método que recebe um vetor de inteiros e o rotaciona um
  // determinado número de vezes
  public static int[] rotacionarArray(int[] vetor, int n) {
    // um laço externo que repete a mesma quantidade de n
    for (int i = 0; i < n; i++) {
      // começamos no último elemento e regredimos até
      // o segundo elemento do vetor
      for (int j = vetor.length - 1; j > 0; j--) {
        // avançamos um elemento de cada vez para
        // a direita
        int temp = vetor[j];
        vetor[j] = vetor[j - 1];
        vetor[j - 1] = temp;
      }  

      // mostramos o progresso
      System.out.println("Rotação do vetor depois do passo " + (i + 1) + ":");
      exibirVetor(vetor);
    }
    return vetor;
  }
}

A solução que apresentamos aqui usa a força-bruta, isto é, uma solução não otimizada e pouco recomendada para arrays com um número exagerado de elementos. Por ser força-bruta, o laço interno percorre todos os elementos do vetor, trocando-os de lugares. Em outras dicas do site nós colocamos versões melhoradas deste código.


Java ::: Fundamentos da Linguagem ::: Laços de Repetição

Como usar o laço while da linguagem Java - Java para iniciantes

Quantidade de visualizações: 17489 vezes
O laço while é usado quando queremos executar um bloco de códigos continuamente até uma condição seja verdadeira. Veja sua estrutura:

while(condição){
  // bloco de códigos
}

Diferente de C e C++, a condição a ser testada no while do Java deve sempre retornar um valor boolean. E, muito cuidado deve ser tomado para não produzirmos laços infinitos, ou seja, a condição sendo testada nunca retornará um valor false. Veja um trecho de código no qual exibimos os números pares de 0 a 20:

public class Estudos{
  public static void main(String args[]){
    
    int numero = 0;
    while(numero <= 20){
      System.out.println(numero);
      numero++;
    }

    System.exit(0);
  }
}

Veja outro exemplo no qual o laço while é executado até que o usuário digite "fim":

import java.util.*;

public class Estudos{
  public static void main(String args[]){
    Scanner in = new Scanner(System.in);
    String palavra = "";    

    while(!palavra.equals("fim")){
      System.out.print("Digite uma palavra: ");
      palavra = in.nextLine();
      System.out.println("Você escreveu: " + palavra);
    }

    System.exit(0);
  }
} 

Para finalizar, lembre-se de que o laço while é executado somente enquanto a condição testada for verdadeira. Isso quer dizer que, se na primeira tentativa de execução, a condição já for falsa, o laço nunca será executado.


AutoCAD VBA ::: Dicas & Truques ::: Linha, Linhas, Comando LINE

Como retornar as coordenadas iniciais e finais de uma linha no AutoCAD usando AutoCAD VBA e as propriedades StartPoint e EndPoint

Quantidade de visualizações: 338 vezes
Nesta dica mostrarei como podemos usar as propriedades StartPoint e EndPoint do objeto AcadLine do AutoCAD VBA para obter e retornar as coordenadas iniciais e finais de uma linha do AutoCAD.

Veja que usamos a função ThisDrawing.Utility.GetEntity para pedir para o usuário selecionar uma linha na área de desenho. Uma vez selecionada a linha nós obtemos suas coordenadas iniciais e finais usando StartPoint e EndPoint.

Para finalizar nós usamos a função ThisDrawing.Utility.Prompt para exibir as coordenadas x, y e z iniciais e finais da linha na janela de comando do AutoCAD.

Veja o código AutoCAD VBA completo para o exemplo:

' Esta macro AutoCAD VBA mostra como selecionar uma linha
' na área de desenho do AutoCAD e retornar suas coordenadas
' iniciais e finais
Sub CoordenadasLinha()
  ' vamos declarar um variável para receber a linha
  ' selecionada
  Dim linha As AcadLine
  ' e também a localização da linha
  Dim localizacao As Variant
  ' para guardar o ponto inicial
  Dim ponto_inicial As Variant
  ' para guardar o ponto final
  Dim ponto_final As Variant
   
  ' caso haja algum erro
  On Error Resume Next
   
  ' agora pedimos para o usuário selecionar a linha
  ThisDrawing.Utility.GetEntity linha, localizacao, _
    "Selecione uma linha"
   
  ' vamos obter o ponto inicial da linha
  ponto_inicial = linha.StartPoint
  ' vamos obter o ponto final da linha
  ponto_final = linha.EndPoint
   
  ' e mostramos as coordenadas iniciais e finais da linha
  ThisDrawing.Utility.Prompt "As coordenadas iniciais são: X = " _
    & ponto_inicial(0) & "; Y = " & ponto_inicial(1) & "; Z = " _
    & ponto_inicial(2)
  ThisDrawing.Utility.Prompt vbCrLf & "As coordenadas finais são: X = " _
    & ponto_final(0) & "; Y = " & ponto_final(1) & "; Z = " _
    & ponto_final(2)
End Sub

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

As coordenadas iniciais são: X = 55,9523227122882; Y = 42,9870898477564; Z = 0
As coordenadas finais são: X = 116,586068002574; Y = 20,6918609035664; Z = 0


Java ::: Pacote java.lang ::: String

Como comparar strings em Java usando os métodos compareTo() e compareToIgnoreCase() da classe String

Quantidade de visualizações: 8966 vezes
Em algumas situações precisamos efetuar comparação léxica de strings, ou seja, verificar se uma palavra ou frase é "igual, ""maior" ou "menor" que outra. Isso pode ser feito por meio do uso dos métodos compareTo() e compareToIgnoreCase() da classe String (definidos originalmente na interface Comparable<String>).

Veja a assinatura do método compareTo():

public int compareTo(String anotherString)

O retorno do método é 0 se a duas strings são iguais. O retorno será menor que 0 se a string na qual o método está sendo chamado for menor que a string passada como argumento. O retorno será maior que 0 se a string na qual o método está sendo chamado for maior que a string passada como argumento.

Veja um exemplo de comparação léxica de duas strings:

public class Main {
  public static void main(String[] args) {
    // vamos declarar duas strings
    String nome1 = "Márcio";
    String nome2 = "Márcia";
    
    // vamos comparar as duas strings lexicamente
    if(nome1.compareTo(nome2) == 0){
      System.out.println("As strings são iguais");
    }
    else if(nome1.compareTo(nome2) > 0){
      System.out.println("A primeira string é maior que a segunda");
    }
    else{
      System.out.println("A primeira string é menor que a segunda");
    }
  }
}

Ao executarmos este código teremos o seguinte resultado:

A primeira string é maior que a segunda

A funcionalidade fornecida pelo método compareToIgnoreCase() é semelhante à aquela do método compareTo(). A diferenção é que, quando usamos compareToIgnoreCase(), o método não diferencia letras maiúsculas de letras minúsculas.

A comparação efetuada pelos métodos compareTo() e compareToIgnoreCase() é baseada no valor Unicode de cada caractere na string. A sequencia de caracteres representada pelo objeto String é comparada lexicamente com a sequencia de caracteres representada pela string fornecida como argumento.


Ruby ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como retornar o tamanho de um array em Ruby usando a função size

Quantidade de visualizações: 7225 vezes
Em algumas situações nós precisamos saber como retornar a quantidade de itens em um array Ruby. Para isso nós podemos usar a função size do objeto Array.

Veja o exemplo:

# vamos declarar um array com 5 elementos
valores = [3, 6, 78, 32, 1]

# vamos obter o seu tamanho
tamanho = valores.size

# e mostramos o resultado
puts "O array contém #{tamanho} elementos"

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

O array contém 5 elementos


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

Como testar se uma string é maior, menor ou igual a outra em C# usando o método Compare()

Quantidade de visualizações: 308 vezes
Em algumas situações nós precisamos fazer a comparação de duas palavras, frase ou texto e verificar se as duas strings são iguais ou se uma é maior ou menor que a outra. Para isso nós podemos usar a função Compare() da classe String da linguagem C#.

Este método retorna maior que 0 se a primeira string for maior que a segunda, menor que 0 se a primeira string for menor que a segunda e 0 se as duas strings forem iguais.

Veja um código C# completo demonstrando o exemplo:

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      string palavra1 = "aacd";
      string palavra2 = "abcd";

      if (String.Compare(palavra1, palavra2) > 0) {
        Console.WriteLine("Palavra1 é maior que palavra2");
      }
      else if (String.Compare(palavra1, palavra2) < 0) {
        Console.WriteLine("Palavra1 é menor que palavra2");
      }
      else {
        Console.WriteLine("Palavra1 é igual a palavra2");
      }

      Console.WriteLine("Pressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

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

Palavra1 é menor que palavra2

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