![]() |
|
||||
![]() 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 CanvasQuantidade 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 JavaQuantidade 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 StreamWriterQuantidade 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 DateTimeQuantidade 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-brutaQuantidade 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}; 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 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 iniciantesQuantidade 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 EndPointQuantidade 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 StringQuantidade 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 sizeQuantidade 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 |
Nossas 20 dicas & truques de programação mais populares |
C# - Como ordenar alfabeticamente os itens de uma ListBox do C# Windows Forms usando a propriedade Sorted |
Você também poderá gostar das dicas e truques de programação abaixo |
Java - Como retornar a hora atual em Java usando um objeto da classe Calendar - Datas e Horas em Java |
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 |