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 PythonQuantidade de visualizações: 15085 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: 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 |
C++ ::: Dicas & Truques ::: Ponteiros, Referências e Memória |
Como alocar memória dinâmica usando o operador new do C++Quantidade de visualizações: 12324 vezes |
Em algumas situações precisamos alocar memória dinamicamente. Em C++ isso é feito com o auxílio do operador new. Este operador permite alocar uma determinada quantidade de bytes, alinhados de forma a representar o objeto para o qual queremos reservar memória. Veja um exemplo de código no qual alocamos memória dinâmica para uma variável do tipo int: #include <iostream> using namespace std; int main(int argc, char *argv[]){ // aloca memória para um objeto do tipo int int *ponteiro = new int; // vamos definir o valor para o objeto recém-alocado *ponteiro = 20; // vamos exibir seu valor cout << *ponteiro << endl; // vamos liberar a memória delete ponteiro; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Note que aqui a memória foi alocada e guardada em um ponteiro. Veja também o uso do operador delete para liberar a memória alocada. Isso evita os vazamentos de memória tão frequentes em aplicações que lidam com a memória dinâmica. É claro que este não é o exemplo mais prático. Qual a vantagem de se alocar memória para um int? Declarar uma variável teria sido mais eficiente. A alocação de memória dinâmica é mais útil quando estamos lidando com objetos mais complexos que os tipos básicos. Alguns exemplos envolvem a criação de objetos de classes, matrizes, estruturas de dados, etc. Veja um exemplo no qual temos uma declaração de uma classe chamada Cliente e em seguida alocamos memória para uma instância desta classe: #include <iostream> #include <string> using namespace std; // declaração da classe Cliente class Cliente{ public: Cliente(); string obterNome(); void definirNome(string); private: string nome; }; // implementação dos métodos da classe Cliente::Cliente(){} // construtor vazio // obtém o nome do cliente string Cliente::obterNome(){ return this->nome; } // define o nome do cliente void Cliente::definirNome(string nome){ this->nome = nome; } int main(int argc, char *argv[]){ // aloca memória para um objeto da classe Cliente Cliente *c = new Cliente(); // vamos definir o nome do cliente c->definirNome("Osmar J. Silva"); // vamos exibir o nome do cliente cout << c->obterNome() << endl; // vamos liberar a memória usada delete c; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Nome do cliente: Osmar J. Silva |
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar a quantidade de vezes que um caractere aparece em uma string Ruby usando a função count()Quantidade de visualizações: 8282 vezes |
O método count() da classe String da linguagem Ruby pode ser usado para obter a quantidade de vezes em que um determinado caractere aparece em uma string. Para isso, só precisamos fornecer o caractere que será pesquisado. O retorno será um número inteiro. Veja o exemplo:# declara e inicializa uma variável string frase = "Gosto muito de Ruby" # vamos obter a quantidade de vezes em que o # caractere "o" aparece na frase quant = frase.count("o") # exibe o resultado puts "O caractere \"o\" aparece " + quant.to_s \ + " vezes" Ao executar este código Ruby nós teremos o seguinte resultado: O caractere "o" aparece 3 vezes |
VisuAlg ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular porcentagem em VisuAlg - Como efetuar cálculos de porcentagem em VisuAlgQuantidade de visualizações: 2403 vezes |
Cálculos de porcentagens estão presentes em boa parte das aplicações que desenvolvemos. Porém, há momentos em que a mente trava e não conseguimos lembrar com clareza como estes cálculos são feitos, principalmente em VisuAlg. Esta anotação tem o objetivo de ser uma fonte de pesquisa para os momentos em que suas habilidades matemáticas insistirem em continuar ocultas. Ex: 1 - Suponhamos que um produto que custe R$ 178,00 sofra um acréscimo de 15%. Qual o valor final do produto? Veja o código em VisuAlg: algoritmo "Algoritmo que calcula porcentagem" var // variáveis usadas na resolução do problema valor, percentual, valor_final: real inicio valor <- 178.00 // valor original percentual <- 15.0 / 100.0 // 15% valor_final <- valor + (percentual * valor) // mostra o resultado escreva("O valor final do produto é: ", valor_final) // O resultado será 204,70 fimalgoritmo Ex: 2 - Um produto, cujo valor original era de R$ 250,00, teve um desconto de 8%. Qual foi seu valor final? Veja o código em VisuAlg: algoritmo "Algoritmo que calcula porcentagem" var // variáveis usadas na resolução do problema valor, percentual, valor_final: real inicio valor <- 250.00; // valor original percentual <- 8.0 / 100.0 // 8% valor_final <- valor - (percentual * valor) // mostra o resultado escreva("O valor final do produto é: ", valor_final) // O resultado será 230,00 fimalgoritmo Ex: 3 - Em um concurso de perguntas e respostas, um jovem acertou 72 das 90 perguntas apresentadas. Qual foi a porcentagem de acertos? E a porcentagem de erros? Veja o código em VisuAlg: algoritmo "Algoritmo que calcula porcentagem" var // variáveis usadas na resolução do problema perguntas, acertos: real inicio perguntas <- 90.0 acertos <- 72.0 // mostra a porcentagem de acertos escreva("Porcentagem de acertos: ") escreval(((acertos / perguntas) * 100), "%") // mostra a porcentagem de erros escreva("Porcentagem de erros: ") escreval((((perguntas - acertos) / perguntas) * 100), "%") // Os resultados serão 80% e 20% fimalgoritmo Ex: 4 - Um aparelho de CD foi adquirido por R$ 300,00 e revendido por R$ 340,00. Qual foi a porcentagem de lucro na transação? Veja o código em VisuAlg: algoritmo "Algoritmo que calcula porcentagem" var // variáveis usadas na resolução do problema valor_anterior, novo_valor, porcentagem_lucro: real inicio valor_anterior <- 300.0 // valor anterior novo_valor <- 340.0 // valor novo // calcula a porcentagem de lucro // efetua o cálculo porcentagem_lucro <- ((novo_valor * 100) / valor_anterior) - 100 escreva("A porcentagem de lucro foi de: ", porcentagem_lucro, "%") // O resultado será 13,33 fimalgoritmo Ex: 5 - Uma loja repassa 5% do lucro a seus vendedores. Se um produto custa R$ 70,00, qual o valor em reais repassado a um determinado vendedor? Veja o código em VisuAlg: algoritmo "Algoritmo que calcula porcentagem" var // variáveis usadas na resolução do problema valor, percentual, comissao: real inicio valor <- 70.0 // valor do produto percentual <- 5.0 / 100.0 // 5% // calcula a comissão comissao <- percentual * valor // mostra o resultado escreva("O valor repassado ao vendedor é: ", comissao) // O resultado será 3,5 fimalgoritmo |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como contar as ocorrências de uma substring em uma string Python usando a função count()Quantidade de visualizações: 10098 vezes |
Em várias ocasiões nós precisamos obter a quantidade de vezes que parte de uma palavra é encontrada em outra palavra, frase ou texto, ou seja, uma substring dentro de uma string. Para isso nós podemos usar o método count() da linguagem Python. Veja sua assinatura:count(substring[, início[, fim]]) Veja um código Python completo para este exemplo: # função principal do programa def main(): frase = "Gosto de Python porque Python é muito bom" # conta as ocorrências de "Python" print("\"Python\" ocorreu", frase.count("Python"), "vezes.") if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: "Python" ocorreu 2 vezes. |
AutoCAD Civil 3D .NET C# ::: Dicas & Truques ::: Alinhamento - Alignment |
Como pedir para o usuário selecionar um alinhamento no Civil 3D usando a função GetEntity() do AutoCAD Civil 3D .NET C# APIQuantidade de visualizações: 742 vezes |
Em várias situações nós precisamos pedir para o usuário selecionar um alinhamento e, após a seleção, obter o id do alinhamento selecionado para efetuarmos alguma operação nele. Para isso nós podemos usar a função GetEntity() do objeto Editor da AutoCAD Civil 3D .NET C# API. O primeiro passo é criar um objeto PromptEntityOptions passando a mensagem para o usuário selecionar o alinhamento. Se o usuário selecionar outro objeto que não seja um alinhamento, a mensagem definida em SetRejectMessage é exibida. Note o uso de AddAllowedClass para permitir a seleção apenas de objetos da classe Alignment ou derivadas dela. Depois de solicitar a seleção, nós obtemos um objeto ObjectId, que é retornado pela função GetEntity(). Veja o código AutoCAD Civil 3D .NET C# completo para o exemplo: using System; using Autodesk.AutoCAD.Runtime; using Autodesk.Civil.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.Civil.DatabaseServices; namespace Estudos { public class Class1 : IExtensionApplication { [CommandMethod("Alinhamento")] public void Alinhamento() { // vamos obter uma referência ao documento atual do Civil 3D CivilDocument doc = CivilApplication.ActiveDocument; // obtemos o editor Editor editor = Application.DocumentManager.MdiActiveDocument.Editor; // vamos iniciar um nova transação using (Transaction ts = Application.DocumentManager.MdiActiveDocument. Database.TransactionManager.StartTransaction()) { try { // vamos pedir para o usuário selecionar o alinhamento PromptEntityOptions opt = new PromptEntityOptions( "\nSelecione um alinhamento"); opt.SetRejectMessage("\nO objeto precisa ser um alinhamento.\n"); opt.AddAllowedClass(typeof(Alignment), false); // vamos obter o id do alinhamento selecionado ObjectId id_alinhamento = editor.GetEntity(opt).ObjectId; editor.WriteMessage("\nO id do alinhamento selecionado é: " + id_alinhamento + '\n'); } catch (System.Exception e) { // vamos tratar o erro editor.WriteMessage("Erro: {0}", e.Message); } } } public void Initialize() { // pode deixar em branco } public void Terminate() { // pode deixar em branco } } } Ao executar este código AutoCAD Civil 3D .NET C# nós teremos o seguinte resultado: O id do alinhamento selecionado é: (1455527762496) |
C ::: Dicas & Truques ::: Arquivos e Diretórios |
Apostila de C para iniciantes - Como usar a função fread() da linguagem C para ler todo o conteúdo de um arquivo de uma só vezQuantidade de visualizações: 22987 vezes |
A função fread() se torna muito útil quando precisamos ler grandes blocos ou até mesmo todo o conteúdo de um arquivo. Neste caso, o conteúdo lido é guardado em um buffer para uso posterior. Veja o protótipo desta função:size_t fread(void *ptr, size_t size, size_t count, FILE *stream); Aqui ptr é um ponteiro para o buffer que receberá o conteúdo sendo lido. A capacidade deste buffer deverá ser no mínimo o valor de size multiplicado por count. O parâmetro size é o tamanho em bytes de cada elemento sendo lido. count é o número de elementos a serem lidos e stream é um ponteiro para o arquivo cujo conteúdo será lido. Se a leitura do conteúdo for feita com sucesso, a função fread() retornará a quantidade de elementos lidos com sucesso. No exemplo abaixo estamos lendo caracteres de 1 byte cada. Analise o código cuidadosamente e verá como é fácil modificá-lo para, por exemplo, ler apenas a metade do arquivo de cada vez: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ // vamos abrir o arquivo para leitura no modo binário FILE *arquivo = fopen("dados.txt", "rb"); if(arquivo != NULL){ // vamos obter o tamanho do arquivo em bytes fseek(arquivo, 0, SEEK_END); long tam_arquivo = ftell(arquivo); rewind(arquivo); // vamos alocar memória para todo o conteúdo do arquivo char *buffer = (char*)malloc(sizeof(char) * tam_arquivo); // a memória foi alocada com sucesso? if(buffer != NULL){ // vamos copiar o conteúdo do arquivo para o buffer size_t resultado = fread(buffer, 1, tam_arquivo, arquivo); // vamos verificar se a operação foi feita com sucesso if(resultado == tam_arquivo){ puts("O conteudo do arquivo foi lido com sucesso\n\n"); // vamos exibí-lo na tela puts(buffer); } } fclose(arquivo); // fecha o arquivo free(buffer); // libera a memória do buffer } puts("\n\n"); system("PAUSE"); return 0; } |
PHP ::: Dicas & Truques ::: Variáveis e Constantes |
Como verificar se uma variável contém um valor numérico válido - Usando a função is_numeric() do PHP - RevisadoQuantidade de visualizações: 22453 vezes |
Em várias situações nós precisamos verificar se uma variável ou constante possui um valor numérico válido. Para isso podemos usar a função is_numeric() da linguagem PHP. Esta função retorna um valor true se o argumento for um valor númerico válido e false em caso contrário. Veja um exemplo completo de seu uso: <? /* Este trecho de código mostra como usar a função is_numeric para verificar se o valor de uma variável é um valor numérico válido */ $valor = 34; // válido // $valor = "45,3"; // inválido // $valor = "45.4"; // válido // $valor = ".5"; // válido if(is_numeric($valor)) echo "$valor é um valor numérico válido"; else echo "$valor NÃO é um valor numérico válido"; ?> Ao executar este código nós teremos o seguinte resultado: 34 é um valor numérico válido Esta dica foi revisada e testada no PHP 8. |
Java ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar a instrução switch do JavaQuantidade de visualizações: 64799 vezes |
Quando precisamos escolher entre múltiplos caminhos alternativos e esta escolha pode ser baseada em um valor inteiro, a instrução switch é uma boa opção. Veja seu uso:public class Estudos{ public static void main(String[] args){ int valor = 4; switch(valor){ case 1: System.out.println("Valor é 1"); break; case 2: System.out.println("Valor é 2"); break; case 3: System.out.println("Valor é 3"); break; default: System.out.println("Valor diferente de 1, 2 e 3"); break; } } } A variável fornecida à instrução switch deve ser do tipo byte, short, char, ou int. Ela não pode ser long, float, double, boolean ou referência a objetos. Veja o que acontece quando tentamos usar uma variável do tipo long: Estudos.java:5: possible loss of precision found : long required: int switch(valor){ ^ 1 error |
Python ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Python para iniciantes - Como contar de 0 a 10 usando o laço for da linguagem PythonQuantidade de visualizações: 10707 vezes |
Nesta dica veremos como usar o loop for da linguagem Python para contar de 0 até 10. É um exemplo bem simples, mas serve para nos lembrar da sintáxe dessa construção. Veja o código completo: # função principal do programa def main(): for i in range(11): print(i, end = " ") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: 0 1 2 3 4 5 6 7 8 9 10 |
Nossas 20 dicas & truques de programação mais populares |
Delphi - Como verificar se um arquivo existe usando a função FileExists() da unit SysUtils do Delphi Java - Estruturas de dados em Java - Como obter a quantidade de nós em uma árvore binária usando Java |
Você também poderá gostar das dicas e truques de programação abaixo |
Firebird - Como usar o tipo de dados BLOB do Firebird para a gravação de imagens, vídeos e arquivos de música jQuery - jQuery para iniciantes - Como obter o conteúdo de um elemento HTML usando a função html() do jQuery JavaScript - Como retornar o código ASCII ou Unicode associado a um caractere em JavaScript usando a função charCodeAt() |
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 |