Você está aqui: Python ::: Dicas & Truques ::: Arquivos e Diretórios |
|
Como testar se um diretório está vazio usando PythonQuantidade de visualizações: 1504 vezes |
|
Em várias situações nós precisamos verificar se um determinado diretório está vazio, talvez com a intenção de excluí-lo. Para isso nós podemos combinar as funções listdir() do módulo os e a função len(). A função listdir() do módulo os retorna uma List contendo os nomes dos arquivos (e diretórios) contidos no diretório fornecido como argumento, enquanto a função len() retorna o tamanho da lista. Veja o código completo para o exemplo: # importa o módulo os import os # método principal def main(): # nome do diretório diretorio = "C:\\estudos_python" # vamos testar se o diretório está vazio if len(os.listdir(diretorio)) == 0: print("O diretório está vazio") else: print("O diretório não está vazio") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: c:\estudos_python>python estudos.py O diretório não está vazio |
|
Link para compartilhar na Internet ou com seus amigos: | |
Anúncio Patrocinado | |
Delphi ::: VCL - Visual Component Library ::: TComboBox |
Como retornar o texto do item selecionado em um ComboBox do DelphiQuantidade de visualizações: 28172 vezes |
Uma das tarefas mais frequentes que precisamos realizar quando estamos usando o controle TComboBox em nossas aplicações Delphi é obter o texto do item selecionado. Isso pode ser feito fornecendo-se o índice do item selecionado (itemIndex) como subscrito para a propriedade Items (do tipo TStrings) do ComboBox. Veja o exemplo abaixo:procedure TForm1.Button1Click(Sender: TObject); var item: string; begin // vamos obter o valor do item selecionado no ComboBox item := ComboBox1.Items[ComboBox1.ItemIndex]; // mostra o resultado ShowMessage('O item selecionado é: ' + item); end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
JavaScript ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em JavaScript dados dois pontos no plano cartesianoQuantidade de visualizações: 1443 vezes |
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem JavaScript que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos: <html> <head> <title>Estudos JavaScript</title> </head> <body> <script type="text/javascript"> // x e y do primeiro ponto var x1 = 3; var y1 = 6; // x e y do segundo ponto var x2 = 9; var y2 = 10; var m = (y2 - y1) / (x2 - x1); // mostramos o resultado document.writeln("O coeficiente angular é: " + m); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: O coeficiente angular é: 0.6666666666666666 Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$): <html> <head> <title>Estudos JavaScript</title> </head> <body> <script type="text/javascript"> // x e y do primeiro ponto var x1 = 3; var y1 = 6; // x e y do segundo ponto var x2 = 9; var y2 = 10; // vamos obter o comprimento do cateto oposto var cateto_oposto = y2 - y1; // e agora o cateto adjascente var cateto_adjascente = x2 - x1; // vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa // (em radianos, não se esqueça) var tetha = Math.atan2(cateto_oposto, cateto_adjascente); // e finalmente usamos a tangente desse ângulo para calcular // o coeficiente angular var tangente = Math.tan(tetha); // mostramos o resultado document.writeln("O coeficiente angular é: " + tangente); </script> </body> </html> Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Geometria Analítica e Álgebra Linear |
Exercício Resolvido de Java - Como calcular o quadrante de uma coordenada cartesiana em JavaQuantidade de visualizações: 349 vezes |
Pergunta/Tarefa: O Plano Cartesiano, ou Sistema de Coordenadas Cartesianas, é formado por duas retas reais perpendiculares, ou seja, o ângulo entre elas é de 90 graus. Essas retas determinam um único plano, que é denominado como sistema ortogonal de coordenadas cartesianas ou somente plano cartesiano. No ano de 1637, René Descartes teve a brilhante ideia de relacionar álgebra e geometria, dando início à conhecida geometria analítica, método que possibilita descrever a geometria utilizando uma menor quantidade de diagramas e desenhos. Apesar de os créditos dessa descoberta serem dados a Descartes, Pierre de Fermat já conhecia e utilizava alguns conceitos de geometria analítica, logo o plano cartesiano. Há quatro quadrantes no Sistema de Coordenadas Cartesianas, conforme a figura a seguir: Como podemos ver, no primeiro quadrante, tanto o x quanto o y são positivos. No segundo quadrante o x é negativo e o y é positivo. No terceiro quadrante, tanto o x quanto o y são negativos. Por fim, no quarto quadrante, o x é positivo e o y é negativo. Escreva um programa Java que pede para o usuário informar os valores x e y de uma coordenada cartesiana e informe em qual quadrante essa coordenada se situa. Se os valores de x e y forem zero, informe que o ponto se situa na origem do plano cartesiano. Sua saída deverá ser parecida com: Informe o valor x da coordenada: 12 Informe o valor y da coordenada: -7 A coordenada (12,-7) está no Quarto Quadrante (+,-) Veja a resolução comentada deste exercício em 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); // variáveis usadas na resolução do problema int x, y; // vamos pedir para o usuário informar as coordenadas System.out.print("Informe o valor x da coordenada: "); x = Integer.parseInt(entrada.nextLine()); System.out.print("Informe o valor y da coordenada: "); y = Integer.parseInt(entrada.nextLine()); // a coordenada está no primeiro quadrante? if (x > 0 && y > 0){ System.out.println("A coordenada (" + x + "," + y + ") está no Primeiro Quadrante (+,+)"); } // a coordenada está no segundo quadrante? else if (x < 0 && y > 0){ System.out.println("A coordenada (" + x + "," + y + ") está no Segundo Quadrante (-,+)"); } // a coordenada está no terceiro quadrante? else if (x < 0 && y < 0){ System.out.println("A coordenada (" + x + "," + y + ") está no Terceiro Quadrante (-,-)"); } // a coordenada está no quarto quadrante? else if (x > 0 && y < 0){ System.out.println("A coordenada (" + x + "," + y + ") está no Quarto Quadrante (+,-)"); } // a coordenada está na origem else{ System.out.println("A coordenada (" + x + "," + y + ") está na origem"); } } } |
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como subtrair dias de uma data em JavaScript - Data e horas em JavaScriptQuantidade de visualizações: 16271 vezes |
Em algumas situações, principalmente quando estamos desenvolvendo aplicações que envolvem datas, horas e calendários em JavaScript, nós precisamos subtrair dias de uma data. Nesta dica eu mostro como isso pode ser feito. Veja o código completo abaixo: <html> <head> <title>Estudando JavaScript</title> </head> <body> <script type="text/javascript"> function subtrairDias(data, dias){ return new Date(data.getTime() - (dias * 24 * 60 * 60 * 1000)); } document.write('Hoje é: ' + (new Date()).toLocaleDateString() + '<br>'); document.write('5 dias atrás era: ' + subtrairDias(new Date(), 5).toLocaleDateString()); </script> </body> </html> Ao executarmos este código nós teremos o seguinte resultado: Hoje é: 25/03/2021 5 dias atrás era: 20/03/2021 |
C ::: Dicas & Truques ::: Struct (Estruturas, Registros) |
Como escrever um função que retorna uma estrutura (struct) usando a linguagem CQuantidade de visualizações: 15893 vezes |
Muitas vezes precisamos escrever funções que retornam estruturas, ou melhor, que alocam e retornam ponteiros para estruturas. Esta não é, definitivamente, uma tarefa para iniciantes em C. Contudo, esta dica lhe fornecerá um código completo indicando-lhe uma das formas mais simples de conseguir tal proeza. Antes de executar o código, porém, dê uma olhada atenta na função obter_livro(). Veja que esta função recebe o título, o código e o número de páginas de um livro. Em seguida a função aloca memória para uma estrutura, preenche seus membros e retorna um ponteiro para tal estrutura. Eis a listagem completa: #include <stdio.h> #include <stdlib.h> #include <string.h> // define a estrutura Livro struct Livro{ char *titulo; int codigo; int paginas; }; // função que aloca e retorna um ponteiro para uma // estrutura Livro struct Livro* obter_livro(char *titulo, int codigo, int paginas){ // aloca memória para uma estrutura Livro struct Livro *temp = (struct Livro*)malloc(sizeof(struct Livro)); // preeche os membros da estrutura temp->titulo = titulo; temp->codigo = codigo; temp->paginas = paginas; return temp; } int main(int argc, char *argv[]){ // obtém uma instância da estrutura Livro struct Livro *a = obter_livro("Programando em Java", 345, 120); // verifica se a estrutura foi retornada com // sucesso if(a != NULL){ printf("Titulo: %s\nCodigo: %d\nPaginas: %d\n", a->titulo, a->codigo, a->paginas); } // obtém uma segunda instância da estrutura Livro struct Livro *b = obter_livro("JavaScript - Guia", 540, 800); // verifica se a estrutura foi retornada com // sucesso if(b != NULL){ printf("Titulo: %s\nCodigo: %d\nPaginas: %d\n", b->titulo, b->codigo, b->paginas); } puts("\n\n"); system("PAUSE"); return 0; } Ao executar este código nós teremos o seguinte resultado: Titulo: Programando em Java Codigo: 345 Paginas: 120 Titulo: JavaScript - Guia Codigo: 540 Paginas: 800 Pressione qualquer tecla para continuar... |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |