![]() |
|||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
|
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como criar diretórios em Java usando o método mkdir() da classe FileQuantidade de visualizações: 204 vezes |
Em algumas ocasiões nossos programas precisam criar diretórios. Na linguagem Java isso pode ser feito com o auxílio do método mkdir() da classe File, do pacote java.io. Este método não recebe nenhum parâmetro e atua em cima de uma instância da classe File. Além disso, ele retorna um boolean indicando o sucesso ou não da operação. Veja o código completo para um exemplo: package arquivodecodigos; // precisamos importar o pacote java.io import java.io.*; public class Estudos{ public static void main(String[] args){ // nome e caminho do diretório que será criado File diretorio = new File("c:\\estudos_java\\imagens"); // o diretório foi criado com sucesso? if(diretorio.mkdir()){ System.out.println("Diretório criado com sucesso"); } else{ System.out.println("Nao foi possível criar o diretório"); } } } Se o diretório puder ser criado, você verá uma mensagem: Diretório criado com sucesso Observe que este método pode disparar uma exceção do tipo SecurityException se você não tiver permissão para criar diretórios nos locais especificados. |
Delphi ::: VCL - Visual Component Library ::: TEdit |
Como obter a quantidade de caracteres no texto de um TEdit do Delphi usando a função SendMessage() da API do Windows e a mensagem WM_GETTEXTLENGTHQuantidade de visualizações: 11117 vezes |
Em algumas ocasiões gostaríamos de obter o tamanho do texto de um TEdit usando apenas as funções da API do Windows. Para isso podemos usar a função SendMessage() em combinação com a mensagem WM_GETTEXTLENGTH. A função SendMessage() da API do Windows possui a seguinte assinatura em C/C++: LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ); No arquivo Windows.pas podemos encontrar o protótipo e corpo desta função convertidos para Object Pascal: // Protótipo {$EXTERNALSYM SendMessage} function SendMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall; // Implementação function SendMessage; external user32 name 'SendMessageW'; Quando usamos a mensagem WM_GETTEXTLENGTH para obter a quantidade de caracteres no texto de um TEdit, o retorno da função SendMessage() é um valor inteiro contendo a quantidade de caracteres na caixa de texto. Os parâmetros wParam e lParam não são usados, ou seja, podemos fornecer o valor 0 para os mesmos. Veja: procedure TForm1.Button1Click(Sender: TObject); var tamanho: Integer; begin // vamos obter a quantidade de caracteres na caixa de texto tamanho := SendMessage(Edit1.Handle, WM_GETTEXTLENGTH, 0, 0); // vamos exibir o resultado ShowMessage('O edit contém ' + IntToStr(tamanho) + ' caracteres.'); end; Ao executar este exemplo teremos uma mensagem com um conteúdo parecido com: O edit contém 10 caracteres. |
PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Vetores e Matrizes em PHP - Como sortear um ou mais elementos de um vetor em PHPQuantidade de visualizações: 14826 vezes |
Nesta dica mostrarei como usar a função array_rand() da linguagem PHP para sortear elementos de um vetor (array). Coloque o código abaixo na sua página e atualize-a várias vezes para ver o resultado:<html> <head> <title>Estudando PHP</title> </head> <body> <?php $pessoas = array(); $pessoas[0] = "Carlos"; $pessoas[1] = "Juliana"; $pessoas[2] = "Igor"; $pessoas[3] = "Marcelo"; // sorteia um elemento $sorteado = array_rand($pessoas, 1); echo "O sorteado foi: " . $pessoas[$sorteado] . "<br><br>"; // sorteia dois elementos $sorteados = array_rand($pessoas, 2); echo "Os sorteados foram: <br>"; for($i = 0; $i < count($sorteados); $i++){ echo $pessoas[$sorteados[$i]] . "<br>"; } ?> </body> </html> Ao executar este código nós teremos um resultado parecido com: O sorteado foi: Carlos Os sorteados foram: Carlos Igor |
C ::: C para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a norma ou módulo de vetores nos espaços R2 e R3 usando C - Geometria Analítica e Álgebra Linear usando CQuantidade de visualizações: 4404 vezes |
Em Geometria Analítica e Álgebra Linear, a magnitude, norma, comprimento, tamanho ou módulo (também chamado de intensidade na Física) de um vetor é o seu comprimento, que pode ser calculado por meio da distância de seu ponto final a partir da origem, no nosso caso (0,0). Considere o seguinte vetor no plano, ou seja, no espaço bidimensional, ou R2: \[\vec{v} = \left(7, 6\right)\] Aqui este vetor se inicia na origem (0, 0) e vai até as coordenadas (x = 7) e (y = 6). Veja sua plotagem no plano 2D: ![]() Note que na imagem já temos todas as informações que precisamos, ou seja, o tamanho desse vetor é 9 (arredondado) e ele faz um ângulo de 41º (graus) com o eixo x positivo. Em linguagem mais adequada da trigonometria, podemos dizer que a medida do cateto oposto é 6, a medida do cateto adjacente é 7 e a medida da hipotenusa (que já calculei para você) é 9. Note que já mostrei também o ângulo theta (__$\theta__$) entre a hipotenusa e o cateto adjacente, o que nos dá a inclinação da reta representada pelos pontos (0, 0) e (7, 6). Relembrando nossas aulas de trigonometria nos tempos do colegial, temos que o quadrado da hipotenusa é a soma dos quadrados dos catetos, ou seja, o Teorema de Pitágoras: \[a^2 = b^2 + c^2\] Como sabemos que a potenciação é o inverso da radiciação, podemos escrever essa fórmula da seguinte maneira: \[a = \sqrt{b^2 + c^2}\] Passando para os valores x e y que já temos: \[a = \sqrt{7^2 + 6^2}\] Podemos comprovar que o resultado é 9,21 (que arredondei para 9). Não se esqueça da notação de módulo ao apresentar o resultado final: \[\left|\vec{v}\right| = \sqrt{7^2 + 6^2}\] E aqui está o código C que nos permite informar os valores x e y do vetor e obter o seu comprimento, tamanho ou módulo: #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[]){ float x, y, norma; // vamos ler os valores x e y printf("Informe o valor de x: "); scanf("%f", &x); printf("Informe o valor de y: "); scanf("%f", &y); // vamos calcular a norma do vetor norma = sqrt(pow(x, 2) + pow(y, 2)); // mostra o resultado printf("A norma do vetor é: %f", norma); printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: Informe o valor de x: 7 Informe o valor de y: 6 A norma do vetor é: 9.219544457292887 Novamente note que arredondei o comprimento do vetor para melhor visualização no gráfico. Para calcular a norma de um vetor no espaço, ou seja, no R3, basta acrescentar o componente z no cálculo. |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Como renomear um diretório em PHP usando a função rename()Quantidade de visualizações: 11773 vezes |
Diretórios podem ser renomeados usando a função rename() da linguagem PHP. Esta função recebe o nome atual do diretório e o novo nome e retorna um valor boolean (true ou false) informando o sucesso ou não da operação. Antes de usar esta função verifique se você possui as permissões adequadas para renomear o diretório. Veja um trecho de código no qual renomeamos um diretório no diretório public_html: <?php // renomeia o diretório "recentes" para "atuais" $diretorio_antigo = "/site/public_html/recentes"; $diretorio_novo = "/site/public_html/atuais"; if(rename($diretorio_antigo, $diretorio_novo)){ echo "Diretório renomeado com sucesso."; } else{ echo "Não foi possível renomear o diretório."; } ?> Ao executar este código nós teremos o seguinte resultado: Diretório renomeado com sucesso. Seja cuidadoso. Se você não tiver as permissões adequadas para renomear um diretório, a seguinte mensagem de erro será exibida: Warning: rename(imagens,imagens_novas) [function.rename]: Permission denied in /site/public_html/testes.php on line 9 Não foi possível renomear o diretório. |
PHP ::: Dicas & Truques ::: Formulários |
Como obter o valor do item selecionado em um element HTML select (menu de lista) de seleção única usando PHPQuantidade de visualizações: 21643 vezes |
Os controles do tipo combobox ou select da linguagem HTML são úteis quando queremos fornecer uma lista de itens a partir da qual o usuário poderá selecionar apenas um ítem (ou vários itens, no caso de uma lista de seleção múltipla. Nesta dica mostrarei como usar PHP para obter o item que o usuário selecionou. Veja o código completo abaixo. Vamos começar com a página HTML que contém o elemento <select>: <form name="cadastro" method="post" action="testes.php"> <b>Escolha sua linguagem favorita:</b><br> <select name="linguagem"> <option value="Java" selected>Java</option> <option value="C++">C++</option> <option value="Python">Python</option> <option value="Delphi">Delphi</option> </select> <input type="submit" value="Enviar!"> </form> Agora, para obter o valor do item selecionado podemos usar o seguinte código PHP: <? // Obtém o valor selecionado $selecionada = $_POST["linguagem"]; // Exibe o resultado echo "Sua linguagem favorita é: " . $selecionada; ?> Quando você abrir a página HTML, selecionar um item e clicar o botão Enviar, você verá o seguinte resultado na página PHP: Sua linguagem favorita é: Delphi Esta dica foi revisada no PHP 8. |
Python ::: wxPython ::: Eventos e Tratadores de Eventos |
Como tratar o evento wx.EVT_MOVE em suas aplicações wxPython - Interfaces gráficas no PythonQuantidade de visualizações: 244 vezes |
Em algumas situações nós precisamos reagir ao evento wx.EVT_MOVE em nossas aplicações wxPython. Este evento é gerado todas as vezes que movemos uma janela para uma nova posição. Veja o código completo para uma aplicação wxPython na qual interceptamos e tratamos o evento wx.EVT_MOVE na janela principal do programa. Note o uso da função e.GetPosition() para recuperarmos as coordenadas x e y do evento e mostrarmos o resultado em controles wx.StaticText. # vamos importar o framework wxPython import wx # classe que representará a janela principal da # aplicação wxPython class JanelaPrincipal(wx.Frame): # o método construtor def __init__(self, *args, **kw): # chama o construtor da classe wx.Frame super(JanelaPrincipal, self).__init__(*args, **kw) # chama a função que inicializa a GUI self.InicializarGUI() # método usado para gerenciar o evento Move def OnMove(self, e): # obtemos a posição do evento e guardamos nas variáveis x e y x, y = e.GetPosition() # mostramos os valores nas labels self.st1.SetLabel(str(x)) self.st2.SetLabel(str(y)) # função que inicializa a GUI do programa def InicializarGUI(self): # criamos dois controles StaticText com os labels já definindos wx.StaticText(self, label='x:', pos=(10,10)) wx.StaticText(self, label='y:', pos=(10,30)) # criamos mais dois controles StaticText para escrevermos neles self.st1 = wx.StaticText(self, label='', pos=(30, 10)) self.st2 = wx.StaticText(self, label='', pos=(30, 30)) # fazemos um binding o evento wx.EVT_MOVE para a # função OnMove que criamos self.Bind(wx.EVT_MOVE, self.OnMove) # definimos o tamanho da janela self.SetSize((450, 350)) # define a cor de fundo da janela (Windows 10) self.SetBackgroundColour((150, 250, 100, 255)) # definimos o título da janela self.SetTitle('O evento Move') # e centralizamos a janela self.Centre() # função principal do programa Python def main(): # vamos criar a aplicação wxPython app = wx.App() janela_principal = JanelaPrincipal(None) janela_principal.Show() app.MainLoop() if __name__ == "__main__": main() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres |
Exercícios Resolvidos de Java - O caractere ausente. Escreva um método Java que receba uma string não vazia e um inteiro positivo.Quantidade de visualizações: 988 vezes |
Pergunta/Tarefa: O desafio do caractere faltante. Escreva um programa Java contendo um método que receberá uma palavra, frase ou texto e um inteiro positivo. Este método deverá retornar a palavra, frase ou texto com o caractere removido no índice especificado pelo inteiro fornecido como segundo argumento para o método. Certifique-se de que a string passada para o método não esteja vazia e de que o valor inteiro no segundo argumento não esteja fora da faixa permitida, ou seja, não seja menor que 0 nem maior que o comprimento da string - 1. Sua saída deverá ser parecida com: Informe uma palavra, frase ou texto: JAVASCRIPT Informe um número inteiro: 4 O resultado é: JAVACRIPT 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[]){ // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar uma palavra, frase ou texto System.out.print("Informe uma palavra, frase ou texto: "); String str = entrada.nextLine().trim(); // agora vamos pedir para o usuário informar um número inteiro System.out.print("Informe um número inteiro: "); int indice = Integer.parseInt(entrada.nextLine()); // os dados são válidos? if(str.isEmpty()){ System.out.println("\nA string informada está vazia\n"); } else if(indice < 0 || indice > str.length() - 1){ System.out.println("\nO índice não está na faiza permitida\n"); } else{ String resultado = caractereFaltante(str, indice); System.out.println("O resultado é: " + resultado); } } public static String caractereFaltante(String str, int indice){ // primeiro nós obtemos uma substring que vai do primeiro // índice até o indice informado pelo usuário, sem incluí-lo String inicio = str.substring(0, indice); // agora obtemos o restante da string a partir do índice informado // pelo usuário, sem incluí-lo, é claro String fim = str.substring(indice + 1, str.length()); return inicio + fim; } } |
Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cateto adjascente dadas as medidas da hipotenusa e do cateto oposto em JavaQuantidade de visualizações: 1455 vezes |
Nesta dica mostrarei como podemos tirar proveito do Teorema de Pitágoras para obter a medida do cateto adjascente quando temos as medidas da hipotenusa e do cateto oposto. Este teorema diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos", o que torna a nossa tarefa, na linguagem Java, muito fácil. 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: \[b^2 = c^2 - a^2\] Veja que agora o quadrado do cateto adjascente é igual ao quadrado da hipotenusa menos o quadrado do cateto oposto. 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 Java: package arquivodecodigos; public class Estudos{ public static void main(String args[]){ double c = 36.056; // medida da hipotenusa double a = 20; // medida do cateto oposto // agora vamos calcular a medida da cateto adjascente double b = Math.sqrt(Math.pow(c, 2) - Math.pow(a, 2)); // e mostramos o resultado System.out.println("A medida do cateto adjascente é: " + b); } } Ao executar este código Java nós teremos o seguinte resultado: A medida do cateto adjascente é: 30.00058559428465 Como podemos ver, o resultado retornado com o código Java confere com os valores da imagem apresentada. |
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação orientada a objetos em PHP - Como usar construtores em suas classes PHPQuantidade de visualizações: 11720 vezes |
Muitas vezes precisamos inicializar propriedades de um objeto de uma classe no momento em que este é criado. Para isso podemos usar um método construtor. Um método construtor, que em PHP é definido usando-se __construct() é chamado no exato momento em que efetuamos uma chamada a new. Veja um exemplo no qual exibimos uma mensagem alertando que um objeto de uma classe acaba de ser criado: <? class Pessoa{ public function __construct(){ echo "Fui criada"; } } $pessoa = new Pessoa; ?> Execute este código e veja o resultado. Note que um construtor deve, em raríssimas ocasiões, ser marcado com o modificador public. Além disso, um construtor só se torna realmente útil quando o usamos para inicializar as propriedades do objeto recém-criado. Veja: <? class Pessoa{ public $nome; public function __construct($nome){ $this->nome = $nome; } } $pessoa = new Pessoa("Osmar J. Silva"); echo $pessoa->nome; ?> Aqui nós fornecemos o valor para a propriedade $nome na mesma instrução que cria a instância da classe. |
Nossas 20 dicas & truques de programação mais populares |
GNU Octave - Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em GNU Octave VisuAlg - Como calcular o coeficiente angular de uma reta em VisuAlg dados dois pontos no plano cartesiano |
Você também poderá gostar das dicas e truques de programação abaixo |
Java - Java Swing para iniciantes - Como criar seu primeiro aplicativo de interface gráfica em Java Swing C - Como verificar a existência de uma substring em uma string usando a função strstr() da linguagem C JavaScript - Como calcular a equação reduzida da reta em JavaScript dados dois pontos pertencentes à reta |
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 |