Você está aqui: PHP ::: Desafios e Lista de Exercícios Resolvidos ::: PHP Básico |
Um programa PHP que receberá a duração de um evento expresso em segundos e exiba-o expresso em horas, minutos e segundos - Desafio de Programação Resolvido em PHPQuantidade de visualizações: 507 vezes |
Pergunta/Tarefa: Escreva um programa PHP que receberá a duração de um evento expresso em segundos e exiba-o expresso em horas, minutos e segundos. Seu programa deverá exibir uma saída parecida com: Informe a duração do evento em segundos: 3712 Duração do evento: 01:01:52 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 solicitar a duração do evento em segundos echo "Informe a duração do evento em segundos: "; $duracao_segundos = fgets($entrada); // vamos obter a quantidade de horas do evento $horas = $duracao_segundos / 3600; // vamos obter os minutos $minutos = ($duracao_segundos / 60) % 60; // vamos obter os segundos restantes $segundos = $duracao_segundos % 60; // vamos exibir a duração do evento em horas, minutos e segundos printf("Duração do evento: %02d:%02d:%02d", $horas, $minutos, $segundos); ?> |
Link para compartilhar na Internet ou com seus amigos: |
C# ::: Threads ::: Thread |
Como usar a classe Thread para criar threads em seus programas C#Quantidade de visualizações: 11577 vezes |
A classe Thread permite criar e controlar uma thread, além de definir sua prioridade e obter seu status. Veja a posição desta classe na hierarquia de classes da plataforma .NET:System.Object System.Runtime.ConstrainedExecution.CriticalFinalizerObject System.Threading.Thread Um processo pode criar uma ou mais threads para executar parte do código do programa associado a tal processo. Usamos um delegate ThreadStart ou um delegate ParameterizedThreadStart para especificar o código do programa que será executado pela thread. O delegate ParameterizedThreadStart nos permite passar dados para as funções a serem executadas pela thread. Durante seu ciclo de vida, uma thread está sempre em um ou mais dos estados definidos pela enumeração ThreadState. Um nível de prioridade de agendamento, como definido na enumeração ThreadPriority, pode ser requisitado para a thread, mas, este comportamento nem sempre é garantido pelo sistema operacional. O método GetHashCode() fornece identificação para threads gerenciadas. Durante o ciclo de vida de uma thread, seu código de identificação não colidirá com os códigos das demais threads, independente do domínio da aplicação a partir do qual obtemos tal valor. Veja um trecho de código no qual criamos uma thread e a agendamos para execução paralela com a thread principal da aplicação. Note como os valores dos dois laços são exibidos de forma compartilhada pelas duas threads, ou seja, um thread exibe alguns valores e pára, para permitir que a outra faça parte do seu trabalho: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- class Program{ static void Main(string[] args){ // using using System.Threading; // vamos criar uma nova instância da clase Thread // e fornecer o método que será executado Thread thread = new Thread(contar); // vamos agendar a thread para futura execução thread.Start(); // agora vamos contar na thread principal for (int i = 0; i <= 20; i++){ Console.Write("#" + Thread.CurrentThread.GetHashCode() + ": " + i + ", "); } Console.Write("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } // método que será chamado pela thread static void contar(){ for (int i = 0; i <= 20; i++){ Console.Write("#" + Thread.CurrentThread.GetHashCode() + ": " + i + ", "); } } } Aqui eu usei a sintáxe de criação de objetos da classe Thread que cria uma instância de ThreadStart nos bastidores, ou seja, forneci apenas o método a ser executado pela nova thread. Note também que uma chamada ao método Start() da thread não faz com que a thread seja executada imediatamente. Este método apenas torna a thread elegível para execução, ou seja, no estado "pronta" (Running). É o sistema operacional que determina quando a mesma será executada. |
jQuery ::: Dicas & Truques ::: AJAX |
Apostila jQuery para iniciantes - Como fazer requisições assíncronas usando o método ajax() do jQueryQuantidade de visualizações: 18859 vezes |
O jQuery fornece formas bem simples de se fazer requisições assíncronas usando AJAX. Uma destas formas é o método ajax(). Este método possui quase uma dezena de parâmetros adicionais e retorna um objeto XMLHttpRequest, que pode ser usado para fins de encadeamento ou cancelamento da requisição HTTP. Enquanto outras dicas cobrem todos os parâmetros deste método, aqui nos concentraremos apenas em escrever um exemplo completo de seu uso. Trata-se de uma aplicação que fará uma solicitação HTTP POST a um código PHP que retornará um arquivo XML com alguns valores. Vamos começar analisando o codigo PHP: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <? header("Cache-Control: no-cache, must-revalidate"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Content-Type: text/xml"); $nome = utf8_decode($_POST["nome"]); $cidade = utf8_decode($_POST["cidade"]); $estado = utf8_decode($_POST["estado"]); echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n"; echo "<pessoas>\n"; echo " <pessoa>\n"; echo " <nome>" . $nome . "</nome>\n"; echo " <cidade>" . $cidade . "</cidade>\n"; echo " <estado>" . $estado . "</estado>\n"; echo " </pessoa>\n"; echo "</pessoas>"; ?> Salve este código PHP como pesquisa.php. Tudo que ele faz é receber alguns parâmetros POST e usá-los para montar um arquivo XML. Em um determinado momento, o arquivo XML retornado poderá ser algo como: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <?xml version="1.0" encoding="iso-8859-1"?> <pessoas> <pessoa> <nome>OSMAR J. SILVA</nome> <cidade>GOIÂNIA</cidade> <estado>GO</estado> </pessoa> </pessoas> Fique de olho na estrutura deste arquivo XML enquanto progredimos. Veja agora uma página HTML completa que mostra como usar o método ajax() para se conectar a este código PHP e obter os dados gerados em forma de XML: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head><title>Estudos jQuery</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <!-- Importa a biblioteca jQuery --> <script src="jquery.js" type="text/javascript"></script> <script type="text/javascript"> function carregarDados(){ var dados = {'nome': "Osmar J. Silva", 'cidade': "Goiânia", 'estado': "GO"} $.ajax({ url: 'pesquisar.php', type: 'post', dataType: 'xml', data: dados, success: function(data){ $(data).find('pessoa').each(function(){ var nome = $(this).find('nome').text(); var cidade = $(this).find('cidade').text(); var estado = $(this).find('estado').text(); $("#parag").html("Nome: " + nome + "<br>"); $("#parag").append("Cidade: " + cidade + "<br>"); $("#parag").append("Estado: " + estado); }); }, error: function(XMLHttpRequest, textStatus, errorThrown){ window.alert('Houve um erro!'); } }); } </script> </head> <body> <button onclick="carregarDados()">Carregar dados </button> <p id="parag"></p> </body> </html> Veja como usamos os métodos find() e each() para acessar e percorrer os elementos XML. Estes métodos são encontrados na seção de métodos para percorrer o HTML DOM e o XML DOM. Para finalizar lembre-se de que o método ajax() retorna um objeto XMLHttpRequest. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercícios Resolvidos de Java - Usando o laço while para encontrar o MDC (Máximo Divisor Comum) de dois númerosQuantidade de visualizações: 1733 vezes |
Pergunta/Tarefa: Escreva um programa Java que usa o laço while para calcular o MDC (Máximo Divisor Comum) de dois números. Sejam a, b e c números inteiros não nulos, dizemos que c é um divisor comum de a e b se c divide a (escrevemos c|a) e c divide b (c|b). Chamaremos D(a,b) o conjunto de todos os divisores comum de a e b. Sua saída deve ser parecida com: Informe o primeiro número: 16 Informe o segundo número: 24 O MDC de 16 e 24 é: 8 Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- 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) { Scanner entrada = new Scanner(System.in); // vamos que o usuário informe dois números System.out.print("Informe o primeiro número: "); int n1 = Integer.parseInt(entrada.nextLine()); System.out.print("Informe o segundo número: "); int n2 = Integer.parseInt(entrada.nextLine()); int mdc = 1; // partimos do principio de que 1 é o MDC inicial int k = 2; // MDC possível while((k <= n1) && (k <= n2)){ // enquanto k for menor ou igual aos dois números if((n1 % k == 0) && (n2 % k == 0)){ mdc = k; // já temos um novo MDC } k++; // buscamos o novo MDC } // mostramos o resultado System.out.println("O MDC de " + n1 + " e " + n2 + " é: " + mdc); System.out.println("\n"); } } |
JavaScript ::: Dicas & Truques ::: Cookies |
Como verificar se cookies estão habilitados no navegador do usuário usando JavaScriptQuantidade de visualizações: 10927 vezes |
Em algumas situações nós gostaríamos de checar se os cookies estão habilitados no browser do usuário antes de gravarmos alguma informação. Nesta dica eu mostro como isso pode ser feito. Note que tudo que precisamos fazer é criar um cookie temporário e tentar acessá-lo em seguida. Veja o código completo para o exemplo (incluindo a página HTML): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <!doctype html> <html> <head> <title>Estudos JavaScript</title> </head> <body> <script type="text/javascript"> // vamos criar um cookie temporário var cookieTemp = (new Date()).getTime() + ''; // colocamos o cookie como parte do documento document.cookie = "cookieTemp=" + cookieTemp + "; path=/"; // o cookie existe? if (document.cookie.indexOf(cookieTemp, 0) < 0){ window.alert("Os cookies não estão habilitados no seu navegador"); } else{ window.alert("Os cookies estão habilitados no seu navegador"); } </script> </body> </html> Ao executar este código teremos o seguinte resultado: Os cookies estão habilitados no seu navegador. |
Python ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular porcentagem em Python - Eu tenho um valor de R$ 500,00 que aumentou para R$ 800,00. Qual foi o aumento percentual?Quantidade de visualizações: 726 vezes |
Nesta dica mostrarei como calcular a porcentagem do aumento sofrido por um determinado valor usando a linguagem Python. Este é um cenário muito comum. Veja a seguinte situação: a) Temos um produto x que custava R$ 500,00 e que foi aumentado para R$ 800,00. Queremos, dessa forma, descobrir o percentual de aumento que o preço do produto sofreu. Veja o código Python para a realização deste cálculo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # método principal def main(): # preço anterior do produto precoAnterior = float(input("Informe o preço anterior: ")) # preço atual do produto precoAtual = float(input("Informe o preço atual: ")) # efetua o cálculo a = precoAnterior b = 100 * precoAtual c = b / a d = c - 100 # mostra o resultado print("A porcentagem de aumento foi: %f%%" % d) if __name__== "__main__": main() Ao executar este código Python nós teremos um resultado parecido com: Informe o preço anterior: 500 Informe o preço atual: 800 A porcentagem de aumento foi: 60.000000% |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
JavaScript - Como remover todos os espaços de uma string em JavaScript usando uma função personalizada remover_espacos() Delphi - Como obter a quantidade de registros em um TClientDataSet do Delphi usando a propriedade RecordCount |
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 |