![]() |
|||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
|
Python ::: wxPython ::: Janelas, Diálogos, Formulários e Painéis do wxPython |
Python wxPython - Como criar janelas GUI em Python usando a classe wx.Frame do wxPythonQuantidade de visualizações: 11897 vezes |
Em wxPython, um frame é o nome dado ao que o usuário do programa geralmente chama de "janela". Um frame é um contâiner que o usuário pode mover livremente na tela, e que geralmente inclui artifícios tais como uma barra de títulos, uma barra de menus, e sinalizadores de redimensionamento nas bordas e cantos. A classe wx.Frame é a classe pai de todos os frames em wxPython.Há também algumas subclasses especializadas de wx.Frame que podemos usar em nossos programas. Quando fazemos subclasse de wx.Frame, o método __init__() de nossa classe deverá chamar o construtor da classe pai wx.Frame.__init__(). A assinatura deste construtor é assim: wx.Frame(parent, id=-1, title="", pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE, name="frame") Veja a seguir alguns parâmetros importantes do construtor __init__() da classe wx.Frame:
Veja a seguir um modo muito comum de se chamar o construtor __init__() da classe wx.Frame: import wx class MinhaJanela(wx.Frame): def __init__(self): super().__init__(parent=None, title="Minha Janela", size=(350, 250)) self.Show() if __name__ == '__main__': app = wx.App() minhaJanela = MinhaJanela() app.MainLoop() Este código vai gerar a janela mostrada na figura abaixo: ![]() |
JavaScript ::: DOM (Document Object Model) ::: Navegação e Pesquisa de Nós (Nodes) |
Como obter o tipo de um nó no DOM (Document Object Model) usando a propriedade nodeType a partir de seus códigos JavaScriptQuantidade de visualizações: 8400 vezes |
Como obter o tipo de um nó no DOM (Document Object Model) usando a propriedade nodeType a partir de seus códigos JavaScript A propriedade nodeType, definida no World Wide Web Consortium (W3C) Document Object Model (DOM) Level 1, pode ser usada quando precisamos obter o tipo de um determinado nó (node) na hierarquia de elementos HTML no DOM (Document Object Model). Esta propriedade retorna um valor inteiro indicando o tipo de nó sendo testado. Os valores mais comuns são 1 (nó elemento) e 3 (nó texto). Veja uma página HTML na qual temos um parágrafo e um elemento span. Na primeira vez nós vamos obter uma referência ao parágrafo e testar o tipo do nó. Na segunda vez nós obtemos uma referência ao primeiro nó filho do elemento span, o que resultará em seu conteúdo sendo testado. Veja: <html> <head> <title>Estudos JavaScript</title> <script type="text/javascript"> function obterNodeType(){ // vamos obter uma referência ao parágrafo com o id "paragrafo" var elem = document.getElementById("paragrafo"); // vamos obter o tipo de nó deste elemento var tipo = elem.nodeType; // vamos mostrar o resultado window.alert("O tipo deste elemento é: " + tipo); // vamos obter uma referência ao span com o id "frase" elem = document.getElementById("frase"); // vamos obter o tipo de nó do primeiro filho deste elemento tipo = elem.firstChild.nodeType; // vamos mostrar o resultado window.alert("O tipo deste elemento é: " + tipo); } </script> </head> <body> <p id="paragrafo">Sou um parágrafo</p> <span id="frase">Veja esta frase</span> <br><button onclick="obterNodeType()">Obter tipo do nó (nodeType)</button> </body> </html> Note que esta propriedade é somente-leitura, ou seja, não podemos modificar seu valor em tempo de execução. A propriedade nodeType pode ser obtida a partir dos seguintes elementos: a, abbr, acronym, address, applet, area, b, base, basefont, bdo, bgsound, big, blink, blockquote, body, br, button, caption, center, cite, code, col, colgroup, comment, dd, del, dfn, dir, div, dl, dt, em, embed, fieldset, font, form, frame, frameset, h1, h2, h3, h4, h5, h6, head, hr, html, i, iframe, img, input:button, input:checkbox, input:file, input:hidden, input:image, input:password, input:radio, input:range, input:reset, input:search, input:submit, input:text, ins, isindex, kbd, keygen, label, legend, li, link, listing, map, marquee, menu, meta, nobr, noframes, noscript, object, ol, optgroup, option, p, param, plaintext, pre, q, rt, ruby, s, samp, script, select, small, span, strike, strong, style, sub, sup, table, tbody, td, textarea, tfoot, th, thead, title, tr, tt, u, ul, var, wbr, xml e xmp. Esta dica foi escrita e testada no Internet Explorer 8 e Firefox 3.6. |
C++ ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em C++Quantidade de visualizações: 1048 vezes |
Todos estamos acostumados com o Teorema de Pitágoras, que diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos". Baseado nessa informação, fica fácil retornar a medida do cateto oposto quando temos as medidas da hipotenusa e do cateto adjascente. Isso, claro, via programação em linguagem C++. Comece observando a imagem a seguir: ![]() Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. A medida da hipotenusa é, sem arredondamentos, 36.056 metros. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras): \[c^2 = a^2 + b^2\] Tudo que temos que fazer é mudar a fórmula para: \[a^2 = c^2 - b^2\] Veja que agora o quadrado do cateto oposto é igual ao quadrado da hipotenusa menos o quadrado do cateto adjascente. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo. Veja agora como esse cálculo é feito em linguagem C++: #include <iostream> #include <math.h> #include <cstdlib> using namespace std; int main(int argc, char *argv[]){ float c = 36.056; // medida da hipotenusa float b = 30; // medida do cateto adjascente // agora vamos calcular o comprimento da cateto oposto float a = sqrt(pow(c, 2) - pow(b, 2)); // e mostramos o resultado cout << "A medida do cateto oposto é: " << a << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: A medida do cateto oposto é: 20.0009 Como podemos ver, o resultado retornado com o código C++ confere com os valores da imagem apresentada. |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como remover todos os espaços de uma string em C# usando o método Replace() da classe String - Apostila C# para iniciantesQuantidade de visualizações: 14033 vezes |
Nesta dica mostrarei como tirar proveito do método Replace() da classe String do C# para remover todos os espaços de uma frase ou texto. Note que, usando esta técnica, todos os espaços serão removidos, tanto no início, quanto no meio ou fim da string. Veja o código completo para o exemplo: using System; namespace Estudos{ class Program{ static void Main(string[] args) { string frase = "Gosto muito de C#"; Console.WriteLine("Com espaços: " + frase); // remove todos os espaços frase = frase.Replace(" ", ""); Console.WriteLine("Sem espaços: " + frase); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código nós teremos o seguinte resultado: Com espaços: Gosto muito de C# Sem espaços: GostomuitodeC# |
C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Vetores e matrizes em C# - Como ordenar um vetor de inteiros usando o método Sort() da classe Array do C#Quantidade de visualizações: 16772 vezes |
Nesta dica mostrarei como podemos usar o método Sort() da classe Array da linguagem C# para classificar um vetor de inteiros em ordem crescente. Note que o método Sort() é estático e modifica o conteúdo do array original. Veja o código completo para o exemplo: using System; namespace Estudos{ class Program{ static void Main(string[] args) { // cria e inicializa um array de inteiros int[] valores = { 4, 69, 1, 0, 17, 23, 14 }; Console.WriteLine("Ordem original:"); for (int i = 0; i < valores.Length; i++) Console.WriteLine(valores[i]); // ordena o array Array.Sort(valores); // exibe os elementos na ordem crescente Console.WriteLine(); Console.WriteLine("Ordem crescente:"); for (int i = 0; i < valores.Length; i++) Console.WriteLine(valores[i]); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código nós teremos o seguinte resultado: Ordem original: 4 69 1 0 17 23 14 Ordem crescente: 0 1 4 14 17 23 69 |
R ::: Dicas & Truques ::: Matemática e Estatística |
R para Matemática e Estatística - Como calcular desvio padrão usando a função sd() da linguagem RQuantidade de visualizações: 2274 vezes |
Em Matemática e Estatística, o Desvio Padrão (em inglês: Standard Deviation) é uma medida de dispersão, ou seja, é uma medida que indica o quanto um conjunto de dados é uniforme. Quando o desvio padrão é baixo, isso quer dizer que os dados do conjunto estão mais próximos da média. Como calcular o desvio padrão de um conjunto de dados? Vamos começar analisando a fórmula mais difundida na matemática e na estatística: \[\sigma = \sqrt{ \frac{\sum_{i=1}^N (x_i -\mu)^2}{N}}\] Onde: a) __$\sigma__$ é o desvio; b) __$x_i__$ é um valor qualquer no conjunto de dados na posição i; c) __$\mu__$ é a média aritmética dos valores do conjunto de dados; d) N é a quantidade de valores no conjunto. O somatório dentro da raiz quadrada nos diz que devemos somar todos os elementos do conjunto, desde a posição 1 até a posição n, subtrair cada valor pela média do conjunto e elevar ao quadrado. Obtida a soma, nós a dividimos pelo tamanho do conjunto. Porém, se usarmos a linguagem R, todos estes cálculos se tornam desnecessários, pois temos a função sd(), que recebe uma lista de valores numéricos e retorna o desvio padrão correspondente. Veja: > valores <- c(10, 30, 90, 30) [ENTER] > desvio_padrao <- sd(valores) [ENTER] > paste("O desvio padrão é:", desvio_padrao) [ENTER] [1] "O desvio padrão é: 34.6410161513775" > Ao executar estes comandos R nós teremos o seguinte resultado: O desvio padrão é: 34.6410161513775 Note que a função sd() da linguagem R retorna o Desvio Padrão Populacional, e não o Desvio Padrão Amostral. |
C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como criar e inicializar um array de inteiros em C#Quantidade de visualizações: 8608 vezes |
Nesta dica mostrarei como declarar, construir e inicializar um vetor de ints na linguagem C#. Aqui os valores já estão sendo informados na construção do array, mas você poderá pedir para o usuário informar os valores também. Veja o código para o exemplo: using System; namespace Estudos { class Program { static void Main(string[] args) { // cria um array de inteiros int[] valores = new int[5] { 3, 2, 5, 11, 13 }; // exibe o valor do primeiro elemento Console.WriteLine("O valor do primeiro elemento é {0} ", valores[0]); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: O valor do primeiro elemento é 3 |
Python ::: Python para Engenharia ::: Unidades de Medida |
Como converter Centímetros Cúbicos em Metros Cúbicos em Python - Python para Física e EngenhariaQuantidade de visualizações: 443 vezes |
Em muitas situações nós temos uma medida de volume em cm3 e queremos transformá-la em m3, que é a medida de volume do Sistema Internacional (SI). Para isso só precisamos dividir os centímetros cúbicos por 1.000.000. Veja a fórmula: \[\text{Metros Cúbicos} = \frac{\text{Centímetros Cúbidos}}{1.000.000} \] Agora veja o código Python que pede para o usuário informar a medida de volume em centímetros cúbicos e a converte para metros cúbicos. Note que mostrei como exibir o resultado em notação científica e sem notação científica: # função principal do programa def main(): # vamos ler a medida em centímetros cúbicos cent_cubicos = float(input("Informe os centímetros cúbicos: ")) # agora calculamos os metros cúbicos met_cubicos = cent_cubicos / 1000000.00 # e mostramos o resultado print("Você informou {0} centímetros cúbicos.".format(cent_cubicos)) print("Isso equivale a {0} metros cúbicos.".format(met_cubicos)) print(f"Sem notação científica: {met_cubicos:.6f}") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Informe os centímetros cúbicos: 35 Você informou 35.0 centímetros cúbicos. Isso equivale a 3.5E-5 metros cúbicos. Sem notação científica: 0,000035 |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico |
Exercícios Resolvidos de Python - Como testar se um número é potência de dois usando PythonQuantidade de visualizações: 754 vezes |
Pergunta/Tarefa: Escreva um programa Python contendo um método que recebe um número inteiro e retorna um valor boolean indicando se o valor informado é potência de dois. Sua saída deverá ser parecida com: Informe um valor inteiro: 8 O valor 8 é potência de dois Informe um valor inteiro: 34 O valor 34 não é potência de dois Informe um valor inteiro: 64 O valor 64 é potência de dois Veja a resolução comentada deste exercício usando Python: # método que recebe um número inteiro e informe se ele é # potência de dois def is_potencia_dois(n): # usamos o operador AND de bits para verificar se n AND n-1 # é igual a 0 return (n > 0) and (n & (n - 1)) == 0 # método principal def main(): # vamos pedir para o usuário informar um valor inteiro valor = int(input("Informe um valor inteiro: ")) # vamos testar se o número informado é potência de dois if is_potencia_dois(valor): print("O valor {0} é potência de dois".format(valor)) else: print("O valor {0} não é potência de dois".format(valor)) if __name__== "__main__": main() |
PHP ::: Dicas & Truques ::: Data e Hora |
Como verificar se um ano é bissexto usando PHPQuantidade de visualizações: 104 vezes |
Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da terra e com os eventos sazonais relacionados às estações do ano. Na linguagem PHP podemos verificar se um ano é bissexto checando o valor retornado por date("L"). Se o valor retornado for "1", então o ano é bissexto. Observe que, em PHP, o valor 1 é considerado true (verdadeiro). Veja um trecho de código completo no qual testamos se um determinado ano é bissexto ou não: <html> <head> <title>Estudos PHP</title> </head> <body> <?php // função que verifica se o ano é bissexto function ano_bissexto($ano){ return (date('L', mktime(0, 0, 0, 1, 1, $ano)) == 1); } // agora vamos testar a função $ano = 2020; if(ano_bissexto($ano)){ echo "O ano $ano é bissexto"; } else{ echo "O ano $ano não é bissexto"; } ?> </body> </html> Ao executar este código nós teremos o seguinte resultado: O ano 2020 é bissexto |
Nossas 20 dicas & truques de programação mais populares |
Delphi - Como retornar o caractere a partir de um determinado código ASCII em Delphi usando a função Chr() |
Você também poderá gostar das dicas e truques de programação abaixo |
JavaScript - Validação de formulários em JavaScript - Como validar CPF (com pontos e hífen) usando expressões regulares |
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 |