PHP ::: Dicas & Truques ::: Arquivos e Diretórios

Como excluir um arquivo ou imagem em PHP usando a função unlink()

Quantidade de visualizações: 20743 vezes
Esta dica mostra como podemos excluir um arquivo ou uma imagem usando PHP. Para isso vamos usar a função unlink(). Esta função recebe o caminho e nome do arquivo a ser excluído e retorna TRUE se a exclusão foi feita com sucesso e FALSE caso contrário.

Veja o código:

<?php
  // caminho e nome do arquivo (o diretório no qual o arquivo 
  // a ser excluído está deve ter permissão de escrita
  $arquivo = "/home/xxxx/arquivos/dados.txt";
  
  // vamos excluir
  if(unlink($arquivo)){
    echo "Arquivo excluído com sucesso.";
  }
  else{
    echo "Não foi possível excluir o arquivo.";
  }
?>

Se você pretende excluir um diretório e não um arquivo, use a função rmdir().


Python ::: Desafios e Lista de Exercícios Resolvidos ::: Fenômenos dos Transportes, Hidráulica e Drenagem

Exercício Resolvido de Python - Determine a vazão escoada em um canal com seção retangular, com lâmina d´água de 2,00m e largura de base igual a 3,00m e declividade 0,2m por Km

Quantidade de visualizações: 472 vezes
Exercício Resolvido de Python - Determine a vazão escoada em um canal com seção retangular, com lâmina d'água de 2,00m e largura de base igual a 3,00m e declividade 0,2m por Km

Pergunta/Tarefa:

Python para Fenômenos dos Transportes, Hidráulica e Drenagem. Python para cálculo de vazão em condutos livres. Fórmula de Manning para a velocidade de escoamento.

Neste exercício em Python veremos como calcular a vazão de um canal com seção retangular. Para isso nós vamos usar a Equação de Manning da velocidade do escoamento.

Determine a vazão escoada em um canal com seção retangular, com lâmina d'água de 2,00m e largura de base igual a 3,00m e declividade 0,2m por Km. Utilize &#951;=0,012.



Sua saída deverá ser parecida com:

Informe a Largura da Base do Canal (em metros): 3
Informe a Profundidade do Escoamento (em metros): 2
Informe a Declividade do Canal (em metros por km): 0.2
Informe o Coeficiente de Rugosidade do Canal: 0.012

A Área Molhada do Canal é: 6.0 m2
O Perímetro Molhado do Canal é: 7.0 m
O Raio Hidráulico do Canal é: 0.8571428571428571 m
A Velocidade do Escoamento é: 1.0634144533132281 m/s
A Vazão do Canal é: 6.380486719879369 m3/s
Resposta/Solução:

Veja a resolução completa para o exercício em Python, comentada linha a linha:

# vamos importar o módulo Math
import math

# método principal
def main():
  # vamos ler a largura do canal em metros
  b = float(input("Informe a Largura da Base do Canal (em metros): "))

  # vamos ler a profundida do escoamento em metros
  h = float(input("Informe a Profundidade do Escoamento (em metros): "))
  
  # vamos obter a declividade do canal em metros por quilômetros
  I = float(input("Informe a Declividade do Canal (em metros por km): "))
  # vamos converter a declividade em metro por metro
  I = I / 1000.0

  # vamos ler o coeficiente de rugosidade do canal
  n = float(input("Informe o Coeficiente de Rugosidade do Canal: "))

  # vamos calcular a área molhada
  am = b * h

  #  agora vamos calcular o perímetro molhado
  pm = b + 2 * h

  # finalmente calculamos o raio hidráulico
  rh = am / pm

  # agora vamos usar a equação de manning para calcular a velocidade do escoamento
  v = math.pow(rh, 2.0 / 3.0) * (math.sqrt(I) / n)

  # finalmente calculamos a vazão do canal
  Q = am * v

  # e mostramos os resultados
  print("\nA Área Molhada do Canal é: {0} m2".format(am))
  print("O Perímetro Molhado do Canal é: {0} m".format(pm))
  print("O Raio Hidráulico do Canal é: {0} m".format(rh))
  print("A Velocidade do Escoamento é: {0} m/s".format(v))
  print("A Vazão do Canal é: {0} m3/s".format(Q))

if __name__== "__main__":
  main()



Ruby ::: Dicas & Truques ::: Strings e Caracteres

Como inverter uma string em Ruby usando as funções reverse e reverse!

Quantidade de visualizações: 10043 vezes
Esta dica mostra como podemos inverter uma string em Ruby, ou seja, reverter a ordem de seus caracteres. Para isso nós temos dois métodos: reverse e reverse!. O método reverse retorna uma nova string enquanto reverse! reverte o conteúdo da string original. Veja o trecho de código:

# declara e inicializa uma variável string
frase = "Osmar J. Silva"

# inverte a string sem afetar o original
invertida = frase.reverse

# exibe o resultado
puts "Original: " + frase
puts "Invertida: " + invertida

# inverte afetando o original
frase.reverse!

# exibe o resultado
puts "Original: " + frase

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

Original: Osmar J. Silva
Invertida: avliS .J ramsO
Original: avliS .J ramsO


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

Exercícios Resolvidos de Java - Declarar e construir um vetor de inteiros e usar um laço for para inicializar seus elementos com os valores de 1 até 10 em Java

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

Escreva um programa Java que declara e constrói um array de 10 elementos do tipo int. Em seguida use um laço for para inicializar os elementos com os valores de 1 até 10. Para finalizar exiba os valores dos elementos do vetor na vertical. Seu programa deverá exibir a seguinte saída:

1
2
3
4
5
6
7
8
9
10 
Resposta/Solução:

A resolução desta tarefa passa pela declaração e construção do array. Aqui eu demonstro como isso pode ser feito em dois passos. Primeiro a declaração e depois a construção:

// vamos declarar um vetor de 10 ints
int valores[];

// vamos construir o vetor...neste momento seus elementos
// terão, todos, o valor 0
valores = new int[10];

Veja a resolução completa do exercício:

public static void main(String[] args){
  // vamos declarar um array de 10 ints
  int valores[];

  // vamos construir o array...neste momento seus elementos
  // terão, todos, o valor 0
  valores = new int[10];

  // vamos usar o laço for para inicializar seus elementos
  // com os valores de 1 até 10
  for(int i = 0; i < valores.length; i++){
    // aqui nós usamos o valor da variável i para acessar o
    // elemento do array e também para atribuir o valor de i + 1
    // ao elemento sendo acessado
    valores[i] = (i + 1);
  }

  // só nos resta exibir os valores de todos os elementos
  for(int i = 0; i < valores.length; i++){
    System.out.println(valores[i]);
  }
}



C# ::: Windows Forms ::: Formulários e Janelas

C# Windows Forms - Como obter a quantidade de controles em um formulário usando a propriedade Controls.Count

Quantidade de visualizações: 8317 vezes
Em algumas situações nós precisamos saber quantos controles existem atualmente em um formulário Windows Forms. Isso pode ser feito com uma chamada à propriedade Count da classe ControlCollection. Um objeto da classe ControlCollection é retornado quando acessamos a propriedade Controls de um formulário (e presente também em outros controles que podem conter controles filhos).

Veja um trecho de código no qual obtemos a quantidade de controles em um formulário ao clicarmos em um botão:

private void button1_Click(object sender, EventArgs e){
  // vamos obter a quantidade de controles no formulário
  int quantControles = this.Controls.Count;

  // vamos exibir o resultado
  MessageBox.Show("O formulário contém " + quantControles + 
    " controles.");
}

Note que a coleção ControlCollection retorna apenas os controles visuais no formulário, ou seja, componentes tais como Timer, DirectoryEntry, etc, não são incluídos.


PHP ::: Dicas & Truques ::: Data e Hora

Como retornar o dia da semana para uma determinada data em PHP usando as funções mktime(), date() e o sinalizador "l"

Quantidade de visualizações: 200 vezes
Nesta dica mostrarei como podemos combinar as funções mktime(), date() e o sinalizador "l" para obtermos o nome do dia da semana para uma determinada data. Note o uso da função mktime() para construir a data 20/06/1980.

Veja o código completo para o exemplo:

<?php
  // vamos obter o dia da semana para uma 
  // determinada data - mês/dia/ano
  $timestamp = mktime(0, 0, 0, 6, 20, 1980);
  echo "O dia da semana é: " . date('l', $timestamp);
?>

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

O dia da semana é: Saturday


JavaScript ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular a equação reduzida da reta em JavaScript dados dois pontos pertencentes à reta

Quantidade de visualizações: 790 vezes
Nesta dica de JavaScript veremos como calcular a equação reduzida da reta quando temos dois pontos pertencentes à esta reta. Não, nessa dica não vamos calcular a equação geral da reta, apenas a equação reduzida. Em outras dicas do site você encontra como como isso pode ser feito.

Para relembrar: a equação reduzida da reta é y = mx + n, em que x e y são, respectivamente, a variável independente e a variável dependente; m é o coeficiente angular, e n é o coeficiente linear. Além disso, m e n são números reais. Com a equação reduzida da reta, é possível calcular quais são os pontos que pertencem a essa reta e quais não pertencem.

Vamos começar então analisando a seguinte figura, na qual temos dois pontos que pertencem à uma reta:



Note que a reta da figura passa pelos pontos A(5, 5) e B(9, 2). Então, uma vez que já temos os dois pontos, já podemos calcular a equação reduzida da reta. Veja o código JavaScript completo para esta tarefa:

<!doctype html>
<html>
<head>
  <title>Equação da Reta em JavaScript</title>
</head>
<body>

<script type="text/javascript">
  // vamos ler as coordenadas do primeiro ponto
  var x1 = parseFloat(
    window.prompt("Coordenada x do primeiro ponto: "));
  var y1 = parseFloat(
    window.prompt("Coordenada y do primeiro ponto: "));	
  
  // vamos ler as coordenadas do segundo ponto
  var x2 = parseFloat(
    window.prompt("Coordenada x do primeiro ponto: "));
  var y2 = parseFloat(
    window.prompt("Coordenada y do primeiro ponto: "));
    
  var sinal = "+";
  // vamos calcular o coeficiente angular da reta
  var m = (y2 - y1) / (x2 - x1);
  // vamos calcular o coeficiente linear
  var n = y1 - (m * x1);
 
  // coeficiente linear menor que zero? O sinal será negativo
  if (n < 0){
    sinal = "-";
    n = n * -1;
  }
  
  // mostra a equação reduzida da reta
  document.write("Equação reduzida: y = " + m + "x" 
    + " " + sinal + " " + n);	
</script>
  
</body>
</html>

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

Coordenada x do primeiro ponto: 5
Coordenada y do primeiro ponto: 5
Coordenada x do segundo ponto: 9
Coordenada y do segundo ponto: 2
Equação reduzida: y = -0,75x + 8,75

Para testarmos se nossa equação reduzida da reta está realmente correta, considere o valor 3 para o eixo x da imagem acima. Ao efetuarmos o cálculo:

>> y = (-0.75 * 3) + 8.75
y = 6.5000

temos o valor 6.5 para o eixo y, o que faz com que o novo ponto caia exatamente em cima da reta considerada na imagem.


Java ::: Dicas & Truques ::: Operadores de Manipulação de Bits (Bitwise Operators)

Como usar o operador de bits & (E/AND sobre bits) em Java - Java Avançado - Manipulação de bits em Java

Quantidade de visualizações: 6747 vezes
Esta dica de Java é muito útil para quem está se preparando para entrevistas de código ou desafios de programação. A manipulação de bits é fator importante para testar as habilidades de candidatos a vagas de programador, pois ela demonstra um conhecimento muito aprofundado de lógica de programação e também de rotinas de baixo nível.

O operador de bits & (E/AND sobre bits) da linguagem Java é usado quando queremos comparar os bits individuais de dois valores integrais (inteiros) e produzir um terceiro resultado. Os bits no resultado serão configurados como 1 se os bits correspondentes nos dois outros valores foram 1. Em caso contrário os bits são configurados como 0.

Vamos analisar os seguintes valores binários:

a) 0101 (5 decimal)
b) 0100 (4 decimal)

Quando aplicamos o operador & nestes dois valores teremos o seguinte resultado:

0101
0100
----
0100


Veja que o resultado é 0100, uma vez que apenas o segundo bit de cada valor está configurado como 1. Vamos ver isso em Java agora. Observe o seguinte trecho de código:

public class Main {
  public static void main(String[] args) {
    int a = 5;
    int b = 4;
    int c = a & b;
     
    // exibe o resultado (em inteiro e em bytes)
    System.out.println("a = " + obterBits(a) + " (" + a + ")");
    System.out.println("b = " + obterBits(b) + " (" + b + ")");
    System.out.println("a & b = " + obterBits(c) + " (" + c + ")");
  }
  
  // método auxiliar que converte um inteiro em sua representação em bits
  public static String obterBits(int valor){
    int mascara = 1 << 31;
    StringBuffer buffer = new StringBuffer(35);
    
    for(int i = 1; i <= 32; i++){
      if((valor & mascara) == 0){
    	buffer.append('0');
      }
      else{
    	buffer.append('1');
      }
      
      valor <<= 1;
      
      if(i % 8 == 0){
        buffer.append(' ');
      }
    }
    
    return buffer.toString();
  }
}


Ao executar este código teremos o seguinte resultado:

a = 00000000 00000000 00000000 00000101 (5)
b = 00000000 00000000 00000000 00000100 (4)
a & b = 00000000 00000000 00000000 00000100 (4)


GNU Octave ::: GNU Octave para Engenharia ::: Cálculo Diferencial e Integral

Como calcular a derivada de uma função usando a função diff() do GNU Octave - Regra do Tombo (ou Regra da Potência)

Quantidade de visualizações: 3695 vezes
No cálculo, a derivada em um ponto de uma função y = f(x) representa a taxa de variação instantânea de y em relação a x neste ponto.

Um exemplo típico é a função velocidade que representa a taxa de variação (derivada) da função espaço. Do mesmo modo, a função aceleração é a derivada da função velocidade.

Geometricamente, a derivada no ponto x = a de y = f(x) representa a inclinação da reta tangente ao gráfico desta função no ponto (a,~f(a)). A função que a cada ponto x associa a derivada neste ponto de f(x) é chamada de função derivada de f(x). [Citação da Wikipédia]

Nesta dica mostrarei como podemos usar a função diff() do GNU Octave para calcular a derivada de uma função usando a Regra do Tombo ou, mais formalmente, a Regra da Potência.

Dada uma função:



A Regra do Tombo pede que o n desça e multiplique o x, que agora estará elevado a n - 1. Vamos ver um exemplo então? Observe como a derivada de f(x) = x5 é calculada na imagem a seguir:



Veja agora como podemos fazer este cálculo em GNU Octave. Para isso, abra a janela de comandos e dispare as linhas a seguir:

>> pkg load symbolic [ENTER]
>> syms x [ENTER]
>> f = x ** 5 [ENTER]
f = (sym)

   5
  x

>> diff(f, x) [ENTER]
ans = (sym)

     4
  5*x

>>

É possível que, após o comando "syms x" você veja algumas mensagens de aviso relacionadas à sua versão instalada do Python. Não se preocupe, pois esses avisos não interferem na funcionalidade da função diff().


VB.NET ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade)

Exercícios Resolvidos de VB.NET - Uma função recursiva que conta quantas vezes um valor inteiro k ocorre em um vetor de inteiros

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

Escreva uma função recursiva em VB.NET que conta quantas vezes um valor inteiro k ocorre em um vetor de 10 inteiros. Sua função deverá ter a seguinte assinatura:

// função recursiva que recebe um valor e um vetor e retorna quantas
// vezes o valor é encontrado no vetor
public static int QuantRepeticoes(int indice, int valor, int[] vetor) {
  // sua implementação aqui 
}
Seu programa deverá solicitar ao usuário os valores do vetor e o valor a ser pesquisado. Sua saída deverá ser parecida com:

Informe o 1 valor: 2
Informe o 2 valor: 7
Informe o 3 valor: 4
Informe o 4 valor: 7
Informe o 5 valor: 1

Informe o valor a ser pesquisado no vetor: 7
O valor informado se repete 2 vezes.
Resposta/Solução:

Veja a resolução comentada deste exercício usando VB.NET:

Imports System

Module Program
  ' função principal do programa VB.NET
  Sub Main(args As String())
    ' vamos declarar um vetor de 10 inteiros
    Dim valores(4) As Integer

    ' vamos pedir ao usuário que informe os valores do vetor
    For i As Integer = 0 To valores.Length - 1
      Console.Write("Informe o " & (i + 1) & " valor: ")
      ' efetua a leitura do valor informado para a posição atual do vetor
      valores(i) = Int32.Parse(Console.ReadLine())
    Next

    ' agora vamos pedir para informar o valor a ser pesquisado
    Console.Write(vbCrLf & "Informe o valor a ser pesquisado no vetor: ")
    Dim valor As Integer = Int32.Parse(Console.ReadLine())

    ' e vamos ver a quantidade de repetições
    Dim repeticoes As Integer = QuantRepeticoes(0, valor, valores)
    Console.WriteLine("O valor informado se repete " & repeticoes & " vezes.")

    Console.WriteLine(vbCrLf & vbCrLf & "Pressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub

  ' função recursiva que recebe um valor e um vetor e retorna quantas
  ' vezes o valor é encontrado no vetor
  Function QuantRepeticoes(indice As Integer, valor As Integer, 
    vetor() As Integer) As Integer
    If indice = vetor.Length - 1 Then ' caso base...hora de parar a recursividade
      If vetor(indice) = valor Then
        Return 1 ' mais um repetição foi encontrada
      End If
    Else ' dispara mais uma chamada recursiva
      If vetor(indice) = valor Then ' houve mais uma repetição
        Return 1 + QuantRepeticoes(indice + 1, valor, vetor)
      Else
        Return 0 + QuantRepeticoes(indice + 1, valor, vetor) ' não repetiu
      End If
    End If

    Return 0 ' só para deixar o compilador satisfeito...esta linha nunca é
    ' executada
  End Function

End Module


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



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 19 usuários muito felizes estudando em nosso site.