Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Como testar se um número é potência de dois usando C - Exercícios Resolvidos de CQuantidade de visualizações: 437 vezes |
Pergunta/Tarefa: Escreva um programa C contendo um método que recebe um número inteiro e retorna um valor boolean indicando se o valor informado é potência de dois. Sua saída deverá ser parecida com: Informe um valor inteiro: 8 O valor 8 é potência de dois Informe um valor inteiro: 34 O valor 34 não é potência de dois Informe um valor inteiro: 64 O valor 64 é potência de dois Veja a resolução comentada deste exercício usando C: ---------------------------------------------------------------------- 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> #include <locale.h> // função que recebe um número inteiro e informe se ele é // potência de dois int is_potencia_dois(int n){ // usamos o operador AND de bits para verificar se n AND n-1 // é igual a 0 return (n > 0) && (n & (n - 1)) == 0; } int main(int argc, char *argv[]){ // variáveis usadas para int valor; setlocale(LC_ALL,""); // para acentos do português // vamos pedir para o usuário informar um valor inteiro printf("Informe um valor inteiro: "); scanf("%d", &valor); // vamos testar se o número informado é potência de dois if(is_potencia_dois(valor)){ printf("O valor %d é potência de dois", valor); } else{ printf("O valor %d não é potência de dois", valor); } printf("\n\n"); system("PAUSE"); return 0; } |
Link para compartilhar na Internet ou com seus amigos: |
PHP ::: Dicas & Truques ::: Data e Hora |
Datas e horas em PHP - Como obter o timestamp do primeiro dia do mês e ano informadosQuantidade de visualizações: 9745 vezes |
Nesta dica eu mostrarei como é possível obter o timestamp do primeiro dia de um determinado mês e ano. O "Unix timestamp" contém o número de segundos entre a "Unix Epoch" (1 de janeiro de 1970, às 00:00:00 GMT) e o tempo decorrido desde então. Veja o código PHP completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>Estudando PHP</title> </head> <body> <?php $mes = 1; // 1 = janeiro; $ano = 2021; $primeiro_dia = mktime(0, 0, 0, $mes, 1, $ano); echo "O timestamp do primeiro dia do mês e ano informado é: " . $primeiro_dia; ?> </body> </html> Ao executar este código nós teremos o seguinte resultado O timestamp do primeiro dia do mês e ano informado é: 1609455600 |
Delphi ::: VCL - Visual Component Library ::: TListBox |
Como obter e exibir todos os itens selecionados em uma TListBox do Delphi de seleção múltiplaQuantidade de visualizações: 14086 vezes |
Este trecho de código mostra como podemos obter e exibir todos os itens selecionados em uma TListBox de seleção múltipla. Para executá-lo, coloque uma ListBox, um Memo e um Button em um formulário. Altere a propriedade MultiSelect da ListBox para True, adicione alguns itens e execute. Selecione um ou mais itens e clique no botão para visualizar o resultado. Note que usei um TStringList (classe concreta derivada de TStrings) para armazenar os itens selecionados. Veja o código:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var i: Integer; selecionados: TStringList; begin // para que este exemplo funcione corretamente, a ListBox // deverá permitir seleção múltipla // ListBox1.MultiSelect := True; selecionados := TStringList.Create; // vamos obter os itens selecionados na ListBox if ListBox1.SelCount > 0 then begin for i := 0 to ListBox1.Count - 1 do begin if ListBox1.Selected[i] then selecionados.Add(ListBox1.Items[i]); end; // vamos exibir os itens selecionados em um TMemo Memo1.Lines.Clear; Memo1.Lines.Add('Os itens selecionados são:'); for i := 0 to selecionados.Count - 1 do Memo1.Lines.Add(selecionados[i]); end else ShowMessage('Nenhum item selecionado.'); // vamos liberar o TStringList selecionados.Free; end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
|
Vetores e Matrizes - Exercícios Resolvidos de Java - Ex. 15 - Declarar, construir e inicializar dois vetores de int e criar um terceiro vetor com os valores dos elementos sendo a soma dos elementos dos dois vetores anterioresQuantidade de visualizações: 9063 vezes |
|
Pergunta/Tarefa: Considere os seguintes vetores: // declara, constrói e inicializa dois vetores de 5 inteiros cada int a[] = {5, 2, 9, 5, 7}; int b[] = {2, 6, 10, 3, 3}; Valores na matriz a: 5 2 9 5 7 Valores na matriz b: 2 6 10 3 3 Valores na matriz c: 7 8 19 8 10 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; public class Estudos { public static void main(String[] args) { // declara, constrói e inicializa dois vetores de 5 inteiros cada int a[] = {5, 2, 9, 5, 7}; int b[] = {2, 6, 10, 3, 3}; int c[] = new int[5]; // vamos preencher o terceiro vetor com a soma dos dois anteriores for(int i = 0; i < c.length; i++){ c[i] = a[i] + b[i]; } // vamos mostar o resultado System.out.print("Valores no vetor a: "); for(int i = 0; i < a.length; i++){ System.out.print(a[i] + " "); } System.out.print("\nValores no vetor b: "); for(int i = 0; i < b.length; i++){ System.out.print(b[i] + " "); } System.out.print("\nValores no vetor c: "); for(int i = 0; i < c.length; i++){ System.out.print(c[i] + " "); } System.out.println(); } } |
PHP ::: Design Patterns (Padrões de Projeto) ::: Singleton Pattern |
Como usar o padrão de projeto Singleton em suas aplicações PHPQuantidade de visualizações: 8730 vezes |
O padrão de projeto Singleton (ou Singleton Pattern) é um dos padrões de projeto mais conhecidos e implementados extensivamente nas linguagens Java e C#. Como o PHP, a partir de sua versão 5, suporta praticamente todos os recursos da programação orientada a objetos, este padrão pode ser implementado também nesta linguagem sem muitas dificuldades. Uma das situações nas quais usamos o padrão Singleton é quando queremos que somente uma instância de uma determinada classe seja criada e que esta esteja disponível para todas as demais classes do sistema. Um exemplo disso é uma classe responsável por registrar logs do sistema, uma classe responsável por obter conexões com o banco de dados, ou ainda uma classe que concentra dados de configuração da aplicação. Assim, a chave do padrão Singleton é um método estático, geralmente chamado de getInstance(), que retorna uma nova instância da classe se esta ainda não foi instanciada. Se a classe já tiver sido instanciada, o método getInstance() retorna a instância já existente. Vamos ver um exemplo deste padrão em PHP. Observe o código a seguir: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <? // Uma classe Singleton responsável por gravar // logs no sistema class Logger{ // variável estática e privada que guarda a instância // atual da classe private static $instancia = NULL; // Método estático que retorna uma instância já existente, ou // cria uma nova instância public static function getInstance(){ if(self::$instancia == NULL){ self::$instancia = new Logger(); } return self::$instancia; } // Construtor privado para evitar que instâncias sejam // criadas usando new private function __construct(){ // não precisamos fazer nada aqui } // Método clone() também privado para evitar a criação // de clones desta classe private function __clone(){ // não precisamos fazer nada aqui } public function registrarLog($dados){ echo "Vou registrar o log: " . $dados; } } // vamos registrar um novo log usando a classe Singleton Logger::getInstance()->registrarLog("Novo usuário cadastrado."); ?> Ao executar este código teremos o seguinte resultado: Vou registrar o log: Novo usuário cadastrado. |
JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar se todos os elementos de um array satisfazem uma condição em JavaScript usando a função every()Quantidade de visualizações: 1280 vezes |
Em algumas situações nós gostaríamos de testar todos os elementos de um vetor e verificar se todos eles passam em um determinado teste. Para isso podemos usar a função every(), adicionada à linguagem JavaScript por meio do ECMAScript 5 (JavaScript 5, ECMAScript 2009, ES5). Este método nos permite fornecer uma função de callback que será chamada para cada um dos elementos do vetor. E o retorno do método every() é um valor true se todos os elementos passarem no teste e false em caso contrário. Veja um exemplo no qual testamos se TODOS os elementos de um vetor são maiores que 10: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <script type="text/javascript"> function testarTodos(valor, indice, vetor){ if(valor > 10){ return true; } } var valores = new Array(21, 50, 30, 70, 12, 3); // vamos verificar se TODOS os valores são // maiores que 10 var res = valores.every(testarTodos); window.alert("Todos passaram no teste: " + res); </script> Aqui o resultado será false, pois o valor 3 não passou no teste. É importante observar que, assim que a função de callback retorna false pela primeira vez, o método every() já abandona sua execução. Uma função passada para o método every() pode conter os seguintes argumentos (nessa mesma ordem): a) O valor do item; b) O índice do item (opcional); c) O vetor a partir do qual o método every() está sendo chamado (opcional). Como última observação, o método every() não modifica o array original. |
Desafios, Exercícios e Algoritmos Resolvidos de JavaScript |
Veja mais Dicas e truques de JavaScript |
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 |