![]() |
|||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
|
PHP ::: Dicas & Truques ::: Matemática e Estatística |
Como converter um valor decimal em binário usando a função decbin() da linguagem PHPQuantidade de visualizações: 11517 vezes |
A conversão de um valor decimal em binário pode ser feita em PHP usando a função decbin(). Esta função aceita um valor numérico e retorna o valor binário como uma string. Veja o resultado no trecho de código abaixo: <html> <head> <title>Estudando PHP</title> </head> <body> <?php // valor decimal $decimal = 14; // converte para binário $binario = decbin($decimal); // exibe o resultado echo "O resultado da conversão é: " . $binario; ?> </body> </html> Ao executarmos este código PHP nós teremos o seguinte resultado: O resultado da conversão é: 1110 |
Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como substituir todas as ocorrências de uma substring em uma string em Delphi sem considerar maiúsculas e minúsculas usando a função ReplaceText()Quantidade de visualizações: 12017 vezes |
Algumas vezes precisamos substituir todas as ocorrências de uma substring em uma string mas não queremos diferenciar letras maiúsculas de letras minúsculas. Em Delphi isso pode ser feito com o auxílio da função ReplaceText(). Esta função requer a string na qual a substituição ocorrerá, a substring a ser substituída e a nova substring. O resultado será uma nova string resultante da substituição. Veja o exemplo:procedure TForm1.Button1Click(Sender: TObject); var frase: string; begin frase := 'PHP? Sim, eu gosto muito de PHP'; // vamos substituir todas as ocorrências de "PHP" por "Delphi' // sem considerar maiúsculas e minúsculas frase := ReplaceText(frase, 'Php', 'Delphi'); // vamos exibir o resultado ShowMessage(frase); end; Lembre-se de que esta função não diferencia maiúsculas e minúsculas. Não se esqueça de adicionar a unit StrUtils no uses do seu formulário. Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C# ::: Dicas & Truques ::: Rotinas de Conversão |
Como converter um tipo string para um tipo decimal em C# usando o método Parse() da classe DecimalQuantidade de visualizações: 12702 vezes |
Este exemplo mostra como converter uma string em um valor do tipo decimal. Para isso nós vamos usar o método Parse() da classe Decimal da linguagem C#. No entanto, é preciso termos cuidado, pois este método pode lançar três tipos de exceções: ArgumentNullException, FormatException e OverflowException. Veja o trecho de código a seguir: using System; namespace Estudos { class Program { static void Main(string[] args) { string valor_string = "530,54"; // experimente com os valores "23,5", "arquivo" e // "659" // tenta efetuar a conversão de string para decimal try { decimal valor_decimal = decimal.Parse(valor_string); // exibe o resultado Console.WriteLine("Valor convertido com sucesso: " + valor_decimal); } catch (FormatException e) { // exibe a informações sobre a exceção // Input string was not in a correct format. Console.WriteLine(e.Message); } Console.WriteLine("\n\nPressione qualquer tecla para sair..."); // pausa o programa Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Valor convertido com sucesso: 530,54 Se tentarmos atribuir um valor string a um tipo decimal, sem efetuar a conversão, teremos o seguinte erro de compilação: Cannot implicitly convert type string to decimal |
JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como filtrar os elementos de um array em JavaScript usando a função filter() - Vetores e matrizes em JavaScriptQuantidade de visualizações: 2585 vezes |
O método filter(), adicionado à linguagem JavaScript por meio do ECMAScript 5 (JavaScript 5, ECMAScript 2009, ES5) nos permite criar um novo vetor contendo apenas os elementos que passarem em um determinado teste, que pode ser uma função de usuário personalizada. Esta função é uma função de callback que será chamada uma vez para cada um dos elementos do vetor. Para melhor entendimento, comece analisando o trecho de código abaixo: <script type="text/javascript"> function maiorQue10(valor){ return valor > 10; } // vamos criar um vetor de inteiros var valores = [2, 6, 32, 9, 3, 21]; // vamos filtrar o vetor para obter apenas os // valores maiores que 10 var maiores10 = valores.filter(maiorQue10); // vamos mostrar o resultado window.alert(maiores10); </script> Neste código usamos o método filter() para gerar um novo vetor contendo apenas os elementos com valores maiores que 10. Veja que fornecemos uma função como argumento para o método filter() e, dentro dessa função, nós retornamos true ou false para que a filtragem inclua ou não o valor sendo analisado no momento. Uma função passada para o método filter() 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 filter() está sendo chamado (opcional). Veja mais um trecho de código no qual retornamos os elementos de um array maiores que 10 e precedidos de um número par: <script type="text/javascript"> function maiorQue10PrecPar(valor, indice, vetor){ // o primeiro elemento não é precedido por // outro. Vamos descartá-lo if(indice == 0){ return false; } // é precedido por um número par? if(vetor[indice - 1] % 2 == 0){ // é maior que 10? return valor > 10; } // nenhuma das condições acima? return false; } // vamos criar um vetor de inteiros var valores = [2, 6, 32, 9, 3, 21]; // vamos filtrar o vetor para obter apenas os // valores maiores que 10 e precedidos por um // número par var maiores10 = valores.filter(maiorQue10PrecPar); // vamos mostrar o resultado window.alert(maiores10); </script> Execute este código e verá que apenas o valor 32 será retornado, pois ele é o único maior que 10 e precedido por um número par. |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Como ler o conteúdo de um arquivo um caractere de cada vez em PHP usando a função fgetc()Quantidade de visualizações: 7874 vezes |
A função fgetc() da linguagem PHP é usada quando queremos ler um caractere de cada vez a partir de um arquivo. Note que esta função é um pouco lenta, e deve ser usada somente com arquivos pequenos. A leitura é interrompida quando a função fgetc() retorna um valor false. Veja um código PHP completo demonstrando o seu uso: <?php $arquivo = fopen("testes.txt", "r"); if(!$arquivo){ echo "Não foi possível abrir o arquivo"; } else{ while(false !== ($char = fgetc($arquivo))){ echo $char; } } ?> |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de Java - Usando um laço for para contar de 0 até 10 e somar todos os valoresQuantidade de visualizações: 14891 vezes |
Pergunta/Tarefa: Escreva um programa Java que usa o laço for para contar de 0 até 10 e somar todos estes valores, ou seja, 0 + 1 + 2 + 3 + etc. Como resultado seu programa deverá exibir o valor 55. Resposta/Solução: A primeira providência para a realização deste exercício é declarar uma variável soma do tipo int e atribuir a ela o valor inicial 0: // variável int que gardará a soma dos valores int soma = 0; Em seguida faremos um laço for repetir de 0 até 10 e, a cada repetição, nós obtemos o valor da variável de controle e a somamos ao valor atual da variável soma. Veja: public static void main(String[] args){ // laço for que conta de 0 até 10 e soma todos os valores // variável int que gardará a soma dos valores int soma = 0; for(int i = 0; i <= 10; i++){ // vamos somar mais este valor soma = soma + i; // poderia também ser // soma += i; } // vamos exibir a soma dos valores System.out.println("A soma dos valores de 0 a 10 é: " + soma); } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de Java - Um programa que lê três números inteiros e mostra o maiorQuantidade de visualizações: 10046 vezes |
Pergunta/Tarefa: Faça um programa Java que solicita três números inteiros e mostra o maior deles. Exiba uma mensagem caso os três números não forem diferentes. Sua saída deverá ser parecida com: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos solicitar os três números inteiros System.out.print("Informe o primeiro número: "); int num1 = Integer.parseInt(entrada.nextLine()); System.out.print("Informe o segundo número: "); int num2 = Integer.parseInt(entrada.nextLine()); System.out.print("Informe o terceiro número: "); int num3 = Integer.parseInt(entrada.nextLine()); // o primeiro número é o maior? if((num1 > num2) && (num1 > num3)){ System.out.println("O primeiro número é o maior"); } // o segundo número é o maior? else if((num2 > num1) && (num2 > num3)){ System.out.println("O segundo número é o maior"); } // o terceiro número é o maior? else if((num3 > num1) && (num3 > num2)){ System.out.println("O terceiro número é o maior"); } // os número não são diferentes else{ System.out.println("Os três números não são diferentes"); } System.out.println("\n"); } } |
PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como remover e retornar o último elemento de um array em PHP usando a função array_pop()Quantidade de visualizações: 13919 vezes |
Nesta dica mostrarei como podemos usar a função array_pop() do PHP para excluir e retornar o último elemento de um array de strings. Note também o uso da função print_r() para exibir o conteúdo do array e da função count() para retornar a quantidade de elementos no array. Veja o código PHP completo para o exemplo: <?php // vamos criar um array de strings $pessoas[0] = "Carlos"; $pessoas[1] = "Juliana"; $pessoas[2] = "Igor"; $pessoas[3] = "Marcelo"; // vamos mostrar o conteúdo do array echo "Conteúdo do array: "; print_r($pessoas) . "\n"; // vamos o tamanho do array echo "O array possui " . count($pessoas) . " itens\n"; // extrai o último elemento $ultimo = array_pop($pessoas); echo "O elemento extraído foi: " . $ultimo . "\n"; // vamos nos certificar de que o último elemento // foi realmente removido echo "O array contém agora " . count($pessoas) . " elementos\n"; // vamos mostrar o conteúdo do array novamente echo "Conteúdo do array: "; print_r($pessoas); ?> Ao executar este código PHP nós teremos o seguinte resultado: Conteúdo do array: Array ( [0] => Carlos [1] => Juliana [2] => Igor [3] => Marcelo ) O array possui 4 itens O elemento extraído foi: Marcelo O array contém agora 3 elementos Conteúdo do array: Array ( [0] => Carlos [1] => Juliana [2] => Igor ) |
Java ::: Projetos Java Completos - Códigos Fonte Completos Java ::: Projetos Java Programação Orientada a Objetos - Exemplos Java |
Sistema para Biblioteca usando Programação Orientada a Objetos em Java - Projeto completo com código fonte - Versão consoleQuantidade de visualizações: 15623 vezes |
Sistema para Gestão de Biblioteca usando Programação Orientada a Objetos em Java - Projeto completo com código fonte - Versão console Controle de Biblioteca - Sobre este projeto Java ![]() Nesta dica apresento a idéia de um Controle de Gestão de Biblioteca em Java usando Programação Orientada a Objetos. Trata-se de um programa com código fonte em duas versões console. Na primeira versão temos os dados sendo gerenciados por objetos ArrayList. Na segunda versão nós tiramos proveito dos métodos dos métodos readObject() e writeObject() e da interface Serializable para implementar a serialização de objetos em Java. Dessa forma, os dados do sistema podem ser salvos e carregados todas as vezes que o sistema for iniciado. Um Controle de Gestão de Biblioteca é um projeto ideal para dominar a programação orientada a objetos em Java, além de permitir colocar em prática várias coisas que estudamos na linguagem e não temos a oportunidade de implementar. Assim, este código, se bem estudado e bem entendido, pode render um controle de biblioteca pronto para ser vendido no mercado ou implementado em sua própria escola ou faculdade. Basta conectar as funcionalidades das classes a um banco de dados tal como o MySQL e adicionar mais alguns pequenos detalhes. O Diagrama de Classes Java Antes de falarmos mais sobre o projeto do Sistema de Biblioteca, dê uma boa olhada no seu diagrama de classes: ![]() Como a aplicação está estruturada? Como podemos ver no diagrama de classes, todo o controle do sistema é feito a partir da classe Biblioteca, que contém objetos da classe ArrayList para guardar objetos das classes Usuario, Autor, Editora, Livro, Emprestimo e Multa. O relacionamento entre os objetos das classes envolvidas está bem definido no código fonte, com comentários e menus individuais para o gerenciamento de cada parte que compõe o controle de biblioteca apresentado. Um empréstimo envolve um livro e um usuário, e pode gerar uma multa caso a devolução seja feita fora do prazo. A multa é gerada somente na devolução. Em sistemas reais, o usuário não pode fazer uma nova locação caso a multa não seja paga. Deixamos como sugestão e desafio, essa implementação no código. No entanto, já fizemos todo o restante do cálculo para você, ou seja, fizemos a diferença entre a data do empréstimo e sua devolução e geramos a multa, se houver, já com o devido valor a ser pago. Um livro está relacionado a um autor e a uma editora. Inicialmente o livro é cadastrado como disponível. Porém, esse status é alterado para indisponível quando ele está envolvido em um empréstimo, e novamente disponível quando é feita a devolução. Tudo isso é feito por meio de vários menus de opções, como mostro a seguir. As opções de menu para o gerencimento do sistema da biblioteca O menu principal foi escrito usando-se o seguinte código: // método que exibe o menu principal do sistema public void menuPrincipal(){ Scanner entrada = new Scanner(System.in); while(true){ limparTela(); System.out.println("\n:: B I B L I O T E C A ::\n"); System.out.println("Bem-vindo(a) ao sistem. Escolha a opção desejada"); System.out.println("1 - Livros"); System.out.println("2 - Autores"); System.out.println("3 - Editoras"); System.out.println("4 - Usuários"); System.out.println("5 - Empréstimos"); System.out.println("6 - Multas"); System.out.println("7 - Sair"); System.out.print("Sua opção: "); // lê a opção do usuário int opcao = Integer.parseInt(entrada.nextLine()); switch(opcao){ case 1: // chama o menu de gerenciamento de livros menuGerenciarLivros(); break; case 2: // chama o menu de gerenciamento de autores menuGerenciarAutores(); break; case 3: // chama o menu de gerenciamento de editoras menuGerenciarEditoras(); break; case 4: // chama o menu de gerenciamento de usuários menuGerenciarUsuarios(); break; case 5: // chama o menu de gerenciamento de emprestimos menuGerenciarEmprestimos(); break; case 6: // chama o menu de gerenciamento de multas menuGerenciarMultas(); break; case 7: System.out.println("\nObrigado por usar o Sistema de Biblioteca\n"); System.exit(0); } } } Note que cada case do switch do menu principal chama um método que será responsável por exibir um menu individual para o gerencimento da classe correspondente. Veja, por exemplo, o menu para cadastrar um novo usuário na biblioteca: // menu para cadatrar, listar, pesquisar, excluir // e atualizar os usuários da biblioteca public int menuGerenciarUsuarios(){ Usuario temp; // serve para várias operações neste menu // serve para as pesquisas dos usuários String pesquisaUsuario; Scanner entrada = new Scanner(System.in); // mostra o menu de forma repetitiva até o usuário // usar a opção de sair while(true){ // tire caso não funcionar no seu sistema operacional limparTela(); System.out.println("\n:: G E R E N C I A R U S U Á R I O S ::\n"); System.out.println("Escolha a opção desejada"); System.out.println("1 - Novo Usuário"); System.out.println("2 - Listar Usuários"); System.out.println("3 - Pesquisar Usuário"); System.out.println("4 - Excluir Usuário"); System.out.println("5 - Atualizar Usuário"); System.out.println("6 - Voltar Menu Anterior"); System.out.print("Sua opção: "); // lê a opção do usuário int opcao = Integer.parseInt(entrada.nextLine()); switch(opcao){ case 1: // vamos cadastrar um novo usuário System.out.print("\nNome: "); String nomeUsuario = entrada.nextLine(); System.out.print("Idade: "); int idadeUsuario = Integer.parseInt(entrada.nextLine()); System.out.print("Sexo: "); char sexoUsuario = entrada.nextLine().charAt(0); // vamos incrementar o contador de usuários Usuario.contadorUsuarios++; // agora vamos criar um novo objeto da classe Usuario Usuario u = new Usuario(Usuario.contadorUsuarios, nomeUsuario, idadeUsuario, sexoUsuario); // e o adicionamos no ArrayList de usuários usuarios.add(u); // e finalmente mostramos uma mensagem de sucesso. System.out.println("\nO usuário foi cadastrado com sucesso"); salvarDadosArquivo(); // salva os dados no arquivo break; ... Devo usar ArrayList do Java para desenvolver o sistema? Sim, objetos da classe ArrayList são perfeitos quando precisamos representar relacionamentos um para muitos e muitos para um. É claro que poderíamos usar vetores de objetos (usando array), mas ficaríamos restritos a tamanhos fixos, enquanto o ArrayList nos permite cadastrar quantos usuários, livros, editoras, autores e empréstimos nós quisermos. Dessa forma, veja, por exemplo, o trecho de código que registra um novo empréstimo: case 1: // vamos cadastrar um novo empréstimmo // para registrar um novo empréstimo nós precisamos // de um usuário // o usuário que será relacionado a este empréstimo Usuario usuario = null; while(usuario == null){ System.out.print("\nInforme o id ou nome do usuário: "); String pesquisaUsuario = entrada.nextLine(); // chamamos o método que pesquisa o usuario usuario = pesquisarUsuario(pesquisaUsuario); if(usuario == null){ // usuario não encotrado System.out.print("\nUsuário não encontrado.\n\nDigite 1 para pesquisar novamente ou 2 para voltar ao menu anterior: "); int opcaoTemp = Integer.parseInt(entrada.nextLine()); if(opcaoTemp == 2){ return 1; // saímos daqui e voltamos para o menu anterior } } } System.out.println("Usuário selecionado: " + usuario.getNome()); // fim para registrar um novo empréstimo nós // precisamos de um usuário // para registrar um novo empréstimo nós precisamos // de um livro Livro livro = null; // o livro que será relacionado // a este empréstimo while(livro == null){ System.out.print("Informe o id, título ou ISBN do livro: "); String pesquisaLivro = entrada.nextLine(); // chamamos o método que pesquisa o livro livro = pesquisarLivro(pesquisaLivro); // livro não encontrado ou indisponível if((livro == null) || (!livro.isDisponivel())){ System.out.print("\nLivro não encontrado ou indisponível.\n\nDigite 1 para pesquisar novamente ou 2 para voltar ao menu anterior: "); int opcaoTemp = Integer.parseInt(entrada.nextLine()); if(opcaoTemp == 2){ return 1; // saímos daqui e voltamos para o menu anterior } } } System.out.println("Livro selecionado: " + livro.getTitulo()); // fim para cadastrar um novo empréstimo nós // precisamos de um livro try{ System.out.print("Data do Empréstimo: "); String dataEmprestimo = entrada.nextLine(); Date dataEmprestimoDate = new SimpleDateFormat("dd/MM/yyyy").parse(dataEmprestimo); System.out.print("Data de Devolução: "); String dataDevolucao = entrada.nextLine(); Date dataDevolucaoDate = new SimpleDateFormat("dd/MM/yyyy").parse(dataDevolucao); // a data de devolução é menor que a data de empréstimo? if(dataDevolucaoDate.getTime() <= dataEmprestimoDate.getTime()){ System.out.println("\nA data de devolução deve ser maior que a data de empréstimo.\n"); } else{ // vamos incrementar o contador de empréstimos Emprestimo.contadorEmprestimos++; // vamos marcar o livro escolhido como indisponível livro.setDisponivel(false); // agora vamos criar um novo objeto da classe Emprestimo Emprestimo emprestimo = new Emprestimo(usuario, livro, Emprestimo.contadorEmprestimos, dataEmprestimoDate, dataDevolucaoDate, null, false); // e o adicionamos no ArrayList de empréstimos emprestimos.add(emprestimo); // e finalmente mostramos uma mensagem de sucesso. System.out.println("\nO empréstimo foi registrado com sucesso"); salvarDadosArquivo(); // salva os dados no arquivo } } catch(ParseException e){ System.out.println("\nAs datas informadas são inválidas.\n"); } break; Note que este trecho de código é parte do case da opção Novo Empréstimo do menu Gerenciar Empréstimos. Veja como usamos uma variável estática contadorEmprestimos da classe Emprestimo para criarmos um valor inteiro auto-incremento que nos permite identificadores únicos para cada empréstimo da biblioteca. Viu que código mais lindo? Note como a Programação Orientada a Objetos em Java nos permite desenvolver idéias de forma bem parecida mesmo ao mundo real. Como posso obter este código fonte? O código fonte desta aplicação é fornecido em duas versões: 1) SBIBLIOJCNB-A - Sistema de Gestão de Biblioteca em Java com Código Fonte Versão Console - NetBeans IDE ou Eclipse. 2) SBIBLIOJCNB-B - Sistema de Gestão de Biblioteca em Java com Código Fonte Versão Console - Lê e salva os dados em arquivo usando serialização (Serializable), ou seja, os métodos readObject() e writeObject() - NetBeans IDE ou Eclpse. Para adquirir, entre em contato conosco usando o WhatsApp ou e-mail indicados na lateral do site. Podemos combinar alterações e a adição de novas funcionalidades. Não se esqueça: Uma boa forma de estudar o código é fazendo pequenas alterações e rodando para ver os resultados. Outra opção é começar um projeto Java do zero e ir adicionando trechos do código fonte para melhor entendimento de suas partes. |
Java ::: Coleções (Collections) ::: ArrayList |
Como excluir um elemento de uma ArrayList do Java baseado em seu valor - Como usar o método remove() da ArrayList do JavaQuantidade de visualizações: 14305 vezes |
Nesta dica mostrarei como remover a primeira ocorrência de um elemento na ArrayList. Para isso nós vamos usar o método remove(), que recebe o valor do elemento a ser excluído. Se o elemento estiver na ArrayList e for excluído com sucesso, o retorno será true. Se o elemento não for encontrado, o retorno será false. Veja o exemplo Java a seguir: package estudos_java; import java.util.ArrayList; public class Estudos { public static void main(String[] args) { // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<>(); // adiciona itens na lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); nomes.add("Maria"); // Vamos remover o elemento "Osmar" if (nomes.remove("Osmar")) { System.out.println("O elemento foi removido com sucesso!"); } else { System.out.println("O elemento não foi encontrado!"); } System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: O elemento foi removido com sucesso! |
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
Python - Como retornar o dia do mês em Python como um decimal no intervalo 01-31 usando strftime("%d") Delphi - Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em Delphi JavaScript - Como testar se uma string começa com uma determinada substring em JavaScript usando a função startsWith() |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |