Você está aqui: PHP ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres

Como validar uma senha em PHP - Escreva um programa PHP para validar uma senha informada pelo usuário - Desafio de Programação Resolvido em PHP

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

Escreva um programa PHP que pedirá para o usuário informar uma palavra, que servirá como senha. Seu código deverá validar esta senha de acordo com as seguintes exigências:

1) O tamanho da senha deverá ser no mínimo de 8 caracteres;
2) A senha deve conter pelo menos um caractere maiúsculo;
3) A senha deve possuir no mínimo um caractere minúsculo;
4) A senha deve possuir pelo menos um número (dígito).

Sua saída deverá ser parecida com:

Informe uma senha: osmar1234
A senha não é válida.
Informe uma senha: Osmar1234
A senha é válida.
Resposta/Solução:

Veja a resolução comentada deste exercício usando PHP:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?php
  // para executar abra uma janela de comando
  // cmd e dispare o comando abaixo:
  // C:\xampp\php>php c:\estudos_php\estudos.php
   
  // para ler a entrada do usuário
  $entrada = fopen("php://stdin","r");
  
  // vamos pedir para o usuário informar uma senha
  echo "Informe uma senha: ";
  // vamos ler a senha informada
  $senha = trim(fgets($entrada));
  
  // vamos assumir que a senha falhou em todos os testes
  $tamanho = false;
  $minusculo = false;
  $maiusculo = false; 
  $digito = false;
    
  // a senha passou no teste do tamanho?
  if(strlen($senha) >= 8){
    $tamanho = true;
      
    // agora vamos testar os demais requisitos
    for($i = 0; $i < strlen($senha); $i++){
      // o caractere atual é um dígito?
      if(is_numeric($senha[$i])){
        $digito = true;
      }
      // é um caractere maiúsculo?
	  else if(strtoupper($senha[$i]) == $senha[$i]){
        $maiusculo = true;
      }
      // é um caractere minúsculo?
      else if(strtolower($senha[$i]) == $senha[$i]){
        $minusculo = true;
      }
    }
  }
    
  // a senha passou na validação?
  if($minusculo && $maiusculo && $tamanho && $digito){
    echo "A senha é válida.";
  }
  else{
    echo "A senha não é válida.";
  }
?>


Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Matemática e Estatística

Como calcular juros compostos e montante usando a linguagem Java - Fórmula de juros compostos em Java - Revisado

Quantidade de visualizações: 20140 vezes
O regime de juros compostos é o mais comum no sistema financeiro e, portanto, o mais útil para cálculos de problemas do dia-a-dia. Os juros gerados a cada período são incorporados ao principal para o cálculo dos juros do período seguinte.

Chamamos de capitalização o momento em que os juros são incorporados ao principal. Assim, após três meses de capitalização, temos:

1º mês: M = P .(1 + i)
2º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i)
3º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) x (1 + i)

Simplificando, obtemos a fórmula:

M = P . (1 + i)^n

Importante: a taxa i tem que ser expressa na mesma medida de tempo de n, ou seja, taxa de juros ao mês para n meses.

Para calcularmos apenas os juros basta diminuir o principal do montante ao final do período:

J = M - P

Vejamos um exemplo:

Considerando que uma pessoa empresta a outra a quantia de R$ 2.000,00, a juros compostos, pelo prazo de 3 meses, à taxa de 3% ao mês. Quanto deverá ser pago de juros?

Veja o código Java para a resolução:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

public class Estudos{
  public static void main(String args[]){
    double principal = 2000.00;
    double taxa = 0.03;
    int meses = 3;
   
    double montante = principal * Math.pow((1 + taxa), meses);  
    double juros = montante - principal;
 
    System.out.println("O total de juros a ser pago é: " 
      + juros);
    System.out.println("O montante a ser pago é: " 
      + montante);
 
    System.exit(0);
  }
}

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

O total de juros a ser pago é: 185.45400000000018
O montante a ser pago é: 2185.454

É claro que uma formatação para moeda deixaria os valores mais bonitos.

Uma outra aplicação interessante é mostrar mês a mês a evolução dos juros.

Veja o código a seguir:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

public class Estudos{
  public static void main(String args[]){
    double principal = 2000.00;
    double taxa = 0.03;
    int meses = 3;
    double anterior = 0.0;  
 
    for(int i = 1; i <= meses; i++){
      double montante = principal * Math.pow((1 + taxa), i);
      double juros = montante - principal - anterior;
       
      anterior += juros;
 
      System.out.println("Mês: " + i + " - Montante: " 
        + montante + " - Juros: " + juros);
    }     
 
    System.exit(0);
  }
}

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

Mês: 1 - Montante: 2060.0 - Juros: 60.0
Mês: 2 - Montante: 2121.7999999999997 - Juros: 61.79999999999973
Mês: 3 - Montante: 2185.454 - Juros: 63.65400000000045

Esta dica foi revisada e testada no Java 8.


Ruby ::: Dicas & Truques ::: Programação Orientada a Objetos

Como usar métodos e variáveis de classes em Ruby - Programação Orientada a Objetos em Ruby

Quantidade de visualizações: 7704 vezes
Variáveis e métodos de classe, ao contrário de variáveis e métodos de instâncias, pertencem às classes e não às suas instâncias. Desta forma, uma variável ou método de classe é compartilhado por todos os objetos criados a partir de tal classe.

Para que você entenda melhor, o exemplo abaixo mostra uma classe que contém uma variável e um método de classe. Execute o código e veja como o valor de @@quant_clientes é incrementado todas as vezes que um novo objeto da classe Cliente é criado:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos criar a classe Cliente
class Cliente
  # variável de classe
  @@quant_clientes = 0;  
 
  def initialize
    @@quant_clientes = @@quant_clientes + 1
  end

  # método de classe
  def Cliente.obter_quant_clientes
    @@quant_clientes
  end
end

# vamos criar três objetos da classe Cliente
cliente1 = Cliente.new
cliente2 = Cliente.new
cliente3 = Cliente.new

# vamos obter a quantidade de clientes criados
quant = Cliente.obter_quant_clientes

# exibe o resultado
puts "Há " + quant.to_s + " clientes criados"

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

Há 3 clientes criados


Python ::: Dicas & Truques ::: Formatação de datas, strings e números

Python para matemática - Como definir a precisão (casas decimais) na exibição de um valor de ponto-flutuante em Python

Quantidade de visualizações: 14586 vezes
Este trecho de código mostra como definir a precisão com que um número de ponto-flutuante será exibido. Atenção: Arredondamentos podem ocorrer dependendo da redução das casas decimais.

Veja o código Python completo para a dica:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

def main():
  valor = 43.13985765
 
  # com dois dígitos
  print("O valor e %.2f" % valor)
 
  # com três dígitos
  print("O valor e %.3f" % valor)
 
  # com um dígito
  print("O valor e %.1f" % valor)

if __name__== "__main__":
  main()

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

O valor é 43.14
O valor é 43.140
O valor é 43.1


Java ::: Topografia e Geoprocessamento ::: Passos Iniciais

Como converter graus, minutos e segundos para graus decimais em Java

Quantidade de visualizações: 269 vezes
Em algumas situações, principalmente em cálculos da Engenharia Civil e Topografia, nós precisamos converter graus, minutos e segundos para graus decimais. É comum chamarmos graus, minutos e segundos de DMS ou GMS, enquanto os graus decimais são chamados de UTM.

Nesta dica veremos como converter 85º 42' 13.75'' para graus decimais. A fórmula que usaremos é a seguinte:

\[\text{Graus decimais} = \text{Graus} + \frac{\text{Minutos}}{60} + \frac{\text{Segundos}}{3600} \]

Veja agora o código Java completo que pede para o usuário informar os graus, os minutos e os segundos e mostra os graus decimais:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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 os graus, minutos
    // e segundos
    System.out.print("Informe os graus: ");
    double graus = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe os minutos: ");
    double minutos = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe os segundos: ");
    double segundos = Double.parseDouble(entrada.nextLine());
    
    // agora vamos calcular os graus decimais
    double grausDecimais = graus + (minutos /  60.0) +
      (segundos / 3600.0);
    
    // e agora mostramos o resultado
    System.out.println("Os graus decimais são: " + grausDecimais);
  }
}

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

Informe os graus: 85
Informe os minutos: 42
Informe os segundos: 13.75
Os graus decimais são: 85.70381944444445

Fique atento ao sinal. Se o valor em graus, minutos e segundos possuir os caracteres "W" ou "S", então o valor em graus decimais deverá levar o sinal de negativo.


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

Como escrever em um arquivo um caractere de cada vez usando a função fputc() da linguagem C

Quantidade de visualizações: 9087 vezes
Em algumas situações precisamos escrever em um arquivo um caractere de cada vez. Para isso podemos usar a função fputc() do header stdio.h. Esta função recebe o caractere a ser escrito e um ponteiro para o objeto FILE que identifica o arquivo no qual queremos escrever. Se o caractere for escrito com sucesso, o indicador de posição interna do arquivo é adiantado para a inserção do próximo caractere.

Veja um exemplo no qual escrevemos o alfabeto maiúsculo em um arquivo chamado alfabeto.txt:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]){
  FILE *arquivo;
  char letra;

  // vamos abrir o arquivo para escrita
  arquivo = fopen("alfabeto.txt", "w");
  if(arquivo != NULL){
    for(letra = 'A'; letra <= 'Z'; letra++){
      fputc((int)letra, arquivo);
    }
    fclose(arquivo);
  }

  puts("Tentei escrever no arquivo. Veja se funcionou.");

  puts("\n\n");
  system("PAUSE");
  return 0;
}

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

Tentei escrever no arquivo. Veja se funcionou.

Em seguida, se olharmos o conteúdo do arquivo "alfabeto.txt" veremos que o conteúdo foi escrito da forma que imaginamos.


Desafios, Exercícios e Algoritmos Resolvidos de C

Veja mais Dicas e truques de C

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware 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 funcionalidadesControle 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
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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